Ubuntu-Install-Ros2

news/2025/1/15 8:43:55/

… redirect-from::

Installation/Linux-Install-Debians
Installation/Ubuntu-Install-Debians

Ubuntu (deb packages)

… contents:: 目录
:depth: 2
:local:

ROS 2 {DISTRO_TITLE_FULL} 的 deb 包目前可用于 Ubuntu Jammy (22.04)。
目标平台在 REP 2000 <https://ros.org/reps/rep-2000.html>__ 中定义。

资源

  • 状态页面:

    • ROS 2 {DISTRO_TITLE} (Ubuntu Jammy): amd64 <http://repo.ros2.org/status_page/ros_{DISTRO}_default.html>\ , arm64 <http://repo.ros2.org/status_page/ros_{DISTRO}_ujv8.html>
  • Jenkins 实例 <http://build.ros2.org/>__

  • 仓库 <http://repo.ros2.org>__

设置语言环境

… include:: _Ubuntu-Set-Locale.rst

… _linux-install-debians-setup-sources:

设置源

… include:: _Apt-Repositories.rst

… _linux-install-debs-install-ros-2-packages:

安装 ROS 2 包

在设置好仓库后更新 apt 仓库缓存。

… code-block:: bash

sudo apt update

… include:: _Apt-Upgrade-Admonition.rst

… warning::

由于 Ubuntu 22.04 的早期更新,重要的是在安装 ROS 2 之前更新 ``systemd`` 和 ``udev`` 相关的包。
在未升级的新安装系统上安装 ROS 2 的依赖项可能会触发 **删除关键系统包**。请参阅 `ros2/ros2#1272 <https://github.com/ros2/ros2/issues/1272>`_ 和 `Launchpad #1974196 <https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1974196>`_ 了解更多信息。

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

… code-block:: bash

sudo apt install ros-{DISTRO}-desktop

ROS-Base 安装(基础):通信库、消息包、命令行工具。
无 GUI 工具。

… code-block:: bash

sudo apt install ros-{DISTRO}-ros-base

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

… code-block:: bash

sudo apt install ros-dev-tools

环境设置

源设置脚本
^^^^^^^^^^

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

… code-block:: bash

# 如果您不使用 bash,请将 ".bash" 替换为您的 shell
# 可能的值有:setup.bash, setup.sh, setup.zsh
source /opt/ros/{DISTRO}/setup.bash

尝试一些示例

Talker-listener
^^^^^^^^^^^^^^^

如果您在上面安装了 ros-{DISTRO}-desktop,可以尝试一些示例。

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

… code-block:: bash

source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_cpp talker

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

… code-block:: bash

source /opt/ros/{DISTRO}/setup.bash
ros2 run demo_nodes_py listener

您应该看到 talker 说它正在 发布 消息,而 listener我听到了 这些消息。
这验证了 C++ 和 Python API 都正常工作。
太棒了!

安装后的下一步

继续 :doc:教程和演示 <../../Tutorials> 配置您的环境,创建自己的工作区和包,并学习 ROS 2 核心概念。

使用 ROS 1 桥

ROS 1 桥可以连接 ROS 1 和 ROS 2 的话题。请参阅专门的 文档 <https://github.com/ros2/ros1_bridge/blob/master/README.md>__ 了解如何构建和使用 ROS 1 桥。

额外的 RMW 实现(可选)

ROS 2 使用的默认中间件是 Fast DDS,但中间件(RMW)可以在运行时替换。
请参阅 :doc:指南 <../How-To-Guides/Working-with-multiple-RMW-implementations> 了解如何使用多个 RMW。

故障排除

故障排除技术可以在 :doc:这里 <../How-To-Guides/Installation-Troubleshooting> 找到。

卸载

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

… code-block:: bash

sudo apt remove ~nros-{DISTRO}-* && sudo apt autoremove

您可能还需要删除仓库:

… code-block:: bash

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

考虑升级以前被遮蔽的包。

sudo apt upgrade


http://www.ppmy.cn/news/1563274.html

相关文章

macOS 如何终止端口占用的进程 ?

您是否遇到过这样的情况&#xff1a;您试图在 Mac 上启动服务器或服务&#xff0c;却被告知端口已被占用&#xff1f;当您试图使用的端口被另一个进程占用时&#xff0c;就会出现此问题。在本教程中&#xff0c;我们将指导您完成在 macOS 上识别和终止这些进程的步骤&#xff0…

《零基础Go语言算法实战》【题目 4-1】返回数组中所有元素的总和

《零基础Go语言算法实战》 【题目 4-1】返回数组中所有元素的总和 请用 Go 语言编写一个函数&#xff0c;将整数数组作为输入并返回数组中所有元素的总和。 【解答】 package main import "fmt" func sumArray(array [5]int) int { sum : 0 for _, val : range…

【专题】2025年节日营销趋势洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38813 在当今复杂多变且竞争激烈的消费市场环境下&#xff0c;节日营销已成为企业获取市场份额、提升品牌影响力的关键战略时机。我们深知深入洞察节日营销趋势对于企业决策的重要性。 本报告汇总基于对 2024 年多个关键消费节点及…

【C++】多线程

目录 多线程基础什么是线程线程和进程的关系线程的特点什么是多线程编程为什么要使用多线程线程与CPU的执行关系线程的生命周期 创建线程&#xff08;C11&#xff09;线程的可调用对象传参数 注意事项join和detach的区别一个线程包含什么东西this_thread 线程同步线程同步机制互…

【linux】vi编辑文件及readonly文件修改读写权限方法

板端vi修改文件&#xff1a; 1、vi 文件路径 vi mnt/eol/config/oem_eol.xml2、按 i进入修改状态&#xff0c;此时可以修改配置文件 3、按 esc退出修改状态&#xff0c;并按"wq!保存 问题&#xff1a;readonly文件无法直接vi修改 方案&#xff1a; 1、mount -o remoun…

41_Lua函数

在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。Lua函数主要有两种用途: 完成指定的任务,这种情况下函数作为调用语句使用。计算并返回值,这种情况下函数作为赋值语句的表达式使用。此外,Lua还提供了许多的内建函…

Objective-C语言的软件工程

Objective-C语言的软件工程探讨 引言 在软件工程的领域中&#xff0c;编程语言的选择是至关重要的。Objective-C&#xff0c;作为一种为苹果公司的macOS和iOS操作系统而开发的编程语言&#xff0c;凭借其灵活性和强大的功能被广泛应用于应用开发。然而&#xff0c;随着Swift等…

机器翻译优缺点

随着科技的飞速发展&#xff0c;机器翻译是近年来翻译行业的热门话题&#xff0c;在人们的生活和工作中日益普及&#xff0c;使用机器能够提高翻译效率&#xff0c;降低成本。尽管关于机器翻译为跨语言交流带来了诸多便利&#xff0c;但在译文的正确率和局限性方面存在一定争议…