平衡车控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两轮自平衡机器人控制系统的设计(转)
2008年06月27日星期五 20:45
1 引言
近年来,随着移动机器人研究不断深入、其应用领域更加广泛,面临的环境和任务也越来越复杂。有时机器人会遇到比较狭窄,而且有许多大转角的工作场合,如何在这样的环境里灵活快捷的执行任务,成为人们颇为关心的一个问题。两轮自平衡机器人概念就是在这样的背景下提出来的,这种机器人两轮共轴、独立驱动,车身重心倒置于车轮轴上方,通过运动保持平衡,可直立行走。由于特殊的结构,其适应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。以前对于两轮自平衡机器人的运动控制的研究,理论上取得了许多开创性的进展,但这样的算法依赖于精确的模型和完整的信息,大多停留在理论研究和仿真的阶段实际,应用中并不多见。大部分实际应用的移动机器人左右轮的运动控制都是基于双闭环的电机控制,直接将电压作为控制量,利用模拟电子电路进行控制[1]。这样控制策略存在着精度低、可靠度差、效率低等缺点。
本文针对两轮自平衡机器人在实际应用中存在的问题,应用最优控制及两轮差动等控制方法设计了控制器,提出了针对两轮自平衡机器人平衡和行进的新策略。为了提高两轮自平衡机器人的控制效果,利用基于DSP数字电路的全数字智能伺服驱动单元IPM100分别精确控制左右轮电机,并利用上位机实时控制机器人的运动状态,提高了控制精度、可靠度以及集成度,最终得到了很好的控制效果。
2 两轮自平衡机器人的动力学模型
两轮自平衡机器人的结构主要由车身和双轮构成,机器人两轮参数(质量、转动惯量、半径)相同、共轴、独立驱动,车身重心倒置于车轮轴上方,通过运动保持平衡,可直立行走。车轮不但受电机的输出转矩、地面支持力、摩擦力的影响,同时还通过电机轴受到机器人车身作用力[2][3]。机械结构如图1
所示:
图 1两轮自平衡机器人机械结构图
分别以车轮、车身为研究对象,分别列出车轮、车身方程,左右两轮具有对称性,左轮方程为:
(1)
m ——车轮质量(kg);
J ——电机转子及车轮等效在电机轴上的转动惯量( );
r ——车轮半径(m);
w
L
——左轮转速(rad/s);
T
mL
——左轮电机电磁转矩( )
H
L
——左轮承受的车身水平作用力(N);
由车身得到方程:
(2)
n
v 、 a
v
——分别为质心水平、竖直位移;
V 、 H ——分别为车轮从水平、竖直方向施加给车身的力(N);
l——质心距车轮轴距离;
——车身竖直倾角;
m
p
——车身重量;
两轮自平衡机器人平衡后,可假设车身倾角在±5范围内。取近似(sin = ,cos =1),将式(1)代入式(2),得到车身前进运动模型
(3)
这样我们建立了关于角度和加速度微分方程。
3两轮自平衡机器人的控制系统设计
3.1控制系统的硬件设计
两轮自平衡机器人Opyanbot的硬件主要由电源管理模块、测量单元、运动控制单元、伺服电机和主控机组成,如图2所示。
图 2:两轮自平衡机器人硬件结构图
电源管理模块提供各单元所需电压;测量单元包括倾角传感器、陀螺仪和电机码盘,分别测量机器人竖直倾斜角度、竖直水平转动角速度和两个电机各自的位置和转速,测量单元将数据传入运动控制单元。运动控制单元是基于DSP的IPM100全数字智能伺服驱动单元,内嵌高水平的Technosoft运动语言,可以按照内部EEROM的程序独立运行,或者在主控制器的监督下利用串口通讯运行命令程序,通过内设闭合电流环、位置环和电流环,精确控制伺服电机的工作状态,如图3所示;
图 3:IPM100 闭环控制方框图
主控机内写有控制算法模块和指令模块,可以通过RS485实时采集由运动控制单元传入的测量信号,并向运动控制单元发送命令。
3.2 控制算法的设计
3.2.1平衡控制
两轮自平衡机器人是一个多输入、单输出系统,分别以机器人竖直角度、竖直方向角速度和电机转速为输入,车轮转动角加速度为输出,
由上面得到的微分方程,得出状态方程:
(4)其中:
(5)
利用线性系统的可控性秩判据rank(B AB A2B)=3,系统可控;利用线性系统的可观性秩判据rank(C CA CA2)=3,系统可观。因此近似线性化系统状态完全可控可观,系统满足最有控制使用条件。[4]
下面我们应用LQR 控制算法对其进行计算,设最优控制向量的矩阵K:
(6) u
是满足两轮自平衡机器人处于平衡状态的加速度,这样就得到了满b(t)
足平衡控制要求的控制量。
3.2.2 直行、转弯控制
两轮自平衡机器人的其他运动(直行、转弯),都是在这个控制量的基础上进行加减。具体控制方法如图4所示:
图 4:两轮自平衡机器人控制结构图
机器人的行进,是在机器人平衡的基础上,通过给两轮增加相同的控制
量u
s 来实现的。由于两轮分别独立驱动,即便获得同样的直行信号u
s
,也不能
保证两轮行进速度始终相同,行进路线保持直线,这样就需要机器人对于行进方向具有自动校正能力。
机器人直线行走模型是一个双输入、单输出系统,输入它与水平转速和两轮行进距离的差成线性关系:
(7)
水平转速可以通过陀螺仪的水平分量得到,两轮行进距离可以通过编码
器读到,利用最优控制算法同样可以得到系数h
1、h
2
的值,从而得到用于校正行
进方向的输出的。
机器人的转向运动,可以通过两轮差动方法实现,分别给左右两轮加上一对大小相同、方向相反的控制量u
r
。
这样就可以得到两轮自平衡机器人总输出:
(8)
3.3 机器人运动的精确控制