电脑鼠2010_micromouse.ppt_第1页
电脑鼠2010_micromouse.ppt_第2页
电脑鼠2010_micromouse.ppt_第3页
电脑鼠2010_micromouse.ppt_第4页
电脑鼠2010_micromouse.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Cortex M3 MicroMouse615迷宫电脑鼠 电脑鼠走迷宫邀请赛培训 周立功单片机发展有限公司 主讲人 何小铭 电脑鼠走迷宫竞赛 MicroMouse615迷宫电脑鼠 基于Cortex M3 1 2 3 4 5 6 电脑鼠简介 电脑鼠走迷宫演示 电脑鼠走迷宫算法 走迷宫标准套件 电脑鼠调试例程 7 电脑鼠传感器校正 电脑鼠迷宫竞赛已经风靡全球 电脑鼠走迷宫竞赛 电脑鼠 基于LM3S615微控制器 电脑鼠迷宫竞赛的发展史 电脑鼠走迷宫竞赛 1972年由美国机械杂志发起比赛 最初的电脑鼠是机械的 由弹簧驱动 1977年 IEEESpectrum杂志提出电脑鼠的概念 电脑鼠是一个小型的由微处理器控制的机器人车辆 在复杂迷宫中具有译码和导航的功能 真正的首场电脑鼠迷宫竞赛于1979年于纽约举行 上千作品中只有15个电脑鼠成功完成比赛 1991年以来 世界级的比赛数目显著增加 现在每年100场比赛以上 电脑鼠比赛在中国大陆还很少见 直到2007年 由上海市计算机学会主办的IEEE标准电脑鼠走迷宫邀请赛 长三角地区 在上海师范大学举行 有三十多所院校参加 反响强烈 电脑鼠 基于LM3S615微控制器 迷宫竞赛的简介 电脑鼠走迷宫竞赛 目的 迷宫竞赛的目的是制作一个微型机器人 它能在最短的时间内穿越迷宫到达终点 电脑鼠的基本功能是从起点开始走到终点 这个过程称为一次 运行 所花费的时间称为 运行时间 从终点回到起点所花费的时间不计算在运行时间内 从电脑鼠的第一次激活到每次运行开始 这期间所花费的时间称为 迷宫时间 如果电脑鼠在比赛时需要手动辅助 这个动作称为 碰触 竞赛使用这三个参数 从速度 求解迷宫的效率和电脑鼠的可靠性三个方面来进行评分 在迷宫中运行时间最短的电脑鼠获胜 电脑鼠 基于LM3S615微控制器 电脑鼠迷宫竞赛的计分规则说明 电脑鼠走迷宫竞赛 启动 运行时间T1 返回 迷宫时间 电脑鼠激活到每次运行开始的那段时间 运行时间 电脑鼠从起点走到终点的时间 成绩 迷宫时间 30 运行时间 奖励时间 非碰触 电脑鼠 基于LM3S615微控制器 返回 运行时间T2 迷宫时间M2 迷宫时间M1 0 碰触 电脑鼠在运行过程中若要手动辅助 则为碰触 最多允许碰触4次 发生一次碰触失去10s的奖励时间 第二次以后多碰触一次增加5s惩罚时间 电脑鼠迷宫竞赛的模拟 电脑鼠走迷宫竞赛 1 搜索迷宫 第一次运行 2 智能选路 第二次运行 时间计算 这个电脑鼠运行第一次运行时间为60s 没有碰触过 迷宫时间为0 排障时间就是 60秒 10秒 无碰触 50秒 第二次运行时间为20秒 迷宫时间为90s 这次运行的排障时间就是 20秒 90秒 1 30 10秒 无碰触 13秒 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫竞赛 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 电脑鼠简介 电脑鼠是一种具有人工智能的移动机器人它是多学科的交叉结合的结晶 电脑鼠 基于LM3S615微控制器 电脑鼠的简介 传感 机械 人工智能 电子 运动控制 软件工程 移动机器人的应用实例 电脑鼠诠释了肢体 感官 脑的协调工作 电脑鼠的简介 感官 传感器 肢体 电机 脑 处理器 电脑鼠 基于LM3S615微控制器 Micromouse615资源 电脑鼠的简介 传感器 驱动装置 处理器 机械结构 软件设计 MicroMouse615采用红外传感器 电路简洁 控制轻松 MicroMouse615采用步进电机 速度平稳 运行准确 MicroMouse615采用基于Cortex M3内核的LM3S615处理器 MicroMouse615机身设计短小灵巧 能在迷宫里转动自如 MicroMouse615实现了基本的迷宫算法 能准确找到终点 电脑鼠 基于LM3S615微控制器 LM3S615ARMcortex M3内核功耗低具有门数目少 价格低 调试成本低中断延迟短中断响应快速且支持多级中断嵌套处理器采用先进的ARMv7 M架构 电脑鼠的简介 电脑鼠 基于LM3S615微控制器 红外测距原理 发射管940nmPWM调制接收管IRM8601S940nm视角45 38K带通滤波 红外测距原理 近距红外信号衰减调整变阻器改变发射信号强度改变检测距离远距调整发射频率改变带通滤波器对信号的衰减程度改变检测距离 步进电机驱动 半步驱动步进角3 75 两个电机独立控制定时器控制IO口翻转加减速控制调节定时时间 编码器陀螺仪MEMS陀螺仪旋转角度测量漂移距离传感器GP2D1240ms10 80cm运放 AD 电脑鼠的简介 电脑鼠 基于LM3S615微控制器 传感器 电机步进电机更改电机细分直流电机有刷直流电机减速器闭环控制编码器 速度闭环控制电流环 力矩控制无刷直流电机有感无感 电脑鼠的简介 电脑鼠的简介 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫竞赛 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 3 电脑鼠简介 电脑鼠走迷宫演示 电脑鼠走迷宫演示 电脑鼠走迷宫演示 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫竞赛 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 3 4 电脑鼠简介 电脑鼠走迷宫演示 电脑鼠走迷宫算法 电脑鼠迷宫搜索算法 电脑鼠走迷宫算法 右手法则电脑鼠顺着右边走 只要右边存在没有走过的入口则向右转 有多个未走过的入口坐标入栈无未走过入口时返回栈顶坐标格左手法则电脑鼠顺着左边走 只要左边存在没有走过的入口则向左走 有多个未走过的入口坐标入栈无未走过入口时返回栈顶坐标格中心法则电脑鼠就向着离中心目标点最近的方向前进 有多个未走过的入口坐标入栈无未走过入口时返回栈顶坐标格 电脑鼠 基于LM3S615微控制器 迷宫资料的存储 电脑鼠走迷宫算法 人走迷宫会迷路 但是聪明的电脑鼠是不会的 如右图 先给迷宫里的单元格按X Y轴编上号 迷宫是由一个个18cm 18cm大小的方格组成的 迷宫大小为16 16 即行列各有16个方格 0312 再规定用0 1 2 3分别代替上 右 下 左四个方向 电脑鼠 基于LM3S615微控制器 迷宫资料的存储 一维数组 电脑鼠走迷宫算法 电脑鼠 基于LM3S615微控制器 上方 左方 下方 右方 电脑鼠的方向转换 电脑鼠走迷宫算法 电脑鼠只要有了坐标便能够把采集的信息存到相应存储单元中 以被运行时遍历 但是除了坐标还得知道电脑鼠方向 才能将电脑鼠的四个方向转换为迷宫上的绝对方向 电脑鼠向上时 电脑鼠的前方为当前绝对方向 上 电脑鼠左转后 电脑鼠的前方则为当前绝对方向 左 如何让老鼠在迷宫左拐右拐后还能记住自己前进的方向与迷宫的方向关系呢 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫算法 0上3左右1下2 上面动画就是电脑鼠记住方向的示意图 也就是每转动一次 90度或180度 就要把方向值顺时针或逆时针移动一个 90度 或两个 180度 单位 电脑鼠 基于LM3S615微控制器 相对方向转绝对方向 绝对方向转相对方向 dir Dir dst 4 dir 电脑鼠 基于LM3S615微控制器 求最短路径 制作等高图 电脑鼠走迷宫算法 建立一个小型示意迷宫 假设老鼠已完成对迷宫的搜索 即掌握了迷宫地图 1 00 2 10 3 4 5 3 4 5 6 7 8 8 把走过的方格标记为0 xfe 未走过的标记为0 xff 起点标记为1 把起点坐标保存到堆栈 标记为2 表示第二步到达的方格 后面的以此类推 此时迷宫的前方和右方都有路 这是第三步 此时没有可前进的路 于是返回堆栈保存分支的地址继续标记 地址出栈 20 22 13 继续保存分叉路的坐标 9 10 11 12 此时前进方向的数比自己还小 所以无路可走 应该返回到堆栈保存的分支地址 6 32 7 7 8 4 5 等高图的最后的结果如左图所示 图中已经标明各个坐标到起点需要的最少步数 也就是找出了所有点到起点的最短路径 于是保存分叉路的坐标 并随便选一个方向前进 这不影响结果 此时搜索已没有可前进的方向 且堆栈中的分支地址仅有起点地址 所以可以判断等高图制作完毕 连续转弯 smoothturn 五段法转弯 转弯半径尽可能小 直线段尽可能长 转弯速度受限制 电脑鼠简介 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 3 4 5 电脑鼠走迷宫竞赛 电脑鼠走迷宫演示 电脑鼠走迷宫算法 走迷宫标准套件 电脑鼠走迷宫竞赛标准迷宫 电脑鼠走迷宫标准套件 符合IEEE国际标准的迷宫MicroMouseMaze16 16 此图为 MicroMouseMaze16 16 我们还有 MicroMouseMaze8 8 电脑鼠 基于LM3S615微控制器 MicroMouse615迷宫智能鼠 电脑鼠走迷宫标准套件 符合国际比赛标准 体积小 宽度只有迷宫格的一半 前方五组可测距的红外线传感器 灵敏度高 方便现场调节 电机为步进电机 控制容易 电池为2200mAh 7 4V的可充电锂电池 支持电池的电压监测 避免电量不足带来的麻烦 采用基于最新内核Cortex M3的32位Luminary单片机LM3S615 运算速度快 外设丰富 为用户预留了6个GPIO口 一个串口 一个SPI接口 懂C就能开发 电脑鼠 基于LM3S615微控制器 其他配套开发工具 电脑鼠走迷宫标准套件 与MicroMouse615配套的有锂电池 充电器 LMLINKUSBJTAG调试器和SPI接口的键盘显示模块 使用户开发调试更为方便 同时提供 电脑鼠开发指南 和出厂程序光盘 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫标准套件 键盘显示模块 SPI接口 用途提示 1 在开发过程中 或迷宫竞赛开始前用于显示红外线传感器的灵敏度 以方便进行调试 2 在验证自己迷宫算法的时候 用数码管显示自己所处的迷宫坐标和采集的墙壁信息 3 键盘可以设置为单步验证各个功能模块 并在数码管上进行显示 比如步进电机的转速 方向等等 4 电脑鼠 基于LM3S615微控制器 电脑鼠走迷宫标准套件 LMLINK是由广州致远电子有限公司开发的低成本高性能USBJTAG调试器 它专门用于对Luminary系列单片机程序的调试与下载 该调试器结合IAREWARM集成开发环境 可支持所有LM3S系列MCU的程序的下载与调试 电脑鼠 基于LM3S615微控制器 电脑鼠简介 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 3 4 5 6 电脑鼠走迷宫竞赛 电脑鼠走迷宫演示 电脑鼠走迷宫算法 走迷宫标准套件 电脑鼠调试例程 电脑鼠硬件调试连接说明 电脑鼠调试例程 1 连接电脑鼠电源 2 插入JTAG接口 3 拨开电源开关 4 插入USB通信接口 5 开始下载调试 电脑鼠 基于LM3S615微控制器 软件安装根据电脑鼠安装指南安装IAREWARM集成开发软件安装光盘中的LMLINK驱动程序 并按照指南进行相关配置安装流明诺瑞驱动库 并按照指南进行相关配置 电脑鼠调试例程 电脑鼠 基于LM3S615微控制器 实验例程 步进电机控制 电脑鼠调试例程 打开IAREWARM集成开发环境 建立工作区和新建一个项目 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 点击Createnewproject后会跳出如下对话框 默认情况下直接点击OK按钮 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 在 另存为 窗口中浏览和选择新建的D DEMO目录 输入新项目的文件名为demo 然后保存 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 这时在屏幕左边的Workspace窗口中将显示新建的项目名和输出代码模式 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 建立文件组 右击 demo Debug 然后选择ADD ADDGroup 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 新建3个文件组 startup文件组 src文件组和lib文件组 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 向文件组添加对应文件 如图所示 driverlib r79文件在安装目录 C ProgramFiles IARSystems EmbeddedWorkbench4 0Kickstart arm lib Luminary startup c文件在库文件所在目录 D PDL LM3S 1928 DriverLib ewarm main c文件为用户建立保存的 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 按照电脑鼠开发指南所示进行项目的设置 然后将目录MicroMouse615配套资料 Demo 基础实验 StepMotor src中main c的内容复制粘贴到新建的 mian c 文件 并向工程添加 type h 文件 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 在 startup c 文件里的开始位置中声明中断服务函数 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 在 startup c 文件里修改系统定时器中断和定时器0中断的入口地址 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 编译下载程序 如图所示 电脑鼠 基于LM3S615微控制器 电脑鼠调试例程 然后即可进行分步调试 观察步进电机的转动是不是符合控制时序 注意 如果在下载程序时 有提示信息出现 直接选择 否 就可以了 电脑鼠 基于LM3S615微控制器 defineKEY PORTSYSCTL PERIPH GPIOC defineKEY PINGPIO PORTC BASE GPIO PIN 4 defineKeyGet GPIOPinRead KEY PIN 防止JTAG失效voidWaitJTAG void SysCtlPeripheralEnable KEY PORT 使能按键所在的GPIO端口GPIOPinTypeGPIOInput KEY PIN 设置按键所在管脚为输入if KeyGet 0 x00 如果有键按下 则进入 for 死循环 以等待JTAG连接 SysCtlPeriDis KEY PORT 禁止按键所在的GPIO端口 电脑鼠调试例程 电脑鼠 基于LM3S615微控制器 电脑鼠简介 MicroMouse615迷宫智能老鼠 基于Cortex M3 1 2 3 4 5 6 电脑鼠走迷宫竞赛 电脑鼠走迷宫演示 电脑鼠走迷宫算法 走迷宫标准套件 电脑鼠调试例程 7 电脑鼠传感器校正 红外线传感器在场地中的调试方法 电脑鼠传感器的校正 校正条件 要求 1 电脑鼠要放在标准迷宫中校正 2 在电脑鼠上连接好套件中配套的键盘显示模块 调试程序 1 使用的测试程序就是出厂程序 MicroMouse615 Demo bin 电脑鼠 基于LM3S615微控制器 电脑鼠传感器的校正 调试步骤 步骤1 上电复位 数码管显示数据 第1 5个数码管分别用来指示U1 U5五个传感器的状态 用手分别遮挡这五个传感器 就能观测到对应数码管的的点亮或者熄灭 第6个数码管空闲 第7 8个数码管显示的是电池电压 电脑鼠 基于LM3S615微控制器 电脑鼠传感器的校正 步骤2 调节U1和U5的灵敏度 在此类的迷宫中 通过调节W1设置U1传感器 使电脑鼠靠近右侧挡板约5mm 调节W1 使第一个数码管能稳定的点亮一个段 第二个段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论