无人驾驶-控制-阿克曼模型
阿克曼模型推导
一、序论
1.1 研究目的
运动学是从几何学的角度研究物体的运动规律,包括物体在空间的位置、速度等随时间而产生的变化,因此,车辆运动学模型应该能反映车辆位置、速度、加速度等与时间的关系。在车辆轨迹规划过程中应用运动学模型,可以使规划出的轨迹更切合实际,满足行驶过程中的运动学几何约束,且基于运动学模型设计出的控制器也能具有更可靠的控制性能。
1.2 自行车模型
车辆控制研究中,建立模型应尽可能使模型简单易用,且能真实反映车辆特性,搭建车辆模型多基于单车模型,使用单车模型需做如下假设:
不考虑车辆在Z轴方向的运动,只考虑XY水平面的运动,如图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
参考链接
- https://blog.csdn.net/u013914471/article/details/82968608
- https://blog.csdn.net/asafield/article
- https://blog.csdn.net/qq_24649627/article
无人驾驶-控制-阿克曼模型相关推荐
- 无人驾驶-控制-自行车模型
无人驾驶-控制-自行车模型 一.综述 1.1 简介 在了解高级的车辆控制算法之前,掌握车辆运动模型是非常有必要的.车辆运动模型就 是一类能够描述我们的车辆的运动规律的模型.显然,越复杂的模型就越接近现 ...
- 【MATLAB】无人驾驶车辆的模型预测控制技术(精简讲解和代码)【运动学轨迹规划】
文章目录 0.友情链接 1.引言 2.预测模型 3.滚动优化 3.1.线性化 3.2.UrU_rUr的求取 3.3.离散化与序列化 3.4.实现增量控制 4.仿真示例 0.友情链接 B站链接1-北京 ...
- 无人驾驶-控制-纯跟踪
无人驾驶-控制-纯跟踪(Pure Pursuit) 一.模型详解 1.1 简介 (1)对于无人车来说,规划好的路径通常由一系列路径点构成,这些点包含空间位置信息.姿态信息.速度.加速度等.路径与轨迹区 ...
- ROS综合学习记录(一)---cmd_vel转换为阿克曼模型的速度变换
文章目录 0.问题描述: 1.问题分析: 2.解决方案: 2.1Ackermann差速控制输出方法 2.1.1理解阿克曼模型 2.1.2适用阿克曼模型的teb_local_planner 2.2改正c ...
- 自动驾驶之无人驾驶车辆与模型预测控制
无人驾驶车辆 无人车辆( Unmanned Vehicle),根据其行驶环境的不同,可以分为空中无人机( Unmanned Aerial Vehicle).水面无人艇( Unmanned Surfac ...
- 无人驾驶-控制-Stanley
无人驾驶-控制-Stanley 一.模型介绍 1.1 简介 关于无人车追踪轨迹,目前的主流方法分为两类:基于几何追踪的方法和基于模型预测的方法,其中几何追踪方法主要包含纯跟踪和Stanley两种方法, ...
- Rviz中控制机器人模型运动(arbotix)
前言: 通过 URDF 结合 rviz 可以创建并显示机器人模型,不过,当前实现的只是静态模型,如何控制模型的运动呢?在此,可以调用 Arbotix 实现此功能. 简介: Arbotix:Arboti ...
- 【控制】模型预测控制 model predictive control 简介
目录 模型预测控制的一点笔记和看法 1 [控制]模型预测控制 model predictive control 简介 2 [控制]模型预测控制,公式推导,数值仿真,有程序有图 文章目录 1 模型预测控 ...
- 在Blender中使用代码控制人物模型的嘴部动作 - 嘴部张开
在Blender中使用代码控制人物模型的嘴部动作 - 嘴部张开 flyfish 环境 无需iphone,不限制平台 原始的3D模型 控制之后的样子 3D模型部分 中英文对照 此次使用的是形态键(Sha ...
- 并联下垂控制(DROOP控制)_SIMULINK模型搭建详解
一.前言 对于多逆变器并联,最常见以及最经典的方式是采用下垂控制(DROOP控制).通过下垂控制实现微电网的调压调频功能. 二.控制策略 采用三环控制结构:下垂功率外环+电压电流双闭环 控制部分 功率 ...
最新文章
- 吴恩达《机器学习训练秘籍》:7 条关于项目实践的实用建议
- 高性能HTTP加速器varnish实践
- 被Facebook终止合作,被谷歌下架,股价营收皆腰斩,猎豹只剩AI一根救命稻草了...
- 移动端自适应布局之-----rem单位的使用
- 504. Base 7
- java学习:理解abstract
- koa --- [MVC实现之一]自定义路由读取规则
- 懒办法1篇文10分钟快速入门MySQL增删查改
- mac下pip install 安装只能选择python2.7的问题
- (计算机组成原理)第五章中央处理器-第三节2:CPU专用数据通路
- VSS (Visual Source Safe 2005) 用法详解(转载)
- Cascade R-CNN升级!目标检测制霸COCO,实例分割超越Mask R-CNN
- 统计csv词频_Python|国家统计局CPI数据动态图表可视化
- mysql 按时间分库分表_sharding-jdbc 按时间分库分表
- 页面之间传递参数得几种方法
- 使用WPF创建画图箭头
- 检查Prefab或场景物件是否丢失脚本
- 黄聪:C#设置Word中表格某个列宽
- python-包机制
- C/C++集成开发环境搭建
热门文章
- 亲测有效 debian出现does not have a Release file. N: Updating from such a repository can‘t be done securely
- 华为EC1261使用小记
- 内网渗透学习04——域内横向移动
- sptd.sys不是病毒?
- java实现日历打印项目
- Firebug教你玩转网页小把戏!
- Microsoft Surface
- 利用XrecycleView写多条目展示+流式布局
- html5 input valid,javascript – 如果inputElement.validity.valid == false,如何显示HTML5验证?...
- Unity利用JsonFX解析Json格式文本