人工智能电脑鼠搜迷宫实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京科技大学实验报告

学院:自动化专业:智能科学与技术班级:智能1501

姓名:卢静怡学号:41523404 实验日期:2017年11 月8 日实验名称:人工智能电脑鼠搜迷宫实验

实验目的:掌握电脑鼠的基本操作及智能搜索算法操作。

实验仪器:KEIL MDK、电脑鼠、J-Link、VS

实验原理:所谓“电脑鼠”,英文名叫做Micromouse,是一种具有人工智能的轮式机器人,是由嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。当电脑鼠放入起点,按下启动键之后,他就必须自行决定搜索法则并且在迷宫中前进,转弯,记忆迷宫墙壁资料,计算最短路径,搜索终点等功能。电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。本实验中,通过红外传感器检测电脑鼠所处位置状态,通过智能算法保存地图并实现地图的搜索,通过pid等控制算法控制电机,达到电脑鼠搜索迷宫并计算最短路径等功能。

实验内容与步骤:

内容

1)KEIL MDK的安装

2)电脑鼠硬件的检查及调整

3)智能搜索算法的编写

4)算法的调试与优化

5)实验结果

步骤

(一)KEIL MDK的安装

按照实验指导书上的步骤安装,一步一步安装成功KEIL MDK uVision5 (二)检查和调整电脑鼠的硬件

1.电机检查:

我们原始的电脑鼠下载好程序之后,开机即可试探性运动。故判断,电机无故障。

2.传感器检查:

我们原始的电脑鼠在初跑时总是会对墙壁不感应,如果用手挡住传感器周围的光线后放开,那么电脑鼠会产生一个相应动作。分析是原代码中接受传感器信号的参数不合适的原因。

(三)智能搜索算法的编写

我们组结合了很多同学的经验,最终找到了影响电脑鼠运动的核心参数。并且修正了一个反应弧长的设定,使得后来电脑鼠试跑非常成功。

1.查资料——常见的算法形式

选择曼哈顿距离作为预测函数h(n),整体的框架代码如下:

2.算法设计

在本次实验中,使用的是机械鼠优先向左移动的,即深度优先算法。

机械鼠分为四个阶段,WAIT START SEARCH SQUART.分别为准备,开始,搜索,冲刺阶段。WAIT阶段中,小车持续延迟等待刺激信号,待收到刺激信号后,跳转阶段。

START阶段中,小车对迷宫进行初始化,建立8*8的二维数组。并预置此时的绝对坐标,跳

转阶段。

SEARCH阶段中,小车利用深度优先算法,在电机作用下不断移动,利用传感器判断四周有木墙壁,记录在二维数组中并指导电机作用。当二维数组的数据规模达到8*8后,判断抵达终点,延迟少许后挑选最短路径返回起点。跳转阶段。

SQUART阶段中,小车根据已有二维数组,遍历搜索权值最小的路径,并在电机的高压作用下冲刺到达终点。

3.算法优化

由于步长一般情况下收到不同赛道影响,我们修改了步长等的数值,以达到可以适应迷宫的目的;实验中我们发现老鼠的行动并不灵敏,经过静止挡板实验,我们测出了sensor 的较优数值并将之写入了预设中;在面对死角的时候,我们的老鼠有时会已经探测成功但是来不及掉头的情况,于是我们调高了面对死角的延迟。

以起点开始,定义右手法则,以向右为优先方向,其次是直线和左侧方向的前进规则,起始先赋予老鼠向前行进的指令,以固定的步长走过一个单位的距离,在前进的过程中同步更新地图的信息(在事先建立好的图中标记出当前的坐标,并通过算法转换成绝对坐标,并将走过的路径记录下来),之后通过一个函数传递下一个指令,如此循环使之前进;如果遇到死角,启动back函数反方向倒退,其他情况下,依据传感器的数值,控制电机的转速达到转弯的目的,在每个需要转弯的位置延时一定时间,并通过函数来记录挡板的位置信息,这样一直前进直到终点为止,到达中点之后,收集生成的路径信息,生成已知的、反应路径情况的图(转弯的坐标附近需要加上额外的权值),并对这个图进行搜索;搜索完毕之后,依据搜索到的最佳路径,进行行动,如果在返程中遇到长直赛道的话,进行加速

实验数据:

1)传感器阈值

2)电机速度

3)步长

实验数据处理:调整实验数据,使电脑鼠能够正常搜索迷宫。

实验结果与分析:

电脑鼠从起点出发后状况较为良好,进行了平稳的行进,少数时候产生碰撞导致生成图的紊乱而失败,多数以成功到达终点,并以最小路径返回为结束。

在本次实验中,由于我们组的电脑鼠硬件先后出现了大大小小的问题,我深切的体会到了硬件和软件的分工作用。没有一个稳定的硬件,软件部分即使是正

确的,整体效果也无法实现。没有一个无误软件部分,硬件部分即使完备,实验目的也无法达到。另外,做一个不简单的作业时,小组配合也是很重要的,谢谢这次实验的所有技术指导们和我的组员。

相关文档
最新文档