文章目录
环境信息
主机:ubuntu20.04
原网页
https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html
系统配置
设置locale
确定系统在一个支持utf-8的语言环境,在一些最小化系统里面(比如docker容器),语言环境可能是POSIX。
使用以下命令检查语言环境。
locale #验证语言环境
如果结果如下就不需要操作
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
否则,安装配置以下
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
添加必要的镜像源
sudo apt install software-properties-common
sudo add-apt-repository universe
添加ROS2的GPG的apt密钥
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
然后添加仓库到source list
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
安装开发工具(可选)
如果你将要构建ROS包或者进行开发工作,可以安装开发工具
sudo apt update
sudo apt install ros-dev-tools
安装ROS2
更新软件源缓存,ROS推荐确保系统软件都使用最新的软件包版本
sudo apt update
sudo apt upgrade
桌面安装(推荐):ROS,RViz, demo, tutorials.
sudo apt install ros-iron-desktop
注意:针对ubuntu20.04需要安装相对早一点的版本
sudo apt install ros-foxy-desktop
或者安装ROS基础包:通信库,消息包。命令行,没有GUI工具
sudo apt install ros-iron-ros-base
注意:针对ubuntu20.04需要安装相对早一点的版本
sudo apt install ros-foxy-husky-base
安装额外的RMW实现(可选)
ROS2 使用的默认的中间件是Fast DDS
, 但中间件(RMW)可以在运行时替换。可以参考指南 了解如何使用多个RMW的指南。
配置环境
通过使能以下文件来配置环境
# 这里的setup.bash 是因为我们的shell用的bash,如果其它shell,可以选择setup.sh, setup.zsh等
source /opt/ros/iron/setup.bash
注意:上诉中安装foxy版本的ROS 2的配置环境的命令如下:
source /opt/ros/foxy/setup.bash
示例
如果上面安装了桌面版本,而不是精简版本,可以运行示例。
在一个终端里使能初始化文件,并允许C++的 talker
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker
foxy版本的ROS2 运行的命令如下
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
在另一个终端里执行一个python的listener
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener
foxy版本的ROS2运行的命令如下
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
上诉的示例中talker 打印出它发布的信息,listener打印出它听到的信息。这验证了C++和python的APIs接口都能正常工作。
下一步
继续学习 教程和演示 来配置您的环境,创建您自己的工作区和包,并学习 ROS 2 核心概念。
移植ROS 1桥(可选)
ROS 1 桥可以将主题从 ROS 1 连接到 ROS 2,反之亦然。 请参阅有关如何构建和使用 ROS 1 桥的专用文档。
问题
卸载
如果要卸载ROS2,或者切换到源码安装的方式,但系统中已经安装了二进制,执行以下命令
sudo apt remove ~nros-iron-*
sudo apt autoremove
注意:foxy版本的运行如下命令
sudo apt remove ~nros-foxy-*
sudo apt autoremove
如果需要删除软件源:
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade