【ROS概述】概念及环境搭建

学习途径:

教程:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

课程视频:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

机器人体系

要完全实现一个机器人的系统研发,几乎是"全栈"开发,从硬件到软件无不涉及,而学习ros主要接触的就是软件方面:即嵌入式和上层软件设计。用一个不太恰当的比喻就是上层软件就像大脑用来接受外界的信息并下达指令给嵌入式软件,而嵌入式软件更像是小脑、下丘脑等接收大脑的指令从而在机器人的各个部位进行响应,比如小脑可以维持身体平衡,下丘脑可以进行体温调节。

ROS的诞生原因

ROS全称:Robot Operating System,是一个类似于安卓系统、IOS的操作系统,但不是底层意义的操作系统,而是仍需要依赖于底层的操作系统比如Linux的二级操作系统,也叫做元操作系统,存在形式是软件。

借助上面这张图可以明白为什么会有ROS,比如我们都想要建一个自行车,刚开始的时候都是从零开始闭门造车,但是随着时代发展和交流的便捷,大家意识到将复用性很高的程序打包、并且互相协作会提高开发效率,在这之后就可以有更多的新点子诞生。机器人领域也是如此,ROS就是这样一款可以复用很多功能的软件集成,也可以叫做机器人通用软件框架,是机器人领域的标准。

ROS的简要介绍

ROS的设计者这样描述它:

复制代码
ROS = Plumbing + Tools + Capabilities + Ecosystem

即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。

软件版本发展:命名有一定规律,按照26个英文字母顺序,图标是一只乌龟。每个版本都有使用有效期

软件安装

由于ros的历史版本有很多都不支持window系统,所以我们选择Ubuntu系统来下载ros。有两种方式可以实现,一是选择在电脑上直接下载Ubuntu,这样的话Windows和Ubuntu就是在电脑上以双系统的形式存在;二是选择在虚拟机上安装Ubuntu。我们采取第二种方案,虽然前者会比后者在与硬件交互上有优势,而且我们后面实操时也需要与硬件进行交互(比如摄像头、雷达等),但是后者比前者在与Windows交互有优势,并且对小白比较友好。

虚拟机的安装

若还不了解虚拟机是什么的伙伴可以移步我专栏里专门对虚拟机的介绍,这里就直接上手安装。

虚拟机主要有两种:virtualbox 或 VMware,因为后者需要钱_所以我们选择前者。

下载网址:https://www.virtualbox.org/wiki/Downloads

选择最新版本的进行安装。

安装步骤比较简单,一直点"下一步"即可。界面类似于这样:

然后我们开始在虚拟机上虚拟一台计算机出来:

按照要求进行按需配置即可

Ubuntu的安装

这里可以下载最新版本:22.04

Ubuntu 22.04.5 LTS (Jammy Jellyfish)

下载完之后就开始在虚拟机上配置Ubuntu

然后配置Ubuntu

配置时间:东八区

为了方便以后的ros软件安装需要确保以下按钮开启:

使用体验:虚拟机按住Ctrl+F可以全屏,Ctrl+C可以缩放视图;Win+空格(同时)可以切换中英文输入法;Ctrl+alt+T可以打开命令行。

安装ros

打开终端(命令行)之后,输入下面的命令(建议在虚拟机上打开此教程,然后方便复制粘贴)

  1. 添加软件源

    echo "deb [trusted=yes arch=amd64] http://deb.repo.autolabor.com.cn jammy main" | sudo tee /etc/apt/sources.list.d/autolabor.list

  2. 更新源

    sudo apt update

  3. 安装

    sudo apt install ros-noetic-autolabor

当出现 ros-noetic-autolabor installed 的字样,意味着安装已经完成。

验证安装

打开一个新的终端,输入

复制代码
roscore

再打开一个新的终端,输入:

复制代码
rosrun rviz rviz

当看到以上界面就说明已经安装成功了。

测试ROS

ROS里内置了一些案例,可以通过测试看看我们安装的ros环境是否可用。

分别打开三个终端,依次输入:

复制代码
roscore

rosrun turtlesim turtlesim_node(此时会弹出图形化界面)

rosrun turtlesim turtle_teleop_key(鼠标停在此命令所在的终端可以通过上下左右方向键控制2中图形化界面中乌龟的运动)

最终效果如上所示。

相关推荐
陈苏同学21 小时前
笔记1.4:机器人学的语言——三维空间位姿描述 (旋转矩阵 - 齐次变换矩阵 - 欧拉角 - 四元数高效表示旋转)
笔记·线性代数·算法·机器人
普蓝机器人1 天前
面向智慧农业的自主移动果蔬采摘机器人:融合视觉识别与自动驾驶的智能化农作系统研究
人工智能·学习·机器人·移动机器人·三维仿真导航
Wnq100721 天前
巡检机器人户外视觉识别困境剖析与自动优化模式构建
图像处理·目标检测·低代码·计算机视觉·目标跟踪·机器人·需求分析
haing20191 天前
SCARA 机器人点到点(PTP)轨迹规划方法
机器人·ptp速度规划·主运动轴
2501_927283582 天前
WMS市场中的专业力量:为何天津荣联汇智是制造企业的重点关注对象
运维·人工智能·机器人·自动化·制造·agv
深圳多奥智能一卡(码、脸)通系统2 天前
电梯门禁系统及机器人乘梯功能的安装调试需要电梯公司技术人员全程配合,这主要由电梯设备的特殊性、安全规范要求及系统集成的复杂性决定。以下是具体原因及配合内容:
机器人·agv·电梯门禁·梯控·国密梯控·二维码电梯·人脸识别电梯
文火冰糖的硅基工坊2 天前
[嵌入式系统-150]:智能机器人(具身智能)内部的嵌入式系统以及各自的功能、硬件架构、操作系统、软件架构
android·linux·算法·ubuntu·机器人·硬件架构
酌量3 天前
基于3D激光点云的障碍物检测与跟踪---(3)基于匈牙利算法的障碍物跟踪
学习·算法·机器人·匈牙利算法·障碍物跟踪
浊酒与说心事3 天前
AGV机器人
机器人
福客AI3 天前
电商智能客服机器人:客服的服务革新之路
人工智能·机器人