参考线平滑算法(离散点平滑)
windows下基于C++实现
根据本人对百度apollo中离散点平滑算法的理解,自行编写程序实现,要比原apollo程序简洁高效
算法部分主要是建立离散点平滑的优化问题,并采用OSQP求解器进行求解
优化问题的优化变量为参考离散点; 代价函数为,平滑性,紧凑性(路径长度),与平滑前离散点偏差; 约束条件:位置约束
算法使用了eigen库进行矩阵运算,使用了osqp库对二次规划问题就行求解
测试程序中,待平滑的点通过csv文件输入,平滑后的点写入csv文件,故包含对csv文件读写的程序;平滑器的权重参数等配置通过json文件写入,故代码包含使用nlohmann库解析json文件;使用python程序对平滑结果就行可视化,用到了matplotlib库进行画图;程序的运行可以通过vscode配置cpp方式直接run,也可以采用cmake工具
Windows系统下实现,包括算法测试结果分析CMakeList.txt文件
配置要求:
安装vscode以及mingw(用来编译)
安装 python3(pip安装matplotlib用来画图)
安装cmake(非必须)
第三方库需求:
eigen
osqp
nlohmann
以上第三方库均在本产品资料中,无需单独安装
ID:7165
详询客服 微信shujuqudong1 或shujuqudong6 或 qq68823886 或 27699885
图文详情请查看: http://matup.cn/866314850516.html