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

合集下载

电脑鼠实验报告

电脑鼠实验报告

《视觉机器人》实验报告学院:姓名:专业:二零一六年一月目录第1章背景和意义 .................................................第2章系统方案设计.................................................第3章硬件设计......................................................3.1电脑鼠基本硬件组成.............................................3.2电脑鼠基本动作.................................................第4章软件设计.....................................................4.1电脑鼠软件设计概要说明.........................................4.2等高图制作模块...............................................4.3冲刺模块.....................................................4.4转弯模块.....................................................4.5搜索模块.....................................................4.6迷宫地图相对方向与绝对方向的建立.............................4.7墙壁资料存储.................................................4.8电脑鼠搜索策略...............................................参考文献............................................................附件: ............................................................第1章背景和意义电脑鼠可看作是一种具有人工智能的小型机器人,依照比赛规则,当电脑鼠放入“迷宫”起点,按下启动键之后,它就必须自行决定搜寻法则并且在迷中前进、转弯、记忆迷宫墙壁资料、计算最短路径、搜寻终点等功能。

智能老鼠走迷宫算法的设计

智能老鼠走迷宫算法的设计
1 引言 ・ 人类 在科技的发展 上, 一直在尝试着 想要创造 出一个具
有 肢 体 、 官 、 力 , 合 一 体 的 机 械 , 智 能 老 鼠 即 是 一 个 感 脑 综 而
走 出迷 宫

3 分 析 方 法 .
能够用 来诠 释肢体 、 感官及脑 力综合工作 的智能机械 。希望 能够藉 由智 能老 鼠的创 作进而研 究 与发 明更 加复 杂的智 能
脱 与 高 效 行 进 都 可 以 依 靠 等 高 图 。将 迷 宫 认 为 划 分 为 若 干
图 3加减 速 示意 图
的迷 宫格 , 并将 每个迷 宫格 的等高值 赋予最大 值 0 f, 图 x 如
盟 拥 ,
加 减 速 实 时 算 法 的 核 心 是 使 用 定 时器 中 断 , 当定 时器 发
能老 鼠的驱动 ,采用 红外线 发射 管和一 体化接 收头组 成传
感 器 单 元 ,使 用 基 于 C r xM3 内核 的 3 ot . e 2位 A M 微 控 制 R 器 L S 1 为 运 算 控 制 中 心 。方 案 通 过 建 立 自动 适 应 迷 M3 65作
宫 的搜 索算法 , 依靠 强大运 算 能力 的处理 器 , 最后 实现 了智 能老 鼠快速 高效的迷宫搜 索 。
・-— —
4 -— 3 - —
黝 基 金 项 目
速, 之后匀速 运行 。当快要到 达指定 的停 J位 置时 , 以恒 卜 再 定 的减速度减速 , 在停止位 置处停住。如图 3所示 。其 中加 速度和减 速度要根 据不 同的电机设 定, 如果它们 的值较 大, 则可 以较快地 到达 目的位置 , 有可能产生振荡 。如果它们 但
2 原 理 .
2 1 器件选择 . 传感器单元 :R 8 0 S红外线一体 化接 收头;普通 红 I M.6 1 外线发射管 。 驱 动单 元 :反 应式 步进 电机 ; A 8 5 S步进 电机专 用 B 64F 驱 动芯片 。

老鼠运动轨迹实验报告

老鼠运动轨迹实验报告

一、实验目的通过本次实验,了解老鼠在迷宫中的运动轨迹,探究其寻找出口的策略,并尝试运用数据结构中的搜索算法来模拟老鼠的行走过程,分析其路径选择的特点。

二、实验原理迷宫问题是一个经典的算法问题,旨在通过模拟老鼠在迷宫中寻找出口的过程,来验证和优化搜索算法。

本实验采用深度优先搜索(DFS)算法来模拟老鼠的运动轨迹,通过堆栈来存储老鼠走过的路径,并记录其最终找到出口的最短路径。

三、实验材料1. 迷宫地图:一个二维数组,表示迷宫的布局,其中0代表无墙、没走过;1代表墙;2代表无墙、已走过。

2. C语言编程环境:用于编写和运行实验代码。

3. 输入设备:用于输入起始点和迷宫地图。

