前言
在机器人或者无人车规划的时候,通常需要引入Frenet坐标系.这篇文章主要介绍了笛卡尔坐标系和Frenet坐标系之间的转换.
什么是Frenet坐标系
Frenet坐标系是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。用Frenet坐标,我们使用变量 s和d描述车辆在道路上的位置。该s坐标表示沿道路的距离(也称为纵向位移)和d坐标表示道路上的左右位置(也称为横向位移)。
由于通常道路都是曲折的,这样的话用笛卡尔坐标系描述道路会非常复杂,但是如果采用Frenet坐标系, 则会非常直观和简单.关于Frenet坐标系就不赘述了.
下图是机器人在Frenet 坐标系下生成的轨迹.
image.png
从Frenet坐标系转换到笛卡尔坐标系,也就是已知如下公式中左边的参数,将其转换成下面式子右边的参数:
下面对以上转换中用到的符号的含义进行说明:
在Frenet坐标系下的参数:
, 在Frenet坐标系下的纵向坐标;
, 纵向坐标对时间的导数,也就是纵向速度;
, 纵向坐标对时间的二阶导数,也就是纵向加速度;
, 横向坐标;
: 在Frenet坐标系下的纵向坐标;
, 横向坐标对时间的导数,也就是横向速度;
, 横向坐标对时间的二阶导数,也就是横向加速度;
, 横向坐标对纵向坐标的导数;
, 横向坐标对纵向坐标的二阶导数;
而在笛卡尔坐标系下的参数为:
, 在笛卡尔坐标系下的坐标,是一个向量;
, 是在笛卡尔坐标下的朝向;
, 是在笛卡尔坐标系下的曲率,有, 其中,为在当前的轨迹的弧长;
, 为在笛卡尔坐标系下的速度,.
, 在笛卡尔坐标系下的加速度,.
在明确了上述符号的含义后,我们可以推导从Frenet到笛卡尔坐标系的转换了.
上面的式子是从笛卡尔坐标系转换到Frenet坐标系下的公式,可以推导得到:
这里的是一个标量.
那么我们对 关于时间求导,有:
其中,(垂直),(垂直).
因此,.
这里的转换是由下面的式子得到的:, , , , . , .
其中,
所以可以得到
进一步,
因此,可以计算
可以推导出来
由 , 两边对时间 求导,得到,
有链式求导法则
因此,对 关于求导数,得到
由上面的式子,可以求得.
最后,来求 , 有
因此
其中,
总结如下:
S-L坐标系转换成笛卡尔坐标系,即为
-
, 其中, 为参考点坐标, 为参考线法向量,
-
由(30)得到
-
由(26)得到
- 由(34)得到
其中,
- 由(32)得到
笛卡尔坐标系转换成SL坐标系 即为
-
为参考点的自变量,
-
由(30)可知道:
-
由(34)可知道
-
: 由(25)可以知道
-
由(32)可以知道
总结
本文主要总结了笛卡尔坐标系和Frenet坐标系之间的转换关系,这个转换关系是轨迹规划中一个非常重要的内容,因此总结,以备后用.
网友评论