Frenet坐标系,自动驾驶“混乱”的源头

发布者:SereneDreams最新更新时间:2024-12-06 来源: elecfans关键字:自动驾驶 手机看文章 扫描二维码
随时随地手机看文章

人类驾驶员在道路上开车的时候,没有人会去基于当前距离出点的横向和纵向距离是多少,而去决定下一步的方向盘转角大小。通常情况,我们只会关注车辆当前距离左右车道线的距离,来判断是否偏离车道,是否需要打方向盘进行方向微调。


自动驾驶运动规划也在效仿这一过程,而为了让这一过程得以实施,2010年,BMW的Moritz Werling在2010年的论文《Optimal Trajectory Generation for Dynamic Street Scenarios in a Frene´t Frame》中提出了Frenet坐标系。


没错,还是国外人发明,我们整天鼓吹自动驾驶第一大国,但看看自动驾驶常用的基础理论、经典架构、基础软件、经典算法……,有多少是我们的发明创造!每个场景都炒一波自动驾驶概念,每个概念都拉一波融资,每一波融资都用来重复造轮子……。大而不强,是自动驾驶继承自汽车产业的顽疾。

Frenet坐标下的出现,让规划、控制有了方向,但也从此开启了自动驾驶万国混战的源头。

01Frenet坐标系的定义

Frenet坐标系的建立基于一个参考线,这个参考线可以是任意曲线,但在自动驾驶运动规划中一般定义为道路的中心线,这条中心线是地图模块输入过来的一系列离散点。同时使用参考线的切线向量和法线向量建立一个直角坐标系,如图1所示,这个坐标系就是Frenet坐标系。

edd2af6e-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

图1 Frenet坐标系示意图

某一时刻,假设车辆质心在全局笛卡尔坐标系下的坐标为(x,y),车辆质心到参考线上的投影点称为原点,原点切线方向称为s轴方向或纵轴方向,原点法线方向称为d轴方向或横轴方向。纵坐标s值指的是参考线上的原点与起点之间曲线的长度,也就是车辆在道路上的纵向行驶距离。横坐标d值指的是原点与车辆质心之间的距离,也就是车辆偏离道路中心线的距离。车辆质心随着时间在不断变化,因此Frenet坐标系的原点也在不断变换,所以Frenet坐标系是一个移动坐标系。

02为什么使用Frenet坐标系

(一)道路表达直观

假设现在我们知道笛卡尔坐标系下车辆的位置为(x,y),在道路通常都有一定曲率的背景下,从这个坐标中我们无法得知道路在哪里,也不知道车辆行驶了多远,更难以确定它是否偏离车道中心。当然我们可以从输入的高精地图数据进行计算获得上述数据,但是计算量太大,因此用笛卡尔坐标系描述道路会非常复杂。

而在Frenet坐标系中,横轴和纵轴相互垂直且原点所在参考线与车道中心线平行,容易确定车辆偏离车道中心线的距离以及车辆沿车道中心线的行驶距离。因此使用Frenet坐标系可以忽略道路曲率的影响,让道路表达更加直观、简洁。

(二)简化路径规划问题

运动规划是为了获得车辆在未来一段时间内具有前瞻性的行驶轨迹,这个轨迹是一种由二维空间和一维时间组成的三维空间中的曲线。

在笛卡尔坐标系下,整车的横向运动、纵向运动耦合在一起,想要计算清楚两者的关系还是需要费一番苦力的。而在Frenet坐标系中,距离参考线的位置可以使用纵向距离s和横向距离d分别表示,而通过对时间分别求导,又可以得到纵向运动速度和横向运动速度。

车辆的二维运动问题在Frenet坐标系下被解耦成两个一维运动问题,而一维优化问题要比二维优化问题更容易容易求解。因此相比于笛卡尔坐标系,Frenet坐标系可以明显地简化运动规划问题,这就是运动规划中笛卡尔坐标系转换为Frenet坐标系的必要性。

下面我们用一个例子来解释Frenet坐标系的这种降维作用。假设行为决策层判断前方有低速行驶的车辆,随后在t0时刻做出了一个在t1时刻完成变道的决策。即车辆需要在Δt=(t1-t0)时间内,横向上需要完成一个Δd以及纵向上完成一个Δs的移动。如图2所示,我们可以将s和d分别表示为关于t的函数:s(t)和d(t),这样二维运动规划问题被分割成了两个独立的一维优化问题。

