赞
踩
我们在控制移动机器人时,比较核心和基础的问题是机构的运动学建模,一般常规可看到的AGV都是差速轮的机构,此种机构控制较为简单,运动学算法也很容易。 但是此种结构的AGV不适合在重载的场合,抗打滑的性能也较为不理想。双舵轮的AGV能有效的弥补上述问题,这种双舵轮的AGV一般使用对角安装的方式安装,具有很高的灵活性,不仅承载能力强,而且可以全向移动,是一种非常不错的重载AGV机构方案,在AGV行业应用很广泛。
但是这种AGV的运动控制难度比差速AGV的控制难度增加很多,如果建模不好,就会出现两个轮子不协调从而出现相互拉扯现象,导致无法运动。
这种AGV的机械机构安装如下图所示:
我们在开发差速结构AGV的SLAM导航控制系统的时候,SLAM导航控制器进行一系列的运算后,会得到本体的角速度和线速度,然后通过运动学解算分别计算出两个电机的速度控制量,得到电机的速度控制量后,再将控制量发送给电机驱动器从而控制AGV按照指定路线运动。对于舵轮AGV来说,控制的流程是一样的,不同的是因为双舵轮AGV可以全向移动,因此导航控制系统除了计算角速度和线速度外,还会计算运行角度(记为body_v、body_w、body_a)。另外舵轮的控制参数有线速度、角速度、舵向角(记为steer_v、steer_w、steer_a)三个参数,因此运动学算法的关键是解决如下问题:
即运动学逆运算。
任何机构需要满足运动约束,双舵轮的运动约束条件为两个舵轮的位置相对是固定的,任何运动不能造成两个舵轮的间距发生改变,即我们可以认为两舵轮的连接是刚性连接的,运动建模如下所示:
上图中绿色部分是已知的变量,黄色部分是需要求解的变量。整个运动需要满足如下条件:
通过这几个约束条件,再加上机构的几何约束,求解就变得很容易了,网络上有不少的资料参考。
利用本文的建模方法,已在实际工程中开发了可用的AGV控制系统,贴一张控制系统的部分截图,下图中的数据输入是body_v/body_w和body_a。
需要特别注意的是:双舵轮的运动学有逆解,但是不一定有正解,这一点在实际工程中需要特别注意。另外在设计控制系统的时候,要注意舵轮的舵向角控制是有滞后的,这一点也要注意,否则会因为舵向控制不及时而导致整车的剧烈震动。
PS:
转载本文请注明出处。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。