Ubuntu20 ros2安装

1. 设置编码

    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

2.设置软件源

    sudo apt update && sudo apt install curl gnupg2 lsb-release
    #curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
#
curl http://repo.ros2.org/repos.key | sudo apt-key add -
    sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'

3.安装ROS2

    sudo apt update
    sudo apt install ros-foxy-desktop

4、测试

# 打开一个终端并配置环境
source /opt/ros/foxy/setup.bash
# 运行C++ talker
ros2 run demo_nodes_cpp talker
# 然后打开另外一个终端并配置环境
source /opt/ros/foxy/setup.bash
# 运行C++ listener
ros2 run demo_nodes_py listener
例子

5、依赖rosdep安装

这一部分你不安装可能在本节做测试的时候都不会发现什么问题,但是后续可能会很麻烦。本节主要参考Installing ROS 2 on Ubuntu Linux。
在前面的完成后,再执行下面的语句

sudo apt update
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update

能这样执行是前面添加ros2的源的时候已经给添加了rosdep的源。然后安装。一般在sudo rosdep initrosdep update的时候可能会出错,出错原因是连不上连不上境外网站。
首先使用IP域名查询工具如http://mip.chinaz.com/?query=raw.githubusercontent.com,或者https://site.ip138.com,或者http://tools.bugscaner.com/domain2ip.html等网页查询raw.githubusercontent.comIP,然后选一个ping的延迟最小的加入/etc/hosts文件,

sudo gedit /etc/hosts

然后修改成如下这样

修改host

图来源于rosdep update 出现time out 解决办法(绝对有效)。
修改完之后最好先把sudo rosdep init时候产生的那个文件删掉,重新init,然后update就可以了。

6、参考来源

ROS2入门教程——2. Ubuntu20.04安装ROS2 Foxy
在Ubuntu 20.04中安装ROS2最新版本Foxy Fitzroy

你可能感兴趣的:(Ubuntu20 ros2安装)