最新消息:

TEB轨迹规划算法教程-优化测试

ROS1/一代机器人系统 少儿编程 2469浏览 0评论
TEB轨迹规划算法教程

TEB轨迹规划算法教程-优化测试

说明:

  • 介绍如何运行轨迹优化以及如何更改基础参数以设置自定义行为和性能

安装TEB:

  • 二进制包安装:
sudo apt-get install ros-kinetic-teb-local-planner
  • TEB源码安装:
cd ~/catkin-ws/src
git clone https://github.com/rst-tu-dortmund/teb_local_planner.git
# install dependencies, e.g.
sudo apt-get install ros-kinetic-stage-ros

TEB例程安装:

  • 二进制安装:
sudo apt-get install ros-kinetic-teb-local-planner-tutorials
  • 源码安装:
cd ~/catkin-ws/src
git clone https://github.com/rst-tu-dortmund/teb_local_planner_tutorials.git
# install dependencies, e.g.
sudo apt-get install ros-kinetic-stage-ros

轨迹优化:

  • 该软件包包括一个简单的测试节点(test_optim_node),它可以优化固定开始和目标姿势之间的轨迹。

  • 我们首先开始在开始和目标之间配置单个轨迹(Timed-Elastic-Band)的规划,然后我们将在独特的拓扑中激活和设置规划。

  • 使用ROS参数服务器停用并行计划(确保运行roscore)

rosparam set /test_optim_node/enable_homotopy_class_planning False
  • 启动test_optim_node并结合预配置的rviz节点进行可视化:
roslaunch teb_local_planner test_optim_node.launch
  • 应该打开一个新的rviz窗口,类似于下图所示:
    TEB轨迹规划算法教程-优化测试

  • 包括三点障碍。

  • 它们表示为interactive_markers类型,因此可以通过单击并按住每个障碍物周围的蓝色圆圈来更改障碍物配置:
    TEB轨迹规划算法教程-优化测试

  • 由于Timed-Elastic-Band使用局部优化方案,因此轨迹不能越过障碍物。

  • 此问题将在后续部分中介绍。

  • 但首先我们通过运行rqt_reconfigure来定制我们的优化:

rosrun rqt_reconfigure rqt_reconfigure
  • 图示:
    TEB轨迹规划算法教程-优化测试
  • 尝试根据您的需求自定义优化。
  • 但仅稍微修改参数,因为某些参数集可能导致不希望的收敛行为或性能不佳(特别是通过更改优化参数)。
  • 如果您使用默认设置在系统上遇到性能不佳,请尝试调整以下参数以加速优化:
减少no_inner_iterations
减少no_outer_iterations
增加dt_ref
减少obstacle_poses_affected

独特拓扑中多个轨迹的优化

  • 我们现在解决本地优化方案的问题,并在独特的拓扑中实现并行规划。

  • 此扩展计划程序默认启用,需要更多计算资源。

  • 重新启动roscore或重新激活扩展计划程序:

rosparam set /test_optim_node/enable_homotopy_class_planning True
  • 启动test_optim_node并结合预配置的rviz节点进行可视化:
roslaunch teb_local_planner test_optim_node.launch
  • 应该打开一个新的rviz窗口,类似于下图所示:

TEB轨迹规划算法教程-优化测试

  • 与第一部分一样,现在可以使用计算机鼠标移动所有障碍物。

  • 通过在每个轨迹配置处显示各个姿势(如红色箭头)来突出显示当前最佳轨迹(在最便宜的优化成本意义上)。

  • 更改障碍物配置并观察发生的情况:
    TEB轨迹规划算法教程-优化测试

  • 再次通过运行rqt_reconfigure来自定义优化:

rosrun rqt_reconfigure rqt_reconfigure
  • 在独特拓扑中存在用于并行规划的单独参数部分。
  • 根据您的需求调整参数。

您必须 登录 才能发表评论!