本帖最后由 tobias992 于 2017-6-27 16:35 编辑
前言:本篇文章翻译自GitHub论坛上一位名为c0pperdragon用户(本名为Reinhard Grafl)发表于2016年的一篇帖子。
以下为正文:
作者:c0pperdragon 个人主页:https://github.com/c0pperdragon/
- CubeTwister是使用2个乐高Mindstorm EV3套件和附加硬件的解魔方机器人。
- 这是我的第三个版本的魔方解算器,它由乐高零件构成机械部分。为了实现最大速度,使用两个EV3控制器驱动10个电机。
- 魔方解算器的每根轴由两个电机驱动,两个电机在一起可以驱动阻力较大的齿轮系,能提供更高的速度和精度。由于两个EV3控制器上总共只有8个电机端口,所以其中两个电机不是单独控制的,而是与同一根轴上的另一个电机共享一个端口。
- 整个配置设计为:夹住5个中心块,将魔方锁定在适当位置,直接转动中心,5个连接的面都可以独立扭转。但第六个面(向上的面)不能扭转,所以求解算法必须解决这个限制。然而,魔方的每一种情况都可以通过仅扭转5个面来解决,只是有个小小的弊端:需要多转动几次。
- 扫描魔方是由8个同时运行的颜色传感器完成的。这些颜色传感器由RGB-LED和光传感器二极管定制,并由ArduinoMicro控制连接到EV3上。
- 主控制程序和求解器在EV3Basic(https://github.com/c0pperdragon/EV3Basic) 中实现,并在两个EV3中的一个上运行。为了实现最大速度,即使程序在经过解释的虚拟环境(译者注:原词为“interpreted VM”,个人认为例如python或者Java)中运行,求解算法(一种基础的两阶段算法)也要为每个阶段使用预先计算的算法表,它们存储在SD卡上(使用总共约6 GByte )。这些表的计算通过.NET程序在PC上完成,花了好几天时间完成。
- 目前(2015年)这台机器是世界最快的魔方解算器,但要达到这种速度,只能通过略微改动魔方(连接板要放入5个面的中间块),还须操作员以特定方式插入魔方(橙色中心片在顶部,白色中心部分到背面)。所以这可以被认为是作弊,机器可能没有资格获得世界纪录(目前是3.2秒,相比之下,我的一个解决方案是1.9秒)。但无论如何,建造这种机器是很有趣的。
- 附:作者解魔方机器人视频的地址:https://www.水*管.com/watch?v = s2tCAf6yYoo
|