teb 安装及使用 teb local planner and tutorials intall from source Ubuntu20

简介

机器人导航中传统的navigation效果不好,尝试teb_local_planner后,机器人导航效果比较好,介绍一下如何源码安装。

安装步骤

  1. 检查依赖项,通过下面指令或者可以查看源码里面的package.xml 和 CMakeLists.txt 文件,里面都有列出来:
rosdep check teb_local_planner

在这里插入图片描述如果都安装了会这样显示,如果没有,则需要下面指令安装缺少的依赖:

rosdep install teb_local_planner

如果运行了出现这种错误:

ERROR: Rosdep cannot find all required resources to answer your query
Missing resource teb_local_planner
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share

在这里插入图片描述
那就需要下载好代码(先下代码!!),然后在workspace文件夹下运行以下指令:

rosdep install --from-paths src --ignore-src --rosdistro=noetic -y
  1. 去github下载源码:(记得选择对应的ROS版本分支)
cd ~/catkin_ws/src
git clone https://github.com/rst-tu-dortmund/teb_local_planner
git checkout <your_ros_version_branch>
  1. 下载好之后编译,因为我们只想对这个包进行编译,则需要在catkin_make后面加限定编译功能包的参数:
catkin_make -DCATKIN_WHITELIST_PACKAGES="teb_local_planner"
(src文件夹下面你下载的teb功能包文件夹名字)
  1. 查看teb_local_planner是否安装完成:
rospack plugins --attrib=plugin nav_core

在这里插入图片描述
在列表中如果找到teb_local_planner的话就表示安装成功了,如果没有,大概率是你没运行source devel/setup.bash这个指令,记得啊!

  1. 运行

在这里插入图片描述

  1. 安装teb_local_planner_tutorials
git clone https://github.com/rst-tu-dortmund/teb_local_planner_tutorials.git
git checkout <your_ros_version_branch>
rosdep install --from-paths src --ignore-src --rosdistro=noetic -y
catkin_make
  1. python问题
    Ubuntu20运行的话,大概率会出现下面问题:
Command 'python' not found, did you mean:

  command 'python3' from deb python3
  command 'python' from deb python-is-python3

导致启动teb_local_planner_tutorials出现下面错误:

[robot_1/Mover-7] process has died [pid 107717, exit code 127, cmd /home/shenz/Documents/amr/teb_ws/src/teb_local_planner_tutorials/scripts/move_obstacle.py __name:=Mover __log:=/home/shenz/.ros/log/228a5704-66ea-11eb-8088-8168a230ba56/robot_1-Mover-7.log].
log file: /home/shenz/.ros/log/228a5704-66ea-11eb-8088-8168a230ba56/robot_1-Mover-7*.log
[robot_1/visualize_obstacle_velocity_profile-8] process has died [pid 107726, exit code 127, cmd /home/shenz/Documents/amr/teb_ws/src/teb_local_planner_tutorials/scripts/visualize_obstacle_velocity_profile.py __name:=visualize_obstacle_velocity_profile __log:=/home/shenz/.ros/log/228a5704-66ea-11eb-8088-8168a230ba56/robot_1-visualize_obstacle_velocity_profile-8.log].
log file: /home/shenz/.ros/log/228a5704-66ea-11eb-8088-8168a230ba56/robot_1-visualize_obstacle_velocity_profile-8*.log

在这里插入图片描述
解决办法就是:

sudo apt install python-is-python3

安装完成之后,运行可能又会出现下面问题:

running rosparam delete /robot_0/move_base/
ERROR: parameter [/robot_0/move_base] is not set

在这里插入图片描述
原因是stage_ros的格式在前面加了个/,而正常是没有的,需要重新修改源码并替换掉该库。有2种方式,一是直接替换系统的库,二是另外编译stage_ros的源码,然后source,这样不会对系统的更改,比较好,推荐。

步骤:
1.下载stage_ros源码

git clone https://github.com/shanpenghui/stage_ros.git

主要改动:
在这里插入图片描述

2.编译stage_ros

source /opt/ros/noetic/setup.bash
catkin_make -j4

3.把编译好的stage_ros配置入系统环境,非常重要的一步

source devel/setup.bash

4.重新编译teb_local_planner和teb_local_planner_tutorials,注意不要在新的终端启动,而是要在运行了上面指令的终端下继续编译,否则还是会用到系统的stage_ros,而不是自己编译的stage_ros

cd teb_ws
rm -rf build devel
catkin_make -j4
source devel/setup.bash

5.运行

roslaunch teb_local_planner_tutorials dyn_obst_corridor_scenario.launch

在这里插入图片描述

或者

roslaunch teb_local_planner_tutorials dyn_obst_costmap_conversion.launch

在这里插入图片描述

  • 12
    点赞
  • 145
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晚餐男孩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值