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

最终效果如上所示。

相关推荐
zhd15306915625ff2 小时前
库卡机器人日常维护
网络·机器人·自动化·机器人备件
古月居GYH3 小时前
ROS一键安装脚本
人工智能·机器人·ros
DeepAlchemy3 小时前
ROSSERIAL与Arduino IDE交叉开发(UBUNTU环境,包含ESP32、arduino nano)
c++·单片机·ros·rosserial
清流君6 小时前
【运动规划】移动机器人运动规划与轨迹优化全解析 | 经典算法总结
人工智能·笔记·算法·机器人·自动驾驶·运动规划
Matlab程序猿小助手12 小时前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
xx小寂17 小时前
ubuntu16.04在ros使用USB摄像头-解决could not open /dev/video0问题
ubuntu·机器人
啵啵鱼爱吃小猫咪19 小时前
迭代学习公式
学习·机器人
宋1381027972021 小时前
人形机器人开发、XR仿真训练、影视动画制作,一副手套支持多种应用
机器人·汽车·vr·动作捕捉
京天机器人2 天前
当科技照进现实 机器人带着机器狗乘空轨
人工智能·科技·机器人
Mr.Winter`3 天前
轨迹优化 | 基于Savitzky-Golay滤波的无约束路径平滑(附ROS C++/Python仿真)
人工智能·算法·机器人·自动驾驶·ros·ros2·数值优化