无人机飞行控制系统技术,四旋翼无人机控制系统建模技术详解

物理建模是四旋翼无人机控制系统建模的基础,主要涉及到无人机的物理特性和运动学特性。物理建模的目的是将无人机的运动与输入信号(如控制电压)之间的关系进行数学描述。

四旋翼无人直升机是具有四个输入力和六个坐标输出的欠驱动动力学旋翼式直升机,从而可知该系统是能够准静态飞行(盘旋飞行和近距离盘旋飞行)的自主飞行器。与传统的旋翼式无人机相比,四旋翼无人机只能通过改变旋翼的 转速来实现各种运动。与传统的直升机那种具有可变倾斜角不同的是,四旋翼无人直升机具有四个倾斜角固定的旋翼,因此结构和动力学特性得到了简化。

图片

四旋翼无人机动态数学模型

任何系统的运动方程,都是针对某一特定的参考坐标系建立的。无人机在本质上属于多体动力学系统。无人机机身的运动可以看成六自由度的刚体运动,包含绕三个轴的转动和重心沿三个轴向的线运动。想要描述无人机的转动,须选用机体坐标系想要描述无人机的位置,须选用地面坐标系。

地面坐标系OXYZ

地面坐标系就是一种固定在地球表面的坐标系。首先在地面上选定一个原点 O,使得 X 轴指向地球表面的任意一个方向。Z 轴沿着铅直方向指向天,Y 轴在水平面内与 X 轴垂直,指向通过右手定则来确定。在忽略地球的自转运动和地球质心的 曲线运动时,该地面坐标系可看成是一个惯性坐标系。飞行器的位姿态、速度、角速度等都是相对于这一坐标系来衡量的。

图片

机体坐标系oxyz

坐标系固定在航飞行器上 并遵循右手法则的三维正交直角坐标系称为机体坐标系。原点 o 位于飞行器的质心处, x 轴在飞机的对称平面内,并且平行于飞行器的设计轴线,指向机头前 方。y 轴垂直于机身对称平面,并指向机身右方。z 轴的在飞行器对称平面内, 与 xoy 平面垂直,并指向飞行器的上方。

图片

欧拉角

机体坐标系与地面坐标系的关系可以通过三个欧拉角进行表示,分别是俯仰角θ、滚转角Φ和偏航角ψ。

图片

坐标转换矩阵

体坐标系和地面坐标系之间的转换满足下面关系式:

图片

图片

动力学模型的建立

根据牛顿第二定律,有:

图片

图片

动力学模型的建立

图片

图片

图片

由牛顿第二定律以及飞行器的动力方程,飞行器载体在参考坐标系下的位移方程为:

图片

由此可以得到位置坐标的线性位移方程:

图片

无人机应以动态坐标为基础进行动力学研究。由刚体的欧拉方程,绝对导数在动态坐标下可以表示为:

图片

其中(p,q,r分别为机体坐标系上的横滚,俯仰,偏航角速度):

图片

整理得到:

图片

图片

图片

由欧拉角方程可以飞行器的角运动方程:

图片

图片

图片

定义:

图片

图片

PID控制

PID控制是一种经典的闭环反馈控制方法,它广泛应用于多种工业控制系统。经典PID控制由比例环节、积分环节和微分环节三部分组成。控制系统以测量值y(t)和设定值r(t)之间的误差值e(t)作为输入量,通过对误差e(t)进行比例、积分和微分运算使控制系统输出量u(t)的误差最小化。

图片

图片

图片

由动力学方程可得俯仰角θ、滚转角Φ的理想值:

图片

图片

由姿态角PID后得到:

图片

图片

图片

在四旋翼无人机中,无人机的运动主要受到四个电机的旋转速度的影响。每个电机通过旋翼产生升力,进而影响无人机的位置和姿态。因此,物理建模需要建立无人机的位置、速度、加速度、角速度、姿态等运动参数与电机旋转速度之间的关系。

系统集成与验证

系统集成与验证是对四旋翼无人机控制系统建模效果的检验和确认,也是在实际应用中对无人机性能进行评估的重要环节。

