本人小白一个,这是在自己装成功之后,回忆和参考其他大神的,有什么错误请指正。
该算法较为强大,更新速度也比较快,建议各位关注最新版的软件包。
1.安装rosdep和wstool
sudo apt-get install -y python-wstool python-rosdep ninja-build
2.新建工作空间
mkdir catkin_ctg
进入新建的工作空间
cd catkin_ctg
wstool init src
3.开始下载软件(翻墙)
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
这一步可能会存在ceres-solver连接超时问题,不用担心,直接进入src文件夹,克隆github上的包
cd src
git clone https://github.com/ceres-solver/ceres-solver.git
然后进行下一步
wstool update -t src
rosdep install --from-paths src --ignore-src --rosdistro=${kinetic} -y
4.编译
catkin_make_isolated --install --use-ninja
编译的时候可能报错,提示protoc版本过低,Unrecognized syntax identifier “proto3”. This parser only recognizes “proto2”,你可以输入如下命令看一下protoc版本号,
protoc --version
显示版本2.6,升级就可以了
libprotoc 3.5.1
去https://github.com/google/protobuf/releases下载最新版本,第一个文件
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
./configure --prefix=/usr
查看版本号
编译
catkin_make_isolated --install --use-ninja
环境
source install_isolated/setup.bash
下载测试包
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
运行
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/cartographer_paper_deutsches_museum.bag
正常情况下,就会有这张贼大的地图图片,如果,运行报错,看看 下载的测试bag包所在目录和运行命令行里面的目录是否一致。