cartographer-(0)-ubuntu(20.04)-环境安装

1.安装 ROS wiki.ros.org


1.1修改镜像源:





     到网站上找与操作系统相匹配的镜像源
     ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  

  

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-proposed main restricted universe multiverse
#1.root 用户
sudo passwd root
su - root#2.root 用户 修改下载源cd /etc/apt/cp sources.list  sources-ini.listvim /etc/apt/sources.listapt-get  updateapt-get upgradeapt install vim

 
1. 2.安装对应版本的ros




 

 

2.安装 cartographer

2.1先安装FTP服务器

#1.安装ftp服务器apt install vsftpdsystemctl status vsftpdcd /etc/vsftpd.confvim /etc/vsftpd.conflocal_enables=YESwrite_enable=YESanonymous_enable=YESanon_mkdir_write_enable=YES   //允许匿名用户在FTP上创建目录anon_upload_enable=YES  //允许匿名用户在FTP服务器上上传文件anon_other_write_enable=YES  //开启匿名用户的其他写权限

 
  2.2 安装 cartographer依赖库
 

#1.安装ROS
sudo apt install ros-melodic-desktop-full
#2.初始化rosdep
sudo rosdep init
apt install python3-rosdep2
rosdep update
#3.设置环境变量echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrcsource ~/.bashrc
#4.安装rosinstallapt install python3-rosdep2apt install python-rosinstall python-rosinstall-generator python-wstool build-essential复制文件到目录: cartographer_install
chmod +x auto-carto-build.sh
./auto-carto-build.sh 

2.3 安装编写的运行脚本 ceres-solver ,protobuf,cartographer

2.3.1 运行环境
 


/home/tang/cartographer/cartographer_install
安装脚本的编写参考:
Cartographer — Cartographer documentation

#!/bin/bash#1 Install the required libraries that are available as debs.
# sudo apt-get update
sudo apt-get install \clang \cmake \g++ \git \google-mock \libboost-all-dev \libcairo2-dev \libcurl4-openssl-dev \libeigen3-dev \libgflags-dev \libgoogle-glog-dev \liblua5.2-dev \libsuitesparse-dev \lsb-release \ninja-build \stow \python3-wstool \python3-rosdep \python3-sphinx \libatlas-base-dev#2 Build and install abseil-cpp
set -o errexit
set -o verbosecd 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#3 Build and install Ceres.
cd -
cd ../../ceres-solver
mkdir build
cd build
cmake .. -G Ninja -DCXX11=ON
ninja
#CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install#4 Build and install proto3.
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#5 Build and install Cartographer.
cd ../../cartographer
mkdir build
cd build
cmake .. -G Ninja
ninja
#CTEST_OUTPUT_ON_FAILURE=1 ninja test
sudo ninja install

 出现:
   fatal: detected dubious ownership in repository
原因:权限的问题。
解决方法:
git config --global --add safe.directory /home/tang/cartographer/cartographer_install/abseil-cpp
 

2.3.2源码编译 


目录:/home/tang/carto_ws/cartographer_detailed_comments_ws/

下载注释的代码:
https://github.com/xiangli0608/cartographer_detailed_comments_ws
git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws.git

 

#1.编译源码 git 下在
cd /home/tang/
mkdir carto_ws
cd carto_ws
git clone https://github.com/xiangli0608/cartographer_detailed_comments_ws.git#更新git
git pull origin master#2.编译源码
./catkin_make.sh#3.vim ~/.bashrc 
source /home/tang/carto_ws/cartographer_detailed_comments_ws/install_isolated/setup.bash#4. 4个包
/home/tang/carto_ws/cartographer_detailed_comments_ws/src/cartographer
/home/tang/carto_ws/cartographer_detailed_comments_ws/src/cartographer_ros/cartographer_ros
/home/tang/carto_ws/cartographer_detailed_comments_ws/src/cartographer_ros/cartographer_ros_msgs
/home/tang/carto_ws/cartographer_detailed_comments_ws/src/cartographer_ros/cartographer_rviz

 error,当出现找不到rosbag等包时,不要修改cmake文件,安装各种包即可。

