这篇文章并不可行,请忽略
在 Deepin Linux 上安装 ROS 2(目前 ROS 2 支持 Ubuntu 系列发行版,因此 Deepin Linux 安装步骤与 Ubuntu 类似),可以按照以下步骤进行:
1. 配置 ROS 2 仓库
首先,确保你系统的所有包都是最新的:
sudo apt update sudo apt upgrade
然后,设置 ROS 2 的源仓库:
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
上面这一步如果报错连接不上的话,就把下面这几行添加到/etc/hosts,这里的IP地址有可能会变,请自行确认https://www.iplocation.net/ip-lookup
185.199.110.133 raw.githubusercontent.com
185.199.110.133 user-images.githubusercontent.com
185.199.110.133 avatars2.githubusercontent.com
185.199.110.133 avatars1.githubusercontent.com
手动添加 ROS 2 软件源/etc/apt/sources.list.d/ros2.list 内容如下(这一步很重要):
deb [arch=amd64 signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu focal main
2. 更新 APT 索引
更新软件包索引以包含 ROS 2 的源:
sudo apt update
3. 安装 ROS 2
可以安装 ROS 2 的 desktop 版本,包含了大多数常用的功能和工具(如 rqt、rviz 等),也可以安装更轻量的 ros-base 版本,只包含 ROS 2 的核心功能。
安装 Desktop 版本
sudo apt install ros-foxy-desktop
这里的 foxy
是指 ROS 2 的一个版本,你可以选择适合的 ROS 2 版本(例如 humble
, foxy
或 galactic
,根据你的需求)。
安装 ROS Base 版本
sudo apt install ros-foxy-ros-base
4. 安装必要的依赖
你可能还需要安装一些额外的工具和依赖项:
sudo apt install python3-colcon-common-extensions python3-pip python3-rosdep python3-vcstool build-essential
5. 初始化 rosdep
rosdep
是一个用于安装依赖的工具。在第一次使用 ROS 2 时,初始化 rosdep
:
sudo rosdep init rosdep update
6. 设置 ROS 2 环境变量
为了每次启动终端时自动加载 ROS 2 环境变量,需要将其添加到你的 shell 配置文件中。假设你使用的是 bash
,可以执行:
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc source ~/.bashrc
如果你使用的是 zsh
,则需要在 .zshrc
文件中添加:
echo "source /opt/ros/foxy/setup.zsh" >> ~/.zshrc source ~/.zshrc
7. 安装开发工具(可选)
如果你计划进行 ROS 2 的开发,可能还需要安装一些开发工具,例如 ament
:
sudo apt install python3-ament-tools
8. 验证安装
安装完成后,验证 ROS 2 是否成功安装:
ros2 --version
这应该会显示你安装的 ROS 2 版本。
你也可以尝试运行一个简单的 ROS 2 示例来验证安装是否成功:
ros2 run demo_nodes_cpp talker
打开另一个终端,运行一个 listener
:
ros2 run demo_nodes_cpp listener
如果你能够看到消息的发布和接收,那么说明 ROS 2 安装成功。
其他注意事项
- Deepin Linux 基于 Debian,ROS 2 对 Debian 系列有很好的支持,因此这些步骤大致适用。
- 如果你在安装过程中遇到问题,可以查阅 ROS 2 的 官方安装指南 或相关的 Deepin Linux 社区资源。