ROS2安装:ubuntu 24.04.2上实践
前言
本文在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就已经在系统中安装好了。