迷宫机器人简介
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六、迷宫机器人程序示例
该程序控制电脑鼠先初始化,接着待机300ms,然后进入while循环检测按键4,如果 按键没有按下,则等待100ms,如果按键4被按下,则再以速度50向前运行4格,但 是遇到岔路就会停止,向右转,继续前进3格,遇岔路停止。
六、迷宫机器人使用说明
1、迷宫的方向值定义
2)相对方向和绝对方向的转换:
在迷宫中运行,电脑鼠的墙壁检测返回的是其相对方向上所对应的墙壁信息, 而这一值需要转换成迷宫绝对方向上的信息值,这样才能方便存储和读取迷 宫信息。示例如图所示
相对方向向绝对方向的转换表格(Dir表示电脑鼠当前运行的绝对方向)
相对方向 前0
绝对方向 Dir
右1
后2 左3
(Dir + 1)% 4
(Dir + 2)% 4 (Dir +3)% 4
二、迷宫机器人的结构与教学
1、传感器是电脑鼠感知外界环境的窗口,是电脑鼠的双眼,好的传感器 是电脑鼠准确获取外部环境信息以做出正确判断的依据,是电脑鼠灵敏快 捷的保证 2、电机是电脑鼠的动力源,是电脑鼠的四肢,只有具备健壮且灵活的四 肢的电脑鼠才有可能在比赛中高效的解开迷宫 3、微处理器是电脑鼠的核心部分,是电脑鼠的大脑。几乎所有的信息, 包括墙壁信息,位置信息,角度信息和电机状态信息等都需要经过微处理 器处理并做出相应的判断 4、电脑鼠要能够在迷宫里面灵活穿梭, 必须有一副好身板,有适合在迷宫中快 速运行的身体结构。首先他必须结实, 拥有两只东倒西歪的轮子的电脑鼠是很 难不在迷宫中碰壁的 5、算法是电脑鼠的灵魂。电脑鼠必须采 用一定的算法才能找到终点,才能找到 一条最短的路径,在最短的时间内到达 终点
功能:获取输入的按键ID。 参数:按键从1到4。
五、迷宫机器人程序说明
功能:提供三种数据显示方式:显示电脑鼠和迷宫的信息(坐标,方向, 单元地图);显示红外传感器和电压数据(调试用);在1~4位上显示自 定义的信息(十六进制00~FF)。 参数:基本上是测试、调试、研究、创新的时候才用。
功能:选择相对方向和绝对方向之间的转换方式,需要输入要转换的 方向和电脑鼠当前的运动方向。 参数:输入要转换的方向,可以选择变量,然后通过函数GetMouseDir() 自动获取当前运行方向,最后赋值到相应的变量里面。
图6-1
图6-2
六、迷宫机器人使用说明
2)一侧有墙壁时的姿态纠正策略 当仅一侧存在挡板时,且当电脑鼠处在如图6-3(a)、图6-3(b)所示位置时需要 对电脑鼠姿态进行纠正。它们分别表示电脑鼠的位置偏离了迷宫中心(向左) 和偏离了迷宫中心(向右)。图6-3(a)中,右边的传感器信号弱,但依然能检 测到墙壁。电脑鼠应当向右转以回到理想的方位和姿态。同样,图6-3(b)中左 边的传感器信号弱,但依然能检测到墙壁。电脑鼠应当向左转以回到理想的方 位和姿态。
图6-3
六、迷宫机器人使用说明
4)电脑鼠墙壁检测与传感器标定 电脑鼠除了在运行过程中对其姿态和位置进行修正之外,还会检测左,前, 右三方是否有无墙壁,并做出是否刹车停止的判断。这样电脑鼠能恰好停在 含有岔路的迷宫单元的中央。电脑鼠处于如图6-4所示的位置时,其相应传 感器检测到的读数是左,前,右三个方向墙壁检测的临界值。当电脑鼠比该 位置更靠近墙壁时候,则判断墙壁存在。反之判断墙壁则不存在
三、迷宫机器人场地简介
场地整体由木板组装面成,可以通过更改部分隔墙位置来实现场地变更 底板尺寸为1.5*1.5米,由不同长度的隔墙板与底板共同组合而成,每个通 道为168mm,隔墙高50mm,宽12mm 底板为黑色防滑表面,隔墙表面贴白色防火板,顶上贴红色边条
168mm
四、迷宫机器人规则简介
比赛时机器人可以将场地的任一个角作为起点,终点设置在场地正中。 比赛时选手通过程序控制机器人从起点出现,按顺序将场地上的所有通道 全部跑完再回到起点位置,并自动分析刚才所走路线中到达终点的最短路 线,然后沿着最短路线前进到达终区并再次返回起点,以到达目的地所用 的时间最少者为胜
一、迷宫机器人的由来
1972年由美国机械杂志发起比赛,最初的电脑鼠是机械的,由弹簧驱动。 1977年IEEE Spectrum杂志提出电脑鼠的概念:电脑鼠是一个小型的由微 处理器控制的机器人车辆,在复杂迷宫中具有译码和导航的功能。 真正的首场电脑鼠迷宫竞赛于1979年于纽约举行,1985 年8 月,在日本 Tsukuba 举行了首场世界电脑鼠大赛。电脑鼠来自整个欧洲和美国,使用 的传感器有红外的、超声波的和CCD 的,驱动装置有步进电机的和DC 伺 服电机的。1987 年,电机工程师协会(IEE)在伦敦举办了一场电脑鼠 锦标赛,13 个电脑鼠角逐冠军 从1991年世界锦标赛在香港举行以来, 每年都有世界级的比赛。 2007年和2008年,上海市计算机学会 率先在国内主办了两次IEEE标准电脑 鼠走迷宫邀请赛(长三角地区),有 三十多所院校参加,反响强烈
六、迷宫机器人使用说明
5)传感器标定
电脑鼠在迷宫环境中需要保持直线运行,它在前进的过程中会不断调整 姿势,以免碰到迷宫墙壁。 电脑鼠在迷宫中理想的方位和姿势是处于迷 宫格的中央,且前进方向平行于墙壁
姿态纠正策略中的传感器标定 电脑鼠的为了判断姿势修正的位置需要对五个方向的传感器读数进行标定。X21,X22,X41 和X42为当左右均存在墙壁时,姿态修正触发的临界值;X12和X52为当左右仅一方存在墙壁时, 姿态修正触发的临界值。对这些数值进行标定的优势在可以使电脑鼠快速适应不同的环境。在同 一环境中只需要标定一次。
功能:电脑鼠待机,静止不动。 参数:时间(毫秒),默认值是100。
功能:电脑鼠搜索前进、不断检测周围迷宫信息。 参数:前进格数、速度、显示数据、遇到岔路是否停止,前进格数一 般设置为迷宫边长的一半、速度值一般设置为100步/秒、显示数据就 是现实墙壁的信息、一般情况下设置遇到岔路停止。
五、迷宫机器人程序说明
数码显示控制板
程序按键
车轮
电池包
红外测距传感器
迷宫机器人
目录
一、迷宫机器人的由来 二、迷宫机器人的结构与教学
三、迷宫机器人场地介绍
四、迷宫机器人规则简介 五、迷宫机器人程序迷宫机器人(电脑鼠)竞赛是一种利用嵌入式微控制器、传感器 和机电运动部件构成的一种智能行走装置(微型机器人)在指 定的迷宫中自动探索以找出通往终点的路径,并随时掌握自身 的位置信息,准确获取墙壁信息并做记录,最终依靠记忆找出 走出迷宫的最佳路径,以最短的时间走完迷宫,赢得比赛的竞 赛,该比赛具有一定难度,是一项富有挑战性和趣味性的比赛
功能:通过对传感器数据进行标定来调整电脑鼠在迷宫中的运动控制。 每一个标定组所对应的参数调整请参照说明书的详细介绍参数:四个 选项对应相应的标定项目。
六、迷宫机器人操作说明
该程序控制电脑鼠先待机1000ms(1s)再以速度50搜索前进4格,然后以50的转速向右转, 最后以100的速度继续搜索前进3格
六、迷宫机器人使用说明
3)坐标更新: 既电脑鼠从一格进入另外一格之后坐标的更新:
当前运动方向(绝对) 上 右 下 坐标 (X, Y+1) (X+1, Y) (X, Y-1)
左
(X-1, Y)
4)“相对左转”示例 转弯策略:电脑鼠遇到岔路口时,检测墙壁信息,如果电 脑鼠左侧墙壁信息显示有路,则转向它的左侧,简称相对 左转;如果电脑鼠左侧墙壁信息显示无路,下一步检测电 脑鼠前面墙壁的信息,结果显示有路就直行;如果电脑鼠 的左侧、前方均无路,接下来检测右侧是否有路,有路就 执行右转程序;最后,如果电脑鼠的左、前、右均无路, 则电脑鼠向后转。用右边流程图表示为:
五、迷宫机器人程序说明
◆模块化流程图式编程软件,直观明了 ◆支持流程图或C语言编程,可以直接将流程图转化为C语言 ◆编程模块可自由按横向或纵向对齐,简单方便 ◆模块间的连接线可以自行更改连接,便于不同阶段的用户使用 ◆支持自定义函数的导入
五、迷宫机器人程序说明
功能:初始化电脑鼠硬件,以及清零电脑鼠的记忆内存。 参数:双击设置四个参数,分别为初始X坐标、初始Y坐标、初始方 向、迷宫大小。相应地一般设置为0、0、MazeUP、8。
图6-4
二、迷宫机器人的结构与教学
电脑鼠可看作是一个集多项工程学科知识于一体的小型系统,与多各学科 关系精密 1、机械工程:大多数使用步进电机的电脑鼠可以直接将车轮安装在电机 轴上,而使用直流电机驱动的电脑鼠往往许多添加减速和传动装置,如何 既使轮子安装稳定不颤动,保证高传动效率,又使车体轻巧美观是机械设 计时需要解决的问题 2、 电子工程:电脑鼠是一个嵌入式系统,需要广泛的涉及信号处理、通 信、微处理器应用和电机控制等 3、自动控制:控制电脑鼠在迷宫中快速而准确的行走属于自动控制技术 范畴。测距传感器获取距离信息并将其反馈给微处理器,微处理器对距离 值分析处理获得墙壁信息并根据墙壁信息控制电机动作以带动轮子产生相 应的动作,这整个构成一个大自动控制系统。 4、人工智能:电脑鼠走迷宫竞赛的整个过程可大体分为两个部分:一、 搜索迷宫,从起点出发,找到终点并找出一条最短路径;二、冲刺,从起 点开始,在最短时间内到达终点。搜索迷宫过程是电脑鼠学习过程。冲刺 过程前需要在所有走过的通路中依据自己的原则选择一条路径作为最短路 径,这是一个决策过程 5、程序设计:电脑鼠是一个精密控制体,足够的控制精度才能保证在高 速行走的时候不撞墙和迷失自我。不但要求能够准确测量,还必须有足够 快的响应速度
姿势修正的临界条件数据记录表
传感器 一侧墙壁(靠右) 左 左前 X12 X21 X41 X52 X22 X42 一侧墙壁(靠左) 两侧墙壁(靠右) 两侧墙壁(靠左)
中
右前 右
六、迷宫机器人使用说明
1)两侧都有墙壁时的姿态纠正策略 当两侧都有挡板时,且当电脑鼠处在如图6-1、图6-2所示位置时需要对电脑鼠 姿态进行纠正。其中,图6-1(a)和图6-2(a)分别表示电脑鼠的位置偏离了迷宫 中心(向左)和其姿态偏离了平行于墙壁的方向(向左),可以发现,这时左边 传感器信号强,右边的弱。电脑鼠应当向右转以回到理想的方位和姿态。同样, 图6-1(b)和图6-2(b)分别表示电脑鼠的位置偏离了迷宫中心(向右)和其姿态 偏离了平行于墙壁的方向(向右),这时右边传感器信号强,左边的弱。电脑鼠 应当向左转以回到理想的方位和姿态
功能:控制电脑鼠转弯。 参数:转向、速度,转向分为四个方向,也可以设置为变量, 速度一般设置为50。
功能:获取电脑鼠当下在迷宫中的位置信息及运行方向。 参数:自动获取
功能:获取单元地图的墙壁信息。选择地图获取方式:单元地图的 存储值,单元的某一方向是否存在墙壁,单元是否已被搜索过。 需 要输入的量为单元X和Y坐标,墙壁方向。 参数:X、Y坐标、墙壁方向值,X、Y坐标都是根据相应的函数 GetMouseCoorX()和GetMouseCoorY()自动获取的,墙壁方向值就是 想要获取的墙壁方向。