体系结构和功用简介
体系首要由三部分组成:
1、PC端的用于完结体系自我学习的初始化程序。
2、进行数字图画处理和模仿人类思想进行扫雷的决议计划模块。
3、机械手臂。
PC端初始化程序:
在体系开端进入游戏之前,初始化程序会合作嵌入式体系在电脑显现屏上生成相应的与扫雷游戏相关的图画,辅佐体系完结自我学习进程。
决议计划模块:
这部分是体系的中心部分,首要由FPGA、摄像头号其它必要的外围设备组成,完结对电脑屏幕的图画收集,然后运用OPENCV或许Simulink编写的算法对图画进行处理,并依据游戏规则模仿人类的思想做出决议计划,这些决议计划包含对游戏中的哪个雷区小方块进行操作,进行怎样的操作(单击、右击、一起两个键双击),作出决议计划之后将决议计划信息输出给机械手臂。
机械手臂:
机械手臂的作业比较简略,包含对鼠标方位的精确移动,完结对鼠标按键的操作(单击、双击等)。机械手臂对鼠标进行操控来完结游戏,就像人操控鼠标相同。
图1.1 体系结构图
体系作业流程
体系的作业流程首要分为自我学习进程和扫雷进程,该进程由PC端的初始化程序辅佐完结。
图2.1 体系作业流程图
扫雷进程:
在介绍自我学习进程之前咱们先介绍首要的扫雷进程,扫雷进程的流程图如图2.2所示。
图2.2 扫雷进程流程图
方块切割进程:
摄像头对电脑屏幕捕获图画之后进行一些必要的图画预处理(滤波、均衡化等),然后判别是否是第一次扫雷。如果是第一次扫雷则要进行边际检测和图画切割等处理,这样做的意图是咱们要别离出雷区的每一个方块,用于后面临每个方块类型进行判别。在获取各个方块的坐标之后进行存储操作,之后的处理就能够不再进行方块的切割操作了。下图是经过直接对屏幕进行截图之后在Matlab中对截图进行的边际检测(sobel)成果。
图2.3 原始图画
图2.4 灰度图画
图2.5 边际检测成果图
图2.6 边际检测成果部分扩大图
从上面的成果图来看作用是能够承受的,在对边际检测的成果在进行相应的形态学操作之后再进行相应的处理和剖析就能够得到各个方块的坐标信息。
决议计划进程:
决议计划进程首先是要确认各个方块的类型,咱们运用方块切割进程确认的方块坐标信息将每个方块与9(仍是10)种方块类型的图画进行比照,经过它们的类似程度来确认该方块的类型。例如2.7图中的最右下角的方块是 ,咱们运用 、 、 等方块类型与之比较,经过比照最右下角方块与各个确认类型方块的相关系数的巨细来判别该不知道方块的类型。也能够运用色彩信息等其它方法来判别类型不确认方块的类型。在方块类型确认之后,问题就变得简略了,咱们只需要运用已知的信息结合游戏规则来揣度哪些方块是地雷。然后用机械手臂操控鼠标完结扫雷游戏。在完结一幅图画的一切操作后持续收集下一幅图画重复以上作业,在每判别出每一个地雷的时分体系都会记载下来,当记载的地雷数达到了游戏的一切地雷数时体系会主动退出。
或许会遇到无法判别的状况,为了防止呈现死循环体系将会采纳随机的方法处理,这时就得看机器人的命运怎么了。
自我学习进程:
因为在图画的收集进程中,图画的作用很简单遭到周围环境的影响,比方摄像头到屏幕的间隔、摄像头与屏幕的视点以及周围光线等,一切必要让体系具有必定的自适应才能。
咱们的战略如下几点。
一、在屏幕上以全屏的方法显现色彩艳丽纯色布景图画,这能够是体系精确的获取屏幕的方位,为后续的处理节省时间和空间。
二、在屏幕上比照激烈地显现方位确认的图块,这就像是运用触摸屏时运用的坐标校准功用,这首要是为后续体系对光标的操控供给精确的坐标映射信息。
三、按确认的次序顺次显现各种类型确认的方块图画,这首要是服务于后续的方块类型确认进程,也就是说咱们每次都运用相同环境下的确认类型的方块去匹配方位类型的方块而不是原封不动的运用固定的方块图画去匹配,这能够在必定程度上进步匹配的精确率。