Ubuntu20.04+ros-noetic配置Cartographer

2024-09-07 15:44

本文主要是介绍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

这篇关于Ubuntu20.04+ros-noetic配置Cartographer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145472

相关文章

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to