ubuntu20.04安装ros2,并与ros1共存

前言

该安装教程基于ubuntu20.04,并已安装ros-noetic,在此基础上安装ros2。

安装过程的第一部分源自下面这篇教程:

ubuntu20.04安装ROS2 详细教程_shenliu128的博客-CSDN博客_ubuntu20.04安装ros2

为了方便衔接,我将前半部分复制过来

一、安装前检查准备

1、ROS 系统安装版本选择
ROS 目前主要支持Linux和MacOS系统,新发布的 ROS2 也支持 Windows和RTOS 系统。
对ROS兼容性最好的当属Ubuntu系统。从ROS发布以来,每版的Ubuntu系统版本都有与之对应ROS版本的,每一版ROS都有其对应版本的Ubuntu版本,切记不可随便装。
 ubuntu20.04对应foxy版本,因此这里我们选择foxy版本。

2、检查系统设置

(1)设置编码UTF-8

终端输入:

locale

若出现上图中的输出信息,则说明编码是utf-8,无需再做设置,如果未出现,则按照ros.org官网提示操作。

(2)添加源

检查是否已已启用ubuntu Universe存储库

$ apt-cache policy | grep universe
## 输出应如下:
 500 http://security.ubuntu.com/ubuntu focal-security/universe i386 Packages
     release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=universe,b=i386
 500 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages
     release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=universe,b=amd64

如果没有看到上面的输出信息,执行下面这两条命令

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

(3)设置密钥

$ 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
$ 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安装命令的时候会出现无法定位到软件包的问题。

如果遇到报错“ailed to connect to raw.githubusercontent.com port 443 after 13 ms: 拒绝连接”

解决方法:在/etc/hosts文件中添加如下IP

$sudo gedit /etc/hosts
#这两行是原来就有的
127.0.0.1	localhost
127.0.1.1	iron-virtual-machine
###这一行是需要新增加的
185.199.108.133  raw.githubusercontent.com

二、正式开始安装ros2

$ sudo apt update
$ sudo apt upgrade
## 推荐桌面版,比较推荐。
$ sudo apt install ros-foxy-desktop
## 安装时间可能较长,安心等待。

-------------------------------------------------------------------------------------------------------------------------------

如果系统中原来没有ros1,可按照原教程继续安装,一般不会出现问题,如果需要ros1与ros2共存,需要使用如下方法设置环境变量。

------------------------------------------------------------------------------------------------------------------------------

三、设置环境变量

这是~/.bashrc中原先的ros环境变量,

source /opt/ros/noetic/setup.bash
source ~/catkin_ws/devel/setup.bash

注释掉这两行,并添加下列代码:

echo "ROS noetic (1) or ROS2 foxy (2)?"
read edition
if [ "$edition" -eq "1" ];then
  source /opt/ros/noetic/setup.bash  #这是ros1根目录环境变量
  source ~/catkin_ws/devel/setup.bash#这是ros1工作空间环境变量
  echo using ros noetic
else
  source /opt/ros/foxy/setup.bash    #这是ros2系统环境变量

  echo using ros2 foxy
fi

后续创建了ros2的工作空间后,假设工作空间为colcon_ws,这在下面位置添加环境变量

echo "ROS noetic (1) or ROS2 foxy (2)?"
read edition
if [ "$edition" -eq "1" ];then
  source /opt/ros/noetic/setup.bash  #这是ros1根目录环境变量
  source ~/catkin_ws/devel/setup.bash#这是ros1工作空间环境变量
  echo using ros noetic
else
  source /opt/ros/foxy/setup.bash    #这是ros2系统环境变量
  source ~/colcon_ws/install/local_setup.sh #添加在这里***************
  echo using ros2 foxy
fi

