在B站上看到有讲无人机自动控制方面的视频,感觉不错,分享下:

https://www.bilibili.com/video/BV1aW411E7Qq/?spm_id_from=333.788.videocard.1

---------------------------------------------------

看来这个才知道,有飞控的叫无人机,无飞控的叫航模(远程遥控飞机)。

原来无人机里面的飞控也是用的PID控制算法。

没有飞行控制器的飞机是难以稳定飞行的,因为它的飞行控制是需要人在远程进行操控的。人类在物理世界中驾驶的载人飞机其控制器其实就是驾驶员。

无人机的飞行状态由飞控器件来控制,人类只需要给出基本的指令,如:悬停,向前飞,向后方,向上飞,向下飞,向左飞,向右飞等指令,而具体的对电动机的控制则由飞控器件根据指令来进行操作。

无人机的控制示意图,个人猜测版:

四旋翼无人机大致长相如下:

4旋翼无人机共有4个电动机螺旋桨,1号和3号是逆时针选择,2号和4号是顺时针选择。

悬停的时候1,2,3,4号电动机产生的升力之和和无人机的自身重力相当, 1,3号电动机产生的逆时针扭矩 与  2,4号电动机产生的顺时针扭矩相互抵消。

向前运动的时候,1,2号电动机减少旋转转数,3,4号增加旋转的转数,于是头向下倾斜,尾向上倾斜。顺逆时针扭矩相互抵消,升力与重力相抵消,并产生前向拉力。

向后运动的时候,1,2号电动机增加旋转转数,3,4号减少旋转的转数,于是头向上倾斜,尾向下倾斜。顺逆时针扭矩相互抵消,升力与重力相抵消,并产生前后拉力。

以头尾的中间线为轴:

向左运动的时候,2,3号电动机减少旋转转数,1,4号增加旋转的转数,于是机身向左下倾斜,尾向右上倾斜。顺逆时针扭矩相互抵消,升力与重力相抵消,并产生前左拉力。

向右运动的时候,1,4号电动机减少旋转转数,2,3号增加旋转的转数,于是机身向右下倾斜,尾向左上倾斜。顺逆时针扭矩相互抵消,升力与重力相抵消,并产生前右拉力。

以机身的中心点的垂直线为轴:

向左机身平面左转的时候,2,4号电动机减少旋转转数,1,3号增加旋转的转数,于是机身向左扭矩增加,机身向右扭矩减少。升力与重力相抵消,顺逆时针扭矩不能相互抵消,产生左转的扭矩。

向右机身平面右转的时候,1,3号电动机减少旋转转数,2,4号增加旋转的转数,于是机身向右扭矩增加,机身向左扭矩减少。升力与重力相抵消,顺逆时针扭矩不能相互抵消,产生右转的扭矩。

--------------------------------------------

视频分享---------《无人机背后的PID控制》的更多相关文章

  1. 一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

      PID控制应该算是应用非常广泛的控制算法了.小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制.这里我们从原理上来理解PID控制. PID(proportion ...

  2. 【iCore3应用开发平台】发布 iCore3 应用开发平台PID控制代码

    说明:1.本代码包包含FPGA和STM32F407两部分内容2.FPGA工程为出厂代码FPGA工程,版本为REV43.STM32F407为只含PID控制的ARM工程4.在使用风扇过程中,请勿将手伸入扇 ...

  3. .net之工作流工程展示及代码分享(四)主控制类

    现在应该讲主控制类了,为了不把系统弄得太复杂,所以就用一个类作为主要控制类(服务类),作为前端.后端.业务逻辑的控制类. WorkflowService类的类图如下: 该类的构造函数: public ...

  4. 两轮自平衡小车双闭环PID控制设计

                                                                                            两轮自平衡小车的研究意义 ...

  5. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...

  6. wordpress使用video.js与七牛云存储实现无广告视频分享应用

    video.js是一款极受欢迎的基于HTML5的开源WEB视频播放器,其充分利用了HTML5的视频支持特性,可以实现全平台的无视频插件播放功能,对于现在流行的手机.PAD等移动智能终端有极佳的应用体验 ...

  7. 数字式PID控制的应用总结

    PID控制是一个二阶线性闭环控制器,通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.PID控制优点:a. 技术成熟,b. 易被人们熟悉和掌握,c. 不需要建立数学模型 ...

  8. PID控制学习笔记(二)

    不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...

  9. SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  10. MATLAB-离散系统的数字PID控制仿真

    %PID Controller clear all; close all; ts=0.001; %采样时间=0.001s  sys=tf(,]); %建立被控对象传递函数 dsys=c2d(sys,t ...

随机推荐

  1. 用 Easysearch 帮助大型车企降本增效

    最近某头部汽车集团需要针对当前 ES 集群进行优化,背景如下: ES 用于支撑包括核心营销系统.管理支持系统.财务类.IT 基础设施类.研发.自动驾驶等多个重要应用,合计超 50 余套集群,累计数据超 ...

  2. 【译】Visual Studio 17.10 发布了新版扩展管理器

    我们将更新的扩展管理器带给所有用户!在过去的一年里,我们已经将更新后的扩展管理器作为可选的预览功能提供,并一直期待您的反馈.基于您令人难以置信的反馈,我们现在准备从 Visual Studio 17. ...

  3. npm ERR! code EPERM npm ERR! syscall open npm ERR! path C:\Program Files\nodejs\node_cache\_cacache\

    报错信息 让人摸不着头脑的报错 解决方式 简单粗暴 直接删文件 方法1:需要删除npmrc文件. 强调:不是nodejs安装目录npm模块下的那个npmrc文件 而是在C:\Users{账户}\下的. ...

  4. 在线SQL格式化工具推荐

    在线SQL格式化工具,一键美化.整理您的SQL代码,支持多种数据库语法格式化.有效提升代码可读性,方便团队协作与快速定位问题,是开发人员必备的SQL编程助手,让复杂查询更清晰,更易于维护. 在线SQL ...

  5. mysql 查询差集方法

    第一种是通过not in的方式去处理: select id from table_a where id not in (select id from table_b); 第二种则是通过左连接(left ...

  6. Mirror多人联网发布阿里云

    Mirror多人联网发布阿里云 新建模板小书匠 将mirror网络地址和端口选为你阿里云服务器上开放的公网地址和端口 IP与端口 2. 在阿里云服务器安全组中开放你所制定的端口 开放阿里云端口 3. ...

  7. Java跳动爱心代码

    1.计算爱心曲线上的点的公式 计算爱心曲线上的点的公式通常基于参数方程.以下是两种常见的参数方程表示方法,用于绘制爱心曲线: 1.1基于 (x, y) 坐标的参数方程 x = a * (2 * cos ...

  8. 高通SOC启动流程

    背景 开始接手高通开发的有关工作,为了调试底层驱动,因此有必要了解高通平台上电启动的流程是怎么样的. 以 MSM8953 为例子. MSM:mobile station modems,移动基带处理器, ...

  9. 如何免费在 arm 官网上下载合适的手册

    背景 有时候搞底层配置的时候(尤其是uboot),需要查阅文档. 这里介绍如何在arm 官网进行查找下载,这样就可以不用去 CSDN 了. 实际上CSDN上的一些文档就是这样下载下来二次收费的,强烈谴 ...

  10. PyTorch程序练习(一):PyTorch实现CIFAR-10多分类

    一.准备数据 代码 import torchvision import torchvision.transforms as transforms from torch.utils.data impor ...