本文最先发表于公众号:无人机系统技术

公众号回复“加群”进入无人机技术交流群交流

公众号回复“多旋翼”获取国际顶尖团队科研成果

公众号回复“控制分配”获取控制分配相关论文

引言

本文内容主要阐述控制分配在多旋翼无人机上的使用方法,想要更多了解“控制分配”的朋友可以在公众号回复“控制分配”获取两篇经典参考文献。

控制分配最先在飞行控制系统设计中提出,目前已推广至许多工程实际中,如船舶动力学、地面车辆动力学等。其基本思想是将上层控制指令依据某种优化目标分配给冗余的执行机构,并确保满足执行机构的约束条件。控制分配算法的研究经历了从简单到复杂、从静态优化到动态优化、从单目标优化到多目标优化的发展过程。

什么是控制分配?

关注我公众号比较早的朋友应该知道我前面写了很多篇文章来介绍控制器的架构以及控制律的设计。新关注的朋友可以先去看看前面的文章。我们在这里整理一下:

PX4姿态控制算法详解
无人机控制器设计(一):入门简介
无人机控制器设计(二):位置控制器设计
无人机控制器设计(三):基于欧拉角的姿态控制器设计

那么看过文章的朋友应该知道控制律的输出往往不是直接对应的执行机构。以电动无人机为例,多旋翼无人机的执行机构一般是电机,我们通过控制电机转速来实现飞机的姿态变化,进而控制飞机的速度、位置。而无人直升机的执行机构一般是电机加舵机,电机用于控制主旋翼和尾桨的转速,舵机用于控制总距、纵向周期变距、横向周期变距、尾桨距。固定翼无人机的执行机构与无人直升机类似,电机控制推进桨的转速,舵机控制升降、副翼、方向。

除固定翼无人机的控制分配相对简单之外,多旋翼无人机和无人直升机的控制分配都较为复杂,今天我们先来了解多旋翼无人机的控制分配方法。

先来回顾一下控制律设计部分的输出,最后得到的是期望升力、三轴期望力矩。而多旋翼无人机的执行机构是各个电机,所以,控制分配在这里要完成的任务就是根据某些约束条件将期望升力、三轴期望力矩映射到电机的转速上来。

而一般情况下我们的约束条件就是电机的转速上下限,有时候为了给姿态控制留下足够的裕度,我们也会给定油门的限制范围,或者在姿态控制出现电机饱和的时候优先保障姿态控制,减弱油门控制。

多旋翼无人机的控制分配矩阵求解

在目前的绝大部分飞控中,控制分配的作用主要是将虚拟控制输出映射到具体执行机构的输出,也就是求取期望升力、期望力矩到各电机期望转速的映射矩阵。

今天我们以“X”型四旋翼和“X”型六旋翼为例说明控制律虚拟控制输出到各电机转速之间的映射关系。

“X”型四旋翼

假设控制律得到期望的升力和期望力矩分别为:

在实际飞控系统中,CT和CM是很少去精确测量,而是通过调节控制律参数来实现通道间的差别。为此我们稍微修改一下控制效率模型:

可以进一步写成:

由于矩阵M可逆,所以有:

因此对于X型四旋翼来说,控制分配矩阵是唯一的。

“X”型六旋翼

X型六旋翼的计算方法与X型四旋翼类似,只不过六旋翼的执行机构是六个,而要控制的量只有四个:升力、三轴力矩,所以其分配矩阵不唯一,我们一般通过求取伪逆得到控制分配矩阵,大家可以想一想为什么是伪逆?

假设控制律得到的期望升力和期望力矩为:

与四旋翼类似,我们也是通过调节控制律中的参数来匹配CT、CM、d这些未知参数:

上述公式可以进一步写成:

所以X型六旋翼的电机期望转速为:

总结

本文的控制分配主要是对虚拟控制输出与执行机构之间的映射关系进行了描述,这是控制分配最基本的使用方法。实际上,控制分配在无人机单个或多个执行机构出现故障并失效时如何重新分配控制矩阵,保证飞行器能够安全飞行,这个才是我们应该着重考虑的问题,有兴趣的朋友可以先自行研究。

本文最先发表于公众号:无人机系统技术

公众号回复“加群”进入无人机技术交流群交流

公众号回复“多旋翼”获取国际顶尖团队科研成果

公众号回复“控制分配”获取控制分配相关论文

