HITL 仿真
硬件在环仿真模式 (HITL 或 HIL) 下 PX4 固件代码运行在真实的飞行控制器硬件平台上。 这种方法的优点是可以在实际硬件上测试大多数的实际飞行代码。
HITL 模式下 PX4 支持多旋翼 (使用 jMAVSim 或者 Gazebo) 和固定翼 (使用 Gazebo 或者 X-Plane demo/full version) 无人机的仿真。
HITL兼容机架
目前兼容的机架构型和模拟器的情况如下:
机架 |
| Gazebo | jMAVSim |
1001 | Y | ||
1002 | Y | Y | |
4001 | Y | ||
Generic Quadrotor x copter | 4011 | Y | Y |
4011 | Y | Y |
HITL 仿真环境
硬件在环仿真(HITL)模式下标准的 PX4 固件在真实的硬件上运行。 JMAVSim 或 Gazebo (运行在开发计算机上) 通过 USB/UART 完成与飞行控制器硬件平台的连接。 模拟器充当在 PX4 和 QGroundControl 之间共享 MAVLink 数据的网关。
The diagram below shows the simulation environment:
飞控板 HITL 模式被激活 (通过 QGroundControl) ,该模式下不会启动飞控板上任何传感器。
jMAVSim 或者 Gazebo 通过 USB 连接到飞控板。
模拟器通过 UDP 连接到 QGroundControl 并将 MAVLink 数据传输至 PX4 。
(可选) 通过串口可将操纵杆/游戏手柄通过 QGroundControl 连接至仿真回路中。
(可选 - 仅适用于Gazebo) Gazebo 还可以连接到一个 offboard API ,并将 MAVLink 数据桥接到 PX4 。
HITL 相比于 SITL
相比之下, HITL 在正常飞控硬件平台上运行正常的处于 ”HITL 模式“ 的 PX4 固件。 仿真数据进入整个仿真系统的时间点与 SITL 有所不同。
By contrast, HITL runs normal PX4 firmware in "HITL mode", on normal hardware. The simulation data enters the system at a different point than for SITL. Core modules like commander and sensors have HITL modes at startup that bypass some of the normal functionality.
完成所有的配置设定后 关闭 QGroundControl 并断开飞控板与计算机的连接。
配置 HITL
JMAVSim/Gazebo HITL 仿真环境
通过 USB 将自动驾驶仪直接连接到 QGroundControl。
激活 HITL 模式
打开 Setup > Safety 选项卡。
在 HITL Enabled 下拉框中选择 Enabled 完成 HITL 模式的激活。
选择机架
打开 Setup > Airframes 选项卡。
选择一个你想要进行测试的 兼容的机架 。 Then click Apply and Restart on top-right of the Airframe Setup page.
如有必要, 校准您的 RC 遥控器 或操纵杆。
设置 UDP
在设置菜单的 "General" 选项卡下, 取消选中 AutoConnect 一栏中除 UDP 外的所有复选框。
(可选) 配置操纵杆和故障保护。 设置以下 parameters 以便使用操纵杆而不是 RC 遥控器:
COM_RC_IN_MODE 更改为 "Joystick/No RC Checks". 这允许操纵杆输入并禁用 RC 输入检查。 这允许操纵杆输入并禁用 RC 输入检查。
NAV_DLL_ACT 更改为 "Disabled"。 这可确保在没有无线遥控的情况下运行 HITL 时 RC 失控保护不会介入。
The QGroundControl User Guide also has instructions on Joystick and Virtual Joystick setup.
遵循以下流程进行 X-Plane 模拟器的配置:
X-Plane HITL 仿真环境
总而言之, HITL 在真实硬件上运行标准 PX4 固件,而 SITL 实际上要比标准 PX4 系统执行更多的代码。
Gazebo
更新环境变量:
打开载具模型的 sdf 文件(例如 Tools/sitl_gazebo/models/iris/iris.sdf)。
找到文件的
mavlink_interface plugin
分区,将serialEnabled
和hil_mode
参数更改为true
。Set up the environment variables:
and run Gazebo in HITL mode:
Start QGroundControl. It should autoconnect to PX4 and Gazebo.
jMAVSim (仅适用于四旋翼无人机)
将飞行控制器连接到计算机, 并等待其启动。
在 HITL 模式下运行 jMAVSim (r如有必要,修改串口号名称
/dev/ttyACM0
- 比如,在 Mac OS 上该参数应为/dev/tty.usbmodem1
): sh ./Tools/jmavsim_run.sh -q -d /dev/ttyACM0 -b 921600 -r 250
1. 开启 *QGroundControl*。 它应该会自动连接 PX4 和 Gazebo 。
在 HITL 仿真中执行自主飞行任务
You should be able to use QGroundControl to run missions and otherwise control the vehicle.
Last updated