Skip to content

xeecos/RubikSolver-nwjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

解三阶魔方舵机机器人

cubes

准备工作

运行

  • 运行nw.exe
  • 连接MegaPi所在串口
  • 将打散的魔方放在机器中间,点击HoldY,夹住魔方后,再点击HoldX
  • 点击Start Capture开始解魔方

cubes

  • 工作效果

cubes

###工作原理

  • nw程序通过摄像头采集图像实现魔方六面颜色识别,计算出解魔方步骤后,转换成舵机旋转指令发送给MegaPi执行。
  • MegaPi通过串口接收来自上位机nw程序的运动指令驱动舵机。
  • Makeblockhttp://makeblock.com/ )材料搭建解魔方抓取和旋转机构

魔方基本元素

结构

三阶魔方由1个中心轴、6个中心块、12个边块及8个角块构成,当它们组合在一起的时候每个零件会互相牵制不会散开,并且任何一面都可水平转动而不影响到其他方块。三阶魔方的结构不只一种,例如空心魔方。

  • 中心块

中心块与中心轴连接在一起,但可以顺着轴的方向自由地转动。

  • 边块

边块的表面是两个正方形,结构类似一个长方体从立方体的一个边凸出来,这样的结构可以让边块嵌在两个中心块之间。

  • 角块

角块的表面是三个正方形,结构类似一个小立方体从立方体的一个边凸出来,这样的结构可以让角块嵌在三个边块之间。

  • 每个块的编号

cubes

解魔方动作的书写方式

U的转法,即顺时钟转动上层,为了记录下复原、转乱的过程或公式的步骤,会用Singmaster符号来书写(由David Singmaster发明)。

书写方式如下:

  • R(Right)、L(Left)、U(Up)、D(Down)、F(Front)、B(Back)分别代表右、左、上、下、前、后层。
  • 若是顺时针旋转,则直接写上符号;若是逆时针旋转,则在符号后加上“'”或是“i”;若是旋转180°,则在符号后加上“2”或是“²”。
  • 若要更加详细纪录整个过程,还会使用以下符号:
    • x、y、z分别代表将整个魔方做R、U、F,因为在速解魔方的时候,并不会总是将一个面朝向自己。
    • r、l、u、d、f、b分别代表右、左、上、下、前、后两层,代表连中间层一起转。
    • M(Middle)、E(Equator)、S(Side)代表旋转中间层,相当于Rr'、Uu'、Bb'。

解魔方算法

图像采集和颜色识别

  • 使用Chrome API - Navigator.getUserMedia()获取摄像头图像,并通过canvas获取元素RGB数据。
  • 由于魔方六面中心位置颜色固定,摄像头采集到所有魔方颜色与这六种颜进行色比较,最接近的颜色可以判断为当前魔方格子的颜色。

细节图

cubes

cubes

cubes

cubes

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages