ROS2经验:ROS2 编译运行teb local planner

请添加图片描述

teb_local_planner是用于机器人导航和控制的局部轨迹优化器。

由于笔者所使用的ros2 galactic版本没有可以直接使用apt安装的debian包,所以需要使用源代码进行编译。


开发环境

操作系统:Ubuntu 20.04

ROS版本:ROS2 Galactic


编译和安装

直接从github上clone teb_local_planner ros2分支的源码,另外还需要clone costmap_converter源码。然后进行编译。以下列出详细操作步骤。

创建工作空间并获取源码:

mkdir -p  ~/teb_ws/src
cd ~/teb_ws/src
git clone https://github.com/rst-tu-dortmund/costmap_converter.git -b ros2
git clone https://github.com/rst-tu-dortmund/teb_local_planner.git -b ros2-master

编译前先使用rosdep安装依赖库。因为可能会缺少libg2o

cd ~/teb_ws
rosdep install -i --from-path src --rosdistro galactic -y

然后进行编译安装

colcon build

最后执行以下命令后就能在navigation2里使用teb_local_planner了。

. ~/teb_ws/src/install/local_setup.bash

运行

teb_local_planner ros2-master分支源码里没有launch文件,所以不能像teb wiki教程里那样直接运行示例。

teb_local_planner/teb_local_planner/params路径下有完整的配置参数teb_params.yaml,可以复制到navigation2的配置文件中替换dwb_local_planner插件,然后运行turtlebot3模拟的launch查看导航运行效果。

navigation2的Controller Server配置方法请参考navigation2教程:Setting Up Navigation Plugins — Navigation 2 1.0.0 documentation (ros.org)

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
### 回答1: The TEB local plannerROS(机器人操作系统)中的一种规划器,用于在机器人导航过程中生成局部路径。TEB全称为Time-Elastic Band,意为时间弹性带。它是一种流行的自适应快速规划器,用于生成机器人的轨迹,以适应环境中的不同动态障碍物。 TEB local planner的主要目标是在尽可能短的时间内生成可行的、平滑的路径。它采用时间分配机制,为路径的每个轨迹点分配一个时间戳,以确保路径的平滑性。这使得机器人能够依靠实时的感知信息做出对路径的调整。 TEB local planner具有许多优点。首先,它能够处理非常动态的环境,因为它可以实时调整路径。其次,它生成的路径在运动过程中具有平滑性和连续性,提高了机器人的运动效率和稳定性。此外,TEB local planner还可以考虑机器人的运动约束,如最大速度和最大加速度,以确保路径的可行性。 关于TEB local planner的使用,用户可以通过RViz(ROS可视化工具)或编程接口来配置参数和调整相关设置,以满足自己的导航需求。此外,TEB local planner还可以与其他ROS导航功能如全局路径规划器结合使用,以实现完整的机器人导航系统。 总之,TEB local planner是一种先进的局部路径规划器,具有自适应性和高效性,能够使机器人在复杂、动态的环境中以平滑、快速的方式进行导航。 ### 回答2: Teb local planner是一种常用于自主导航系统中的路径规划器。它主要负责生成机器人在局部环境中的路径,以实现机器人的避障和导航功能。 Teb(local)全称为Timed Elastic Band(Timed Elastic Band)本地路径规划器。它采用弹性带概念来进行路径规划,通过将路径表示为一系列时间-位姿(In pose)对的集合来建模。Teb路径规划器在机器人导航中非常流行,因为它能够同时考虑全局导航和局部避障,使机器人能够在动态环境中灵活地移动。 Teb local planner的核心算法是基于开源的ROS(机器人操作系统)框架中提供的global_planner全局规划器的结果进行局部路径规划。它结合机器人当前位置和地图信息,使用迭代优化的方法来计算机器人的最优轨迹。该方法还会考虑机器人的动力学特性,以确保生成的路径是可行的。 Teb local planner还提供了一些配置选项,以满足不同场景下的需求。例如,用户可以选择不同的轨迹生成策略、模型机器人的底盘约束、动态障碍物的处理方法等。这些选项可以根据具体的应用来调整,以获得最佳的导航性能。 总而言之,Teb local planner是一种高效且可靠的局部路径规划器,能够帮助机器人在复杂的环境中快速、安全地进行导航和避障。它在自主导航系统中扮演着重要的角色,为机器人的智能移动提供了强力支持。 ### 回答3: TEB(Timed Elastic Band)本地规划器是一种基于时序弹性带的路径规划算法。它是一种用于机器人导航的方法,可以帮助机器人在动态环境中有效、安全地规划路径。 TEB本地规划器的核心概念是弹性带,弹性带可以想象成机器人周围的一个弹簧,它会根据周围环境的变化而伸缩。机器人的运动轨迹被定义为弹性带上的一条路径,路径上的点表示机器人的位置。TEB本地规划器可以根据弹性带的状态和机器人的状态来生成路径,以实现机器人的导航。 TEB本地规划器具有以下特点: 1. 高效性:TEB本地规划器可以在动态环境中快速生成路径,因为它只考虑机器人附近的一小块区域,而不是整个地图。这种局部规划的方法可以大大减少计算量,提高规划效率。 2. 灵活性:TEB本地规划器可以根据机器人的动态特性进行路径规划。它可以考虑机器人的速度、加速度等因素,以生成平滑、符合动力学约束的路径。这样可以帮助机器人更好地避开障碍物,保证行驶的平稳性和安全性。 3. 路径优化:TEB本地规划器不仅考虑了机器人的动态特性,还考虑了路径的时间性。它可以根据机器人运动的时间窗口,在路径规划过程中进行时间优化,生成最佳的路径。这样可以使机器人在有限的时间内完成任务。 综上所述,TEB本地规划器是一种适用于机器人导航的路径规划算法,它可以在动态环境中高效、灵活地生成符合动力学约束的路径。TEB本地规划器的应用可以帮助机器人更好地完成导航任务,提高机器人的路径规划效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kal-Lai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值