四、实验步骤1. 设计迷宫地图,初始化二维数组map[10][12]。

2. 输入起始点坐标(行列坐标),判断输入是否合法(越界或起始点在墙中)。

3. 初始化一个空堆栈,用于存储老鼠走过的路径。

4. 使用深度优先搜索算法遍历迷宫,寻找出口:a. 将起始点入栈。

b. 标记当前点为已走过。

c. 判断当前点是否为出口,如果是,则输出路径,结束搜索。

d. 找到当前点的后继点(上下左右),如果后继点合法且未走过,则将其入栈并标记为已走过,继续搜索。

e. 如果当前点没有后继点,则回溯,弹出栈顶元素,尝试下一个方向。

5. 输出最短路径,记录老鼠的运动轨迹。

五、实验结果与分析1. 迷宫地图及起始点:```0 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 1 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 1 0 0 0 0 0 0 0 0 11 0 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 11 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1```2. 老鼠起始点坐标:(1, 1)3. 运动轨迹及最短路径:```老鼠运动轨迹:[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (2, 11), (3, 11), (4, 11), (5, 11), (6, 11), (7, 11), (8, 11), (9, 11), (10, 11), (11, 11)]最短路径:[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (1, 10), (1, 11), (2, 11), (3, 11), (4, 11), (5, 11), (6, 11), (7, 11), (8, 11), (9, 11), (10, 11), (11, 11)]```4. 分析:通过实验结果可以看出,老鼠在迷宫中寻找出口的过程主要遵循深度优先搜索策略,即优先探索当前路径的深度,直到找到出口。

计算机迷宫搜索算法仿真研究

计算机迷宫搜索算法仿真研究

计算机迷宫搜索算法仿真研究摘要:在电脑鼠的设计过程中,往往需要耗费大量的时间在迷宫搜索算法的调试上。

通过研究迷宫地图,采用模块化的设计方法,模拟实现了对迷宫搜索算法的仿真,还设计了迷宫地图的编辑和迷宫搜索算法的导入等功能。

仿真试验结果表明,仿真迷宫搜索算法可提高迷宫搜索算法设计和调试的效率。

关键词:电脑鼠;迷宫搜索算法;仿真;多线程电脑鼠[1](Micromouse)是一个由微控制器、探测器、驱动电机组成的一种集感知、判断、行走功能于一体,能够在迷宫中自动寻找到达终点最佳路径的微型机器人。

电脑鼠走迷宫比赛集竞赛和趣味性于一体,吸引了大量青年科技人员参加,文献[1]给出了有关迷宫电脑鼠的比赛规则和要求。

在迷宫电脑鼠的设计中,迷宫搜索算法的设计和调试最困难[3-7]。

主要因为迷宫搜索算法的设计和调试过程容易受到周围环境以及电脑鼠底层软硬件的影响而出现运行错误,从而使得调试经常被打断,完成一次完整的调试非常麻烦[8],需耗费大量时间。

本文针对电脑鼠设计者在迷宫搜索算法设计和调试上所面临的问题,设计了迷宫搜索算法仿真程序,提高迷宫搜索算法设计和调试的效率,减轻设计者的负担。

该算法仿真程序及其实现思路不仅可以推广到电脑鼠走迷宫竞赛中,而且还可以作为电脑鼠迷宫搜索算法研究者的一个理想研究平台。

1仿真模块设计迷宫搜索算法仿真程序的主要功能模块包含动态仿真器、迷宫搜索算法接口、人机交互界面和迷宫地图编辑器。

动态仿真器是整个程序的核心,迷宫搜索算法接口用于连接动态仿真器和迷宫搜索算法,人机交互界面和迷宫地图编辑器,分别负责响应用户的鼠标动作和迷宫地图的设置。

地图编辑器需要接受用户的动作来完成地图的编辑工作,所以将迷宫地图编辑器作为人机交互界面的一个子功能来实现。

图1是迷宫搜索算法仿真程序的系统模块框图。

动态仿真器实现了三个功能,为迷宫搜索算法获取迷宫信息,根据迷宫搜索算法的指令控制模拟电脑鼠运动,显示运行中产生的过程数据。

老鼠走迷宫的算法分析

老鼠走迷宫的算法分析

