LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

install_ROS2

2022/8/17

安装ROS2

之前的开发是在ROS上进行的,说实话ROS用得也是挺舒服的

ROS2在一些方面上对ROS进行了改进,预计会是未来的主流,而且Autoware.Auto是基于ROS2的

新装了ubuntu系统,就下个ROS2来学习学习

本来是用ubuntu18.04的,发现ROS2目前支持的发行版都是ubuntu20.04以上的

所以新开了个虚拟机,安装了ubuntu20.04,确实方便


安装版本确定

ROS2和ROS一样,版本需要对应ubuntu版本,不过一个ubuntu版本有对应多个ROS2的版本

由官方文档可以知道,当前支持的ROS2发行版有三个

分别是Humble Hawksbill、Galactic Geochelone和Foxy Fitzroy,最终决定安装Foxy

文档链接:https://docs.ros.org/en/rolling/Releases.html


安装方式确定

从官方文档可以知道,有二进制包以及源构建两种安装方式,两种方式都可以安装齐全可用的ROS2

二进制包适合想要立即开始使用ROS2的人,源构建适用于希望更改或明确省略ROS2基础部分的开发人员

Linux的二进制包安装有两种方式,有root权限的建议安装其中的Debian包,那就按建议来

故最终确定安装Foxy的二进制包,并选择Debian包安装方式

文档链接:https://docs.ros.org/en/foxy/Installation.html


安装

安装就按照官方文档来,安装过程比较顺利,基本就是把官方文档翻译了一遍过来

文档链接:https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html


设置语言环境

locale # 查看系统语言
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  # 验证设置

设置源

通过下述命令检查确保启用了 Ubuntu Universe 存储库

apt-cache policy | grep universe

输出其中应该有一行类似

500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
    release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=universe,b=amd64

我的输出都是阿里云的源,所以需要启用 Universe 存储库

sudo apt install software-properties-common
sudo add-apt-repository universe

启用后再检查一下

apt-cache policy | grep universe

确认启用后,将 ROS 2 apt 存储库添加到系统

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

会报错:curl: (6) Could not resolve host: raw.githubusercontent.com

参考博客解决:https://blog.csdn.net/qq_40584960/article/details/117963644


将存储库添加到源列表

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

安装ROS2包

更新源和包

sudo apt update
sudo apt upgrade

下载桌面完整版,这里要下载较久

sudo apt install ros-foxy-desktop

安装一些基础包,我这里输入完没有需要安装的,应该是上面已经装好了

sudo apt install ros-foxy-ros-base

写入环境变量

官方说通过下述命令设置环境变量

source /opt/ros/foxy/setup.bash

为了后续开发方便,直接写入.bashrc

每次用echo写入心都要咯噔一下,很怕少写一个>直接覆盖了

echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
source ~/.bashrc

其他

安装补全工具

sudo apt install python3-argcomplete

测试

开启一个终端,运行talker测试程序,会不断发出Hello World

ros2 run demo_nodes_cpp talker

开启另一个终端,运行listener测试程序,会不断接收talker发送的内容

ros2 run demo_nodes_py listener

如果两个终端输出都正常那么就表示安装成功了