亿加合和智能车制作

标题: 三轮控制之串级pid(前奏)——By 小学生 [打印本页]

作者: 小学生做车来了    时间: 2018-7-28 16:08
标题: 三轮控制之串级pid(前奏)——By 小学生
        本人不才,西部赛勉强进了一个可能会进国赛的排名,趁今天有空之余,分享一下自己的串级pid的思路。
        串级pid, 既然是pid,那就应该从pid入手,所以我先讲一下最基础的pid。就拿电机的转速pid控制为例吧。
   (1)首先你会给电机一个期望的速度,这是你希望在本次控制中能达到的速度,我称其为期望速度。
   (2)然后你需要通过编码器返回的值处理后得到编码器的转速,这个值与电机转速成正比,因此可等效为实际速度,因此称其为实际速度。
   (3)我们控制电机的转动,无非就是通过改变占空比从而改变驱动电路输出的电压而达到的。因此,这个占空比我把它称为这个pid控制的输出。
   (4)然后我用文字描述一下pid控制的流程(传不来图片我也很苦恼啊):首先是你给予电机一个期望转速,再根据当前电机返回的实际转速,得到当前实际速度与期望速度的差值的大小,再根据当前的差值与过去的微分得到差值的变化率,再根据对当前差值的积分得到历史上pid控制过程中的差存在的总和,有了这些数据,将p(比例项),i(积分项),d(微分项)作用的结果相加,便得到pid控制的输出,这个输出是会根据当前转速与期望转速而自动调整的。在整个控制过程中,我们忽略了电机这个系统的传递函数,而直接根据实际速度与期望速度的差来提高电机控制的鲁棒性,控制过程中没有复杂的计算式子。
    (5)这里我再讲讲对pid三个参数的理解吧。            p,在有偏差存在的情况下才会有作用,因而它的作用是消除偏差的存在。

            i ,在pid控制过程中偏差的累计存在,才会有作用,因而它是消除偏差的累积(或者说是使整个系统所有出现过的偏差为0)
            d,通上面的分析一样,它的作用是消除偏差的变化,意思是使偏差处于一个平稳的状态
    (6)菜鸡笔记本打字太累了,先就到这里吧,下次再讲pid是 怎么串的。。。。(⊙o⊙)…

作者: Acompny    时间: 2018-7-28 16:17
马上就要在这火热的重庆见到各位大佬秀操作了,本来就火热的重庆变得更热闹了,在路上的我还没到重庆,就一股火热之气席卷而来,令我慢下了脚步
作者: spawnbroodling    时间: 2018-7-28 21:31
等待大佬上课
作者: dxa572862121    时间: 2018-7-28 23:57
有一点点点自控基础的,可以看下计算机控制这本书,讲的很通俗易懂,结合编程,尝试,实验,一定会深入的
作者: 快上车    时间: 2018-7-29 07:08
那么电机转速和占空比是成一次函数关系吗
作者: freecqu    时间: 2018-7-29 10:41
国赛大佬开讲啦
作者: 小学生做车来了    时间: 2018-7-29 19:15
快上车 发表于 2018-7-29 07:08
那么电机转速和占空比是成一次函数关系吗

在电机转速达到稳定的时候是成一次关系的,但是需要一个前提条件,外界干扰(可以理解为阻力)恒定。

作者: 快上车    时间: 2018-7-29 20:33
小学生做车来了 发表于 2018-7-29 19:15
在电机转速达到稳定的时候是成一次关系的,但是需要一个前提条件,外界干扰(可以理解为阻力)恒定。

那需要去测这个系数吗?如果不用的话,那么PID怎么把实际速度和期望速度的差,转化成占空比呢?如果需要的话,那系数岂不是一直在变?新手求解答

作者: 小学生做车来了    时间: 2018-7-29 21:25
需要测,这个系数不直接影响你的控制的好坏,但会影响你控制的量纲,我是空转测的
作者: Zeo_Cena    时间: 2018-7-30 12:32
串级我也试过,在空载时,响应非常好,但是放到地上跑时,一直都滞后,后来就放弃了,不懂是不是速度环没调好
作者: 小学生做车来了    时间: 2018-7-30 12:47
Zeo_Cena 发表于 2018-7-30 12:32
串级我也试过,在空载时,响应非常好,但是放到地上跑时,一直都滞后,后来就放弃了,不懂是不是速度环没调 ...

我个人觉得你是pid参数没调对,也有可能是你在调串级时只测了它的空载阶跃响应,没有测它的负载时的响应情况,误导你以为参数调好了,结果跑出来不是那个样

作者: じ~凝眸处    时间: 2018-7-31 10:13
快上车 发表于 2018-7-29 07:08
那么电机转速和占空比是成一次函数关系吗

大致是的





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2