精确着陆
PX4 支持精确着陆,用于 多旋翼机 在静止或移动目标上。目标可以由机载红外传感器和着陆信标提供,也可以由机载定位系统提供。
精确着陆可以 开始/启动 作为 使命在一个 返回模式 登陆,或输入 精准土地 飞行模式.
信息
只有在全局位置有效的情况下才能实现精确着陆(这是由于当前位置控制器实施的限制)。
概述
降落模式
精确着陆可配置为 "要求 "模式或 "机会 "模式。模式的选择会影响精确着陆的执行方式。
所需模式
在 所需模式 如果在着陆时看不到目标,飞行器将搜索目标。如果发现目标,飞行器将进行精确着陆。
搜索过程包括爬升到搜索高度 (PLD_SRCH_ALT).如果在搜索高度仍未看到目标,并且在搜索超时 (PLD_SRCH_TOUT则在当前位置启动正常着陆。
信息
如果使用机外定位系统,则 PX4 在接收 MAVLink 时假定目标可见 降落目标 留言
机会主义模式
在 机会主义模式 飞行器将使用精确着陆 如果 (并且只有在)启动着陆时目标可见的情况下。如果目标不可见,飞行器会立即执行 正常 在当前位置着陆。
着陆阶段
精确着陆分为三个阶段:
横向方法: 飞行器在保持当前高度的情况下水平接近目标。一旦目标相对于飞行器的位置低于阈值(即PLD_HACC_RAD则进入下一阶段。如果目标在此阶段丢失(看不到的时间超过 PLD_BTOUT)、启动搜索程序(在要求的精确着陆期间)或飞行器正常着陆(在机会性精确着陆期间)。
下降超过目标: 飞行器下降,同时保持以目标为中心。如果在这一阶段失去目标(看不到目标的时间超过
PLD_BTOUT
)、启动搜索程序(在要求的精确着陆期间)或飞行器正常着陆(在机会性精确着陆期间)。最终方法: 当载具接近地面时(比 PLD_FAPPR_ALT),在下降的同时保持以目标为中心。如果在这一阶段失去目标,则继续下降,与精确着陆的类型无关。
搜索程序在第一步和第二步启动,最多运行 PLD_MAX_SRCH 倍。着陆阶段流程图
各阶段的流程图见 着陆阶段流程图 下图
启动精确着陆
精确着陆可用于飞行任务中的着陆阶段。 返回模式或输入 精准土地 模式。
任务精确着陆
精确着陆可作为以下行动的一部分启动 使命 使用 mav_cmd_nav_land 与 参数2
适当设置:
返回模式 精确着陆
精确着陆可用于 返回模式 着陆阶段。
使用参数 RTL_PLD_MD取值如下
精确着陆飞行模式
可以通过切换到 精确着陆 飞行模式。
您可以使用 QGroundControl MAVLink 控制台 输入以下命令:
司令员 模式 自动:前置放大器
信息
以这种方式切换到模式时,精确着陆始终是"必需"的,无法指定着陆类型。
信息
在撰写本报告时没有 方便 直接调用精确着陆的方法(指令返回模式除外):
- QGroundControl 不提供用户界面选项。
- mav_cmd_nav_land 只在任务中有效。
- mav_cmd_doo_set_mode 应该可以工作,但您需要确定 PX4 使用的适当基本模式和自定义模式,以表示精确着陆模式。
硬件设置
红外传感器/信标设置
红外传感器/着陆信标解决方案需要一个 红外锁定传感器 和向下 距离传感器 连接到飞行控制器,并将一个红外信标作为目标(例如 红外锁定 MarkOne).这样就能以大约 10 厘米的精度着陆(相比之下,全球定位系统的精度可能高达几米)。
按照以下步骤安装红外锁定传感器 官方指南.确保传感器的 x 轴与载具的 y 轴对齐,传感器的 y 轴与载具的 -x 方向对齐(如果摄像机从正前方向下倾斜 90 度,就会出现这种情况)。
安装一个 测距/距离传感器 (该 激光雷达之光 v3 发现效果很好)。
信息
许多基于红外线的测距传感器在 IR-LOCK 信标存在的情况下性能不佳。有关其他兼容传感器,请参阅 IR-LOCK 指南。
机外定位
机载解决方案需要一个定位系统来实现 MAVLink 着陆目标协议.这可以使用任何定位机制来确定着陆目标,例如计算机视觉和视觉标记。
系统必须在 降落目标 信息。请注意,PX4 需要 LANDING_TARGET.frame
成为 mav_frame_local_ned 并只填充字段 x
, y
和 z
.本地 NED 框架的原点 [0,0] 是原点位置(您可以使用 全球原产地).
PX4 没有明确要求 距离传感器 但如果它能更精确地确定自己的位置,性能会更好。
固件配置
精确着陆需要模块 电锁
和 着陆目标估算器
.大多数飞行控制器的 PX4 固件默认都包含这些功能。
基于 FMUv2 的控制器默认情况下不包含这些功能。在这些板和其他未包含它们的板上,您可以通过在飞行控制器的相关配置文件中将以下按键设置为 'y'来添加它们(例如,此处的 FMUv5: PX4-Autopilot/boards/px4/fmu-v5/default.px4board):
CONFIG_DRIVERS_IRLOCK=y
CONFIG_MODULES_LANDING_TARGET_ESTIMATOR=y
PX4 配置(参数)
红外锁定传感器默认为禁用。通过设置 SENS_EN_IRLOCK 至 1
(真)。
LTEST_MODE 决定假定目标是静止的还是移动的。如果 LTEST_MODE
如果目标测量值设置为移动(例如安装在多旋翼飞行器的着陆载具上),则目标测量值仅用于生成精确着陆控制器中的位置设定点。如果 LTEST_MODE
设置为静止时,载具位置估计器(EKF2 或 LPE)也会使用目标测量值。
其他相关参数列于以下参数参考中 着陆目标估算器 和 精密土地 参数。下面列出了一些最有用的参数。
参数 | 说明 |
---|---|
SENS_EN_IRLOCK | 红外锁定传感器(外部 I2C)。禁用: 0 (默认):启用: 1 ). |
LTEST_MODE | 着陆目标正在移动 (0 )或静止(1 ).默认为移动。 |
PLD_HACC_RAD | 水平接受半径,在此半径内载具将开始下降。默认为 0.2 米。 |
PLD_BTOUT | 降落目标超时,超时后将认为目标丢失。默认为 5 秒。 |
PLD_FAPPR_ALT | 最终进场高度。默认为 0.1 米。 |
PLD_MAX_SRCH | 在要求的着陆中最多尝试搜索的次数。 |
RTL_PLD_MD | RTL 精确着陆模式。 0 禁用、 1 : 机会主义, 2 : 需要. |
红外信标缩放
由于红外锁定传感器的镜头变形,可能需要进行测量缩放。
LTEST_SCALE_X 和 LTEST_SCALE_Y 可用于缩放信标测量值,然后再用于估算信标相对于载具的位置和速度。请注意 LTEST_SCALE_X
和 LTEST_SCALE_Y
是在传感器帧而非载具帧中考虑的。
要校准这些刻度参数,请设置 LTEST_MODE
在移动过程中,将多旋翼飞行器飞到信标上方,用飞行器做前后和左右运动,同时 伐木 目标着陆姿势
和 载具本地位置
.然后,比较 landing_target_pose.vx_rel
和 landing_target_pose.vy_rel
至 载具本地位置.vx
和 载具本地位置.vy
分别为 (两个测量值均为 NED 帧)。如果估计的信标速度始终小于或大于载具速度,则调整比例参数进行补偿。
如果您在进行精确着陆时观察到飞行器有缓慢的侧向摆动,并在着陆时使用 LTEST_MODE
设置为静止时,信标测量值的比例可能过高,应在相关方向上减小比例参数。
模拟
使用 IR-LOCK 传感器和信标的精确着陆可在以下系统中模拟 经典仿真场景Gazebo.
要在包含红外锁定信标和装有测距传感器和红外锁定摄像机的载具的世界中开始模拟,请运行
生产 px4_sitl GEGERBO-CLASSIC_IRIS_IRLOCK
您可以通过在 Gazebo Classic GUI 中移动信标或在 仿真场景Gazebo世界.
运行原则
着陆目标估算器
着陆目标估算器
从 电锁
驾驶员以及估计的地形高度来估计信标相对于载具的位置。
测量结果 irlock_报告
包含从图像中心到信标的角度的正切值。换句话说,测量值是指向信标的矢量的 x 和 y 分量,其中 z 分量的长度为 1"1"。这意味着,将测量值按从摄像机到信标的距离缩放,就得到了从摄像机到信标的矢量。然后,利用载具的姿态估计值将该相对位置旋转到向北对齐的水平车身框架中。相对位置测量值的 x 和 y 分量在单独的卡尔曼滤波器中进行滤波,该滤波器作为简单的低通滤波器,还能产生速度估计值,并可剔除离群值。
着陆目标估算器
每当有新的相对位置和速度信息出现时 irlock_报告
将融合到估计值中。如果未看到信标或信标测量被拒绝,则不会发布任何信息。着陆目标估计值在 目标着陆姿势
uORB 信息。
增强型载具位置估计
如果使用参数 LTEST_MODE
在目标测量的帮助下,可以改进载具的位置/速度估计。具体做法是将目标速度作为载具负速度的测量值。
着陆阶段流程图
该图显示了 着陆阶段 作为流程图。