其实主要内容还是参考别人的博客,修改或新增相应模型文件和launch文件,通过mavros启动之后,不管是用commander takeoff还是递地面站都无法使无人机起飞,同时地面站报告没有飞机的GPS,通过rostopic list也没有找到无人机位置话题的发布。因此推测是缺少GPS,因此添加以下内容到sdf文件即可。
<include>
<uri>model://gps</uri>
<pose>0 0 0 0 0 0</pose>
<name>gps</name>
</include>
<joint name='gps_joint' type='fixed'>
<child>gps::link</child>
<parent>base_link</parent>
</joint>
确认之后无人机就可以正常起飞了,同时通过rqt_image_view也可以看到图像话题的发布,也可以自己写一个ros节点去订阅这个话题(这里面也有坑),图像如下