双轮自平衡智能车行走伺服控制算法设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制原理课程设计
目录
一.引言 (4)
二.系统模型的建立 (4)
三.系统控制的优化 (9)
3.1 PID调节参数的优化 (9)
3.2 积分分离PID的应用 (13)
四,结语 (16)
双轮自平衡智能车行走伺服控制算法
摘要:全国第八届“飞思卡尔”智能汽车大赛已经结束。光电组使用大赛提供的D车模,双轮站立前进,相对于以前的四轮车,双轮车的控制复杂度大大增加。行走过程中会遇到各种干扰,经过多次的实验,已经找到了一套能够控制双轮车的方法。双轮机器人已经广泛用于城市作战,排爆,反恐,消防以及空间消防等领域。实验使用单片机控制双电机的转速,达到了预期的效果。
关键词:自平衡;智能;控制算法
Motion Servo Control Algorithm for Dual
Wheel Intelligent Car
Abstract: The 8th freescale cup national Intelligent Car competition of has been end.The led team must used D car which has only 2tires.It is more difficult to control prefer to control A car which has 4tires.There is much interference on the track. A two-wheeled robots have been widely used in urban warfare, eod, counter-terrorism, fire control and space fire control and other fields。We has searched a good ways to control it.We used MCU to control the speed of motors and get our gates.
Key Words: balance by self; intelligent; control algorithm
一.引言
双轮自平衡车是智能汽车中一个重要的组成部分。由于其是两轮站立,在很多场合有比四轮车更灵活,更方便控制的特点。基于双轮车的机器人已经用于在城市作战,排爆,反恐,消防,空间探测等领域。
双轮自平衡车的控制过程与倒立摆相似。本次研究主要是对双轮车直立的研究。由于车在前进过程中还可能遇到弯道和路障,所以本文还对整个系统的稳定性做了比较深入的研究。
在理论证明正确的前提下,再次进行仿真验证,仿真验证的结果与实验结果相符合。二.系统模型的建立
智能汽车竞赛使用的是D车模。D 车模是双电机,双轮的车模。单电机控制双轮时可以满足车身保持平衡和前进的要求,而之所以使用双电机是为了前进过程中转弯的需要。本文只讨论跟直立和干扰有关的内容,鉴于此,本文余下内容默认是单电机控制的车模。自平衡车在没有电机控制的情况下属于不稳定系统,在极小的干扰下,就会偏离平衡位置而失去平衡。因此,控制系统必须使用反馈控制。图1是站立在赛道上的双轮车模。
图1 站立在赛道上的自平衡双轮车
自平衡双轮车在只研究直立的情况下与倒立摆相似,因此这里将借助倒立摆的研究方式研究双轮车的平衡控制。
控制车模平衡的主观经验。一般的人通过简单练习就可以让一个直木棒在手指尖上保持直立。这需要两个条件:一个是托着木棒的手可以移动;另一个是眼睛可以观察到木棒的倾斜角度和倾斜趋势(角速度)。通过手掌移动抵消木棒的倾斜角和趋势,从而保持直立。这两个条件缺一不可,实际上就是控制中的负反馈控制,见图2。
图2 在手上不倒的木棍
世界上没有一个天才杂技演员可以蒙着双眼使得木棒在自己指尖上直立,因为没了双眼就没了负反馈的环节。经过简单的分析可以得到图3所示的控制结构图。
图3 不倒的木棍的控制结构图
同样,双轮直立车的控制也是通过负反馈来实现的,与上面保持木棍直立则比较简单。因为车模有2个轮子着地,车体只会在轮子滚动的防线上发生倾斜。控制轮子转动,抵消在一个
维度上倾斜的趋势便可以保持车体的平衡了。如图4,5, 6所示。
图4 车体平衡,车轮静止
图5 车体后倾,车轮向后加速
图6 车体前倾,车体向前加速
将双轮车简化成高度为L,质量为m的简单倒立摆,它可以放置在左右移动的车轮上。
与空气中的单摆类似,车身偏离平衡位置后要想能迅速的回到平衡位置,车身应该受到与位移方向相反的的回复力。
在平衡点附近,角度θ很小,即有sinθ≈θ。假设车身偏离平衡角度后,将受到电机产生的与角度成比例的力:
f = mk1θ(1)
由于重力原因,车身偏离平衡位置后受到的回复力为:
F = mgθ– mk1θ(2)
从上式中可以看出回复力要想与位移相反,必须有k1 > g。假设外力干扰引起车模产生角速度x(t)。沿着垂直于车模底盘的方向进行受力分析,可以得到车模倾角与车轮加速度a(t)以
及外力干扰加速度x(t)之间的的运动
方程。受力分析如图7所示。
图7 车模受力分析
(4)
车模静止不向前运动时,a(t) = 0,即:
(5)
对应车模静止时,系统输入输出的传递函数为:
(6)
此时系统具有2个极。一个极点位于s平面的右半平面,车模不稳定。在此处假设,k1 = 20用matlab仿真此系统:
Matlab代码如下:
%程序目的:在没有微分量的情况下仿
%真系统的阶跃响应
%author:程顺均
%时间:2013.8.28
sys = tf([1], [1 0 100]);
t = 0:0.01:3;
figure(1)
step(sys,t);grid on
仿真截图如图8所示:
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
Time (sec)
A
m
p
l
i
t
u
d
e
图8 比例控制系统的阶跃响应
从图来看,与分析结果一样,系统的阶跃响应为等幅振荡,不稳定。原因是在阶跃响应中没有阻尼,也就是说实际中的车不会倒向一边,而是在平衡位置附近来回震荡。这显然不是我们需要得到的效果。
因此在系统中我们加入为微分量,也就是阻尼。在实际中变现为阻碍车模转动的力,类似于摩擦阻力,大小方向与车身角速度有关。即阻力
(7)
经过拉式变换,得到带阻尼的系统的控制结构图,如图9所示:
图9 加入比例微分反馈控制的系统
系统传递函数为: