
设计说明书-下棋机器人10.0.pdf
15页第五届全国大学生机械创新设计大赛下棋机器人1 第五届全国大学生机械创新设计大赛下棋机器人设计说明书目录1.研究背景及意义.12 并联机械臂原理及设计.22.1 并联机械臂结构.22.2 机械臂控制.22.2.1 控制系统整体结构框架.22.2.2 并联机械臂控制模块.32.2.3 步进电机控制模块.43 视觉及博弈系统原理及设计.53.1 视觉识别过程.53.1.1 阈值分割.53.1.2 腐蚀膨胀.53.1.3 特征提取.53.1.4 棋子定位.53.1.5 空间变换.6名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人2 3.2 视觉实现位置闭环.63.2.1 坐标系构建及空间变换.73.2.2 视觉定位.73.2.3 通信协议.83.3 博弈系统.83.3.1 核心算法.83.3.2 胜负判断.94 辅助机构设计方案.94.1 传动方案设计.94.2 支撑结构方案设计.10 4.3 取棋子结构方案设计.10 4.4 棋盘固定方案设计.11 4.5 消回差机构设计.11 4.6 摄像头安装.12 5 创新点及实用性分析.12 6 前景分析.13 参考文献.13 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人1 摘要:阐述了以并联机械臂为中心,结合视觉识别及人工智能技术的下棋机器人的原理及设计过程,并对技术上的创新点和整体的推广应用价值进行了说明。
关键词:并联机械臂视觉下棋人工智能1.研究背景及意义机器弈棋是人工智能、自动控制、计算机视觉、模式识别等理论与技术的综合应用最著名的例子就是1997 年 IBM 公司的超级计算机“深蓝”击败了国际象棋世界冠军卡斯帕罗夫随着机器人和自动控制技术的发展,机器弈棋不仅是用计算机进行思考,已发展到用机器人代替人类进行弈棋过程的各种行为目前,在国内外制作的下棋机器人按下棋功能实现分为两类:一种是笛卡尔坐标系分步定位下棋机器人(图1);另一种是单臂下棋机器人(图2),而以上机器都缺少位置闭环,无法实现精准定位,可能会由于机械结构精度导致实际落子点与理想落子点出现偏差我们设计的下棋机器人以并联机械臂为基础,利用机器视觉及人工智能技术实现下棋,下棋过程利用视觉实现位置闭环控制,提高下棋精度,并联机械臂的快捷性保证了下棋过程的感官享受,综合成本较低将使其适用于大众消费图 1 笛卡尔坐标系分步定位下棋机器人成本较低,技术开发难度低,体积小但是下棋速度慢,下棋过程影响视觉图 2 单臂下棋机器人其优点是灵活,美观,但是体积较大,技术开发难度大,成本高图 1 XYZ轴分步定位下棋机器人图 2 单臂下棋机器人名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人2 2 并联机械臂原理及设计2.1 并联机械臂结构本设计采用三臂构成的Delta 并联机械臂,每条臂中两条短杆分别与两条长杆采用球铰连接,材料为斜纹碳纤杆,驱动电机平台和动平台均采用亚克力板材料,在满足强度要求的情况下,减轻机构重量。
根据 Delta 并联机械臂运动范围,并考虑到实际球铰运动角度对机械臂运动范围的影响,在SolidWorks 中对其运动进行仿真以求解设计短杆与长杆长度范围,根据棋盘范围为15X15 格,并联机械臂动平台运动范围应大于500mm,根据以上要求,设计机械臂短杆长度100mm,长杆长度 450mm,实际运动范围520550mm(距平台下方 450460mm处),适用于正常尺寸的各类棋盘机械臂每条臂中短杆处为防止因杆过细而导致已发生扭转变形,采用螺栓固定两杆,并可通过螺母旋进调整因联轴器加工误差导致的杆间距不一致的问题2.2 机械臂控制2.2.1 控制系统整体结构框架机械臂控制系统由一片STM32F103VCT6 微控制器作为主控,其中定时器TIM1、TIM3、TIM4 用于读取电机编码器,TIM5 用于生成电机 PWM 控制信号,TIM2 用于控制步进电机,TIM8 用于控制舵机,USART1 用于与 PC通信另有若干 IO 用于读取开关量、控制气泵通断步进电机驱动使用 THB6064 驱动芯片,电机驱动使用 IR2104 半桥驱动器与 IRF540N 场效应管组成 3 个全桥阵列控制程序分为 8 个模块,均采用状态机形式,分别为 systick任务分配模块、系统作业模块,USART 串口中断服务模块,串口命令解析模块,机械臂坐标解算与插补模块,电机驱动模块,步进电机驱动模块,步进电机驱动模块,舵机驱动模块。
各个模块之间互相独立,数据通过各模块的状态结构体进行数据交换电控系统程序结构如图4,系统时钟 systick 产生 3kHz 中断并在适当的时候给相应任务运行标志置位,main()函数中的各个任务在读取到运行标志之后运行图 3 并联机械臂验证模型名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人3 当 PC 上位机程序发送命令时,串口服务中断将命令字节依次放入命令缓冲区,一条命令接收完成后USART 命令解析模块读取命令字符串,根据命令字符把放一步棋所需的作业内容写入作业队列然后系统作业模块读取作业队列的内容,例如移动机械臂、移动静平台等,按顺序将每个作业参数写入相应驱动模块的状态结构体中,各个驱动模块再根据结构体中的内容执行相应的动作2.2.2 并联机械臂控制模块整个机器人的核心是并联机械臂的控制之所以选择使用并联机械臂是因为其运动部件惯量小,对电机功率要求低;同时运动偏差为三个电机偏差的平均,相对一般的串联机械臂精度要高一些;第二个优点就是坐标反解的求解相对串联机构要简单很多,每个摆角的求解方程都是独立的一元非线性方程组,可以直接得到解析解,在程序中笛卡尔坐标值可以直接代入求解。
控制模块主要分为两部分:坐标反解解算和插补控制坐标反解解算过程如下:如图,设主动杆 BiEi 的长度为 Lb,从动杆 PiEi 长度为 La,静平台外接圆半径 OBi 为 R,动平台外接圆半径 OPi 为 r,则可以得到(在这里插入参考文献):图 4 电控系统程序结构图图 5 并联机械臂坐标图名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人4 K1=La2-Lb2-x2-y2-z2-R-r2+R-r3x+yLb+2z(1)U1=-22 R-r-3x-y(2)V1=La2-Lb2-x2-y2-z2-R-r2+R-r3x+yLb-2z(3)K2=La2-Lb2-x2-y2-z2-R-r2+R-r3x-yLb+2z(4)U2=-22 R-r-3x-y(5)V2=La2-Lb2-x2-y2-z2-R-r2+R-r3x-yLb-2z(6)K3=La2-Lb2-x2-y2-z2-R-r2+2yR-r2Lb+z(7)U2=-2R-r+y(8)V3=La2-Lb2-x2-y2-z2-R-r2+2yR-r2Lb-z(9)ti=-Ui-Ui2-4KiVi2Ki(10)i=2tan-1ti(11)观察以上解析解们可以发现,若静平台和动平台的外接圆半径相同则可以减少一半的计算量;然后使用matlab 输出一个 arctan()数值列表,使用查表拟合的方式计算arctan()又能节省一大半的计算时间。
最后将摆角乘编码器系数得到每个电机应转到的编码器值传递给电机驱动即可,整个解算时间为32us插补控制如下:插补控制只实现了直线插补,使用类似于数控系统中的DDA 法,以 3kHz的速度更新机械臂应到达坐标,让坐标反解解算模块去解算出摆角,让电机驱动去跟踪也就是说实际上整个机械臂控制系统是个半闭环系统2.2.3 步进电机控制模块为弥补因球铰对机械臂运动的限制,采用步进电机移动静平台增大运动空间步进电机驱动使用TIM2 产生中断,并读取加速曲线来载入下一次整个步进电机高速控制的核心就在于加速曲线的生成生成的基本思想是“步进电机每走一步所得到的动能增量相同”,通过计算步进电机负载的的等效惯量和步进电机最大力矩,代入 matlab累加计算即可得到步进电机步进周期从1ms 到 17us的加速曲线,整个加速时间为0.2s 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人5 3 视觉及博弈系统原理及设计3.1 视觉识别过程3.1.1 阈值分割在阈值分割之前先对前后两张图片进行作差,提取白子使用正差图片,提取黑子使用负差图片然后将24 位真彩色差值图像转化为灰度图,然后再进行阈值分割。
由于采用差值图像进行分割,降低了干扰,阈值的选取并不苛刻经过试验,正差图像的分割取80120,负差图像的阈值2030 效果最佳3.1.2 腐蚀膨胀采用 3x3 的模板进行腐蚀操作,去除由于摄像头振动产生的微小杂边在负差图像中,由于黑线和黑子的共同区域灰度值相同,分割后的棋子区域会出现断裂,采用膨胀的方式,将断裂的区域连成整体3.1.3 特征提取棋子最主要的特征就是颜色、形状和大小特征首先从二值图像提取棋子轮廓,计算出棋子轮廓的最大内切圆和最小外接圆,外切圆和内切圆的半径比值C 可以作为轮廓圆形度的判定标准设置阈值0.8,当 C0.8 时认为轮廓接近于一个圆经过几次统计,棋子图像大小在150360之间因此在获取棋子的轮廓之后求出轮廓内部的面积,判定面积是否在 100500之间,从而排除一些比较大或者比较小的物体的干扰3.1.4 棋子定位采用最小外接圆圆心定位,以圆心位置作为棋子在图像上的位置,和重心大定位相比,具有更高的精度图 7 黑子阈值分割效果图 6 白子阈值分割效果名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人6 3.1.5 空间变换已知棋子在图像上的位置,可以进行空间变换,将位置映射到棋盘上,从而得出棋子在棋盘上的坐标。
棋子在棋盘和图像上的位置映射,采用三维空间变换1ZYXM1yxZc(12)M 为 3x4 的矩阵,?,?为某点在图像上的坐标,X,Y,Z 为对应点在世界坐标系中的坐标,Zc 为该点与摄像机光心的距离在光轴上的投影1000010000MTRCyCxFyFxT(13)M 由两部分组成,第一个矩阵为像机内参数矩阵,第二个矩阵为像机外参数矩阵由于棋盘和摄像头距离比较近,且摄像头垂直于棋盘安装,这样可以极大的简化模型,将三维空间变换简化为仿射变换,即只存在图像的旋转、平移和缩放公式简化为:11YXNyx(14)N 是 3x3 的仿射变换矩阵,矩阵含有9 个未知数,假如已知三个点在棋盘上和图像上的坐标,就可以用求逆的方法求出变换矩阵N 以及逆变换矩阵变换矩阵以及逆变换矩阵可以在开机标定时求取3.2 视觉实现位置闭环由于电机的回差问题,会导致并联机械臂精度降低,为了提高下子精度,采用视觉进行位置反馈的方式实现闭环控制,此方法可以使落子精度达到1mm 以内图 8 轮廓和最小外接圆放大图名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 15 页 -第五届全国大学生机械创新设计大赛下棋机器人7 3.2.1 坐标系构建及空间变换坐标系定义:1.棋盘方格坐标系 C-XY 棋盘采用 15X15 的普通棋盘,以左上角点作为方格坐标系的原点,水平向右为 x 轴,顺指针转 90 度为 y 轴,如第三行第三列的坐标为(2,2)。
2.棋盘物理坐标系 P-X1Y1 以摄像头光轴与棋盘的交点作为物理坐标系的原点,水平向右为X1 轴,顺时针转 90度为 Y1 轴,以某点分别到X1,Y1 轴的距离的毫米值作为该点X1,Y1 坐标3.图像像素坐标系 I-X2Y2 以拍摄图像的左上角点作为图像像素坐标系的原点,向右为X2 轴,向下为Y2 轴,以某点的到X2,Y2。












