驾驶模式(阿克曼式无人车)
飞行模式(对于地面车辆来说,更准确地说是“驾驶模式”)由自动驾驶仪提供支持,以便于手动驾驶车辆或执行自主任务。
本节概述了 阿克曼式无人车 所支持的所有驾驶模式。
有关将遥控器控制开关映射到特定模式的信息,请参阅:基本配置 > 飞行模式。
WARNING
选择以下未列出的任何其他模式可能会使无人车停止,或者导致出现不确定的行为。
手动模式
手动模式需要用户通过操纵杆输入来驾驶车辆。
在所有手动模式下,操纵杆对行驶方向和移动速率都提供相同的“高级”控制效果:
手动模式在保持行驶路线、速度和转弯速率方面,提供了逐渐增强的自动驾驶仪支持,以补偿诸如斜坡或不平坦地形等外部因素的影响。
模式 | 特性 |
---|---|
手动模式 | 无自动驾驶仪支持。用户负责使无人车保持在期望的路线上,并维持速度和转弯速率。 |
特技模式 | + 保持横向加速度。这使得驾驶感觉比手动模式更像是在驾驶汽车。 + 它还能防止翻车,并且在不平坦地形上保持直线行驶的能力略强。 |
位置模式 | + 最适合保持直线行驶的模式。 + 抵抗干扰并保持速度,例如在上坡行驶时 + 可以限制最大速度。 |
Details
模式映射到控制效果概述
模式 | 前进速度 | 转向角度/横向加速度 | 所需测量值 |
---|---|---|---|
手动模式 | 直接将操纵杆输入映射到电机指令。 | 直接将操纵杆输入映射到转向角度。 | 无。 |
特技模式 | 直接将操纵杆输入映射到电机指令。 | 操纵杆输入为控制系统创建一个横向加速度设定点,以便进行调节。 | 横向加速度。 |
位置模式 | 操纵杆输入为控制系统创建一个速度设定点,以便进行调节。 | 操纵杆输入为控制系统创建一个横向加速度设定点,以便进行调节。如果此设定点为零(操纵杆处于中心位置),控制系统将使无人车保持直线行驶。 | 横向加速度、偏航角、速度和全局位置(GPS)。 |
手动模式
在这种模式下,操纵杆的输入直接映射到电机指令。无人车不会尝试保持特定的方向,也不会补偿诸如斜坡或不平坦地形等外部因素! 用户有责任对操纵杆输入进行必要的调整,以使无人车保持在期望的路线上。
操纵杆 | 效果 |
---|---|
左操纵杆上/下 | 使无人车向前/向后行驶。 |
右操纵杆左/右 | 使转向角度向左/右转动。 |
有关此模式的配置/调试,请参阅 手动模式。
特技模式
INFO
此模式需要测量横向加速度。
在这种模式下,车辆将其横向加速度调节到一个设定点(但不稳定航向或调节速度)。
横向加速度可以根据无人车的前进速度直接映射到转向输入:
其中:
轴距, 转向角度, 前进速度。
对于驾驶来说,这意味着根据行驶速度的不同,相同的右手操纵杆输入将导致不同的转向角度。 通过限制最大横向加速度,我们可以根据速度限制转向角度,这可以防止无人车翻车。 这种模式比 手动模式 更像是“驾驶汽车”的感觉。
INFO
仅在向前行驶时,横向加速度才进行闭环控制。当向后行驶时,使用上述公式将横向加速度设定点直接映射到转向角度。 这是因为后轮转向(对于前轮转向的汽车向后行驶的情况)相对于横向加速度来说属于非最小相位系统,这会导致在进行闭环控制时出现不稳定的情况。
操纵杆 | 效果 |
---|---|
左操纵杆上/下 | 使无人车向前/向后行驶。 |
右操纵杆左/右 | 为控制系统创建一个横向加速度设定点,以便进行调节。如果此输入为零,控制系统将尝试保持横向加速度为零(最小化干扰抑制) |
有关此模式的配置/调试,请参阅 特技模式。
位置模式
INFO
此模式需要测量横向加速度、偏航角、速度和全局位置估计值。
这是自动驾驶仪支持最多的手动模式。车辆将其横向加速度和速度调节到一个设定点。如果横向加速度设定点为零,控制器将记住车辆的 GPS 坐标和偏航角(航向),并使用这些信息构建一条路线,然后无人车将沿着该路线行驶(路线控制)。 这提供了最高程度的抗干扰能力,从而实现了最佳的直线行驶性能。
操纵杆 | 效果 |
---|---|
左操纵杆上/下 | 操纵杆位置设定一个向前/向后的速度设定点。车辆尝试在斜坡等情况下保持此速度。 |
右操纵杆左/右 | 为控制系统创建一个横向加速度设定点,以便进行调节。如果此输入为零,控制系统将保持无人车的行驶路线。 |
有关此模式的配置/调试,请参阅 位置模式。
自动模式
在自动模式下,自动驾驶仪接管车辆的控制权,以运行任务、返回起飞点或执行其他自主导航任务。 有关调试过程,请参阅 自动模式 的配置。
任务模式
“任务模式”是一种自动模式,它使车辆执行预先定义的自主 任务计划,该任务计划已上传到飞行控制器。 该任务通常使用地面控制站(GCS)应用程序(例如 QGroundControl)创建并上传。
任务指令
在撰写本文时(main(PX4 v1.16+)
),任务中可以使用以下指令:
QGC 任务项 | 通信 | 描述 |
---|---|---|
任务开始 | MAV_CMD_MISSION_START | 开始任务。 |
航点 | MAV_CMD_NAV_WAYPOINT | 导航到航点。 |
返回起飞点 | MAV_CMD_NAV_RETURN_TO_LAUNCH | 返回起飞位置。 |
延迟至 | MAV_CMD_NAV_DELAY | 无人车将停止指定的时间。 |
更改速度 | MAV_CMD_DO_CHANGE_SPEED | 更改速度设定点 |
设置起飞位置 | MAV_CMD_DO_SET_HOME | 将起飞位置更改为指定的坐标。 |
跳转到项目(所有) | MAV_CMD_DO_JUMP(以及其他跳转指令) | 跳转到指定的任务项。 |
绕圈(所有) | MAV_CMD_NAV_LOITER_TIME(以及其他绕圈指令) | 使无人车在给定时间内停止。其他指令会使无人车无限期停止。 |