基于51单片机C语言搬运车机器人毕设毕业论文.doc_第1页
基于51单片机C语言搬运车机器人毕设毕业论文.doc_第2页
基于51单片机C语言搬运车机器人毕设毕业论文.doc_第3页
基于51单片机C语言搬运车机器人毕设毕业论文.doc_第4页
基于51单片机C语言搬运车机器人毕设毕业论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

搬运机器人 摘要 美国机器人协会 RIA 的机器人定义 机器人是用以搬运材料 零件 工具的可编程序的多功能操作器或是通过可改变程序动作来完成各种作业的特 殊机械装置 日本工业机器人协会 JIRA 的定义 工业机器人是一种装备有记忆装置 和末端执行器 end effector 的 能够转动并通过自动完成各种移动来代替 人类劳动的通用机器 美国国家标准局 NBS 的定义 机器人是一种 能够进行编程并在自动 控制下执行某些操作和移动作业任务的机械装置 国际标准化组织 ISO 的定义 机器人是一种自动的 位置可控的 具有编 程能力的多功能机械手 这种机械手具有几个轴 能够借助于可编程序操作来 处理各种材料 零件 工具和专用装置 以执行种种任务 关键字 记忆装置 末端执行器 AbstractAbstract This design by car this carrier incorporated by AT89S52 core dashboards can achieve its basic features plus infrared detector IR LED QTI sensors IR schematics to perfect the design Uses infrared technology to detect obstacles QTI sensor acquisition information use of ground AT89S52 processor that timely control realization of intelligent Hayashi and obstacle avoidance automatically opening and closing doors as well as automatically Smart cars with rear wheel drive two rounds of the execution with a stepper motor The entire system of the circuit simple structure reliable performance Laboratory test results meet the requirements of this article focuses on the system s hardware design and analysis of test results Technologies are To programmatically control the car door open and close Effective application of the sensor KeyKey wordswords memory devices end actuators 目目 录录 1 1 前言前言 4 4 2 2 系统设计系统设计 5 5 2 1 设计背景 5 2 2 设计要求 5 2 3 实现目标 5 3 3 机器人本体机构设计机器人本体机构设计 6 6 3 13 1 整体结构的设计整体结构的设计 6 3 1 1 机器人底盘设计与安装 6 3 1 2 核心控制 12 3 23 2 控制系统控制系统 17 3 2 1 驱动控制系统 17 3 2 2 巡线控制系统 18 3 2 3 控制电路的设计 19 4 4 设计中的改进设计中的改进 2121 4 4 1 1 控控制制改改进进 21 4 1 1 巡线传感器的选择 21 4 1 2 伺服电机的测试 21 4 2 宝贝车直线度的校正 23 谢谢 辞辞 24 文文 献献 25 附附 录录 26 附录一 RightServoTest c 测试伺服电机 26 附录二 校正宝贝车直线运动程序 28 附录三 设计总程序 29 1 1 前言前言 机器人从出发区出发 到达物料储存区后 分拣其赛前抽签决定好的任务 即从 5 个预知颜色料块 黄 白 红 黑 蓝 选 3 种颜色料块的已知 6 种组 合 任务 中 选其中 1 个作为比赛任务 其料块均要求摆放在场地图的 A C E 位置 B D 位置不放置物料 再按照设计好的控制策略控制机器人 动作 以便将三个料块快速准确地搬运并放到对应的三个颜色中心区域内 并 最后回到出发区 2 2 系统设计系统设计 本组智能小车的硬件主要有以宝贝车作为核心的载体小车 主控器部分 自动循迹部分 检测部分 手抓机构 电机驱动部分组成 2 12 1 设计背景设计背景 设计一个基于 8 位单片机或 ARM 控制机器人 在比赛场地里移动 将指定的物体搬运到指定的位置区域 比赛的记分根据机器人将物体放置 的位置精度和完成时间来决定分值的高低 它模拟了工业自动化过程中自 动化物流的要求以及实际应用情况 2 22 2 设计要求设计要求 1 基本要求 实现小车的前进后退 左转右转 按照程序预设 2 扩展部分 实现小车自动循迹功能 并利用所设机构完成物料的搬运 2 32 3 实现目标实现目标 在规定时间内 机器人搬运完毕物料 并回到出发点 3 3 机器人本体机构设计机器人本体机构设计 本章中所要完成的任务摘要 1 整体结构的设计 2 控制系统的设计 3 13 1 整体结构的设计整体结构的设计 整体结构的设计 主要包括 1 机器人底盘的设计与安装 2 核心控制 3 1 13 1 1 机器人底盘设计与安装机器人底盘设计与安装 本设计以宝贝车机器人作为载体 即作为整个智能机器人的底盘 在其基 础上设计机构 以实现设计目标 本节主要完成智能机器人底盘的安装 主要 从以下几方面进行 1 基本结构的安装 2 驱动装置的安装 3 动力源的安装 4 控制面板的安装 组装工具及部件 1 组装工具 图3 1 1 螺丝起子 2 尖嘴钳 2 组装部件 1 宝贝车底盘 2 带制器的教学板 3 连续旋转电机 两个 4 塑胶轮子 两个 图3 1 宝贝车机器人组装工具 5 橡皮圈 两个 6 带有插头的电池盒 7 球状尾轮 8 1 16 开口销 9 平头螺钉 3 8 英寸 4 40 10 螺柱 四长四短 11 盘头螺钉 12 螺母 4 40 在组装之前 应该先将所需部件找齐 方可进行安装 将表中所列零件收集到 一起 按照装配步骤进行组装 基本结构的安装 1 底盘的安装 零件列表 如图3 2 1 宝贝车底盘 2 螺柱 3 盘 头螺钉 4 13 32 英寸的 橡胶圈 图3 2底板及上面的硬件 装配步骤 将13 32 英寸的橡胶套圈插到宝贝车底盘中心的孔内确保底盘中心孔的边 缘嵌在橡胶圈的凹槽中 用 4 个螺钉将螺柱如图所示固定在底盘上 2 轮子的安装 部件列表 图3 3 1 部分已装好的宝贝车机器人 2 1 16 开口销 3 球状尾轮 4 橡皮圈 5 塑胶轮子 6 拆掉伺服喉里保存的螺钉 装配步骤 3 7图3 3 轮子部件 图3 4左侧所示是安装在底盘上的尾图 轮 尾轮是一个有中心孔的塑胶球 开口销作为轴 将轮子固定在底盘上 轮子的中心孔与底盘尾部的中心孔对准在一条水平线上 将开口销同时穿过这三个孔 底盘左侧 尾轮 底盘右侧 将开口销一端弯曲使它不会滑出孔 图3 4右侧所示是安装在宝贝车机器人伺服电机上的驱动轮 拉伸橡皮圈 把它套在每个轮子上 每个轮子有一个凹槽用于把它安装到输出轴上 将两个轮子分别压在输出 轴上 确保两个轴高度一致 并已装进轮子的凹槽 用螺钉将轮子固定在输出轴上 驱动装置的安装 1 拆除伺服喉 断开控制器和伺服电机的电源 取出电池盒中的所有电池 图3 4 把伺服电机从你的教学底板断开 步骤 用螺丝起子去掉连接伺服喉和电机输出轴之间的螺钉 将每个四角形部件从电机输出轴上取下来 将螺钉保存好 后面还会用到 根据上面的指示移走如图四角形部件将电机安装到底盘上 图3 5 零件列表 如图3 6 1 宝 贝车底 盘 已部分 组装好 2 连 续旋转 电机 3 螺 钉 3 8英寸 4 40 4 螺母 4 40 装配步骤 用螺钉和螺母将电机固定在底盘上 为了最好的性能 你必须从里面 而不是从外面把电机放入矩形窗口 用标签纸标识伺服电机的左右轮 图3 6 把电机安装到底盘上 图3 7所示是伺服电机和教学板的连接 连接伺服电机到教学底板上的电机接口处 将贴着 L 的插头连接到P1 1端口 贴着 R 的插头连接到P1 0端口 图3 7 伺服系统的连接 动力源的安装 在本设计中 我们采用 4 节 5 号碱性电池作为整个智能机器人的动力源 零件列表 图3 8 1 宝贝车 底盘 部分组装 2 平头螺钉 3 8英寸 4 40 3 螺母 4 40 4 带有插头的电池盒 安装步骤 用平头螺钉和螺母将电池盒固定在宝贝车 机器人的底盘下面 如图3 9左边所示 将螺钉穿过电池盒 然后在底盘上面用螺 母紧固 如图3 9右边所示 将电池盒的电源连接 线穿过底盘中间带有橡胶圈的孔 图3 8 图3 9 将伺服电机线也穿过此孔 控制系统的安装 把教学底板 图3 10 安装到底盘上 零件列表 1 宝贝车机器人底盘 部分组装好 2 平头螺钉1 4 4 40 安装步骤 将主板放在四个支架上使其与四个孔对齐 确保面包板接近驱动轮而不是尾轮 用平头螺钉连接主板和支架 图3 10 从底盘下面 拉出剩余的穿过橡胶圈的伺服电机线和电池线 卷起伺服电机和底盘之间剩余的线 从底盘下面 拉出剩余的穿过橡胶圈的伺服电机线和电池线 卷起伺服电机和底盘之间剩余的线 图 3 11 3 1 3 1 2 2 核心控制核心控制 1 AT89S52 核心控制板 图 3 13 AT89S52单片机是一个低功耗 高性能CMOS 8位微控制器 片内含通用8位中央 处理器和ISP Flash存储单元 8k BytesISP In system programmable 可反复 擦写1000次的Flash只读程序存储器 片上Flash允许程序存储器在系统可编程 亦适于常规编程器 器件采用ATMEL公司的高密度 非易失性存储技术制造 兼 容标准MCS 51指令系统及80C51引脚结构 在单芯片上 拥有灵巧的8位CPU和 在系统可编程Flash 使得AT89S52为众多嵌入式控制应用系统提供高灵活 高 性价 比的解决方案 图3 13 2 传感器 a QTI 传感器 QTI 传感器作为本设计的检测系统 主要实现光电检测 即利用 QTI 传感 器对公交车的行进路线进行检测 本项目主要包含以下几个任务 1 QTI 传感器的工作原理 2 QTI 传感器的安装 认识认识 QTIQTI 传感器传感器 图 3 14 QTIQTI 传感器的简介传感器的简介 本设计使用的 QTI Quick Track Infrared 传感器 如图 3 14 所示 QTI 传感器是一种使用光电接受管来探测 它下面的表面反射光强度的传感器 当 QTI 传感器在一个很暗的表面上时 反 射光强度很低 当 QTI 传感器在一个很亮的表面上时 反射光强度很高 从而 导致传感器输出的变化 即探测到黑色物体输出高电平 探测到白色物体输出 低电平 QTI 传感器的特性使其很适合用在巡线 迷宫导航 探测场地边缘等应用 中 QTI 边线检测传感器性能参数 工作温度 40 85 参考电压 5V 连续电流 50mA 功耗 100mW 最佳距离 10mm 最佳距离最大散射角度 65 度 探测到黑色物体输出高电平 探测到白色物体输出低电平 响应时间 V 5v R 100 I 5mA 上升沿时间 10us 下降沿时间 50us GND SIG VCC 图 1 引脚示意图 图 3 15 AVR 单片机例程 单片机例程 硬件连接 把 PC0 口接到 SIG 上 VCC 接 5V GND 接地 include BoeBOtUnderstandable h 宝贝车的标准头文件 include usta h 串口的头文件 int PC0 state void 获取 PC0 的状态 return PINC int main void 主函数 程序从这里开始运行 usta Init 串口初始化 printf Program Running 在调试窗口显示一条信息 while 1 if PC0 state printf QTI NO working n else printf QTI working n delay nms 500 QTI 传感器的安装 每一个 QTI 巡线套件中包含 4 组 QTI 当我们要完成线跟踪功能时 最简 单的方法是使用 4 个 QTI 传感器 如图 3 16 所示 图 3 16 图 3 17 若需要运行更稳定也可使用 4 个 QTI 传感器 安装方法如图 3 17 所示 图 3 18 这里我们以 4 个 QTI 为例 用螺丝固定好 QTI 传感器后 如图 3 16 所示 QTI 传感器的引脚如图 3 17 所示 将传感器上的光电管面对你的时候 从上到 下三个引脚依次为 GND SIG VCC 针脚定义 针脚定义 1 GND电源地 2 SIG信号输出 3 VCC5V 直流电源 3 23 2 控制系统控制系统 3 2 13 2 1 驱动控制系统驱动控制系统 本控制系统采用的是 AT89S52 单片机来控制一个伺服小车 该小车主要由 两个独立驱动的主动轮 一个从动轮构成 小车的运动由主动轮上的电机驱动 驱动力来源于两 个伺服电机 而 车门的往复直线 运动由另一伺服 电机驱动 它们 的作用是在程序 控制下高效率的将动力电池组的能量转化为各个伺服电机的动能 GND SIG VCC 图 3 19 小车的转弯主要通过两个电机的运动速度不同来实现 小车的转动角度为 360 根据控制程序可以实现伺服小车前后左右行进 表 3 1 表 3 1 伺服小车控制原理 车体动作左伺服电机右伺服电机 前进正转正转 后退反转反转 左转反转正转 右转正转反转 表 3 1 电机引脚配置 本设计所用到的电机有三个 分别为控制车轮转动的左右电机以及控制车 门水平移动的电机 电机引脚配置如表 3 2 图 3 21 表 3 2 图 3 21 电机引脚 左电机P1 1 右电机P1 0 3 2 23 2 2 巡线控制系统巡线控制系统 QTI 传感器作为本设计的检测系统 主要实现光电检测 即利用 QTI 传感 器对公交车的行进路线进行检测 本设计用 QTI 传感器用于检测路面信息 2cm 宽的黑线 车底盘上使用 4 个 QTI 传感器 以适应起始和终点的停车的需要并达到巡线的功能 在宝贝车机器人上安装 4 个 QTI 线跟踪传感器就能实现对黑线跟踪 根据这个 原理 传感器组合就可以让机器人按照设定好的地图 图 3 22 运动 图 3 22 我们用 4 个 QTI 传感器 来帮助机器人完成 在设定场地上的行走 3 2 3 2 3 3 控制电路的设计控制电路的设计 在进行电路图的组装之前 我们应该对 无焊锡面包板有一定的认识 教学板前端 那块白色的 有许多孔或 插座的区域 称之为无焊料的面包板 图 3 23 面包板连同它两边黑色插座 称之为原型区域 在面包板插座上插上元 器件 比如电阻 LED 扬声器和传感器 就构成了本书中的例程电路 元器件 靠面包 板插座彼此连接 在面包板上端有一条黑色的插座 上面标识着 Vcc Vin 和 GND 称之为电源端口 通过这些端口 你可以给你的电路供电 左边一条黑色的插座从上到下标识着 P10 P11 P12 P37 共 18 个 部分端 口并未标出 通过这些插座 你可以将你搭建的电路与单片机连接起来 面包板上共有18行插座 通过中间槽分为两列 每一小行由五个插座组成 这五个插座在面包板上是电气相连的 根据电路原 图3 23 理图的指示 你可以将元器件通过这些五口插座行连接起来 如果你将两根导 线分别插入五口插座行中的任意两个插座中 它们都是电气相连的 电路原理 图就是指引你如何连接元器件的路标 它使用唯一的符号来表示不同的元器件 这些器件符号用导线相连 表示它们是电气相连的 在电路原理图中 当两个 器件符号用导线相连时 电气连接就生成 导线还可以连接元器件和电压端口 Vcc Vin 和 GND 都有自己的符号意义 GND 对应于教学板的接地端 Vin 指电池的正极 Vcc 指校准的 5V电压 电路的设计与组装 本设计中所用到的电路主要包括QTI传感器电路 可通过他们各自的原理图 对它们的电路进行设计并进行组装 在本设计中 三极管相当于一个开关 当 P3 6 置高时 从集电区经基区到 发射区电路导通 加载在 IR LED 上的电压为 VCC 5V IR LED 向外发射红外 线 当 P3 6 置低时 电路又断开 IR LED 停止发射 在电路的连接时 应注意它的连接方法 如下图所示 1 QTI 巡线原理图 图 3 24 图3 24 GND 对应于教学板的接地端 Vcc 指校准的 5V电压 图 3 25 4 4 设计中的改设计中的改进进 改进 改善 创新 改善是在不抛弃原经 营方案的前提下而进行的改进 创新是通过 抛弃原经营方案并建立新经营方 案的前提下 而进行的改进 在设计过程中 不断地 一 步一步地 阶梯式地改进 会使得设计处在 不断完善的过程中 更清晰的表达自己所要表 达的东西 使读者更容易理解 改进主要分为两个部分 1 机构方面的改进 2 控制方面的改进 4 4 1 1 控控制制改改进进 4 1 14 1 1 巡线传感器的选择巡线传感器的选择 巡线方案可利用红外技术或 QTI 传感器采集地面信息 采用 AT89S52 单片 机进行适时控制 实现智能循线和避障 若利用红外技术 将三个红外线光电传感器分别装在车体的左中右 当车 的左边的传感器检测到黑线的边界时 主控芯片控制左轮电机减速 车向右修 正 当车的右边传感器检测到黑线时 主控芯片控制右轮电机减速 车向左修 正 中间的传感器起附带修正的作用 黑线在车体的中间 中间的传感器一直 检测到黑线 当偏离黑线时也开始修正 从而使小车沿着黑色的轨道行走 若利用 QTI 传感器 则使用光电接受管来探测它下面的表面反射光强度的 传感器 当 QTI 传感器在一个很暗的表面上时 反射光强度很低 当 QTI 传感 器在一个很亮的表面上时 反射光强度很高 从而导致传感器输出的变化 即 探测到黑色物体输出高电平 探测到白色物体输出低电平 由于站牌的检测系统中需要用到红外技术 为了方便且不易混淆 故而使 用 QTI 传感器 QTI 传感器的特性使其很适合用在巡线 迷宫导航 探测场地 边缘等应用中 4 1 24 1 2 伺服电机的测试伺服电机的测试 通过测试确保主板和伺服电机之间的电气连接正确 我们要确保右边的伺 服电机从端口P1 0接收到脉冲后旋转 左边的电机从端口P1 1接收到脉冲后旋 转 1 测试右轮 下面的例子程序测试连接到右轮 图4 1 的伺服电机 程序将使右轮顺时 针旋转三秒 停止一秒 然后逆时针旋转三秒 例程 RightServoTest c 程序见附录一 将机器人搁起 使驱动轮 悬空 装电池到电池盒 把三位开关设置到位置 2 键入 保存并运行程序 RightServoTest c 验证右轮是否顺时针旋转 三秒 停止一秒 然后逆时针 旋转三秒 图4 1 如果右轮的运动同你预计的不同 参考伺服电机故障排除部分 它就在例 程后面 2 测试左轮 现在该在左轮上做同样的测试 如图 4 1 1 所示 这包括更改程序 RightServoTest c 使脉冲发到连接 P1 1 的伺服电机而不是连接 P1 0 的伺服 电机 现在要做的是将程序中的 P1 0 改为 P1 1 将程序RightServoTest c另存 为LeftServoTest c 见附 录一 把P1 0改为P1 1 保存并运行程序 验证左轮是否顺时针旋转 三秒 停止一秒 然后逆时针 旋转三秒 图4 1 1 如果不是你所预期的 参考伺服电机故障排除部分 3 伺服电机故障排除 这是一些非常常见的征兆和和修补方法 a 伺服电机根本不转 确定三位开关拨到位置 2 然后 你可以按下并释放复位按钮 重新运 行程序 仔细检查你的伺服电机接线 检查你的程序输入是否正确 右边的伺服电机不转 但是左边的转 这意味着伺服电机反了 连接到P1 0的电机应该连接到P1 1 连接到P1 1的电 机应该连接到P1 0 断开电源 拔下伺服电机 把原连接到P1 0的电机连接到P1 1 把原连接到P1 1的电机连接到P1 0 打开电源 重新运行RightServoTest c b 轮不完全停下来 它缓慢旋转 这意味着伺服电机没有正确的调零 你可以调节程序来让伺服电机停止 你通 过修改delay nus 1500 让电机停止 如果轮子缓慢的逆时针旋转 用一个比1500小一点的数 如果轮子缓慢的顺时针旋转 用一个比1500大一点的数 如果你在1480至1520之间的数找到一个数让电机完全停止 然后把这个数 用在delay nus函数中 c 轮子在顺时针和逆时针旋转之间不停止 车轮可能快速的朝一个方向旋转3秒钟另一个方向旋转4秒钟 可能快速的旋转3 秒钟 然后慢速的旋转1秒钟 然后又快速的旋转3秒钟 或者 它可能快速的 朝一个方向旋转7秒钟 不管怎样 都说明电位器失调 去掉轮子 下掉伺服电 机 伺服电机调零 4 24 2宝贝车直线宝贝车直线度的校正度的校正 要保证车体的直线运动 就要确保两轮速度的一致性 电机的速度是由脉 冲的宽度即程序中延时函数delay nus的参数n决定的 n越接近1500 电机旋转 越慢 这就意味着需要把控制P1 0或P1 1上的脉冲的宽度的delay nus函数中的 1300更改为一个更接近1500的数 如果宝贝车只是偏移轨迹一点 也许改为 1320可以成功 如果电机严重不匹配 也许需要改为1380 可能要经过几次尝试才能得到正确的值 比如说你的第一个推测是1320 但是还不够 因为宝贝车还是稍微向左偏 于是试试1340 也许矫正过多 最 后1330是正确的 这叫重复过程 意思是说这是一个用重复试验得到正确结果 的过程 经过不断的修改与调试 可以确定delay nus的参数n的数值 确保小车的 直线度 程序见附录二 谢谢 辞辞 历时两个月的毕业设计已经告一段落 经过自己不断的搜索努力以及的耐 心指导和热情帮助 本设计已经基本完成 在这段时间里 严谨的治学态度和 热忱的工作作风令我十分钦佩 他的指导使我受益非浅 本系机器人实验室的 开放也为我的设计提供了实习场地 同时要对党媚老师表示深深的感谢 感谢 田老师向我们提供慧鱼组件 让我们能够完成对机器人车体及各机构的组装 在此对周挺老师和党媚老师表示深深的感谢 通过这次毕业设计 使我深刻地认识到学好专业知识的重要性 也理解了 理论联系实际的含义 并且检验了大学三年的学习成果 虽然在这次设计中对 于知识的运用和衔接还不够熟练 但是我将在以后的工作和学习中继续努力 不断完善 这两个月的设计是对过去所学知识的系统提高和扩充的过程 为今 后的发展打下了良好的基础 由于自身水平有限 设计中一定存在很多不足之处 敬请各位老师批评指 正 文文 献献 1 秦志强 C51 单片机应用与 C 语言程序设计 北京 电子工业出版社 2007 12 2 李广弟 单片机基础 北京 北京航空航天大学出版社 2008 56 64 3 何立民 单片机应用系统设计 北京 航天航空大学出版社 2 5 46 50 4 赵负图 传感器集成电路手册 第一版 化学工业出版社 2009 590 591 附附 录录 附录一附录一 RightServoTest cRightServoTest c 测试伺服电机测试伺服电机 include 宝贝车的标准头文件 include 串口的头文件 int main void 主函数 程序从这里开始运行 int counter usta Init 串口初始化 printf Program Running 在调试窗口显示一条信息 在开始时Counter被设为1 并在每次重复的最后被增加1 在循环重复前 如 果Counter 大于140 则循环结束 for counter 1 counter 140 counter 顺时针旋转三秒 P1 0 1 设置P1 0输出高电平 delay nus 1300 延时0 0013s P1 0 0 设置P1 0输出低电平 delay nms 20 延时20ms 在开始时Counter被设为1 并在每次重复的最后被增加1 在循环重复前 如 果Counter 大于46 则循环结束 for counter 1 counter 46 counter 停止一秒 P1 0 1 设置P1 0输出高电平 delay nus 1500 延时0 0015s P1 0 0 设置P1 0输出低电平 delay nms 20 延时20ms 在开始时Counter被设为1 并在每次重复的最后被增加1 在循环重复前 如 果Counter 大于46 则循环结束 for counter 1 counter 138 counter 逆时针旋转三秒 P1 0 1 设置P1 0输出高电平 delay nus 1700 延时0 0017s P1 0 0 设置P1 0输出低电平 delay nms 20 延时20ms 附录二附录二 校正宝贝车直线运动程序校正宝贝车直线运动程序 include include int main void int counter uart Init 串口初始化 printf Program Running n for counter 1 counter 130 counter P1 1 1 delay nus 1740 P1 1 0 P1 0 1 delay nus 1355 P1 0 0 delay nms 20 附录三附录三 设计总程序设计总程序 include include include define uint unsigned int define uchar unsigned char uchar QTIState void stop void 停止 P1 1 1 delay nus 1500 P1 1 0 P1 0 1 delay nus 1500 P1 0 0 delay nms 20 void back void 后退 P1 1 1 delay nus 1300 P1 1 0 P1 0 1 delay nus 1700 P1 0 0 delay nms 20 void Forward void 向前行走子程序 P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1300 P1 0 0 delay nms 20 void Pivot right void 左转子程序 P1 1 1 delay nus 1500 P1 1 0 P1 0 1 delay nus 1350 P1 0 0 delay nms 20 void Pivot left void 右转子程序 P1 1 1 delay nus 1650 P1 1 0 P1 0 1 delay nus 1500 P1 0 0 delay nms 20 void Rotate left void P1 1 1 delay nus 1650 P1 1 0 P1 0 1 delay nus 1650 P1 0 0 delay nms 20 void Rotate right void P1 1 1 delay nus 1350 P1 1 0 P1 0 1 delay nus 1350 P1 0 0 delay nms 20 void right zhuan90 void int k j 0 for j 0 j 27 j P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1650 P1 0 0 delay nms 20 for k 0 k 8 k Forward void left zhuan90 void int k j 0 for j 0 j 30 j P1 1 1 delay nus 1400 P1 1 0 P1 0 1 delay nus 1300 P1 0 0 delay nms 20 for k 0 k 10 k Forward void left zhuan135 void int k j 0 for j 0 j 35 j P1 1 1 delay nus 1400 P1 1 0 P1 0 1 delay nus 1300 P1 0 0 delay nms 20 for k 0 k 10 k Forward void right zhuan45 void int j k j 0 k 0 for j 0 j 5 j P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1600 P1 0 0 delay nms 20 for k 0 k 10 k Forward void left zhuan45 void int j k j 0 k 0 for j 0 j 5 j P1 1 1 delay nus 1400 P1 1 0 P1 0 1 delay nus 1300 P1 0 0 delay nms 20 for k 0 k 10 k Forward void rotate 180 void int j k j 0 k 0 for k 0 k 10 k Forward for j 0 j 60 j P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1600 P1 0 0 delay nms 20 void forward 20cm void int j k j 0 k 0 for j 0 j 88 j P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1300 P1 0 0 delay nms 20 void backward 10cm void int j k j 0 k 0 for j 0 j 40 j P1 1 1 delay nus 1300 P1 1 0 P1 0 1 delay nus 1700 P1 0 0 delay nms 20 void backward void int j k j 0 k 0 for j 0 j 20 j P1 1 1 delay nus 1300 P1 1 0 P1 0 1 delay nus 1700 P1 0 0 delay nms 20 void right zhuan135 void int k j 0 for j 0 j 35 j P1 1 1 delay nus 1700 P1 1 0 P1 0 1 delay nus 1600 P1 0 0 delay nms 20 for k 0 k 10 k Forward void Get QTI State void QTIState P2 void Follow Line void Get QTI State switch QTIState case 0 x02 Pivot right break case 0 x04 Pivot right break case 0 x06 Pivot right break case 0 x08 Rotate left break case 0 x0a Pivot right break case 0 x0c Forward break case 0 x0e Pivot right break case 0 x10 Pivot left break case 0 x12 Forward break case 0 x14 Pivot left break case 0 x16 Forward break case 0 x18 Pivot left break case 0 x1a Forward break case 0 x1c Pivot left break default break void main void int i a b a 0 b 0 while 1 Get QTI State if QTIState 0 x1e delay nms 200 if QTIState 0 x1e a if a 1 for i 0 i 23 i Forward if a 2 left zhuan90 Follow Line if a 3 for i 0 i 10 i Forward left zhuan90 Follow Line if a 4 for i 0 i 10 i Forward left zhuan135 Follow Line if a 5 for i 0 i 12 i Forward left zhuan45 Follow Line if a 6 for i 0 i 12 i Forward left zhuan135 Follow Line if a 7 Forward Forward Forward Forward Forward Forward Forward Forward Forward right zhuan135 Follow Line if a 8 for i 0 i 12 i Forward stop else if QTIState 0 x00 delay nms 200 if QTIState 0 x00 b if b 1 forward 20cm backward 10cm rotate 180 backward if b 2 for i 0 i 12 i Forward Follow Line if b 3 rotate 180 Follow Line if b 4 forward 20cm backward 10cm rotate 180 backward if b 5 for i 0 i 10 i Forward Follow Line if b 6 rotate 180 Follow Line if b 7 forward 20cm backward 10cm rotate 180 backward if b 8 for i 0 i 10 i Forward Follow Line Follow Line 西安航空职业技术学院西安航空职业技术学院 毕毕 业业 设设 计 论文 审计 论文 审 查查 意意 见见 书书 指导教师对学生指导教师对学生 所完成的题目为所完成的题目为 的毕业设计 论文 进行情况 完成质量的审查意见 的毕业设计 论文 进行情况 完成质量的审查意见 成绩 成绩 指导教师 指导教师 年年 月月 日日 西安航空职业技术学院西安航空职业技术学院 毕毕 业业 设设 计 论文 评计 论文 评 阅阅 意意 见见 书书 评阅人对学生评阅人对学生 所完成的题目为所完成的题目为 的毕业设计 论文 评阅意见为 的毕业设计 论文 评阅意见为 成绩 成绩 评阅人 评阅人 年年 月月 日日 西安航空职业技术学院西安航空职业技术学院 毕毕 业业 设设 计 论文 答计 论文 答 辩辩 结结 果果 毕业设计 论文 答辩委员会对学生毕业设计 论文 答辩委员会对学生 所完成的题所完成的题 目为目为 的毕业设计 论文 及答辩评语为 的毕业设计 论文 及答辩评语为 经答辩委员会研究 确定成绩为 经答辩委员会研究 确定成绩为 毕业设计 论文 答辩委员会主任 毕业设计 论文 答辩委员会主任 答辩委员会委员 答辩委员会委员 年年 月月 日日 袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈 螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈 芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇 羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆

温馨提示

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

评论

0/150

提交评论