ROS安装

VMware软件+ROS虚拟机链接

提取码: 75hq

下面virtualbox虚拟机安装方法。

1.1 安装虚拟机软件

1.下载virtualbox

安装 virtualbox 需要先访问官网,下载安装包,官网下载地址:Downloads – Oracle VM VirtualBox

2.安装virtualbox

virtualbox 安装比较简单,如果没有特殊需求,双击安装文件,一直 "下一步" 即可。

安装完毕后,虚拟机已经可以正常启动了,接下来需要使用其虚拟出一台计算机

1.2 虚拟一台主机

使用 virtual 虚拟计算机的过程也不算复杂,只需要按照提示配置其相关参数即可

1.3 安装ubuntu

1.ubuntu安装

首先下载 Ubuntu 的镜像文件,链接如下:ubuntu-releases-20.04安装包下载_开源镜像站-阿里云

然后,配置虚拟主机,关联 Ubuntu 镜像文件:

启动后,开始配置 ubuntu 操作系统:

安装过程中,断开网络连接,可以提升安装速度:

安装完毕后,会给出重启提示,点击重启确定按钮即可:

到目前为止 VirtualBox 已经正常安装了 ubuntu, 并启动成功。

2.使用优化

为了优化 ubuntu 操作的用户体验,方便虚拟机与宿主机的文件交换以及 USB 设备的正常使用,还需做如下操作:

1.安装虚拟机工具

重启使之生效,选择菜单栏的自动调整窗口大小,然后ubuntu 桌面会自动使用窗口大小:右ctrl + F全屏。

2.启动文件交换模式

3.安装扩展插件

先去 virtualbox 官网下载扩展包

在 virtual box 中添加扩展工具

在虚拟机中添加 USB 设备

重启后,使用ll /dev/ttyUSB* 或 ll /dev/ttyACM*即可查看新接入的设备。

4.其他

其他设置,比如输入法可以根据喜好自行下载安装。

ubuntu 20.04 鼠标右击没有创建文件选项,如果想要设置此选项,可以进入主目录下的模板目录,使用 gedit 创建一个空文本文档,以后,鼠标右击就可以添加新建文档选项,并且创建的文档与当前自定义的文档名称一致

1.4 安装 ROS

Ubuntu 安装完毕后,就可以安装 ROS 操作系统了,大致步骤如下:

  1. 配置ubuntu的软件和更新;

  2. 设置安装源;

  3. 设置key;

  4. 安装;

  5. 配置环境变量。


1.配置ubuntu的软件和更新

配置ubuntu的软件和更新,允许安装不经认证的软件。

首先打开“软件和更新”对话框,具体可以在 Ubuntu 搜索按钮中搜索。

打开后按照下图进行配置(确保勾选了"restricted", "universe," 和 "multiverse.")

2.设置安装源

官方默认安装源:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

或来自国内清华的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

或来自国内中科大的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

PS:

  1. 回车后,可能需要输入管理员密码
  2. 建议使用国内资源,安装速度更快。
3.设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Copy
4.安装

首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。

sudo apt update
Copy

等待...

然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-FullDesktopROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt install ros-noetic-desktop-full
Copy

等待......(比较耗时)

友情提示: 由于网络原因,导致连接超时,可能会安装失败,如下所示:

可以多次重复调用 更新 和 安装命令,直至成功。

5.配置环境变量

配置环境变量,方便在任意 终端中使用 ROS。

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

卸载

如果需要卸载ROS可以调用如下命令:

sudo apt remove ros-noetic-*
Copy

注意: 在 ROS 版本 noetic 中无需构建软件包的依赖关系,没有rosdep的相关安装与配置。


另请参考:noetic/Installation/Ubuntu - ROS Wiki




后记

6.安装构建依赖

在 noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。

首先安装构建依赖的相关工具

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
Copy

ROS中使用许多工具前,要求需要初始化rosdep(可以安装系统依赖) -- 上一步实现已经安装过了。

sudo apt install python3-rosdep
Copy

初始化rosdep

sudo rosdep init
rosdep update
Copy

如果一切顺利的话,rosdep 初始化与更新的打印结果如下:


但是,在 rosdep 初始化时,多半会抛出异常。

问题:

原因:

境外资源被屏蔽。

解决:

