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

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

前提条件


硬件要求:


Intel i5及以上(i7最佳)

8GB内存以上

60GB硬盘存储以上。

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


ROS版本:ROS Melodic


开发工具Clion


一、ROS版本介绍


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



二、VirtualBox安装Ubuntu18.04.6


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


Ubuntu18.04.6链接:https://pan.baidu.com/s/1E60edg4BYt_vnRa4AeKxZw

提取码:dr40


1、新建



2、设置内存大小为8GB


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



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



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



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


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


三、安装ROS环境


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


3.1、设置镜像源



选择连接最快的服务器:



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



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



③更新可用软件列表


sudo apt update


3.3、安装ROS


sudo apt install ros-melodic-desktop-full


若是出现not found之类,那么回到2中执行更新软件列表命令【我就是没有做那步操作】。

命令说明:这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件。

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



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不初始化到底行不行

原本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


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



测试ROS


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


命令行一:


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


命令行二:


# 弹出图像化界面
rosrun turtlesim turtlesim_node


命令行三:


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


相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
ROS入门实践
本课程将基于基础设施即代码 IaC 的理念,介绍阿里云自动化编排服务ROS的概念、功能和使用方式,并通过实际应用场景介绍如何借助ROS实现云资源的自动化部署,使得云上资源部署和运维工作更为高效。
相关文章
|
6月前
|
Ubuntu 安全 iOS开发
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Ubuntu 24.04 - Nessus 自动化安装程序
723 5
|
6月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
621 18
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
411 18
|
7月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
489 15
|
7月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
641 14
|
7月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
751 7
|
7月前
|
消息中间件 人工智能 运维
Ubuntu环境下的 RabbitMQ 安装与配置详细教程
本文聚焦在Ubuntu下RabbitMQ安装与配置教程,旨在帮助读者快速构建稳定可用的消息队列服务。
1262 6
|
Ubuntu 机器人 Linux
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
645 1
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
764 14