安装cartographer安装包
安装cartographer的安装包的过程如下所示:
第一步
sudo apt-get update
sudo apt-getinstall -y python-wstool python-rosdep ninja-build
mkdir catkin_ws
第二步
接下来继续执行关键的命令
wstool init src
第三步
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
第四步
wstool update -t src
注意,这里可能会出现一个问题:
就是cere-solver的包无法下载下来,除非翻墙,且网速好,因为可以更改源码包的地址。
把cere的包改成github上的下载源后的命令行如下
(把之前的代码重写了一篇)
第一步
sudo apt-get update
sudo apt-getinstall -y python-wstool python-rosdep ninja-build
mkdir catkin_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
在上面的这步之后,修改.rosinstall里面的脚本先,将cere的地址改一下,具体如下
第二步
修改完毕后
sudo gedit src/.rosinstall
wstool update -t src
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
成功后是这样的
第三步
接下来载运行
catkin_make_isolated --install --use-ninja
source install_isolated/setup.bash
最后即可安装成功
相关的编译错误
如果出现一下问题
就是在cd cartogapher, mkdir build, cd build, cmake … , make后遇到Unrecognized syntax identifier “proto3”. This parser only recognizes “proto2”。
则需要安装protobuf
安装方法一:
git clone https://github.com/protocolbuffers/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
安装方法二:
下载c++版本的protobuf,从以下网址下载
https://github.com/protocolbuffers/protobuf/releases/tag/v3.7.0
然后编译安装(其实前面的是全能版本,所有语言都有的)
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
最后的测试
可以用cartoagrapher自带的数据集测试一下
# Download the 2D backpack example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_2d/cartographer_paper_deutsches_museum.bag
# Launch the 2D backpack demo.
roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
# Download the 3D backpack example bag.
wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag
# Launch the 3D backpack demo.
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag
遇到错误 Error writing: Error opening file: 目录*.bag.active
[FATAL] [1584693451.189241892]: Error opening file: cartographer_paper_deutsches_museum.bag
1、目录不是绝对地址,如果是在launch文件运行的话,需要输入绝对地址
2、目录错误,目录名写错了,导致找不到这个目录下的文件
3、还是依然执行roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag,因为和路径有关系,不要把bag移动