ubuntu20.04 安装ROS2 和ROS1共存
笔者是在已经装好ROS1的系统下安装ROS2。
1.安装ROS2
- 设置编码
$ 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
- 设置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'
- 更新并安装
$ sudo apt update
$ sudo apt install ros-foxy-desktop
- 配置环境变量
如果已经安装过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时,打开~/.bashrc
将source /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
- 安装命令自动补全工具
$ sudo apt install python3-argcomplete
- 跑例子
- talker
$ ros2 run demo_nodes_cpp talker
- listener
$ ros2 run demo_nodes_cpp listener
删除命令
$ sudo apt remove ros-foxy-* && sudo apt autoremove
Reference:
- https://www.guyuehome.com/10226
- https://zhuanlan.zhihu.com/p/218329258