四旋翼无人机飞控系统设计(闭环控制系统)

本文介绍了无人机飞行控制系统的核心原理,包括开环与闭环控制的区别、闭环控制系统的运作机制及其在无人机姿态控制中的应用。详细解释了双闭环串级控制如何通过角度与角速度的协同控制实现稳定飞行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  对于一个简单的飞控程序来说,控制器是它最核心的部分,这里主要与大家讨论控制系统的基本理论知识(自控大佬请绕道),包括控制系统概念、闭环控制系统的原理。下篇将侧重包含pid控制算法的具体实践(传送门)。

控制系统

  顾名思义控制系统是用来控制其他设备状态的,通过控制系统可以将被控对象的状态改变为我们所期望的方式,比如司机通过控制系统驾驶车辆、冰箱自动调节室温,此处讨论的是控制系统的软件设计。
  基本的控制系统有开环控制系统和闭环控制系统的区分,开环控制系统就是不关心系统的状态是什么情况,盲目的根据命令施加操作,闭环控制系统得到命令后根据反馈计算需要的改变量,然后根据控制算法规则进行调控。

.

闭环控制器

  闭环控制系统需要输入期望反馈,从而通过闭环控制器进行计算,得出控制目标需要做的改变量,并输出给执行器。输出会改变状态并间接改变反馈值,所以控制器不停调节直到系统达到预期状态,当然,一个不完善的闭环控制器可能会在调节过程中发散崩溃。
  系列前篇提到的信号接收传化就对应着期望值输入,姿态读取解算就对应着反馈值,检测反馈并与输入的期望进行比较,比较的结果是偏差,控制器根据配置参数计算偏差所对应的输出,作用于被控对象,四旋翼的被控对象是电机(作用前需根据系统模型做处理,后面会写专篇)。
  所以闭环控制器的核心动作是消除偏差,被控对象现状态和我们期望的状态的偏差被消除了,也就意味着达到目的了。
在这里插入图片描述

姿态控制

  对于无人机的姿态控制包括横滚角(roll):无人机绕立体空间坐标系的x轴进行横滚动作旋转,俯仰角(pitch):无人机绕y轴进行俯仰动作旋转,偏航角(yaw):无人机绕z轴的航向上的变化,有着这三个自由度的控制便可以控制无人机达到任意姿态,再加上油门控制高度和飞行速率,就是一个完整的飞行器控制体现了。
在这里插入图片描述  由于无人机内部结构差异及外在干扰,达到最基本的悬浮功能需要使得飞机这个控制系统一直在空中保持水平姿态,也就是对姿态进行一个闭环控制,也就不难看出飞控需对无人机的角度进行一个闭环控制。
  角度控制是在使用者的角度来说的,在设计者的角度来说对成熟的飞控系统来说,还需一个重要的控制量——角速度。假如无人机从水平状态改为前进状态时将角度从零变为30度,这个过程花费的时间可能是0.5s,也可能是0.1s,这个差别便是来自对无人机的角速度状态的控制。太慢的角速度环控制使无人机状态来不及调整,缓慢甚至无力维持稳定,而太快的控制产生的惯性会导致超调,使得系统崩溃。

双闭环串级控制

  串级双闭环控制在无人机领域应用广泛。通过姿态解算出的角度值可以做角度位置环的闭环控制,而单位置环的控制的稳定性效果很有限,无人机飞控是个有很强的动态性的系统,在高速的状态变化中系统很容易被干扰影响,角速度动荡导致系统无法稳定,因为电机转速和角度改变并不是线性关系,需要引入角速度控制。对角速度的控制可以使得无人机在运动中的旋转状态等因素趋于稳定
  两个需要控制的量,角度和角速度,那怎么办呢?答案是需要使用双环控制,两个控制器协同工作,两个控制器是可以分别计算进行叠加,但是角度的期望是遥控装置给的,角度的期望从哪里来呢?科学的方法是使用串级闭环控制,角度环作为外环,外环角度控制器的输出作为内环角速度环的输入。角速度环的输出便是整个控制器输出,也影响外环角度。
  实际上进行角度调整就是通过改变角速度来完成的,类比位置和速度,比如你在卧室是一种状态,现在你要去客厅,那么卧室和客厅是位置,位置差别让你确定了速度方向和大小,自己的速度变化直接改变了所处位置。
  无人机模型下的串级控制:
