说明:
本文首发于 Playfish Blog,转载请保留链接。
前言
在Beta 2中,我们正在为Ubuntu Xenial构建Debian软件包。它们在一个临时存储库中进行测试。下面的链接和说明参考了最新版本——目前是ardent。
资源:
安装源
要安装Debian软件包,你需要将我们的Debian存储库添加到apt源。首先你需要授权我们的gpg密钥,就像这样:
sudo apt update && sudo apt install curl
curl http://repo.ros2.org/repos.key | sudo apt-key add -
然后将存储库添加到你的源列表中:
sudo sh -c 'echo "deb [arch=amd64,arm64] http://repo.ros2.org/ubuntu/main xenial main" > /etc/apt/sources.list.d/ros2-latest.list'
安装ROS2包
下面的命令安装除了ros-ardent-ros1-bridge
和ros-ardent-turtlebot2-*
之外的所有ros-ardent-*
包,因为它们需要ROS 1的依赖项。下面看看如何安装这些。
sudo apt update
sudo apt install `apt list "ros-ardent-*" 2> /dev/null | grep "/" | awk -F/ '{print $1}' | grep -v -e ros-ardent-ros1-bridge -e ros-ardent-turtlebot2- | tr "\n" " "`
环境设置
source /opt/ros/ardent/setup.bash
如果你已经安装了Python包argcomplete
(版本0.8.5或更高版本,请参见下面的Xenial说明),你可以从以下文件中获取以下文件以完成诸如ros2
这样的命令行工具:
source /opt/ros/ardent/share/ros2cli/environment/ros2-argcomplete.bash
(可选)在Ubuntu 16.04上安装argcomplete >= 0.8.5
如果你需要在Ubuntu 16.04 (Xenial)上安装argcomplete
,那么你将需要使用pip,通过apt-get
可用的版本将不会工作,因为该版本的argcomplete
有一个bug:
sudo apt install python3-pip
sudo pip3 install argcomplete
选择RMW实现
默认情况下,将使用RMW实现FastRTPS
。通过设置环境变量RMW_IMPLEMENTATION=rmw_opensplice_cpp
,你也可以切换到使用OpenSplice。
使用ROS1包的其他包
ros1_bridge
和Turtlebot机器人演示使用的是ROS 1包。为了能够安装它们,请先在这里添加记录的ROS 1源。
如果你正在使用Docker进行隔离,你可以从镜像ros:kinetic
或osrf/ros:kinetic-desktop
开始:这也将避免设置ros源,因为它们已经被集成了。
现在你可以安装其余的包:
sudo apt update
sudo apt install ros-ardent-ros1-bridge ros-ardent-turtlebot2-*