本帖最后由 Yuan 于 2020-12-11 15:37 编辑
Roban 机器人的控制系统本质上就是一台安装的Linux系统的计算机,该计算机上安装了机器人专用的软件系统,配合机器人本体上的其他软硬件系统即可达到机器人的控制目标。
01 Roban机器人系统
Roban 机器人身高 68cm,体重 6.5kg, 主要硬件包括CPU、主板、扬声器、mic 阵列、深度相机、ToF 测距传感器、电机、语音合成器、陀螺仪等,如下图(图 1.1 Roban 机器人)所示。
1 通用硬件系统 (1)处理器(CPU):主处理器采用 8 代Intel i3-8109U 处理器,主频 3.0GHz - 3.6GHz、4MB 高速缓存、双核四线程。基于 CortexM4 处理器作为协处理器,用于传感器数据收集以及运动数据转发。
(2)存储器 :内存 8GB、固态硬盘 120GB。
(3)网络连接 :以太网 IRJ45 接口、英特尔 i219-V 10/100/1000Mbs。支持无线网络连接,Wireless-AC 9560,IEEE 802.11ac 2x2。蓝牙支持V5 版本。
(4)外部接口 :2 个USB3.0 端口、一个标准HDMI2.0A 接口、一个雷电 3 接口。
(5)电源锂电池 :动力锂电池最高电压为 12.6V,电池容量 4000mAh,2A 电流充电约需 2 小时。
(6) 视觉与声音系统 :机器人视觉的硬件基础是相机(摄像头),Roban 机器人搭载了两个摄像头,可以用于拍摄图像,录制视频以及V-SLAM导航,可以通过调用相关接口使机器人具有认知功能。
* 相机:Roban 机器人提供了两个相机,一个位于头部的Realsense D435 RGBD 深度摄像头,除了可以得到通常的RGB 图像之外,还可获取到分辨率为1280*720的深度信息,每秒最高可以提供30 帧的RGB图像以及90 帧的深度图像,这是机器人进行V-SLAM 导航的基础。
* 声音系统:Roban 可以听到声音,并且辨别出声音方向,也可以说出悦耳的声音,听和说的硬件是话筒和扬声器。机器人后背安装了2 个2W 的扬声器用于机器人音频的输出。机器人头部安装有 6 麦阵列,通过 6 个麦克风可以计算音源的方位角,可以对于唤醒方向声音实现定向收音,从而可以实现与人的互动。
2 软件系统
Roban 机器人操作系统为 Linux 的一个十分常见的发行版Ubuntu 16.04LTS,在这个操作系统的基础上构建了基于 ROS(机器人操作系统)的基础包框架,其支持Linux,Window 或Mac OS 等操作系统的远程控制,既可以直接通过ssh 对该系统上的程序进行修改,也可以通过ROS 的消息机制对机器人进行控制。由于机器人本身就搭载了一个电脑,开发者也可以使用外置的鼠标键盘以及显示器直接连机器人进行编程,还可以直观地观察机器人运行时的各种数据。
为了更加方便地对机器人的硬件进行操作,Roban 机器人在ROS 系统的基础上还构建了多层结构用于对机器人进行操作,这些包都采用ROS 的消息机制以及Service 机制进行了连接,从而可以方便地使用各种ROS 支持的语言对机器人进行良好的操控,其主要控制框图如下图(图 1.2 Roban 软件架构)所示,分为底层、中间层以及应用层,开发的过程主要是通过对应用层进行修改和开发,从而使得机器人可以按设计逻辑运行。
3 机器人特有硬件
(1)深度摄像头 :
Roban在头部安装有一个 D435 深度摄像头,除了可以提供 RGB 的图像数据之外还可以提供深度摄像头,摄像头会投射出红外结构光,摄像头有两个红外相机,可以获取到红外数据,从而得到深度信息,而在室外的环境中,由于结构光投射距离有限,深度摄像头会直接采用外部的纹理信息,利用双目摄像头的原理对深度进行计算。有了深度摄像头之后,可以使得机器人更好地获取前方的障碍物信息,也可以用于V-SLAM 导航相关的应用,最近测量距离约0.1m,最远可测量10m。深度相机原理结构下图(图 1.3 D435 结构图)所示:
(2)ToF 测距传感器 :
Roban 在胸前额外安装了一个基于飞行时间原理的测距传感器,是为了精确测量与障碍物之间的距离,可以测量 2m 范围之内的准确距离,采用的垂直腔面发射激光器基础。通过发射 940nm 的红外激光,并且通过测量发射到收到反射激光的时间来判断检测距离内是否有障碍物,如果一段时间内没有收到反射的激光,则认为有效距离内没有障碍物。
(3)惯性传感器 :
测量身体状态及加速度,包括陀螺仪和加速度计,通过这两个传感器的数据融合可以实现对机器人姿态的估计。
(4)关节位置编码器 :
测量机器人自身关节位置,且在各个关节内可用于各关节位置的反馈,使用这些位置传感器,机器人在步行的过程中可以更好地估计机器人本体的位姿。
(5)压力感应器 :
压力传感器(FSR,Force Sensitive Resistors),机器人每只脚上有 4 个压力传感器,用来确定每只脚压力中心(重心)的位置。在行走过程中,Roban 会根据重心位置进行步态调整以保持身体平衡,同时也可以用于判断机器人的脚是否着地,为步态算法的研究提供了方便。
(6)发光二极管 :
Roban 前胸有一排发光二极管,可编程使得其显示不同的状态,可用于机器人状态显示。
(7)可编程按键 :
Roban 后背具有轻触按键,可编程将其作为状态输入,用于机器人状态的切换。
(8)机器人关节 :
控制机器人的关节可以使机器人完成各种动作,Roban 中有 22 个独立的直流伺服关节,根据具体位置不同使用了三种不同的电机及减速比,电机的转动通过齿轮的减速之后可驱动机器人的关节,完成各种关节运动,从而使机器人具有强大的运动能力。
|