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

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

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

图片

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

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

地面坐标系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…

VSCode提交代码到git操作指南

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

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…

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; 第一种&…

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的核…

使用Node.js开发一个文件上传功能

在现代 Web 应用程序开发中&#xff0c;文件上传是一个非常常见且重要的功能。今天我们将通过 Node.js 来开发一个简单而强大的文件上传功能。使用 Node.js 来处理文件上传可以带来许多好处&#xff0c;包括简单的代码实现、高效的性能和灵活的配置选项。 首先&#xff0c;我们…

【kubernetes】关于k8s集群的资源发布方式(灰度/滚动发布)

目录 一、常见的发布方式 二、详解kubectl陈述式方式做灰度发布&#xff08;金丝雀发布&#xff09; 步骤一&#xff1a;先基于deployment控制器创建pod&#xff0c;然后发布 步骤二&#xff1a;基于命令行灰度发布 步骤三&#xff1a;测试等到版本稳定以后&#xff0c;再完…

远程解难:苹果手机投屏到Windows电脑,给爸妈演示手机操作

明窗净几夜未央&#xff0c; 键盘轻敲解忧忙。 父母笑颜消难题&#xff0c; 孝心科技共光芒。 QQ、微信、小红书等社交软件不仅年轻人在用&#xff0c;老年人也逐步使用社交软件建立起自己的朋友圈。但这些“新”软件对于部分老年人来说还是太复杂&#xff0c;这就难免需要年…

Mysql常见用法(2)

目录​​​​​​​ mysql 约束 primary key 主键的基本使用 notnull(非空) unique(唯一) foreign key(外键) check 自增长 mysql索引 索引的原理 索引的类型 索引的使用 --添加索引 删除索引&#xff1a; -- 修改索引 &#xff0c; 先删除&#xff0c;在添加新…

liunx单机项目部署

文章目录 1.liunx简介2.liunx的jdk安装2.liunx的tomcat安装3.liunx的mysql安装4.单机项目部署 1.liunx简介 Linux&#xff0c;一般指GNU/Linux&#xff08;单独的Linux内核并不可直接使用&#xff0c;一般搭配GNU套件&#xff0c;故得此称呼&#xff09;&#xff0c;是一种免费…

【C语言】学生宿舍信息管理系统

目录 项目说明 1. 数据结构设计 2. 功能实现 3. 主菜单设计 4. 文件操作 5. 系统使用 项目展示 1.主菜单功能界面 ​编辑 2.添加信息 3.查询信息 4.修改信息 5.删除信息 6.退出程序 项目完整代码 结语 在这篇博客中&#xff0c;我们将探讨如何使用C语言来开发…

【Hudi】核心概念

https://www.bilibili.com/video/BV1ue4y1i7na?p17&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf 大数据新风口&#xff1a;Hudi数据湖&#xff08;尚硅谷&Apache Hudi联合出品&#xff09; 1 基础概念 1.1 时间轴(TimeLine) 1.2 文件布局(File Layout) 1.3 索引(In…