我做PID算法的背景和经历:本人之前电子信息科学与技术专业,对控制方向颇感兴趣,刚上大学时听到实验室老师说PID算法,那年在暑假集训准备全国电子设计竞赛,我正在练习做一个以前专科的题目,帆板角度控制系统,还不懂PID是个什么玩意,老师让我把PID加到这个题目里。当时给了一些电子版的一些教程,但是没看懂。。。。。。。后来对四旋翼很感兴趣,想弄一架玩玩再亲自写程序做一架,买了PIX飞控玩了很久,自己也确实做了一个简单的飞控,我做的飞控只能简单飞起,没有啥创新功能。。。(这过程得有一年多,说来话长,因为玩飞机成本高而且效率比较低,最后干脆不继续了,反正是把PID现在搞得很熟悉了,这期间也做了平衡车和倒立摆,想问PID问题的可以联系我QQ522414928,随时在线。)

我曾经玩的四旋翼,玩飞机花了不少钱:

  1.倒立摆与平衡车最通俗的理解与解释(也是我努力了半天总结的经验):当年的电子大赛旋转倒立摆到底有多变态,很多人都认为1个PID只要参数适中这个问题就能解决,因为平衡车一个PID就能够站起来,很多人都以为倒立摆跟平衡车一样,很多人努力了很长时间都以为机械结构做的不好或程序及参数写的不对而放弃,我也一直认为1个PID能解决这个问题,做了一段时间以放弃告终。单纯的控制角度跟随一个PID确实能够让摆站起来,但是忽略了一个很重要的细节,就是在电机速度很快的时候摆平衡了,而且在摆平衡的时候电机的速度一定会很快,此时就会保持这种电机高速运转的状态,但是这种高速旋转显然是短暂的平衡,所以用单级PID做的倒立摆会瞬间平衡一下立刻倒下。

  所以说对于倒立摆这个系统,单级的PID算法是实现不了的,至少需要两级PID去控制才能站稳。

当年做的平衡车,做过好几个,有单级PID算法的,还有多级PID算法的:

 

    以下是研究倒立摆时遇到的PID串级和并集的困扰:

  2.折腾了很长时间PID的问题,尤其是串级PID,以前还想不明白串级PID的外环输出为什么给内环PID的输入,后来想明白了。但是,今天又有了新的发现,研究了这么长时间的串级PID,今天恍然大悟了,把串级PID的公式推导,把串级的两个PID的两个公式合并成一个公式不就是并级的PID公式吗,感谢平衡小车之家的店主提醒,以前从来没推导过,竟然:串级PID=并级PID,以后研究各种平衡跟踪的问题完全不用考虑难以理解的串级pid了,直接一个PID不行,再并一个PID就可以了,一直纠结的问题原来这么简单,并且把串级PID和并级PID都用倒立摆试了一下,结果效果是一样的。只是并级第二个PID的参数=原来串级外环PID的参数*(乘)原来串级PID内环的参数
                                                   
 
 
结果:串级PID=并级PID,MD其实是一个玩意,但是并级PID要比串级PID更容易实现一些
 

用openmv做的PID小球颜色追踪:

旋转倒立摆:

想看更多的资料或教程可以到我的QQ空间https://user.qzone.qq.com/522414928/infocenter

或加QQ522414928共同学习

PID算法 旋转倒立摆与平衡车的区别。此贴后边会更新。的更多相关文章

  1. SimMechanics/Second Generation倒立摆模型建立及初步仿真学习

    笔者最近捣鼓Simulink,发现MATLAB的仿真模块真的十分强大,以前只是在命令窗口敲点代码,直到不小心敲入simulink,就一发不可收拾.话说simulink的模块化建模确实方便,只要拖拽框框 ...

  2. PID算法通俗理解,平衡车,倒立摆,适合不理解PID算法的人来看!

    先插句广告,本人QQ522414928,不熟悉PID算法的可以一起交流学习,随时在线(PID资料再我的另一篇博客里) 倒立摆资料连接↓ https://www.cnblogs.com/LiuXinyu ...

  3. 【sky第二期--PID算法】--【智能车论坛】

    [sky第二期--PID算法] 想学PID的可以来[智能车论坛]这里有我发布的资料http://bbs.tekbots.eefocus.com/forum.php?mod=viewthread& ...

  4. PID算法

    所谓PID就是比例-积分-微分的英文缩写,但并不是必须同时具备这三种算法,也可以是 PD, PI,甚至只有 P算法控制,下面分别介绍每个参数的含义:首先需要明确一个事实就是,要实现PID算法,必须在硬 ...

  5. 基于MATLAB的单级倒立摆仿真

    有关代码及word文档请关注公众号“浮光倾云”,后台回复A010.02即可获取 一.单级倒立摆概述 倒立摆是处于倒置不稳定状态,人为控制使其处于动态平衡的一种摆,是一类典型的快速.多变量.非线性.强耦 ...

  6. PID算法笔记2

    总所周知,PID算法是个很经典的东西.而做自平衡小车,飞行器PID是一个必须翻过的坎.因此本节我们来好好讲解一下PID,根据我在学习中的体会,力求通俗易懂.并举出PID的形象例子来帮助理解PID.一. ...

  7. 某科学的PID算法学习笔记

    最近,在某社团的要求下,自学了PID算法.学完后,深切地感受到PID算法之强大.PID算法应用广泛,比如加热器.平衡车.无人机等等,是自动控制理论中比较容易理解但十分重要的算法. 下面是博主学习过程中 ...

  8. PID算法原理 一图看懂PID的三个参数

    找了好久这一篇算是很容易看懂的了  推荐给大家   写的十分清楚   原文作者DF创客社区virtualwiz LZ以前有个小小的理想,就是让手边的MCU自己"思考"起来,写出真正 ...

  9. 单片机之PID算法

    说到PID算法,想必大部人并不陌生,PID算法在很多方面都有重要应用,比如电机的速度控制,恒温槽的温度控制,四轴飞行器的平衡控制等等,作为闭环控制系统中的一种重要算法,其优点和可实现性都成为人们的首选 ...

随机推荐

  1. java集合知识点总结

    下面是java中常见的集合: List--列表:内部元素有序,可以重复, ArrayList:线程不安全,效率高.数据结构是线性表,底层结构是顺序表,也就是数组,有唯一的下标来指定元素的位置,查询快, ...

  2. 长春理工大学第十四届程序设计竞赛(重现赛)I

    I.Fate Grand Order 题目链接:https://ac.nowcoder.com/acm/contest/912/I 题目: Fate Grand Order是型月社发行的角色扮演类手机 ...

  3. PATB 1032 挖掘机技术哪家强(20)

    #include <cstdio> #include <vector> using namespace std; const int N = 100001; vector &l ...

  4. Python静态方法,其实暗藏玄机

    文章首发于 微信公众号:Python编程时光 这个标题「静态方法其实暗藏玄机」其实只是该文章的一个知识点.或许有些标题党,但没有关系,我相信有不少人对此并没有深入研究他们,不信我问你三个问题,你看能否 ...

  5. centos7安装apache http server启动失败--Failed to start The Apache HTTP Server.

    centos7安装apache http server启动失败     除了nginx可以开启http服务外,apche http server也可以开启http服务,安装过程如下:1. 首先,检测是 ...

  6. RDS数据库磁盘满导致实例锁定

    问题描述: 阿里云RDS空间不足,进行报警.收到报警后.对数据库中不重要的数据备份后执行delete删除操作.执行成功后发现数据删掉了.但是数据库的空间并没有释放.数据占用空间反而越来越大,最后RDS ...

  7. 算法详解之最近公共祖先(LCA)

    若图片出锅请转至here 概念 首先是最近公共祖先的概念(什么是最近公共祖先?): 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节 ...

  8. 关于火狐浏览器设置cookie的一个问题

    最近发现我一个项目的网页,里面的cookie无法添加了,急的我瞪着我的PHP代码沉思了好久,我默认用的火狐浏览器,然而我默默的打开另一个叫360的浏览器,发现它的cookie是正常添加的. ... 难 ...

  9. HTTP、HTTPS常用的默认端口号

    端口号标识了一个主机上进行通信的不同的应用程序. 1.HTTP协议代理服务器常用端口号:80/8080/3128/8081/9098 2.SOCKS代理协议服务器常用端口号:1080 3.FTP(文件 ...

  10. Hash的应用2

    代码: #include <stdio.h> #define OFFSET 500000//偏移量 ];//记录每个数是否出现,出现为1,不出现为0 int main(){ int n,m ...