航位推算(DR)的三种计算方式及优劣势对比

航位推算(DR)的三种计算方式及优劣势对比

1. 简介

DR的全称为dead reckoning航位推算,航位推算算法是开环定位算法,主要是通过车轮脉冲、方向盘角度,结合车辆角速度、车速,推演出车辆在每个时刻的位置和姿态;是路径规划和路径跟踪环节的依赖项。

附赠自动驾驶最全的学习资料和量产经验:链接

2. 实现方式

实际工程中有三种实现方式:

(1)根据方向盘转角计算车辆半径和theta值

(2)根据双轮速差计算车辆每个瞬态走过的theta值

(3)根据YawRate积分或Yaw得到theta值

下面详细描述其原理,并结合工程中的使用心得列举其优缺点。

3. 详细描述

3.1 根据方向盘转角计算车辆半径和theta值

3.1.1 原理

根据阿克曼几何关系,

可以得到车辆前轮image

image

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

根据方向盘转角计算车辆半径和theta值

image

3.1.2 优势

不依赖IMU传感器(比如角速度的获取)

3.1.3 劣势

因为是 image 依赖实车标定的,所以存在一定的标定工作量,并且对车辆一致性要求较高;

由于转向系统间隙,轮胎侧偏特性的影响,方向盘为0时的半径不为无穷大,工程中会有向左偏或者向右偏的情况,角度在0附近时,容易引入较大的误差。

3.2 根据双轮速差计算车辆每个瞬态走过的theta值

3.2.1 原理

image

根据双轮速差计算车辆每个瞬态走过的theta值

image

3.2.2 优势

不依赖IMU传感器(比如角速度的获取)、方向盘角度不参与计算,所以不受转向系统间隙的影响。

3.2.3 劣势

算法默认两个轮子走过的距离是相同的,且为定值,所以胎压不均/不足/过足的时候,对于theta的推算有影响。

3.3 根据YawRate积分(或Yaw值)得到theta值

3.3.1 原理

image

3.3.2 优势

不受方向盘间隙和胎压的影响。

3.3.3 劣势

依赖IMU传感器(比如角速度的获取),需要车辆实装IMU传感器,而且IMU有温漂和零漂,检测精度(前进/后退),所以单独使用image 积分的方式需要对温漂和精度进行修正和验证。

4 必要的验证场景

按照单一变量原则,可以在这些场景下进行比较(根据实际的DR应用场景删减):减速带、上下坡、直线、大转角、不同车速、刹车、起步。

只有这些场景验证后,才能给出一个相对公平公正的结论。

5 实车的一些坑

5.1 对于方法1根据方向盘转角计算车辆半径和theta值

阿克曼角的存在一方面是保证在转弯时左右车轮同心,二方面使得前后车轮的转弯中心在后轴的延长线上,所以理论上阿克曼角的存在不会有轴向的阿克曼偏移量;

但在工程实际中,由于转向系统间隙,轮胎侧偏特性以及一些外界干扰因素的存在,使得阿克曼角成了产生阿克曼偏移量的一个起始因素,所以在处理这个问题时,由于影响因素较多,因此阿克曼偏移量一般是工程标定出来的。但是不同车辆之间的差异较大,而且标定工作较多,所以这个方法渐渐被弃用。

5.2 对于方法2根据双轮速差计算车辆每个瞬态走过的theta值

因为其是使用轮脉冲来计算theta的,所以有几个弊端:体现在过减速带、上下坡、包括如果传感器精度不够(比如有的车只有48齿),都会影响DR精度。

实车还有一个往往会被忽略的坑,就是在车辆即将刹停和即将起步的时候,此时车辆轮胎畸变明显,所以轮脉冲包括其方向,都会有失真的可能性。此时,可以过滤或者直接赋0处理掉。

5.3 根据YawRate积分(或Yaw值)得到theta值

实车中,用RTK与其积分值对比过,受温度、零漂、安装角度影响,其精度随着时间的累积而降低。这里最难的就是进行零漂和温漂的矫正,否则无法使用,矫正之后,效果是比1和2要好的,但是矫正过程中,要花些心力。

6 总结

在嵌入式资源不多的情况下,建议直接用2,加一些滤波可以满足使用需求;

如果嵌入式资源较多,可以用KF,因为三种方式的误差是独立的,KF后,可以得到比单个方式更优的解。两个相互独立的高斯分布相加,结果仍是一个高斯分布。

image

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 汽车航位推算是一项非常重要的技术,它能够通过分析车辆行驶数据,精确计算出车辆的位置和行驶方向。在现代汽车的自动驾驶和导航系统中,汽车航位推算起到了至关重要的作用。而Matlab则是一种非常流行的数学软件,被广泛应用于各种工程技术领域。因此,汽车航位推算Matlab也逐渐成为了一个热门的话题。 那么,汽车航位推算Matlab是如何工作的呢?其实,汽车航位推算Matlab主要基于车载传感器获取的车辆速度、方向和转角数据,通过运用高精度的数学算法,实现车辆位置和方向的实时计算。具体来说,汽车航位推算Matlab主要包括以下几个步骤: 1.采集车辆行驶数据:这一步骤包括获取车速、方向和转角等数据,并对其进行保存和编码处理。 2.数据处理:在这一步骤中,需要利用Matlab的高精度计算功能,对车辆行驶数据进行预处理和修正,以提高计算精度。 3.演算车辆位置和方向:基于车辆行驶数据和数学模型,利用Matlab进行实时计算推算出车辆当前的位置和方向。 4.车辆位置和方向修正:在实际应用中,由于各种误差的存在,车辆位置和方向的推算结果可能存在一定的误差。因此,这个步骤需要利用Matlab进行误差修正和精度提升,从而得到更为准确的推算结果。 总之,汽车航位推算Matlab是一种基于车载传感器数据实现车辆位置和方向实时推算的技术,它可以在汽车自动驾驶、导航和定位等方面发挥重要作用。 ### 回答2: 汽车航位推算Matlab是一种用于汽车导航系统的工具,它基于地图、车辆运动学和导航算法等基础理论,通过Matlab编程实现对车辆航位推算和实时显示。这个工具对于城市汽车导航、特定行业车队管理、无人驾驶等都有非常实际的应用。 汽车航位推算Matlab涉及到的核心技术主要包括卫星导航系统、惯性导航系统和路线规划。首先,利用卫星导航系统(如GPS)可以获取车辆当前的位置信息,同时进行定位和时间同步,确保航位精度。其次,利用惯性测量单位(如惯性导航系统)就可以获得车辆的当前速度和加速度等信息,通过数学模型对车辆的运动进行预测。最后,在路线规划阶段,根据地图数据、车辆导航目的地等因素,进行路径规划并生成可行的导航方案。 具体实现方案可以根据车辆导航系统的实际需求进行调整和优化。如可以添加能量消耗控制、实时交通状况更新等功能,从而在复杂的城市交通环境中提供更加准确的导航服务。综上所述,汽车航位推算Matlab是一个基于科学技术的高效实用工具,它将成为未来汽车导航系统发展的重要支撑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值