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

前言

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

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

学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记在线笔记,本博客主要是做归纳总结,如有侵权请联系删除。

视频中的案例都基本敲了遍,这里给出我自己的源代码文件:

链接:https://pan.baidu.com/s/13CAzXk0vAWuBsc4oABC-_g 
提取码:0hws 

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

前提条件

硬件要求:

操作系统: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'

②设置公钥:

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

image-20220812142724778

③更新可用软件列表

sudo apt update

3.3、安装ROS

sudo apt install ros-melodic-desktop-full

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

image-20220812143829901

3.4、设置环境变量

执行如下命令:

# 将source命令写入到~/.bashrc文件末尾
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc

# 执行当前用户名home目录下的.bashrc文件
source ~/.bashrc

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

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

roscore

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

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

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

3.6、初始化与更新rosdep包(可跳过)

认识rosdep包

从ROS fuerte开始,rosdep称为是一个独立的工具,可以单独下载和使用,对于克隆了一些仓库源代码,并且想手动编译所有的包或者开发跨平台应用时就需要使用到rosdep。

原本rosdep的初始化与更新命令如下:

sudo rosdep init
rosdep update

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

第一条命令本质:下载了一个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地址即可,不过还是很麻烦,有人已经给我们提供了一个解决方案,可见终极解决方案。
    • 五个文件的github地址: ros仓库,rosdep文件夹。

终极解决方案

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

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

# 使用pip来尝试安装rosdepc
# 如果显示没有pip可以试试pip3:sudo pip3 install rosdepc
# 如果pip3还没有:sudo apt-get install python3-pip 
sudo pip3 install rosdepc

初始化rosdep:

sudo rosdepc init

更新rosdep:

rosdepc update

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

image-20220812153056488

测试ROS

打开三个命令行窗口来执行ROS自带的一些小程序

命令行一:

# 启动系统自带的节点,实现通信
roscore

命令行二:

# 弹出图像化界面
rosrun turtlesim turtlesim_node

命令行三:

# 读取键盘上下左右移动信息控制乌龟行动
rosrun turtlesim turtle_teleop_key

image-20220905154203683

参考资料

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

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

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

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

[5]. 本文之后,世上再无rosdep更新失败问题!如果有…小鱼就…

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年3月28日
下一篇 2023年3月28日

相关推荐