06 飞行控制器
- 目录
- 1 XTDrone动态模型代码讲解
- 2 自动控制初步
- 2.1 自动控制概述
-
- 2.2 控制性能
- 2.3 传递函数与状态方程
-
- 3 PID控制器
- 3.1 PID控制器
- 3.2 比例项调节
- 3.3 积分项调节
-
- 3.4 微分项调节
-
- 3.5 PID口诀
- 3.6 数字(离散型)PID
- 4 多旋翼飞行器控制系统
- 4.1 PX4控制系统方框图
- 4.2 控制分配器(Mixer)
- 5 非线性多旋翼飞行器姿态控制
- 5.1 Nonlinear Quadrocopter Attitude Control
-
- 3.2 期望姿态
- 3.3 3.3 启发式(heuristic)算法
- 6 PX4姿态控制代码讲解
目录
- XTDrone动态模型代码讲解
2.自动控制初步 - PID控制器
4.多旋翼飞行器控制系统 - 非线性多旋翼飞行器姿态控制
- PX4姿态控制代码讲解
1 XTDrone动态模型代码讲解
- 旋翼动力学模型
https://github.com/PX4/sitl_gazebo/blob/master/src/gazebo_motor_model.cpp
- 动力单元模型
https://github.com/PX4/sitl_gazebo/blob/master/src/gazebo_mavlink_interface.cpp
2 自动控制初步
2.1 自动控制概述
自动控制(automatic control)
是指在没有人直接参与的情况下,利用外加的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定的规律运行(使被控对象的被控量等于给定值/目标值)。
多旋翼飞行器控制实例
常规多旋翼飞行器的控制是欠驱动系统,四个输入量(三个控制力矩,一个控制力),六个输出量(三维位移,三维姿态),使用串级PID实现控制。
[注1] 欠驱动系统
如 四个输入量 -> 六个输出量,故不能实现全向运动(不能原地打转)
[注2] 串级PID
先位置控制,再姿态控制,无法同时,因为耦合在一块
2.2 控制性能
2.3 传递函数与状态方程
[注]
- 非定常:转动惯量改变,如喷农药
- 非线性:姿态动力学,姿态角的变化率与角速度的系数
示例
3 PID控制器
3.1 PID控制器
- PID控制器(比例-积分-微分控制器),由比例单元(Proportional)、积分单元(Integral)和微分单元(Derivative)组成。可以透过调整这三个单元的增益
𝐾_𝑃
𝐾_𝐼
𝐾_𝐷
来调定其特性。其应用非常广泛,几乎所有领域都能见到PID的身影。 - 一般工程师在做的PID调参,其实是在做免模型(model-free)控制,对象模型参数模糊,依据经验调试。研究人员已经证明了现在我们的控制律可以使得多旋翼飞行器全局渐近稳定(在一定的扰动下),我们只需要把PID参数调好即可。严格设计PID控制器,需要辨识系统参数。
3.2 比例项调节
- 比例控制:𝐷(𝑠)=𝐾_𝑝,简单快速,系数增大,响应速度变快,静差减小,振荡加剧,甚至发散
3.3 积分项调节
积分饱和(Integral windup)
[注]
详细可参考Rundqwist, L. (1990).Anti-reset Windup for PID Controllers. IFAC Proceedings Volumes, 23(8), 453–458.doi:10.1016/s1474-6670(17)51865-0
[参考] 抗积分饱和:https://blog.csdn.net/foxclever/article/details/80294264
3.4 微分项调节
微分先行
3.5 PID口诀
3.6 数字(离散型)PID
4 多旋翼飞行器控制系统
4.1 PX4控制系统方框图
https://dev.px4.io/master/en/flight_stack/controller_diagrams.html
重要!
4.2 控制分配器(Mixer)
[注] https://dev.px4.io/master/en/concept/mixing.html#multirotor_mixer
5 非线性多旋翼飞行器姿态控制
5.1 Nonlinear Quadrocopter Attitude Control
- 无奇异
- 全局渐进稳定
- 鲁棒
- 求解速度快
- PX4的姿态控制方案
补充知识:关于稳定性
你的姿态无论在什么位置,都能收敛到期望的位置
鲁棒性
证明跳过,由于计算机控制系统是离散时间的,具有一定的滞后性,可以证明算法是鲁棒的。
3.2 期望姿态
期望姿态到四元素的映射
偏航角追踪是否真的有意义?
- 不控制偏航角(Reduced attitude control)
- 控制偏航角(Full attitude control)
- 二者的结合(Mixed full and reduce attitude control)
- 限制最大倾角
3.3 3.3 启发式(heuristic)算法
角度变化小,是否意味时间一定短? (直观:有一个方向的角速度)
- 定性回答否,定量却难以计算
- 主要针对偏航角,俯仰滚转意义不大
- 定一个启发式条件
6 PX4姿态控制代码讲解
src/modules/mc_att_control.main.cpp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)