在系统集成阶段,需要将物理模型、数学模型和控制算法进行整合,构建完整的四旋翼无人机控制系统。在这个过程中,需要考虑到无人机的硬件限制和实际应用环境,确保系统能够稳定运行。

验证阶段则是对控制系统性能的评估和测试。通过在仿真环境或实际飞行中对无人机的性能进行测试,可以评估控制算法的有效性和稳定性。同时,也可以通过调整控制参数来优化无人机的性能表现。

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

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

相关文章

13.云原生之常用研发中间件部署

云原生专栏大纲 文章目录 mysql主从集群部署mysql高可用集群高可用互为主从架构互为主从架构如何实现主主复制中若是两台master上同时出现写操作可能会出现的问题该架构是否存在问题? heml部署mysql高可用集群 nacos集群部署官网文档部署nacoshelm部署nacos redis集…

Unity类银河恶魔城学习记录7-8 P74 Pierce sword源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Sword_Skill.cs using System; using System.Collections; using System.C…

网络安全之防御保护8 - 11 天笔记

一、内容安全 1、攻击可能只是一个点,防御需要全方面进行 2、IAE引擎 3、DFI和DPI技术 --- 深度检测技术 深度行为检测技术分为:深度包检测技术(DPI)、深度流检测技术(DFI) DPI --- 深度包检测技术 --- 主要针对完整的数据包&#xf…

VSCode提交代码到git操作指南

前言 点个赞,嘿嘿! 直奔主题 一直都有疑问vscode如何将代码提交给git。告别小乌龟!告别命令! 操作步骤 第一步 登录git账号新建一个仓库,千万不要点击初始化仓库,不然只能clone了!&#xff…

关于CSS常见选择器应用的基础教程

在网页开发中,CSS选择器是非常重要的一部分,它们用来指定你想要样式化的HTML元素。熟练掌握各种选择器的用法可以帮助你更有效地实现网页布局和设计。本文将介绍一些常见的CSS选择器,并演示它们的基本用法及应用场景。 一、元素选择器&#…

开源模型应用落地-业务优化篇(七)

一、背景 在本篇学习中,我们要介绍消息中间件,它可以帮助我们将核心和辅助流程分开,让它们互相独立。同时,还要关注在使用消息中间件时需要注意的地方。并且将这种思想应用到其他实际场景中。 二、术语 2.1、消息中间件 消息中间件是一种在分布式系统中用于处理消息传递的…

Ethernet/IP转Modbus TCP网关

产品功能 1 YC-EIP-TCP工业级EtherNet/IP 网关 2 Modbus TCP 转 EtherNet/IP 3支持ModBus主从站 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与ModBus互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆龙PLC 支持罗克韦尔(AB) 典…

【MATLAB源码-第151期】基于matlab的开普勒化算法(KOA)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 开普勒优化算法(Kepler Optimization Algorithm, KOA)是一个虚构的、灵感来自天文学的优化算法,它借鉴了开普勒行星运动定律的概念来设计。在这个构想中,算法模仿行星围绕太阳的…

opencv图像腐蚀

腐蚀&#xff08;Erosion&#xff09;是一种形态学图像处理操作&#xff0c;用于移除图像中的小白点、细小物体或者边缘。它通过将结构元素应用于图像上的像素来实现。 以下是opencv实现图像腐蚀的代码 #include <opencv2/highgui/highgui.hpp> #include <opencv2/im…

【Android 需求方案实现】 在屏幕上画一条线的时候,如何把这条线经过的所有坐标点(高效有序完整)地发送出去?

文章目录 需求背景定义接口,获取down和move事件获取到的坐标信息获取触摸事件MotionEvent对拿到的x、y坐标进行处理发送实时坐标点算法实现:把虚线通过补偿算法填充为实线完成需求背景 买东西付款的时候,或者银行一些业务办理的时候,我们常常需要签名。目前大多数场景都是…

IntelliJ IDEA 2023:创新不止步,开发更自由 mac/win版

