• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Gazebo下无人机目标跟踪①——环境搭建

人工智能 小黑鸭 1999次浏览 0个评论

汇总

 


Gazebo下无人机目标跟踪①——环境搭建 Gazebo下无人机目标跟踪②——运动控制和查看图像  

0. 前言

 


之前写过一篇使用 Parrot 家的 Bebop 2 无人机做目标识别和跟踪转向的小项目“ROS实现无人机目标跟踪/物体跟随/循迹”,但是由于硬件实物的条件限制,很多同学无法拿去用,为此我做了一些尝试,希望可以在 Gazebo 仿真环境下使用 Parrot Bebop 2 进行实验。   Gazebo下无人机目标跟踪①——环境搭建   在这个系列的博文中,我会结合 Bebop 实物和仿真一起来说,这样无论大家手中有没有 Bebop 实物都可以跟着一起来做一下这个小项目。   由于目前还有一些科研任务,所以这个系列可能更新的稍微慢一些,把现有的工作整合一下先发出来,之后可能会不定时的更新一下新的进展。  

0.1 Bebop无人机的一些优势

  Gazebo下无人机目标跟踪①——环境搭建  

  • 不需要涉及无人机底层动力学的运动控制(毕竟商品级无人机),比较适合需要快速的对如轨迹规划、跟踪控制、编队控制等理论进行实物验证的场景
  • 由于官方有给定的SDK接口,可以和ROS进行很好的通讯
  • 飞行器控制相对简单,可以一个指令就实现起飞并悬停、降落,只需要向 cmd_vel 发送指令就可以实现水平方向的加速度运控制和垂直方向的速度控制
  • 自身带有摄像头,可以直接调用图传画面用作视觉处理
  • 社区环境较好,国外有基于 Bebop 的很多开源项目
  • 可以在 Gazebo 中进行仿真,只需要稍加改动就可以直接移植到实物中
  • ……

 

0.2 规划

  我想尽可能的将把这个系列做成只需要一点点ROS基础甚至0基础的同学都可以上手做的程度,所以希望大家有什么问题可以在评论区回复,有不明白的地方我也会积极修正。   按目前已有的项目进展来整理的话,本系列计划分为如下几个部分:  

  • 介绍Bebop在Gazebo仿真环境的搭建
  • Bebop与ROS通讯,实现简单的指令控制
  • OpenCV中颜色和特征物体的识别
  • 仿真环境中实现无人机对目标的识别和跟踪
  • Bebop的轨迹控制(待定)
  • 多无人机编队控制(待定)

 

1. 环境搭建

 


  • 本项目在 Ubuntu 18.04ROS Melodic 环境下进行。
  • 经测试,在虚拟机状态下本项目不能成功运行。

 


首先安装 Parrot-Sphinx,打开终端  


echo "deb http://plf.parrot.com/sphinx/binary `lsb_release -cs`/" | sudo tee /etc/apt/sources.list.d/sphinx.list > /dev/null
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 508B1AE5
sudo apt-get update
sudo apt-get install parrot-sphinx

  • 根据提示输入当前用户然后重新登陆用户即可安装完成。
  • 因为墙的原因,可能会比较慢,耐心等待即可

 


之后打开终端,输入  


sudo systemctl start firmwared.service
fdc ping

  若得到 PONG 的响应,则说明firmwared服务启动成功。 若需要关闭firmwared服务,则在终端输入  


sudo systemctl stop firmwared.service

  在终端查看ip接口  


sudo apt install net-tools
ifconfig

 


Gazebo下无人机目标跟踪①——环境搭建   记录下来上面的那个接口名,我这里的是 enp30s0  


接下来按照步骤修改drone文件  


cd /opt/parrot-sphinx/usr/share/sphinx/drones/
sudo gedit bebop2.drone

 


Gazebo下无人机目标跟踪①——环境搭建   如图所示,将高亮部分换成你上面记录的接口名并保存,我这里改为 enp30s0  


启动Gazebo仿真环境  


sudo sphinx /opt/parrot-sphinx/usr/share/sphinx/drones/bebop2.drone

  稍等片刻就会看到Gazebo界面里出现了一架bebop2无人机   Gazebo下无人机目标跟踪①——环境搭建  

  • 注意此时的电脑会断网,这是正常现象,关闭Gazebo界面后即可恢复正常。
  • 此时如果关闭Gazebo窗口,查看 ifconfig 会发现接口名变成了eth0,再次修改drone文件即可重新运行。(每次运行只需要修改一次,重启后需要再改回原来的接口名,具体以ifconfig中查阅的为主)

  至此,Bebop2的仿真环境已经搭建完毕   接下来就是建立Bebop与ROS的通讯了,由于接下来通过ROS指令控制Bebop运动时,仿真环境和实物控制中差别不大,我会将两者放在一起来说。  


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Gazebo下无人机目标跟踪①——环境搭建
喜欢 (0)

您必须 登录 才能发表评论!

加载中……