【MatLab学习笔记】一个实例搞懂 Frenet Trajectory Generation

本文翻译并整理了MathWorks关于Frenet轨迹生成的实例,展示了如何使用`referencePathFrenet`、`trajectoryGeneratorFrenet`和`connect`函数为自动驾驶参考路径生成替代轨迹。通过调整初始和终端状态,生成不同横向偏差的轨迹,并讨论了不合理状态设定导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下实例为MathWorks官方实例,本人翻译整理了相关知识点,记录一下学习笔记。 

原文链接:https://ww2.mathworks.cn/help/nav/ref/referencepathfrenet.html


Generate Alternative Trajectories for Reference Path

使用Frenet坐标生成参考路径的替代轨迹。 为轨迹指定不同的初始状态和终端状态。 根据生成的轨迹调整状态。

waypoints的集合生成一个参考路径,从参考路径创建一个trajectoryGeneratorFrenet的对象。

waypoints = [0 0;50 20;100 0;150 10]; 
%创建路径点集合

refPath = referencePathFrenet(waypoints); 
%通过函数referencePathFrenet生成了一条基于路径点集合的平滑曲线refPath

connector = trajectoryGeneratorFrenet(refPath);
%通过函数trajectoryGeneratorFrenet生成基于refPath的一条轨迹

在路径原点和路径下30米的点之间生成一个5秒的轨迹,作为Frenet的初始状态和最终状态。

initState = [0 0 0 0 0 0];  % [S ds ddS L dL ddL] 初始状态

termState = [30 0 0 0 0 0]; % [S ds ddS L dL ddL] 最终状态

[~,trajGlobal] = connect(connector,initState,termState,5);
%其中的~代表忽略第一个输出的参数,然后通过connect函数连接初始和最终状态,5代表时间间隔5s。

在全局坐标中显示该轨迹。

show(refPath);
%显示路径的函数

hold on

axis equal
%横纵坐标比例相等

plot(trajGlobal.Trajectory(:,1),trajGlobal.Trajectory(:,2),'b')
%画图

legend(["Waypoints","Reference Path"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pinoxchio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值