cartographer算法 2022实测部署成功(ubuntu18.04 melodic)

目录

0、摘要

1、安装流程

第一步:安装所有依赖

第二步:安装ceres solver

第三步:安装cartographer

第四步:安装cartographer_ros

第五步:数据下载测试

第六步:实测运行效果

2、参考内容链接


0、摘要

       非常感谢大家能来我的博客!😊😊😊

       这是cartographer_ws  源文件中需要的3个包,分别是cartographer、cartographer_ros、ceres-solver。后面会说每个包如何修改。

        如果嫌麻烦,可以直接下载我修改好的。

        GitHub - ningbo99128/cartographer_ws


1、安装流程

谷歌Cartographer学习(1)-快速安装测试 - hitcm - 博客园

        大佬写的很全,我只说需要注意的地方。

第一步:安装所有依赖

sudo apt-get install -y google-mock libboost-all-dev  libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev  libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx  ros-melodic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev

        注意:ros-melodic-tf2-eigen   要根据自己ros版本填写。

第二步:安装ceres solver

        编译ceres-solver-1.11.0会出错,但是ceres-solver-1.13.0版本就不会出错,建议换掉。

        其余步骤依旧。

第三步:安装cartographer

        由于google的gmock和gtest 从 1.7.0-4升级到 1.8.0-2后,以前的步骤需要修改一下,否则会报错:

CMake Error at /usr/src/googletest/googletest/cmake/internal_utils.cmake:149 (add_library):
add_library cannot create target "gtest" because another target with the same name already exists.  The existing target is a static library created in source directory "/usr/src/googletest/googletest".  See documentation for policy CMP0002 for more details.
Call Stack (most recent call first):
  /usr/src/googletest/googletest/cmake/internal_utils.cmake:172 (cxx_library_with_type)
  /usr/src/googletest/googletest/CMakeLists.txt:90 (cxx_library)

        解决方法:

进入到 /工作空间/src/cartographer/CMakeLists.txt,修改第55行。 

用 /usr/src/googletest/googlemock 替代 /usr/src/gmock。

        详细解决方法: 参考博客的第24个error

        ROS学习之error解决记录_内有小猪卖的博客-CSDN博客

第四步:安装cartographer_ros

参考文章说:"谷歌官方提供的安装方法比较繁琐,我对原来的文件进行了少许的修改,核心代码不变,只是修改了编译文件。

下载到catkin_ws下面的src文件夹下面

git clone GitHub - hitcm/cartographer_ros: Provides ROS integration for Cartographer.More details in Chinese http://www.cnblogs.com/hitcm/

然后到catkin_ws下面运行catkin_make即可。"

        此处catkin_make换成catkin_make_isolated好一些。总的来说, catkin_make_isolated比catkin_make更好一点, catkin_make_isolated编译时,会认为每一个功能包都是一个独立的编译空间。

        在ros下,如何添加环境变量呢?如下所示,因为该命令将每个代码包独立编译以及创建开发目录,需要添加以下命令到.bashrc文件中, 才能保证使用rosrun等ros相关命令的时候, 才能找到相关的launch等文件。

source ~/cartographer_ws/install_isolated/setup.bash

或者

source ~/cartographer_ws/devel_isolated/pkg_name/setup.bash

第五步:数据下载测试

  2d数据,大概500M,用迅雷下载比较快奥!

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/nb/datasets/cartographer_paper_deutsches_museum.bag

//红色路径替换为自己的

2d数据集全景:

 细节放大:

查看tf树:

 rosrun rqt_tf_tree rqt_tf_tree

查看图ros_graph:

 查看话题topic

2、参考内容链接

谷歌Cartographer学习(1)-快速安装测试 - hitcm - 博客园

ROS学习之error解决记录_内有小猪卖的博客-CSDN博客

add_library cannot create target “gmock“ because another target with thesame name already exists_wishchin的博客-CSDN博客

cartographer CMake Error at /usr/src/gmock/gtest/cmake/internal_utils.cmake:130 (add_library)_蠡洋的博客-CSDN博客

cartographer 安装及报错_zchao9456的博客-CSDN博客

如何选择 catkin_make和catkin_make_isolated_wallEVA96的博客-CSDN博客

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内有小猪卖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值