一种用于Quoridor对弈的智能机器人的制作方法

文档序号:16673523发布日期:2019-01-18 23:45阅读:476来源:国知局
一种用于Quoridor对弈的智能机器人的制作方法

本发明涉及智能机器人技术,具体涉及一种用于quoridor对弈的智能机器人。



背景技术:

quoridor,又名步步为营,是1997年推出的两到四人对战的棋类游戏,棋具类似路障棋。棋盘9乘9大小的棋格,格子间有沟槽,每方各有一个棋子以及作为墙壁的木片,木片长度为两棋格。游戏开始时,棋子放在边路,开始向对岸行驶,谁最先到达对岸者为胜利者。玩家可以在棋盘的任何方向行走,但每次只能选择棋子走一步或者放一块挡板。挡板放置在棋格间的沟槽中,用来阻挡对方到达对岸,但不可把棋子围住,棋子不可穿过挡板。

在大型quoridor对弈时,由于棋盘较大,且人不能进入棋盘内,因此对弈过程借助智能机器人完成。对弈过程中,机器人能通过图像识别判断棋盘内局势,由上位机决策给出较优方案后,由人判断并手动输入每次下棋步骤后,机器人以最短路线运动至指定位置,并放置棋子或者障碍板。通过机器人的计算得到的优化方案,能帮助人进行更好的判断,大大提高了对弈的水平和精彩程度;同时,在结构和性能等方面优化后的机器人也使对弈的效率更高。



技术实现要素:

本发明提供一种用于quoridor对弈的智能机器人,人工输入每一步下棋操作,该机器人用摄像头采集图像信息,通过处理器处理后,控制电机和舵机实现响应动作,将棋子和障碍搬到指定位置,完成下棋动作。

本发明所采用的具体技术方案如下:

一种用于quoridor对弈的智能机器人,包括车体,车体的底部装有车轮,其特征在于:所述车体上安装有采用图像信息的摄像头和用于抓取棋子与障碍的机械臂;

所述车体内设置有处理器,用于分析摄像头采集的图像信息,根据处理结果控制车轮和机械臂的动作,将棋子与障碍搬到指定位置。

本发明的智能机器人的机械系统主要由车体和机械臂两部分组成,车体使机器人运动至棋盘指定位置,机械臂用于抓取棋子以及障碍。

作为优选的,所述的车体包括底板,车轮为三个全向轮,驱动全向轮的三个电机间隔120°分布在底板外围。

车体采用三轮全向的底盘,由三个永磁有刷直流减速电机驱动,轮子采用全向轮;电机由主控芯片k60微控制器进行控制,主控芯片通过三块电机驱动芯片直接控制三个电机。在整个运动过程中,通过控制三个电机的速度,车体可朝任意方向运动,这样可使机器人朝着目标直线运动,大幅度节约运动时间。

作为优选的,所述车体的底板上设有固定所述摄像头的摄像头支撑架;摄像头支撑架由支撑杆和支撑杆顶部的固定板组成,摄像头安装在所述的固定板上。

本申请中,图像采集通过罗技c525高清摄像头,通过支撑杆安装的摄像头位置较高,保证获取足够的视野精确定位移动平台位置,摄像头提取棋盘上白线斜率矫正mpu6050的角度,保证了移动平台角度控制的精确性。

作为优选的,所述的处理器包括分析图像信息的上位机和控制车轮和机械臂的下位机;

所述车体的底板设有放置所述上位机的支撑板,支撑板通过立柱所述的底板连接,下位机设置在所述的支撑板与底部之间。

本技术方案中的处理器包括上位机和下位机。图像处理在上位机pc平台上进行,采用opencv算法库进行识别,使用qt设计应用界面,并通过串口与下位机进行通讯。人工输入每一步下棋操作,智能机器人用摄像头采集图像信息,通过上位机(笔记本电脑)处理后发送给下位机,由下位机控制电机和舵机实现响应动作,将圆形白色板块棋子和长方形红色板块障碍搬到指定位置,完成下棋动作,并能根据棋盘内局势计算得到较优方案以供参考。

在所述的上位机中,人机交互界面使用qt设计,图像显示模块提供实时的摄像头拍摄的图像信息,交互接口模块实现参数的实时保存与传输,指令接受模块获取输入指令并传输给下位机执行,人工智能训练模块用于对图像进行分析提取所需参数。

作为优选的,所述的机械臂为五自由度的机械臂,机械臂的末端与所述车体通过机械臂支撑架连接,前端安装有抓取棋子与障碍的夹取部件。

本发明中的机械臂共五个自由度,主要由三个关节组成,机械臂的五个舵机由主控芯片通过uart控制舵机驱动板进行控制,舵机转动角度为270°。

作为优选的,所述的夹取部件为夹爪或电磁铁。

机械臂前端的夹取部件可以是夹爪或电磁铁,可以夹取或者吸取棋子与障碍;进一步优选采用电磁铁,使电磁铁保持水平并通电,可以实现对铁质物料的吸合,从而实现对棋子及障碍板的抓取。

作为优选的,所述的机械臂对应设置有五个舵机,舵机转动角度为270°,舵机扭矩为20kg·cm。

本申请中,机械臂的五个舵机为扭矩20kg·cm的金属数字舵机,由主控芯片通过uart控制舵机驱动板进行控制,舵机转动角度为270°。

附图说明

图1为整体结构的示意图;

图2为车体结构示意图;

图3为机械臂整体结构示意图;

图4为本实施例中摄像头所拍摄的原图;

图5为经校正后的图像;

图6为区分数字的二值化图像;

图7为由二值化图像提取出的轮廓图;

图8为框出待识别区域的图像;

图9为移动平台全向轮运动示意图

图10为程序流程图;

图中:车体1;摄像头101;摄像头固定板102;支撑杆103;主控芯片104;电脑支撑板105;底板106;连接角件107;全向轮108;m3铜柱109;电机驱动芯片110;芯片支撑板111;m4铜柱112;电机113;机械臂2;机械臂支撑架201;舵机支撑架202;舵机a203;舵机b204;长u支架205;加长支架a206;电磁铁207;加长支架c208;短u支架209;舵机e210;舵机d211;加长支架b212;舵机c213。

具体实施方式

下面结合实施例和附图来详细说明本发明,但本发明并不仅限于此。

如图1-3所示的智能机器人,主要包括车体1和机械臂2两大部分。机器人车体1为圆盘形,直径450mm,离地高度75mm;机器人最大高度为900mm,用来放置摄像头101;机械臂2通过机械臂支撑架201与车体1相连,装在底板106前方约1/4处。其中上位机选用inteli7平台,下位机选用mk60fx512vlq15微控制器(简称k60),摄像头选用罗技c525高清摄像头,六轴传感器选用mpu6050,机械臂舵机选用扭矩20kg·cm的tbsn-k20金属数字舵机。

车体1由摄像头101,摄像头支撑架,主控芯片104,电脑支撑板105,底板106,连接角件107,全向轮108,m3铜柱109,电机驱动芯片110,芯片支撑板111,m4铜柱112和电机113组成。

底板106为整个车体的基础,三个电机113间隔120°分布在底板101外围,并与全向轮108相连,可使车体朝任意方向运动;采用12v锂电池供电;三轮全向的底盘,由三个永磁有刷直流减速电机驱动,电机减速比为1:30。

芯片支撑板111通过m4铜柱112连接在底板106下方,用来支撑电机驱动芯片110,电机驱动芯片110用于直接驱动电机113。电脑支撑板105通过铝型材(相当于立柱)连接在底板上方,用来支撑电脑;主控芯片104位于电脑(上位机)正下方,由m3铜柱109支撑在底板上方,用来控制整个机器人。

摄像头支撑架由摄像头固定板102和支撑杆103组成,摄像头101固定于摄像头固定板102上,通过支撑杆103安装在底板101上方,保持足够的高度,便于采集图像。本实施例中的摄像头101为usb高清摄像头,摄像头位置较高,保证获取足够的视野精确定位移动平台位置,摄像头提取棋盘上白线斜率矫正六轴传感器的角度,保证了移动平台角度控制的精确性。

机械臂2由机械臂支撑架201,舵机支撑架202,舵机a203,舵机b204,长u支架205,加长支架a206,电磁铁207,加长支架c208,短u支架209,舵机e210,舵机d211,加长支架b212,舵机c213组成。机械臂2主要有三个关节组成,其中,两个长u支架205和加长支架a206组成第一关节,一个长u支架和加长支架b212组成第二关节,短u支架209、加长支架c208以及电磁铁207组成第三关节,电磁铁207可通过通断电实现棋子的抓和放;各个舵机由舵机支撑架202支撑,并与长u支架205或短u支架209相连,用来驱动整个关节;机械臂支撑架201用来与车体相连。

由于场地为带数字的9*9方格,摄像头数据处理主要包括:图像失真处理,图像二值化,边缘检测,数字识别。

图像失真主要为梯形失真,故使用opencv库里面的函数处理梯形失真。由于摄像头镜头为不均匀的透镜,拍摄到的图像会出一定的光学畸变,广角镜头的失真通常会很严重。摄像头所产生的失真主要是桶形失真。另外,还有摄像头在拍摄图像的时候,最理想的位置是能垂直于拍摄平面,这样才能保证图像能按原来的几何比例重现。然而设计过程中,受到车体结构的限制和车体控制需摄像头有一定预瞄距离的要求,摄像头一般与地平面成一定角度安装。这种角度的存在会造成一定的成像畸变—梯形失真,图像的畸变会产生一系列问题:同样的数字在图像的不同位置会具有不同的大小以及形状,另外无法直接根据图像得到所定位置距当前位置的斜率与距离。在这种情况下,会增加摄像头识别数字的难度,此外对于运动控制以及坐标求取等操作也会增加一些难度。实践中发现,桶形失真并未这么严重,但还是十分有必要做梯形失真校正,如图4所示。

