赞
踩
机械结构篇
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-
大家好,我是张巧龙,一名教电子的大学老师,欢迎关注!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。