3.基于STM32C8T6的四旋翼无人机的飞控制作----理论准备3,四旋翼姿态控制理论

2023-11-20

4.四旋翼姿态控制理论

   四旋翼的姿态控制理论是真正动手前必须学习的一部分理论,要先明白如何通过控制四个电机来控制飞机姿态,才明白如何编写控制程序。姿态控制要简单分为两部分,第一部分为飞行参数及作用概念,第二部分为PID控制理论。

第一部分 飞行参数及作用概念

四旋翼无人机的姿态描述参数有三个,成为欧拉角,分别为横滚角roll、俯仰角pitch,偏航角yaw(截的论文图片)

有三个角度作参考就可以表示出四旋翼的姿态信息,但是还需要明白四旋翼拥有6个自由度,分别是三个轴的平移和旋转。

要规定好无人机的方向,哪边是前,哪边是后。哪边是左右,涉及到无人机的两种模式,十字没试过,做的X型模式,但是控制理论差不太多,明白一个另一个就差不多了。

X型飞机动作控制理论

当前进时,前面两个电机速度要慢于后面两个电机;后退时反之

当左行时,左面两个电机速度要低于右面两个电机转速,右行反之

当斜行时,对角线电机转速相同,

当翻滚运动时。。。。。。。好像略微难点

备注:以上所说的电机转速相同并不是绝对的相同,而是开环给的速度,具体涉及到电机的控制理论后面再讲

 

       我们控制飞机的目标是当油门摇杆固定,别的摇杆归零时,要让飞机停留在原地不动,但是事实上飞机不是一点也不动的,而是处在一种闭环的状态下,不断的进行姿态调整,偏了立马调正,动作比较快由单片机自动控制。我们想让飞机静止时,那就相当于让它的三个欧拉角都为0;想让它前进后退时,就让他的俯仰角不是零,另外两个是零;想让它左行或右行时候,横滚角不是0,另外两个是0。摇杆的变量得出来的是四旋翼无人机欧拉角的目标角度,而不是四个电机的目标转速。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3.基于STM32C8T6的四旋翼无人机的飞控制作----理论准备3,四旋翼姿态控制理论 的相关文章

  • wifidog浏览器弹窗认证 — 基于OpenWRT路由器

    一 移植 wifidog功能 1 功能介绍 wifidog是一种能够实现让路由器局域网设备 包括wifi连接和网线连接设备 在上网前先进行 portal认证的工具 主要应用于手机端上网认证 手机在连接wifi后会自动打开浏览器并跳转出 lo
  • C++顺序链表

    include
  • Android AutoCompleteTextView实现自动补全

    辛苦堆砌 转载请注明出处 谢谢 最近工作用到了自动补全 这里做一个简单记录 首先上我们的布局
  • 类函数重载

    函数重载必然发生在同一个作用域 重载函数 本事为不同函数 函数名和参数列表决定函数 函数必须发生在同一个作用域中 include
  • IDEA 编写JDBC 第一个示例

    知心惟有雕梁燕 自来相伴 东风不管琵琶怨 落花吹遍 一 新建一个Module 二 在此Module下新建一个包 在包再建一个包 命名为lib 三 导入mysql驱动 四 将mysql驱动添加到项目的库里 五 代码实现 package Con
  • 协同过滤算法代码

    此算法主要用来推荐的 找出ui uj两个用户同时打过分的课程集合 function getPSet uid ujd select 课程编号 from 评分 where 用户编号 ui and 课程编号 in select 课程编号 from
  • linux使用date命令获取系统时间

    转载自Linux系统date命令的参数及获取时间戳的方法 date指令相关用法示例 date 用法 date OPTION FORMAT date u utc universal MMDDhhmm CC YY ss 直接输入date dat
  • 微信小程序开发之——用户登录-登录流程(1)

    一 概述 新建微信小程序自带用户登录简化 小程序登录流程时序 二 新建微信小程序自带用户登录简化 新建的微信小程序默认有用户登录功能 将多余功能去除后 简化如下 2 1 index wxml
  • 文心一言续写太监小说《名侦探世界的巫师》

    名侦探世界的巫师 是我的童年回忆 总是想着续写一下 但是又没有时间和文笔 文心一言出了 由于目前大模型貌似可以联网 可以尝试搞一波 目录 文章1 前六个故事还能看 后面就是在重复 故事2 辣眼睛 毁童年 非请勿看 故事3 流水账 故事4 其
  • JDK介绍

    JDK JRE和JVM之间的关系 JVM是运行环境 JRE是含运行环境和相关的类库 跟node环境是一个意思 JDK目录介绍 目录名称 说明 bin 该路径下存放了JDK的各种工具命令 javac和java就放在这个目录 conf 该路径下
  • C++学习笔记(十六):对vector进行更多的操作——泛型算法

    先强调一下 这里的泛型算法实际不光光是对vector的操作 对于 顺序容器 均可以 但是什么是顺序容器 我们都知道 容器就是一些特定类型对象的集合 而顺序容器为程序员提供了控制元素存储和访问的能力 这种容器的一个显著的特征 就是容器中元素的
  • ES6.x版本单机三节点配置discovery.zen.ping.unicast.hosts 错误

    问题 在同一个机子利用不同端口搭建3个ES节点 单节点正常运行 集群间无法联通 找不到主节点 表现 cluster uuid 一直没有注册成功 curl 0 0 0 0 29200 name es 01 cluster name es te
  • 浏览器地址栏输入url以后发生了什么

    在浏览器输入url后会发生的过程 1 DNS对域名进行解析 2 建立TCP连接 三次握手 3 发送HTTP请求 4 服务器处理请求 5 返回响应结果 6 关闭TCP连接 四次挥手 7 浏览器解析HTML 8 浏览器布局渲染 1 浏览器对输入
  • 华为OD机试 - 需要打开多少监控器(Java & JS & Python)

    题目描述 某长方形停车场 每个车位上方都有对应监控器 当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时 监控器才需要打开 给出某一时刻停车场的停车分布 请统计最少需要打开多少个监控器 输入描述 第一行输入m n表示长宽 满足1
  • 按照 C++ 11 标准,数组,指针,传递问题!

    一 一维数组 静态 int array 100 定义了数组array 并未对数组进行初始化 静态 int array 100 1 2 定义并初始化了数组array 动态 int array new int 100 delete array

