四旋翼飞行器设计指南(原理、程序、电机资料)

2023-05-16

四旋翼飞行器采用四个旋翼作为飞行的直接动力源,旋翼对称分布在机体的前后、左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,旋翼1 和旋翼3 逆时针旋转,旋翼2 和旋翼4 顺时针旋转,四个电机对称的安装在飞行器的支架端,支架中间空间安放飞行控制计算机和外部设备。

典型的传统直升机配备有一个主转子和一个尾浆。他们是通过控制舵机来改变螺旋桨的桨距角,从而控制直升机的姿态和位置。四旋翼飞行器与此不同,是通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。由于飞行器是通过改变旋翼转速实现升力变化,这样会导致其动力不稳定,所以需要一种能够长期确保稳定的控制方法。四旋翼飞行器是一种六自由度的垂直起降机,因此非常适合静态和准静态条件下飞行。但是四旋翼飞行器只有四个输入力,同时却有六个状态输出,所以它又是一种欠驱动系统。
  控制航行姿态的依据就是航姿传感器输出的信号。航姿传感器至少包括倾角传感器和角速度传感器。而倾角传感器可以利用三轴加速度传感器间接实现。既然是加速度传感器,那么它输出的信号表征的是当前三个轴向的加速度值,如果飞行器在空间中保持静止,那么加速度值通过简单的换算就可以得到真实的倾角参数。
  但是飞行器在空间中是不可能时刻保持静止不动的,譬如在侧风的影响下,飞行器可能会向某一个方向偏离,那么此时即使飞行器确实保持水平,但三轴加速度传感器的输出仍会偏离中心值,造成控制核心的误判。为避免这种情况的出现,则需要引入三轴角速度传感器和超声测距仪,利用三个轴向上的角速度和Z轴方向上的加速度以及实时高度的变化率对X、Y轴方向上的加速度进行校正,从而得出真实的倾角信息。传感器的输出信号经过模拟放大和模拟滤波之后送入AD变换电路转换为数字信号送入MCU(Microprocessor Control Unit ),由MCU进行包括但不仅限于kalman滤波等的数字信号处理,再依据MCU中的整套航姿控制算法得出控制量,送入专司电机控制的MCU中对电机进行实时控制,同时要避免各传感器间结果的冲突乃至矛盾。
更多资料添加 QQ群:864588072 群文件下载资料
QQ裙名称 【嵌入式物联网创客2】
找群主领取学习资料,找裙主说你的学习情况 老师专门给你制定学习计划 学习路线和经验分享。
感谢经历 感谢缘分 欢迎大家的学习交流。

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

