ubuntu 18.04和ROS melodic上cartographer安装过程记录
ubuntu 18.04和ROS melodic上cartographer安装过程记录
首先打开这个网址然后按着上面的步骤一点一点来。
注意区别:官网指导手册中的:
After the tools are installed, create a new cartographer_ros workspace in ‘catkin_ws’.
这一步,为了不与ros的工作空间重叠,可以改成‘catkin_google_ws’。
同时,在后面的rosdep update命令时,如果提前安装了ros,这一步会报错,但是是正常情况,无视跳过即可。
编译失败
编译失败,如图,提示是command failed
部分解决方案参考室友的文章主要问题是:如果利用官网命令失效时,可以利用git 命令,具体git的域名和指令为:
cd ~/carto_ws/src
git clone https://github.com/googlecartographer/cartographer_ros.git
git clone https://github.com/googlecartographer/cartographer.git
git clone https://github.com/ceres-solver/ceres-solver.git
同时 proto的安装好像不需要按照他的那个步骤,特别麻烦,好像现在新版的包里官方直接写了一个脚本,运行指令为:
src/cartographer/scripts/install_proto3.sh
总结
我第一次安装的时候遇到过2种编译错误,但是有明显不一样。粗略估计是因为文件下载的时候有一点错误(毕竟国内网不好),所以导致了最终编译错误,解决办法我个人感觉有两种:
- 手动去github把源码下载下来,解压到catkin_google_ws/src 文件夹里,手动编译。
- 把官方的命令
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall wstool update -t src
换成git命令 感觉容易成功一点,且git命令可以git其他github博主的包,成功率更高。
比如张明明大佬的
后面将所有命令记录如下:
sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow //老版ROS和ubuntu换成sudo apt-get install -y python-wstool python-rosdep ninja-build stow
mkdir catkin_google_ws
cd catkin_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src //这一步可以换成手动git
sudo rosdep init //这一步会报错,可以无视
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
src/cartographer/scripts/install_proto3.sh
src/cartographer/scripts/install_abseil.sh
sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
catkin_make_isolated --install --use-ninja
最后附一张运行demo的图:
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}/Downloads/cartographer_paper_deutsches_museum.bag