文章目录
前言
提示:本次配置cartographer功能包于 2023年3月27 日:
在学习ROS的道路上,难免会遇到一些环境带来的难以改变的因素,在学习ROS中运用gmapping建图并不理想,然后改用成谷歌开发的cartographer功能包进行建图,获得机器人的实时位姿,同时cartographer算法是在计算资源有限的情况下,构建相对较高精准的2D和3D地图。因此,需要搭建好cartographer的环境配置。
本文ROS版本为melodic 系统为Ubuntu18.04工作空间名称为cartographer_ws
一、二进制安装
sudo apt-get update
sudo apr-get install ros-melodic-cartographer*
二、源码安装
源码安装代码:
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
mkdir cartographer_ws
cd cartographer_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin_make_isolated --install --use-ninja
source ./devel_isolated/setup.bash
代码解析和安装时出现的报错问题
1.安装工具
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
2.初始化工作空间
创建工作空间并进入到工作空间
mkdir cartographer_ws
cd cartographer_ws
初始化工作空间
wstool init src
3.加入cartographer_ros.rosinstall 并更新依赖
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
4.安装依赖并下载cartographer相关功能包
rosdep update
因为使用是校园网,所以在运行中出现了网络超时的缘故,然后我换成热点,再次运行rosdep update
如下图:
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} - y
在运行时,代码出现了缺少ros的libabsl-dev依赖
本文ROS版本为melodic 系统为Ubuntu18.04工作空间名称为cartographer_ws
因此我们需要更改一下~/cartographer_ws/src/cartographer/package.xml功能包清单
sudo gedit ~/cartographer_ws/src/cartographer/package.xml
把原本的
<depend>libabsl-dev</depend>
改为
<!--<depend>libabsl-dev</depend>-->
再次执行代码
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} - y
5.编译并安装
catkin_make_isolated --install --use-ninja
出现编译有问题是因为缺少了 abseil-cpp
首先我们要安装 stow 依赖
sudo apt-get install stow
sudo chmod +x ~/cartographer_ws/src/cartographer/scripts/install_abseil.sh
cd src/cartograpger/scripts
./install_abseil.sh
再回到工作空间并再次编译下载
cd ~/cartographer_ws/
再次编译安装
catkin_make_isolated --install --use-ninja
刷新环境变量
source ./devel_isolated/setup.bash
总结
以上就是本文安装的过程,希望此次文章能帮助到大家。