多旋翼无人机的控制分配相关推荐

  1. 四旋翼无人机PID控制

    一.建立四旋翼无人机动力学方程 二.确定PID控制律 1.姿态控制回路 2.位置控制回路 3.仿真图

  2. m基于内外环PD控制算法的四旋翼无人机飞行控制simulink仿真

    目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 随着无人飞行器技术的 ...

  3. 【控制】四旋翼无人机姿态角分析

    搞起来,从建模到控制,再到仿真 Link: [控制]<多无人机协同控制技术>周伟老师-第3章-面向协同控制的无人机单机控制 文章目录 1. 坐标系 2. 角度介绍 航向角 yaw ange ...

  4. 四旋翼无人机动力学模型及控制

    四旋翼无人机动力学模型及控制 I: 欧拉角与旋转矩阵 Overview 欧拉角与旋转矩阵 Body Frame Angular Velocity and [ ϕ ˙ , θ ˙ , ψ ˙ ] T [ ...

  5. 基于MiniFly魔改的共轴双旋翼无人机

    基于MiniFly魔改的共轴双旋翼无人机 共轴双旋翼无人机结构设计 共轴双旋翼无人机的工作原理与飞行动作 共轴双旋翼无人机的系统方案 共轴双旋翼无人机的总体设计 共轴双旋翼无人机飞控设计 共轴双旋翼无 ...

  6. 【rotors】多旋翼无人机仿真(四)——参数补偿和PID控制

    [rotors]多旋翼无人机仿真(一)--搭建rotors仿真环境 [rotors]多旋翼无人机仿真(二)--设置飞行轨迹 [rotors]多旋翼无人机仿真(三)--SE3控制 [rotors]多旋翼 ...

  7. 【飞行器】基于matlab四旋翼无人机几何跟踪控制【含Matlab源码 2270期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞行器]基于matlab四旋翼无人机几何跟踪控制[含Matlab源码 2270期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...

  8. 多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行

    多旋翼无人机仿真 rotors_simulator:用键盘控制无人机飞行 前言 书接上文 接口测试 键盘指令发布 指令转换与发布 修改 rotors_simulator 的控制接口节点 测试 前言 R ...

  9. 【rotors】多旋翼无人机仿真(三)——SE3控制

    [rotors]多旋翼无人机仿真(一)--搭建rotors仿真环境 [rotors]多旋翼无人机仿真(二)--设置飞行轨迹 [rotors]多旋翼无人机仿真(三)--SE3控制 [rotors]多旋翼 ...

最新文章

  1. ovirt官方安装文档 附录F
  2. 从FCKEDITOR到ckeditor(二) 撰写自定义对话框,增加数学公式(与webEq的结合)
  3. python判断括号有效,在Python中检查括号是否平衡
  4. 关于android开发添加菜单XML文件之后无法在R.java中生成ID的问题
  5. IOS线程学习(一)
  6. Android数据存储之SQLite
  7. kmeanssklearn实例_sklearn实践(一):kmeans聚类
  8. 7-63 情人节 (15 分)(c++stl)
  9. 文件(文本、二进制)读写,利用popen读取linux命令读取结果
  10. chrome里面模拟手机上打开网页的场景方法
  11. MFC中onmouseover与onmousemove的区别
  12. latex 设置表格的字体大小和行高
  13. OpenCv中 width 和 widthStep的区别
  14. Maxwell 是什么?
  15. VScode 光标乱跳 光标自动跳动问题
  16. 关于TOPCODER的所有挑战、任务和GIG工作机会
  17. uni.navigateTo页面跳转时传对象参数
  18. 2020最新中高阶Android面试题总结-上(附解题思路)
  19. python怎么去掉换行符_python去除空格和换行符的实现方法(推荐)
  20. 数据集voc,coco注释格式,详情大全

热门文章

  1. C++使用Caesar Cipher将加密的文本解密恢复为纯文本的算法(附完整源码)
  2. 剑指offer-javascript版本
  3. 输血治疗病程记录范本(仅供参考)
  4. python求最值_python怎么求一个函数的最值?
  5. python kline_Python pyecharts package v0.3.1, pyecharts.charts.kline module source code :: PyDoc.net
  6. Velodyne16线激光雷达点云数据中的线束(ring)是如何分布的
  7. delphi xe 之路(29)安装xe7up1
  8. EDC,亚洲最大的绿色数据中心网站上线
  9. CAD制图软件使用心得(第二期)
  10. flask+sqlalchemy+echarts动态显示数据