蚁群用户界面:一群桌面运动的机器人

作者:卓晴博士,清华大学自动化系
更新时间:2020-09-24 Thursday
 

01这是群什么鬼?

也许大家已经熟悉了现在的计算机的界面。通过屏幕、键盘、鼠标、手写笔、触摸屏、语言甚至 

VR、AR等设备与计算机进行沟通。但蚁群用户界面也许大家并不太熟悉。

蚁群用户界面 是由一些独立运动的小型机器人组成,它们可以协同工作提供显示信息,并能够感知对用户手的输入信号。

甚至它们还可以协同来搬运桌面上的一些小型物件,敲击铃铛等。

面对这群可以移动的小机器人,你拿起其中的一个,随意的在桌面上滑动。在旁边站成一排的机器人就自动跟踪过来,根据第一个机器人走过的路线排成一个完整的轨迹曲线。

当所有的机器人都加入到轨迹排列之后,它们就会像 贪吃蛇 一样随着第一个机器人进行游动。

▲ 动态组成绘制曲线

▲ 动态组成绘制曲线

甚至你揪动这个队列的中任意两个,整个队列就像一个有弹性的橡胶带一样伸缩扭动。

它们还可以组成各种时间序列的图像,完成动态信号和演示,或者在坐标纸上进行多重散点坐标显示。甚至,通过它们的运动,可以为动画制作人员提供关键镜头之间的动态演示。

似乎只有这群独立移动的机器人足够多的,再加上足够的想象力,使用它们可以做很多有趣的事情。

对于工程师来说,更想知道它们究竟是如何工作的?

02内部结构

Mathieu Le Goc等人在2016年通过 Zooids: Building Blocks for Swarm User Interfaces 介绍了这款开源系统的工作原理。 在 Github上可以下载SwarmUI的设计资料

Zooid是根据用户需要定制的微型机器人,它的内部结构如下图所示。它的体型高21毫米,直径26毫米的圆柱体,使用3D打印制作外壳结构。每个Zooid内部安装有100mAh的锂聚合物电池。

使用微型电机直接带着两个主动轮来驱动机器人运动。为了减少机器人的直径,两个轮子并不是共轴的,运行起来并不会使得机器人旋转。

它的外部安装有电容感应电极,通过 AT42QT1070 电容触摸传感器芯片来感知用户触碰。

▲ 小型机器人内部结构

▲ 小型机器人内部结构

在PCB板上集成有48MHz ARM MCU(STM32F051C8)完成机器人的控制、以及通过2.4GHz nRF24L01+芯片与主控计算机进行通讯。

为了能够完成定位,在PCB板上还安装有两个光电管来识别投影跟踪系统发射的不同亮光。中央固定一个彩色LED用于表明机器人身份,作为系统反馈。

Zooid在静止时,耗电40mA,运动时消耗100mA电流。在100mAh的电池供电下,可以连续运动1个小时,如果有静止时间段,可以工作更长的时间。

03如何定位?

为了保证整群机器人准确完成任务,组成精确的队列,需要每个Zooid可以实时感知自己当前的精确2D位置,并按照指令进行移动。在演示桌面上面,使用TI公司的DLP Light Crafter 投影仪发送的每秒3000帧编码图像。每个Zooid机器人通过顶部电路板上的两个光电管接收的信号序列编码来确定两点的位置。进而可以计算出机器人的中心位置和方向了。

每个光电管的信号通过41个采样信号序列编码来得到对应的位置,因此位置更新速率就是73Hz(3000Hz / 41),这可以满足机器人在桌面上以44厘米/秒的速度行进控制需要。

根据DLP投影仪的像素和投影面积,在投影的1米×0.63米的范围内,可以达到水平1.15mm,垂直1.12mm的定位精度。

▲ 通讯使用时的MCU模块

▲ 通讯使用时的MCU模块

那么每个Zooid如何知道自己去哪儿呢? 这是通过电路板上的nRF24L01+无线通讯芯片与外部的无线接收器进行通讯的。无线接收器所使用的控制板包括有Teensy 3.1和Arduino Pro mini。

下图给出了系统软件结构。顶层应用软件根据需要确定每个机器人的目标位置、方向以及显示的颜色。然后通过仿真层对所有机器人进行最优路径规划,在避免相互之间碰撞的前提下使得机器人移动的距离最短。

在服务器层用于机器人运动指令的发送,接收机器人返回来的位置,方向以及是否用户触摸灯信息。这些交互信息通过无线通讯模块与每个机器人进行通信。

▲ Zooid控制系统示意图

▲ Zooid控制系统示意图

04局限性

现在这款开源Zooids蜂群用户界面,还有很多需要进一步发展改进的方面。

  1. 最主要的一个限制就是这款机器人还不属于全向自由运动机器人。在拐弯时,它需要向汽车一样有一个拐弯半径。这就限制了它在小范围内运行的自由度;
  2. 它在感知用户输入时还仅仅依靠触摸传感器。当多个机器人被拿起时,之后被直接接触的机器人才能够感知被触摸。其它没有白直接触碰的就无法得到正确的输入信号;
  3. 在机器人等位方面还需要使用外部的DLP投影,不仅增加了系统成本,而且限制系统所使用的范围,并对环境光线有要求。
  4. 这款Zooid中没有安装无线充电电路,对他们充电还需要手工逐个进行。

当然,它们还不足够小,这样在完成显示功能时,显得过于粗糙。

也许上述各种限制,在不久的将来会逐步得到改善。

蚁群用户界面这篇文章最后,还介绍了很多用于机器人室内定位的技术。这也许在将来可以被设计应用在 智能车竞赛 的导航系统中。

 

■ 相关文献链接:

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页