自动驾驶运动控制算法分类(运动控制核心算法)(1)

舵轮AGV可以通过调整两个舵轮的角度及速度,可以使小车在不转动车头的情况下实现变道,转向等动作,甚至可以实现沿任意点为半径的转弯运动,有很强的灵活性。 因此在AGV行业,这种驱动方式应用很广,但是目前能做好控制的厂家并不多。不容置疑,这一点上凤凰动力应该是国内做的比较好的厂家。

该种AGV,一般包含两个舵轮,通常布置在AGV车体中心前后、或AGV车体对角分布。如图:

自动驾驶运动控制算法分类(运动控制核心算法)(2)

本文将以在车体中心前后分布方式的AGV为例,进行分析。

自动驾驶运动控制算法分类(运动控制核心算法)(3)

大家都知道舵轮的参数有线速度大小、角速度大小、舵向值(v,w,a)三个参数(舵轮线速度方向一定等于舵向值)。同时我们控制双舵轮AGV去跟随路劲的时候,导航算法控制器也会给AGV下发线速度大小、线速度方向、角速度(不同于差速轮AGV,舵轮AGV可以全向行走,因此线速度方向是可以不同于AGV的航向角的,本文假设的线速度方向相对于AGV航向角),然后AGV舵轮驱动算法,将根据导航算法下发的三个参数来解算两个舵轮的三个参数。

我们可以将该AGV简化成两个舵轮旋转中心支点刚性连接的情况,以两舵轮旋转中心点来计算AGV线速度和角速度。

已知导航算法下发给AGV中心点的参数为(V,W,A),两舵轮之间的距离D,求舵轮1的参数(V1,W1,A1),舵轮2的参数(V2,W2,A2)。如下图:

自动驾驶运动控制算法分类(运动控制核心算法)(4)

我们其中W=W1=W2

第一步

已知参数(V,W,A),求AGV的旋转半径。

自动驾驶运动控制算法分类(运动控制核心算法)(5)

根据A可知旋转半径与AGV中心点速度的几何关系,如下图所示:

自动驾驶运动控制算法分类(运动控制核心算法)(6)

第二步

由于两个舵轮旋转中心支点与AGV是刚性连接,所以两舵轮的中心支点必定与AGV旋转中心同心。 将AGV旋转中心与两舵轮旋转中心点连接,如下图:

自动驾驶运动控制算法分类(运动控制核心算法)(7)

这里问题变成了,已知A、R,求R1,R2,A1,A2;(提示简单的三角几何计算);

自动驾驶运动控制算法分类(运动控制核心算法)(8)

自动驾驶运动控制算法分类(运动控制核心算法)(9)

R1、R2、A1、A2就算到这里。

第三步

自动驾驶运动控制算法分类(运动控制核心算法)(10)

ENJOY THE PROCESS

由于 r=v/w,W1=W2=W

所以 V1=V*(R1/R);V2=V*(R2/R)

第四步

自动驾驶运动控制算法分类(运动控制核心算法)(11)

ENJOY THE PROCESS

将V1、V2、A1、A2分别解算出来,下发给两舵轮控制器,双舵轮AGV就可以按照你的导航算法去运动了。

自动驾驶运动控制算法分类(运动控制核心算法)(12)

先讲到这一步,面对问题,工程师需具备独立思考的能力,主动探索解决问题的方法。

另外,双舵轮的里程计,也可以根据此文章,倒推计算出来。

注:文章来源乡下老农,版权归原作者所有,侵删

往期回顾

● 凤凰动力——高空作业平台下的绿色驱动

● CeMAT ASIA 2021丨不忘初心 砥砺前行

●【新品】inagv®全向曲轴重载双轮脚轮,重载AGV好拍档,单只额定载荷2吨

● 重磅!重重载!新技术应用

● 凤凰动力—智能无人化AGV中的“智慧行驶”

●【技术干货】这么全的AGV小车底盘配置及控制方案赶快收藏!

自动驾驶运动控制算法分类(运动控制核心算法)(13)

自动驾驶运动控制算法分类(运动控制核心算法)(14)

,