一种电脑鼠走迷宫的算法电脑鼠走迷宫的算法1探测策略电脑鼠走迷宫可以采用全迷宫探索策略,即将迷宫的所有单元均搜索一次,从中找出最佳的行走路径。

这种策略需要有足够的时间或探测次数,但在IEEE竞赛规则中每场竞赛只有15分钟的时间,因此是不可能的。

另一种方法是部分迷宫探索策略,即在有限的时间或探测次数下,只探测迷宫的一部分,从中找出次最佳的路径,显然只能采用这种策略。

电脑鼠在一巷道内行走,如果最后无路可走,则该巷为死巷。

电脑鼠在任一单元内,可能的行走方向最多只有三个(前、左、右),如果有二个或二个以上的可能行走方向,称为交叉,遇有交叉时,由于有多个可以行走的方向,在行走方向的选择上,可有下面的几种选择法则:•右手法则:遇有交叉时,以右边为优先的前进方向,然后是直线方向、左边方向。

•左手法则:遇有交叉时,以左边为优先的前进方向,然后是直线方向、右边方向。

•中左法则:遇有交叉时,以直线为优先的前进方向,然后是左边方向、右边方向。

与此类似的还有中右法则。

•乱数法则:遇有交叉时,取随机值作为前进方向。

•向心法则:由于终点在迷宫的中心,遇有交叉时,以向迷宫中心的方向为优先的前进方向。

2标记为了记忆迷宫的详细信息,需要对迷宫单元的位置进行线路标记。

全迷宫共有16×16个单元组成,可采用二维坐标方式标记,即用每个单元的XY坐标表示,如起点可标记为(0,0),终点为(7,7)。

此外,还需要对迷宫单元的可行进方向进行标记,可采用绝对方位或相对方位二种方式。

绝对方位:这是一种与电脑鼠行进方向无关的标记方式,以一个四位的二进制数,分别表示“东”﹑“西”﹑“南”和“北”四个方向。

以1表示允许行进(无墙壁),0表示不允许行进(有墙壁)。

相对方位:这是一种与电脑鼠行进方向有关的标记方式,以一个三位的二进制数即可实现标记,分别表示“前”“左”“右”,以1表示允许(无墙壁),0表示不允许(有墙壁)。

3阻断在电脑鼠试跑过程中或在最后冲刺时,需要对部分路径进行“阻断”,即在发现某条路径是死路(只有入口而无出口)时,在该路径的入口处(一般是交叉点)设置标记,即将入口的线路标记由1改为0。

迷宫电脑小鼠实验报告

迷宫电脑小鼠实验报告

一、实验背景迷宫实验是心理学和神经科学领域常用的实验方法,用于研究动物的学习和记忆能力。

近年来,随着计算机技术的不断发展,迷宫实验也逐步实现了电脑化。

本实验旨在利用迷宫电脑小鼠实验系统,研究小鼠在迷宫中的行为特征,以及其学习记忆能力。

二、实验目的1. 了解迷宫电脑小鼠实验系统的操作方法和原理。

2. 观察并记录小鼠在迷宫中的行为表现。

3. 分析小鼠的学习记忆能力,探讨影响因素。

三、实验材料1. 迷宫电脑小鼠实验系统:包括迷宫、电脑控制台、摄像头等。

2. 实验小鼠:体重20-25克,性别不限。

四、实验方法1. 迷宫电脑小鼠实验系统操作:将迷宫电脑小鼠实验系统连接到电脑,启动软件,设置实验参数,如迷宫形状、实验次数、时间限制等。

2. 实验步骤:(1)将实验小鼠放入迷宫入口,记录其进入迷宫的时间。

(2)观察并记录小鼠在迷宫中的行为表现,如逃避、探索、犹豫等。

(3)记录小鼠到达迷宫出口的时间,并计算其速度。

(4)重复实验多次,观察小鼠的学习记忆能力。

五、实验结果与分析1. 实验结果(1)实验小鼠在迷宫中的行为表现:在实验初期,小鼠表现出逃避、犹豫等行为,随着实验次数的增加,小鼠逐渐适应迷宫环境,表现出更快的速度和更准确的方向判断。

(2)实验小鼠的学习记忆能力:经过多次实验,小鼠的学习记忆能力得到显著提高。

在后期实验中,小鼠能够快速找到迷宫出口,且速度逐渐提高。

