1.2 ROS2安装

news2024/11/19 3:29:28

1.2.1 安装ROS2

整体而言,ROS2的安装步骤不算复杂,大致步骤如下:

  1. 准备1:设置语言环境;
  2. 准备2:启动Ubuntu universe存储库;
  3. 设置软件源;
  4. 安装ROS2;
  5. 配置环境。

请注意:虽然安装比较简单,但是安装过程比较耗时,需要耐心等待。

1.准备1:设置语言环境

请先检查本地语言环境是否支持UTF-8编码,可调用如下指令检查并设置UTF-8编码:

locale  # 检查是否支持 UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # 验证设置是否成果

注意:语言环境可以不同,但必须支持UTF-8编码。

2.准备2:启动Ubuntu universe存储库

常用的启动Ubuntu universe存储库方式有两种:图形化操作与命令行操作。

方式1:图形化操作

请打开软件与更新(Software & Updates)窗口,确保启动了universe存储库,以保证可以下载”社区维护的免费和开源软件“,操作示例如下:

方式2:命令行操作

首先,通过如下命令检查是否已经启动了Ubuntu universe存储库:

apt-cache policy | grep universe
 500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
     release v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

如果没有如上所示的输出,那么请调用如下命令启动Ubuntu universe存储库:

sudo apt install software-properties-common
sudo add-apt-repository universe
3.设置软件源

先将ROS 2 apt存储库添加到系统,用apt授权我们的GPG密钥:

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

提示:如果抛出连接 raw.githubusercontent.com 失败的异常信息,解决方式请参考本节最后部分补充2内容。

然后将存储库添加到源列表:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
4.安装ROS2

首先更新apt存储库缓存:

sudo apt update

然后升级已安装的软件(ROS2软件包建立在经常更新的Ubuntu系统上,在安装新软件包之前请确保您的系统是最新的):

sudo apt upgrade

安装桌面版ROS2(建议),包含:ROS、RViz、示例与教程,安装命令如下:

sudo apt install ros-humble-desktop

或者,也可以安装基础版ROS2,包含:通信库、消息包、命令行工具,但是没有 GUI 工具,安装命令如下:

sudo apt install ros-humble-ros-base
5.配置环境

终端下,执行ROS2程序时,需要调用如下命令配置环境:

source /opt/ros/humble/setup.bash

每次新开终端时,都得执行上述命令,或者也可以执行如下命令,将配置环境指令写入 ”~/.bashrc“ 文件,那么每次新启动终端时,不需要在手动配置环境:

echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

到目前为止,ROS2就已经安装且配置完毕了。


补充1:关于卸载(谨慎操作)

ROS2安装完毕之后,如果想卸载ROS2,可以执行如下命令:

sudo apt remove ~nros-humble-* && sudo apt autoremove

还可以再删除ROS2对应的存储库:

sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
补充2:关于 raw.githubusercontent.com 连接失败的处理

安装ROS2过程中,执行到步骤3也即设置软件源时,可能会抛出异常。

异常提示:curl: (7) Failed to connect to raw.githubusercontent.com port 443: 拒绝连接。

异常原因:DNS被污染。

解决思路:查询错误提示中域名的IP地址,然后修改 /etc/hosts 文件,添加域名与IP映射。

具体实现:

1.访问 https://www.ipaddress.com/ 并输入域名 raw.githubusercontent.com,查询 ip 地址。

 

查询到的ip地址可能有多个,记录任意一个地址即可。

2.修改/etc/hosts文件:

sudo gedit /etc/hosts

添加ip和域名映射到hosts文件,保存并退出。

操作完毕后,终端再次运行安装指令即可正常执行

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

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

相关文章

linux命令行操作

一、看二进制文件 od -t x1 1.txt | less 二、看信号 kill -l man 7 signal 三、查看当前进程的pid号 echo $$

统一开放平台实现方案(访微信SDK)

需求分析 在互联中,我们的服务是不对外开放的,但是有先场景下我们可以对外开放,但是必须是系统所允许的用户才可以,这样做一方面保证安全,另一方面可以提升平台的能力,比如调用微信的接口必须要进行微信开…

如何快速掌握一门编程语言

学习一门新的编程语言可能是一个具有挑战性的过程,但通过一些系统的方法,可以大大加快这个过程。 目录 第一步:通过书籍和视频课程掌握基本语法1. **学习编程语言的基础知识**2. **掌握字符串处理**3. **掌握正则表达式和解析器**4. **掌握面…

AnyView 对 SwiftUI 性能的影响

文章目录 前言测试设置动画卡顿浏览数据没有 AnyView 有 AnyView在浏览数据时修改没有 AnyView 有 AnyView分析结果总结 前言 AnyView 是一种类型擦除的视图,对于 SwiftUI 容器中包含的异构视图非常方便。在这些情况下,你不需要指定视图层次结构中所有视…

【大数据】—美国交通事故分析(2016 年 2 月至 2020 年 12 月)

