RflySim | 姿态控制器设计实验一

姿态控制器设计实验1

一. 姿态控制设计简介

本文是建立在多旋翼的姿态即控制器中的反馈信号能够被较好地估计的前提下,控制器中的反馈信号是估计值。不过,为了更加简便根据分离原理,我们用真值代替反馈信号。本文的目的是让多旋翼的姿态能够跟随我们给定的期望姿态,姿态控制器的好坏直接决定了多旋翼能否平稳飞行。在时域中,能够反映控制性能的有响应时间、超调量、调节时间和稳态误差等指标;在频域中是稳定裕度和截止频率。在基础实验中,读者可以复现多旋翼姿态控制的仿真;在分析实验中,读者可以调节姿态控制的PID(比例积分微分)参数,让多旋翼在时域中达到较好的控制性能;在设计实验中,读者可以根据自动控制原理中的知识设计校正器,让多旋翼在频域中达到较好的控制性能。

二. 多旋翼底层飞行控制框架

多旋翼的底层飞行控制分为四个层次,分别为位置控制、姿态控制、控制分配和电机控制。

位置控制:利用期望的位解算期望的滚转角、期望的俯仰角和期望的总拉力。

姿态控制:利用期望的姿态角解算出期望的力矩。

控制分配:将期望的螺旋桨转速分配到多电机,得到期望的输入力和力矩。

电机控制:利用螺旋桨转速解算出每个电机的期望油门指令。

图片

闭环控制框架如下图所示。多旋翼是一个欠驱动系统,有6个输出(位置和姿态),但是只有4个独立输入(总拉力和三轴力矩)。因此,多旋翼只能跟踪4个期望指令(期望位置与偏航),剩余的变量(滚转、俯仰)由期望位置和偏航确定。

图片

设计多旋翼飞行控制器时,可以采用内外环的控制策略,其中内环对多旋翼飞行器姿态角进行控制,而外环对多旋翼飞行器的位置进行控制。由内外环控制实现多旋翼飞行器的升降、悬停、侧飞等飞行模态。多旋翼姿态控制是飞行器位置控制的基础。常见的刚体姿态描述方法为欧拉角描述方法和旋转矩阵描述方法。

图片

本文针对这两种不同的姿态表示,设计了两种姿态跟踪控制器。首先,针对欧拉角表示,在小角度假设的条件下设计PID控制器。然后,针对旋转矩阵表示,设计基于姿态误差矩阵的姿态控制器。实际中,需要根据具体要求选择合适的姿态表示及对应的姿态控制器。

2.1 基于欧拉角的姿态控制

图片

图片

2.2 基于旋转矩阵的姿态控制

图片

三. 控制分配模块设计

简单来说,控制分配问题可描述为:给定uv (t)寻找δ(t),使得:

uv (t) =g(δ(t))

其中g为被控系统中执行机构控制输入到伪控制输入的映射。常假设操纵机构偏转量与其产生的控制力矩之间为线性函数关系,则可得到线性控制分配问题

uv (t) =Bδ(t)

 x字形四旋翼的控制分配和多旋翼的控制效率模型如下:

图片

对于四旋翼的控制效率模型的MATLAB程序如下:

function [M1, M2, M3, M4] = motor_mixer(Roll, Pitch, Yaw, Thrust)

%Function description:

%  Control allocation. The quadrotor type is X-configuration,

%  and the airframe is as follows:

%3↓   1↑

 %  \ /

 %  / \

 %2↑   4↓

%Input:

%  Roll, Pitch, Yaw: attitude controller output.

%  Thrust

idle_PWM = 1000;

scale = 1000;

M1 = (Thrust - Roll + Pitch + Yaw) * scale + idle_PWM;

M2 = (Thrust + Roll - Pitch + Yaw) * scale + idle_PWM;

M3 = (Thrust + Roll + Pitch - Yaw) * scale + idle_PWM;

M4 = (Thrust - Roll - Pitch - Yaw) * scale + idle_PWM;

以上原理可以详细参考文献[1]的第11章。

参考文献:

[1] 全权,杜光勋,赵峙尧,戴训华,任锦瑞,邓恒译.多旋翼飞行器设计与控制[M],电子工业出版社,2018.

[2] 全权,戴训华,王帅.多旋翼飞行器设计与控制实践[M],电子工业出版社,2020.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247439.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线性规划问题

