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

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

2024-09-26 10:09:05作者:谭伦延

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 国际许可协议 进行许可。

热门项目推荐
相关项目推荐

项目优选

收起
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
33
24
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
826
0
redis-sdkredis-sdk
仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。
Cangjie
375
32
advanced-javaadvanced-java
Advanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。
JavaScript
75.92 K
19.09 K
qwerty-learnerqwerty-learner
为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers
TSX
15.62 K
1.45 K
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
19
2
杨帆测试平台杨帆测试平台
扬帆测试平台是一款高效、可靠的自动化测试平台,旨在帮助团队提升测试效率、降低测试成本。该平台包括用例管理、定时任务、执行记录等功能模块,支持多种类型的测试用例,目前支持API(http和grpc协议)、性能、CI调用等功能,并且可定制化,灵活满足不同场景的需求。 其中,支持批量执行、并发执行等高级功能。通过用例设置,可以设置用例的基本信息、运行配置、环境变量等,灵活控制用例的执行。
JavaScript
9
1
Yi-CoderYi-Coder
Yi Coder 编程模型,小而强大的编程助手
HTML
57
7
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
147
26
anqicmsanqicms
AnQiCMS 是一款基于Go语言开发,具备高安全性、高性能和易扩展性的企业级内容管理系统。它支持多站点、多语言管理,能够满足全球化跨境运营需求。AnQiCMS 提供灵活的内容发布和模板管理功能,同时,系统内置丰富的利于SEO操作的功能,帮助企业简化运营和内容管理流程。AnQiCMS 将成为您建站的理想选择,在不断变化的市场中保持竞争力。
Go
78
5