Coursera自动驾驶1.4——车辆建模

文章目录

  • 一、运动学建模(二维)
    • 1.坐标系转换
    • 2.两轮机器人运动学建模
    • 3.两轮自行车运动学建模
      • (1)后轴参考点
      • (2)前轴参考点
      • (3)重心参考点
  • 二、基本动力学模型(2D)
    • 1.平移动力学
    • 2.旋转动力学
  • 三、车辆纵向模型
  • 四、车辆横向模型
    • 横向模型的状态空间表示
  • 五、车辆控制
  • 六、轮胎模型
    • 1.概述
    • 2.轮胎模型

本节介绍了自动驾驶汽车的运动学和动力学建模。

一、运动学建模(二维)

运动学建模是指考虑定义其运动的几何约束来对车辆运动建模。

1.坐标系转换

参见坐标转换 看这篇就够了

2.两轮机器人运动学建模

对于一个两轮机器人,我们假定输入为机器人的速度v和方向变化率w,同时我们定义P是机器人的中心,L是从机器人中心到每个轮子的距离,R是轮子的半径,w1和w2是左右车轮的角速度。如下图所示
Coursera自动驾驶1.4——车辆建模_第1张图片

对于任一个物体,我们可以通过下图公式获得一组参数[x, y, θ]来代表系统的当前状态
Coursera自动驾驶1.4——车辆建模_第2张图片
对于我们的两轮机器人,我们将前进速度扩展为每个车轮的旋转速度w1和w2,根据速度与旋转速度的关系:v=w*r,我们可以知道,如果两个车轮速度相同,则车辆沿直线前进,否则会在某个瞬时旋转中心 (ICR) 的弯曲路径上运动。下图为根据车轮速度和车轮半径得到的机器人整体速度和转动角速度。
Coursera自动驾驶1.4——车辆建模_第3张图片

Coursera自动驾驶1.4——车辆建模_第4张图片

将上述角速度和之前的运动学模型进行结合,我们可以得到如下公式

Coursera自动驾驶1.4——车辆建模_第5张图片

3.两轮自行车运动学建模

对于自行车运动学建模,我们必须在车辆上选择一个参考点,该参考点可以选在后轴中心,或前轴中心或重心参考点的选择会影响所产生的运动方程,进而改变我们将要使用的控制器。

(1)后轴参考点

我们定义自行车的前进夹角为θ,速度为v,自行车长度为L,前轮的转向角为δ,参考点位置是后轴。计算过程如下,首先根据三角形相似原理计算转向角,之后得到速度在x轴和y轴的分量。

Coursera自动驾驶1.4——车辆建模_第6张图片

我们可以得到的结果如下图所示
Coursera自动驾驶1.4——车辆建模_第7张图片

(2)前轴参考点

根据上面的计算过程可得结果如下
Coursera自动驾驶1.4——车辆建模_第8张图片

(3)重心参考点

在重心处的运动方向与任一车轮的前进速度方向和自行车的前进方向都略有不同。我们用β来表示角度。

Coursera自动驾驶1.4——车辆建模_第9张图片

二、基本动力学模型(2D)

动力学建模通过考虑作用在车辆上的所有力和力矩来对车辆运动建模,汽车的动力学模型包括两种,平移动力学模型和旋转动力学模型

1.平移动力学

构建典型的动力学模型,我们可以按照以下步骤进行。

  1. 首先建立坐标系。例如车辆坐-标和惯性坐标。
  2. 接下来,我们可以将系统拆分为一个个元素并为每个元素定义一个力学模型
  3. 接下来,得到元素列表中每个刚体的受力图和作用在刚体上的所有力和力矩。
  4. 最后,通过牛顿第二定律,建立动力学模型数学方程。
    Coursera自动驾驶1.4——车辆建模_第10张图片

2.旋转动力学

我们可以按如下步骤构建旋转动力学模型

  1. 首先建立坐标系。将θ定义为车轮的角位置,将   θ ˙ \ \dot{\theta}  θ˙ 点作为其旋转速度,将   θ ¨ \ \ddot{\theta }  θ¨ 作为其角加速度。
  2. 接下来,轮胎模型由于旋转质量而具有旋转惯性J。扭转刚度k和阻尼b由轮毂中轮胎的材料属性定义。我们通过来自车辆驱动轴的驱动扭矩来驱动车轮,并通过轮胎与路面相互作用产生的扭矩来阻止车轮前进。
  3. 最终得到车轮系统的力学模型:驱动扭矩和负载扭矩之间的差定义了作用在车轮上的净扭矩。得到最终轮胎的旋转动力学方程如下图:
    Coursera自动驾驶1.4——车辆建模_第11张图片

三、车辆纵向模型

纵向模型考虑了在倾斜道路上行驶的车辆。我们将车辆运动限制在X-Z平面上。有几种作用在车身和轮胎上的力,包括牵引力,滚动阻力,空气阻力和重力引力产生的坡度阻力。

下图展示了车辆在倾斜路面的纵向模型
Coursera自动驾驶1.4——车辆建模_第12张图片

