本发明涉及两轮差速控制技术领域,具体涉及一种两轮差速控制无级平衡标定方法。
背景技术:
两轮差速控制有很多实际应用场景,如移动机器人、电动小车、平衡车等等。两轮差速控制系统结构简单,既不需要专门的转向机构,也不需要为车轮和车轴预留太多空间。因此,两轮差速控制系统简单廉价实用,拥有非常广阔的市场。
两轮差速控制一般使用直流电动机,采用直流电机h桥式电机驱动电路,通过脉冲宽度调制(pwm)调速。为了提高控制精度,需要对电动机进行闭环控制,所以一般有刷电动机需要加装旋转正交编码器。
如图1所示的h桥式电机驱动电路包括4个三极管和一个电机,因其外形酷似字母“h”,所以称作h桥驱动电路。要使电机m运转,必须使对角线上的一对三极管导通。例如图2和图3所示,当q1管和q4管导通时,电流就从电源正极经q1从左至右穿过电机,然后再经q4回到电源负极,电机顺时针转动;当三极管q2和q3导通时,电流将从右至左流过电机,驱动电机逆时针方向转动。如图4所示,完整的晶体管h桥驱动电路,pwm1、pwm2为电机方向控制输入端,pwm1=1,pwm2=0时正转,pwm1=0、pwm2=1时电机反转。pwm1、pwm2同时也是电机调速的脉宽输入端。
晶体管是最为廉价的控制方法,但在晶体管上有明显的压降,会产生功率的损耗,效率不高,适宜应用在低电压、小功率的场合。如图5所示的场效应管组成的h桥驱动电路,该电路的功能:s1闭合,电机正转;s1断开,电机反转;s2闭合,电机转;s2断开,电机停。场效应管是效率最高的控制方式,但价格较高,通常应用在大功率电机驱动场合。
技术实现要素:
现实使用中,两轮差速控制系统存在生产安装不可能完全一致的问题,因此两个车轮在实际使用时会有些许偏差。两轮之间的不同偏差程度会产生不同运动状态,这种结果会严重影响基于车辆模型进行智能控制的精度。鉴于此,本发明提供了一种两轮差速控制无级平衡标定方法,通过对两轮之间的旋转速度误差进行补偿,来提高车辆直线运动的精度,进而改善基于车辆差速驱动运动学模型进行智能控制的效果。
在现有技术中,即使相同的生产线生产的两个设备,也不可能完全相同;再加上安装设备、轮毂尺寸、轮胎尺寸和变形等,都会导致两个车轮在实际使用时会有些许偏差,两轮之间的不同偏差程度会产生不同运动状态,这种结果会严重影响基于车辆模型进行智能控制的精度。通过对两轮之间的误差进行补偿,以提高车辆直线运动的精度,通过采用本发明所述的两轮差速控制无级平衡标定方法,可以明显提高车辆直线运动精度,进而改善基于车辆模型进行智能控制的效果。
为了实现上述目的,本发明采用如下技术方案。
一种两轮差速控制无级平衡标定方法,应用于两轮差速控制系统,所述两轮差速控制无级平衡标定方法通过对两轮之间的旋转速度误差进行补偿,来提高车辆直线运动的精度,进而改善基于车辆差速驱动运动学模型进行智能控制的效果。所述两轮之间的旋转速度误差补偿,是通过累计每一个控制周期中无法执行的控制精度偏差,当这种累计的偏差达到可控制精度时,进行补偿,以实现将系统偏差控制在数据可以表达的精度内。
优选的是,所述两轮之间的旋转速度误差补偿,采用的无级平衡补偿计算式:
deviation0=0;
realvalue=refvalue*ratio;
value=[realvalue+deviationi-1];
deviationi=realvalue-value;
其中,deviation表示偏差;
deviation0表示初始偏差;
realvalue表示期望值;
refvalue表示参考值;
ratio表示比例系数;
value表示输出值;
[realvalue+deviationi-1]表示将期望值和累计到目前的偏差相加,然后取整;
deviationoi表示累计到目前的偏差。
在上述任一技术方案中优选的是,所述累计的偏差还包括且不限于四舍五入、向上取整、向下取整的方式,且结果类似。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中h桥式电机驱动电路结构示意图;
图2为现有技术中h桥电路驱动电机顺时针转动示意图;
图3为现有技术中h桥电路驱动电机逆时针转动示意图;
图4为现有技术中晶体管h桥驱动电路结构示意图;
图5为现有技术中场效应管组成的h桥驱动电路结构示意图;
图6为现有技术中车辆差速驱动运动学模型示意图;
图7为按照本发明的两轮差速控制无级平衡标定方法的一优选实施例的固定补偿和无级平衡的比较示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服两轮差速控制系统在现有技术中所存在的两轮偏差影响基于车辆模型进行智能控制的精度问题,本发明实施例提出一种两轮差速控制无级平衡标定方法,通过对两轮之间的误差进行补偿,以提高车辆直线运动的精度,进而改善基于车辆模型进行智能控制的效果。
如图6所示的车辆差速驱动运动学模型,其差速驱动运动常用量如表1所述,
表1
则
(1)左右轮线速度:
(2)左右轮旋转距离:
sl=vl*t,
sr=vr*t,
(3)车速:
(4)旋转角速度:
(5)旋转角度:
由此可见,两轮差速驱动运动的位姿和运动信息都可以通过编码器和时间计算得到。因此,只要精确控制产生编码器信息的电动机,即可实现对车辆位姿和运动的精确控制。
为了保证两轮差速运动系统直线运动,从上述车辆差速驱动运动学模型可知,只需要保证两轮旋转速度相同即可,也就是编码器的值以相同速度变化。但是因为误差的存在,使得两轮即使旋转速度相同,在行驶距离达到20米后,误差已经比较大,以至于无法获取准确的位姿信息,从而无法进行精确控制。
两轮差速控制无级平衡标定方法就是通过对两轮之间的误差进行补偿,以提高车辆直线运动的精度,也是进行曲线运动控制的基础。
从理论上来说,只需要以一个电动机为参考,调整另一个电动机的速度即可。但是,通过编码器值进行闭环控制时,编码器是离散值,如果只是以变换控制周期进行固定补偿,虽然能够减小整体的固定偏差,但是随着时间的延长,这种固定偏差还是会累积。而为了获得较高的控制精度,随着控制频率的提高和控制周期的累积,这种固定偏差无疑会产生比较大的系统偏差。
本发明实施例的两轮差速控制无级平衡标定方法,通过累计每一个控制周期中无法执行的控制精度偏差,当这种累计的偏差达到可控制精度时,进行补偿,以实现将系统偏差控制在数据可以表达的精度内。
本发明实施例的两轮差速控制无级平衡标定方法,一般来说,数据采用单精度或双精度浮点数即可。
本发明实施例的两轮差速控制无级平衡标定方法,所采用的无级平衡补偿计算方法包括:
deviation0=0;
realvalue=refvalue*ratio;
value=[realvalue+deviationi-1];
deviationi=realvalue-value;
其中,deviation表示偏差;
deviation0表示初始偏差;
realvalue表示期望值;
refvalue表示参考值;
ratio表示比例系数;
value表示输出值;
[realvalue+deviationi-1]表示将期望值和累计到目前的偏差相加,然后取整;
deviationi表示累计到目前的偏差。
固定补偿和无级平衡的比较如表2和图7所示,采用四舍五入方式取整。累计偏差可以控制在取整时的偏差范围以内。也可以用其它方式取整,例如向上取整,向下取整,结果类似。采用固定补偿时,累计偏差等于一个周期中的偏差乘以周期数。因此,12个周期后,固定补偿的累计偏差为(11-10.7)*12=3.6;而采用无级平衡后,参考表中的数据可知累计偏差为0.4,且该偏差不会根据时间累积,最大为0.5。
表2
采用本发明实施例的两轮差速控制无级平衡标定方法,对两轮之间的误差进行补偿,通过累计每一个控制周期中无法执行的控制精度偏差,当这种累计的偏差达到可控制精度时,进行补偿,以实现将系统偏差控制在数据可以表达的精度内。通过上述具体实施方法可以看出,采用两轮差速控制无级平衡标定方法,可以明显提高车辆直线运动精度,进而改善基于车辆模型进行智能控制的效果。一般在未标定的情况下,控制车辆向前行驶20米,横向误差可达2米,转向误差可达10°。通过无级平衡标定后,20米横向误差可控制在0.5米以内,转向误差可控制在2°以内。
以上所述仅是对本发明的优选实施方式进行描述,并非是对本发明的范围进行限定;以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围;在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的任何修改、等同替换、改进等,均应落入本发明的权利要求书确定的保护范围内。