本篇文章首发于公众号:无人机系统技术。更多无人机技术相关文章请关注此公众号。

控制器设计简介

对于一架具备自动飞行能力的无人机来说,控制器设计是其中最为重要的工作之一。在开始控制器设计之前,我们要搞清楚控制器设计的目标是什么?控制器的输入输出是什么?控制器的结构应该怎么设计?接下来的几篇内容将以多旋翼飞行器为例,介绍PID控制方法在控制器设计中的应用,还将以px4开源软件为例说明控制器设计的具体实现方法。同时,将分别针对不同姿态描述方法进行姿态控制器的设计。

控制的目标是实现对无人机的姿态跟踪、速度跟踪、定点跟踪、路径跟踪、轨迹跟踪。在无人机的实际应用中,我们会根据实际使用需求设计一些飞行模式,比如增稳模式、定点模式、任务模式等,这些模式从控制的本质上来讲就是给飞行器状态期望,让其以给定的期望状态飞行。比如增稳模式,一般是通过遥控器输出俯仰角期望、滚转角期望、偏航角速率期望、油门期望,然后控制器通过控制各电机油门实现对上述期望的跟踪。

多旋翼飞行器作为我们的控制对象,以四旋翼为例,其控制输入是四个电机的转速,控制输出是其飞行状态,包括位置、速度、姿态、角速度,所以很明显,它是一个欠驱动系统,我们不能直接控制四个电机的转速来同时控制12个状态量。而根据我们之前无人机建模(二):多旋翼飞行器建模建立的数学模型,它是一个高阶系统。为此,我们在设计控制器的时候采用了内外环的结构,外环的控制输出作为内环的控制输入。在这里要区分一下控制器的输入输出和控制对象的输入输出,控制器的输入是状态量和期望,输出是控制量。而对于这种分内外环结构的控制器,我们要求内环的响应速度要远快于外环,否则就会出现跟踪问题,这也是为什么我们调试控制器的时候都是先调试内环,再调试外环,外环控制不好很多时候不是外环的参数没调试好,而是因为内环的参数不合适。

PID控制方法简介

从事无人机行业的人应该没有人不知道PID是什么,比例积分微分控制器。PID三项各有各的作用。一般情况下,三者结合起来才能发挥最佳作用,但PI控制器也是常用的组合。

P项作为比例控制,起到的作用最大,其值跟误差成正比,误差越大,P项也越大,所以在调节过程中,合适的P项参数可以让控制对象快速响应。

D项是微分项,跟误差的微分项成正比,也就是说误差变换得快,其值就大。误差变大的时候,其可以抑制误差进一步变大;误差变小的时候,其可以增加阻尼,避免超调。但是对于角速度控制或者速度控制,由于其微分项噪声大,D项起到的作用很可能是负的,此时,可去除D项,避免引入过大噪声。

I项是积分项,一般用于消除稳态误差,在误差趋于0附近时起关键作用,在误差较大时应该停止积分,避免出现积分饱和现象。关于积分项的实际使用,有很多需要处理的细节,以后会进行详细描述。

PID在控制领域的使用非常广泛,其基本计算公式如下,但是在实际应用中会有很多变形,比如限幅、饱和抑制、变参数PID等等。正因为有这些变形和改进,我们在使用PID控制方法进行无人机控制器设计时才会达到比较好的控制效果。

控制器框架设计和介绍

关于控制器架构如下图所示,内环是姿态控制器,外环是位置控制器。

首先,制导律会根据具体的路径或者轨迹规划信息计算出惯性坐标系下的期望位置、期望速度、期望加速度和期望航向角。

然后,位置控制器根据上述期望和实际状态计算出惯性系下的期望加速度,再用旋转矩阵将惯性系下的期望加速度转换到机体轴系下。

接着,期望加速度经过内环指令生成模块转换为期望俯仰角、期望滚转角,加上制导律计算得到的期望偏航角以及实际姿态角和角速度,经过姿态控制器的计算得到期望力矩。

再然后,期望力矩结合内环指令生成模块得到的期望升力,输出给控制分配模块,得到各电机的期望转速。

本文小结

无人机控制器设计的内容和知识点是非常多的,很多人觉得PID很简单,就是算一下三项值加起来就可以了,那只能说你对她有深深的误解,我觉得要使用PID算法做好控制器的设计必须做到以下几点:

1、了解清楚控制对象的特性,我们在设计PID控制器时往往要解耦合,如果你不清楚无人机的飞行原理,不了解它的数学模型,那你在设计的时候很难考虑到各通道之间的影响。

2、知道为什么PID控制器能够广泛地得到使用,PID控制器的优缺点是什么,怎么用数学理论去推导证明PID算法的可行性,以及怎么用数学理论去指导控制器的设计与调试。

