1. 程式人生 > >【ROS翻譯】Ubuntu下安裝ROS2

【ROS翻譯】Ubuntu下安裝ROS2

前言

在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-bridgeros-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:kineticosrf/ros:kinetic-desktop開始:這也將避免設定ros源,因為它們已經被集成了。

現在你可以安裝其餘的包:

sudo apt update
sudo apt install ros-ardent-ros1-bridge ros-ardent-turtlebot2-*