sudo apt install ros-noetic-ros-rosbag
sudo apt install ros-noetic-turtle-tf2
sudo apt install ros-noetic-tf2-tools 
sudo apt install ros-noetic-urdf-tutorial

2.到目录下执行脚本编译


到目录下直接执行catkin_make不行,会报错

 

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

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

相关文章

YOLOv7独家改进新颖Neck:RepBiPAN结构升级版,为YOLOv7目标检测打造全新特征融合方式,增强小目标定位精度

💡本篇内容:YOLOv7改进新颖Neck:RepBiPAN 结构升级版,为YOLOv目标检测打造全新特征融合方式,增强小目标定位精度 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv7 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv7专属 全新 RepBi…

【React-hooks篇幅】自定义hooks

首先得了解自定义 Hooks 跟普通函数区别在于哪里? Hooks 只应该在 React 函数组件内调用,而不应该在普通函数调用。Hooks 能够调用诸如 useState、useEffect、useContext等,普通函数则不能。由此可以通过内置的Hooks等来获得Firber的访问方式…

Linux基础指令大全

Linux基础指令大全 1. ls 指令2. pwd命令3. cd 指令4. touch指令5. mkdir指令6. rmdir指令 && rm 指令7. man指令8.cp指令9. mv指令10. cat 指令11. more指令12. less指令13. head指令14. tail指令15. 时间相关的指令1. **在显示方面,使用者可以设定欲显示的…

node中的crypto模块指南

node中的crypto模块指南 加密操作可能很棘手,以至于付费的加密服务公司的存在只是为了确保在代码库中正确实现加密操作。好消息是,只需学习一些知识,我们就可以使用 Node 的内置加密模块免费进行适当的加密。 在本指南中,我们将…

vcpkg切换 Visual Studio 版本

vcpkg切换 Visual Studio 版本 在使用vcpkg作为项目的包管理工具时,可能会遇到需要切换Visual Studio版本的情况。下面是一种简单的方法来实现这个目标,通过修改triplet文件来指定使用的Visual Studio版本。 步骤1: 创建或修改Triplet文件 首先&#…

2023-2024年华为ICT网络赛道模拟题库

2023-2024年网络赛道模拟题库上线啦,全面覆盖网络,安全,vlan考点,都是带有解析 参赛对象及要求: 参赛对象:现有华为ICT学院及未来有意愿成为华为ICT学院的本科及高职院校在校学生。 参赛要求&#xff1a…

基于共生生物优化的BP神经网络(分类应用) - 附代码

基于共生生物优化的BP神经网络(分类应用) - 附代码 文章目录 基于共生生物优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.共生生物优化BP神经网络3.1 BP神经网络参数设置3.2 共生生物算法应用 4.测试结果…

嵌入式养成计划-32-网络编程----域套接字模型------抓包工具--wireshark

六十九、 域套接字模型 69.1 域套接字的概念 只能做一台主机内的进程间通信,协议族(地址族)指定为:AF_UNIX AF_LOCALbsp-lcd: s类型文件,就是域套接字如果客户端不手动绑定,则操作系统不会创建…

【苍穹外卖 | 项目日记】第一天

前言: 我打算用16天的时间写完黑马程序员的苍穹外卖项目,为了督促自己每天坚持写以及记录项目知识点,所以用这种项目日记的方式鞭策自己 目录 前言: 今日完结任务: 今日收获: 1.阅读代码框架&#xf…

web中缓存的几种方式

看了构建高性能的web站点一书,对其中的集中web缓存进行一个总结 1 应用程序实现的动态页面缓存 应用程序把动态文件生成的html文件缓存到文件服务器,以后用户请求动态文件,直接从文件服务器加载对应的静态缓存的html文件返回给用户&#xff…

运行vite项目报错:await import(‘source-map-support‘).then((r) => r.default.install())

