云台配置
本页面介绍了如何配置及控制一个安装了相机(或其他任务载荷)的云台。
综述
PX4 包含了一个通用的挂载设备/云台的控制驱动,它含有多种输入输出方式。
- 输入方式定义控制云台挂在的协议,该协议由 PX4 管理。 该输入方式可能是一个遥控器,一个可以发送 MAVLink 的地面站,或者两者 — 两种可以自动切换。
- 输出方式定义了 PX4 如何与连接的云台通信。 推荐的协议是 MAVLink v2, 但您也可以直接连接到飞控的 PWM 输出端口。
PX4 接收输入信号,并且将其路由/翻译后发送到输出。 任何输入方式都可以被选择来驱动任何输出。
输入和输出都使用参数进行配置。 使用参数设置输入 MNT_MODE_IN. 默认情况下,此设置为 Disabled (-1)
驾驶员不跑。 在选择输入模式后,请重新启动飞行器以启动挂载驱动程序。
你应该设置 MNT_MODE_IN
to one of: RC (1)
, MAVlink gimbal protocol v2 (4)
or Auto (0)
(其他选项已弃用)。 如果您选择 Auto (0)
, 万向架将根据最新输入自动选择RC或MAVLink输入。 请注意,从 MAVLink 到 RC 的自动切换需要一个大幅度地杆量操作!
使用以下参数设置输出 MNT_MODE_OUT parameter. 默认情况下,输出设置为PXM端口 (AUX (0)
). If the MAVLink Gimbal Protocol v2 由万向节支撑,您应该选择 MAVLink gimbal protocol v2 (2)
.
设置安装驱动程序的完整参数列表可以在中找到 Parameter Reference > Mount. 下面介绍了一些通用的云台相关设置。
MAVLink 云台 (MNT_MODE_OUT=MAVLINK)
系统上的每个物理云台装置必须有自己的高级云台管理器, 地面站通过使用MAVLink云台协议发现它。 地面站发送高电平信号 MAVLink Gimbal Manager 向它想要控制的万向节的管理器发送命令,管理器将依次发送适当的低级“万向节设备”命令来控制万向节。
PX4可以配置为万向节管理器,以控制单个万向节设备(可以是物理连接的,也可以是实现 gimbal device interface).
要启用MAVLink万向节,请先设置参数 MNT_MODE_IN to MAVlink gimbal protocol v2
and MNT_MODE_OUT to MAVLink gimbal protocol v2
.
万向节可以使用中的说明连接到任何空闲的串行端口 MAVLink Peripherals (GCS/OSD/Companion) (also see Serial Port Configuration). 例如,如果 TELEM2
飞行控制器上的端口未使用,您可以将其连接到万向架并设置以下PX4参数:
- MAV_1_CONFIG to TELEM2 (if
MAV_1_CONFIG
is already used for a companion computer (say), useMAV_2_CONFIG
). - MAV_1_MODE to NORMAL
- SER_TEL2_BAUD 按照制造商推荐的波特率。
多云台支持
PX4 可以自动为已连接的 PWM 云台或第一个在任何接口上检测到相同的系统 id 的 MAVLink 云台设备创建一个云台管理器。 它不会自动为它检测到的其他MAVLink云台设备创建云台管理器。
您可以支持其他MAVLink万向节,前提是它们:
- 实现万向节管理器协议。
- 在 MAVLink 网络上对地面站和 PX4 可见。 这可能需要在PX4、GCS和云台之间配置流量转接。
- 具有唯一的组件id,并且此组件id必须在范围内 7 - 255.
飞控 PWM 输出上的云台 (MNT_MODE_OUT=AUX)
万向架也可以通过将其连接到最多三个飞行控制器PWM端口并将输出模式设置为 MNT_MODE_OUT=AUX
.
用于控制万向节的输出引脚设置在 Acuator Configuration > Outputs 选择任意三个未使用的执行器输出,并为其分配以下输出功能:
Gimbal Roll
: Output controls gimbal roll.Gimbal Pitch
: Output controls Gimbal pitch.Gimbal Yaw
: Output controls Gimbal yaw.
例如,您可能有以下设置可将云台滚动、俯仰和偏航分配给 AUX1-3 输出。
用于解除武装、最大和最小值的PWM值可以使用与其他伺服相同的方式确定,使用 Actuator Test sliders 确认每个滑块都移动了适当的轴,并改变值,使万向节在滑块的解除武装、低和高位置处于适当的位置。 这些数值也可以在云台文档中提供。
Gimbal Control in Missions
Gimbal Manager commands 如果车辆类型支持,则可用于任务。 例如 MAV_CMD_DO_GIMBAL_MANAGER_PITCHYAW is supported in multicopter mission mode.
理论上,您可以向特定的万向节发送命令,使用“万向节设备id”参数指定其组件id。 然而,在撰写本文时(2024年12月),这是 not supported: 所有任务命令都发送到由PX4万向架管理器管理的万向架(如果这是MAVLink万向架,它将是参数中定义了组件id的万向架 MNT_MAV_COMPID, which is set by default to MAV_COMP_ID_GIMBAL (154)).
万向节运动不是立竿见影的。 为了确保在任务进行到下一个项目之前,万向节有时间移动到位(如果没有提供或丢失万向节反馈),您应该设置MIS_COMMAND_TOUT 大于万向架遍历其整个范围所需的时间。 在此超时后,任务将继续进行下一个项目。
SITL (Software In The Loop)
The Gazebo Classic simulation Typhoon H480 model 带有预配置的模拟万向架。
要运行它,请使用:
make px4_sitl gazebo-classic_typhoon_h480
To just test the gimbal driver 在其他型号或模拟器上,确保驾驶员运行 (using gimbal start
), 然后配置其参数。
测试
该驱动程序提供了一个简单的测试命令。 接下来描述了在 SITL 中的测试方式,但是这些指令也可以在真实的设备中使用。
使用下面这条指令开始仿真(不需要修改任何参数):
make px4_sitl gazebo-classic_typhoon_h480
确保它有武器,例如 commander takeoff
, 然后使用以下命令来控制万向节(例如):
gimbal test yaw 30
请注意,模拟的万向架会自行稳定,因此如果您发送MAVLink命令,请设置 stabilize
flags to false
.