等不了开学了,今天耐不住性子开始用现有资源把魔方机器人前期准备起来。
本方案使用编程语言为python3.
整体方案
- OpenCV完成图像识别并输出魔方状态字符串
- 使用现有的kociemba包解算理论步骤
- 将理论步骤转换为机械执行的步骤
- 步进电机执行机械步骤
大概就是这样,摸着石头过河
kociemba包的使用
先用anaconda搭建一下环境,安装好kociemba包。
kociemba包下载链接:kociemba包下载
安装方法不赘述了,本着能用就用的原则,算法具体原理也暂时放一边。我们看看使用这一package需要知道哪些。
- 传入参数是一个代表魔方状态的字符串
字符串的基本定义:将魔方分为U、R、F、D、L、B六个面,将魔方展开编号,展开方式如下
在上面展开方式的基础上,用U、R、F、D、L、B六个字母分别表示六个面中心对应的颜色,将魔方各个色块的颜色按照U1、U2…顺序,字母顺序为U、R、F、D、L、B编号。例如一下状态对应字符串为bdrfuululululrddrubbflfbdbbfdrrdbdurlrudlffurfrdfblbfl
输入:
kociemba.solve('UBRLUFFUBLRUFRLLLRDBDRFDBBUDDBUDDLRFBFLDLBFFRFLRUBRDUU')
输出:
"L' B' R2 D2 R L U F' D R U L2 U' D R2 D' F2 U D2"
输出字符为对应面的转动,X表示顺时针转90°,X’表示逆时针转90°,X2表示转动180°
未完待续
由于参赛原因,后续文章近期不会发布