将上图中的公式进行简化可以得到如下的纵向模型
m x ¨ = F x − F a e r o − R x − m g α m\ddot{x} = F_{x}-F_{aero}-R_{x}-mg\alpha mx¨=FxFaeroRxmgα

  • 空气阻力与空气密度,车辆迎风面积,风阻系数和车辆的速度有关。其数学形式为:
    F a e r o = 1 2 C a ρ A x ¨ F_{aero} = \frac{1}{2} C_{a} \rho A\ddot{x} Faero=21CaρAx¨
  • 滚动阻力与法向力,轮胎压力和特性以及车速有关。其数学形式为:
    R x = N ( c ^ r , 0 + c ^ r , 1 ∣ x ˙ ∣ + c ^ r , 2 x ˙ 2 ) ≈ c ^ r , 1 ∣ x ˙ ∣ R_{x} =N(\hat{c} _{r,0}+\hat{c} _{r,1}\left|\dot{x}\right |+\hat{c} _{r,2}\dot{x}^{2})\approx \hat{c} _{r,1}\left|\dot{x}\right | Rx=N(c^r,0+c^r,1x˙+c^r,2x˙2)c^r,1x˙
  • 动力组成建模过于复杂,在此不详述,可查询汽车制造等书籍

四、车辆横向模型

横向模型将车辆运动限制在xy平面。在此模型中,还还存在一些作用在车辆上的侧向力,例如滑动力和离心力。

我们定义侧向加速度为   a y \ a_{y}  ay, 线性横向加速度   y ¨ \ \ddot{y}  y¨, 旋转向心加速度   w 2 R \ w^{2} R  w2R,则侧向动力学方程和力矩方程可表示为
Coursera自动驾驶1.4——车辆建模_第13张图片
更常见的轮胎模型可以使用简单的线性近似来模拟轮胎力的产生。这种近似值实际上仅对较小的滑移角有效。为了使用这些线性轮胎模型,我们需要定义前后滑移角   α f \ \alpha _{f}  αf   α r \ \alpha _{r}  αr
Coursera自动驾驶1.4——车辆建模_第14张图片
Coursera自动驾驶1.4——车辆建模_第15张图片

横向模型的状态空间表示

我们可以定义一个侧向状态变量   X l a t \ X_{lat}  Xlat如下图所示,其中y为汽车质心侧向位置,β为质心侧偏角,ψ为横摆角; 以及横摆角速率   Ψ ˙ \ \dot{\Psi }  Ψ˙

Coursera自动驾驶1.4——车辆建模_第16张图片

五、车辆控制

车辆常见的控制操作有转向,加速和制动。侧向力的来源是方向盘转角,纵向力的来源是油门踏板位置和制动踏板位置。车辆控制的主要任务是提供合适的转向节气门和制动命令,以使车辆保持在所需的路径上行驶。包含如下任务:

  • 转向系统:转向系统控制车辆以使车辆向右或向左旋转。主要作用是减速增扭。
  • 动力传动系统:脚踩油门踏板产生扭矩。该扭矩传递到传动系统。然后,基于工作模式和所需速度,切换变速器挡位。然后,动力通过差速器到车轮,并产生车轮扭矩,最终产生牵引力。牵引力必须大于阻力,阻力包括空气阻力和路面摩擦力,以使车辆在纵向方向上向前加速。
  • 制动系统:制动过程从驾驶员踩下制动踏板位置开始,该位置通过电子控制单元转换为制动压力。制动压力在制动盘或制动鼓上产生制动力,该制动力成为车轮上的制动扭矩。车轮上的制动扭矩会产生负的纵向力,从而使车辆减速。

六、轮胎模型

1.概述

轮胎模型有两个重要的概念:侧偏角和滑移率。

  • 侧偏角是车辆前进方向与车辆实际运动方向之间的夹角,公式如下
    β = tan ⁡ − 1 V y V x = tan ⁡ − 1 y ˙ x ˙ \beta =\tan^{-1} \frac{V_{y} }{V_{x}} = \tan^{-1} \frac{\dot{y} }{\dot{x}} β=tan1VxVy=tan1x˙y˙
    对于汽车前后轮的侧偏角公式如下
    Coursera自动驾驶1.4——车辆建模_第17张图片
  • 滑移率:当汽车加速或制动时,轮胎与路面之间会发生滑动现象。公式为
    s = w r e − V v s = \frac{wr_{e}-V }{v} s=vwreV

车速和轮胎角速度之间存在三种情况。

  • 首先,当车速v大于   w r e \ wr_{e}  wre 。在这种情况下,车轮会发生打滑。这在车辆制动时发生。
  • 第二,当车速v小于   w r e \ wr_{e}  wre时。这种情况通常发生在结冰的道路上行驶。
  • 第三,当轮胎速度为零且车速为非零时。轮胎被锁死。这是第一种情况的扩展,可能在紧急制动期间发生。

2.轮胎模型

轮胎模型将车辆侧偏角,滑移率,道路摩擦系数以及作用在轮胎上的法向力作为输入。然后计算侧向和纵向力。我们可以将这些模型分为三种主要的建模方法:分析模型,数值模型和参数化模型。

参数化模型的两个经典模型是线性模型和Pacejka轮胎模型

你可能感兴趣的:(自动驾驶,自动驾驶,机器人,人工智能)