2. 分析(1)迷宫电脑小鼠实验系统能够有效地模拟真实迷宫环境,为研究小鼠的学习记忆能力提供可靠平台。

(2)实验结果表明,小鼠在迷宫中的行为表现与其学习记忆能力密切相关。

逃避、犹豫等行为可能表明小鼠在适应迷宫环境过程中存在困难,而随着实验次数的增加,小鼠逐渐适应迷宫,表现出更好的学习记忆能力。

(3)实验结果还表明,迷宫电脑小鼠实验系统具有良好的重复性和可靠性,可用于研究小鼠的学习记忆能力。

六、结论本实验通过迷宫电脑小鼠实验系统,研究了小鼠在迷宫中的行为表现和学习记忆能力。

电子老鼠闯迷宫

电子老鼠闯迷宫

一、实习问题:电子老鼠闯迷宫二、问题描述:有一只电子老鼠被困在如下图所示的迷宫中。

这是一个7*7单元的正方形迷宫,黑色部分表示建筑物,白色部分是路。

电子老鼠可以在路上向上、下、左、右行走,每一步走一个格子。

现给定一个起点start和一个终点finish,求出电子老鼠最少要几步从起点走到终点。

三、问题分析:该问题可用分支限界法来解决。

迷宫问题的解空间是一个图。

解此问题的队列式分支限界法从start开始将它作为第一个扩展结点。

与该扩展结点相邻并且可达的方格成为可行结点被加入到活结点队列中,并且将这些方格标记为1,即从起始方格start到这些方格的距离为1。

接着,算法从活结点队列中取出队首结点作为下一个扩展结点,并将与当前扩展结点相邻且未标记过的方格标记为2,并存入活结点队列。

这个过程一直继续到算发搜索到目标方格finish或活结点队列为空时为止。

在实现算法时,首先定义一个表示迷宫上方格位置的类Position,它的两个私用成员row 和col分别表示方格所在的行和列。

在迷宫的任何一个方格处,电子老鼠可沿右、下、左、上4个方向进行。

沿这4个方向的移动分别记为移动哦0,1,2,3。

在表中,offset[i].row和在实现上述算法时,用二维数组grid表示所给的方格阵列。

初始时,grid[i][j]=0,表示该方格允许走;而grid[i][j]=1表示该方格被封锁,不允许走。

为了便于处理方格边界的情况,算法在所给方格阵列四周设置一道“围墙”,即增设标记为“1”的附加方格。

算法开始时测试初始方格与目标方格是否相同。

如果这两个方格相同,则不必计算,直接放回起始位置标记为2。

由于数字0和1用于表示方格的开放或封锁状态,所以在表示距离时不用这两个数字,因而将距离的值都加2。

实际距离应为标记距离减2。

算法从起始位置start开始,标记所有标记距离为3的方格并存入活结点队列,然后依次标记所有标记距离为4,5…..的方格,直至到达目标方格finish或活结点队列为空时为止。

电脑鼠走迷宫竞赛ppt教材

电脑鼠走迷宫竞赛ppt教材

电脑鼠 |基于LM3S615微控制器
电脑鼠走迷宫竞赛
• 电脑鼠迷宫竞赛的计分规则说明
启动
迷宫时间
运行时间 返回到起点
迷宫时间:电脑鼠激活到每次运行开始的那段时间 运行时间:电脑鼠从起点走到终点的时间
! 碰成触绩:=电迷脑宫鼠时在间运÷行30过+程运中行若时要间手-动奖辅励助时,间则
为碰触(,非此碰次触运)行将失去 10s的奖励时间。电脑鼠 能从终点自动返回到起点,若要手动放回起点, 也视为“碰触”,按碰触的规则进行处理。
电脑鼠 |基于LM3S615微控制器
电脑鼠的简介
LM3S615 ARM cortex-M3内核
• 功耗低 • 具有门数目少 (价格低) • 调试成本低 • 中断延迟短 • 中断响应快速且支持多级中断嵌套 • 处理器采用先进的ARMv7-M架构
电脑鼠 |基于LM3S615微控制器
• 传感器
– 位置传感器 – 惯性传感器 – 距离传感器
MicroMouse615迷宫电脑鼠
——基于Cortex-M3
1234567
电脑鼠 电脑鼠 电脑鼠 电脑鼠 简介 走迷宫竞赛 走迷宫演示 走迷宫算法
走迷宫 电脑鼠 电脑鼠 标准套件 调试例程 传感器校正
电脑鼠 |基于LM3S615微控制器
电脑鼠的简介
• 电脑鼠是一种具有人工智能的轮式机器人
» 它是多学科的交叉结合的结晶
• 光电接收管
– IRM8601S
• PSD器件
– GP2D12
• CCD • 超声波
电脑鼠的简介
电脑鼠 |基于LM3S615微控制器
• 电机
– 步进电机 – 直流电机
• 减速 • 速度反馈
电脑鼠的简介
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京科技大学实验报告学院:自动化学院专业:智能科学学技术班级:姓名:学号:实验日期:2017年11月6日实验名称:人工智能电脑鼠搜迷宫实验实验目的:掌握电脑鼠的基本操作及智能搜索算法操作。

