当前位置: 首页 > news >正文

Ubuntu20.04+ros-noetic配置Cartographer

一、概述

        因为要配置激光SLAM,Cartographer属于激光雷达SLAM 中比较经典的一款,在学习之前先将其在Ubuntu20.04首先配置出来并成功运行demo。

二、具体操作

(一)概述

        使用平台是Windows的wsl2上的Ubuntu20.04子系统,双系统与虚拟机的安装原理与这个相同。主要依照的安装操作是官方文档,链接如下所示。

Running Cartographer ROS on a demo bag — Cartographer ROS documentationicon-default.png?t=O83Ahttps://google-cartographer-ros.readthedocs.io/en/latest/demos.html        按照官方流程大概能安装下来,中间可能有些报错,这里将逐一分析我在安装过程中遇到的报错。

(二)操作流程

        1.安装依赖

        因为我的ros版本是noetic,所以根据官方的流程,我要进行这样的安装。如下所示、

sudo apt-get update
sudo apt-get install -y python3-wstool python3-rosdep ninja-build stow

        如果是之前的版本的话,可以使用下面的命令安装依赖。

sudo apt-get update
sudo apt-get install -y python-wstool python-rosdep ninja-build stow

        2.下载包

        按照官方文档操作将cartographer下载下来。官方文档中caktin_ws可以更换为其他的包名。例如我将其更换为了CartographerSLAM

mkdir catkin_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

        3. 配置依赖

       (1)运行        

        此步骤也是安装官方文档的操作进行即可,其命令以此如下面所示。需要将

${ROS_DISTRO}更改为noetic版本。
sudo rosdep init
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=noetic -y

         需要注意的是,在官方文档中的更新命令如图所示。

        意思是假如之前使用rosdep init的话,这次使用会出现错误,但这个错误对之后没有什么影响,可以忽略掉。

        (2)报错

        这里会出现关于libabsl-dev的问题,如下所示

         报错的原因是因为无法安装这个依赖。

        在github上进行查询后,发现了这样的解决方法,链接如下所示。

Error while installing dependencies: libabsl-dev not available · Issue #1726 · cartographer-project/cartographer_ros · GitHubI tried installing cartographer ros on a newly set up ubuntu system (20.04.4 LTS with ros noetic installed) and followed the following steps of the documentation: sudo apt-get update sudo apt-get install -y python3-wstool python3-rosdep ...icon-default.png?t=O83Ahttps://github.com/cartographer-project/cartographer_ros/issues/1726        大致的解决思路是,将这个包在package.xml文件中的位置给注释掉。如下所示,注意是图中红色划出来的包。

        在下面将其注释掉,如图所示。

         之后这个依赖库会手动进行安装的,在这里不用担心。

        4.编译

        (1)运行命令
src/cartographer/scripts/install_abseil.sh

        再运行下面的命令,将可能的版本冲突避免掉,如下所示,由于我的版本是noetic版本,官网上面的ros版本号,我替换为noetic版本。

sudo apt-get remove ros-noetic-abseil-cpp

         在依赖安装完成后,进行编译,输入如下的命令。命令来源于官方。

catkin_make_isolated --install --use-ninja
        (2)报错

        如图所示,直接运行会出现下面的报错。

        这个地方出现报错的原因是,多个ceres库之间的版本出现了问题。导致出现多个版本的原因是因为之前在我的系统上面,我安装过ceres库。将之前那个库删除即可。再运行一遍上面安装依赖的命令。再次编译即可编译通过。

        参考链接如下。https://github.com/cartographer-project/cartographer/issues/1901icon-default.png?t=O83Ahttps://github.com/cartographer-project/cartographer/issues/1901

        5.跑示例包

        官方网站参考如下。

Running Cartographer ROS on a demo bag — Cartographer ROS documentationicon-default.png?t=O83Ahttps://google-cartographer-ros.readthedocs.io/en/latest/demos.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • sqli-lab靶场学习(一)——Less1-4
  • Java小程序案例:电子日历记事本
  • Win11下面的StartAllBack的安装、使用流程
  • 传统CV算法——特征匹配算法
  • 瑜伽馆预约系统小程序搭建,全民健身下的市场机遇
  • VMware命令
  • 缓存类型以及读写策略
  • SSH远程连接服务
  • 关于Netty详细介绍,Netty原理架构解析
  • 【word导出带图片】使用docxtemplater导出word,通知书形式的word
  • LoRA微调模型结构可训参数和配置详解
  • SpringBoot 拦截请求打印日志
  • 读书笔记--阅读费孝通先生一生学术历程的记录与感悟
  • docker基础知识-docker0网桥
  • [建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
  • 「面试题」如何实现一个圣杯布局?
  • 【刷算法】从上往下打印二叉树
  • Angular数据绑定机制
  • Codepen 每日精选(2018-3-25)
  • Docker下部署自己的LNMP工作环境
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • node.js
  • Sublime Text 2/3 绑定Eclipse快捷键
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 对象管理器(defineProperty)学习笔记
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 七牛云假注销小指南
  • 嵌入式文件系统
  • 使用 Docker 部署 Spring Boot项目
  • 思否第一天
  • 通信类
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 移动端唤起键盘时取消position:fixed定位
  • 异常机制详解
  • 用element的upload组件实现多图片上传和压缩
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • Python 之网络式编程
  • 容器镜像
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​configparser --- 配置文件解析器​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • (C#)获取字符编码的类
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (day 12)JavaScript学习笔记(数组3)
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (八十八)VFL语言初步 - 实现布局
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (实战篇)如何缓存数据
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)