动手学运动规划:1.1 车辆运动学:自行车模型

七岁的那一年,抓住那只蝉,以为能抓住夏天。—如烟 五月天

🏰代码及环境配置:请参考0.2 环境配置和代码运行 | 自动驾驶小白说!

要进行轨迹规划算法,首先我们要建立运动学模型来描述车辆的运动.但是真实世界中车辆的运动是复杂的,为了描述和预测车辆在二维平面上的运动,需要对车辆的运动进行简化.运动学模型基于一系列假设,如车辆行驶速度变化缓慢、车身和悬架系统为刚性、车辆运动和转向由前轮驱动等,从而将复杂的车辆动态特性简化为更易于处理的形式.有这几种常见的运动学模型:

  • 自行车模型(Bicycle Model)
  • 阿克曼转向模型(Ackermann steering geometry)

我们将分两节介绍这两种模型,本节介绍自行车模型

在进行运动规划时,大部分情况为了减少计算量,我们常用自行车进行相关状态转移.自行车模型是一种简单且有效的简化方式,它基于几个基本假设:

  • 车辆只有前、后两个车轮,且后轮为从动轮(即不转向)。
  • 忽略车辆的垂直方向运动,只考虑二维平面内的运动。
  • 车辆低速运动,此时滑移角可以忽略不计。

自行车模型将车辆的运动简化为一个两轮模型,即前转向轮和后从动轮,他们位于车辆的中轴线上.自行车模型可以基于不同的参考点(前轴中心,质心,后轴中心),规划算法一般采取后轴中心为参考点,所以我们主要介绍后轴中心的自行车模型.

1.1.1 以后轴中心为参考点的自行车模型

(1) 基本参数

  • v : v: v:车辆速度。
  • ( X , Y ) : (X,Y): (X,Y):车辆质心位置.
  • O : O: O:车辆瞬时转向中心.
  • R : R: R:车辆瞬时转向半径.
  • θ : \theta: θ:航向角,车辆当前位置与横坐标的夹角,即车辆的行驶方向。
  • ω : \omega: ω:车辆绕瞬时转向中心旋转的角速度。
  • δ : \delta: δ:前轮转角,车辆前轮相对于车辆纵轴的转角。
  • L : L: L:轴距,前后轮之间的距离。
  • Δ t \Delta t Δt:时间步长

(2) 速度分解

首先,将速度v分解为横向和纵向分量:

  • 横向速度分量: v x = v ∗ c o s ( θ ) v_x = v*cos(\theta) vx=vcos(θ)
  • 纵向速度分量: v y = v ∗ s i n ( θ ) v_y = v*sin(\theta) vy=vsin(θ)

(3) 航向角变化率

航向角变化率 θ ˙ \dot{\theta} θ˙,可以近似认为是角速度,于是可以推导出它的表达:

θ ˙ ≈ ω = v R = v L tan ⁡ ( δ ) \begin{align*} \dot{\theta}&\approx{\omega} \\ &=\frac{v}R \\ &= \frac{v}{L} \tan(\delta)\end{align*} θ˙ω=Rv=Lvtan(δ)

(4) 状态转移方程

这样就得到了完整的状态转移方程

x r i + 1 = x r i + v x i Δ t y r i + 1 = y r i + v y i Δ t θ i + 1 = θ i + θ ˙ Δ t ≈ θ + v L tan ⁡ ( δ ) Δ t \begin{align*} x_{r_{i+1}} &= x_{r_i} + v_{x_i} \Delta t \\ y_{r_{i+1}} &= y_{r_i} + v_{y_i} \Delta t \\ \theta_{i+1} &= \theta_i + \dot{\theta} \Delta t \approx \theta + \frac{v}{L} \tan(\delta) \Delta t \end{align*} xri+1yri+1θi+1=xri+vxiΔt=yri+vyiΔt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值