PX4无人机MAVROS外部控制教程

PX4中的offboard模式能够接受来自外部的控制指令,搭配机载或支持MAVROS的协同计算机,可在PX4飞控平台上加入视觉处理或人工智能,以实现无人机自动控制功能。下面即介绍如何在基于MAVROS的协同计算机上运行程序控制PX4无人机。具体过程如下:

PX4固件参数设置

在开始无人机外部控制开发之前,您需要在PX4固件中设置两件事:

  • 将RC开关映射到场外模式激活

要执行此操作,请在QGroundControl中加载参数并查找RC_MAP_OFFB_SW参数,您可以为其分配要用于激活offboard模式的RC通道。 以这样一种方式映射事物是非常有用的。当你脱离offboard模式时,你会进入位置控制。

虽然此步骤不是强制性的,因为您可以使用MAVLink消息激活offboard模式。 我们认为这种方法更安全。

  • 启用配套计算机接口

查找SYS_COMPANION参数并将其设置为921600(推荐)或57600. 此参数将激活Telem2端口上的MAVLink流,其中包含特定于板载模式的数据流以及相应的波特率(921600 8N1或57600 8N1)。

本人实验测试时SYS_COMPANION参数设置成Companion Link(57600) 。此外要注意通过Telem2端口的无线收发装置与地面支持MAVROS的具有无线收发装置的协同计算机连接。并长按安全锁手动解锁无人机。

安装MAVROS

在地面协同计算机上安装MAVROS请参考Ubuntu16.04安装MAVROS,完成后使用如下命令启动MAVROS:

1
2
3
$ roscore
# 启动MAVROS,链接到本地ROS
$ roslaunch mavros px4.launch fcu_url:=serial:///dev/ttyUSB0:57600

构建Offboard示例程序

ROS节点Offboard示例程序的构建请参考ROS构建Package和Node的教程,完成后使用如下命令启动Offboard示例程序:

1
2
3
$ cd catkin_ws/
$ source devel/setup.bash
$ rosrun offboard offboard_node

参考链接

  1. PX4软件在环仿真之MAVROS外部控制,by jackhuang.
  2. Offboard Control, by dronecode.