Ubuntu20.04安装ROS2教程

embedded/2024/10/24 1:40:21/

Ubuntu20.04安装ROS2教程

  • ROS 2 安装指南
    • 支持的ROS 2 版本
    • 设置语言环境(Set locale)
    • 设置源(Setup Sources)
    • 设置密钥
    • 安装 ROS 2 包(Install ROS 2 packages)
    • 环境设置(Environment setup)
      • 源设置脚本(Sourcing the setup script)
      • 测试示例(Try some examples)
    • 安装后的下一步(Next steps after installing)
    • 卸载 ROS 2(Uninstall)

在这里插入图片描述

ROS 2 安装指南

支持的ROS 2 版本

Ubuntu20.04所对应的ROS2版本有:foxy、galactic,这里准备安装galactic.

设置语言环境(Set locale)

确保你的系统支持 UTF-8 编码的语言环境。如果你在一个最小化的环境中(例如 Docker 容器),语言环境可能是像 POSIX 这样的最小化设置。我们测试时使用的是以下设置。不过,如果你使用的是其他支持 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-8locale  # 验证设置

locale输出:默认环境为en_US.UTF-8默认为en_US.UTF-8,不需要重复设置.

设置源(Setup Sources)

你需要将 ROS 2 的 apt 仓库添加到你的系统中。

通常可以采用两种方式进行设置:软件更新或者手动修改source.list

此处采用软件更新方法:
首先确保 Ubuntu Universe 仓库是启用的。

sudo apt install software-properties-common
sudo add-apt-repository universe

设置最佳服务器,这里设置为aliyun服务器
在这里插入图片描述
更新完成后,执行:

sudo apt-get update

设置密钥

现在使用 apt 添加 ROS 2 的 GPG 密钥。

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

然后,将仓库添加到你的源列表中。

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

安装 ROS 2 包(Install ROS 2 packages)

在设置仓库之后,更新你的 apt 仓库缓存。

sudo apt update

ROS 2 包是在频繁更新的 Ubuntu 系统上构建的。在安装新包之前,始终建议确保你的系统是最新的。

sudo apt upgrade

桌面安装(推荐):ROS、RViz、演示、教程。

sudo apt install ros-galactic-desktop

ROS-基础安装(精简版,可以上面的版本二选一):通信库、消息包、命令行工具。不包含 GUI 工具。

sudo apt install ros-galactic-ros-base

开发工具:编译器和其他构建 ROS 包的工具。

sudo apt install ros-dev-tools

环境设置(Environment setup)

源设置脚本(Sourcing the setup script)

通过源设置以下文件来设置你的环境。

# 如果你使用的不是 bash,用你的 shell 替换 ".bash"
# 可能的值有:setup.bash, setup.sh, setup.zsh
source /opt/ros/galactic/setup.bash

上述配置,每次开启终端都需运行,或者给当前用户配置永久的环境:

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

测试示例(Try some examples)

如果你上面安装了 ros-galactic-desktop,你可以尝试一些示例。

在一个终端中,源设置文件然后运行一个 C++ talker:

source /opt/ros/galactic/setup.bash # 如果永久配置不需运行
ros2 run demo_nodes_cpp talker

在另一个终端中源设置文件然后运行一个 Python listener:

source /opt/ros/galactic/setup.bash # 如果永久配置不需运行
ros2 run demo_nodes_py listener

你应该看到 talker 表示它正在发布消息,listener 表示它听到了这些消息。这验证了 C++ 和 Python API 都正常工作。太棒了!
在这里插入图片描述

安装后的下一步(Next steps after installing)

继续通过教程和演示来配置你的环境,创建你自己的工作空间和包,并学习 ROS 2 的核心概念。
ROS 2 说明文档:Galactic.

卸载 ROS 2(Uninstall)

如果你需要卸载 ROS 2 或在已经从二进制文件安装后切换到基于源码的安装,请运行以下命令:

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

你可能还想移除仓库:

sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove

以上步骤将帮助你从系统中移除 ROS 2 及其相关的依赖包,并清理不再需要的包。如果你之前添加了 ROS 2 的仓库,还需要删除仓库配置文件并更新系统包列表,以确保系统保持最新状态。


http://www.ppmy.cn/embedded/129946.html

相关文章

[MySQL]第一章:环境安装

本专栏内容为:java学习专栏 💓博主csdn个人主页:小小unicorn ⏩专栏分类:MySql 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编程知识 目录 卸载…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-16

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-16 目录 文章目录 目录1. Leveraging Social Determinants of Health in Alzheimers Research Using LLM-Augmented Literature Mining and Knowledge Graphs2. Alignment Between the Decision-Making Logic of …

记录一次从nacos配置信息泄露到redis写计划任务接管主机

经典c段打点开局。使用dddd做快速的打点发现某系统存在nacos权限绕过 有点怀疑是蜜罐,毕竟nacos这实在是有点经典 nacos利用 老规矩见面先上nacos利用工具打一波看看什么情况 弱口令nacos以及未授权访问,看这记录估计被光顾挺多次了啊 手动利用Nacos-…

解释 RESTful API,以及如何使用它构建 web 应用程序(AI)

RESTful API(Representational State Transfer)是一种基于HTTP协议的软件架构风格,用于构建可扩展、可维护和可重用的网络服务。 RESTful API的特点包括: 1. 基于资源:每个API都代表一个或多个资源,这些资…

【Jmeter】jmeter指定jdk版本启动

背景: 因权限问题,不能修改操作系统的环境变量或者因jmeter启动加载的默认jdk8版本低,需要指定jdk XX版本启动Jmeter 解决办法: 进入jmeter bin目录选择jmeter.bat,记事本编辑jmeter.bat, 在最前面添加 set MINIMAL_…

【MySQL】VARCHAR和CHAR的区别?

目录 区别存储方式最大长度存取效率 使用场景参考 在MySQL中,VARCHAR和CHAR是两种常用的字符串数据类型,它们各自有不同的特点和适用场景。下面我将和大家一起了解这两种数据类型的区别及使用场景。 区别 存储方式 CHAR(N):定长存储&#…

MATLAB imnoise函数

**MATLAB imnoise函数用于向图像添加不同类型的噪声,以模拟真实世界中的噪声污染情况**。以下是该函数的具体说明: 1. **基本语法和参数**:imnoise函数的基本使用格式为g imnoise(I, type),其中g是添加噪声之后的图像&#xff0c…

【Linux系列】查询nginx相关的进程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…