四旋翼飞行器设计指南(原理、程序、电机资料) 的相关文章

  • 【项目复盘】springboot项目中使用mybatis-plus进行分页

    springboot项目中使用mybatis plus进行分页 文章目录 springboot项目中使用mybatis plus进行分页引入依赖配置类实体类持久层业务层 引入依赖 span class token generics span
  • 【项目复盘】javax.validation的简单使用

    javax validation的简单使用 javax validation需要与hibernate validator配合使用 validation bean 是基于JSR 303标准开发出来的 xff0c 使用注解方式实现 xff0c
  • 【项目复盘】springboot中使用swagger生成接口文档并配置bootstrap主题

    springboot中使用swagger生成接口文档并配置bootstrap主题 引入依赖 span class token generics span class token punctuation lt span dependency
  • 【项目复盘】微服务网关GateWay过滤

    微服务网管过滤 新建一个过滤类 span class token annotation punctuation 64 Component span span class token comment 过滤器的执行优先级 返回值越小 执行优先级
  • 【项目实战】Winodws下使用ELK搭建日志分析框架

    项目实战 Winodws下使用ELK搭建日志分析框架 ELK是什么 xff1a 引用官网的一句话 xff1a 核心产品包括 Elasticsearch Kibana Beats 和 Logstash xff08 也称为 ELK Stack
  • java_网络编程知识

    day11 网络编程 主要内容 软件架构CS xff0f BS网络通信三要素TCP通信Socket套接字ServerSocket 学习目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传
  • AvFrame和AvPacket

    在FFmpeg中 未压缩的图像和压缩的视频码流分别使用AVFrame结构和AVPacket结构保存 针对视频编码器 其流程为从数据源获取图像格式的输入数据 保存为AVFrame对象并传入编码器 从编码器输出AVPacket结构 1 AVFr
  • 基于FreeRTOS的stm32程序初始化底层搭建(hal库)

    采用嵌入式实时操作系统 RTOS 可以更合理 更有效地利用CPU的资源 xff0c 简化应用软件的设计 xff0c 缩短系统开发时间 xff0c 更好地保证系统的实时性和可靠性 FreeRTOS是一个迷你的实时操作系统内核 作为一个轻量级的
  • ceres小结 -- vins为例

    从 typora 复制的 排版有问题 见谅 在estimator cpp文件里 这个函数 void Estimator optimization 1 声明problem ceres Problem problem 2 引入核函数loss f
  • JavaScript操作表格及CSS样式

    概述 在前端开发中 xff0c 表格主要用于存储结构化的数据 xff0c CSS主要用于修饰DOM元素 xff0c 如何通过DOM来操作表格及CSS呢 xff1f 本文主要通过一些简单的小例子 xff0c 简述DOM对表格和CSS的常见操作
  • 转:Git Submodule管理项目子模块

    使用场景 当项目越来越庞大之后 xff0c 不可避免的要拆分成多个子模块 xff0c 我们希望各个子模块有独立的版本管理 xff0c 并且由专门的人去维护 xff0c 这时候我们就要用到git的submodule功能 常用命令 span c
  • Linux/c++服务器开发方向的重点

    作者 xff1a NULL 链接 xff1a https www zhihu com question 37247264 answer 2352680534 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c
  • Prometheus之Dockerfile编写、镜像构建、容器启动

    Python微信订餐小程序课程视频 https edu csdn net course detail 36074 Python实战量化交易理财系统 https edu csdn net course detail 35475 目录 从官方镜
  • Java的接口调用

    最近在观看一个Android开发中 xff0c 有一个问题百思不得其解 xff0c 就是从Fragment传数据回Activity和Activity传数据到Fragment中 xff0c bundle其实刚开始还是理解的 xff0c 但是当
  • X86实模式与保护模式简介

    0 引言 从80386开始 xff0c CPU有三种工作方式 xff1a 实模式 xff0c 保护模式和虚拟8086模式 v86模式 只有在刚刚启动的时候是real mode xff0c 等到操作系统运行起来以后就切换到protected
  • (1)VisDrone无人机目标检测数据集介绍

    数据集介绍 官网 xff1a http aiskyeye com VisDrone数据集 xff0c 包含了10个类 xff08 即行人 人 汽车 面包车 公共汽车 卡车 汽车 自行车 遮阳三轮车和三轮车 xff09 无人机计算机视觉相关检
  • 简单的shell编程的语法

    shell 1 span class token punctuation span 脚本以 span class token comment bin bash 开头 span span class token comment 脚本的常用执行
  • 使用c++模板的优点和缺点

    作为C 43 43 语言的新组成部分 xff0c 模板引入了基于通用编程的概念 通用编程是一种无须考虑特定对象的描述和发展算法的方法 xff0c 因此它与具体数据结构无关 但在决定使用C 43 43 模板之前 xff0c 让我们分析一下使用
  • kalibr 进行相机单目、双目标定全流程

    一 部署kalibr环境 docker 步骤 xff1a 参考链接 xff1a Installation ethz asl kalibr Wiki GitHub Docker操作知识 xff1a Docker攻略 xff1a 从安装到入门到
  • kalibr源码阅读参考

    Kalibr简介 xff1a Kalibr是一个用于标定多相机系统和IMU xff08 惯性测量单元 xff09 的开源工具包 xff0c 旨在提供一套完整的 易于使用的标定工具 它是ETH Zurich自主飞行系统实验室的一个项目 xff

