发布时间:2023-04-19 文章分类:电脑基础 投稿人:樱花 字号: 默认 | | 超大 打印

阿克曼模型推导

一、序论

1.1 研究目的

运动学是从几何学的角度研究物体的运动规律,包括物体在空间的位置、速度等随时间而产生的变化,因此,车辆运动学模型应该能反映车辆位置、速度、加速度等与时间的关系。在车辆轨迹规划过程中应用运动学模型,可以使规划出的轨迹更切合实际,满足行驶过程中的运动学几何约束,且基于运动学模型设计出的控制器也能具有更可靠的控制性能。

1.2 自行车模型

车辆控制研究中,建立模型应尽可能使模型简单易用,且能真实反映车辆特性,搭建车辆模型多基于单车模型,使用单车模型需做如下假设:

其中,O 为OA、OB的交点,是车辆的瞬时滚动中心,线段OA、OB分别垂直于两个滚动轮的方向;β为滑移角,指车辆速度方向和车身朝向两者间所成的角度,ψ为航向角,指车身与X轴的夹角。

一般情况下,我们不考虑车辆滑移,β默认为0

1.3 运动学与动力学模型

自行车运动学与动力学公式推导

二、阿克曼模型

2.1 阿克曼转向几何

(1)参数定义

阿克曼转向几何(Ackerman Turning Geometry)是一种为了解决交通工具转弯时,内外转向轮路径指向的圆心不同的几何学。

车轮偏角定义:
无人驾驶-控制-阿克曼模型
阿克曼转向几何:

阿克曼中转弯半径R是重要参数

无人驾驶-控制-阿克曼模型

(2)转弯半径R

低速环境下,车辆行驶路径的转弯半径变化缓慢,此时我们可以假设车辆的方向变化率等于车辆的角速度。则车辆的角速度为
无人驾驶-控制-阿克曼模型

其中,利用弧长与角度关系,可得到 1/R = δ/L:
无人驾驶-控制-阿克曼模型
则,可求得半径R:

R = L / δ,其中 δ为前轮转角,也是车辆绕圆心点转过的角度

2.2 利用半径R更新车辆位置

利用转弯半径R更新车辆位置点(X(t+1), Y(t+1)

且根据弧长与角度关系知,车辆在t时间内移动距离为 V*t 距离,则可推到出车辆转过的角度θ:

θ = V * t / R , R = L / δ

则 θ = V * t * δ / L

根据车辆转过的角度更新车辆位置点:(车辆坐标系下位置更新)
无人驾驶-控制-阿克曼模型

X(t + 1) = R * (1 - cos(θ))
Y(t + 1) = R * sin(θ)

2.3 转弯半径的另一种表达

由于两个前轮的转向角度不同,造成了,两个后轮旋转半径也不相同,于是,做出了相应的简化,以车辆后轴中心点为旋转参考点,对车辆左前轮角度和右前轮角度取均值:
无人驾驶-控制-阿克曼模型
前轮平均转角:
无人驾驶-控制-阿克曼模型
式中,δ为简化后车辆前轮转向角,δ 和δf,δr 分别为对应的车辆左侧前轮角度和右侧前轮转向角度。

根据图中几何关系,知,tan(δ) = L / R

其中,δ为车辆前轮转角,L 为车辆前后轴之间的距离,R 为车辆在给定的前轮转角δ情况下,所遵循的圆轨迹的半径。

三、总结

3.1 状态方程

无人驾驶-控制-阿克曼模型

3.2 航向角更新

(1)航向角变化率与转角与滑移角关系
无人驾驶-控制-阿克曼模型
其中,滑移角β默认为0时,则cos(β) = 1,默认后轮不转动,则δr = 0, tan(δr) = 0,即航向角变化率,l = lf + lr

无人驾驶-控制-阿克曼模型

参考链接

  1. https://blog.csdn.net/u013914471/article/details/82968608
  2. https://blog.csdn.net/asafield/article
  3. https://blog.csdn.net/qq_24649627/article