Autoware的MPC源码解析(三)mpc_follower解析:车辆模型介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。
源码地址:https://gitlab.com/autowarefoundation/autoware.ai/autoware/wikis/Source-Build
如有错误或建议,欢迎提出。

在Autoware的mpc源码中使用了三种车辆模型,其中车辆动力学误差模型可参考此博文https://blog.csdn.net/u013914471/article/details/83018664
因此本文主要对两种运动学模型进行介绍。

  • 1车辆运动学自行车误差模型(no delay)
    首先根据自行车运动学模型如下如所示:在这里插入图片描述
    其中 δ \delta δ为车辆转向角,R为转弯半径,L为车辆轴距。则他们的关系式如下式所示:
    t a n ( δ ) = L / R tan(\delta) = L/R tan(δ)=L/R

之后定义e为横向误差, e ˙ \dot{e} e˙为横向误差率,th为航向角误差, t h ˙ \dot{th} th˙为航向角误差率,v为车速, δ r \delta_r δr为参考转向角。
则:
e ˙ = v ∗ sin ⁡ ( t h ) ( 1 ) \dot{e} = v*\sin (th) (1) e˙=vsin(th)1 t h ˙ = v / L ∗ tan ⁡ ( δ ) − v / L ∗ tan ⁡ ( δ r ) ( 2 ) \dot{th} = v/L*\tan (\delta) - v/L*\tan (\delta_r)(2) th˙=v/Ltan(δ)v/Ltan(δr)2
其中式(2)可根据小角度理论以及三角函数关系化简成如下形式:
t h ˙ = v / L ∗ δ / cos ⁡ 2 ( δ r ) − v / L ∗ δ r / cos ⁡ 2 ( δ r ) ( 3 ) \dot{th} = v/L*\delta/\cos^2(\delta_r) - v/L*\delta_r/\cos^2(\delta_r)(3) th˙=v/Lδ/cos2(δr)v/Lδr/cos2(δr)3
则根据式(1)和式(3)可得到车辆运动学自行车误差模型如下所示:
[ e ˙ t h ˙ ] = [ 0 v 0 0 ] [ e t h ] + [ 0 v / L / cos ⁡ 2 ( δ r ) ] δ + [ 0 − v ∗ δ r / L / cos ⁡ 2 ( δ r ) ] \begin{bmatrix}\dot{e}\\ \dot{th}\end{bmatrix}=\begin{bmatrix}0& v\\ 0& 0\end{bmatrix}\begin{bmatrix}e\\ th\end{bmatrix} +\begin{bmatrix}0\\ v/L/\cos^2(\delta_r)\end{bmatrix}\delta+\begin{bmatrix}0\\ -v*\delta_r/L/\cos^2(\delta_r) \end{bmatrix} [e˙th˙]=[00v0][eth]+[0v/L/cos2(δr)]δ+[0vδr/L/cos2(δr)]
其中,如果车辆行驶在参考路径上,则 δ r = δ \delta_r = \delta δr=δ

  • 2车辆运动学自行车误差模型(考虑转向角变化率)
    第二种运动学模型在第一种模型的基础上考虑了转向角的变化率。定义t为循环周期, δ ˙ \dot{\delta} δ˙为转向角变化率,则:
    δ ˙ = Δ δ / t \dot{\delta} = \Delta\delta/t δ˙=Δδ/t
    结合第一种运动学模型可得:
    [ e ˙ t h ˙ δ ˙ ] = [ 0 v 0 0 0 v / L / cos ⁡ 2 ( δ r ) 0 0 − 1 / t ] [ e t h δ ] + [ 0 0 1 / t ] δ d + [ 0 − v ∗ δ r / L / cos ⁡ 2 ( δ r ) 0 ] \begin{bmatrix}\dot{e}\\ \dot{th}\\ \dot{\delta}\end{bmatrix}=\begin{bmatrix}0 & v & 0\\ 0 & 0 & v/L/\cos^2(\delta_r)\\ 0 &0 & -1/t\end{bmatrix}\begin{bmatrix}e\\ th\\ \delta\end{bmatrix}+\begin{bmatrix}0\\ 0\\ 1/t\end{bmatrix}\delta_d+\begin{bmatrix}0\\ -v*\delta_r/L/\cos^2(\delta_r)\\ 0 \end{bmatrix} e˙th˙δ˙=000v000v/L/cos2(δr)1/tethδ+001/tδd+0vδr/L/cos2(δr)0
    其中, δ d \delta_d δd为模型的输入——目标转向角度。
Autoware MPC是一种基于模型预测控制(MPC)的自动驾驶软件。安装Autoware MPC主要需要以下步骤: 1. 硬件要求:首先需要一台可运行Linux操作系统的计算机。建议使用强大的计算机,以确保足够的计算能力和存储空间来运行Autoware MPC。 2. 安装依赖:在安装Autoware MPC之前,需要安装一些依赖项,例如ROS(机器人操作系统),CMake(构建工具)等。可以使用命令行工具来安装这些依赖项,具体命令可以在Autoware MPC的官方文档中找到。 3. 下载Autoware MPC:可以从Autoware MPC的官方网站或GitHub页面上下载最新版本的软件包。下载完成后,解压缩软件包到指定的目录。 4. 构建Autoware MPC:使用CMake来构建Autoware MPC。进入解压缩后的软件包目录,运行CMake命令,生成构建文件。之后,使用make命令来编译和构建Autoware MPC。 5. 配置和安装:构建完成后,在Autoware MPC的目录中找到安装脚本。运行该脚本来进行配置和安装。根据指示完成配置选项,例如选择硬件平台、传感器设置等。 6. 启动Autoware MPC:安装完成后,通过ROS命令来启动Autoware MPC。运行命令来启动不同模块,例如局部路径规划、障碍物检测等。 7. 测试Autoware MPC:安装完成后,可以使用模拟器或真实的自动驾驶车辆来测试Autoware MPC的性能和功能。根据测试结果,可以对配置进行进一步的调整和优化。 以上是关于Autoware MPC安装的大致步骤,具体的细节和命令可能会有所不同。安装过程中,需要仔细阅读官方文档,并按照指示进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值