Ubuntu20+Noetic+cartographer_ros编译部署

news2024/12/31 5:33:35

1 准备工作

(1)准备Ubuntu20系统。
(2)安装ROS系统,参考

https://blog.csdn.net/weixin_46123033/article/details/139527141

(3)Cartographer相关软件包和源码下载:

https://gitee.com/mrwangmaomao/cartographer_slam

(4)安装依赖

sudo apt-get update
sudo apt-get install -y \
    clang \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libceres-dev \
    libcurl4-openssl-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    lsb-release \
    ninja-build \
    python3-sphinx \
    stow

2 编译

编译abseil

cd abseil-cpp
git checkout 215105818dfde3174fe799600bb0f3cae233d0bf # 20211102.0
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

编译protobuf

VERSION="v3.4.1"

# Build and install proto3.
git clone https://github.com/google/protobuf.git
cd protobuf
mkdir build
cd build
cmake -G Ninja \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_BUILD_TYPE=Release \
  -Dprotobuf_BUILD_TESTS=OFF \
  ../cmake
ninja
sudo ninja install

编译Ceres

cd ceres-solver-1.14.0
mkdir build
cd build
cmake ..
make -j3
make test
sudo make install

编译cartographer

cd cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install

编译cartographer_ros

在这里插入图片描述

catkin_make_isolated --install --use-ninja

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

go语言后端开发学习(七)——如何在gin框架中集成限流中间件

一.什么是限流 限流又称为流量控制(流控),通常是指限制到达系统的并发请求数。 我们生活中也会经常遇到限流的场景,比如:某景区限制每日进入景区的游客数量为8万人;沙河地铁站早高峰通过站外排队逐一放行的…

ElementUI 快速入门:使用 Vue 脚手架搭建项目

文章目录 一 . ElementUI 的基本安装1.1 通过 Vue 脚手架创建项目1.2 在 vue 脚手架中安装 ElementUI1.3 编写页面 ElementUI 是 Vue.js 的强大 UI 框架,让前端界面开发变得简单高效。本教程将带你从安装到实战,快速掌握 ElementUI 的核心技巧。 核心内容…

解决antd-design-vue给选择组件a-select下拉菜单ant-select-dropdown设置样式不生效

实现效果:正常a-select会根据分辨率、缩放比例动态计算位置等,现在web端已经实现自适应分辨率,需要给下拉菜单设置固定的定位和宽度等样式,不让组件自动瞎设置定位、大小 1、a-select组件加上:getPopupContainer"(triggerNo…

IP地址、地址分类、子网掩码、子网划分、使用Python计算子网划分

IP 地址(Internet Protocol Address)乃是用于明确标识网络中各类设备的独一无二的地址。IP 地址主要存在两种重要类型,即 IPv4 和 IPv6 。 IPv4地址 IPv4 地址实则是一个由 32 位二进制数字所构成的标识,通常会以四个十进制数字…

如何精细优化网站关键词排名:实战经验分享

在数字营销日益激烈的今天,我深知每一个关键词的排名都关乎着网站的流量与转化。凭借多年的实战经验,我深刻体会到,要想在浩如烟海的网络世界中脱颖而出,精细化的关键词优化策略至关重要。今天,我将从实战角度出发&…

WPF利用Path自定义画头部导航条(TOP)样式