随机推荐

  • QT5.11.1下的DirectShowPlayerService::doRender: Unresolved error code 0x80040266 ()报错)

    64 TOC QT5 11 1下的DirectShowPlayerService doRender Unresolved error code 0x80040266 报错 1 实验环境 实验环境 xff1a xff08 1 xff09 QT
  • GPS定位中的卡尔曼滤波算法

    卡尔曼滤波 xff1a 卡尔曼滤波由预测和校正两部分组成 预测部份又称时间更新过程 xff0c 是在上一个历元 k 1 状态估计值的基础上 xff0c 利用系统的状态方程来预测当前历元 k 的状态值 校正部分又叫测量更新过程 xff0c 它
  • 古月居ROS21讲入门(10)发布者Publisher的编程实现(源代码详解)

    发布者Publisher的编程实现 源代码详解 一 话题模型二 创建learning topic功能包三 实现一个发布者1 初始化ROS节点2 注册节点信息3 创建消息数据 四 配置CMakeLists txt中的编译规则五 编译并运行发布
  • STM32自学笔记串口DMA发送/接收 FIFO 突发模式

    参考博文 串口发送TXPA9DMA2 Stream7通道4正常模式串口发送RXPA10DMA2 Stream5通道4循环模式 串口波特率115200 PA9 PA10复用输出 注意点 串口接受数据dma方式不能开启串口接受中断 Dma双缓冲
  • 【STM32】标准库-自定义BootLoader

    Bootloader bootloader其实就是一段启动程序 xff0c 它在芯片启动的时候最先被执行 xff0c 可以用来做一些硬件的初始化或者用作固件热更新 xff0c 当初始化完成之后跳转到对应的应用程序中去 bootloader程
  • 【数据结构】使用结构体指针时需要使用malloc

    如果定义一个结构体类型的普通变量 xff0c 可以不malloc动态申请内存 xff0c CPU会为这个结构体变量分配内存 如果定义的是一个结构体的指针 xff0c CPU会为这个指针开辟内存 xff0c 但是此时这个大小是4 xff08
  • fwrite乱码问题

    我们这里数据格式为 201911606 liu 1 1 1 2 99 201911607 wang 1 2 1 3 98 fwrite写入文件是二进制代码形式 xff0c 所以用文本打开为乱码 xff0c 这时候我们可以用fprintf代替
  • ubuntu下使用kazam录屏与视频解码(亲测视频在windows可用)

    Ubuntu中难免会使用录屏软件记录试验过程 xff0c 本博客采用kazam软件录屏 xff0c 并将录屏软件解码 xff0c 解码文件可以复制到windows使用 1 kazam安装 安装命令 xff1a span class toke
  • 高通MSM8998芯片数据资料参考

    高通MSM8998芯片数据资料参考 今日分享是高通MSM8998芯片的基础知识 xff0c 现在分享是比较基础的资料 xff0c 还有其他的项目案例和参考资料找个时间再分享出来 xff0c 资料都在闯客网技术论坛上 xff0c 也是可以免费
  • 深度学习中epoch,batch的概念--笔记

    深度学习中epoch xff0c batch的概念 batch epoch和iteration是深度学习中几个常见的超参数 1 batch size 每批数据量的大小 DL通常用SGD的优化算法进行训练 xff0c 也就是一次 1 个ite
  • 基于Ubuntu的嵌入式开发练习(十)FreeRTOS的移植和设计一个基本的多任务程序

    如有错误 xff0c 欢迎指正 xff0c 谢谢 xff01 目录 一 FreeRTOS的移植二 建立一个基本的多任务程序1 实验要求2 代码设计3 执行效果 一 FreeRTOS的移植 教程 视频 xff1a 野火 FreeRTOS视频教
  • 嵌入式软件工程师总结(1)

    1 说说进程和线程的区别 答 xff1a 简单的来说 一个程序至少有一个进程 一个进程至少有一个线程 第一点 进程有自己的独立地址空间 xff0c 每启动一个进程 xff0c 系统就会为它分配地址空间 xff0c 建立数据表来维护代码段 堆
  • Centos下Django部署到Apache

    Centos 43 Django 43 Apache部署 版本 xff1a python3 6 Centos7 6 Django3 2 Apache2 4 1 安装python3 默认3 6 yum install python3 pyth
  • 云服务器Docker运行ROS,并通过VNC连接

    云服务器Docker运行ROS xff0c 并通过VNC连接 使用华为云服务器系统Ubuntu18VNC为x11vnc 安装图形界面 选择Xubuntu界面 xff0c 占用资源较少 xff0c 参考链接ubuntu安装gui 直接安装即可
  • 切换系统的概述

    切换系统的概述 切换系统 switched system 是一类混合系统 xff0c 即一类混杂系统 切换系统是由若干个切换子系统和以一条 贯穿 所有子系统的切换规则组成的 组成切换子系统可能只是一个结构简单 动态特性简单的基础控制系统 x
  • 更改Win10与Ubuntu双系统的默认进入系统为Windows

    一 每次开机 xff0c 不进行系统选择 xff0c 就会直接进入到第一个系统 xff0c 即Ubuntu系统 xff0c 想让他自动进入Win10系统 原因 xff1a Ubuntu系统位于第一位 解决方法 xff1a 1 开机或者重启
  • FreeRTOS之消息队列

    FreeRTOS之消息队列 声明 xff1a 本人按照正点原子的FreeRTOS例程进行学习的 xff0c 欢迎各位大佬指责和批评 xff0c 谢谢 xff01 消息队列的定义 消息队列其实是两个任务之间的数据传递的过程 xff0c 在没有
  • python使用schedule实现定时周期性任务执行

    span class token keyword import span span class token module schedule span span class token keyword import span span cla
  • python之glob查找文件(亲测好用)

    span class token keyword import span span class token module glob span span class token keyword import span span class t
  • 四旋翼飞行器设计指南(原理、程序、电机资料)

    四旋翼飞行器采用四个旋翼作为飞行的直接动力源 xff0c 旋翼对称分布在机体的前后 左右四个方向 xff0c 四个旋翼处于同一高度平面 xff0c 且四个旋翼的结构和半径都相同 xff0c 旋翼1 和旋翼3 逆时针旋转 xff0c 旋翼2