python&ev3-二阶解魔方程序

简介:
这个作品是我在2020年花了差不多一个月时间完成的,从核心结果的计算到端口应用都是通过vsc的Python编写的,过程中没有使用其它成品软件进行辅助,在运行程序中也不需要进行其它插件的辅助。在机械结构部分也作出了二阶魔方对应的调整设计,在力臂和底盘的设计上是调整上也是花了不少的心思。由于本人资金有限原因,塑料材料都是用…你懂得,所以材料之间配合感比较差,电机功率不敢太高。

程序思路:
1.计算二阶魔方所有状态数
2.根据所有状态数的数据进行整理
3.扫描实体的状态然后匹配状态库,随后根据状态的逆步骤进行复原

文件我只上传了状态数的计算程序(需要回复本帖才能下载)和EV3上的应用程序,其余的数据处理程序我就不上传了,我比较懒得整理。

文件:
把cub文档的文件通过vsc录入ev3后运行即可。
文件内附一个视频,可以看到整个解的过程。

端口:1号端口-颜色,2号端口触碰
A端口-魔方转台马达,B端口-传感器移动马达,C端口-力臂马达

链接:https://pan.baidu.com/s/1nSFoBKaDzSFcvSby7F-NGw
提取码:gaz7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要编写一个 Python 乐高 EV3 魔方机器人的代码,需要用到 EV3 Python 库和 Rubik 库。以下是一个简单的示例代码: ```python from rubik.cube import Cube from rubik.solve import CFOPSolver from ev3dev2.motor import LargeMotor, OUTPUT_A, OUTPUT_B, OUTPUT_C, OUTPUT_D from ev3dev2.sensor.lego import TouchSensor from ev3dev2.sound import Sound # 创建 EV3 对象 sound = Sound() motor_up = LargeMotor(OUTPUT_A) motor_down = LargeMotor(OUTPUT_B) motor_left = LargeMotor(OUTPUT_C) motor_right = LargeMotor(OUTPUT_D) touch_sensor = TouchSensor() # 创建魔方对象 cube = Cube() # 打乱魔方 cube.randomize() # 创建 CFOP 求器对象 solver = CFOPSolver() # 求魔方 solution = solver.solve(cube) # 启动魔方机器人 sound.beep() # 发出蜂鸣声,提示用户准备好了 for step in solution: # 操作机器人 if step == 'U': motor_up.on_for_degrees(50, 90) elif step == 'D': motor_down.on_for_degrees(50, 90) elif step == 'L': motor_left.on_for_degrees(50, 90) elif step == 'R': motor_right.on_for_degrees(50, 90) # 等待用户按下触摸传感器,开始下一步操作 while not touch_sensor.is_pressed: pass while touch_sensor.is_pressed: pass ``` 在这个示例代码中,我们使用 EV3 Python 库控制 EV3 机器人,使用 Rubik 库求魔方。在每个步骤中,我们根据求器返回的法步骤控制 EV3 机器人的电机来操作魔方。每个步骤结束后,我们等待用户按下触摸传感器,然后再进行下一步操作。 需要注意的是,这个示例代码只是一个简单的示例,实际上编写一个完整的乐高 EV3 魔方机器人需要考虑很多细节和异常情况,比如如何处理电机停止时的位置、如何处理触摸传感器的误触等等。编写一个稳定可靠的乐高 EV3 魔方机器人需要一定的技术和经验,并需要进行多次实验和测试来验证其正确性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值