版本说明:
操作系统
宿主机(或开发机):
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.0
:
14540
这个命令将
gazebo
仿真环境中的第一架飞机使用的
udp
口与将要执行的
takeoff_and_land
应用程序的
udp
口对应起来(路由起来)。
修改上述命令中的参数
14540
为
14541
就对应第二架飞机,
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