随机推荐

  • Java 日历的制作 心得 写给自己

    之前已经跟着老师做过一次这个日历 但是时间一久便又拿出来自己再复习一遍 果然不出所料 已经做不出来了 而且因为在学习的时候使用的是Myeclipse 其中话中操作是由软件自己操作的 每写出一句代码软件也会自动提示哪里有问题 半傻瓜式的操作果
  • HTML5的多个video标签:截取视频源的封面图poster,监听视频播放状态的功能;

    在日常项目中 html5的video标签还是比较常用到的 开发过程中 我们都会使用到 通过监听video标签的播放 暂停 停止等等来使用 我们是否也会遇到过 有些浏览器在显示这标签 兼容不太友好 video标签的封面是一层黑色的 ok 那么
  • git-基本操作-1

    1安装 window上安装git 官网直接下载 下载完成后需要在git bash命令行中输入 git config global user name yourname git config global user email yourema
  • 非常详细的小程序搜索历史功能

    前言 我们在进行一些项目开发时 很有可能会涉及到在搜索框中搜索某一个词条 从而进行相应的检索 在这里就会出现一个优化功能 我们在搜索后的某一个词条 我希望能够显示在历史记录中 这样一个小的tip 可以给用户带来更高的使用体验 历史记录并不会
  • goland环境配置

    goland modules环境配置 下载和安装goland 环境配置 配置环境变量GOPATH 配置go modules GOPROXY代理的系统变量 工程目录中新建三个工作目录 goland中启用go modules 新建一个go程序
  • 浅谈图数据库

    本文主要讨论图数据库背后的设计思路 原理还有一些适用的场景 以及在生产环境中使用图数据库的具体案例 从社交网络谈起 下面这张图是一个社交网络场景 每个用户可以发微博 分享微博或评论他人的微博 这些都是最基本的增删改查 也是大多数研发人员对数
  • 【电子技术】什么是LFSR?

    目录 0 前言 1 数学基础 1 1 逻辑异或 1 2 模2乘法 和 模2除法 2 线性反馈移位寄存器LFSR 3 抽头和特征多项式 4 阶线性反馈移位寄存器实例 0 前言 线性反馈移位寄存器 Linear Feedback Shift R
  • mysql jdbc 实现读写分离

    这种方式直接在代码级别实现了mysql 读写分离 很简单 只需要改一下配置文件 就搞定了 是不是很嗨 jdbc driverClassName com mysql jdbc ReplicationDriver jdbc url jdbc m
  • Windows10安装Markdown安装教程(超级详细)

    markdown其实就是我们平常写博客的地方 下面我来详细介绍它的安装教程 首先到官网去安装 markdown 点击download 我反正点击download后它自动就下载了 然后下载好后是安装包 双击 然后一直next 最后它会跳出来
  • 被火车撞了都不能忘记的几道题(你会了吗?)

    目录 一 删除有序链表中的重复元素I 二 删除有序链表重复元素II 三 环形单链表中插入一个元素 四 单链表翻转II 五 奇偶链表 一 删除有序链表中的重复元素I 1 对应牛客网链接 删除有序链表中重复的元素 I 牛客题霸 牛客网 nowc
  • 吴恩达机器学习笔记1:手写linear regression

    最近手写了linear regression 有以下几点收获 做batch gradient descent时 注意每一轮迭代要使用同一个error同时更新所有参数 归一化的时候 要注意记录相应的均值和方差 后续对新样本做预测时也需要使用这
  • OpenHarmony 3.1 Beta版本关键特性解析——探秘隐式查询

    以下内容来自开发者分享 不代表 OpenHarmony 项目群工作委员会观点 徐浩 隐式查询是 OpenAtom OpenHarmony 以下简称 OpenHarmony 的一个基础能力 被广泛应用于各种应用中 如视频播放 阅读器播放等 应
  • 【优化】Spring热部署Devtools:不用每次修改一点点就重启Spring

    第一步 add dev
  • linux ip add address,Linux IPv6 地址配置

    添加IPV6地址 ip 6 addr add dev ip 6 addr add 2001 0db8 0 f101 1 64 dev eth0 ifconfig inet6 add ifconfig eth0 inet6 add 2001
  • nacos 部署 Could not retrieve transation read-only status server

    nacos 低版本 部署的时候 mysql 数据库版本高于驱动时 数据操作时 会报 Unknown system variable tx read only Could not retrieve transation read only s
  • 测试udp服务的端口是否可用

    测试tcp服务的端口是否可用 可以使用 telnet ip port 但是如果这个用在upd服务上 就会报错 因为telnet走的是tcp协议 比如说192 168 80 131在8888端口上上启了个udp的服务 这时使用telnet 1
  • 【快速选择算法】O(n)时间复杂度

    快速选择的期望时间复杂度为O n 最坏时间复杂度为O n 2 当每次划分只划分为n 1个和1个时 由于划分时间复杂度为O n 最坏时间复杂度为O n 2 void quickselect vector
  • statsmodels.tsa.arima.model.ARIMA用户手册(中文)(statsmodels包)

    0 前言 class statsmodels tsa arima model ARIMA endog exog None order 0 0 0 seasonal order 0 0 0 0 trend None enforce stati
  • SpringSecuit详解,写的很好

    转自 https www jianshu com p 08cc28921fd0 8 6 Spring Boot集成Spring Security 开发Web应用 对页面的安全控制通常是必须的 比如 对于没有访问权限的用户需要转到登录表单页面
  • 3.基于STM32C8T6的四旋翼无人机的飞控制作----理论准备3,四旋翼姿态控制理论

    4 四旋翼姿态控制理论 四旋翼的姿态控制理论是真正动手前必须学习的一部分理论 要先明白如何通过控制四个电机来控制飞机姿态 才明白如何编写控制程序 姿态控制要简单分为两部分 第一部分为飞行参数及作用概念 第二部分为PID控制理论 第一部分 飞