Ardusub学习——飞行模式

参考资料:

Ardusb官方手册
Sub: Rework joystick input and pilot input in general
Flight Modes


Ardusub支持多种飞行模式,但是其中一部分需要有相应的传感器支持才能运行。目前Ardusub的模式主要包括标准模式和高级模式,其中标准模式是得到了良好的支持,但是高级模式目前仍处于开发阶段,所以不建议在一般情况下使用。

需要注意的是,Ardusub不同于其他空中的多旋翼无人机,不支持通过QGC控制俯仰和翻滚运动,但是可以游戏手柄加以控制。具体来说,就是在手柄上设置一个roll_pitch_toggle按键,类似于键盘上的shift键的功能,实现换挡功能。未按下时手柄摇杆正常支持前后左右平移运动,但是当按下这个按键之后,前后运动摇杆动作变换为Roll方向姿态调整,左右运动摇杆动作变为Pitch方向姿态调整。

注意:Ardusub默认以手动方式启动。


标准模式

  • mode_manual:手动模式。通过手柄摇杆直接控制机器人的运动、位置和姿态,此时机器人的状态完全由操作员控制实现。
  • mode_stabilize:自稳模式。类似于手动模式,但是会自动稳定航向和姿态。当手柄摇杆处于居中位置时,水下无人机将会保持水平稳定姿态。该模式下通过两个参数来控制机器人偏转的最大角度:the pilot input gain(飞行员输入增益,可缩放输入)和ANGLE_MAX(可控制车辆在稳定模式下可偏转的最大角度,如果没记错的话应该是在AP_Vehicle这个类中的MultiCopter结构体中,如果说错了请大家及时告知)。举例来说,如果ANGLE_MAX参数被设置为80°,并且输入增益为50%,那么当Roll或Pitch摇杆推到末端时,车辆将偏转40°。此时按下roll_pitch_toggle按键后机器人将会锁定当前的姿态并且回到摇杆控制前后左右移动的状态。如果想要恢复至原姿态,那么就切换到MANUAL手动控制模式,或者再次按下roll_pitch_toggle按键。
  • mode_depth_hold:定深模式。该模式功能类似于STABILIZE自稳模式,但是仅允许小角度偏转,大角度偏转将会出现异常。在该模式下因尽量避免Roll和Pitch方向上的输入控制变换,直到在未来得到适当的支持。

高级模式

  • mode_poshold:位置保持模式(Position Hold Model)。在该模式下,当没有控制量输入时无人机将保持现有的绝对位置、姿态和朝向。并且可由操作人员重新操作和定位(当前尚未被完全支持)。
  • mode_auto:自动模式。该模式下将自动执行在自动驾驶仪上设置的任务,用户的输入控制量在绝大多数情况下将会被忽略。车辆可以通过disarmed或者切换模式以中止当前任务(当前尚未被完全支持)。
  • mode_circle:圆周模式下车辆将会以其正面朝向的中心点在圆周中导航(当前尚未被完全支持)。
  • mode_guided:引导模式允许地面控制站或配套计算机动态设置车辆的目标位置。并允许与地图进行“单击以导航到此处”的交互(当前尚未被完全支持)。
  • mode_acro:杂技模式。类似于手动控制模式,但是精确控制并且稳定了转速。

猜你喜欢

转载自blog.csdn.net/moumde/article/details/108867899