agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?
1.搭建无人机仿真环境首先需要安装mavros,这是一个飞机固件与ros通信的包:sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extraswget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geograph...
·
1. 搭建无人机仿真环境
首先需要安装mavros,这是一个飞机固件与ros通信的包:sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extraswget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.shsudo chmod a+x ./install_geographiclib_datasets.sh./install_geographiclib_datasets.sh ##此时执行速度很慢,耐心等待完成接下来,下载固件:
git clone https://github.com/PX4/Firmware.git ##我一般将固件放在主目录下而不是ros的工作空间中cd Firmwaregit checkout v1.9.2make posix_sitl_default gazebo一般来说,第一次安装飞控固件,编译时会报错,因为缺少了必要的python依赖,因此在下载玩Firmware后,在编译之前,首先:
cd Firmware bash bash ./Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools ##此处跳过了仿真器的安装,因为已经在ros已经配置好了这之后,再执行下面指令,一般就不会出错,如果继续报错,一般为个人电脑环境配置的问题,请根据终端中的错误提示自行安装依赖。
make posix_sitl_default gazebo现在,px4无人机的基本环境就配置好了,应该可以看到gazebo界面中已经有了一个叫做iris的无人机。为了方便,将Firmware的环境变量加入bashrc中:
source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware/ ~/Firmware/build/px4_sitl_defaultexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmwareexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/Tools/sitl_gazebo在这之后,就可以通过launch文件启动仿真了:
roslaunch px4 mavros_posix_sitl.launch ##此命令同时启动了mavros

sudo usermod -a -G dialout $USERsudo apt-get remove modemmanager -ysudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav -yDownload [QGroundControl.AppImage](https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage)chmod +x ./QGroundControl.AppImage./QGroundControl.AppImage (or double click)打开地面站后,可以看见已经自动连接上了仿真中的无人机。

2. 切换无人机模型
上面启动的无人机,并没有携带相机,我们进行目标检测,需要携带一个摄像头,Firmware中已经提供了模型,因此,我们只需要更换一个带有相机的飞机模型。
我提供了一个模型下载:链接: https://pan.baidu.com/s/1JnmHeN7RIQmiY630dSQlRw 密码: 7sqd
将下载的模型放到Firmware/tools/sitl_gazebo/models下,替换原来的模型文件。然后修改Fimeware/launch/mavros_posix_sitl.launch的第16行: name=”sdf” default=”$(find mavlink_sitl_gazebo)/models/iris_stereo_camera/iris_stereo_camera.sdf”/> 此时,iris模型已经携带了一台双目相机,有用的话题为:
/stereo/camera/left/camera_info/stereo/camera/left/image_raw/stereo/camera/right/camera_info/stereo/camera/right/image_raw

3. 配置YOLO环境
该过程参开官方配置文档即可,基本没什么坑,yolo并不完全依赖gpu,但是没有gpu速度会非常慢。官网提供的环境配置为:darkned_ros安装配置方法 https://github.com/leggedrobotics/darknet_ros
按照官方文档安装必要的依赖和包是非常有必要的。 安装完成后,需要修改两处:首先,在darknet_ros/launch/darknet_ros.launch中修改:
"image" 接着修改darknet_ros/config/ros.yaml:
camera_reading: topic: /stereo/camera/left/image_raw然后运行:
roslaunch darknet_ros darknet_ros.launch此时在终端中可以看到:

"world" 此时再次启动,应该看到是这样的:

4. 运行效果展示
关闭之前所有的命令,按照这个顺序重新启动仿真:roslaunch px4 mavros_posix_sitl.launch启动地面站 ##此处建议使用游戏手柄控制无人机,或更简单直接开启QGC自带的虚拟摇杆功能对飞机控制roslaunch darknet_ros darknet_ros.launch演示效果请看视频: 最后,如果你对无人机的仿真和应用感兴趣,推荐一个非常优秀的开源的无人机项目:XTDrone (https://gitee.com/robin_shaun/XTDrone)在里面可以学习到更多的无人机知识。
古月居原创作者签约计划已开启,网站(guyuehome.com)已上线【投稿】功能,欢迎大家积极投稿,原创优质文章作者将有机会成为古月居签约作者。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)