写这篇博客是因为在网上看到很多胡扯八道的说法,本身安装编译cartographer没啥难度,硬是被博客里面写成了花,在国内只是因为大家都懂的原因某个网址连不上,按照官方的步骤改一下cartographer的安装脚本中的ceres-solver地址就行了。
cartographer-ros官网地址
官网的具体步骤为:
sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build
在ros工作空间中下载资源(名字以cart_ws为例)
mkdir carto_ws
cd carto_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
到这一步的时候,ctrl+h,打开隐藏文件,在carto_ws路径下可以看到有一个文件为 .rosinstall,编辑器将其打开,然后把ceres-solver下面的网址改为:
uri: https://github.com/ceres-solver/ceres-solver.git 保存退出
这一个操作意思就是,脚本中指定的网址因为大家都懂的原因我们进不去,所以我们需要找到一个替代的,GitHub上是有这个的,所以替换一下就行。
wstool update -t src
src/cartographer/scripts/install_proto3.sh
sudo rosdep init
到这一步百分百会错,不用管,继续
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
catkin_make_isolated --install --use-ninja
注意:如果是在嵌入式开发板上编译的话,由于cpu性能有可能比较低,编译的时候时间长倒还好说,关键是怕卡死。建议catkin_make_isolated --install --use-ninja -j1
不过好像编译指令会自动选择线程?
编译完成,终端没提示错误,就是安装完成了。