teb_local_planner的详尽资料(包括安装及导航,参数调节等)请参考其ros官方文档:http://wiki.ros.org/teb_local_planner和http://wiki.ros.org/teb_local_planner/Tutorials。

teb_local_planner的github源码:https://github.com/rst-tu-dortmund/teb_local_planner。

一、作用机制

teb_local_planner将navigation里的base_local_planner替换,故其作用机制和base_local_planner一样为ros的plugin机制。plugin的使用可以参考:http://www.cnblogs.com/W-chocolate/p/4328725.html。

二、teb_local_planner的安装步骤如下(注意ros为kenetic版):

1、安装依赖:

rosdep install teb_local_planner

2、从github上下载源码:https://github.com/rst-tu-dortmund/teb_local_planner

3、放入工作空间的/src文件夹中

4、catkin_make -DCATKIN_WHITELIST_PACKAGES=“源码存放的文件夹名字”(单独编译teb_local_planner)

5、查看teb_local_planner的plugin是否安装完成

rospack plugins --attrib=plugin nav_core

如果能查询到teb_local_planner,则表明以及准备就绪。

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

三、使用

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中的。

2、将teb_local_planner_params.yaml和navigation中其他的配置文件(如costmap_common_params.yaml等)放在一起,方便查阅调用。个人习惯如此,也可以不放在一起。

3、在启动navigation的launch文件中load上述配置文件

...

...

4、在启动navigation的launch文件中声明base_local_planner采用先前注册的plugin

...

...

当然也可以选择在move_base_params.yaml中声明。

5、启动navigation,在rviz中将三条path调出来,即可观察机器人导航过程中规划路径的变化。

此外,可以通过rosrun rqt_reconfigure rqt_reconfigure动态调节参数使机器人导航性能达到最佳。关于参数调节的方法请参考其ros官方文档。实际使用的经历来看,采用从teb_local_planner_tutorials下载下来的默认参数达到的性能已经远优于原始navigation中的路径规划算法的性能。我认为teb_local_planner的应用价值非常大。

四、异常处理

原因是相关库没有安装好,根据提示把库安装好就可以使用了。

解决办法,比较懒,没有一个个试试,所以直接都安装了,有兴趣的小伙伴可以尝试分部分,O(∩_∩)O哈哈~

sudo apt install ros-kinetic-mbf-costmap-core ros-kinetic-mbf-costmap-nav ros-kinetic-move-base-flex ros-kinetic-move-base-to-manip ros-kinetic-moveit-kinematics ros-kinetic-moveit-ros-manipulation ros-kinetic-moveit-ros-move-group ros-kinetic-moveit-ros-perception ros-kinetic-moveit-ros-planning ros-kinetic-moveit-ros-planning-interface ros-kinetic-moveit-ros-warehouse ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-assisted-teleop ros-kinetic-carrot-planner ros-kinetic-dwa-local-planner ros-kinetic-global-planner ros-kinetic-goal-passer ros-kinetic-move-slow-and-clear ros-kinetic-navigation ros-kinetic-navigation-experimental ros-kinetic-navigation-layers ros-kinetic-navigation-stage ros-kinetic-navigation-tutorials ros-kinetic-pose-follower ros-kinetic-range-sensor-layer ros-kinetic-roomba-stage ros-kinetic-sbpl-lattice-planner ros-kinetic-sbpl-recovery ros-kinetic-social-navigation-layers ros-kinetic-twist-recovery ros-kinetic-cost-map ros-kinetic-cost-map-demos ros-kinetic-cost-map-ros ros-kinetic-cost-map-visualisations ros-kinetic-costmap-prohibition-layer ros-kinetic-grid-map-costmap-2d ros-kinetic-grid-map-cv ros-kinetic-grid-map-ros ros-kinetic-grid-map-visualization

