-
平衡原理
一、平衡小车原理
平衡小车是通过两
个电机运动下实现小车不倒下直立行走的多功能智能小
车,
在外
力的推拉下,
小车依然保持不倒下。
这么一说可能还没有很直观
的了解
究竟什么是平衡小车,
不过这个平衡小车实现的原理其实
是在人们生活中的经验
得来的。
如果通过简单的练习,
一般人可以通过自己的手指把木棒
直立
而不倒的
放在指尖上,
所以练习的时候,
需要学
会的两个条件:
一是放在指尖上可以
移动
,
二是通过眼睛观察木棒的
倾斜角度
和
倾斜趋势
(角速度)
。通过手指的移
动去
抵
消
木棒倾斜的角度和趋势,使得
木棒能直立不倒。这样的条件是不可以缺一的,
实际上加入这两个条件,控制过程中就是
负反馈机制。
而世界上没有任何一个
人可以蒙眼不看,
就可以直立木棒的,
因为没有眼睛
的负反馈,就不知道笔的倾斜角度和趋势。这整个过程可以用一个执行式表达:
平衡小车也是这样的
过程,
通过
负反馈实现平衡
。
与上面保持木棒直立
比较则相对简单,
因为小车
有两个轮子着地,
车体只会在轮子滚动的方向上发生
倾斜。控制
轮子
转动
,
抵消
在一个维度上倾斜的趋势便可以保持车体平衡了。
所以根据上述的原理,
通过测量小车的
倾角和倾角速度
控制小
车车轮的加
速度来
消除小车的倾角
。<
/p>
因此,
小车倾角以及倾角速度的测量成为控制
小车直立
的关键。我们的
平衡小车
使用了测量倾角和倾角速度的集成传感器陀螺仪
-MPU6050
二、角度(物理分析
PD
算法)
图
1
图
2
控制平衡小车,使得它作加速运动。这样站在小车上(非惯性
系,以车轮
作为坐标原点)分析倒立摆受力,它就会受到额外的惯性力,该力与车轮的加
速度方向相反,大小成正比。这样倒立摆
(
如图
2)
所受到的回复力为:公式
1
F = mg sin
θ
-ma cos
θ
≈
mg
θ
-mk
1
θ
式
1
中,由于
θ
很小,所以进行了线
性化。假设负反馈控制是车轮加速度
p>
a
与偏角
θ
成正比
,比例为
k
1
。如果比例
k
1
>g
,
(
g
是重力加速度)那么
回复
力的方向便于位移方向相反了
。
而为
了让倒立摆能够尽快回到垂直位置稳定下来,还需要增加阻尼力。增
加的阻尼力与偏角的
速度成正比,方向相反,因此公式
1
可改为:
< br>
F = mg
θ
-mk
1
θ
-mk
2
θ
`
按照上述倒立摆的模型,可得出控制小车车轮加速度的算法:
a =k
1
θ
+k
2
θ
`
式中
θ
为小车角度
,
< br>θ
`
为角速度。
k
1
k
2
都是比例系数
< br>根据上述内容,建立速度的比例微分负反馈控制,根据基本控制理论讨论
小车通过
闭环控制保持稳定的条件
(
这里需要对控制理论有基本了解
p>
)
。
假设外
力干扰
引起车模产生角加速度
x
(
t
)
。沿着垂直于车模地盘方向进行受力分析,可
以得到车模倾角与车轮运动加速度以及外力干扰加速度
a
(
p>
t
)
x
(
t
)
之间的运动方
程。
如图
3
所示。
图
3
在角
度反馈控制中,
与角度成比例的控制量是称为比例控制;
与
p>
角速度成比例的控制量称为
微分控制
(角速
度是角度的微分)
。因此
上面系数
k1
,k2
分别称为
比例
和
微分
控制参数。
其中微分参数相当于
< br>阻尼力,
可以有效抑制车模震荡。
通过微分抑制控制震荡
的思想在后
面的速度和方向控制中也同样适用。
总结控制车模直立稳定的条件如下:
(
1
)能够精确测量车模倾角
θ
的大小和角速度
θ
'
的大小;
(
2
)可以控制车轮的加速度。
上述控制实际结果是小车与地面不是严格垂直,
而是存在一个对
应的倾角。
在
重力
的作用下,
小车会朝着一个方面加速前进
。
为了保
持小车的
静止或者匀速运动
需要
消除
这个安装误差。
在实际小车制作
过程中需要进行
机械调整
和
软
件参数设置
。
另外需要通过软件中的速
度控制来实现速度的稳定性。在小车角度控制中出现的小车倾角偏
差,
< br>使得小车在倾斜的方向上产生加速。
这个结果可以用来进行小车
< br>的速度控制。下面将利用这个原理来调节小车的速度。
三、测速(物理模型
建立数学模型
传递函数
PD
算法)
假设小
车在上面
直立控制调节
下已经能够保持平衡了,
但是由于
安装误差,
传感器实际测量的角度与车模角度
有偏差,
因此小车实际
不是保持与地面垂直,
< br>而是存在一个倾角。
在重力的作用下,
小车就
会
朝倾斜的方向加速前进
。
控制速度
只要通过控制小车的倾角就可以
实现了。具体实现需
要解决三个问题:
(
1
)如何测量小车速度?
(
2
)如何通过小车直立控制实现小车
倾角的改变?
(
< br>3
)如何根据速度误差控制小车倾角?
第一个问题
可以通过安装在电机输出
轴上的
光码盘
来测量得到
小车的车轮速
度。
如图
4
所示。
利用控制单片机的
计数器
测量在固定
时间间隔内速度
脉冲信号的个数
可以反映电机的转速
。
图
4
第二个问题
可以通过角度控制给定值来解决。
给定小车直立控制
的设定
值,
在角度控制调节下,
小车将会自动维持在一个角度。
通过
前面小车直立控制算法可以知道,小车倾角最终是跟踪重力加速度
Z
轴的角度。因此小车的
倾角给定值<
/p>
与
重力加速度
Z
轴角度
相减,便可
以最终决定小车的
倾
角
第三个问题
分析起来相对比较困难
,
远比直观进行速度负反馈分
析复杂。
首先对一个简单例子进行分析。
假设小车开始保持静止,
然
p>
后增加给定速度,
为此需要小车往前倾斜以便
获得加速度
。
在小车直
立控制下,<
/p>
为了能够有一个往前的
倾斜角度
,
车轮需要
往后
运动,
这
样会引起车轮速度下降(因为车轮往负方向运动了)。由于负反馈,
< br>使得小车往前倾角需要更大。
如此循环,
小车很快就会<
/p>
倾倒
。
原本利
用
负反馈进行速度控制反而成了“正”反馈。
为什么负反馈控
制在这儿失灵了呢?原来在直立控制下的小车
速度与小车倾角之间传递函数具有
非最小相位
特性(在此省略了分
析),在反馈控
制下容易造成系统的
不稳定性
。
p>
为了保证系统稳定,
往往取的小车倾角控制
时间常数
Tz
很大。
这
样便会引起系统产生两个共轭极点,
而且极点的实部变得很小,
使得
系统的速度控制会产生的
震荡现象
。
这个现象在实际
参数整定
的
时候
可以观察到。那么如何消除速度控制过程中的震荡呢?
要解决控制震荡问题,在前面的小车角度控制中已经有了经验,
那就是在控制反馈中增加
速度微分控制
。
但由于车轮的速度反馈信号
中往往存在着
噪声
,对速度进行微分运算会进一步加大噪声的影响。
为此需要对上面控制方法进行
改进
。
原系统中倾角调整过程时间常数
往往很大,
因此可以将该系统近似为一个
积分环节
。
将原来的
微分环
节和这个积分环节合并,
形成一个比例控制环节
。
这样可以保持系统
控制传递函数不变,同时避免了微分计算。
但在控制反馈中,
只是使用反馈信号
的
比例和微分
,
没有利误差
积分,
所以最终这个速度控制是
有残差的控制
p>
。
但是直接引入误差积
分控制环节,
会增加系统的复杂度,
为此就不再增加积分控制,
而是
通过与
角度控制
相结合后在进
行
改进
。
要
求小车在原地停止,速度为
0
。但是由于采用的是
比例控制
,
如果此时陀螺仪有
漂移
,
或者加速度传感器安装有误差,
最终小车倾
角不会最终调整到
0
,小
车会朝着倾斜的方向恒速运行下去。注意此
时车模不会像没有速度控制那样加速运行了,
但是速度不会最终为
0
。
为了消除这个误差,
可以将小车倾角设定量直接积分补偿在角度控制
输出中,
这样就会彻底消除速度控制误差。
第二
点
,
由于加入了
速度
< br>控制
,
它可以补偿陀螺仪和重力加速度的
漂移和误差
。
所以此时重力
加
速度传感器实际上没有必要了。
此时小车在控制启动的时候,需要保持小车的垂直状态。此时
陀螺仪的积分角度也初始化
为
0
。当然如果电路中已经包括了重力加
速度传感器,
也可以保留这部分,
从而提高小车的稳定性。<
/p>
在后面的
最终给定的控制方案中,保留了这部分的控制回路。
p>
四、转向控制(
PD
算法)
通过左
右电机
速度差
驱动小车转向消除小车距离道路中心的偏
差。
通过调整小车的方向,
再加上车前行运动,
可以逐步消除小车距
离中心线的距离差别。
这个过程是一个
积分过程
,
因此小
车差动控制
一般只需要进行
简单的比例控制
就可以完成小车方向控制。
但是由于
小车本身安装有电池等
比较重的物体,
具有很大的
转动惯量
,
在调整
过程中会出现小车转向
过冲
p>
现象,
如果不加以
抑制
,
会使得小车过度
转向而倒下。
根
据前面
角度
和
速度
控制的经验,
为了消除小车方向控
制中的过冲,需要增加<
/p>
微分控制
。
五、全方案整合
通过上
面介绍,
将车模直立行走主要的控制算法集中起来,
如图
5
图
5
为了实现小车
直立行走
,需要采集如下
信号:
(
1
)小车
倾角速度
陀螺仪信号,获得小车的倾角和角速度。
(
2
)
重力加速度信号
(
< br>z
轴信号),补偿陀螺仪的漂移。该信号可以省略,有速度控制替
代。
(
3
)
p>
小车电机
转速脉冲信号
,获得小车运动速度
,进行速度控制。
(
4
)
p>
小车转动速度陀螺仪信号
,
获得小车转向<
/p>
角速度
,
进行方向控
制。
在小车控制中的
直立、速度
和
方向
控制三个环节中,都使用了
比
例微分
(
PD
)
控制
,
这三种控制算法
的输出量最终通过
叠加
通过电机
运动来
完成。
(
1
)小车直立控制:使用小车倾角的
PD
(比例、微分)控制;<
/p>
-
-
-
-
-
-
-
-
-
上一篇:航海英语---标准海事通信用语2
下一篇:Matlab捷联惯导