百度或google搜索,解决方式有多种(https://github.com/ros/rosdistro/issues/9721),可惜在 ubuntu20.04 下,集体失效。

新思路:将相关资源备份到 gitee,修改 rosdep 源码,重新定位资源。

实现:

1.先打开资源备份路径:赵虚左/rosdistro,打开 rosdistro/rosdep/sources.list.d/20-default.list文件留作备用(主要是复用URL的部分内容:gitee.com/zhao-xuzuo/rosdistro/raw/master)。

2.进入"/usr/lib/python3/dist-packages/" 查找rosdep中和raw.githubusercontent.com相关的内容,调用命令:

find . -type f | xargs grep "raw.githubusercontent"
Copy

3.修改相关文件,主要有: ./rosdistro/__init__.py、./rosdep2/gbpdistro_support.py、./rosdep2/sources_list.py 、./rosdep2/rep3.py。可以使用sudo gedit命令修改文件:

文件中涉及的 URL 内容,如果是:raw.githubusercontent.com/ros/rosdistro/master都替换成步骤1中准备的gitee.com/zhao-xuzuo/rosdistro/raw/master即可。

修改完毕,再重新执行命令:

sudo rosdep init
rosdep update
Copy

就可以正常实现 rosdep 的初始化与更新了。

1.5 测试 ROS

ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行

  1. 首先启动三个命令行(ctrl + alt + T)

  2. 命令行1键入:roscore

  3. 命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)

  4. 命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)

最终结果如下所示:

注意:光标必须聚焦在键盘控制窗口,否则无法控制乌龟运动。

1.6 资料:其他ROS版本安装

我们的教程采用的是ROS的最新版本noetic,不过noetic较之于之前的ROS版本变动较大且部分功能包还未更新,因此如果有需要(比如到后期实践阶段,由于部分重要的功能包还未更新,需要ROS降级),也会安装之前版本的ROS,在此,建议选用的版本是melodic或kinetic。

接下来,就以melodic为例演示ROS历史版本安装(当然先要准备与melodic对应的Ubuntu18.04):

1.配置ubuntu的软件和更新

首先打开“软件和更新”对话框,打开后按照下图进行配置(确保你的"restricted", "universe," 和 "multiverse."前是打上勾的)

2.安装源

官方默认安装源:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

或来自国内中科大的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

或来自国内清华的安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
Copy

PS:回车后,可能需要输入管理员密码

3.设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Copy
4.安装

首先需要更新 apt(以前是 apt-get, 官方建议使用 apt 而非 apt-get),apt 是用于从互联网仓库搜索、安装、升级、卸载软件或操作系统的工具。

sudo apt update
Copy

等待...

然后,再安装所需类型的 ROS:ROS 多个类型:Desktop-FullDesktopROS-Base。这里介绍较为常用的Desktop-Full(官方推荐)安装: ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt install ros-melodic-desktop-full
Copy

等待...

5.环境设置

配置环境变量,方便在任意 终端中使用 ROS。

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Copy
6.安装构建依赖

首先安装构建依赖的相关工具

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
Copy

然后安装rosdep(可以安装系统依赖)

sudo apt install python-rosdep
Copy

初始化rosdep

sudo rosdep init
rosdep update
Copy

注意:

当执行到最后 sudo rosdep init 是,可能会抛出异常;

错误提示:

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

原因:

境外资源被屏蔽

解决思路:

查询错误提示中域名的IP地址,然后修改 /etc/hosts 文件,添加域名与IP映射

实现:

1.访问域名查询网址:ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名

2.查询域名ip,搜索框中输入: raw.githubusercontent.com,自由复制一个查询到的IP

3.修改 /etc/hosts 文件,命令:

sudo gedit /etc/hosts
Copy

添加内容:151.101.76.133 raw.githubusercontent.com (查询到的ip与域名),保存并退出。

或者,也可以使用 vi 或 vim 修改。

4.重新执行rosdep初始化与更新命令,如果rosdep update 抛出异常,基本都是网络原因导致的(建议使用手机热点),多尝试几次即可。


综上,历史版本的安装与noetic流程类似,只是多出了“构建功能包依赖关系”的步骤。

另请参考:melodic/Installation/Ubuntu - ROS Wiki

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热衷技术的尼古拉斯

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值