
手机扫一扫
使用4个闭环步进电机控制的双臂双指解魔方机器人
1、支持力矩控制,可控制夹紧压力,防止魔方滑落
2、高性能,6-7秒还原魔方
3、基于ESP32S3的视觉模块,无需电脑
4、魔方机器人带完整开源资料+视频教程
5、可用于单片机设计开发、PCB板设计、软件源代码设计以及机械结构设计教学与科研
使用4个闭环步进电机控制的双臂双指解魔方机器人
支持力矩控制,可控制夹紧压力,防止魔方滑落
高性能,6-7秒还原魔方
基于ESP32S3的视觉模块,无需电脑
使用标准件、CNC加工部件,3D打印件设计的机械结构,旋转臂晃动极小,还原速度快,可靠性高,强度高,异常碰撞不会损坏
闭环控制,基于开源的闭环步进电机控制板
提供完整的开源资料,含原理图、PCB、结构图纸、软件代码、调试指南、视频教程
软件部分esp32版本和电脑版本
电脑版本使用python编写,搭配USB摄像头和USB转485模块使用,主要用于算法验证,也可以直接使用。
esp32版本使用c编写,基于ESP32S3单片机开发,可独立使用,不依赖其他设备,提供硬件原理图、PCB和软件源码。
软件代码全开源
各模块功能说明
1.颜色检测模块 (color_detect.c)
功能:从摄像头图像中识别魔方54个色块的颜色
运行机理:
基于透视变换划分18个色块区域
使用二维直方图提取每个区域的主色调(HSV空间)
实现RGB565↔HSV转换算法
通过聚类算法将54个色块分类为6个面
提供色差计算和颜色相似度判断函数
2.主控制模块 (main.c)
功能:系统总控,协调各模块工作
运行机理:
初始化WiFi热点和HTTP服务器(80/81端口)
管理摄像头采集任务和图像处理流程
实现状态机控制(10种状态处理魔方还原流程)
提供Web界面接口:
实时视频流传输(MJPEG)
参数配置(亮度、坐标点等)
运动控制和状态监控
处理SPIFFS文件系统操作(配置文件读写)
协调颜色识别与运动控制模块
3.运动控制模块 (motion.c)
功能:精确控制4个步进电机完成魔方操作
运行机理:
RS485通信协议实现(1Mbps)
梯形速度曲线运动控制
多轴联动算法(手臂旋转与手指移动协同)
自动回零和位置校正
动作序列解析执行(如"R1 L*F"等指令)
堵转检测和超时保护
电流自适应控制(夹紧时提高电流)
4.求解器核心模块 (solve.c)
功能:实现魔方求解的两阶段算法 (Kociemba算法)
运行机理:
状态表示转换:
将54面颜色表示转换为棱块/角块坐标表示 (UtilToCubieCube)
验证魔方状态合法性 (CubieCubeVerify)
两阶段搜索:
Phase1:快速降群到子群
计算翻转/扭转/UDSlice坐标
使用剪枝表加速搜索 (CoordCubeSetWithPrun)
Phase2:在子群内完成求解
处理角块/棱块排列对称性 (CubieCubeGetPermSymInv)
多方向并行搜索 (6种URF对称方向)
解法优化:
动作序列压缩 (SolutionAppendSolMove)
支持解法格式控制 (逆序输出/添加分隔符等)
5.动作优化模块 (optimizer.c)
功能:将魔方解法转换为机械臂动作序列
运行机理:
状态机建模:
定义96种机械臂状态 (24种魔方朝向 × 4种手臂状态)
使用96×96状态转移表 (flip_table)
动态路径规划:
DP表存储最优路径 (DPState结构)
状态转移代价基于实测时间 (TimeCost枚举)
动作序列生成:
翻转序列池包含83种预计算动作 (flip_sequences)
旋转操作处理手臂协同运动 (calculate_twist_time_and_state)
最终位置自动校准 (adjust_final_position)
6.打乱生成模块 (scramble.c)
功能:生成随机打乱状态及解法验证
运行机理:
状态表示:
棱块/角块的三维表示 (cube_struct)
54面与棱块/角块的映射表 (edge_to_face, corner_to_face)
随机打乱:
使用硬件RNG生成50~69步随机操作 (esp_random)
动作序列执行 (cube_route_str)
解法验证:
逆解法生成 (reverse_solution)
状态一致性检查 (verify)
7.WEB前端(index.html)
功能:魔方机器人调试网页提供4大核心功能
运行机理:
I. 设备控制:通过按钮实现电机使能/禁用、机械臂回零、魔方夹紧/松开等操作,支持自定义动作序列测试(如"R+T"表示右电机正转)
II. 视觉标定:
o 实时显示摄像头画面
o 提供6个可拖拽标记点用于标定魔方识别区域
o 支持坐标保存(点击"保存坐标"按钮)
III. 颜色识别:
o 动态展示54个魔方块的颜色识别结果
o 以3D展开图形式呈现(9×12网格布局)
o 每个色块显示编号和识别颜色(如"0:W"表示0号白色块)
IV. 状态监控:
o 实时显示系统连接状态
o 反馈电机角度数据
o 补光灯亮度调节(0-100滑动条)
o 所有功能通过WebSocket与ESP32设备实时通信
o 界面采用响应式设计,适配PC和移动设备操作
8.配置文件的在线管理(config.html)
功能:设备配置文件的在线管理
运行机理:
文件管理:
支持4种配置文件操作:motion.cfg(动作参数)、main.cfg(主配置)、testcase.txt(测试用例)、index.html(主界面)
核心操作:
打开:从设备加载选定配置文件
保存:将编辑内容写入设备存储器
下载:将配置文件下载到本地电脑
所有操作通过HTTP接口(/cfg/get, /cfg/save, /cfg/download)与ESP32设备交互
实现配置文件的远程管理,无需物理访问设备即可修改关键参数
界面简洁高效,专为开发调试设计
感谢:青岛科技大学徐教授和Hemn老师
上一篇:第一个
下一篇 :最后

15064862651
15064862651
horidel@outlook.com