dwa的区别 teb_teb_local_planner安装及使用相关推荐

  1. 计算机机房使用什么加湿器,机房空调加湿器和加湿灌有什么区别?安装时需要满足哪些条件?...

    原标题:机房空调加湿器和加湿灌有什么区别?安装时需要满足哪些条件? 前言: 机房空调加湿器.加湿灌是机房加湿的最佳方式,机房中的计算机数量非常的多,这些电子设备工作时间长,因此会产生很大的热量,机房内 ...

  2. SQL Server2000 版本区别及安装图解

    SQL Server2000 版本区别及安装图解 By feng1725 发表于 2006-3-13 20:01:00 版本区别 SQL Server 2000有四个版本:企业版/标准版/个人版/开发 ...

  3. 谈谈Win7 32位和64位的区别及安装须知。

    转载自品略图书馆 http://www.pinlue.com/article/2020/04/0621/0510123321316.html Win7系统32位和64位的区别已经是一个老话题了,可是还 ...

  4. 基于ARM的GCC编译器,各版本arm-gcc区别与安装

    arm-linux-gcc.arm-none-eabi-gcc.arm-eabi-gcc.arm-none-linux-gnueabi-gcc区别 arm-none-eabi-gcc ==(ARM a ...

  5. 各版本arm-gcc区别与安装

    原文地址:https://www.jianshu.com/p/fd0103d59d8e 一.arm-linux-gcc.arm-none-eabi-gcc.arm-eabi-gcc.arm-none- ...

  6. 黑苹果与白苹果的区别及其安装方式

    黑苹果与白苹果的区别: 白苹果:在mac电脑上安装的osx系统:安装正式版的 黑苹果:在非mac电脑上安装的osx系统:安装懒人版(稳定性较差) 黑苹果的安装大致分为: gpt+uefi+window ...

  7. labelImg和labelme的区别、安装和基本使用

    文章目录 labelImg和labelme的区别 labelImg labelme 区别 CV的四大基本任务 labelImg的安装和使用 labelImg的安装--Win10 labelImg的使用 ...

  8. dwa的区别 teb_dwa杨算法解析1

    准备过程: 入口 bool DWAPlannerROS::computeVelocityCommands(geometry_msgs::Twist& cmd_vel) 1. planner_u ...

  9. MAC系统PKG文件和DMG文件有哪些区别VMWare安装Mac OS

    MAC系统中的文件包含着两种格式,一种PKG文件,还有一种便是DMG文件.许多用户都对这两种格式的文件分不清,认为它们是同一种类型的文件.其实并不是这样的,今天,小编就为大家介绍一下这两个格式文件的区 ...

最新文章

  1. 树莓派Android Things物联网开发:创建一个Things项目
  2. 从Google Scholar看各大科技公司的科研水平
  3. PXE新手经典思路引导
  4. 南通一酒店搞了个“虎景房”,这睡得着?
  5. java 消息推送_hanbo-push分布式消息推送、IM服务
  6. 1070 结绳 (25 分
  7. 17.合并两个排序的链表
  8. 信息传递(luogu 2661)
  9. 删除文件部分内容 php,php实现遍历目录并删除指定文件中指定内容_php技巧
  10. ObjC学习11-复制对象与归档
  11. “System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案...
  12. (一)洞悉linux下的Netfilteriptables:什么是Netfilter?
  13. 帝国cms7.2密码修改
  14. 华为路由器 环回互通实验(顺时针)
  15. 从Dijkstra谈帅才的洞察力
  16. java学习0701(前端内容知识)
  17. ORA-39087: Directory Name Is Invalid
  18. 图形世界分裂的两派——理清Direct3D和OpenGL的脉络
  19. 如何用好 Google 等搜索引擎?
  20. 基于java家庭理财记账系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

热门文章

  1. 从MyEclipse到IntelliJ IDEA ——让你脱键盘,全键盘操作
  2. SPOJ - QTREE5 Query on a tree V 边分治
  3. 超好用的推广引流方法,看完赶紧用!
  4. centos改动sshport
  5. Java知多少(23)类的基本运行顺序
  6. 在线听音乐要收费,你愿意吗?
  7. iOS 成员变量的作用范围
  8. OpenERP 7.0版本发布
  9. 第一章 插件安装和代码导出
  10. C语言中标准输入流、标准输出流、标准错误输出流