ubuntu20.04 安装ROS2和ROS1共存

ubuntu20.04 安装ROS2 和ROS1共存

笔者是在已经装好ROS1的系统下安装ROS2。

1.安装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
  1. 设置ROS2软件源
$ 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'
  1. 更新并安装
$ sudo apt update
$ sudo apt install ros-foxy-desktop  
  1. 配置环境变量
    如果已经安装过ROS1的同学直接用以下的命令设置环境变量会有下面的问题:
$ source /opt/ros/foxy/setup.bash

ROS_DISTRO was set to 'noetic' before. Please make sure that the environment does not mix paths from different distributions.

这说明在同一个环境下能同时安装两个ROS版本,但是不能同时使用ROS1和ROS2。
当我们要使用ROS1时,打开~/.bashrcsource /opt/ros/foxy/setup.bash和ROS2的工作空间注释掉,则ROS2也是同理。
当笔者使用ROS2时,~/.bashrc是这样的

source /opt/ros/foxy/setup.bash
# 注释掉ROS1的环境变量
#source /opt/ros/noetic/setup.bash
#source ~/volcano_ws/devel/setup.bash --extend
#source ~/catkin_ws/devel/setup.bash --extend
  1. 安装命令自动补全工具
$ sudo apt install python3-argcomplete
  1. 跑例子
  • talker
$ ros2 run demo_nodes_cpp talker
  • listener
$ ros2 run demo_nodes_cpp listener

ubuntu20.04 安装ROS2和ROS1共存_第1张图片

删除命令

$ sudo apt remove ros-foxy-* && sudo apt autoremove

Reference:

  1. https://www.guyuehome.com/10226
  2. https://zhuanlan.zhihu.com/p/218329258

你可能感兴趣的:(▶机器人操作系统ROS,ROS2)