IntelliJ IDEA 2023激活版是一款强大而智能的集成开发环境(IDE)&#xff0c;为开发者提供了一系列先进的功能和工具&#xff0c;帮助他们更高效地编写、调试和测试代码。 IntelliJ IDEA 2023 软件获取 IntelliJ IDEA 2023继承了其前代版本的优秀基因&#xff0c;并在此基础上进…

用 Python 自动化处理无聊的事情

“编程最棒的部分就是看到机器做一些有用的事情而获得的胜利。用 Python 将无聊的事情自动化将所有编程视为这些小小的胜利&#xff1b;它让无聊变得有趣。” Hilary Mason&#xff0c;数据科学家兼 Fast Forward Labs 创始人 “我很享受打破东西然后把它们重新组合起来的乐趣…

【JavaEE】_前端POST请求使用json向后端传参

目录 1. 关于json 2. 通过Maven仓库&#xff0c;将Jackson下载导入到项目中 3. 使用Jackson 3.1 关于readValue方法 3.2 关于Request.class类对象 3.3 关于request对象的属性类型 3.4 关于writeValueAsString 前端向后端传递参数通常有三种方法&#xff1a; 第一种&…

Redis之二:Redis 常用命令

Redis 命名不区分大小写 0.登录远程服务器 如果需要在远程 redis 服务上执行命令&#xff0c;同样我们使用的也是 redis-cli 命令。 语法 $ redis-cli -h host -p port -a password 获取配置信息&#xff1a; CONFIG GET CONFIG_SETTING_NAME 例&#xff1a; CONFIG GE…

BTC网络 vs ETH网络

设计理念 BTC 网络 比特币是一种数字货币&#xff0c;旨在作为一种去中心化的、不受政府或金融机构控制的电子货币。其主要目标是实现安全的价值传输和储存&#xff0c;比特币的设计强调去中心化和抗审查。 ETH 网络 以太坊是一个智能合约平台&#xff0c;旨在支持分散的应…

Windows系统x86机器安装(麒麟、统信)ARM系统详细教程

本次介绍在window系统x86机器上安装国产系统 arm 系统的详细教程。 注&#xff1a;ubuntu 的arm系统安装是一样的流程。 1.安装环境准备。 首先&#xff0c;你得有台电脑&#xff0c;配置别太差&#xff0c;至少4核8G内存&#xff0c;安装window10或者11都行&#xff08;为啥…

抖音视频评论批量下载软件|抖音数据抓取工具

随着业务需求的增长&#xff0c;抖音视频的下载需求也日益增加。传统的方式是通过逐个复制粘贴分享链接来下载视频&#xff0c;这种操作效率低下且耗时费力。为了解决这一问题&#xff0c;我们开发了一款基于C#的抖音视频评论批量下载软件&#xff0c;旨在实现通过关键词自动批…

Web服务器群集:OpenEuler 部署 LAMP(LNMP) 基础服务

目录 一、实验 1.环境 2. 网络配置 3. MobaXterm远程连接 4. apache 2.4.58 源码编译安装 5. php 8.3.1源码编译安装 6.配置httpd 连接 php-fpm 6. nginx 1.24.0源码编译安装 7. mysql 8.0.36安装 二、问题 1.MobaXterm设置右键复制粘贴 2.OpenEuler如何查看CPU的核…

Android 使用NanoHTTPD 架设 Http Server + 客户端App 发送请求示例(含上传图片示例)

NanoHTTPD 简介 使用该 lib,可以在 Android 设备上,架设 Http Server。客户端(Client) App,请求 http://[serverIp]:[server端口]/… 访问服务。适用于,局域网内多安卓设备(一台作为服务器,其它作为客户端)间通信。 https://github.com/NanoHttpd/nanohttpd 依赖:imple…

Linux内核模块签名与版本检查机制

内核模块签名机制 linux内核从3.7 开始加入模块签名检查机制, 校验签名是否与已编译的内核公钥匹配。目前只支持RSA X.509验证, 模块签名验证并非强制使用, 可在编译内核时配置是否开启。 CONFIG_MODULE_SIG: Module signature verification 开启该选项后,内核加载该模块…