💡
原文中文,约3200字,阅读约需8分钟。
📝
内容提要
梁博士制作了一个名为CoCube的桌面级模块化群控机器人系统,使用MicroBlocks作为编程环境。最近为CoCube设计了一个Snap!驱动库,用户可以在Snap!中编程控制CoCube。通过消息传递实现Snap!和MicroBlocks之间的通信。Snap!中的库提供了消息传递的基础功能,用户可以获取CoCube的状态信息和发送指令。CoCube库可以通过MicroBlocks实现,用户只需在Snap!中编程。可以使用CoCube库同时调试软件和硬件代码。可以为CoCube制作一个类似的Python客户端库。
🎯
关键要点
- 梁博士制作了一个名为CoCube的桌面级模块化群控机器人系统,使用MicroBlocks作为编程环境。
- CoCube与toio有许多相似特性,但也具备可扩展的硬件接口和与MicroBlocks更紧密的结合。
- 为CoCube设计Snap!驱动库的动机是将Snap!的AI库用于CoCube,并在上位机中制作高级驱动库。
- 通过消息传递实现Snap!与MicroBlocks之间的通信,降低系统之间的耦合度。
- 用户可以在Snap!中获取MicroBlocks设备的状态信息和发送指令,无需在两个平台之间切换。
- MicroBlocks一侧的代码是通用的,用户只需刷入通用程序即可在Snap!中编程。
- Snap!通过reporter积木获取状态信息,通过command积木发送指令。
- 使用CoCube库时,用户需在Snap!中加载库并连接设备。
- 目前的工作基于push风格,MicroBlocks不断将设备状态信息同步给Snap!,但可能导致性能和电量问题。
- 未来可能通过制作Dynatalk-over-ble实现pull风格的CoCube库。
- 可以同时调试Snap!和MicroBlocks的代码,实时观察消息流动。
- 可以为CoCube制作类似的Python客户端库,迁移设计到Python中很容易。
➡️