当前位置:   article > 正文

这个机器人还原魔方,只需八秒!

魔方机器人单片机教程

机械结构篇

1)结构组成

  

机械结构包括亚克力底板1安装电路,铝型材机架2支撑两个机械臂和固定摄像头,电机支架3固定电机位置,滑环支架4固定气滑环,魔方调整板6调整魔方内部结构,57闭环步进电机7保证魔方旋转精度,联轴器8传递电机输出轴扭矩到平面轴10。

气滑环9旋转并传递气路,平面轴10通过型面配合传递扭矩到安装板11,导轨滑台气缸12通过螺栓与手指13连接,铜柱14连接气滑环9旋转部分与连接板11,铜柱15连接连接板11与导轨滑台气缸12,摄像头16采集魔方信息。

2) 具体实施方案

首先,摄像头16采集魔方信息,然后,下位机获取魔方转动指令控制电机7转动,联轴器8将电机输出轴扭矩传递到平面轴10,平面轴10与连接板11通过型面连接将扭矩传递到连接板11,铜柱15连接连接板11与滑台气缸12,连接板11将扭矩传递到滑台气缸12。

下位机获取手指闭合指令,为了避免手指在旋转过程中气路出现打结的情况,采用气滑环将气从滑环固定部分传递到滑环旋转部分,再传到旋转气缸手指机构控制手指做开合动作。

上位机部分

1)颜色识别

颜色识别效果图

四个USB工业摄像头,一次性采集魔方六个面的颜色。

基于Opencv下的用SVM图像分类直接训练分类器识别。首先是SVM分类器的训练:在不同光照情况,不同位置采集到每个颜色大概100张10*10的小矩形图片;人工把颜色分类好,打上标记,送入分类器分类;训练得到分类器;之后每一次识别调用分类器识别即可。

2)解算

动作

用时(ms)

气缸闭合

125

空转90⁰

53

拧动90⁰

54

拧动180⁰

90

带动90⁰

111

带动180⁰

195

采用二阶段算法对魔方进行解算,获得六个面都可以转动的求解步骤。然后将六个面的求解步骤转化到两只手还原魔方的机械步骤当中。

因为不同步骤时间相差较大,步骤最小不一定时间最短,所以转换算法采用的是时间最短的深度优先搜索算法。

3)UI

上位机界面图

在指定区域识别魔方颜色,并且可以通过鼠标修改识别颜色的区域。

可以在线采集颜色数据,点击get_photo1会弹出摄像头中的图片,通过鼠标点击即可采集到10*10的小矩形图片,训练SVM分类器。

下位机部分

1)下位机方案示意图

2)整体系统运行流程图

上图描述了该魔方机器人在开始运行后所要经历的过程,分为三部分,第一部分为上位机采集数据,解魔方数据发给下位机。


第二部分为下位机接收解魔方步骤,控制电机和气缸。第三部分,气缸和电机开始运行,解魔方开始。

3)硬件结构

硬件结构分为单片机开发板,电机,气缸。单片机使用的是STM32F103RCT6,对于魔方机器人的控制需求来说是完全能够驾驭的。

电机使用的闭环57步进电机,力矩足够大,速度足够快,能够满足结构上所需要的力矩要求,并且电机是闭环控制的,它的精度足够高,产生的误差会很小。气缸使用的是导轨滑台手指气缸,夹持力19N,符合夹持需求。

4)控制算法及其结构优化

在实际的电机和气缸控制中,由于物理方面的因素,需要一些优化的方法。电机的转动根据俩个气缸是否夹持可以分为空转,拧动,带动三个不同的电机转动状态。


其中空转和拧动状态受到干扰的影响较小,但是带动状态由于魔方本身的松紧程度,在魔方转动时由于电机的加速度过快,魔方会产生滑动,主要的优化办法是减小电机的加速度,在电机加速中采用曲线加减速,能够有效减少加速度,让电机能够更平缓的转动,减少魔方的滑动。

视频效果

-END-

大家好,我是张巧龙,一名教电子的大学老师,欢迎关注!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/542832
推荐阅读
相关标签
  

闽ICP备14008679号