appollo-参考线平滑设定
参考线平滑设定
from https://github.com/ApolloAuto/apollo/blob/master/docs/specs/reference_line_smoother_cn.md
二次规划(QP)+样条插值
- 目标函数
1.1 分段寻路路径
将寻路路径划分为 n 段,每段用2个多项式表示:
x=fi(t)=ai0+ai1∗t+ai2∗t2+ai3∗t3+ai4∗t4+ai5∗t5x = f_i(t) = a_{i0} + a_{i1} * t + a_{i2} * t^2 + a_{i3} * t^3 + a_{i4} * t^4 + a_{i5} * t^5 x=fi(t)=ai0+ai1∗t+ai2∗t2+ai3∗t3+ai4∗t4+ai5∗t5
y=gi(t)=bi0+bi1∗t+bi2∗t2+bi3∗t3+bi4∗t4+bi5∗t5y = g_i(t) = b_{i0} + b_{i1} * t + b_{i2} * t^2 + b_{i3} * t^3 + b_{i4} * t^4 + b_{i5} * t^5 y=gi(t)=bi0+bi1∗t+bi2∗t2+bi3∗t3+bi4∗t4+bi5∗t5
1.2 定义样条段优化目标函数
cost=∑i=1n(∫0ti(fi′′′)2(t)dt+∫0ti(gi′′′)2(t)dt)cost = \sum_{i=1}^{n} \Big( \int\limits_{0}^{t_i} (f_i''')^2(t) dt + \int\limits_{0}^{t_i} (g_i''')^2(t) dt \Big) cost=i=1∑n(0∫ti(fi′′′)2(t)dt+0∫ti(gi′′′)2(t)dt)
1.3 将开销(cost)函数转换为QP公式
QP公式:
12⋅xT⋅H⋅x+fT⋅xs.t.LB≤x≤UBAeqx=beqAx≤b\frac{1}{2} \cdot x^T \cdot H \cdot x + f^T \cdot x \\ s.t. LB \leq x \leq UB \\ A_{eq}x = b_{eq} \\ Ax \leq b 21⋅xT⋅H⋅x+fT⋅xs.t.LB≤x≤UBAeqx=beqAx≤b
2 约束条件
2.1 平滑节点约束
该约束的目的是使样条的节点更加平滑。假设两个段segkseg_ksegk 和segk+1seg_{k+1}segk+1互相连接,且segkseg_ksegk的累计值 s 为sks_ksk。计算约束的等式为:
fk(sk)=fk+1(s0)f_k(s_k) = f_{k+1} (s_0) fk(sk)=fk+1(s0)
同样地,该公式也适用于下述等式:
fk′(sk)=fk+1′(s0)fk′′(sk)=fk+1′′(s0)fk′′′(sk)=fk+1′′′(s0)gk(sk)=gk+1(s0)gk′(sk)=gk+1′(s0)gk′′(sk)=gk+1′′(s0)gk′′′(sk)=gk+1′′′(s0)f'_k(s_k) = f'_{k+1} (s_0) \\ f''_k(s_k) = f''_{k+1} (s_0) \\ f'''_k(s_k) = f'''_{k+1} (s_0) \\ g_k(s_k) = g_{k+1} (s_0) \\ g'_k(s_k) = g'_{k+1} (s_0) \\ g''_k(s_k) = g''_{k+1} (s_0) \\ g'''_k(s_k) = g'''_{k+1} (s_0) fk′(sk)=fk+1′(s0)fk′′(sk)=fk+1′′(s0)fk′′′(sk)=fk+1′′′(s0)gk(sk)=gk+1(s0)gk′(sk)=gk+1′(s0)gk′′(sk)=gk+1′′(s0)gk′′′(sk)=gk+1′′′(s0)
2.2 点采样边界约束
在路径上均匀的取样 m 个点并检查这些点的预定义边界。
fi(tl)−xl<boundarygi(tl)−yl<boundaryf_i(t_l) - x_l< boundary \\ g_i(t_l) - y_l< boundary fi(tl)−xl<boundarygi(tl)−yl<boundary
appollo-参考线平滑设定相关推荐
- Apollo星火计划学习笔记——参考线平滑算法解析及实现(以U型弯道场景仿真调试为例)
文章目录 1. Apollo参考线介绍 1.1 参考线的作用 1.2 导航规划的路线 1.3 为什么需要重新生成参考线 1.4 ReferenceLine数据结构 1.5 ReferencePoint ...
- 2.参考线平滑算法解析及实现
星火计划2.0基础课:https://apollo.baidu.com/community/online-course/2 星火计划2.0专项课:https://apollo.baidu.com/co ...
- 无人驾驶算法——Baidu Apollo代码解析之ReferenceLine Smoother参考线平滑
无人驾驶算法--Baidu Apollo代码解析之ReferenceLine Smoother参考线平滑 Apollo 参考线平滑类 reference_line_provider.cc 代价函数 c ...
- 参考线平滑-QpSplineReferenceLineSmoother
Apollo中提供了QpSplineReferenceLineSmoother,即分段五次多项式曲线平滑参考线方法.将其构造成二次规划问题形式,使用OSQP求解.OSQP求解的问题形式如下: m i ...
- Apollo planning之参考线平滑算法
Apollo studio 官网:Apollo开发者社区 (baidu.com) 星火计划2.0基础课:Apollo星火计划2.0_Apollo精品课 (baidu.com) 星火计划2.0专项课:A ...
- 百度Apollo代码阅读:参考线平滑FemPosDeviationSmoother
在Apollo 5.0中,新增加了FemPosDeviationSmoother参考线平滑方法.在reference_line_provider.cc中可以看到,Apollo主要的参考线平滑类有三个: ...
- Apollo 参考线平滑方法Fem Pos Deviation Smoother
配置文件: 平滑器的配置文件 位置: modules/planning/conf/planning.conf –smoother_config_filename=/apollo/modules/pla ...
- Apollo:参考线ReferenceLine是如何定义的
ReferenceLine 位于modules/planning/reference_line/reference_line.h 它是根据高清地图上的map_path_生成的,如下图: 默认情况下,只 ...
- Apollo:参考线
Apollo项目的源码可以从github上获取:ApolloAuto/apollo. 本文中贴出的源码取自2019年2月7日的版本(版本:3.5) 概述 什么是参考线 就是高精地图所提供的道路的中心线 ...
最新文章
- 智能家居隐私问题再遭热议:涉案设备中的数据究竟受不受保护?
- php函数间参数传递(值传递/引用传递)
- python--练习--将字符串转成列表
- c语言读取一个图像文件格式,求指导,如何用c语言实现读取*.raw格式图像
- idea从git上拉取并管理项目
- IntelliJ IDEA mac快捷键
- 010-映射诊断环境
- oracle for循环_浅谈Oracle的执行计划
- 【设计模式】—— 适配器模式Adapter
- 【Microstation】不能从对话框中装载/创建类型为 ‘HTML‘,id =41510001 的对话框条目,该对话框为: “文本编辑器 - 字处理器“,GCSDIALOG 已装载。
- jetty java web_i-jetty 下的JavaWeb开发(一)
- Linux学习之VMware安装Linux
- node mysql做项目视频教程_2018最新 自学Node/Node.js/Nodejs视频教程 后端框架Express项目实战...
- 软件测试nextdata函数决策表,软件测试NextDate函数决策表测试法实验报告
- 传导、辐射和谐波总结,大家共同学习
- 将输入的字符串进行大写格式化
- 单片机编程软件很简单(20),快速学会keil单片机编程软件
- 计算机博士专业目录,tsinghua计算机博士专业目录
- 玉溪第一座智能变电站,造国际一流智能配电网,机器人来运维
- ubuntu输入法快捷键设置ctrl+shift