teb local planner without ros, teb 局部路径规划算法,非ROS版本移植,可以自行在项目中当作一个库进行调用
原始的代码和相关论文请参考原始的teb工程 https://github.com/rst-tu-dortmund/teb_local_planner
代码运行成功时,会出现一个窗口和两个滑动条,通过滑动条可以控制起始点和目标点的角度,从而控制轨迹的形状。
本代码核心在于能够将teb算法作为一个开源第三方库来调用,而不采用ros的数据接口,稍微阅读了解原理后也可以直接修改库来实现自己的序需求。
因此,通常的调用流程如下
加载默认参数
TebConfig config;
,其中在构造函数内保留了所有默认参数值,可以自行修改
设置障碍物
std::vector<ObstaclePtr> obst_vector;
设置机器人形状
RobotFootprintModelPtr robot_model = boost::make_shared<CircularRobotFootprint>(0.4);
构造路径规划类
auto planner = new TebOptimalPlanner(config, &obst_vector, robot_model, visual, &via_points);
搜索路径
planner->plan(start,end);
获取规划得到的轨迹
planner->getFullTrajectory(path);