引言 在当今快速发展的数字时代,大数据已成为我们理解世界、做出决策的重要工具。特别是在交通安全领域,大数据分析能够揭示事故模式、识别风险因素,并帮助制定预防措施,从而挽救生命。本文将深入探讨2016年2月至2020年12月期间&…

西南交通大学【算法分析与设计实验5】

有障碍物的不同路径数量 实验目的 (1)理解动态规划算法的求解过程。 (2)分析动态规划算法的时间复杂度,比较动态规划算法与其他算法的效率差异。 (3)学会如何利用动态规划算法求解具体问题&…

汇聚荣拼多多电商哪些热词比较受关注?

汇聚荣拼多多电商哪些热词比较受关注?在探讨拼多多电商平台的热点关键词时,我们首先得明确,这个平台因其独特的商业模式和市场定位,吸引了大量消费者的目光。拼多多通过“拼团”购物的方式迅速崛起,成为电商行业的一个重要力量。…

5% 消耗,6 倍性能:揭秘新一代 iLogtail SPL 日志处理引擎与 Logstash 的 PK

作者:阿柄 引言 在当今数据驱动的时代,日志收集和处理工具对于保障系统稳定性和优化运维效率至关重要。随着企业数据量的不断增加和系统架构的日益复杂,传统日志处理工具面临着性能、灵活性和易用性等多方面的挑战。Logstash 作为一款广受欢…

qt6 通过http查询天气的实现

步骤如下: cmakelist 当中,增加如下配置 引入包 访问远端api 解析返回的数据 cmakelist 当中,增加如下配置,作用是引入Network库。 引入包 3、访问远端api void Form1::on_pushButton_clicked() {//根据URL(http://t.weather.…

GoLand 2024 for Mac GO语言集成开发工具环境

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件(适合自己的M芯片版或Intel芯片版),将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功3、打开访达,点击【文…

Flask 数据创建时出错

当我们在使用 Flask 创建数据时遇到错误,可能有多种原因,包括代码错误、数据库配置问题或依赖项错误。具体情况我会总结成一篇文章记录下,主要是归类总结一些常见的解决方法和调试步骤,帮助大家解决问题: 1、问题背景 …

013、MongoDB常用操作命令与高级特性深度解析

目录 MongoDB常用操作命令与高级特性深度解析 1. 数据库操作的深入探讨 1.1 数据库管理 1.1.1 数据库统计信息 1.1.2 数据库修复 1.1.3 数据库用户管理 1.2 数据库事务 2. 集合操作的高级特性 2.1 固定集合(Capped Collections) 2.2 集合验证(Schema Validation) 2.…

如何批量创建、提取和重命名文件夹!!!

你是否还在一个一个手动创建文件名! 你是否还在一个一个手动提取文件名! 你是否还在一个一个手动修改文件名! 请随小生一起批量自动创建、提取、重命名! 1、批量创建文件夹 【案例】创建1日-31日共31个文件夹 【第一步】在A列…

VirtualBox Ubuntu Sever配置双网卡

Ubuntu 版本:Ubuntu Server 2404 vitrualBox 网卡配置: 如上配置后,ifconfig 只能看到 网卡1 应用了。要应用 网卡2 需要更改文件 /etc/netplan/50-cloud-init.yaml(不同的ubuntu版本这个文件名可能不同) 首先 ifcon…

如何在Linux上删除Systemd服务

Systemd是Linux 操作系统的系统和服务管理器,提供控制系统启动时启动哪些服务的标准流程。 有时,您可能出于各种原因需要删除systemd服务,例如不再需要、与其他服务冲突,或者您只是想清理系统。 Systemd使用单元文件来管理服务&…

OBD诊断(ISO15031) 04服务

文章目录 功能简介ISO 9141-2、ISO 14230-4和SAE J1850的诊断服务定义1、清除/重置与排放相关的诊断信息请求消息定义2、请求与排放相关的DTC响应消息定义3、报文示例 ISO 15765-4的诊断服务定义1、请求与排放相关的DTC请求消息定义2、请求与排放相关的DTC响应消息定义3、否定响…

深入详解RocketMQ源码安装与调试

1.源码下载 http://rocketmq.apache.org/dowloading/releases/ 2. 环境要求 64位系统JDK1.8(64位)Maven 3.2.x

keil5模拟 仿真 报错没有读写权限

debug*** error 65: access violation at 0x4002100C : no write permission 修改为: Dialog DLL默认是DCM3.DLL Parameter默认是-pCM3 应改为 Dialog DLL默认是DARMSTM.DLL Parameter默认是-pSTM32F103VE

计算机网络——数据链路层(点对点协议PPP)

点对点协议PPP的概述 对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 它主要应用于两个场景: 用户计算机与ISP之间的链路层协议就是点对点协议 PPP,1999年公布了回以在以太网上运行的PPP协…

配音软件有哪些?分享五款超级好用的配音软件

随着嫦娥六号的壮丽回归,举国上下都沉浸在这份自豪与激动之中。 在这样一个历史性的时刻,我们何不用声音记录下这份情感,让这份记忆以声音的形式流传? 无论是制作视频分享这份喜悦,还是创作音频讲述探月故事&#xff…