1.修改原有模型文件iris.sdf(大家在px4源码文件夹(也就是PX4-Autopilot)搜索iris.sdf文件,将它替换为我发给大家的新文件。)记住当前文件夹,其上级文件夹应该是models。
2.返回上级文件夹models,新建一个文件夹名为iris_1,进入该文件夹,右键空白处,点击在此处打开终端。输入如下指令
touch iris1.sdf
touch model.config
然后会出现iris1.sdf和model.config 两个文件。右键iris1.sdf选择以文本编辑器打开,然后复制我发给大家的iris1.sdf中的内容粘贴进去。同样的 右键model.config文件选择以文本编辑器打开,复制我发给大家的model.config文件内容进去。
3.返回上级目录models,找到iris文件夹进入,会发现如下图所示一个文件夹。复制这个文件夹,粘贴到我们之前新建的iris_1文件夹中完成后iris_1文件夹如下图所示
4.返回到px4源码根目录,进入如下图所示的launch文件夹
右键空白处,选择在此次打开终端,然后输入如下命令
touch px4_1.launch
然后会出现一个px4_1.launch文件。
分别以文本编辑器的方式打开以下提到的各个文件,然后复制我发给大家的文件去覆盖掉之前文件的内容5.之前的步骤完成后,按ctrl+alt+t呼出终端,输入如下指令:
sudo apt install nautilus
等待安装完成后,输入如下指令:
sudo nautilus
然后会打开一个文件管理器(带管理员权限)
点击左侧的其他位置。选择计算机。
进入opt/ros/noetic/share/mavros/launch文件夹(这里的noetic是你的ros版本,并不一定是noetic)
右键空白处,输入如下指令
sudo touch px4_1.launch
sudo touch node_1.launch
然后关闭终端,会看到下图所示三个画红线的文件。同样的,以文本编辑器打开画红线的三个文件,并复制我发给大家的同名带后缀的例如px4_1.launch需要复制我发的px4_1_ros.launch中的内容进去。
完成后关闭文件管理器。
6.启动仿真
新开一个终端,输入如下指令启动gazebo仿真。启动后可以看到两台飞机连接一个球在地面上。
roslaunch px4 mavros_posix_sitl.launch
7.地面站配置
若终端出现下图所示需要获取home position的问题,则需要打开qgc地面站。
如图 两步完成。
点击通信连接,选择添加
将type从串口改为udp
随便输入一个名称,然后将2指向的14550改为14540.点击确定,保存这设置。
点击左侧常规,下滑找到自动连接,把勾全部去掉。
点击通信连接,选择我们创建的连接点,点击下面连接
返回到qgc主界面,问题解决
完成后即可在ros中订阅和发布两台飞机的话题,如下图
rostopic list
/mavros_1前缀表示二号飞机,mavros前缀表示一号。订阅一下imu话题可以得到如下数据:
rostopic echo /mavros/imu/data
整个流程完成。