ROS从最早的正式版本Box Turtle到现在也十几年了。而ROS2出来也挺久了,一直没机会看看。好久也没弄ROS,这几天捣鼓了捣鼓。

目录

1. Virtual Box安装Ubuntu20.04

2. ROS2 Foxyd安装


1. Virtual Box安装Ubuntu20.04

Virtual Box是Oracle公司收购的一款免费且开源的虚拟机软件,而且提供了《Programming Guide and Reference》可供开发人员进行二次开发,主要是提供一些脚本可调用Virtual Box的一些功能。Virtual Box还是挺好用,安装Ubuntu网上也很多教程。目前最新最稳定的Ubuntu版本是20.04,在官网上可以下载到。这里补充几点。安装好后点击设备安装增强功能,这些可以让虚拟机里的系统随窗口大小的变化而变化,而不是固定的分辨率。其次尽量将网络设置成桥接模式,这样虚拟机系统和外面window系统是一个网段,方便使用putty等工具。

2. ROS2 Foxyd安装

一般安装好Ubuntu后需要切换服务器源,不过我发现现在默认本身的也挺快。ROS2的安装按照官网来一般来说是没问题的,但总还是会出现问题,比如一些指令运行出错,gpg没法认证等问题,或者下载慢等。而且这次我发现即便是使用的清华ROS2镜像源也还是没法下载。原因是ros.asc文件所在的网址打不开。

sudo apt install curl gnupg2
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update

无奈只好再跟着官网提供的脚本继续研究研究,主要卡在第二步的ros.key和ros-archive-keyring.gpg,访问受阻。

############# Step1 ################
 
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
 
############# Step2 ################
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
 
############# Step3 ################
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
 
############# Step4 ################
sudo apt install ros-foxy-desktop

后来发现在https://github.com/ros/rosdistro可以下载到这个两个认证文件,于是在Windows上下载后,通过scp传入到虚拟机中(尽量采用管理员模式运行Windows命令)。

 然后再在虚拟机中,运行下面几行,发现都没有换源也能很快下载和安装ros2了,而且速度还可以。

sudo apt-key add ros.asc
sudo cp ros.key /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 $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
 
sudo apt update
sudo apt install ros-foxy-desktop

最后在.bashrc文件中加入source /opt/ros/foxy/setup.bash设置好ros2的环境变量,变可开启ROS2之旅了。另附一篇古月居的安装教程《ROS2入门教程——2. Ubuntu20.04安装ROS2 Foxy》。

附一张大家熟知的ROS话题发布与监听例程,祝大家使用愉快。

Enjoy!