ede535e4-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

图2 Frenet坐标系下运动规划示例

03Frenet坐标系与笛卡尔坐标系转换

要使用Frenet坐标系进行运动规划,就需要将笛卡尔坐标系下的车辆状态转化为Frenet坐标系下的状态。由于公式太多,只能采用图片方式呈现后续内容。

edf7774a-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

图3 Frenet坐标系和笛卡尔坐标系下的状态表示

ee108cee-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee2193cc-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee389de2-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee4cf486-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee68182e-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee82e79e-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ee9507d0-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

eeb644e0-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

eecc1ed2-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

eedd73d0-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

eef04e38-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ef02b0d2-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ef17ce5e-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ef30ab04-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ef43de0e-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

ef561b78-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

基于Frenet坐标系进行运动规划,将输出单独的横、纵向轨迹,而最终输出到自动驾驶车辆参考运动轨迹需要可直接被控制模块所应用,因此最后还需要把Frenet坐标系下得到的轨迹转化到一个全局笛卡尔坐标系中。逆过程过于简单,下面直接给出结论。

ef72874a-d1c4-11ed-bfe3-dac502259ad0.png?imageView2/2/w/1000

04写在最后

Frenet坐标系的熟练掌握,应该是规划控制入门的第一课,也是开启你自动驾驶混乱时代的第一课。


关键字:自动驾驶 引用地址:Frenet坐标系,自动驾驶“混乱”的源头

上一篇:T-BOX系统解决方案深度剖析之接口
下一篇:中汽协颁奖 | 芯联动力获“2024中国汽车芯片创新成果”荣誉

推荐阅读最新更新时间:2026-03-21 16:51