现在你已经拥有了一个ros1与ros2并存的系统了,在使用过程中可以根据需要切换ros版本,记得每次打开一个新的终端都需要通过按键“1”或“2”来选择ros版本。

 

  • 20
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 安装ROS1和ROS2在Ubuntu20.04上的步骤如下: 1. 首先要安装ROS1。可以参考ROS官网上的安装教程,选择适合自己的安装方式进行安装。常见的安装方式有通过apt-get命令、二进制文件和源码三种方式。 2. 安装ROS1后,在系统中运行以下命令,安装ROS2的依赖项: 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 - sudo sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2.list' sudo apt update 3. 安装ROS2: sudo apt install ros-foxy-desktop 4. 安装完成后,运行以下命令激活ROS2环境: source /opt/ros/foxy/setup.bash 5. 运行以下命令测试ROS2是否安装成功: ros2 run demo_nodes_cpp talker 如果出现“hello world”的输出,说明ROS2已经成功安装。 通过以上步骤,便可以在Ubuntu20.04系统上安装ROS1和ROS2了。 ### 回答2: Ubuntu20.04是一种现代的Linux操作系统,其广泛应用于ROS(机器人操作系统)的开发和部署。ROS是一个用于机器人开发的框架,可以为机器人提供感知、控制、通讯等核心功能,ROS分为ROS1和ROS2两个版本。 安装ROS1: 首先,确认Ubuntu20.04安装好后的ubuntu是否能够访问Ubuntu软件仓库,并进行更新,然后给自己的系统配置一个ROS环境。 1、设置自己的电脑使其能够访问ROS软件仓库: $ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list‘ 2、添加ROS软件仓库密钥; 在安装ROS软件之前,需要先添加ROS的GPG密钥文件; $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add – 3、为了避免ROS与其他软件包发生冲突,建议先执行升级: $ sudo apt-get update $ sudo apt-get upgrade 4、安装ROS: 这个步骤也很简单,只需 $ sudo apt-get install ros-melodic-desktop-full 这个命令将会安装ROS所需要的一系列软件包。 5、初始化ROS: $ sudo rosdep init $ rosdep update 6、环境变量: $ echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc $ source ~/.bashrc 安装ROS2: ROS2是ROS的最新版,大大的增加了ROS的实时性和可扩展性。ROS2和ROS1同时存在,所以安装ROS2不会影响ROS1的使用。以下是ROS2的安装过程: 1、先添加 ROS 2 apt 仓库的公钥: $ sudo apt install curl gnupg2 lsb-release $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add – 2、添加 ROS 2 apt 仓库: $ sudo sh -c ‘echo “deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main” > /etc/apt/sources.list.d/ros2-latest.list‘ 3、sudo apt-get update 4、安装ROS2: $ sudo apt install ros-foxy-desktop 5、为ROS2设置开发环境: $ source /opt/ros/foxy/setup.bash 至此,ROS2已被成功安装并配置好了!可以使用以下命令测试: $ ros2 run demo_nodes_cpp talker $ ros2 run demo_nodes_cpp listener 以上就是Ubuntu20.04安装ROS1和ROS2的方法,在使用的过程中,遇到问题可根据官方文档进行查找确定。 ### 回答3: 在安装ROS 1和ROS 2之前,需要确保已经安装Ubuntu操作系统和创建了一个普通用户账户。此外,还需要确保在Ubuntu系统中已经安装了必要的依赖项和工具。下面是在Ubuntu 20.04上安装ROS 1和ROS 2的步骤: 安装ROS 1 1. 添加ROS 1软件库:首先使用以下命令添加ROS 1软件库 ``` sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2. 添加ROS 1公钥:使用以下命令添加ROS 1公钥 ``` sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` 3. 更新软件库:运行以下命令以更新软件库 ``` sudo apt-get update ``` 4. 安装ROS 1:运行以下命令以安装ROS 1完整版 ``` sudo apt-get install ros-noetic-desktop-full ``` 5. 初始化ROS 1依赖项:使用以下命令初始化ROS 1依赖项 ``` sudo rosdep init rosdep update ``` 6. 设置环境变量:使用以下命令设置ROS 1环境变量 ``` echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 安装ROS 2 1. 添加ROS 2软件库:首先使用以下命令添加ROS 2软件库 ``` sudo apt update && sudo apt install curl gnupg2 lsb-release curl -Ls https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo sh -c 'echo "deb https://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' ``` 2. 更新软件库:运行以下命令以更新软件库 ``` sudo apt-get update ``` 3. 安装ROS 2:ROS 2有几个版本可供选择,包括桌面完整版、桌面最小版和基础版本。 下面是安装桌面完整版ROS 2的命令。 ``` sudo apt-get install ros-foxy-desktop ``` 4. 初始化ROS 2依赖项:使用以下命令初始化ROS 2依赖项 ``` sudo rosdep init rosdep update ``` 5. 设置环境变量:使用以下命令设置ROS 2环境变量 ``` source /opt/ros/foxy/setup.bash echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc ``` 最后,可以使用以下命令测试ROS 1和ROS 2: ``` roscore ``` 这命令将启动ROS的主节点。然后,可以使用命令行工具或GUI工具来使用ROS 1和ROS 2。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值