文章目录

前言

马上开学,发现学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。

本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。

所有博客文件目录索引:​​博客目录索引(持续更新)​

前提条件

硬件要求:

  • Intel i5及以上(i7最佳)
  • 8GB内存以上
  • 60GB硬盘存储以上。

操作系统:Ubuntu18.04版本操作系统

ROS版本:ROS Melodic

开发工具Clion

一、ROS版本介绍

针对于ROS安装的环境:​​官方-ROS安装选择​

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_ubuntu

二、VirtualBox安装Ubuntu18.04.6

安装virtualbox教程:​​虚拟机安装及使用Linux,看这一篇就够了!​

Ubuntu18.04.6链接:https://pan.baidu.com/s/1E60edg4BYt_vnRa4AeKxZw
提取码:dr40

1、新建

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_linux_02

2、设置内存大小为8GB

3、选择【创建虚拟硬盘】,默认【VDI】=>【动态分配】,分配空间90GB

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_ubuntu_03

此时空间创建完成,接着来选择虚拟盘,最后来进行系统启动安装。

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_学习_04

点击注册-选择ubuntu18.04版本,点击选择即可:

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_ubuntu_05

回到初始虚拟机界面,右击-正常启动,来进行安装阶段:基本都是默认操作,只有在选择地区指定【shanghai】即可,中间详细选择过程直接可见:​​在VirtualBox上安装Ubuntu18.04虚拟机​​。

安装Ubuntu18可能你需要进行一些配置,如主机与虚拟机的双向复制、xshell连接ubuntu、分辨率调整等,可见我整理好的一篇博客,直接看里面的版本18对应问题及解决方案即可:​​Ubuntu系统环境一系列问题解决方案​


三、安装ROS环境

Ubuntu18.04对应的ros版本为ROS Melodic

3.1、设置镜像源

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_ubuntu_06

选择连接最快的服务器:

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_人工智能_07

这是我经过自动测试来进行选择的:

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_学习_08


3.2、设置ROS的下载源

①添加中科大源:

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'

②设置公钥:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80'

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_人工智能_09

③更新可用软件列表

sudo apt

3.3、安装ROS

sudo apt install
  • 若是出现not found之类,那么回到2中执行更新软件列表命令【我就是没有做那步操作】。
  • 命令说明:这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件。

安装完成后,我去看了下大小,整个软件包大概有11G。

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_学习_10

3.4、设置环境变量

执行如下命令:

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

第二条是刷新该文件,刷新完之后bash终端以后可以识别roscore,rosrun等命令。

如何判断生效?可以执行一下roscore命令。

roscore

3.5、下载ros的其他功能组件

sudo apt install

说明:这些组件可以构建和管理开发者自己的ROS工作空间,强烈建议安装。

3.6、初始化rosdep以及使用rosdep命令来下载安装外部软件包

本应该执行这两条指令:一条是初始化,另一条是进行更新

sudo

执行不了的原因与命令本质介绍

第一条命令本质:下载了一个​​20-default.list​​​文件到 ​​/etc/ros/rosdep/sources.list.d​​文件夹下,内容如下:

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

问题:对应目标的网址由于外网或者其他原因是访问不了,自然就会执行失败,该文件也不会成功下载下来。

第二条命令本质:根据​​20-default.list​​​文件中的网址链接(​​"raw.githubusercontent.com"​​)去下载相应的文件

注意看上面文件的内容同样是国外的,我自己访问了下还是404,是有问题的,自然第二条命令都执行不了。

  • 上面实际上指向的都是一个仓库的rosdep文件夹下的几个文件,其实我们可以将其克隆到自己的gitee仓库中,然后改下url地址即可,不过还是很麻烦,有人已经给我们提供了一个解决方案,可见终极解决方案。

终极解决方案

该方案并不是常规的方案,有一个python大佬写了一个包并提交了上去,我们去使用pip安装那个包,然后执行对应包命令,就可以去实现上面两条原本命令的效果。

ubuntun18本身没有带pip,所以我们需要自己安装一个pip:ROS Melodic的默认环境是python2,所以我们这里安装python2的pip工具

# 安装python2
sudo apt install python-pip

# 检测

初始化:

sudo

更新:

rosdepc update

出现以下内容表示更新成功:

ROS学习笔记01、安装Ubuntu18.04以及ROS环境_ubuntu_11

参考资料

[1]. ​​ROS学习(1):ROS介绍与安装​

[2]. ​​Ubuntu18.04安装Ros(最新最详细亲测)​

[3]. ​​ubuntu18安装python pip_关于Ubuntu18.04 如何安装pip​

[4]. ​​如何在Ubuntu 18.04上安装Pip​

我是长路,感谢你的耐心阅读。如有问题请指出,我会积极采纳!
欢迎关注我的公众号【长路Java】,分享Java学习文章及相关资料
Q群:851968786 我们可以一起探讨学习
注明:转载可,需要附带上文章链接