ROS2有多个版本,Jazzy是Ubuntu24.04目前支持的ROS版本,而之前的humble,noetic等版本是不在该版本支持的,所以一定不能安装错版本。
1、版本介绍
1.1、支持的软硬件设备
Ubuntu 24.04 (Noble): amd64 和 arm64
Windows 10 (Visual Studio 2019): amd64
RHEL 9: amd64
macOS: amd64
Debian Bookworm: amd64
1.2、版本的改进
common_interfaces :新增 VelocityStamped 消息和 Marker.msg 中的 ARROW_STRIP 类型。
image_transport :支持懒订阅者,添加设置回调组和允许列表的选项。
ros2cli :增加了 --log-file-name 命令行参数和订阅选项中的 QoS。
rosbag2 :支持服务数据的录制和回放,新增过滤模式,优化播放器和录音机组件的性能。
rviz2 :添加 TF 显示的正则表达式过滤字段和话题状态的订阅频率显示。
2、安装教程
安装教程参考以下链接:
Ubuntu 24.04 安装 ROS2 Jazzy_ubuntu24.04安装ros2-CSDN博客
Ubuntu-Install-Debians — ROS 2 Documentation: Jazzy documentation
2.1、查看是否支持UTF-8编码
打开终端,执行以下命令:
locale # check for UTF-8sudo 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 # verify settings
执行后,系统语言设置成了英语。
2.2、启动Ubuntu universe储存库
终端执行命令:
sudo apt install software-properties-common
sudo add-apt-repository universe
2.3、设置软件源
执行命令:
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
报告错误:
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 1 ms: Couldn't connect to server
参考方法:古月居 - ROS机器人知识分享社区
2.4、添加密钥
执行命令:
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
2.5、安装ROS2
先进行更新检测
sudo apt update
然后进行升级
sudo apt upgrade
安装桌面完整版(建议)
sudo apt install ros-jazzy-desktop
2.6、环境配置
每次打开终端时,都需要进行环境配置:
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/jazzy/setup.bash
若想在后续使用中不用进行环境配置,可以直接将命令写进bashrc文件
echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
3、测试ROS2
3.1、话题发布与监听
打开一个新的终端,输入命令,开始发布话题:
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker
然后打开另一个新的终端,接收话题:
source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
3.2、小海龟测试
启动两个终端,分别运行如下指令:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key