线性规划问题: 将约束条件及目标函数都是决策变量的线性函数的规划问题称为线性规划问题 一般线性规划问题的描述: 为了解决这类问题,首先需要确定问题的决策变量:然后确定问题的目标,并将目标表示为决策变量的线性函数;最后找出问…

FL Studio 21.2.1.3859中文破解版及FL Studio怎么录制

FL Studio 21.2.1.3859中文破解版是一个数字音频工作站 (DAW)。该软件借助各种编辑工具、插件和效果,让您可以录制、混音和掌握高度复杂的音乐作品。FL Studio 21还允许您注册和编辑 MIDI 文件,您可以在众多可用乐器之一上演奏这些文件。FL Studio 拥有 …

如何安装Wnmp并结合内网穿透实现外网远程访问内网服务

文章目录 前言1.Wnmp下载安装2.Wnmp设置3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 WNMP是Windows系统下的绿色NginxMysqlPHP环境集成套件包,安装完成后即可得到一个Nginx MyS…

从零开始学习 JS APL(五):完整指南和实例解析

目录 学习目标: 学习内容: 学习时间: 学习内容: Window对象: 定时器-延时函数: JS 执行机制: location对象: 本地存储: 本地存储分类- localStorage&#xff1a…

【latex笔记】双栏格式下插入单栏、双栏格式图片

双栏格式下插入单栏、双栏格式图片 1.缘起multicols2.双栏格式 插入单栏图片3.双栏格式 插入双栏图片 1.缘起multicols 插入双栏格式图片问题被困扰了有很长一段时间,查看网络资源也一直没找到解决方法,今天查看Latex官方文档,才发现因为mul…

【算法专题】前缀和

前缀和 前缀和1. 前缀和【模板】2. 二维前缀和【模板】3. 寻找数组的中心下标4. 除自身以外数组的乘积5. 和为K的子数组6. 和可被K整除的子数组7. 连续数组8. 矩阵区域和 前缀和 1. 前缀和【模板】 题目链接 -> Nowcoder -DP34.前缀和【模板】 Nowcoder -DP34.前缀和【模…

单片机系统

我们来看单片机 的例子,读者可能会担心单片机(又称MCU,或微控制器) 过于专业而无法理解。完全没必要!在这里我们仅借它谈论一下有关时间的话题,顺带提一下单片机系统的概念。 单片机顾名思义是集成到一个芯…

微信小程序 纯css画仪表盘

刚看到设计稿的时候第一时间想到的就是用canvas来做这个仪表盘&#xff0c;虽然本人的画布用的不是很好但还可以写一写&#x1f600;。话不多说直接上代码。最后有纯css方法 <!--wxml--> <canvas canvas-id"circle" class"circle" >// js dat…

经验分享|MySQL分区实战(RANGE)

概述 分区概述 在 MySQL 中&#xff0c; InnoDB存储引擎长期以来一直支持表空间的概念。在 MySQL 8.0 中&#xff0c;同一个分区表的所有分区必须使用相同的存储引擎。但是&#xff0c;也可以为同一 MySQL 服务器甚至同一数据库中的不同分区表使用不同的存储引擎。 通俗地讲…

学习php中使用composer下载安装firebase/php-jwt 以及调用方法

学习php中使用composer下载安装firebase/php-jwt 以及调用方法 1、安装firebase/php-jwt2、封装jwt类 1、安装firebase/php-jwt composer require firebase/php-jwt安装好以后出现以下文件: 2、封装jwt类 根据所使用的php框架&#xff0c;在指定目录创建 Token.php <?ph…

DevOps搭建(二)-VMware安装虚拟机详细步骤

1、下载Centos镜像 官方下载地址: Download 这里我们使用Centos7镜像 下载地址: Index of /centos/7.9.2009/isos/x86_64/ 2、设置固定IP 2.1、VMware的配置 首先打开编辑里面的 虚拟网络编辑器,如图: 进入更改设置之后,进行后面的操作,

UNDERSTANDING AND IMPROVING INFORMATION TRANSFER IN MULTI-TASK LEARNING

Z i _i i​ X i R i X_iR_i Xi​Ri​&#xff0c; X X X是Task embedding layers&#xff0c; R R R是Alignment matrices 辅助信息 作者未提供代码