通过Debian包安装ROS 2
目录
ROS 2FoxyFitzroy的Debian包目前支持Ubuntu Focal系统。 [Alyssa@5548]
资源获取 [Alyssa@5549]
状态页面: [待校准@5550]
ROS 2Foxy (Ubuntu Focal): amd64, arm64 [Alyssa@5551]
设置语言区域 [Alyssa@5485]
确保你有一个支持 UTF-8
的语言区域。如果您处于最小环境中 (例如docker容器),则区域设置可能是最小的,例如 POSIX
。我们使用以下设置进行测试。但是,如果您使用不同的UTF-8支持的语言区域也是没有问题的。 [Alyssa@5486]
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
设置源 [待校准@5554]
您需要将ROS 2 apt仓库添加到您的系统中。为此,首先使用如下apt指令授权我们的GPG密钥: [Alyssa@5488]
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包 [待校准@5555]
设置好仓库后,更新您的apt仓库缓存。 [待校准@5556]
sudo apt update
桌面安装 (推荐): ROS、RViz、例程、教程。 [待校准@5557]
sudo apt install ros-foxy-desktop
基础ROS的安装 (基本模块): 通信库、消息包、命令行工具。没有GUI工具。 [Alyssa@5558]
sudo apt install ros-foxy-ros-base
尝试运行一些例子 [Alyssa@5504]
如果你安装了上面的 ros-foxy-desktop
,你可以尝试运行一些例子。 [Alyssa@5559]
在一个终端中,source安装文件,然后运行一个c++ talker
: [Alyssa@5505]
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
在另一个终端中,source安装文件,然后运行一个Python listener
: [Alyssa@5506]
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
你应该看到了 talker
说这是 Publishing
消息 ,listener
说 I heard
这些消息。这证明了C++和Python的APIs都是正常工作的。万岁! [Alyssa@5507]
使用ROS 1 bridge
ROS 1bridge可以连接从ROS 1到ROS 2的话题,反之亦然。看看这个专门的文献 documentation 如何编译和使用ROS 1bridge。 [Alyssa@5511]
附加RMW实现 (可选)
ROS 2使用的默认中间件是 Fast-RTPS
,但中间件 (RMW) 可以在运行时进行替换。查看 guide 了解如何使用多个RMWs。 [Alyssa@5513]
故障排除
故障排除技术可以查看 here 这个文档。 [Alyssa@5546]
卸载
如果您需要卸载ROS 2,或在安装了二进制包之后切换到基础源文件的安装,请运行以下命令: [Alyssa@5560]
sudo apt remove ~nros-foxy-* && sudo apt autoremove