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

ROS2经验:ROS2 编译运行teb local planner_第1张图片

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)

你可能感兴趣的:(ROS2,自动驾驶,经验分享)