实验仪器:KEIL MDK、电脑鼠、J-Link、VS实验原理:所谓“电脑鼠”,英文名叫做Micromouse,是一种具有人工智能的轮式机器人,是由嵌入式微控制器、传感器和机电运动部件构成的一种智能行走装置的俗称。

当电脑鼠放入起点,按下启动键之后,他就必须自行决定搜索法则并且在迷宫中前进,转弯,记忆迷宫墙壁资料,计算最短路径,搜索终点等功能。

电脑鼠更结合了机械、电机、电子、控制、光学、程序设计和人工智能等多方面的科技知识。

本实验中,通过红外传感器检测电脑鼠所处位置状态,通过智能算法保存地图并实现地图的搜索,通过pid等控制算法控制电机,达到电脑鼠搜索迷宫并计算最短路径等功能。

实验内容与步骤:实验内容1)KEIL MDK的安装2)电脑鼠硬件的检查及调整3)智能搜索算法的编写4)算法的调试与优化5)实验结果实验步骤(一)KEIL MDK的安装1双击运行Ke i l MDK 4.12 安装程序,出现软件安装界面,如图所示:2点击Next,勾选安装协议;3选择安装路径,建议安装在C 盘,运行速度快些4 填入用户信息,个人用户随意填入即可;点击Next 就进入实质的安装过程了,Wait for a Whle…5点击Finish,Keil MDK 就完成安装了,可以发现桌面上生成了名为“Keil uVis ion4”的可执行文件快捷方式。

(二)检查和调整电脑鼠的硬件1.电机检查:在电脑鼠程序文件中找到Motor.c文件,直接为两侧电机赋相同的速度值,用G-link连接电脑鼠和电脑,传入程序,打开电脑鼠放在地面上,如果电脑鼠能正常直线行进,即证明两侧电机正常工作。

如果有电机有问题,拆下原来的电机换新的再次进行电机检查即可。

2.传感器检查:用G-link连接电脑鼠和电脑,打开传感器查询模式,用手逐渐靠近每一个传感器,如果相应的传感器值由小变大,那么此传感器工作正常。

且每个传感器在手指位于相同距离时,回传的传感器值近似相等即证明传感器都正常工作,如果有传感器有问题,拆下原来的传感器换新的再次进行传感器检查即可。

传感器回传值查询界面(三)智能搜索算法的编写在含底层驱动的程序的基础上加上算法,实现智能搜索,把电脑鼠变成一只真正的智能的老鼠。

1.常见的算法形式右手法则电脑鼠在前进的方向上存在两条和两条以上的支路时,优先考虑向右转,其次向前,最后才考虑向左。

左手法则与右手法则相似,只不过是优先考虑左转,其次是向前,最后才考虑向右。

右手法则示意图左手法则示意图求心法则求心法则就是每当电脑鼠有至少两个方向可以选择时,则优先转向离中心点最近的方向前进。

如何确定哪个方向更能接近目标呢?如图5-4 所示,把迷宫可以分为四个对等的区域(1、2、3、4)。

可以观察出,在区域 1 中,电脑鼠向右和向上运动更能接近中心。

在区域 2 中电脑鼠向左和向上更能接近中心。

同样还可以很容易观察出区域3 和区域 4 最容易接近中心的方向。

