魔方机器人01 kociemba安装和使用

等不了开学了,今天耐不住性子开始用现有资源把魔方机器人前期准备起来。
本方案使用编程语言为python3.

整体方案

  • OpenCV完成图像识别并输出魔方状态字符串
  • 使用现有的kociemba包解算理论步骤
  • 将理论步骤转换为机械执行的步骤
  • 步进电机执行机械步骤

大概就是这样,摸着石头过河

kociemba包的使用

先用anaconda搭建一下环境,安装好kociemba包。
之所以使用anaconda搭建的虚拟环境下安装,一是用anaconda管理环境比较方便;另一是因为anaconda中的基础包比较全,尝试在Windows下python原生环境中安装会失败。
关于anaconda环境搭建可以参考:python开发环境搭建 anaconda的安装和使用

kociemba包下载链接:kociemba包下载

在anaconda搭建的环境中(activate xxx),进入kociemba包所在目录,运行以下命令:

pip install kociemba-master.zip

等待安装完成就可以了。

本着能用就用的原则,算法具体原理暂时放一边。我们看看使用这一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°

未完待续
由于参赛原因,后续文章近期不会发布

学海无涯,勤奋为舟

  • 11
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值