第七届-飞思卡尔—辽宁科技大学-辽科大三队技术报告_第1页
第七届-飞思卡尔—辽宁科技大学-辽科大三队技术报告_第2页
第七届-飞思卡尔—辽宁科技大学-辽科大三队技术报告_第3页
第七届-飞思卡尔—辽宁科技大学-辽科大三队技术报告_第4页
第七届-飞思卡尔—辽宁科技大学-辽科大三队技术报告_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第七届 飞思卡尔 杯全国大学生 智能汽车竞赛 技技 术术 报报 告告 学 校 辽宁科技大学 队伍名称 辽科大三队 参赛队员 宋亮 谭福臣 隋正 带队教师 陈志彬 汪玉坤 I 关于技术报告和研究论文使用授权的说明 本人完全了解第七届 飞思卡尔 杯全国大学生智能汽车竞赛关保留 使用技术报告和研究论文的规定 即 参赛作品著作权归参赛者本人 比赛组 委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案 技术报告以及参赛模型车的视频 图像资料 并将相关内容编纂收录在组委会 出版论文集中 参赛队员签名 宋亮 谭福臣 隋 正 带队教师签名 陈志斌 汪玉坤 日 期 2012 年 8 月 11 日 第一章 引言 1 1 1 大赛背景和概况 1 1 2 智能车应用前景 2 第二章 智能车总体方案的设计 3 2 1 系统方案概述 3 2 2 系统总体结构的设计 3 2 2 1 系统硬件结构 3 2 2 2 主要模块 4 2 2 2 系统软件结构 5 第三章 智能车机械结构的设计及调整 7 3 1 智能车的组装 改造与优化 7 3 1 1 车模组装 7 3 1 2 智能车前轮定位的调整 8 3 1 3 智能车转向机构调整优化 11 3 1 4 智能车重心的优化 11 3 1 5 转向舵机的安装 12 3 1 7 摇头舵机的安装 12 3 2 传感器的工作原理 选择与安装 14 3 2 1 传感器的选择 14 3 2 2 光电传感器的工作原理 14 3 2 3 传感器的设计 14 3 2 4 传感器的固定 15 3 2 5 传感器的调试方法 16 3 2 6 测速模块的安装 16 I 第四章 智能车电路设计原理与实现 17 4 1 测速模块 17 4 2 系统模块 17 4 3 坡道检测模块 17 4 4 电源模块 17 3 5 电机驱动模块 18 3 6 路径识别模块 19 第五章 智能车软件设计原理与实现 21 5 1 软件控制的总体思路 21 5 2 系统初始化 21 5 3 模块设计 21 5 3 1 速度采集模块设计 21 5 3 2 路况采集模块设计 21 5 4 1 摇头舵机控制程序设计 23 5 4 2 转向舵机控制程序设计 24 5 4 3 速度控制程序设计 24 5 4 4 起跑线控制程序设计 25 第六章 智能车调试 26 6 1 软件调试 26 6 1 1 软件调试平台 CodeWarrior 26 6 1 2 CodeWarrior IDE 基本使用方法 27 6 2 硬件调试 29 第七章 总结 30 7 2 模型车的主要技术参数 31 参考文献 32 II 附录 33 0 第一章第一章 引言引言 1 1 大赛背景和概况大赛背景和概况 教育部为了加强大学生实践 创新能力和团队精神的培养 在己举办全国数学建模 电子设计 机械设计 结构设计等 4 大专业竞赛的基础上 经研究决定 委托高等学校自 动化专业教学指导分委会主办自 2006 年每年一度的全国大学生智能汽车竞赛 高等学校自 动专业教学指导分委会决定飞思卡尔半导体公司为协办单位 赛事冠名为 飞思卡尔 杯 竞赛要求参赛者在提供的模型车体及主微控制器芯片基础上设计制作具有自主道路识别能 力并满足比赛规则的智能汽车 在赛道上以最快速度完成赛程者为优胜 作为全球最大的汽车电子半导体供应商 飞思卡尔一直致力于为汽车电子系统提供全 范围应用的单片机 模拟器件和传感器等器件产品和解决方案 飞思卡尔是排名第一的汽 车电子半导体供应商 其中在 8 位 16 位及 32 位汽车微控制器的市场占有率居于全球第 一 超过 40 的新车都使用了飞思卡尔的技术 智能车比赛源自韩国 并且已成功举办了六届 其比赛的技术水平和成绩已达到了相 当的高度 已引起现代 宝马等跨国企业的注意 在韩国成功举办多次的基础上 在我国 开始尝试举办该赛事 全国大学生智能汽车竞赛暨第一届 飞思卡尔 杯全国大学生智能 汽车邀请赛已于 2006 年 8 月 20 21 日在清华大学圆满结束 来自全国 57 所高校的 112 支 队伍参加了比赛 引起了各方的广泛关注 并且已经具备了较高的技术水平 清华大学 2 队 上海交大速度之星队及清华大 学 1 队分列成绩前三名 与以往的专业竞赛不同 智能车大赛是以迅猛发展的汽车电子为背景 涵盖了控制 模式识别 传感技术 电子 电气 计算机 机械等多个学科交叉的科技创新比赛 已经 成为各高校展示科研成果和学生实践能力的重要途径 同时也为社会选拔优秀的创新人才 提供了重要平台 第七届 飞思卡尔 杯全国大学生智能汽车竞赛于 2012 年 7 月举行分区比赛 8 月中 旬举行全国总决赛 竞赛内容包括 以飞思卡尔 HCS12 单片机为核心控制模块 以 CCD 光电或电磁检测元件检测赛道引导线 引导改装后的模型汽车以最快的速度按照大 赛组委会所设定的赛道行进 以赛车在最短时间跑完全程的队为优胜队 该竞赛是涵盖了 控制 模式识别 传感技术 电子 电气 计算机 机械等多个学科的科技创意性比赛 极具挑战性与竞争性 该比赛已经列入教育部主办的全国大学生五大竞赛之一 1 2 智能车应用前景智能车应用前景 智能小车采用飞思卡尔公司的 MC9S12G128 作为主控芯片 配合有传感器 电机 舵 1 机 电池以及相应的驱动电路 再加上信息处理和控制算法 它能够自主识别路径 控制 模型车高速稳定运行在跑道上 智能车要实现在城市繁忙道路上完全无人驾驶 尚有很多研究工作要做 但是通过这 辆车来研究一些关键技术 并且把它们应用到实际工程中去 还是可行的 譬如 在 汽车定位 导航中的应用 又如多种传感器信息处理 如果将二维图像与激光雷达的信息 融合起来 可以得到更确切的道路或环境的信息 传感器技术和自动驾驶技术可以实现汽 车的自适应巡航 辅助人们把车开得又快又稳 安全可靠 汽车夜间行驶时 如果装上红 外摄像头 就能实现夜晚的汽车安全辅助驾驶 在仓库 码头 工厂 机关 营房 住宅 区或者危险 有毒 有害的工作环境里 自动驾驶或遥控驾驶技术有着广泛的应用前景 如无人值守的巡逻监视 设备的维护修理 物料的运输 消防灭火等等 2 第二章第二章 智能车总体方案的设计智能车总体方案的设计 2 1 系统方案概述系统方案概述 系统采用飞思卡尔 16 位单片机 MC9S12G128 为核心控制单元 由车身上方的光电传 感器和固定在车身前方的红外传感器分别进行路径信号的采集和起跑线特征的识别 车身 后部的编码器进行速度的采集 并将采集到的模拟电压 TTL 电平以及脉冲送至 MCU 经 MCU 处理后 分别控制转向舵机 直流电机 完成智能车的调速 转向及制动等控制 使小车始终沿着赛道快速而又稳定地行驶并有效驻车 2 2 系统总体结构的设计系统总体结构的设计 2 2 1 系统硬件结构系统硬件结构 智能车系统是以微控制器作为控制核心的 而这个核心必须把系统中路径的准确识别 直流电机的平缓控制以及各种舵机的及时控制等部分有机地结合在一起 从而使系统达到 较好的效果 所以 从硬件结构上看 我们可以把智能车系统分为所示的几个模块 电源 模块 电机驱动模块 测速模块 系统模块 路径识别模块 转向舵机模块 摇头舵机模 块等 如图 第二章 智能车总体方案的设计 3 主控模块 道路检测模 块 速度检测模块 舵机控制模 块 电机驱动模块 电源模块 调试模块 图 2 1 系统总体结构图 2 2 2 主要模块主要模块 1 主控模块 通过 MC9S12XSG128 处理器 对所有子系统采集的信息进行处理 该 模块是整个系统的核心部件 结合该处理器 最终我们自行设计了最小系统板 2 道路检测模块 在赛道信息采集方面 主要由光电传感器 ULN2003 的放大电路 组成 3 速度检测模块 速度传感器模块由小型光电编码器和 ECT 脉冲捕捉功能构成 提 供闭环速度控制 4 电机驱动模块 采用集成芯片 BTS7960 驱动电流可达 43A 足以满足驱动智能 车的要求 5 舵机控制模块 主要控制智能车的转角 6 电源模块 主要用到的有 5V 7 2V 5V 芯片选择的是 LM2940 7 2V 直接对电 机进行供电 传感器和单片机采用分别供电的方式供电 7 调试模块 调试模块主要用到 BDM 第七届全国大学生智能汽车邀请赛技术报告 4 2 2 2 系统软件结构系统软件结构 在系统硬件结构的基础上 通过系统软件算法小车即可运行 系统的基本软件流程为 首先 对各功能模块和控制参数进行初始化 然后 通过光电检测模块获取前方赛道的数 据 然后从采集的数据中提取赛道中心线 求得赛车与中心线位置的偏差 接着采用 PID 对舵机进行反馈控制 同时通过速度传感器模块获取当前赛车的速度 根据检测到的速度 结合速度控制策略 对赛车速度不断进行适当调整 使赛车在符合比赛规则的前提下 沿 赛道中心线快速行驶 系统的基本软件结构如图所示 第二章 智能车总体方案的设计 5 图2 2 基本软件结构 6 第三章第三章 智能车机械结构的设计及调整智能车机械结构的设计及调整 在智能车比赛中 最主要的比赛内容是速度 而模型车的机械结构无疑是影响速度的 关键因素之一 鉴于这个原因 我们对模型车的机械结构做了很多的工作 进行了大量的 调整 达到了比较满意的效果 3 1 智能车的组装 改造与优化智能车的组装 改造与优化 智能车的机械部分是影响其行驶性能最直接的部分 其重要性不言而喻 一个不良的 机械系统会增加小车控制的难度 会为小车的速度提升带来障碍 因此 小车的机械性能 应该是优先考虑的问题 此届比赛中光电组选用的车模为 B 型车模 智能车机械结构只使 用竞赛提供车模的底盘部分及转向和驱动部分 控制采用前轮转向 后轮驱动方案 智能 车的大致外形如下图所示 图3 1 智能车整体外观图 3 1 1 车模组装车模组装 模型车的组装工作看似简单 却需要很多的耐心和经验 首先 仔细阅读说明书 通 过阅读模型车的装配图 可以了解各个不同零件的用途和安装顺序 然后 根据模型车的 第三章 智能车机械结构的设计及调整 7 装配图组装智能车模型 在组装过程中 不但要注意模型车的组装顺序 而且由于模型车 零部件较小 组装过程中要防止零部件滑落和丢失 特别是 由于模型车上的大部分零部 件材质均为塑料 在拧螺丝以及对零件进行加工时要格外的小心 以免损坏 3 1 2 智能车前轮定位的调整 智能车前轮定位的调整 1 主销后倾 主销后倾角如图 3 2 所示 是指在纵向平面内主销轴线与地面垂直线之间的夹角 它 在车辆转弯时会产生与车轮偏转方向相反的回正力矩 使车轮自动恢复到原来的中间位置 上 所以 主销后倾角越大 车速越高 前轮自动回正的能力就越强 但是过大的回正力 矩会使车辆转向沉重 通常主销后倾角值设定在 1 到 3 模型车通过增减黄色垫片的数量来改变主销后倾角的 由于竞赛所用的转向舵机力矩 不大 过大的主销后倾角会使转向变得沉重 转弯反应迟滞 所以设置为 0 以便增加其 转向的灵活性 图3 2 2 主销内倾 主销内倾如图3 3所示 定义为在同时垂直于车辆纵向对称平面和车辆支承平面的平面 内 由真实的或假想的转向主销的轴线在该平面上的投影与车辆支承平面的垂线所构成的 第七届全国大学生智能汽车邀请赛技术报告 8 锐角 主销内倾角的作用 是使车轮在受外力偏离直线行驶时 前轮会在重力作用下自动 回正 另外 主销内倾角还可减少前轮传至转向机构上的冲击 并使转向轻便 但内倾角 不宜过大 否则在转向时 会使轮胎磨损加快 主销内倾角越大前轮自动回正的作用就越 强烈 但转向时也越费力 轮胎磨损增大 反之 角度越小前轮自动回正的作用就越弱 图3 3 3 车轮外倾 车轮外倾 如图 3 4 所示 在过车轮轴线且垂直于车辆支承平面的平面内 车轮轴线 与水平线之间所夹锐角 如图 A 所示 即由车前方看轮胎中心线与垂直线所成的角度 向 外为正 向内为负 其角度的不同能改变轮胎与地面的接触点 直接影响轮胎的磨损状况 并改变了车重在车轴上的受力分布 避免轴承产生异常磨损 此外 外倾角的存在可用来 抵消车身载重后 悬架系统机件变形所产生的角度变化 外倾角的存在也会影响车的行进 方向 因此左右轮的外倾角必须相等 在受力互相平衡的情况下不致影响车辆的直线行驶 再与车轮前束配合 使车轮直线行驶并避免轮胎磨损不均 第三章 智能车机械结构的设计及调整 9 图3 4 4 前轮前束 车轮前束如图 3 5 所示 同一轴两端车轮轮辋内侧轮廓线的水平直径的端点为等腰梯 形的顶点 等腰梯形前后底边长度之差为前束 当梯形前底边小于后底边时 前束为正 反之则为负 车轮的水平直径与车辆纵向对称平面之间的夹角为前束角 由于车轮外倾及 路面阻力使前轮有向两侧张开做滚锥运动的趋势但受车轴约束 不能向外滚动 导致车轮 边滚边滑 增加了磨损 通过调整前束可以使车轮在每个瞬间的滚动方向都接近于正前方 减轻了车轮外轴所承受的压力和轮胎的磨损 第七届全国大学生智能汽车邀请赛技术报告 10 图 3 5 3 1 3 智能车转向机构调整优化智能车转向机构调整优化 理想的转向模型 是指在轮胎不打滑时 忽略左右两侧轮胎由于受力不均产生的变形 忽略轮胎受重力影响下的变形时车辆的的转向建模 在这种理想的模型下 车体的转向半 径可以计算得到 假设智能车系统为理想的转向模型 且其重心位于其几何中心 车轮满足转向原理 左右轮的轴线与后轮轴线这三条直线必然交于一点 则转弯时 左右两个车轮的转角是不 一样的 要在实际中仔细调试来获得最好的效果 最大的摩擦力 3 1 4 智能车重心的优化智能车重心的优化 底盘的高度对车的重心影响很大 一般来说 底盘的高度越低 车的转向性能越好 行驶稳定性越佳 由于我们采取光电传感器采集路面信息的策略 传感器的安装 必然导 致整车的重心偏高 在高速过弯时则向心力比较大 同时由于惯性则车很容易向一侧翻倒 为了避免这类事情的发生 不仅需要减轻传感器支架的重量 也要尽量降低小车底盘的高 度 我们把车底盘放低 从而降低整车的重心 防止车翻倒 虽此次比赛中有坡度在 15 度 之内的坡道 但坡道是圆弧形的拱坡 车在上下坡过程中不会出现碰触赛道的情况 故我 们对车的前后部的底盘高度都做了调整 以下是车前后部分底盘高度调整方法 1 底盘前半部分离地间隙调整 我们在前轮处装入不同的调节块调节前轮的高度 从 而使小车前部离地间隙达到最低 第三章 智能车机械结构的设计及调整 11 2 降低电池的重心 电池的重量是很大的 降低电池重心可以大大降低整车的重心 3 1 5 转向舵机的安装转向舵机的安装 舵机转向是整个控制系统中延迟较大的一个环节 舵机的响应速度不仅与舵机的安装 方式有关 也与舵机输出臂的长度有极大的关系 输出臂越长越有利提高响应速度 但舵 机在输出力矩相同的条件下 力臂越长 作用力越小 所以当转轮遇到较大转向阻力时 会影响舵机对转向轮控制的精度 甚至反而使转向轮的反应速度变慢 因此找到一个较好 的舵机安装方式及其最优的输出臂长对提高舵机的反应速度十分重要 根据以往的经验 加长舵机臂对提高舵机的响应确实有一定的效果 但是车身转动的惯性限制了车的转向 而舵机臂加长会降低舵机定位的精度 提高重心 造成舵机损坏等 所以今年我们放弃了 加长舵机臂 将舵机从车的中心移到车头 直接安装在车的底盘上 这样既可以降低车的 重心 又可以降低车的转动惯量 安装示意图如下 图3 5 舵机安装示意图 3 1 7 摇头舵机的安装摇头舵机的安装 由于激光发射只有两条线 而且线的长度有限 为了更好得识别路线 我们采用 了激光随动摇头的方法来固定激光传感器 这样就可以采集到一个平面内的路线 最大程 度得提高采集的精度 同时为了降低重心 传感器应该尽量低 但是太低了会导致前瞻无 第七届全国大学生智能汽车邀请赛技术报告 12 法达到理想的距离 前瞻即激光点到车辆前轮的距离 一般要达到 35 45cm 经过长期调 试 在保证前瞻且接收稳定的前提下 传感器高度应降低到 15cm 左右比较好 摇头舵机 安装如图 图3 6 摇头舵机具体安装 图 3 7 摇头舵机位于整车的位置图 第三章 智能车机械结构的设计及调整 13 3 2 传感器的工作原理 选择与安装传感器的工作原理 选择与安装 3 2 1 传感器的选择传感器的选择 光电车的传感器主要有两种 也是大部分学校选用的 一种是红外传感器 另一种是 激光传感器 在确定智能车总体方案时 我们选择激光传感器来检测赛道 红外传感器来检测起跑 线 在使用激光传感器时 为了获得更大前瞻距离 为控制系统后续处理赢得更多的时间 在从众多光电传感器中选择了大前瞻的激光传感器 前瞻距离可以达到普通光电传感器的 数倍甚至十几倍 完全满足竞赛的要求 而且激光传感器相隔 1ms 相继发光 互不干扰 在选择红外对管时 为了提高灵敏度 我们选择了 ST188 型 该型号对管发射功率高 灵敏独高 检测范围是 4 13cm 可以满足使用的需求 3 2 2 光电传感器的工作原理光电传感器的工作原理 光电传感器检测路面信息的原理是由发射管发射一定波长的红外线 经地面反射到接 收管 由于在黑色和白色上反射系数不同 在黑色上大部分光线被吸收 而白色上可以反 射回大部分光线 所以接收到的反射光强是不一样 进而导致接收管的特性曲线发生变化 程度不同 而从外部观测可以近似认为接收管两端输出电阻不同 进而经分压后的电压就 不一样 就可以将黑白路面区分开来 图3 6 光电传感器原理 3 2 3 传感器的设计传感器的设计 激光传感器与普通的光电传感器原理都是一样 但是其前瞻能力远大于普通的光电传 感器 可以达到 40 50 厘米 对于智能车来说已经足够 在竞赛中 规则规定传感器最多 第七届全国大学生智能汽车邀请赛技术报告 14 不能超过 16 个 但激光管不属于传感器 我选用了 14 个激光管和 6 个激光接收器 分别 固定在两块相同的 PCB 电路板中 两块 PCB 呈 V 字排布 固定于摇头舵机上 激光传 感器由两部份构成 一部份为发射部份 一部分为接收部份 发射部份是用 ULN2003 进 行驱动 然后使用 74HC238 进行激光器的选择 使激光管相继发光 接收部份由接收管接 收返回的光强 经过电容滤波后直接接入 G128 单片机的 PA 口 检测返回电压的高低 由于激光传感器使用了调制处理 接收管只能接受相同频率的反射光 因而可以有效防止 可见光对反射激光的影响 红外传感器的设计中 我们选择使用 8 个红外对管分别固定于车前端的两侧 我们使 用 LM324 对红外对管的反馈信号进行放大后输出至 PS 口 在调节灵敏度时 使用 10K 的 电位器使灵敏度调制到最佳 3 2 4 传感器的固定传感器的固定 传感器的固定是关键 其安装位置 高度以及负仰角 直接影响图像的采集和整车的 重心 但是我们小车有摇头的原因 车的整体重心肯定在车的中心靠前位置 为了让车转 向更灵活 我们必修减轻车的重量 以此增加车的速度 为减轻重量 我们去掉一些没有 必要的金属或者换成塑料 传感器位置越高 则前瞻性越好 看到的赛道信息越丰富 有 利于赛车的预判和加减速 但对支架的刚性要求越高 在高速转弯时 整车的重心偏高 很容易发生翻车等极恶劣的情况 因此我们将传感器高度定为 20cm 既保证了前瞻 又保 证了稳定度相等 安装示意图如下图所示 传感器的固定 第三章 智能车机械结构的设计及调整 15 3 2 5 传感器的调试方法传感器的调试方法 1 观察光斑 先将其调整到一条水平直线 2 用电脑连接 在线调试 3 写入程序使传感器分组发光 4 单个安装镜头并调试位置 5 检查同组传感器是否相互干扰 3 2 6 测速模块的安装测速模块的安装 智能车的测速模块选择的是编码器 旋转编码器旋转一周会产生 200 个脉冲 这已经 充分满足的小车的检测精度 从而提高了小车高速时速度控制的稳定性 大大减小了检测 误差 编码器安装主要考虑的问题是与齿轮的咬合 太紧会使电机转动吃力并且会发出很 大的噪声 太松有时候会丢齿 因此最好使得安装的编码器松紧程度能够调整最好 安装 方式如下图所 编码器的安装方式 16 第四章第四章 智能车电路设计原理与实现智能车电路设计原理与实现 4 1 测速模块测速模块 我们采用的测速模块是集成的编码器 用于测量系统的行驶速度 其使用简单方便 稳定性强 识别精度很高 可达到每转 200 个脉冲 4 2 系统模块系统模块 核心电路板我们采用飞思卡尔提供的 MC9S12G128 作为主控制器 用来实现对小车的 控制 4 3 坡道检测模块坡道检测模块 采用红外对管安装一定的角度来检测坡道 坡道和水平的赛道有一个夹角 当小车刚 要驶入坡道时 红外的照射距离变近 当照射在黑线以外的赛道上时 AD 采集回来的值 会明显比水平赛道上大 经过程序处理后 便能识别出坡道 电路图如下 4 4 电源模块电源模块 系统电源模块的好坏是智能车系统稳定运行的基础 好的电源模块可以大大减小系统 出现疑难故障的几率 根据系统中各部分的供电需求 可以把电源系统分为以下几个部分 舵机标称电压 6V 但实际中实验发现直接使用 5V 电压 固使用电池直接供电 电机驱动电 路直接使用电池电压 微控制器 传感器及其他外围电路采用 5V 电压 由于激光传感器 是比较耗电的模块 为了减少激光传感器对其他电路的干扰 我们用了两片 LM2940 来提 供两路 5V 电压 一路给激光传感器 另一路给微控制器和其他外围电路 电路图如下 第四章 智能车电路设计原理与实现 17 3 5 电机驱动模块电机驱动模块 电机驱动方面 采用了目前主流的全控型的开关功率元件 BTS7960 进行脉宽调制控制 它以 H 桥为基本原理 它大大简化了电路设计 且具有稳定 可靠 编程简单等优点 H 桥式电机驱动电路包括 4 个场效应管 通过两路 PWM 的差从而实现电机的正反转 电路 图如下 第七届全国大学生智能汽车邀请赛技术报告 18 3 6 路径识别模块路径识别模块 我们采用激光传感器作为识别单元 激光传感器由两部份构成 一部份为发射部份 一部分为接收部份 发射部份是用 ULN2003 进行驱动 然后使用 74HC238 进行激光器的选择 使激光管相继发光 接收部 份由接收管接收返回的光强 经过电容滤波后直接接入 H128 单片机的 PA 口 检测返回 电压的高低 由于激光传感器使用了调制处理 接收管只能接受相同频率的反射光 因而 可以有效防止可见光对反射激光的影响 电路图如下 第四章 智能车电路设计原理与实现 19 第七届全国大学生智能汽车邀请赛技术报告 20 第五章第五章 智能车软件设计原理与实现智能车软件设计原理与实现 5 1 软件控制的总体思路软件控制的总体思路 软件的控制思想就是 让智能车符合大赛规则前提下 以最快的速度跑完赛道 赛道 包括直线 弯道 坡道 停止 十字线等元素 通过软件控制好智能车的转向和速度使智 能车达到最快速完成比赛 软件流程是 通过采集到的路况 计算出黑线的位置 然后设置舵机转角和电机的速 度 5 2 系统初始化系统初始化 1 时钟超频 系统初始频率是 8M 无法满足实际需要 所以我们选用比较稳定的 64M 而且能满足实际的需要 2 PWM的初始化 我们的智能车系统要用到三路PWM 分别是摇头舵机 转向舵机 电机 转向舵机我们是用组委会提供的舵机 由于电机和舵机是比较灵敏的器件 所以我 们采用级联来提高舵机的控制精度 对于周期的选择 经试验发现 摇头周期在3ms到4ms 之间比较适合 转向舵机周期设置为20ms 电机对精度的要求不是很高 所以我们采用单 路的PWM来控制 最终确定PWM的分配方案如下 电机 PWM 通道 2 3 级联 周期 1ms 转向舵机 PWM 通道 0 1 级联 周期 10ms 摇头舵机 PWM 通道 4 5 级联 周期 4ms 5 3 模块设计模块设计 5 3 1 速度采集模块设计速度采集模块设计 速度采集我们采用定时中断的方案 周期 5ms 即每 5ms 读取一次脉冲寄存器的值 脉冲寄存器存储的是编码器输入的值 脉冲越多 说明速度越快 5 3 2 路况采集模块设计路况采集模块设计 路况采集我们也是用定时中断的方案 由于采集速度的快慢直接关系到车辆对路况反 第五章 智能车软件设计原理与实现 21 应的速度 但过快的采集速度会影响采集的精确度 因此我们经过计算 如果车以 3 米每 秒的速度前进的话 采集的速度为 1ms 一次左右是比较合适的 最终我们确定路况采集周 期为 3ms 即如果车以 3 米每秒的速度前进 采集速度为 9mm 一次 激光开启个数的选择 我们综合考虑了多方面的因素 我们使用 14 个激光管可以准确 的检测两边的赛道 对于激光发射 我们是采用分时发射 即同一时刻只有一个激光发射 然后过一段时 间后全部接收管接收 根据发射的序号确定接收到的灯的位置和状态 为了有效排除干扰 我们对十组数据进行处理 得到黑线的位置 具体来说 我们设置采集中断的时间为 1ms 流程是这样的 第一个激光发射 经过 0 1ms 中断 接收管接收存储 第二个激光 发射 0 1ms 中断 接收管接收存储 经过七个中断 七个激光都发射过一次 也就是 说完整采集了一次 用时 0 7ms 完整接收完十次 用时 7ms 然后对接收到的十次数据 进行处理得到黑线的位置 再把位置偏差传递到控制程序 路况信息有 直道 十字线 起跑线 坡道 模拟图片 单边 如下 激光于直道 第七届全国大学生智能汽车邀请赛技术报告 22 激光于弯道 5 4 1 摇头舵机控制程序设计摇头舵机控制程序设计 在车模整个行驶过程中 摇头舵机都在不停的摆头 使得两排激光无法照在黑线两边 由于摇头舵机要求快速精确 摇头舵机的控制我们是采用增量 PI 算法控制 corner y corner y P y abs position position pos old old I y abs position pn position 这里的 corner y 是要输出的转角值 abs 是取绝对值函数 pn 是取正负号的函数 position 是路况采集输出的偏差 即黑线的位置 15 15 pos old old 是上一次的上 一次的偏差 P y 和 I y 是数组 这两个数组是调试的重点 直接关系到激光传感器摇头 的灵敏度 要是不够灵敏 很容易丢线 就会导致小车失控 经过长期调试 我们总结了 一个有效方法 即先确定一个 P 值 然后调试 I y 数组 I y 从小到大调 出现抖动后取 前一个值 再继续调后一个 第五章 智能车软件设计原理与实现 23 5 4 2 转向舵机控制程序设计转向舵机控制程序设计 转向舵机控制总体思路是 根据摇头的转角 再结合前瞻 就可以确定转向的角度 这个转角理论上是可以计算出来的 但是还是应该以实际调试为准 if corner y center y 0 corner center P1 position y else corner center P2 position y 这个公式的 corner y center y 即摇头舵机的转角 中心值是 0 因为机械上无法做到 使左右两边的转角完全一样 所以我们把转向控制分成左右两边独立控制 P1 和 P2 里 面是相对于摇头转角 position y 对应的转向转角 所以调试的转角主要就是调试 P1 和 P2 这里还有一个要注意的地方 当摇头转角比 较小的时候 即弯度比较小的时候 转向舵机的控制 如果小弯不转角 则小 S 弯就能近 似直线冲过去 在连续弯道也可以比较内切 这能大大优化跑车路线 这种方法适用于弯 道较多的场合 但是这带来一个缺点 直线跑不直 入弯打角慢 所以需要准确判断弯道 类型才可以 转向舵机的具体打的角度的调试我们是用各种不同弧度的圆环来调试 即如果每个弧度 的圆环都能跑顺了 那这个转角就是正确的转角 5 4 3 速度控制程序设计速度控制程序设计 对速度的控制 通常我们认为应该是直线加速 弯道减速 但实际的调试发现不是这 样的 首先 直线速度太快会造成过急弯的时候来不及减速和打角 所以必定要减小弯道的 速度以配合减速 这样大大降低了弯道的速度 如果是弯道多的赛道 将是很不利的 而 且直线太快还会导致过弯的时候翻车 这是很危险的 其次 经过跑圆环我们发现 在弯道的时候 即使你把速度加到最大 智能车也无法 达到很快的速度 而是随着弯道弯度的不同 智能车都有一个最大速度 而这个速度是智 能车能承受的过弯速度 所以我们大胆尝试弯道速度加到最大 实践发现只要智能车的硬 件条件够好 抓地力够好 跑的够稳定 这样弯道的速度能很快 又很稳定 当然实际设 置弯道速度的时候是不能设置为最大的 一般是要比直线低一点 也许大家都很疑问 这样的话不就全程速度差不多了 而且都没减速 过弯应该 第七届全国大学生智能汽车邀请赛技术报告 24 比较困难 这个疑问一点都不奇怪 但是事实是 我们全程速度是几乎差不多的 过弯也 没问题 当然这依靠我们的优越的减速策略 具体的思路是这样的 只有长直道入弯和很 大的弯时才减速一段距离 注意是一段距离 这样才能减到需要的速度 其他情况都保持 最高速 这样就需要准确判断直道和弯道了 而且要不断调试得出最大直线速度是多少 多长的直道可以加到最大速 多大的弯度才需要减速 减速要减多长距离才能顺利过弯等 参数 这里的路线判断和减速的距离确定都是靠计算编码器的脉冲结合摇头转角来综合判 断的 即摇头转角在一定小范围内且一直保持到小车走过一定距离 比如 3 米 这样的情 况就是进入直道了 减速的距离是这样计算的 刚减速的时候记下脉冲的值 当脉冲达到 一定数量 我们是 39 个脉冲是 10cm 就停止减速 还有些辅助控制速度的策略 如目测下开始跑多长距离内都是直线或都可以用高 速通过 设定智能车在这段距离内用最高速跑 如果赛道开始阶段都是直线或大圆环的话 这种策略将会大大提高智能车的成绩 具体速度的设定 我们采用了闭环增量 PID 调节 v error P s1 s2 I s1 D s1 2 s2 s3 PWM4input PWMDTY0 v error 在减速的时候我们采用了电机反转 让减速更加迅速 if s1所有程序 Freescale CodeWarrior CW for HC12 V4 6 CodeWarrior IDE 选择 File New 此后选择 MC9S12DJ256 按照提示选取期望的选项 直至建立工程文件 如下 2 打开 Start12 c 文件 找到代码 ifdef HCS12 SERIALMON define INITRM volatile unsigned char 0 x0010 define INITRG volatile unsigned char 0 x0011 define INITEE volatile unsigned char 0 x0012 endif 修改成 ifdef HCS12 SERIALMON define INITRM volatile unsigned char 0 x0010 define INITRG volatile unsigned char 0 x0011 define INITEE volatile unsigned char 0 x0012 第七届全国大学生智能汽车邀请赛技术报告 28 之所以要进行这个步骤是因为 初始化代码是认为程序中有监控程序的 但是因为我 们是使用的 BDM 调试工具 所以就不需要监控程序了 如果不注释掉这两条语句 一旦 将程序烧写到片内的 flash 会发现程序跑不起来 因为初始化过程在等待监控程序的响应 如果没有监控程序 那么程序就会进入死循环的状态 3 添加代码 将自己的代码加入到工程文件中 4 如果文件编译通过 通过 BDM 下载 启动 CodeWarrio 4 6 自带的 Hiwave exe 程序 该程序一般位于 CodeWarrio 4 6 的安装目录 Freescale CodeWarrior CW for HCS12X V4 6 prog 中 是用来往单片机下载程序和调试单片机的程序 启动后程序界面 如图 6 1 所示 之后运行路径 C Program Files Freescale CodeWarrior CW for HCS12X V4 6 prog 下的 hiwave exe 文件选择 TBDML HCS12 在下拉菜单中选择 set speed 输入晶振频率 16 00 然后这个下拉菜单中会出现 Flash 选项 点击这个选项 出现如下的对话框 图6 3 程序擦除烧写界面 第六章 智能车调试 29 在下载自己的程序前应该将板子中已经存在的程序擦除 选择有程序的部分 点击 Erase 擦除完成后 点击 Load 选择自己所建立工程的文件夹中 bin 文件夹下后缀为 abs 的文件 点击打开 下载完成 至此已经基本完成了从程序代码编写和设置过程 到下载烧制进 S12 芯片的主要过程 其中也包括程序开发和调试的基本步骤 6 2 硬件调试硬件调试 为方便激光管和红外对管的 调试 我们在智能车上加入 NOKIA5110 液晶显示屏 将 激光管与红外对管的接受信号进行 AD 后 以二进制数显示在显示屏上 方便硬件模块的 调试如图 图6 4 显示屏安装图 30 第七章第七章 总结总结 本文主要介绍了基于 Freescale 的 S12 单片机控制下的智能车设计流程 激光传感器寻 线方案各个主要模块的工作原理和设计思路 回顾整个过程 我们在摄像头的选择和测试 上花费了很长时间 不过我们坚信有了一个好的视角行走才会更加自如 各模块的电路我 们都经过了反复的测试以确定其能够稳定可靠 稳定性对于参赛的小车是至关重要的 另 外对于硬件电路的极好的维护性以及可更换性也是一个很值得着重考虑的方面 在赛车遇 到突发情况下尤其体现其优越性 智能车机械部分也是一个很关键的问题 特别是在过弯的情况下机械性能的优劣体现 小车的过弯性能尤为突出 车体的抖动和过弯速度比预计慢很大一部分是机械部分的问题 摄像头组的还应注意车模整体的重心 重心过高对于过弯可能会造成一些不利因素 在这次比赛中 队员们的能力有了显著的提高 老师给予我们的指导和帮助让我们走 的更稳 更远 同时在付出辛勤汗水的背后是收获成功的笑脸 第七章 结论 31 7 2 模型车的主要技术参数模型车的主要技术参数 长340mm 宽304mm赛车基本参数 高108mm 车重1 5kg 功耗负载大于 15W 电容总容量680uF 传感器激光和红外线共 14 个 除了车模原有的驱动电机 舵机之外伺服电机个数 舵机2 个 视野范围 近 远 35 45cm 赛道信息检测 频率180Hz 32 参考文献参考文献 1 邵贝贝 单片机嵌入式应用的在线开发方法 M 北京 清华大学出版社 2004 2 卓晴 黄开胜 邵贝贝等 学做智能车 挑战 飞思卡尔 杯 M 北京 北京航空航天出 版 社 2007 3 3 晓亮 尹志 阳郸 安徽科技学院 光电一队技术报告 4 郑剑 林波 黄开霖 福建工程学院 光电一队队技术报告 5 叱龙 王文涛 胡楠 陕西理工学院 陕理工一队技术报告 6 沈长生 常用电子元器件使用一读通 M 北京 人民邮电出版社 2004 附录附录 附录附录 A 源程序 源程序 include infrard h include initial h char quanzhong 8 6 6 6 8 8 6 6 6 float HW MAX 8 812 590 677 702 590 710 762 767 float HW MIN 8 66 71 72 70 69 67 68 69 float HW X 8 0 0 0 0 0 0 0 0 float position p position d uint16 HW Result 8 uint16 ad 8 void HW Check 检查各传感器状态值 uint8 i j for j 0 j 8 j ad j 0 HW Result j 0 for j 0 j 4 j ad 0 Get ADrecult 0 I ad 1 Get ADrecult 1 ad 2 Get ADrecult 2 ad 3 Get ADrecult 3 ad 4 Get ADrecult 4 ad 5 Get ADrecult 5 ad 6 Get ADrecult 6 ad 7 Get ADrecult 7 for i 0 i 8 i HW Result i ad i 4 Display HW Result 7 void HW Initi uint8 i for i 0 i 8 i HW X i HW MAX i HW MIN i void GET Position II uint8 i position p 0 for i 0 i20 position p 20 if position p 20 posit

温馨提示

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

评论

0/150

提交评论