在这里插入图片描述

多环串级控制

  控制器的设计是一个开放的主题,我们需要根据具体需求进行设计,通过角度和角速度大家可能会类比到加速度,确实可以设计第三环加速度环,但是对于无人机姿态控制双环足已,复杂算法是把双刃剑,多环控制的调节难度大,如果无法完成对多个控制器的科学配置和协调,效果将不如简单直接的控制算法。
  三环控制笔者在定高控制时用过,定高为使无人机可以自动稳定在目标高度,通过超声波、激光、气压计等测距模块测量的高度,微分出的高度变化速率,姿态传感器的加速度计数据便是三环的反馈。期望则是上一环的输出。
  除了设计更细致的内环结构,外环的方向也有多环的应用,比如无人机编队等场景,位置环可作为角度环外环(变动姿态角产生移动速度的变化,从而改变位置),通过基站或GPS等定位系统得到的位置就是位置环的反馈,编队策略层提供位置期望。

### 创建或修改Gazebo中自定义旋翼无人机的仿真环境 #### 模型搭建 在ROS和Gazebo环境中构建多旋翼无人机模型涉及多个方面的工作。对于模型本身,通常会通过SDF (Simulation Description Format) 或 URDF (Unified Robot Description Format) 文件来描述。这些文件不仅包含了机械结构的信息,还涵盖了传感器配置等内容[^1]。 为了简化开发流程,可以利用现有的开源资源作为起点,比如RotorS仿真包提供了丰富的模板和支持工具,能够帮助快速启动项目。在此基础上进行定制化调整,满足特定需求[^4]。 ```xml <!-- 示例:简单的四轴飞行器URDF片段 --> <robot name="quadcopter"> <!-- 链接(link)定义机身和其他部件 --> <link name="base_link"/> <!-- 关节(joint)用于连接不同部分 --> <joint name="propeller_1_joint" type="continuous"> <parent link="base_link"/> <child link="propeller_1"/> </joint> </robot> ``` #### 物理属性设置 物理特性是确保仿真实验准确性的重要因素之一。这包括但不限于质量分布、惯性矩阵、空气动力学参数等。合理设定这些数值可以使虚拟物体的行为更贴近现实世界中的对应物。具体来说: - **质量与惯量**:依据实际硬件规格文档给出的数据填写;如果缺乏精确资料,则可以通过估算方式获得近似值。 - **阻力系数**:考虑桨叶形状等因素影响下的流体作用力计算。 - **碰撞检测**:为各组件分配合适的几何形态以便于引擎处理接触事件。 以上各项均需仔细考量,并可能经过多次迭代优化才能达到理想效果[^2]。 #### 飞行控制模拟 实现有效的飞控逻辑同样至关重要。一方面要依赖高质量的姿态估计算法获取当前状态信息;另一方面则依靠精心设计的任务规划模块指导动作执行。针对后者,在软件层面可采用PID调节或其他先进策略完成闭环反馈机制建设。此外,借助ArduPilot这样的成熟框架能大大降低工作难度并提高可靠性。 当涉及到高级功能如路径跟踪或是避障时,往往还需要引入额外感知手段(例如激光雷达LiDAR),并通过SLAM同步定位映射技术增强系统的自主能力[^3]。 最后值得注意的是,整个过程中务必保持严谨的态度对待每一个细节之处,因为任何微小误差都可能导致最终结果偏离预期甚远。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值