3、在具体设计PID控制器的时候怎么因地制宜,使用好她的各种变形,达到更好的控制性能,我们不只是需要控制器稳定,我们还希望得到快速响应,精确跟踪,不超调不震荡。

4、在飞行器遇到异常情况时怎么让控制器发挥最佳性能,正常飞行状态下,PID达到好的飞行效果那是非常容易的事情,如何保证在诸如控制饱和、传感器异常、执行机构无法工作等状况下无人机还能安全飞行,这也是设计控制器的难点所在。

在接下来的几篇内容中我会对控制器的设计以及理论内容进行详细的阐述,同时结合实际代码对PX4软件中的控制器一一分解,力求大家对无人机控制器的设计、理论推导以及实践操作都能够完全掌握。

本篇文章首发于公众号:无人机系统技术。更多无人机技术相关文章请关注此公众号。

多旋翼无人机控制器设计入门相关推荐

  1. MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(3)无人机控制器设计

    MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(3) 无人机控制器设计 MATLAB Simmechanics/Simscape四旋翼无人机控制仿真(3) 无人机控制器设 ...

  2. 多旋翼位置控制器设计

    本篇文章首发于公众号:无人机系统技术.更多无人机技术相关文章请关注此公众号,有问题也可在公众号回复"加群"进入技术交流群进行交流. 控制律设计的模型变化 为了公式符号统一,本文左上 ...

  3. 基于STM32的四旋翼无人机开发设计

    已知技术参数和设计要求: 1.功能要求 本次课程设计涉及的四旋翼无人机设计方案,采用STM32F103为上位机,外加直流电机.WIFI模块.MPU6050九轴运动处理传感器等实现四旋翼无人机飞行及其控 ...

  4. 四旋翼无人机的设计与实现讲解

    四旋翼无人机基于stm32的设计与实现过程.

  5. 多旋翼无人机的控制分配

    本文最先发表于公众号:无人机系统技术 公众号回复"加群"进入无人机技术交流群交流 公众号回复"多旋翼"获取国际顶尖团队科研成果 公众号回复"控制分配& ...

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

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

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

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

  8. 四旋翼无人机反步法控制器设计(含simulink仿真)

    反步法设计: 1.建立四旋翼无人机非线性模型: 2.位置环虚拟控制律及反步控制器设计: 3. 姿态解算 4.姿态环虚拟控制律及反步控制器设计: 5.搭建simulink,仿真结果如下:  

  9. Robotics: Aerial Robotics(空中机器人)笔记(二):如何设计一架四旋翼无人机

    在这一章里,我们将探索四旋翼如何飞行的. 这章将会讲一些基本的力学原理以及如何设计无人机. 上一章链接: Robotics: Aerial Robotics(空中机器人)笔记(一): Introduc ...

最新文章

  1. Kali Linux 2020.1快速修改root用户密码
  2. 论文浅尝 - EMNLP2020 | ConceptBert:视觉问题回答的概念感知表示
  3. 实现API接口调用--来源阿里云大学-归档
  4. Oracle使用数据泵 (expdp/impdp)实施迁移
  5. 18张图,详解SpringBoot解析yml全流程
  6. C#3.0 为我们带来什么(3) —— 初始化器
  7. 201803-1-跳一跳
  8. Bug管理的流程和几个重点
  9. AWS推出OpenJDK长期支持版本Amazon Corretto
  10. 计算机组成原理--白中英版 全部知识点
  11. 基于32×32点阵LED模块的书写显示屏
  12. python从零基础直达神经网络之基础篇 第二章 编程基础概念(二)
  13. 电脑硬件常见故障维修技巧
  14. win远程桌面连接无显示器Ubuntu(22.04.1 LTS)
  15. 挑战程序设计竞赛:反转法
  16. 组播IP地址和MAC地址的映射关系
  17. 运行LLVM Pass的两种方式
  18. nginx架构(修改版)
  19. java编译找不到文件_java报错找不到文件解决方法
  20. 全球及中国二手车市场销量渠道规模及发展格局建议报告2021-2027年

热门文章

  1. win10下安装adb、出现的问题及解决办法
  2. 集成elastic-job分布式调度定时任务
  3. Java内存模型(Java Memory Molde,JMM)
  4. sqlyog企业版 v8 32注册码
  5. java 之文件输入输出流
  6. webstorm 重新下载破解版插件后打不开了?
  7. 大数据技术原理与应用(复习)
  8. how to whistle
  9. PCB阻抗设计及Polar Si9000 PCB阻抗计算软件的使用
  10. 安装2021b报错-找不到 ‘D:\MATLAB2021b\bin\win64\hg.dll‘ 所需的资源文件 ‘toolbox/matlab/graphics/hg/hgrc.m‘