ubuntu24.04 ROS2环境安装指南:从零开始配置

准备研究下ros2, 先安装一个环境

主要参照官方文档 https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html

1. 字符集设置 

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

2.启用所需仓库

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


sudo apt update && sudo apt install curl -y
export ROS_APT_SOURCE_VERSION=$(curl -s https://api.github.com/repos/ros-infrastructure/ros-apt-source/releases/latest | grep -F "tag_name" | awk -F\" '{print $4}')
curl -L -o /tmp/ros2-apt-source.deb "https://github.com/ros-infrastructure/ros-apt-source/releases/download/${ROS_APT_SOURCE_VERSION}/ros2-apt-source_${ROS_APT_SOURCE_VERSION}.$(. /etc/os-release && echo ${UBUNTU_CODENAME:-${VERSION_CODENAME}})_all.deb"
sudo dpkg -i /tmp/ros2-apt-source.deb

提示秘钥问题,替换源为清华源

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros2.list'

3.更新库,安装ros开发工具

sudo apt update && sudo apt install ros-dev-tools

4 安装桌面版(1.4G),内涵ROS、RViz、演示、教程。 

sudo apt install ros-jazzy-desktop

Setting up default-jdk-headless (2:1.21-75+exp1) ...
Setting up default-jre (2:1.21-75+exp1) ...
Setting up openjdk-21-jdk:amd64 (21.0.8+9~us1-0ubuntu1~24.04.1) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jconsole to pr
ovide /usr/bin/jconsole (jconsole) in auto mode
Setting up default-jdk (2:1.21-75+exp1) ...
Setting up libvtk9-dev (9.1.0+really9.1.0+dfsg2-7.1build3) ...
Setting up libvtk9-qt-dev:amd64 (9.1.0+really9.1.0+dfsg2-7.1build3) ...
Setting up libpcl-dev (1.14.0+dfsg-1) ...
Setting up ros-jazzy-pcl-conversions (2.6.2-1noble.20251025.085029) ...
Setting up ros-jazzy-desktop (0.11.0-1noble.20251108.005426) ...

跑个例子  

atform:~/桌面$ ros2 run demo_nodes_cpp talker
[INFO] [1763780575.598895986] [talker]: Publishing: 'Hello World: 1'
[INFO] [1763780576.599348669] [talker]: Publishing: 'Hello World: 2'
[INFO] [1763780577.599418895] [talker]: Publishing: 'Hello World: 3'
[INFO] [1763780578.598864335] [talker]: Publishing: 'Hello World: 4'
[INFO] [1763780579.599058474] [talker]: Publishing: 'Hello World: 5'
[INFO] [1763780580.599489740] [talker]: Publishing: 'Hello World: 6'
[INFO] [1763780581.599448391] [talker]: Publishing: 'Hello World: 7'
[INFO] [1763780582.599340245] [talker]: Publishing: 'Hello World: 8'
[INFO] [1763780583.599040833] [talker]: Publishing: 'Hello World: 9'
[INFO] [1763780584.599232684] [talker]: Publishing: 'Hello World: 10'
[INFO] [1763780585.599144727] [talker]: Publishing: 'Hello World: 11'
[INFO] [1763780586.599634526] [talker]: Publishing: 'Hello World: 12'
-Virtual-Platform:~/桌面$ source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener
[INFO] [1763780636.671469906] [listener]: I heard: [Hello World: 62]
[INFO] [1763780637.599935914] [listener]: I heard: [Hello World: 63]
[INFO] [1763780638.599933090] [listener]: I heard: [Hello World: 64]
[INFO] [1763780639.599852914] [listener]: I heard: [Hello World: 65]
[INFO] [1763780640.599831212] [listener]: I heard: [Hello World: 66]
[INFO] [1763780641.599992777] [listener]: I heard: [Hello World: 67]

end

<think> 首先,用户的问题是:在Ubuntu 24.04系统上,基于ROS 2 Jazzy版本安装rviz。用户提供了参考引用,但根据系统级指令,我需要专注于用户的问题。 用户引用的内容是关于安装问题的错误信息。引用[1]提到了一个错误:`E: Unable to locate package ros-jazzy-rviz2` 和公钥问题 `NO_PUBKEY F42ED6FBAB17C654`。引用[2]是关于Ubuntu 24.04 + ROS2 Jazzy + Gazebo Harmonic的安装教程。 用户说:"上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。" 但在这个对话中,没有"上一次的问题和你的回答",因为这是一个新的会话。所以,我应该直接回答当前问题。 我的回答结构需要清晰,帮助用户逐步解决问题。同时,系统级指令要求: - 所有行内数学表达式用$...$格式 - 独立公式用$$...$$格式 - LaTeX语法正确 - 使用中文回答 - 生成相关问题 - 引用的段落末尾自然地添加引用标识 问题是关于安装ROS 2 Jazzy的rviz,所以我不需要数学表达式,但指令说"包括变量、不等式、方程等",这里可能不适用。我可以忽略数学部分,除非相关。重点是安装步骤。 ROS 2 Jazzy是ROS 2的最新版本,针对Ubuntu 24.04安装rviz通常是安装ROS桌面版的一部分,因为rviz是ROS可视化工具。 标准安装步骤: 1. 添加ROS仓库到apt源。 2. 导入公钥。 3. 更新apt缓存。 4. 安装所需的包。 用户引用中提到了公钥问题(NO_PUBKEY),所以这可能是一个常见问题。 步骤: - 确保ROS仓库已添加。 - 导入公钥。 - 然后安装。 rviz在ROS 2中通常包含在`ros-<distro>-rviz2`包中。 对于Jazzy,包名可能是`ros-jazzy-rviz2`。 基于用户引用,用户尝试了`sudo apt install ros-jazzy-rviz2`但失败了。 所以,在我的回答中: 1. 诊断可能的错误。 2. 提供完整的安装步骤。 3. 解决公钥问题。 完整步骤: - 添加ROS仓库: ``` sudo apt update && sudo apt install curl gnupg 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 ``` - 更新apt: ``` sudo apt update ``` - 如果遇到公钥错误,手动导入: ``` sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 ``` 用户引用中提到`NO_PUBKEY F42ED6FBAB17C654`,所以这个键需要导入。 - 然后安装rviz: ``` sudo apt install ros-jazzy-rviz2 ``` 或者安装整个桌面版:`ros-jazzy-desktop`,这包括rviz。 用户只需要rviz,所以只安装`ros-jazzy-rviz2`应该足够。 最后,确保设置环境变量:`source /opt/ros/jazzy/setup.bash` 或添加到.bashrc。 用户引用[2]提到了添加source到.bashrc。 回答结构: - 步骤清晰。 - 用中文。 - 结尾生成相关问题。 添加引用:引用用户提供的参考末尾添加[^1], [^2],但用户说引用仅供参考,所以我只需在相关部分添加。 系统指令说:"回答中引用的段落末尾自然地添加引用标识",所以如果我在回答中引用用户的内容,就添加。 但在我的回答中,我可能需要引用标准ROS安装步骤,但这不是用户提供的引用。我应该基于知识回答。 用户提供的引用是示例错误,我可以引用它们来解释。 例如: - 如果遇到公钥问题,参考用户提到的NO_PUBKEY错误 [^1]。 [^1] 和 [^2] 是用户提供的链接,我需要使用它们。 用户引用: - [^1] 是关于安装错误的链接。 - [^2] 是关于安装教程的链接。 在回答中,我可以说: 如您在引用中遇到的问题 [^1],需要导入公钥。 回答大纲: 1. 解释安装rviz的通用方法。 2. 解决可能的错误。 3. 步骤详细列出。 4. 结束语。 5. 生成相关问题。 最后,生成相关问题,使用§§相关问题§§格式。 相关问题可以基于ROS安装: 1. 如何验证ROS 2 Jazzy是否正确安装2. 安装ROS 2 Jazzy的其他常见问题? 3. rviz2的基本使用方法? 使用中文。 完整回答: 首先,确认问题:在Ubuntu 24.04安装ROS 2 Jazzy的rviz。 步骤: - 确保系统更新。 - 添加ROS仓库。 - 导入公钥(解决NO_PUBKEY问题)。 - 安装包。 - 设置环境。 代码块使用```...```格式。 </think> ### 在Ubuntu 24.04安装ROS 2 Jazzy的rviz2Ubuntu 24.04系统中安装ROS 2 Jazzy版本的rviz(即rviz2),需要确保ROS仓库正确配置、公钥导入和包管理正常。以下是详细步骤,基于标准ROS安装流程和您提供的引用 [^1]。如果您在安装过程中遇到类似引用中的错误(如`NO_PUBKEY`或`Unable to locate package`),请按步骤解决。 #### 完整安装步骤 1. **更新系统和添加ROS仓库** 首先,确保系统更新并添加ROS Jazzy的官方APT仓库: ```bash sudo apt update && sudo apt upgrade -y sudo apt install curl gnupg software-properties-common # 添加ROS仓库密钥(解决NO_PUBKEY问题) 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 noble main" | sudo tee /etc/apt/sources.list.d/ros2.list ``` 2. **导入公钥(关键步骤,解决引用中的错误)** 如果步骤1后运行`sudo apt update`时出现`NO_PUBKEY F42ED6FBAB17C654`错误(如引用[^1]所述),手动导入公钥: ```bash sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 sudo apt update # 再次更新,确认错误消失 ``` 3. **安装rviz2包** 安装ROS 2 Jazzy的rviz2包(包名为`ros-jazzy-rviz2`): ```bash sudo apt install ros-jazzy-rviz2 -y ``` - 如果只想安装rviz2的最小依赖,使用上述命令。 - 如果希望安装完整的ROS桌面环境(包括rviz2、Gazebo等),参考引用[^2]建议运行: ```bash sudo apt install ros-jazzy-desktop -y ``` 4. **设置环境变量** 安装后,添加ROS环境到bashrc文件,以确保命令可用: ```bash echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc source ~/.bashrc # 立即生效 ``` 5. **验证安装** 运行以下命令测试rviz2是否安装成功: ```bash rviz2 ``` 如果正确安装,将启动rviz2图形界面。 #### 常见问题解决 - **问题:`E: Unable to locate package ros-jazzy-rviz2`** 这通常是由于仓库未正确添加或公钥缺失导致。请重复步骤1和2,确保`sudo apt update`无错误输出。 - **问题:公钥导入失败** 如果`apt-key adv`命令失败,尝试更换keyserver: ```bash sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F42ED6FBAB17C654 ``` - **Gazebo或其他依赖问题** 如需同步安装Gazebo Harmonic(参考引用[^2]),请先确保遵循完整桌面安装教程 [^2]。 #### 注意事项 - ROS 2 Jazzy是Ubuntu 24.04(Noble Numbat)的默认版本,确保系统版本匹配。 - 安装完成后,建议重启系统:`sudo reboot`。 通过以上步骤,您应该能成功安装rviz2。如果仍有错误,请检查仓库配置或提供`apt update`的输出以便进一步诊断 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值