跟风尝试下最近火热的Yolo,实现方法参考ROS下基于YOLO的px4无人机目标检测

PX4+mavros为常规配置,只需要添加对应的gazebo插件

在PX4固件中找到 Firmware/launch/mavros_posix_sitl.launch,修改其中的飞机模型,添加iris_stereo_camera,使得iris模型携带了一台双目相机,ROS中topic为:

/stereo/camera/left/camera_info
/stereo/camera/left/image_raw
/stereo/camera/right/camera_info
/stereo/camera/right/image_raw

配置Yolo

可以参考在ROS中实现基于darknet_ros的目标检测。我在https://gitee.com/gchasing/darknet_ros 中下载Yolo源码(官方为https://github.com/leggedrobotics/darknet_ros)。下载过程中自动下载权重包,而且ROS工程还自动编译了。过程相当慢!

然后,在darknet_ros/launch/darknet_ros.launch中修改:

<arg name="image" default="/stereo/camera/left/image_raw" />

接着修改darknet_ros/config/ros.yaml:

camera_reading:
    topic: /stereo/camera/left/image_raw

然后运行:

roslaunch darknet_ros darknet_ros.launch

最终运行效果

具体视频(录屏)请前往 ROS_PX4_yolo
总结:帧速率感人!CPU实在顶不住!识别准确度也不是很好!(不可否认,是在虚拟机下运行的)