项目场景: Electron vue3 vite项目实现屏幕截图功能 问题描述 运行 npm run dev 启动项目报错 await import(source-map-support).then((r) > r.default.install()) PS D:\study\electron\electronDemo> npm run dev> electronDemo0.0.1 dev D:\study…

Kafka客户端核心参数详解

这一部分主要是从客户端使用的角度来理解 Kakfa 的重要机制。重点依然是要建立自己脑海中的 Kafka 消费模型。Kafka 的 HighLevel API 使用是非常简单的,所以梳理模型时也要尽量简单化,主线清晰,细节慢慢扩展。 一、从基础的客户端说起 Kaf…

75.颜色分类

原地排序&#xff1a;空间复杂度为1 class Solution { public:void sortColors(vector<int>& nums) {if(0){//法一&#xff1a;单指针两个遍历int nnums.size();int ptr0;for(int i0;i<n;i){if(nums[i]0){swap(nums[i],nums[ptr]);ptr;}}for(int iptr;i<n;i){…

XMLHttpRequest和Fetch API

XMLHttpRequest和Fetch API 1、XMLHttpRequest2、Fetch API总结 简述&#xff1a;XMLHttpRequest和Fetch API是两种常用的JavaScript网络请求方式&#xff0c;可以用来发送HTTP请求并获取服务器响应。 1、XMLHttpRequest XMLHttpRequest&#xff1a;XMLHttpRequest是一种传统的…

EVALUATING HALLUCINATIONS IN CHINESE LARGE LANGUAGE MODELS

本文是LLM系列文章&#xff0c;针对《EVALUATING HALLUCINATIONS IN CHINESE LARGE LANGUAGE MODELS》的翻译。 中文大语言模型的幻觉评价 摘要1 引言2 HALLUQA基准3 实验4 讨论5 相关工作6 结论 摘要 在本文中&#xff0c;我们建立了一个名为HalluQA (Chinese Hallucination…

RabbitMQ安装与简单使用

安装 下载资源 可以访问官网查看下载信息rabbitmq官网 选择合适的版本&#xff0c;注意&#xff1a;rabbitmq需要下载一个Erlang才能使用 我自己是在一下两个连接中下载的 rabbitmq 3.8.8 erlang 21.3.8.15 需要下载其他版本的同学注意erlang版本是否匹配&#xff0c;可以访…

【问题证明】矩阵方程化为特征值方程求得的特征值为什么是全部特征值?不会丢解吗?

问题 这个问题困扰了我好久&#xff0c;一直感觉如果有其他的特征值没法证伪&#xff0c;不过一直存在思想的层面&#xff0c;没有实际解决&#xff0c;今天突然想到动笔来解决&#xff0c;遂得解&#xff0c;证明如下。 证明 总结 这个证明看似证明过后很直观&#xff0c;但…

微信小程序之本地生活(九宫格)

文章目录 一.创建项目二.配置修改json三.编写WXML四.编写WXSS五.最终效果 一.创建项目 创建新的项目&#xff0c;名称为&#xff1a;本地生活 二.配置修改json 在app.json中删除其他页面 将index改为grid 自动生成新的文件 添加自己的轮播图片 源代码&#xff1a; <!--…

Android Studio 是如何和我们的手机共享剪贴板的

背景 近期完成了target33的项目适配升级,随着AGP和gradle的版本升级,万年老版本Android Studio(后文简称AS)也顺便升级到了最新版Android Studio Giraffe | 2022.3.1,除了新UI外,最让我好奇的是这次的Running Devices功能(官方也称为Device mirroring)可以控制真机了. 按照操…

异步爬虫实战:实际应用asyncio和aiohttp库构建异步爬虫

在网络爬虫的开发中&#xff0c;异步爬虫已经成为一种非常流行的技术。它能够充分利用计算机的资源&#xff0c;提高爬虫效率&#xff0c;并且能够处理大量的运算请求。Python中的asyncio和aiohttp库提供了强大的异步爬虫支持&#xff0c;使得开发者能够轻松构建高效的异步爬虫…