3.4.c 确定性采样:基于采样空间采样代码解析

category
type
status
slug
date
summary
tags
password
icon
天行健,君子以自强不息。
—《周易·乾卦》
🏰代码及环境配置:请参考 环境配置和代码运行!

本节提供了基于控制空间采样的代码测试,其中代码是以1.1节中的自行车模型为基础进行实现的:

3.4.c.1 基于状态空间采样的代码实现

tests/sampling_based_planning/state_based_sampler_test.py 中定义了轨迹的生成方式,定义了起始点和终点的信息后,使用五次多项式生成轨迹,其中:
start_p :轨迹的起点
trajectory_length :轨迹的纵向长度(沿Frenet坐标系的轴)
max_l :采样最大的横向
min_l :采样最小的横向
delta_l的分辨率
delta_s:生成轨迹点的分辨率

3.3.c.2 基于状态空间采样的代码测试

在测试中,分为两个阶段,第一个阶段从起始点开始,按照不同的横向位置()采终点状态,并用五次多项式连接成轨迹(效果图中的洋红色曲线),第二阶段,以第一阶段轨迹的最后一个点为起点,然后继续按照不同的横向位置()采终点状态,也用五次多项式连接成轨迹(效果图中的灰色曲线);然后设置不同的cost来评估每一条曲线,最后基于cost选出最优轨迹(为了测试,代码中的cost没有填充,只是随机选择了一条轨迹,效果图中的红色曲线)。
从效果图也可以看出,基于状态空间的采样方式可以生成平滑的轨迹曲线,但不一定满足动力学约束,同时由于可以直接限制终点的状态,因此可以最大限度的保证轨迹在可行驶区域内。
notion image
上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...