You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

车辆沿双圆弧蛇形线行驶的路径规划函数及用法咨询

两段圆弧蛇形路径规划实现方法

你需要的这种由两段反向相切圆弧组成的S形路径,属于满足车辆非完整运动约束的经典路径构型,有现成的函数可以直接调用,常用实现方案如下:

1. 直接使用双圆弧规划接口

双圆弧(Biarc)插值刚好对应两段连续圆弧的路径生成需求,多数运动规划库都内置了相关接口,这里以Python生态的PyPathPlanning库为例:

  • 安装依赖:pip install pypathplanning
  • 使用示例:
from pypathplanning.path_planning import BiarcPlanner

# 入参依次为点的x坐标、y坐标、航向角(弧度制,x轴正方向为0)
start_point = (0.0, 0.0, 0.0) # A点参数,按实际修改
end_point = (10.0, 0.0, 0.0) # B点参数,按实际修改

# 初始化规划器,传入车辆允许的最小转弯半径,单位与坐标一致
planner = BiarcPlanner(min_turn_radius=3.0)
# 执行路径规划
biarc_path = planner.plan(start_point, end_point)
# 按0.1m间隔采样路径点,返回(x,y)坐标列表
path_points = biarc_path.get_sampled_points(step=0.1)

2. 用Dubins路径库生成

如果后续需要扩展到更复杂的多段圆弧路径场景,可以直接用Dubins路径库,当起点、终点的位姿和转弯半径约束匹配双圆弧构型时,会直接输出你需要的S形路径:

  • 安装依赖:pip install dubins
  • 使用示例:
import dubins

start_pose = (0.0, 0.0, 0.0) # A点位姿
end_pose = (10.0, 0.0, 0.0) # B点位姿
min_turn_radius = 3.0

# 生成最短Dubins路径
path = dubins.shortest_path(start_pose, end_pose, min_turn_radius)
# 采样路径点,返回(x,y,yaw)的列表
sampled_path, _ = path.sample_many(0.1)

注意事项

  • 调用前需要确认起点和终点的位姿差、两点间距满足你设定的最小转弯半径约束,否则会出现规划失败的情况
  • 如果需要生成带速度、加速度的可行驶轨迹,可以在得到路径点后,叠加速度规划模块做二次插值

你参考的路径示意图如下:
路径示意图

内容的提问来源于stack exchange,提问作者Joachim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 19:48:03