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

最终效果如上所示。

相关推荐
深圳多奥智能一卡(码、脸)通系统1 分钟前
AMR 、AGV机器人(狗)乘梯梯控、开门、过闸对接说明
机器人·agv·机器狗·门禁·梯控·智能梯控·amr
V1588972620114 分钟前
从滴滴模式看机器人租赁:撮合型租赁平台开发源码的调度系统设计思路
linux·前端·机器人
szxinmai主板定制专家1 小时前
基于 RK3576 的智能割草机器人解决方案,从样机到量产
人工智能·嵌入式硬件·计算机视觉·fpga开发·机器人·rk3588+fpga·割草机器人
天空属于哈夫克317 小时前
私域运营:如何用自动化做好客户跟进?
机器人·自动化·企业微信
懂压力传感器的涌客21 小时前
机器人触觉传感器方案中FSR如何选型与集成
人工智能·机器人·压力传感器·fsr·源头工厂·fsr压力传感器
明志数科1 天前
机器人数据采集流程的工程实践:三条主流路线对比与选型分析
计算机视觉·自然语言处理·机器人
Hello Mr.Z1 天前
microduck_rl(MuJoCo+PPO+WandB+UV训练机器人)
机器人·uv·rl·ppo·microduck
rcms152702692181 天前
Yaskawa XU-RCM2500T-4机器人手臂模块
机器人
海盗12341 天前
AI 新闻日报 2026-09-07:GitHub 多模型编排、OpenClaw 2.0 多智能体、人形机器人破人类纪录
人工智能·机器人·github
天空属于哈夫克31 天前
企业微信开发:如何处理接口返回的异常数据?
机器人·自动化·企业微信