LiJiangnanBit / path_optimizer

Optimization-based real-time path planning for vehicles.
MIT License
528 stars 139 forks source link

关于spline插值后计算曲率的问题 #21

Open nkuwenjian opened 2 years ago

nkuwenjian commented 2 years ago

您好,不知道您有没有单独测试过,以路径长度s为自变量,分别对x和y进行三次样条插值然后再计算曲率,得到的曲率并不是光滑连续的 untitled untitled1

上面两幅图片,第一张是我先从一条五阶贝塞尔曲线上采点 (五阶贝塞尔曲线长度为1.68 m,我以0.01 m间隔进行采样),然后再用三次样条分别对x和y插值得到的结果,第二张图片是对应的曲率计算结果。

我尝试以x为自变量y为因变量进行插值,得到的曲率结果如下 untitled2 首尾的曲率看上去不是连续的,中间部分也有一些毛刺

james1kobby commented 3 months ago

你好解决了嘛

nkuwenjian commented 2 months ago

你好解决了嘛

没有。我理解 spline 插值方法本身是没有问题的,但是分别对两个一维问题进行插值后,再合并计算二维曲线的曲率,就是没办法保证曲率光滑连续

james1kobby commented 2 months ago

你好解决了嘛

没有。我理解 spline 插值方法本身是没有问题的,但是分别对两个一维问题进行插值后,再合并计算二维曲线的曲率,就是没办法保证曲率光滑连续

那有啥方法避免这个问题不,比如说我多次对这个曲线进行插值

nkuwenjian commented 2 months ago

你好解决了嘛

没有。我理解 spline 插值方法本身是没有问题的,但是分别对两个一维问题进行插值后,再合并计算二维曲线的曲率,就是没办法保证曲率光滑连续

那有啥方法避免这个问题不,比如说我多次对这个曲线进行插值

我理解用这种解耦的方法分别对 x/y 插值再合并计算曲率,从本质上就没有办法保证曲率连续,因此建议直接通过笛卡尔坐标系下的离散点平滑来处理

推荐小鹏的论文 Optimal Vehicle Trajectory Planning for Static Obstacle Avoidance using Nonlinear Optimization,可以参考一下

james1kobby commented 2 months ago

你好解决了嘛

没有。我理解 spline 插值方法本身是没有问题的,但是分别对两个一维问题进行插值后,再合并计算二维曲线的曲率,就是没办法保证曲率光滑连续

那有啥方法避免这个问题不,比如说我多次对这个曲线进行插值

我理解用这种解耦的方法分别对 x/y 插值再合并计算曲率,从本质上就没有办法保证曲率连续,因此建议直接通过笛卡尔坐标系下的离散点平滑来处理

推荐小鹏的论文 Optimal Vehicle Trajectory Planning for Static Obstacle Avoidance using Nonlinear Optimization,可以参考一下

有没有开Yuan代码

nkuwenjian commented 2 months ago

你好解决了嘛

没有。我理解 spline 插值方法本身是没有问题的,但是分别对两个一维问题进行插值后,再合并计算二维曲线的曲率,就是没办法保证曲率光滑连续

那有啥方法避免这个问题不,比如说我多次对这个曲线进行插值

我理解用这种解耦的方法分别对 x/y 插值再合并计算曲率,从本质上就没有办法保证曲率连续,因此建议直接通过笛卡尔坐标系下的离散点平滑来处理 推荐小鹏的论文 Optimal Vehicle Trajectory Planning for Static Obstacle Avoidance using Nonlinear Optimization,可以参考一下

有没有开Yuan代码

没有看到他们开源