说明:介绍了teb_local_planner的概念和参数
参考代码
概要teb_local_planner包是2D导航功能包中base_local_planner的插件实现。
Timed Elastic Band 基础方法在轨迹执行时间,障碍物分离以及运行时遵守kinodynamic约束方面,局部优化了机器人的轨迹。
该软件包实现了一种在线优化的局部轨迹规划器,作为ROS导航包的插件用于导航和控制移动机器人。
在运行时,优化由全局路径规划器生成的初始轨迹,以便最小化轨迹执行时间(时间最优目标),与障碍物分离,并遵守诸如满足最大速度和加速度的动力学约束。
目前的实现符合非全向轮机器人(差速驱动机器人和四驱驱动机器人)的运动学。 (在Kinetic版本开始,该包支持全向轮机器人)
通过求解sparse scalarized multi-objective优化问题有效地获得了最优轨迹。 用户可以为优化问题设置权重,以便在目标冲突的情况下指定操作。
“Timed-Elastic-Band”方法在:
局部路径规划器如Timed Elastic Band 经常被卡住在局部最优轨迹上,因为他们无法跨越障碍物。所以它进行了扩展,并行优化不同拓扑的可通过轨迹的子集。局部规划器能够切换到候选集中的当前全局最优轨迹,同时通过利用同源/同伦类的概念获得不同的拓扑。
Video以下视频介绍了该软件包的功能,并显示了仿真和真实机器人情况下的示例。
youtube 视频链接:
以下视频介绍了0.2版本的功能(支持四驱驱动机器人和costmap转换):
youtube 视频链接:
Node API
( 1 ) Topics
( 1.1 ) Published Topics~/global_plan ([nav_msgs/Path][4])Global plan that the local planner is currently attempting to follow.
主要用于可视化。~/local_plan ([nav_msgs/Path][5])teb_local_planner优化和跟踪的局部路径规划或轨迹。
主要用于可视化。~/teb_poses ([geometry_msgs/PoseArray][6])当前局部路径规划的(discrete pose list)离散位姿列表(SE2)。
主要用于可视化。~/teb_markers ([visualization_msgs/Marker][7])teb_local_planner通过具有不同命名空间的标记来提供规划场景的附加信息。
可视化替