跟風嘗試下最近火熱的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實在頂不住!識別準確度也不是很好!(不可否認,是在虛擬機下運行的)