Cartographer安装与配置
正好最近因为论文需要,又配置了一遍Cartographer并跑通了,于是想趁着热乎劲,将配置过程记录下来。
Cartographer安装
这里贴出官方给的参考文档Cartographer官方安装教程,不需要翻墙,可以参考一下。
我个人对照网上的教程实测下来的步骤总结如下:
1、首先做好前期工作
//安装 rosdep 和 ninja
sudo apt-get update
sudo apt-get install -y python-rosdep ninja-build
//创建一个新的工作空间
//因为之前已经创建了名为'catkin_ws'的工作空间
//以示区分,这里创建名为'google_ws'的工作空间
//依然是在 /home/你的用户名目录/ 下创建
mkdir -p ~/google_ws/src
cd ~/google_ws/src
google_init_workspace
2、然后准备Cartographer相关的三个包
配置Cartographer需要三个包,分别是:Cartographer、Cartographer_ros 和ceres-solver。
//官方给的办法是通过wstool工具下载
//首先得有wstool工具
sudo apt-get install python-wstool
//然后通过官方的链接进行下载
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src
//这里我个人试了一下
//首先cere-solver包肯定是不能下的,需要翻墙
//其次cartographer和cartographer_ros好像也没有下完整
//总之就是下载不太稳定
于是我尝试直接在浏览器上打开链接https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstal
出现了对应三个包的下载地址:
- git: {local-name: cartographer, uri: 'https://github.com/googlecartographer/cartographer.git', version: '1.0.0'}
- git: {local-name: cartographer_ros, uri: 'https://github.com/googlecartographer/cartographer_ros.git', version: '1.0.0'}
- git: {local-name: ceres-solver, uri: 'https://ceres-solver.googlesource.com/ceres-solver.git', version: '1.13.0'}
前面两个包给的是Github上的下载地址,所以不需要翻墙就可以直接下载,而第三个需要科学上网,所以我们可以直接到第三个链接地址把ceres-solver包下载好,这里推荐一个科学上网工具坚果,这个工具每天签到可以免费使用15min,请大家规范科学使用,网站经常找不到,看缘分了。
三个包下载后,用U盘拷贝到树莓派,解压后放到 ~/google_ws/src 目录下。
3、安装、初始化、编译
//安装 proto3.sh
//在google_ws目录下
src/cartographer/scripts/install_proto3.sh
//安装 deb 依赖
sudo rosdep init
//输入上面这个命令时,可能会打印error,意思就是已经存在该依赖项,可以忽略
rosdep update
//下一步命令:rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
//需要把大括号里的ROS_DISTRO改成自己所使用的ROS系统版本
//我用的是ROS kinetic
//所以命令为
rosdep install --from-paths src --ignore-src --rosdistro=${kinetic} -y
//编译 & 安装
//在google_ws目录下
catkin_make_isolated --install --use-ninja
//最后需要source下环境
source install_isolated/setup.bash
//② 或者直接
catkin_make_isolated
source devel_isolated/setup.bash
建议把该句source命令直接写入系统的bashrc环境里
vim ./bashrc
//然后把该句source命令添加到最后一行即可
4、安装配置完毕后,下载数据包进行测试。
2D数据大概,大概500M,可以直接复制到迅雷下载。
下载链接:https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag添加链接描述
3D数据大概在8g左右,下载链接:https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag
我这里测试用的2D数据包
然后运行launch文件即可,这里需要一点ros基础。
对应命令
//建议把下载的测试包放在ubuntu的Downloads目录下,否则找不到测试包
//切记运行前要确保已经执行source命令,配置好环境,否则报错找不到launch文件
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/cartographer_3d_deutsches_museum.bag
报错找不到launch如图所示
解决办法就是执行
source install_isolated/setup.bash 或 source devel_isolated/setup.bash
2D测试结果如图:
至此,cartographer包安装和测试都已经完成,仅供大家参考。
后续会拿Cartographer包跑实际场景的地图,等跑完再继续更新结果。
参考链接:
1、https://blog.csdn.net/weixin_40712763/article/details/82292087