首页
/ Zooids:构建群体用户界面的积木

Zooids:构建群体用户界面的积木

2024-09-26 17:14:01作者:谭伦延

Teaser

项目介绍

Zooids 是一个开源的开放硬件平台,旨在开发桌面群体用户界面(Swarm User Interfaces)。群体用户界面是一种新型的人机交互界面,由许多自主机器人组成,这些机器人不仅负责显示信息,还处理交互任务。Zooids 平台由一组定制设计的微型轮式机器人、一个无线基站、一个用于光学跟踪的高速 DLP 结构光投影仪以及一个用于应用程序开发和控制的软件框架组成。通过一系列使用 Zooids 开发的应用场景,我们展示了桌面群体用户界面的潜力,并讨论了群体用户界面独特的设计考虑因素。

项目技术分析

硬件

Zooids 机器人是直径为 26 毫米、高度为 21 毫米、重量约为 12 克的微型机器人。每个机器人由一个 100 mAh 的锂聚合物电池供电,并使用电机驱动的轮子进行移动。机器人内部包含一个柔性电极,用于电容触摸感应,并通过 NRF24L01+ 芯片与主计算机通信。

跟踪系统

Zooids 使用基于投影仪的跟踪系统来定位机器人。该系统利用德州仪器公司的高帧率(3000Hz)DLP LightCrafter 投影仪,将一系列灰度编码图案投影到平面上。机器人上的光电二极管独立解码这些图案,从而确定其在投影区域内的位置。

软件架构

Zooids 的通信结构由四个主要层次组成:应用程序层、仿真层、服务器层和硬件层。在应用程序层,计算出机器人的期望位置,并通过网络套接字传输到仿真层。应用程序开发者可以选择两种控制策略:比例-积分-微分(PID)位置控制或结合 PID 的混合互惠速度障碍(HRVO)。仿真层根据选择的控制策略计算机器人的目标位置,并将其发送到服务器层。服务器层负责向单个 Zooids 发送命令,同时监控它们的状态和位置。

每个机器人通过基于状态机的 PID 控制器独立控制其运动。机器人首先调整方向,然后加速到用户定义的偏好速度。在达到速度后,机器人通过 PID 控制保持方向,确保朝向最终目标。当接收到新的增量目标时,机器人将继续以相同速度移动,但 PID 控制将引导机器人朝向新的中间目标。当机器人接近最终目标时,它会减速并最终停止。

项目及技术应用场景

Zooids 平台适用于多种应用场景,特别是在需要动态、分布式用户界面的领域。例如:

  • 协作工作空间:多个 Zooids 机器人可以在桌面上移动,显示不同的信息或任务,帮助团队成员协作完成任务。
  • 教育与培训:Zooids 可以用于模拟复杂的系统或过程,帮助学生理解动态变化的概念。
  • 互动艺术装置:艺术家可以利用 Zooids 创建动态的、互动的艺术装置,吸引观众的注意力。

项目特点

  • 开源与开放硬件:Zooids 平台完全开源,硬件设计也开放,允许开发者自由定制和扩展。
  • 高精度跟踪:基于 DLP 投影仪的高速跟踪系统,确保机器人的位置精度。
  • 灵活的控制策略:支持 PID 和 HRVO 两种控制策略,适应不同的应用需求。
  • 模块化设计:Zooids 的模块化设计使得扩展和集成新功能变得简单。

通过 Zooids,开发者可以轻松构建复杂的群体用户界面,为用户提供全新的交互体验。无论是在协作工作、教育培训还是艺术创作中,Zooids 都能发挥其独特的优势,带来创新的解决方案。


Creative Commons License
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
54
469
kernelkernel
deepin linux kernel
C
22
5
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
880
519
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
336
1.1 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
181
264
cjoycjoy
一个高性能、可扩展、轻量、省心的仓颉Web框架。Rest, 宏路由,Json, 中间件,参数绑定与校验,文件上传下载,MCP......
Cangjie
87
14
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
361
381
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
613
60