如果电脑鼠可供选择前进的方向包含了两个都有可能是离迷宫中心最近的迷宫分区示意求心法则示意图方向,优先选择可以直线前进的反向,其次选择只用转90度的方向前进。

如果可前进的方向都是远离中心的方向时,优先选择直线运行方向,其次选择转弯90度的方向。

其搜索示意图如图所示。

寻找最优路径的算法等高图算法首先开辟一块8×8的二维数组空间(MapStep[8][8]),其中每一个元素代表迷宫中的一个方格,用以计算后储存各方格至起点的最短路径步数(所谓步数即为路径中经过的方格数)。

当起点坐标处标识为1 时,可以直接达到的相邻方格均为2,再远的方格的等高值依次递增。

这样距离越远的地方等高值越大。

以此类推,直到当前坐标没有可前进方向,且堆栈中没有未处理完的分岔点时结束。

最终可以得到等高图。

等高图的数字即为步数,也就代表其相对应的位置,由于电脑鼠转弯要浪费一定时间,为了寻找一条最优的路径(也就是能最快达到的路径),可以给转弯点加权。

可以假设权值为1。

即经过转弯前进的坐标等高值是由当前等高值加 2 得到的。

具体的加权值可以根据自己电脑鼠转弯性能来决定。

冲刺算法在搜索方案上,当电脑鼠处于搜索阶段时,电脑鼠速度较慢,以便准确获取迷宫信息;处于冲刺阶段时,电脑鼠已知迷宫信息,所以速度很快。

为了保险起见,本设计的搜索方案是:首先慢速搜索到终点,然后沿已走路径返回起点,再沿已走路径快速冲刺到终点,到此已经拥有比赛成绩。

电脑鼠在终点处更换搜索法则,进行第二次搜索,从终点搜索到起点,此时已经寻找到最优路径,最后电脑鼠按最优路径冲刺,以求刷新之前的成绩。

2.算法设计当电脑鼠达到一方格坐标时,应根据传感器检测结果记录下当前方格的墙壁资料,为了方便管理和节省存储空间,每一个字节变量的低四位分别用来存储一个方格四周的墙壁资料,迷宫共有8×8个方格,所以可以定义一个8×8的二维数组变量来保存整个迷宫墙壁资料。

迷宫墙壁资料全部初始化为0,凡是走过的迷宫格至少有一方没有墙壁,即墙壁资料不为0,。

这样就可以通过单元格存储的墙壁资料是否为0来确定该单元格是否曾搜索过。

迷宫搜索方法:在没有预知迷宫路径的情况下,电脑鼠必须要先探索迷宫中的所有单元格,直到抵达终点为止。

做这个处理的电脑鼠要随时知道自己的位置及姿势,同时要记录下所有访问过的方块四周是否有墙壁。

在搜索过程中,还要尽量避免重复搜索已经搜索过的地方。

转弯也是电脑鼠运行时必不可少一部分,同时转弯也分为静止转弯和行进中转弯。

静止转弯要求电脑鼠首先要停止,主要用在电脑鼠进行搜索中,这时要求电脑鼠要绝对的稳定,所以采用静止转弯比较好。

行进中转弯的特点是消除了静止转弯的要求电脑鼠停止的弊端,可以节省一些时间,主要用在电脑鼠进行冲刺时,这时要求电脑鼠要以竟可能短的时间从起点到达终点,所以行进中转弯可以节省不少的时间。

静止转弯时,对两个电机设置走相同的步数,如当要转左转90°时,设置左电机向后走40步,右电机向前走40步。

通过两个电机走的方位不同,来实现静止转弯,但静止转弯的缺点就是,在转弯前首先要让电机停止,然后再对电机的要走的步数进行赋值,这样会浪费一点时间。

行进中转弯时,让一个轮子停止,一个轮子进行运转来实现。

如当要左转90°时,设置左电机停止转动,右电机转动80步。

与静止转弯区别开来的是,电机的步数在其他的函数中赋值好了,在转弯函数中只要一开始将一个电机停止转动就可以了,而不用一开始就将两个电机都停止,然后对电机的步数进行赋值,这样的话,就可以节省一些不必要的时间。

利用第一种方式虽然可以缩短探索迷宫所需的时间,但是不一定能够得到整个迷宫的地图资料。

