Cartographer配置与安装

简介: Cartographer配置与安装

工作环境

Ubuntu 18.04.6

ROS Melodic

cartographer 1.0.0

cartographer_ros 1.0.0

ceres-solver 1.13.0

下载安装工具

首先,按照cartographer_ros官方参考链接步骤,进行下载后续所需要的工具:(针对ros melodic版本)

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

创建一个工作空间

mkdir carto_ws
cd carto_ws
wstool init src

可以看到carto_ws/src文件路径下存在一个“.rosinstall”文件。

在“.rosinstall”文件中加入下述内容:

- git:
    local-name: cartographer
    uri: https://github.com/googlecartographer/cartographer.git
    version: 1.0.0
- git:
    local-name: cartographer_ros
    uri: https://github.com/googlecartographer/cartographer_ros.git
    version: 1.0.0
- git:
    local-name: ceres-solver
    uri: https://github.com/ceres-solver/ceres-solver.git
    version: 1.13.0

下载cartographer、cartographer_ros、ceres-solver

wstool update -t src

安装所需依赖

rosdep初始化:

sudo rosdep init
rosdep update

当然,我们在安装ros的过程中(Ubuntu 18.04.05 LTS配置ROS Melodic各种问题详细解决(填坑))可能已经执行过上述内容,所以如果出现“已经存在20-default.list文件”类似的错误,则可以忽略。

安装依赖:

rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

安装 abseil-cpp

使用install_abseil.sh文件安装abseil-cpp。

首先,在“src/cartographer/scripts/”路径中,创建一个“install_abseil.sh”文件,添加下述内容:

git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
git checkout d902eb869bcfacc1bad14933ed9af4bed006d481
mkdir build
cd build
cmake -G Ninja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_INSTALL_PREFIX=/usr/local/stow/absl \
  ..
ninja
sudo ninja install
cd /usr/local/stow
sudo stow absl

然后,增加此文件的执行权限。

sudo chmod +x install_abseil.sh

接着,执行此脚本:

sudo ./src/cartographer/scripts/install_abseil.sh

ninja编译

catkin_make_isolated --install --use-ninja

运行Demo

激活当前工作空间

source ~/carto_ws/install_isolated/setup.bash

下载数据,并运行Demo

wget -P ~/Downloads https://storage.googleapis.com/cartographer-public-data/bags/backpack_3d/with_intensities/b3-2016-04-05-14-14-00.bag
roslaunch cartographer_ros demo_backpack_3d.launch bag_filename:=${HOME}/Downloads/b3-2016-04-05-14-14-00.bag

运行如下:

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
目录
相关文章
|
8月前
|
Ubuntu 机器人 定位技术
Loam在Ubuntu 18.04上的一站式安装指南
现在,你已经完成了Loam在Ubuntu 18.04上的一站式安装盛宴。从更新系统清洁,到搭建魔法环境的工作空间,再到召唤和激活Loam精髓的艺术——每步都妙不可言,每步都至关重要,让你在这场技术的饕餮盛宴中大显身手。
213 8
|
机器学习/深度学习 数据可视化 自动驾驶
YOLO11-seg分割如何训练自己的数据集(道路缺陷)
本文介绍了如何使用自己的道路缺陷数据集训练YOLOv11-seg模型,涵盖数据集准备、模型配置、训练过程及结果可视化。数据集包含4029张图像,分为训练、验证和测试集。训练后,模型在Mask mAP50指标上达到0.673,展示了良好的分割性能。
6336 4
|
JavaScript Python
不吹不黑,jupyter lab 3.0客观使用体验
不吹不黑,jupyter lab 3.0客观使用体验
562 0
|
SQL 分布式计算 算法
【python】python指南(三):使用正则表达式re提取文本中的http链接
【python】python指南(三):使用正则表达式re提取文本中的http链接
372 0
|
机器人 Go 数据格式
[golang]推送钉钉机器人消息
[golang]推送钉钉机器人消息
316 0
|
开发者 Python
Python模块化编程实践指南
【7月更文挑战第20天】在Python开发中,模块化编程是一种重要的方法,它能够提高代码的可维护性、可读性和可重用性。本文将介绍Python模块化编程的基本概念,并通过一些实例演示如何有效地使用模块化编程。
|
Unix Linux 异构计算
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See /var/log/nv
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See /var/log/nv
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See  /var/log/nv
|
监控 数据挖掘 API
案例研究:如何通过淘宝天猫商品销量数据分析竞争对手
淘宝天猫的商品销量数据接口主要用于商品数据分析和监控业务,通过这些接口可以获取商品的实时销量、30天销量以及总销量等详细信息。以下是关于这一数据接口的详细介绍:
ROS noetic 安装编译Cartographer踩坑记录
ROS noetic 安装编译Cartographer踩坑记录
1739 0
ROS noetic 安装编译Cartographer踩坑记录