1;新建两个多值转换器,都有用处,用来动态确定PATH的X,Y州坐标的。 EndPointConverter 该转换器主要用来动态确定X轴,和Y轴。用于画线条的。 internal class EndPointConverter : IMultiValueConverter {public object Convert(object[] val…

PD虚拟机占用多少内存?使用电脑的虚拟内存会损害电脑吗

当我们讨论虚拟机及其对电脑性能的影响时,常常会出现两个关键问题:“PD虚拟机需要占用多少内存?”以及“启用电脑的虚拟内存是否会损害硬件?”对于依赖虚拟机进行日常工作的用户而言,这些问题尤为重要。 在本文中&…

Docker上安装mysql

获取 MySQL 镜像 获取镜像。使用以下命令来拉取镜像: 1docker pull mysql:latest 这里拉取的是最新版本的 MySQL 镜像。你也可以指定特定版本,例如: 1docker pull mysql:8.0 运行 MySQL 容器 运行 MySQL 容器时,你需要指定一些…

Linux与Ubuntu:内核与发行版的关系

在计算机科学的领域内,Linux和Ubuntu这两个术语频繁出现,但它们之间的确切联系往往不为大众所熟知。本文旨在深入探讨Linux内核与Ubuntu操作系统发行版之间的技术关系,并阐明它们各自的独特性质。 Linux内核:操作系统的基石 Lin…

R语言统计分析——功效分析(选择效应值)

参考资料:R语言实战【第2版】 功效分析中,预期效应值时最难决定的参数。它通常要求我们对研究主题有一定的了解,并由相应的测量经验。例如,过去研究中的数据可以用来计算效应值,这能为后来深层次的研究提供一些参考。 …

虚拟机Linux+Ubuntu操作系统 如何在虚拟机上安装docker VMPro 2024在线激活资源

一般情况下 不建议在windows系统上安装docker Windows本身就自带一个虚拟机叫WSL 但是不推荐在日常使用的电脑上安装 我们要下一个虚拟机 我们在window上安装docker会被告知WSL内核太老 我们要一个专业的 隔离的虚拟机软件 推荐使用虚拟机 这是我们的虚拟机软件 我们这边…

爬虫代理API的全面解析:让数据抓取更高效

在大数据时代,网络爬虫已经成为收集和分析数据的重要工具。然而,频繁的请求会导致IP被封禁,这时候爬虫代理API就显得尤为重要。本文将详细介绍爬虫代理API的作用、优势及如何使用,帮助你更高效地进行数据抓取。 什么是爬虫代理AP…

Python | Leetcode Python题解之第403题青蛙过河

题目: 题解: def canCross(stones: List[int]) -> bool:lru_cache(None)def dfs(pos,step):if posstones[-1]: return Truefor d in [-1,0,1]:if stepd>0 and posstepd in set(stones):if dfs(posstepd, stepd):return Truereturn Falsepos, step…

移动UI:看看筛选页面的作用和示例啦。

在移动UI中,筛选页面通常用于允许用户根据特定条件或标准来过滤和查找数据。筛选页面在移动UI中起到了提供数据过滤、排序和个性化展示的功能,帮助用户快速找到所需信息,并提供更好的用户体验。 1. 数据过滤: 允许用户根据各种条…

服务器数据增量迁移方案-—SAAS本地化及未来之窗行业应用跨平台架构

一、数据迁移增量同步具有以下几个优点: 1. 减少数据传输量:只传输自上次同步以来更改的数据,而不是整个数据集,这显著降低了网络带宽的使用和传输时间。 2. 提高同步效率:由于处理的数据量较小,同步过程…

Java应用压测工具JMeter

目录 1、下载JMeter 2、配置环境变量 3、配置语音 4、使用 1、下载JMeter Apache JMeter - Apache JMeter™ 千万别下载这个,会报错、 千万别下载这个,会报错、 千万别下载这个,会报错 下载这个,失败多下载几次 2、配置环…

京东广告投放平台整洁架构演进之路

前言 从去年开始京东广告投放系统做了一次以领域驱动设计为思想内核的架构升级,在深入理解DDD思想的同时,我们基于广告投放业务的本质特征大胆地融入了自己的理解和改造。新架构是从设计思想到落地框架都进行了彻底的革新,涉及内容比较多&am…

lvs-dr模式实验详解

华子目录 lvs-dr(企业当中最常用)dr模式数据逻辑dr模式数据传输过程dr模式的特点实验拓扑实验主机准备实验步骤1.client的ip设定2.router上的ip设定3.router开启路由转发功能4.lvs主机中的ip设定5.webserver1主机中的ip设定6.webserver2主机中的ip设定7.…

6.6高斯噪声

在OpenCV联合C中给一张图片添加高斯噪声(Gaussian Noise),可以通过生成随机数并在图像的每个像素上加上这些随机数来实现。高斯噪声是一种统计分布服从正态分布的噪声,通常用于模拟自然界的许多物理现象。 示例代码 以下是一个使…

设计师私藏的 PDF 转 JPG 利器

你平常会通过扫描来发送文件吗?为了保证图片的清晰度一般都会采用PDF格式来转发,但是要插入到一些文件里的时候PDF格式不是那么好用。这时候就很需要PDF转jpg工具了。今天我就分享几款我用过的PDF转jpg的工具,有兴趣就接着往下看吧。 1.福昕…