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


    前言

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

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

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

    前提条件

    硬件要求:

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

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

    ROS版本:ROS Melodic

    开发工具Clion

    一、ROS版本介绍

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

    image-20220812103124464

    二、VirtualBox安装Ubuntu18.04.6

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

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

    1、新建

    image-20220812104225036

    2、设置内存大小为8GB

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

    image-20220812105301156

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

    image-20220812105451487

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

    image-20220812105600462

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

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


    三、安装ROS环境

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

    3.1、设置镜像源

    image-20220812142437650

    选择连接最快的服务器:

    image-20220812142505675

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

    image-20220812142529734


    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'
    
    • 1

    ②设置公钥:

    sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    
    • 1

    image-20220812142724778

    ③更新可用软件列表

    sudo apt update
    
    • 1

    3.3、安装ROS

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

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

    image-20220812143829901

    3.4、设置环境变量

    执行如下命令:

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

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

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

    roscore
    
    • 1

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

    sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
    
    • 1

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

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

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

    sudo rosdep init
    rosdep update
    
    • 1
    • 2

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

    第一条命令本质:下载了一个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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

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

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

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

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

    终极解决方案

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

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

    # 安装python2
    sudo apt install python-pip
    
    # 检测
    pip --version
    
    • 1
    • 2
    • 3
    • 4
    • 5

    初始化:

    sudo rosdepc init
    
    • 1

    更新:

    rosdepc update
    
    • 1

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

    image-20220812153056488

    参考资料

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

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

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

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

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

  • 相关阅读:
    上周热点回顾(3.20-3.26)
    深入理解注意力机制(上)-起源
    Revit翻模软件:管件二维注释比例改变和【管道翻模】
    一次服务启动慢问题排查
    IOC的理解学习
    Spring MVC如何使用@Autowired及@Service进行依赖注入呢?
    [附源码]java毕业设计票务销售网站
    使用基于Web的交互式开发工具Zeppelin
    RISCV汇编指令
    邮箱被攻击,后悔没有早早的做好安全措施
  • 原文地址:https://blog.csdn.net/cl939974883/article/details/126306805