PNC模块坐标系的一些思考

本文探讨了自动驾驶系统中规划和控制模块常用的坐标系,如Frenet、UTM、车体坐标系等。规划模块利用SL和ST坐标系简化高维度规划问题,而控制模块通常采用直角坐标系,但可能引入重复计算和定位误差。转换坐标系在提高效率的同时,也可能带来信息损失和控制挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在自动驾驶系统中,会使用多种坐标系,比如WGS84,UTM,车体坐标系等,介绍各个坐标系的文章也很多,在此不再赘述。在这里对planing和control常用坐标系做一些简述。

1 planning模块

规划模块常用的坐标系分为曲线坐标系(Frenet)和笛卡尔坐标系(直角坐标系),其中笛卡尔坐标系分为UTM(统一横轴墨卡托)或者全局/世界坐标系和车体坐标系。

地图模块一般是采用WGS84(经纬度信息)坐标系或者SL坐标系(OpenDrive)等,会转化为UTM坐标系提供给下游各个模块,包括planning。planning模块一般采用路径规划和速度规划解耦的思路,分别使用SL和ST坐标系。path plan中会基于UTM坐标转化到SL坐标系中,使用SL坐标系会简化问题。

  • 将高维度的规划问题,转换成了多个低维度的规划问题,极大的降低了规划的难度;
  • 方便理解场景,无论道路在地图坐标系下的形状与否,我们都能够很好的理解道路上物体的运动关系。相较直接使用地图坐标系下的坐标做分析,使用弗莱纳坐标,能够直观的体现道路上不同物体的运动关系
  • 简化边界处理,可以缩小处理范围,减小运算量,比如只处理某L范围内的障碍物等;
  • 提高数值稳定性,比如采用五次多项式进行路径规划时,UTM坐标系下的x,y值在多数区域都很大,例如在天津是10^5的数量级。

然而,也正是因为无论道路在地图坐标系下的形状是怎样的形状,在弗莱纳坐标系下会丧失重要的曲率信息。比如Apollo6.0中采用的路径规划算法很难直接处理曲率约束。

planning在SL坐标系规划得结果,结合参考系原始的UTM信息,会把规划路径转换到UTM坐标系或者车体坐标系。

2 control模块

control模块通常采用直角坐标系,当然也可以采用曲线坐标系,但是一些基于模型的控制方法,比如LQR和MPC,在采用曲线坐标系时,车辆模型的非线性将加强。

control模块一般采用planning输出轨迹所用的坐标系:UTM或者车体坐标系。

当planning和control都采用车体坐标系时,可能会存在一些问题:

  1. 引用重复计算:一般planning的频率会低于control的频率。比如Apollo6.0中planning的频率大约是10(planning模块采用事件触发,频率不稳定),control模块的频率为100。在control的10个相邻计算周期中,planning的规划轨迹没有更新,由于采用车体坐标系,车辆的位置一直为(0,0),航向角也为0,然而在每个计算周期,由于控制的作用,车辆的位置为发生改变,但是control在相邻的10个计算周期内会得到一样的计算结果。
  2. 引入定位误差:在将UTM坐标转化到车体坐标时,会引入定位误差。比如定位的航向角存在误差,会使转换后的轨迹的方向改变。虽然多数控制方法都会考虑车辆的位置和航向,定位误差带来的影响必然存在,但是有些控制方法对航向角不敏感,例如纯跟踪方法。
  3. Input Check:control模块一般会对planning的轨迹进行TimeOut检验,UMT坐标系下的轨迹在TimeOut时,仍具有一定的有效性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值