在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. 夜莺监控 V7 第二个 beta 版本发布,内置集成故障自愈能力,简化部署

    经过一个半月的打磨改进,夜莺监控 V7 第二个 beta 版本发布了,本次发布的主要亮点是内置集成故障自愈能力,简化架构,同时做了其他 19 项改进.一些重要的改进如下: feat: 集成故障自愈的能 ...

  2. Java接口签名和验签

    Java接口签名和验签 import com.alibaba.fastjson.JSON; import org.apache.commons.lang3.StringUtils; import ja ...

  3. 『手写Mybatis』实现映射器的注册和使用

    前言 如何面对复杂系统的设计? 我们可以把 Spring.MyBatis.Dubbo 这样的大型框架或者一些公司内部的较核心的项目,都可以称为复杂的系统. 这样的工程也不在是初学编程手里的玩具项目,没 ...

  4. firewall-cmd设置NAT转换

    配置ipv4转发 修改servera配置文件/etc/sysctl.conf ,修改参数为1 net.ipv4.ip_forward = 1 配置生效: sysctl -p 修改网卡的zone [ro ...

  5. Linux中的环境变量PS1,打造你的专属终端

    文章目录 介绍 PS1的格式 设置字体样式 举例 小建议 进阶 介绍 好看的终端是怎么做的呢?通过PS1这个环境变量! PS1的格式 PS1='[\u@\h \w]\$ ' 样式: 解释: [是普通字 ...

  6. 使用nc进行tcp测速

    # server nc -l IP PORT > /dev/null eg: nc -l 192.168.144.1 8080 > /dev/null # client bs单位块大小 c ...

  7. FreeRtos学习总结

    背景 最近项目需要,花了几天时间学习了FreeRTOS,因为之前有操作系统和底层的基础,所以上手非常快. 正文 基础篇 学习方法:建议先阅读本人整理的文章:再结合FreeRTOS文档官方的全英文档&l ...

  8. 生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

    前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式.这里我会一一展开说具体怎么配置 一.双节点均部署Nginx: 第一步 ...

  9. RPC和心跳机制

    hadoop在节点间的内部通讯使用的是RPC,RPC协议把消息翻译成二进制字节流发送到远程节点,远程节点再通过反序列化把二进制流转成原始的信息. namenode与datanode之间的通信,jobt ...

  10. 【ClickHouse】5:clickhouse集群部署

    背景介绍: 有三台CentOS7服务器安装了ClickHouse HostName IP 安装程序 程序端口 centf8118.sharding1.db 192.168.81.18 clickhou ...