ArduPilot代码解析之十一 — 多旋翼控制系统

目的和范围

本页面详细介绍了ArduCopter中多旋翼飞行器的控制系统架构。它涵盖了从位置指令到电机输出的级联控制回路,包括姿态控制、位置控制和电机混控。

有关各个飞行模式的实现方式和模式切换状态机的详细信息,请参阅“飞行模式和状态机”部分。有关适用于所有飞行器类型的一般姿态和位置控制概念,请参阅“姿态和位置控制”部分。有关自动 PID 参数整定的信息,请参阅“自动调谐系统”部分


控制系统架构

该多旋翼控制系统采用级联控制架构,包含多个以不同速率运行的嵌套回路。每个外层回路为内层回路生成设定值,从而形成从高层位置指令到各个电机输出的层级结构。

级联控制回路层次结构

控制回路更新速率

环形 速度 目的 关键课程
位置控制 50赫兹 保持所需的三维位置 AC_PosControl,,AC_WPNavAC_Loiter
姿态控制 400赫兹 保持理想的态度和效率 AC_AttitudeControlAC_AttitudeControl_Multi
速率控制 400赫兹 直接速率稳定(姿态内环) 一部分AC_AttitudeControl
电机输出 400赫兹 将控制信号转换为电机指令 AP_MotorsAP_MotorsMulticopter

姿态控制系统

姿态控制系统采用两级级联控制器来稳定飞行器的姿态(横滚、俯仰、偏航):外级为角度 P 控制器,内级为速率 PID 控制器。该架构已在AC_AttitudeControl及其多旋翼专用子类中实现AC_AttitudeControl_Multi

姿态控制组件

角度控制器(外环)

角度控制器是一个简单的比例控制器,它将角度误差转换为所需的速率。它基于欧拉角(横滚角、俯仰角、偏航角)运行,频率为 400 Hz。

主要方法:

控制器方程:

desired_rate = angle_P × (target_angle - current_angle)

参数:

  • ATC_ANG_RLL_P- 横滚角 P 增益(默认值:4.5)
  • ATC_ANG_PIT_P- 俯仰角 P 增益(默认值:4.5)
  • ATC_ANG_YAW_P- 偏航角 P 增益(默认值:4.5)

速率控制器(内环)

速率控制器是一种PID控制器,它将速率误差转换为电机指令。它基于机体坐标系下的角速率运行,并与角度控制器一起以400 Hz的频率运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

timmy-uav

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值