本教程中识别所用模型权重已提前训练完成,训练与识别均在仿真环境中完成。 1)首先将训练好的模型权重放到 tutorials/tutorial_vision/model 文件夹下(注意模型名称要和 launch 文件中配置的一致):

2)然后启动 gazebo:
roslaunch tutorial_gazebo sim.launch
3)启动一个识别样例,这里直接运行了 run_yolo_detect.launch:
roslaunch tutorial_vision run_yolo_detect.launch run_mavros:=false run_fast_lio:=false run_driver:=false
如果因为没有配置 cuda 而出错,那么需要将 tutorial_vision 中的 yolov5.launch 里的 <arg name=”device” default=”cuda:0″/> 改成 <arg name=”device” default=”cpu”/>
4)这时可以打开 rqt 查看摄像头画面,打开后再打开一个终端,查看当前话题列表:
rostopic list
可以看到话题列表中有 /yolo_detect 这个话题,识别结果会发送到此话题中。

5)订阅此话题查看识别结果(需等到飞机飞到图片上方):
rostopic echo /yolo_detect
若识别成功,/yolo_detect 话题会输出识别结果,并弹出 detect input 窗口显示刚才识别的图片。若无法识别,则需手动开启识别服务(命令行运行:rosservice call /toggle_yolo_detect “{}”)。
