内容提要
梁博士制作了名为CoCube的模块化群控机器人系统,使用MicroBlocks作为编程环境。CoCube具有可扩展的硬件接口和与MicroBlocks更紧密的结合。计划将CoCube参加中美青年创客大赛,并使用Snap!作为上位机。通过解析CoCube顶部二维码,发现它基于ArUco,与Dynamic Table使用的是同一套marker系统。Snap!中的Dynamic Table库经过优化,在纯浏览器环境中运行,性能提升了3倍,fps达到了30。
延伸解读
从 CoCube 到 Dynamic Table:同一套 ArUco 标记系统
CoCube 顶部的二维码基于 ArUco,而 Dynamic Table 也使用同一套 marker 系统。这意味着为 Dynamic Table 开发的 Snap! 库,可以直接用于解析 CoCube 的空间位置,无需额外适配。这种技术复用降低了开发成本,也让两个项目在定位与交互上有了共通的基础。
纯浏览器环境带来的可用性提升
将 Dynamic Table 库迁移到纯浏览器环境,不仅提高了开箱可用性,还使其能运行在移动设备上。这消除了对本地 Python 环境的依赖,让更多用户能直接通过浏览器体验实物编程,尤其适合教育和演示场景。
性能优化:从 8 fps 到 30 fps 的关键
初始版本在 Snap! 中运行 fps 仅 8 左右,瓶颈在于图片转 base64 及反向转换。根据社区反馈优化后,性能提升约 3 倍,达到 30 fps。这表明在浏览器中处理图像时,编解码开销往往比计算本身更值得关注。
Q&A
CoCube是什么?
CoCube是梁博士制作的模块化群控机器人系统,使用MicroBlocks作为编程环境。
Dynamic Table库的主要功能是什么?
Dynamic Table库围绕在一张桌子上对实物进行编程的想法构建。
CoCube如何参与中美青年创客大赛?
CoCube计划参加中美青年创客大赛,并邀请MicroBlocks团队成员参与。
Dynamic Table库的性能如何提升?
经过优化,Dynamic Table库的性能提升了3倍,fps达到了30。
CoCube的二维码与Dynamic Table有什么关系?
CoCube顶部二维码基于ArUco,与Dynamic Table使用的是同一套marker系统。
Snap!在CoCube中的作用是什么?
Snap!被用作CoCube的上位机,以迁移之前的工作。