图像校正是指对失真图像进行的复原性处理。其基本思路是,根据图像失真原因,建立相应的数学模型,从被污染或畸变的图象信号中提取所需要的信息,沿着使图象失真的逆过程恢复图象本来面貌。实际的复原过程是设计一个滤波器,使其能从失真图象中计算得到真实图象的估值,使其根据预先规定的误差准则,最大程度地接近真实图象。从数字图像处理的观点来考察畸变校正,实际上是一个图像恢复的过程,是对一幅退化了的图像进行恢复。几何畸变失真主要是表现在图像中像素点发生位移,从而使图像中物体扭曲变形。

在opencv库里面已经提供了处理梯形失真的方法。利用两张图上对应的四个点输入getperspectivetransform函数,可以得到梯形失真变换阵,进而通过perspective函数可以得到目标图像,如图5所示。

图像二值化在hsv空间进行,分别将hsv的h分量和s分量高于阈值的值取1(白色),其他值置为0,最后对三个通道进行与操作。这里不用到亮度图像是因为亮度图像并不携带与色彩相关的信息,并且亮度图像十分容易受到光线强弱的影响,仅采用h分量以及s分量可以使得图像中反光的现象得到很好的解决,如图6所示。

边缘检测直接采用opencv库里面的函数提取。针对上述得到的二值化图像,寻找边缘是可以借助寻找轮廓的思想,利用opencv中的findcontours可以做到高质量的轮廓提取,如图7所示。在提取了轮廓之后,对每一个轮廓进行遍历筛选,如果该轮廓的长宽符合正方形尺寸,则就是需要的目标轮廓,可以进而寻找子轮廓。然后可以选取所要进行图像识别和处理的区域,并用红线标出。如图8所示。

数字识别采用相对简单的机器学习算法——knn算法。本实施例中,从采集过来经过预处理的的二值图像中,先采取数字0~9的尽可能多的样本,剪裁成40*24的图片,每个数字的样本数量在100~200张不等,然后分别存放到数字为文件夹名的文件夹中。

最后将机器人放置在场地内对摄像头101进行标定,根据图像中数字中心的位置确定车体的实际位置。根据实际位置与目标位置在x,y轴方向上的差对速度大小进行控制,具体控制方式为三轮全向底盘的速度合成,如图9所示。

定义绝对坐标系xoy,移动平台自身坐标系x’o’y’。移动平台的姿态角为θ,即移动平台自身坐标相对于绝对坐标的旋转角度。移动平台自身旋转的角速度设为ω。l为三个轮子相对于移动平台中心的距离,va,vb,vc分别表示三个轮子沿驱动方向的速度;角度ψ为轮子与移动平台坐标系x轴的夹角,这个夹角我们可以算出为60°。

假定移动平台在任意时刻的速度为v,其中vx和vy分别为移动平台在自身坐标系下的x轴y轴方向的速度,w为移动平台运动的角速度,假定顺时针方向为正方向。那么可得出移动平台运动学方程:

以上是移动平台在自身坐标系下的运动学方程,实际应用中还需要转换为全局坐标系,上图中移动平台自身坐标与全局坐标的夹角为θ,则在全局坐标系中的速度为:

故由以上两式可以求得三个全向轮的速度,从而对电机进行控制。

如图10所示,本实施例中智能机器人的具体实施方式为:

将机器人放置在对弈场地外,开始后通过人机交互输入指令确定将要执行的任务。机器人通过摄像头101采集棋盘内的图像信息,确定自身位置,通过uart将位置与角度信息发送给主控芯片104作为运动控制的信号基础,然后主控芯片104通过控制电机驱动芯片110实现对三个电机的控制,使机器人朝着目标直线运动至指定位置,然后主控芯片104对机械臂2发送指令,通过机械臂2将棋子抓起;之后找到运动的目的地,达到目的地后,通过机械臂2将棋子伸至棋盘格内,使电磁铁207断电,棋子放入棋盘格,然后机器人离开场地。

等对方下完后,机器人通过人机交互获取对方下棋信息,根据棋盘局势计算出较优方案,结合人的判断输入下一步操作,用同样的方法识别并运到至棋子所在位置将其抓起,然后至指定位置将棋子放好,然后离开场地。

当需要放置障碍板时,人工将障碍板吸附在电磁铁207上,输入障碍板放置位置,机器人运到至指定位置后,将障碍板放在指定棋格沟槽中,然后离开场地。

以上所述仅为本发明的较佳实施举例,并不用于限制本发明,凡在本发明精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1