复杂约束下自动驾驶车辆的运动规划解析
01什么是MotionPlanning Motion Planning是在遵循道路交通规则的前提下,将自动驾驶车辆从当前位置导航到目的地的一种方法。 在实际开放道理场景下,自动驾驶要处理的场景非常繁杂:空旷的道路场景、与行人、障碍物共用道理的场景、空旷的十字路口、繁忙的十字路口、违反交通规则的行人/车辆、正常行驶的车辆/行人等等。场景虽然复杂,但都可以拆解为一系列简单行为(behavior)的组合: 将这些简单的行为(behavior)组合起来,就可以完成复杂的驾驶行为。 02Motion Planning的约束条件(constraints) Motion Planning是一个复杂的问题,它的执行过程需要满足很多约束条件
[嵌入式]
复杂约束下<font color='red'>自动驾驶</font>车辆的<font color='red'>运动</font><font color='red'>规划</font>解析
自动驾驶系统功能自车运动与路径规划介绍
自车运动 自车运动功能模块图自车运动模块估计车辆随时间姿态(位置+方向)的变化。通过多种不同类型传感器计算和改进的运动估计的融合,可以获得比单一传感器测量更准确可靠的估计。根据系统的不同,使用的输入数量各异。更简单的自车运动组件可能只处理IMU和底盘传感器的数据。然而,更复杂的系统可能使用所有或子集的其他输入来计算额外的运动估计,然后将其融合在一起。 自车运动输入: •规范|特征|对象:使用连续的感知数据序列来估计自车运动。估计可以基于具有不同计算复杂度的各种算法。例子是光流和基于CNN的估计器,利用像素级数据或已经检测到的特征。也可以利用已分类的对象与已知速度(例如护栏)。 •底盘传感器数据:包含控制/执行器反馈,改进自车运
[嵌入式]
<font color='red'>自动驾驶</font>系统功能自车<font color='red'>运动</font>与路径<font color='red'>规划</font>介绍
车辆运动规划系统助自动驾驶汽车更快/更安全决策
据外媒报道,杜克大学(Duke University)曾启动一个研究项目,以将桌面机器人手臂的运动规划速度提高,让机器人可依靠定制的处理器,在几毫秒时间内完成通常需要几秒钟进行的工作。随后,杜克大学研究人员基于该项技术成立一家名为Realtime Robotics的公司,最近,他们正致力于将该技术用于自动驾驶汽车。 让自动驾驶更快做出运动规划,包括汽车决定下一步要做什么的过程,让该过程变快不仅意味着让车辆更快做出决定,还意味着做出更好地决定,以尽可能地保证该车及周围车辆的安全。 问题是,在一个本身就不可预测的世界上行驶,将需要大量计算机来猜测人类的下一步行动。计算机非常擅长该项工作,特别是在道路等半结构化的环境中。大多数计算机使用
[机器人]
工业机器人控制中的DSP应用,实时运动轨迹规划与误差补偿
随着工业自动化向高精度、高柔性方向发展,工业机器人需在复杂环境中实现毫米级轨迹跟踪与动态误差补偿。数字信号处理器(DSP)凭借其高速浮点运算能力、实时信号处理特性及多核并行架构,成为工业机器人控制系统的核心计算单元。本文从DSP在运动轨迹规划与误差补偿中的应用出发,解析其技术实现路径与工程实践价值。 DSP在实时运动轨迹规划中的核心作用 工业机器人轨迹规划需在路径可行性、动力学约束与实时性间取得平衡。传统单核MCU受限于算力,难以处理复杂轨迹的实时计算,而DSP通过以下技术突破解决了这一瓶颈: 多核并行计算:TI的C6654 DSP采用KeyStone多核架构,支持8个内核并行处理。在轨迹规划中,可分配不同内核处理路径搜索、动
[嵌入式]
如何将MATLAB运动规划应用于各种自主系统
曾几何时,汽车离不开驾驶员,机器也离不开实体控制器。但现在不一样了:如今,高度智能的自动驾驶汽车已经能够自己变道、礼让行人甚至侧方停车。 自动驾驶汽车、机器人操作臂、无人地面交通工具 (UGV) 和无人机等系统要实现自主,离不开三大支柱,运动规划就是其中之一。另外两大支柱则是感知和控制。 与人类非常相似,自主系统也是通过扫描环境来探索新环境,以了解自己所在的位置和周围环境。 一旦得出环境地图,运动规划算法就会规划一条通往指定目的地的无障碍路径。 算法会决定沿着路径要采取的下一步,控制器根据这一决定向作动器发送命令,使得系统移动。 什么是运动规划? 运动规划是一种计算问题,旨在寻找将机器人或车辆从初始状态移动至目标状态的动作
[嵌入式]
如何将MATLAB<font color='red'>运动</font><font color='red'>规划</font>应用于各种自主系统
关于移动机器人运动规划算法研究
摘要 :运动规划是移动自主导航系统中的重要模块之一,相关研究成果层出不同穷,本文根据规划算法特性,划分为图规划算法、空间采样算法、曲线插值拟合算法和仿生算法四个子类,并从移动机器人运动的角度对部分经典研究成果进行分析和总结。 01 引言 移动机器人运动行为是由自主导航系统决定的,自主导航系统主要包含感知、规划、控制与定位四个模块,感知模块是连接机器人与环境的桥梁,其作用是“阅读、提取”环境内容;规划模块是连接感知与控制的桥梁,其作用是“分析、理解”环境内容,根据用户目标及需求输出可执行控制命令,因此感知、规划模块是决定导航系统智能程度的关键。 图 1.1 运动规划示意图(图片来源:h
[机器人]
专注运动规划与3D视觉领域 深圳如本科技完成近千万美元A轮融资
9月11日消息,据36氪报道,深圳如本科技有限公司宣布完成近千万美元A轮融资,由高榕资本投资。如本科技在2018年初曾获得高榕资本天使轮投资。据了解,本轮资金主要用于加快市场推广、推进产品落地及团队扩张。 如本科技成立于2018年4月,公司专注在运动规划与3D视觉领域,为客户提供高质量的手眼产品以及专业快速的技术服务。从2019年底开始,如本科技在运动规划领域推出MPC规划控制器(Motion Planning Controller)。MPC接口统一、界面友好,可实现精准控制、自动规划,大幅提高了机器人部署的效率。在机器视觉领域,如本科技推出了Z轴精度可到达0.005毫米的工业级RVC X系列3D相机和高精度非接触式的VDA(Vi
[机器人]
步进电机的速度控制及运动规划
步进电机区别于其他控制用途电机的最大特点是,它可接受数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。 而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。这样的增量位置控制系统与传统的直流伺服系统相比,其成本明显降低,几乎不必进行系统调整。因此,步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得更为广泛的应用。 步进电机的速度特性 步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。由
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved