发明内容
本发明的目的在于克服现有技术的不足,提供一种提高移动机器人运动精度的控制方法,通过采用智能控制策略,协调移动机器人的两轮运动,来直接减小方向误差,提高系统的运动控制精度。
本发明采用高速数字处理器TMS320LF2407A作为多轴伺服运动控制器,具体实现方法是:
(1)将高速数字处理器TMS320LF2407A初始化,包括控制参数初始化、轮子初始位置检测、变量初始化、系统寄存器初始化。
(2)通过移动机器人的数字编码器获得各个轮子伺服电机的实时运行速度,并将该信息传送至高速数字处理器TMS320LF2407A,在高速数字处理器TMS320LF2407A内部完成针对单个伺服电机位置、速度的控制闭环。
(3)对移动机器人进行运动学建模,得到机器人两个轮子的速度协调关系
v=(vi+vr)/2
ω=(vr-vl)/b
其中,v表示机器人前进线速度,ω表示机器人前进角速度,b表示机器人两个驱动轮之间的轴距,vl和vr表示机器人左、右轮线速度;
(4)高速数字处理器TMS320LF2407A接受到速度控制指令vl和vr后,根据步骤(3)建立的运动学摸型,利用交叉耦合技术得到两个单独伺服电机控制闭环的位置误差;通过位置误差,利用模糊逻辑技术获得瞬时每个单独伺服电机控制闭环的校正控制量;利用校正控制量对两个单独伺服电机控制闭环的速度控制指令进行修改;利用修改后的速度控制指令控制机器人前进的线速度v和角速度ω。
交叉耦合的具体方法是:设定机器人左右轮交叉耦合控制增益分别为gl、gr,则最终控制的理想状态为glvl=grvr;如果控制系统存在干扰因素,则两个单独伺服电机控制闭环的位置误差为e,e=grvr-glvl。
模糊逻辑技术的具体方法是:将位置误差e和位置误差变化率
作为输入变量,设定每个单独伺服电机控制闭环的校正控制量为c,则
其中
f(.)为非线性函数。
对两个单独伺服电机控制闭环的速度控制指令vl和vr进行修改的方法具体是:
v′l=vl-c
v′r=vr+c
其中,v′l、v′r分别为修改后的左、右轮速度控制指令。
(5)重复进行步骤(3)和(4),完成移动机器人连续运动控制。
本发明采用基于模糊逻辑的交叉耦合控制技术,通过比较机器人的左轮和右轮的码盘反馈信息,产生校正信号使得速度较快的轮子速度下降,而速度较慢的轮子速度提高,最后达到左轮和右轮的动态性能匹配。即使存在内部参数不匹配或外部干扰的情况下,左轮和右轮的速度响应也能够得到良好地匹配。
本发明采用交叉耦合控制技术和模糊控制技术。交叉耦合控制结构将整个受控系统作为一个单独的控制对象,通过考虑各轴之间的相互动力学影响,来实现多轴之间的动态匹配,从而提高运动控制的精度。模糊控制是以模糊集合论、模糊语言变量以及模糊逻辑推理为基础的一种计算机控制方法。它在一定程度上模仿了人的控制思想,其中包含了人的控制经验和知识,它不需要有准确的控制对象模型,是一种典型的智能控制。模糊控制的独特之处就在于,在系统数学模型未知的情况下成功地完成任务,甚至是复杂的非线性系统。本发明较以前的单独闭环控制,具有实质性特点和显著进步,而且基于原有系统设备的基础上,易于改进和实现。
具体实施方式
移动机器人运动高精度控制方法采用高速数字处理器TMS320LF2407A作为多轴伺服运动控制器,在不添加额外检测电路的基础上,通过智能控制技术来提高移动机器人运动的控制精度,具体实现方法是:
(1)将高速数字处理器TMS320LF2407A初始化,包括控制参数初始化、轮子初始位置检测、变量初始化、系统寄存器初始化。
高速数字处理器TMS320LF2407A作为多轴伺服运动控制器,需要完成多轴伺服运动控制。因此,对于每个运动控制闭环的控制参数都需要事先完成参数校正,实现每个控制闭环的性能优化。同时,还要初始化整个系统运行所需的交叉耦合参数、模糊逻辑输入输出量化因子等参数。高速数字处理器TMS320LF2407A也需要对自身的端口控制器以及其它配置参数进行初始化,才能保证系统的正确运行。
(2)通过移动机器人的数字编码器获得各个轮子伺服电机的实时运行速度,并将该信息传送至高速数字处理器TMS320LF2407A,在高速数字处理器TMS320LF2407A内部完成针对单个伺服电机位置、速度的控制闭环。
每个伺服电机均配有一套高精度数字编码器,利用该数字编码器可以获得伺服电机的实时运行速度。当和高速数字处理器TMS320LF2407A进行连接时,可以利用高速数字处理器TMS320LF2407A的片上正交编码单元来对数字编码器的数字输出信号进行四倍频处理。通过单元转换,高速数字处理器TMS320LF2407A可以获得当前伺服电机的实时运行位置和速度。在和参考命令进行比较后,利用各种智能控制策略(如PID控制),即可在高速数字处理器TMS320LF2407A内部完成单轴的闭环伺服控制,即针对单个伺服电机完成位置、速度控制闭环。
(3)对移动机器人进行运动学建模,得到机器人两个轮子的速度协调关系
v=(vl+vr)/2
ω=(vr-vl)/b
其中,v表示机器人前进线速度,ω表示机器人前进角速度,b表示机器人两个驱动轮之间的轴距,vl和vr表示机器人左、右轮线速度;
对移动机器人进行运动学建模,不需要考虑系统所受的外部力量,如惯性力、外部驱动力、摩擦力等,而是从速度的角度来考虑整个移动机器人的运动协调关系,并在此基础上实现交叉耦合控制技术,提高系统的运动控制精度。
(4)高速数字处理器TMS320LF2407A接受到速度控制指令vl和vr后,根据步骤(3)建立的运动学摸型,利用交叉耦合技术得到两个单独伺服电机控制闭环的位置误差;通过位置误差,利用模糊逻辑技术获得瞬时每个单独伺服电机控制闭环的校正控制量;利用校正控制量对两个单独伺服电机控制闭环的速度控制指令进行修改;利用修改后的速度控制指令控制机器人前进的线速度v和角速度ω。
交叉耦合的具体方法是:设定机器人左右轮交叉耦合控制增益分别为gl、gr,则最终控制的理想状态为glvl=grvr;如果控制系统存在干扰因素,则两个单独伺服电机控制闭环的位置误差为e,e=grvr-glvl。
模糊逻辑技术的具体方法是:将位置误差e和位置误差变化率
作为输入变量,设定每个单独伺服电机控制闭环的校正控制量为c,则
其中
f(.)为非线性函数。
对两个单独伺服电机控制闭环的速度控制指令vl和vr进行修改的方法具体是:
v′l=vl-c
v′r=vr+c
其中,v′l、v′r分别为修改后的左、右轮速度控制指令,c为单独伺服电机控制闭环的校正控制量,也是由模糊控制系统的输出量。
根据系统的运动学模型,可以得到轮式移动机器人的左、右轮速度协调关系。通过高精度编码器可以实时获取每个驱动轮的运行位置和速度,设定机器人左右轮交叉耦合控制增益分别为gl、gr,则根据交叉耦合控制思想,系统最终控制的理想状态为glvl=grvr。如果控制系统存在着内部干扰或者外部干扰因素,则系统控制着位置误差e,e=grvr-glvl。控制系统的设计思想就是通过交叉耦合控制思想,获得多轴之间的匹配误差,通过智能控制技术,如模糊逻辑、专家系统等,来实现系统的控制误差为零,达到系统最终控制的理想状态glvl=grvr,同时保证系统控制的快速性与稳定性。
为了获得快速稳定的闭环控制,提高系统的抗干扰能力,用来校正两个单独伺服闭环控制的校正量,即交叉耦合控制器所生成的校正控制量,可以采用智能模糊控制技术来实现。该智能模糊控制器包括输入变量、输出变量以及49条规则库等。为了将该模糊交叉耦合控制算法得以在嵌入式系统中应用,可将该模糊控制器进行离散化,具体实现可以通过Matlab软件里面的fuzzy inference工具包获得。采用模糊控制技术,不仅能够提高系统的控制精度,还能提高系统的快速反应能力,使得整个系统的动态控制性能达到优化。在获得了模糊交叉耦合控制算法的离散形式后,在高速数字处理器TMS320LF2407A中,可以通过查表法进行实现。这样,也大大提高了嵌入式控制系统的运行速度,进一步保证了系统的快速控制性能。
利用模糊逻辑交叉耦合控制器获得瞬时对每个控制闭环的校正控制量,然后施加到两个独立闭环的控制参考量上,即左右轮闭环控制参考量vl、vr。这样,就可以克服由于系统不匹配的闭环增益和控制参数、控制闭环上的不同外部干扰以及打滑等因素导致的系统运动精度过低,并可提高非线性轨迹跟踪控制的实时性。
(5)重复进行步骤(3)和(4),完成移动机器人连续运动控制。