【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中图形化界面中乌龟的运动)

最终效果如上所示。

相关推荐
别动我齐刘海8 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
HBYKKJ12 小时前
格雷希尔GFL浮动组件:大范围浮动补偿赋能自动化产线高效柔性对接,兼容大部分对正场景,适配市面常见的机器人末端执行器与工装安装板
人工智能·机器人·自动化
恒锐丰小瑞12 小时前
率能SS6810H 32V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式,用于POS打印机/安防相机/机器人
嵌入式硬件·数码相机·机器人·硬件工程
thesky12345613 小时前
智能体面试准备(四十三):具身智能体与机器人实操——从 VLA 到 Sim2Real
机器人·导航·操作·具身智能·智能体·vla·视觉语言动作
恒锐丰小瑞15 小时前
率能SS6812T 40V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式(eTSSOP28),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
黑马水牛15 小时前
Carla仿真系列:9_Carla 单目障碍物测距,四种方法原理与实测
经验分享·python·深度学习·计算机视觉·ros·传感器·carla仿真
猫先生Mr.Mao16 小时前
具身智能语言规划之SayCan详解:让大模型“会说”,也让机器人“能做”
机器人·大语言模型·论文解读·具身智能·saycan
恒锐丰小瑞17 小时前
率能SS6811H 38V/1.6A/双通道H桥驱动芯片,PWM控制接口与低功耗睡眠模式,用于舞台灯光/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
cd_9492172118 小时前
现实版变形金刚落地!有怡科技发布可变形本质人形机器人T01
科技·机器人
恒锐丰小瑞18 小时前
率能SS8833T 15V/1A/双通道H桥驱动芯片,低静态电流与过温报警输出(FAULT),用于POS打印机/机器人/电池玩具
stm32·单片机·机器人