PX4多机仿真(gazebo)

版本说明:

操作系统

宿主机(或开发机):ubuntu server 20.0.04, thinkpad

目标机(机载计算机):ubuntu server 20.0.04, 树梅派 3b+

飞行控制软件:px4 autopilot 1.11.3

仿真软件:gazebo 9

应用软件运行环境:mavsdk

mavlink数据流的路由软件:mavlink-router

第一部分,飞控应用程序与gazebo软件仿真环境运行在同一台机器上

飞行控制器软件(PX4 Autopilot

仿真软件(gazebo

飞行控制应用软件,MAVSDK运行环境以及应用程序

以上软件全部运行在一台机器中,这里是thinkpad+ubuntu server

1. 在开发机上启动gazebo软件仿真环境

PX4-Autopilot目录下执行命令:

$./Tools/gazebo_sitl_multiple_run.sh -w baylands

gazebo仿真图形界面中出现了三架四轴飞机

2. 在开发机上启动飞行控制应用程序

MAVSDK/examples/takeoff_land/build目录下执行命令

$./takeoff_and_land udp://:14540

gazebo仿真图形界面中可以看到第一架飞机起飞、悬停、降落

MAVSDK/examples/multiple_drones/build目录下执行命令

$./multiple_drones udp://:14540 udp://:14541 udp://:14542

gazebo仿真图形界面中可以看到3架飞机依次起飞、悬停、降落

第二部分. 仿真环境运行在宿主机上而飞控应用软件运行在树梅派上

这里,目标机是树梅派,它与宿主机thinkpad之间已经通过wifi路由器建立了连接,并且可以在thinkpad计算机上通过ssh远程登录树梅派。

1. 与第一部分一样,先在宿主机上启动gazebo软件仿真环境。

2. 建立宿主机与树梅派之间的mavlink路由

在宿主机的mavlink_router目录下执行命令:

./mavlink-routerd -e 192.168.3.18:14540 0.0.0.014540

这个命令将gazebo仿真环境中的第一架飞机使用的udp口与将要执行的takeoff_and_land应用程序的udp口对应起来(路由起来)。

修改上述命令中的参数1454014541就对应第二架飞机,14542就对应第三架飞机。

3. 在树梅派上运行飞行控制应用程序

MAVSDK/examples/takeoff_land/build目录下

起飞第一架命令:./takeoff_and_land udp://:14540

起飞第二架命令:./takeoff_and_land udp://:14541

起飞第三架命令:./takeoff_and_land udp://:14542

MAVSDK/examples/multiple_drones/build目录下

依次起飞3架飞机的命令:

$./multiple_drones udp://:14540 udp://:14541 udp://:14542

你可能感兴趣的