用于无ROS的TEB算法,并使用c++ matplotlibcpp库做了图形化显示
# 参考 原始的代码和相关论文请参考原始的teb工程 https://github.com/rst-tu-dortmund/teb_local_planner
和非ROS版本的teb工程
https://github.com/linyi Cheng1/teb_local_planner
mkdir build
cd build
cmake ..
make -j16
./teb
- g2o
- Eigen
- Boost
- OpenCV (可选,用于显示地图和路径)
本代码核心在于能够将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);