<>综合技术栈

* 计算机 (微控制器)(OpenCR)
* 网络 (实时数据处理)
* 视觉
* 嵌入式
* 传感器
* 驱动器 (舵机控制)
* 固件开发 (FPGA)
* 自动驾驶
* SLAM 即时定位与地图构建
<>应用

* 嵌入式系统
* 移动机器人 (服务机器人)
* 机械手臂
<>领域

* 宝马 (汽车)
* 飞机
* 科学领域
<>开源代码 (集体智能)

促进技术 发展 普及
适应未来社会变化

Onshape github

<>中文术语表

<>机器人软件平台

<>平台的 组成

* 生态系统Ecosystem 4大组成要素 分工与协作 由 各种Hardware 硬件 组合 模块 管理硬件的 Operating System
操作系统 操作系统提供基于硬件抽象的 软件开发环境中 提供各种应用服务 Application 大量用户 User
PC个人电脑 PP个人手机 PR (个人机器人)

<>机器人应用

* 硬件抽象
* 子设备控制
* 传感
* 识别
* 自定位和绘图(SLAM)
* 导航(Navigation)
* 机械臂控制(Manipulation)
功能包管理
开发环境所需要的库
开发调试工具

ROS – Robot Operating System 机器人操作系统
日本开放式机器人中间件 OpenRTM
欧洲 实时控制中心 OROCOS
韩国 OPRoS

<>机器人硬件

* 移动机器人
* 无人机
* 人形硬件
软件平台抽象
(以往 机器人开发者 担负 从硬件设计到软件设计的整个工作)
机器人硬件 根据 软件平台 提出的 界面 进行设计的

<>传感、识别、绘图、动作规划

* Robotbase 核心技术 脸部识别 物体识别
* 移动机器人 ROS 的 yujin robot 移动机器人基台
* 舵机 ROBOTIS 的 Dynamixel
* 障碍物识别 导航 电机驱动 ROS 公开功能包
ROS-I Industrial Consortium
ROS工业组合 工业机器人领军企业参加
自动化 传感 协同 机器人 的 挑战 解决

<>标准化代码 – ROS转化 – 通用

一、程序可重用
NASA 宇宙空间站 Robonaout2 机器人
使用了
1.ROS(可在多种操作系统使用)
2.实时控制、消息通道修复、可靠性 OROCOS 实时控制中心

二、基于通信的程序
提供服务
在同一个框架 编写很多程序 :
传感器/舵机 硬件驱动(固件)
传感
识别
动作
所有种类的 程序

为了重用机器人软件
根据每个处理器 用途 分成更小部分
根据平台不同 叫做 组件化 节点化

划分为最小执行单元 的 节点之间 发送 和 接收数据

平台具有 关于 该 数据通信 的 所有 一般信息

与最小的单位进程连接 到 网络的 物联网(IOT) 概念一致
因此可作为 物联网平台

被划分 最小执行单元 的 程序 可以进行
小单元 调试 有助于debug

三、 开发工具
debug调试工具

2D绘图、3D视觉化工具 RViz

可视化模型 情况 较多 通过遵守规定的 信息格式
直接确认 机器人模型 提供3D仿真器
易于拓展到 仿真实验

点云(Point cloud) 形式 从因特尔 RealSense 或者 Kinect 获取 3D 距离 信息 转化

实验数据 记录 可重现 实验

四、生态系统
操作系统 整合 硬件技术

五、开源社区
共享 功能包
wiki 页面 解释

软件平台 提供 方便 组件
通信
可视化
仿真器
实时性
独特功能

<>Open Robotics 开发的 ROS

ROS是一个开放源代码的机器人 元操作系统
服务:
硬件抽象
低级设备控制
常用功能实现
进程间消息传递
功能包管理

多台计算机 间 获取、 构建 、 编写 、 运行代码 的 工具 和 库

ros 类似于 操作系统的 硬件抽象
可用于 异构硬件 的 特性

<>元操作系统

通用计算机操作系统 windows 、Linux、Mac、
智能手机 Android 、IOS、Symbian、等

Meta -Operating - System
利用应用程序 和 分布式 计算 资源 之间 的 虚拟化层
来 执行 调度 加载 监视 错误处理 等 任务 的 系统

利用现有的 操作系统 Ubuntu 再安装ROS
以使用 进程管理系统 、 文件系统 、用户界面
程序实用程序(编译器、线程模型)等

以库的形式 提供 机器人 应用程序 所需 多数 不同类型 硬件之间
数据传输 接收 、调度、和错误处理 等 功能
Middleware(中间件)
Software framework(软件框架)

拥有分享 开发功能包 Ecosystem

ROS 是 在 使用 现有的 传统操作系统 同时
通过 使用 硬件抽象概念 来 控制 机器人 应用程序 所必须的 机器人/传感器

同时 也是 开发用户 的 机器人应用程序 的 支持系统

ros 数据通信 可以在 一个操作系统 中 进行
也适用于 使用 多种硬件 的 机器人开发

因为可在不同操作系统、硬件、程序之间 交换数据

<>ROS目的 – 开发机器人协作 软件环境

特征:

*
分布式进程:
可以执行进程的最小单位(node 节点)的形式进行编程
每个进程独立运行
并 有机的收发数据

*
功能包单位管理:
以功能包形式管理着多个 具有相同 目的 的 进程
易于共享 修改 发布

*
公共存储库
每个功能包 github 公开 标识许可

*
api 类型
简单 通过 调用 API 将其 加载 到 其 使用的 代码中

*
多种编程语言 支持
client Library 客户端库
java c# Lua Ruby 等语言
python C++ Lisp

代码重用 普遍

<>ROS 组件

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信