若找到的路不是迷宫的最优路径,这将会影响电脑鼠最后冲刺的时间。

冲刺函数的实现是建立在等高图已经建立好的基础上的。

当电脑鼠要进行冲刺的时候,调用冲刺函数时,首先会调用等高图制作函数将等高图制作好。

然后该函数通过等高图和墙壁信息来进行电脑鼠的行进控制。

当然,我们认为电脑鼠在走直道的时候应该会比走弯道的时候,来的更快一点,所以我们没有进行特殊的加权,直接是走直道的。

电脑鼠从起点开始,一直利用等高图信息和墙壁信息进行一格一格的对比,只有当这一格在电脑鼠绝对方向上时,这一格才算记录到进行直道冲刺,同时直道格数加一。

当遇到电脑鼠要转弯的时候,已的步数记录下来了,接下来直接调用行进函数,控制电脑鼠走完记录好的步数后,即走到电脑鼠要转弯的地方后,再进行转弯,然后接着继续进行上一步的动作。

3.算法优化寻路是小车在运行的整个过程中进行的第一个操作,目的是让小车在迷宫中探索,同时记录已经走过的路径信息,直到小车找到终点就可以结束探索寻路的过程。

当然也可以在找到终点后继续探索整个迷宫,尽可能多地收集迷宫的信息,以便后期进行最短路径分析计算时能够运用更多的信息,找到更佳的最短路径,得到更好的成绩。

寻路算法的2个关键点,一是在岔路口的转弯策略以及小车运行的稳定性。

转弯策略决定了从小车开始运行到找到终点的时间长短。

良好的转弯寻路策略可以大量减少不必要的寻路时间。

小车运行的稳定性对于寻路过程也十分重要,所以小车的行进和转弯的过程一定要在机械和软件方面都调节到最稳定的状态。

二是正确使用堆栈,整个选路算法的运行过程中会大量地使用堆栈的人栈和出栈操作,如果对人栈和出栈的条件判断不正确,有可能造成数据紊乱,最好使用调试版上的数码管实时显示堆栈栈顶的数据,发现有错误就在程序中寻找错误,直到整个寻路算法稳定为止。

行进过程中:电脑鼠行进速度决定了迷宫搜索以及冲刺的时间,但是如果速度过快,电脑鼠容易在转弯处碰壁,影响其稳定性。

为了兼顾速度和稳定,通过反复实验,对搜索速度和直线冲刺速度做了调整。

转弯过程中:电脑鼠转弯包括原地转弯和前进中转弯2种方法。

原地转弯就是电脑鼠先停在原地,然后一个电机正转另一个电机反转来实现原地转弯。

前进中转弯,就是一个电机快转,另一个慢转,通过两轮速度差来实现前进中转弯。

由于原地转弯在转弯前需要先停止,所以前进中转弯相对于原地转弯效率更高,本文也选择此方法用于电脑鼠在迷宫中转弯。

连续转弯的过程:要求电脑鼠只小迷宫方格内完成转弯动作。

为了保持电脑鼠在连续转弯时具有较高的速度,本文通过增加最大转弯半径的方法来提升连续转弯速度。

实验数据:1)传感器阈值2)电机速度3)步长实验数据处理:调整实验数据,使电脑鼠能够正常搜索迷宫。

实验结果与分析:实验结果:经过我们小组的努力和尝试,电脑鼠可以顺利完成走迷宫任务。

实验分析:这学期我们学习人工智能这门课程相配电脑鼠实验。

首先我们小组互相帮助,很快完成了软件的安装,一款新软件对我们来说蛮陌生的,不知道怎么样进行调试,不知道该调试什么。

我们小组有一个同学参加了智能车的比赛,有一些相应的经验,我们先打开 watch Windows 界面,由远及近对每一个传感器进行判断,想要确保其无硬件问题。

通过实验我们发现,由远及近sensor的值会越来越大,确立都无误后,我们进行传感器的值调试。

传入测试程序后发现效果还不错,可到下次课在进行调试时,不知道怎么了,小鼠无法跑。

后来把小鼠放到3面围挡的墙处,进行调试。

总之,通过小组的合作,小鼠基本已顺利完成了走迷宫任务,让我对算法有了更深的理解,对调试的方法也有了一些经验和技巧。

相关文档
最新文档