【无人机设计与技术】四旋翼无人机的建模

embedded/2024/10/21 14:34:50/

摘要

本项目的目标是通过 Simulink 建模和仿真,研究四旋翼无人机的建模、姿态控制、定点位置控制及航点规划功能。无人机建模包含了动力单元模型、控制效率模型和刚体模型,并运用这些模型实现了姿态控制和位置控制。姿态控制为无人机的平稳飞行提供基础,而位置控制则帮助无人机进行精确的空间定位。通过给定一系列航点,完成了航点规划功能的验证。仿真结果表明,系统设计的控制算法简单高效,具有良好的跟踪效果和稳定性。

理论

四旋翼无人机是多旋翼飞行器的一种,其控制原理基于姿态和位置控制器的设计。

  1. 动力单元模型:主要包括四个电机和螺旋桨的动力学行为,通过电机的转速控制推力和转矩。

  2. 控制效率模型:用于描述推力和转矩与电机控制输入之间的关系。

  3. 刚体模型:包括无人机的动力学模型和运动学模型,动力学模型主要描述力和加速度之间的关系,运动学模型描述无人机的姿态和位置随时间的变化。

无人机控制器分为姿态控制器和位置控制器两部分。姿态控制是为了保持无人机的平衡,通过控制螺旋桨的速度来调整俯仰角、滚转角和偏航角。位置控制则是在姿态控制的基础上,通过调整无人机的速度和加速度,使其能够在空间中移动到指定的位置。
航点规划:在位置控制的基础上,实现无人机的航点规划,即无人机按照设定的航点序列飞行,依次达到目标点。

实验结果

  1. 姿态控制仿真:通过设定步进信号验证姿态控制器的性能,结果表明无人机可以迅速达到设定的姿态角度,且姿态控制具有较好的动态响应特性,无超调现象。

  2. 位置控制仿真:位置控制在 Simulink 仿真中表现出较好的稳定性,能够准确跟踪设定的参考轨迹,并在达到目标位置后保持稳定。

  3. 航点规划实验:通过设定多个航点,无人机可以在仿真中依次到达每个航点,证明航点规划功能实现。

  4. 实验中的示波器图像显示了姿态角度(俯仰、滚转、偏航)的动态变化过程,验证了控制系统在动态跟踪方面的有效性。

部分代码

以下是一个姿态控制的简化代码示例:

% 四旋翼无人机的姿态控制器仿真代码
clc;
clear all;
close all;% 参数设定
k_p = 1.2; % 比例增益
k_d = 0.8; % 微分增益
desired_pitch = 0; % 期望的俯仰角
desired_roll = 0; % 期望的滚转角
desired_yaw = 0; % 期望的偏航角% 仿真时间
sim_time = 10; % 姿态控制器的 PD 控制
for t = 1:sim_timeerror_pitch = desired_pitch - current_pitch;error_roll = desired_roll - current_roll;error_yaw = desired_yaw - current_yaw;pitch_control = k_p * error_pitch + k_d * (error_pitch - last_error_pitch);roll_control = k_p * error_roll + k_d * (error_roll - last_error_roll);yaw_control = k_p * error_yaw + k_d * (error_yaw - last_error_yaw);last_error_pitch = error_pitch;last_error_roll = error_roll;last_error_yaw = error_yaw;% 更新无人机姿态current_pitch = update_pitch(pitch_control);current_roll = update_roll(roll_control);current_yaw = update_yaw(yaw_control);
end

参考文献

  1. Bouabdallah, S., & Siegwart, R. (2007). Full control of a quadrotor. Proceedings of the 2007 IEEE International Conference on Robotics and Automation.

  2. Mellinger, D., & Kumar, V. (2011). Minimum snap trajectory generation and control for quadrotors. Proceedings of the 2011 IEEE International Conference on Robotics and Automation.

  3. Mahony, R., Kumar, V., & Corke, P. (2012). Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor. IEEE Robotics & Automation Magazine.


http://www.ppmy.cn/embedded/123303.html

相关文章

安全帽头盔检测数据集 3类 12000张 安全帽数据集 voc yolo

安全帽头盔检测数据集 3类 12000张 安全帽数据集 voc yolo 安全帽头盔检测数据集介绍 数据集名称 安全帽头盔检测数据集 (Safety Helmet and Person Detection Dataset) 数据集概述 该数据集专为训练和评估基于YOLO系列目标检测模型(包括YOLOv5、YOLOv6、YOLOv7…

Docker 从安装到实战

Docker 是一个开源的平台,用于自动化应用程序的部署、扩展和管理。它利用操作系统级别的虚拟化,将应用程序及其依赖项封装在称为容器的轻量级、可移植的单元中。以下是 Docker 的一些关键特点: 容器化:Docker 容器可以在任何支持 …

【进阶OpenCV】 (4)--图像拼接

文章目录 图像拼接1. 读取图片2. 计算图片特征点及描述符3. 建立暴力匹配器4. 特征匹配5. 透视变换6. 图像拼接 总结 图像拼接 图像拼接是一项将多张有重叠部分的图像(这些图像可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分…

红日靶机(三)笔记

VulnStack-红日靶机三 概述 相较于前边两个靶场环境,靶场三的难度还是稍难一点,有很多兔子洞,这就考验我们对已有信息的取舍和试错,以及对渗透测试优先级的判断。涉及到对数据库操作的试错,对 joomla 框架 cve 的快速…

五子棋双人对战项目(3)——匹配模块

目录 一、分析需求 二、约定前后端交互接口 匹配请求: 匹配响应: 三、实现游戏大厅页面(前端代码) game_hall.html: common.css: game_hall.css: 四、实现后端代码 WebSocketConfig …

spring boot jar 分离自动部署脚本

背景 远程部署时spring boot 包&#xff0c;比较大。可以采用依赖库和业务包分离的方式。提供一个脚本进行自动部署 maven 配置分离jar包 <build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springfra…

详细整理!!html5常用标签

文章目录 前言一、HTML简介1.HTML文件结构2.各标签意义 二、HTML标签介绍1.标题标签2.段落标签3. 换行标签4.hr标签5. span标签6.div标签7.img标签8.超链接标签9.注释标签10.空格11.格式化标签12.sup上标和sub下标13. pre预格式化标签14.table 表格标签table 标签基础内容合并单…

通过PHP获取商品详情

在电子商务的浪潮中&#xff0c;数据的重要性不言而喻。商品详情信息对于电商运营者来说尤为宝贵。PHP&#xff0c;作为一种广泛应用的服务器端脚本语言&#xff0c;为我们提供了获取商品详情的便捷途径。 了解API接口文档 开放平台提供了详细的API接口文档。你需要熟悉商品详…