Ubuntu 16.04 ROS Kinetic安装Cartographer 及使用RPLIDAR A2建图测试
Cartographer可以在ROS和非ROS环境下安装,在ROS下使用比较方便、安装也比较简单,个人推荐在ROS下安装是一个不错的选择。方法来自于官网,本人亲测Ubuntu 16.04 + ROS Kinetic完美运行。
准备工作
先安装Ubuntu 16.04 + ROS Kinetic ,Ubuntu安装这里不在赘述,网上资料比较齐全,ROS Kinetic 安装可参考官网教程
假如是新手的话,建议花一点时间适应英文网站学习,并且建议安装的时候结合官网的安装教程来装,虽然网上有很多中文教程但是不一定是最新的,如果完全按照教程中间会报错,到时候会比较烦人,所以按照官网教程看似比较麻烦,实则是一种事半功倍的方法。
下面是笔者结合官网总结出来的学习教程,供大家参考,Cartographer官网链接
1.下载需要的包
执行下面命令安装必要的包
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
2.新建一个工作空间
安装完成过后,执行下面的命令为cartographer新建一个工作空间,也何以使用自己已有的工作空间。
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
注意:在执行步骤4的时候,实际上是下载三个功能,包分别为:cartographer、cartographer_ros、ceres-solver,国内的话第三个包 ceres-solver的网址会招到拦截所以会下载失败,此时的解决办法为,从github网址下载ceres-solver 后,将其放入到工作空间,参考网址:https://github.com/BlueWhaleRobot/ceres-solver,然后接着运行第5步即可。
3.安装依赖的ROS包
上面的步骤无误后,接下来安装依赖的ROS包(proto3 ),在执行步骤2的时候之前在安装ROS的时候执行过,这个命令在执行的时候会报错,忽略即可,其它命令执行的时候不会报错。
src/cartographer/scripts/install_proto3.sh
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
4.安装编译
上面没问题过后开始编译安装,这里的编译和平时的catkin_make不太一样。
catkin_make_isolated --install --use-ninja
由于编译的内容比较大,首次编译会比较慢,耐心等待即可,根据电脑配置的不同时间长短不同,本次测试所用的工控机首次编译大概需要15分钟左右。
编译完成过后把环境变量写进.bashrc方便以后运行
echo "source ~/cartographer_ws/devel_isolated/setup.bash" >> ~/.bashrc
source ~/.bashrc
5.激光雷达RPLIDAR A2 驱动安装
本教程测试使用的是目前比较流行的思岚A2激光雷达,激光雷达的使用都差不多,假如使用不同品牌型号的,思路应该类似。
(1).首先下载并安装雷达驱动,打开终端输入以下命令:
cd ~/cartographer_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ..
catkin_make_isolated --install --use-ninja
(2).运行雷达测试驱动,没有报错的情况下雷达会转起来
roslaunch rplidar_ros rplidar.launch
雷达转起来后,命令窗口如下所示
6.激光雷达PLIDAR A2 使用Cartographer建图测试
1.修改revo_lds.lua文件
在以上步骤都正确完成后,修改cartographer下的文件
文件路径:cartographer_ws/src/cartographer_ros/cartographer_ros/configuration_files/revo_lds.lua
修改之前文件内容如下:
-- Copyright 2016 The Cartographer Authors