ROS2安装:ubuntu 24.04.2上实践

🕒 2025-09-15 📁 ROS系统 👤 laumy 🔥 10 热度

前言

本文在unbuntu 24.10系统上搭建ROS2系统。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:    24.04
Codename:   noble

设置编码格式

locale  # check for 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  # verify settings

添加ROS apt仓库

启用 universe 仓库

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

添加 ROS 的 GPG key 和 repository

sudo apt update && sudo apt install curl gnupg2 lsb-release
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(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

安装ROS 2

下载安装ROS2桌面版软件。

sudo apt update
sudo apt upgrade

sudo apt install ros-jazzy-desktop

设置环境变量

执行上面的安装命令,没有报错就已经成功安装好ROS2了,默认在/opt路径下。因为要常用到ROS2相关的命令,因此可以添加一下环境变量。

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

运行测试用例

在一个终端启动如下命令,表示一个数据的发布者节点发送消息。

ros2 run demo_nodes_cpp talker
[INFO] [1757919638.619982839] [talker]: Publishing: 'Hello World: 1'
[INFO] [1757919639.619919625] [talker]: Publishing: 'Hello World: 2'
[INFO] [1757919640.619874774] [talker]: Publishing: 'Hello World: 3'
[INFO] [1757919641.619899411] [talker]: Publishing: 'Hello World: 4'
[INFO] [1757919642.619969273] [talker]: Publishing: 'Hello World: 5'
[INFO] [1757919643.619894999] [talker]: Publishing: 'Hello World: 6'
[INFO] [1757919644.619798092] [talker]: Publishing: 'Hello World: 7'
[INFO] [1757919645.619868044] [talker]: Publishing: 'Hello World: 8'
[INFO] [1757919646.619927174] [talker]: Publishing: 'Hello World: 9'

在另外一个终端执行一下命令,可以订阅此消息

ros2 run demo_nodes_py listener
[INFO] [1757919722.633895350] [listener]: I heard: [Hello World: 85]
[INFO] [1757919723.620902142] [listener]: I heard: [Hello World: 86]
[INFO] [1757919724.621171224] [listener]: I heard: [Hello World: 87]
[INFO] [1757919725.621231371] [listener]: I heard: [Hello World: 88]
[INFO] [1757919726.620940203] [listener]: I heard: [Hello World: 89]

如果listener能够正确接收到消息,那么ROS2就已经在系统中安装好了。

发表你的看法

\t