在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. INFINI Labs 产品更新 | Agent 全新重构,优化指标采集,支持集中配置管理,支持动态下发等功能

    INFINI Labs 产品又更新啦~ 本次更新主要有 Agent.Console.Loadgen 等产品,其中 Agent 进行全新重构升级,新版限制了 CPU 资源消耗,优化了内存,相比旧版内存使 ...

  2. flutter 创建第一个项目(二)

    新建flutter project 项目 这样就创建出了第一个项目

  3. 学习ThreeJS

    创建第一个应用 使用Three JS进行编程的时候,都是在调用new Three().XXX 来实现方法,让我们先根据官方文档创建一个demo https://threejs.org/docs/ind ...

  4. Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读

    检索增强生成(RAG:Retrieval Augmented Generation)技术旨在把信息检索与大模型结合,以缓解大模型推理"幻觉"的问题.近来关于RAG的研究如火如荼,支 ...

  5. SpringBoot指标监控功能

    SpringBoot指标监控功能 随时查看SpringBoot运行状态,将状态以josn格式返回 添加Actuator功能 Spring Boot Actuator可以帮助程序员监控和管理Spring ...

  6. python selenium.remote远程连接时间达10分钟

    问题: 在机器A搭建了selenium-grid的环境,hub以4444端口号启动,并在4444下注册了子node,端口4445,浏览器配置chrome 使用代码进行远程连接,并创建会话: 传入的se ...

  7. java+SpringCloud开发的性能和环保问题

    对于大部分商业应用开发程序员而言,使用java+spring是一件幸福的事情. 一般情况下,我们使用cloud开发不是那么重要.精密的应用,这些应用包括例如大型的商业交易,社区等等. 因为这些应用天然 ...

  8. 天翼云centos7.6安装redis6.2.6

    以下部分的具体略: 1.wget获取源码 2.make 这里重点说下,如何使用 utils/install_server.sh脚本 使用install_service.sh添加服务 有了这个脚本,那么 ...

  9. 下载 Linux 内核的脚本

    介绍 在 类UNIX 环境下运行比较好(基于wget) 包括了 2.6 ~ 4.x 内核的地址. 5.x 因为 还在更新因此不做记录. 脚本下载地址: https://files.cnblogs.co ...

  10. 【基础推导】MPC控制器及其车辆模型详细推导 (附代码链接及详细推导说明)

    0. 参考与前言 Python 代码:github AtsushiSakai/PythonRobotics C++ 代码:github jchengai/gpir/mpc_controller 相关参 ...