ROS teb_local_planner使用

teb_local_planner则是2D导航堆栈的base_local_planner的插件。实现了一个在线优化的本地轨迹规划器,用于导航和控制移动机器人,作为ROS 导航包的插件。全局规划器生成的初始轨迹在运行时期间进行优化,最小化轨迹执行时间(时间最优目标), 与障碍物分离并符合动力学约束,例如满足最大速度和加速度。当前的实施符合非完整机器人(差动驱动和类似汽车的机器人)的运动学。自Kinetic以来,包括对完整机器人的支持。

一.teb_local_planner配置方法
安装步骤

源码安装
需要安装teb_local_planner,前往teb_local_planner,将分支切换到melodic-devel然后下载源码到本地,并解压源码包到~/catkin_ws_nav/src/后,就可以编译安装了

#安装依赖
source ~/catkin_ws_nav/devel/setup.bash
rosdep install teb_local_planner

cd  ~/catkin_ws_nav/
catkin_make  -DCATKIN_WHITELIST_PACKAGES="teb_local_planner"

teb_local_planner源码中关于plugin的配置文件均已写好,直接编译源码就能完成plugin的注册及插入,非常方便

源码安装可能缺少依赖项:

  1. 检查依赖项,通过下面指令或者可以查看源码里面的package.xml 和 CMakeLists.txt 文件,里面都有列出来:
rosdep check teb_local_planner
  • 如果都安装了会这样显示,如果没有,则需要下面指令安装缺少的依赖:
rosdep install teb_local_planner
  • 查看teb_local_planner是否安装完成:(查看导航包插件)
    *
rospack plugins --attrib=plugin nav_core

(30条消息) teb 安装及使用 teb local planner and tutorials intall from source Ubuntu20_一个摩羯座的程序猿 的 知识笔记-CSDN博客ROS teb_local_planner使用https://blog.csdn.net/shanpenghui/article/details/89091064 ;
* *二进制安装方法

  1. 打开teminal,输入
sudo apt-get install ros-melodic-teb-local-planner
  1. 验证是否安装成功
    3.
roscd teb_local_planner
  1. 若能进入teb_local_planner的目录,则表明安装成功
  2. 原文链接:https://blog.csdn.net/mecheall/article/details/104413372

二.仿真中的使用

1、新建teb_local_planner配置文件teb_local_planner_params.yaml

可以直接从tutorials中下载:

git clone https://github.com/rst-tu-dortmund/teb_local_planner_tutorials.git

在/cfg中找到所需的teb_local_planner_params.yaml。由于使用机器人odom为差动模式的,故选取diff_drive中的。

关于参数配置的具体讲解就不展开,请直接参考wiki官方教程:http://wiki.ros.org/move_base

可以将teb_local_planner_params.yaml和navigation中其他的配置文件(如costmap_common_params.yaml等)放在一起,方便查阅调用。

ROS teb_local_planner使用

然后在可以launch文件中注明全局和局部规划器,最好写一个导航核心控制参数配置move_base_params.yaml文件。

<launch>

    <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen" clear_params="true">
        <param name="base_local_planner" value="teb_local_planner/TebLocalPlannerROS">
        <param name="global_global_planner" value="global_planner/GlobalPlanner">
        <rosparam file="$(find navigation)/param/costmap_common_params.yaml" command="load" ns="global_costmap">
        <rosparam file="$(find navigation)/param/costmap_common_params.yaml" command="load" ns="local_costmap">
        <rosparam file="$(find navigation)/param/local_costmap_params.yaml" command="load">
        <rosparam file="$(find navigation)/param/global_costmap_params.yaml" command="load">
        <rosparam file="$(find navigation)/param/teb_local_planner_params.yaml" command="load">

    </rosparam></rosparam></rosparam></rosparam></rosparam></node>

</launch>

ROS teb_local_planner使用

ROS teb_local_planner使用

文件具体可以参考链接SLAM+语音机器人DIY系列:(六)SLAM建图与自主避障导航——3.ros-navigation机器人自主避障导航 – 小虎哥哥爱学习 – 博客园 (cnblogs.com)

之后就可以在仿真里调处path看到teb_local_planner的轨迹了。

Original: https://blog.csdn.net/weixin_62456310/article/details/123373746
Author: 李97
Title: ROS teb_local_planner使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/559402/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球