乐高机器人巡线原理.doc

实用文档 标准文案 一 前言 在机器人竞赛中 巡线 特指让机器人沿着场地中一条固定线路 通常是黑线 行进的任务 作为一项搭建和编程的基本功 巡线既可以是独立的常规赛比赛项目 也能成为其他比赛项目的重要 技术支撑 在机器人比赛中具有重要地位 二 光感中心与小车转向中心 以常见的双光感巡线为例 光感的感应中心是两个光感连线的中点 也就是黑线的中间位置 而小车 的转向 是以其车轮连线的中心为圆心进行的 很明显 除非将光感放置于小车转向中心 否则机器 人在巡线转弯的过程中 探测线路与做出反应之间将存在一定差距 而若将光感的探测中心与转向中 心重合 将大幅提升搭建难度并降低车辆灵活性 因此 两个中心的不统一是实际存在的 车辆的转 向带动光感的转动 同时又相互影响 造成机器人在巡线时对黑线的反应过快或者过慢 很多巡线失 误由此产生 实用文档 标准文案 所以在实际操作中 一般通过程序与结构的配合 在程序中加入一定的微调动作来弥补其中的误差 而精准的微调 需要根据比赛场地的实际情况进行反复调试 三 车辆结构 巡线任务的核心是让机器人小车按照场地中画出的路线行进 因此 根据任务需要选择合适搭建方式 是完成巡线任务的第一步 1 前轮驱动 前轮驱动的小车一般由两个动力轮和一个万向轮构成 动力轮位于车头 通过左右轮胎反转或其 中一个轮胎停转来实现转向 前者的转向中心位于两轮胎连线中点 后者转向中心位于停止不动的轮 胎上 由于转向中心距离光感探测中心较近 可以实现快速转向 但由于机器人反应时间的限制 转 向精度有限 2 后轮驱动 实用文档 标准文案 后轮驱动的小车结构和转向中心与前轮驱动小车类似 由于转向中心靠后 相对于前轮驱动的小 车而言 位于车尾的动力轮需要转动较大的幅度 才能使车头的光感转动同样角度 因此 后轮驱动 的小车虽转向速度较慢 但精度高于前轮驱动小车 对于速度要求不高的比赛而言 一般采用后轮驱 动的搭建方式 3 菱形轮胎分布 菱形轮胎分布是指小车的两个动力轮位于小车中部 前后各有一个万向轮作为支撑 这样的结构在一 定程度上可以视为前轮驱动和后轮驱动的结合产物 转向速度和精度都介于两者之间 这种结构的优 势在于转向中心位于车身中部 转弯半径很小 甚至能以自身几何中心为圆心进行原地转向 适合适 用于转90 弯或数格子行进等一些比较特殊的巡线线路 这种结构最初应用于 RCX 机器人足球上 居中的动力源可以让参赛选手为机器人安装更多的固定和防 护装置 以适应比赛中激烈的撞击 具有很好的稳定性 而对于 NXT 机器人而言 由于伺服电机的形 状狭长不规律 将动力轮位于车身中部的做法将大幅提升搭建难度 并使车身重心偏高 降低转弯灵 实用文档 标准文案 活性 4 四轮驱动 四轮驱动的小车四个轮胎都有动力 能较好地满足一些比赛中爬坡任务的需要 小车的转向中心靠近 小车的几何中心 因此能进行原地转弯运动 具有较好的灵活性 特别适用于转90 弯或数格子行进 等任务一些比较特殊的巡线线路 虽然与后轮驱动小车相比 转向中心比较靠前 转向精度较小 但 四轮驱动小车没有万向轮 转弯需要靠四个轮胎同时与地面摩擦 加大转弯的阻力 因而转弯精度应 介于菱形轮胎分布的小车和后轮驱动小车之间 四轮驱动的小车最大优势在于具有普遍适应性 熟练掌握此结构的参赛选手能在参加 FLL 工程挑战 赛 WRO 世界机器人奥林匹克等一些比较复杂的比赛中占据一定优势 四 编程方案 1 单光感巡线 实用文档 标准文案 单光感巡线是巡线任务中最基础的方式 在行进过程中 光感在黑线与白色背景间来回晃动 因此 这种巡线只能用两侧电机交替运动的方式前进 行进路线呈 之 字形 这种巡线方式结构简单易于 掌握 但由于只有一个光感 对无法在完成较为复杂的巡线任务 如遇黑线停车 识别线路交叉口等 且速度较慢 基本思路 光感放置于黑线的左侧 判黑则左轮不动右轮前进 判白则右轮不动左轮前进 如此交替 循环 参考程序如下图 实用文档 标准文案 2 单光感巡线 独立光感数线 在很多比赛中 机器人需要做的不仅仅是沿着黑线行进 还需要完成一些其他任务 如在循迹路 线上增加垂直黑线要求停车 放置障碍物要求躲避等内容 此时 单光感巡线已不能满足要求 下面 以要求定点停车为例 简要介绍单光感巡线 独立光感数线的编程模式 基本思路 在此任务中要求在垂直黑线处停车 则需要跳出单光感巡线的循环程序体系 可以通过设 实用文档 标准文案 置循环程序的条件实现这一功能 由于程序的设定 负责巡线的3号光感在行进时始终位于黑线的左 侧 不会移动到黑线右侧的白色区域 因此在黑线右侧设置一个光感 4号 专门负责监视行进过程 中黑线右侧的区域 当此光感判黑时 即可判断出小车行进到垂直黑线处 于是终止单光感巡线的循 环程序 执行规定的停车任务 然后向前行进一小段距离驶过垂直黑线 继续单光感巡线任务 参考 程序如下图 实用文档 标准文案 上述程序只适用于停车一次的需要 在实际比赛中需以定点停车 蔽障任务为基点 将巡线赛道 实用文档 标准文案 划分为若干个小段依次设定程序 或采用两重循环的程序 重复执行巡线 定点停车任务 3 双光感巡线 双光感巡线是机器人竞赛中最常见的巡线模式 两个光感分别位于黑线两侧 以夹住黑线的方式行进 根据两个光感读取的数值不同 可以将光感的探测结果分为左白右黑 左黑右白 双白和双黑四种情 况 根据这四种探测结果 分别执行右转 左转 直行和停车四种动作的程序命令 由于这种方法能 实用文档 标准文案 让两个电机同时工作 机器人运动的速度较快 同时采取两个光敏监测黑线 精度也有所提高 基本思路 使用两重光感分支程序叠加 为四种探测结果设定与之对应的程序反应 形成循环程序结 构 参考程序如下图 实用文档 标准文案 实用文档 标准文案 4 双光感巡线 独立光感数线 一般而言 一个以巡线为基础的比赛 会在巡线的基础上增加定点停车 识别交叉口 绕开障碍等多 项任务 想要准确识别并完成这些任务 需要在掌握上述双光感巡线技术的基础上 以定点停车 蔽 障任务为基点 将巡线赛道划分为若干个小段 使用传感器 逻辑判断等方式跳出双光感巡线的循环 程序 执行与完成任务相对应的程序 然后重新进行巡线任务 以双光感巡线 独立光感数线的模式为例 在双光感巡线的基础上 在其中一个光感的外侧再放置一 个光感 由于使用双光感巡线 标记行进路线的黑线将始终位于前两个光感之间 因而第三个光感探 测到黑线只会是两种情况 抵达停车地点或巡线路线交叉处 于是以第三个光感探测到黑线作为结 束循环的条件进行编程 参考程序如下 实用文档 标准文案 注 由于光感放置位置的原因 使得第三个光感判黑的时候 前两个光感探头必然同时处于黑线上或 十分接近 完全能以第三个光感判黑代替前两个光感同时判黑的情况 因此在巡线循环部分将双光感 实用文档 标准文案 判黑的一个分支跳过不予编程 五 延展 上述内容为巡线任务的基础知识 仅根据光感的探测做出反应 简单地将光感探测中心与小车转向中 心重合 将小车视为一个仅有重量没有体积的质点 可完成一些线路有弧度的平滑路线 对于较难 的巡线弯道 如直角弯 V 字形弯道等特殊线路 则必须考虑转向中心和探测中心的区别 需要特 殊对待 一般而言 在探测到此类弯道之后 需要先精确控制小车运行时间 将小车的转向中心移动到弯道的 中心 如 V 字形弯道的定点 此时光感全部脱离黑线 再原地转动车身 当负责夹住黑线行进的 光感重新探测到黑线时 则小车已完成转弯任务并回到循迹路线 然后继续执行巡线任务 以上内容仅为本人的一些经验粗略总结 如有不当之处 敬请大家指正 希望能起到抛砖引玉的作用 实用文档 标准文案 实用文档 标准文案

乐高机器人巡线C语言程序,乐高机器人巡线原理.doc相关推荐

  1. 周信东c语言实验二实验报告,周信东主编最新版C语言程序设计基础实验一实验报告.doc...

    周信东主编最新版C语言程序设计基础实验一实验报告.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我 ...

  2. c语言课设宿舍管理程序,C语言程序课程设计宿舍管理软件.doc

    C语言程序课程设计宿舍管理软件.doc 课程设计(论文) 题 目 名 称 宿舍管理软件 课 程 名 称 C语言程序课程设计 学 生 姓 名 学 号 系 .专 业 信息工程系.信息大类 指 导 教 师 ...

  3. 万年历定时关机c语言代码,C语言程序设计能力教程电子万年历设计.doc

    C语言程序设计能力教程电子万年历设计.doc 电子科技大学成都学院课程设计报告电子科技大学成都学院电子工程系课程设计报告课 程 名 称 C语言程序设计能力教程 设 计 题 目 万 年 历 指 导 教师 ...

  4. 职工工资程序c语言doc,C语言程序课程设计---职工工资单系统.doc

    C语言程序课程设计---职工工资单系统.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...

  5. 像聊天机器人一样的c语言程序,示例:聊天机器人

    结合咱们之前的学习,本节将带领大家来编写一个聊天机器人的雏形.下面的代码中展示了一个很傻的聊天程序. package main import ( "bufio" "fmt ...

  6. c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc

    c语言程序课程设计学生成绩管理程序 武汉科技大学 二〇一〇~二〇一一学年第一学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 自动化2009级2班 学 号: 姓 名: 指 ...

  7. c语言程序课程设计问题,矩形问题-C语言程序课程设课程设计(论文).doc

    矩形问题-C语言程序课程设课程设计(论文) PAGE PAGE \* MERGEFORMAT 20课程设计(论文)题 目 名 称 矩形问题 课 程 名 称 C语言程序课程设计 学 生 姓 名 xxx ...

  8. c语言第4章作业,《C语言程序设第4章作业.doc

    <C语言程序设第4章作业 <C语言程序设计>第4章作业 布置日期:2012-3-1?????截止日期:2012-3-15 一. 单选题 (每小题10分,共100分) ?1.C语言的跳 ...

  9. 长度厘米转换c语言程序,标准长度单位换算c程序设计.doc

    标准长度单位换算c程序设计 菏泽学院 Heze University 蒋震机电工程学院 课程设计报告 课程名称 微机原理与接口技术 题 目 标准单位转换器 姓 名 周宇涛 学号 2012174297 ...

  10. c语言程序学生籍贯信息记录,c语言程序学生籍贯信息记录簿设计.doc

    c语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 PAGE PAGE 14 学生籍贯信息记录簿设计 课程设计报告内容 选择题目 题目:学生籍贯信息记录簿设计 内容摘要 摘要: 学生籍贯信息管理系统 ...

最新文章

  1. 【VB】学生信息管理系统1——系统设计怎样开始?
  2. Linq to SQL Like Operator(转)
  3. python列表常用操作_Python列表(list)常用操作方法小结
  4. AMD RX 8000系列将采用3纳米和5纳米工艺
  5. Listview中使用线程实现无限加载更多项目的功能
  6. Web页面适配移动端方案研究
  7. 编写数据访问代码测试–单元测试是浪费
  8. openwrt x86 登录不上_求助,关于OpenWRT外接硬盘不识别的问题
  9. 测试停止线程(Java)
  10. Swing组件集合的事件处理(六)
  11. Atitit  技术经理职责与流程表总结
  12. Github hosts修改
  13. windows 域介绍
  14. [iOS]在xib中设置YYLabel自适应高度
  15. latex参考文献bib基本格式_在Latex中利用.bib进行参考文献管理
  16. 一起来回忆一些经典的台词吧~~
  17. 从零开始学五线谱_从零开始学简谱(快速入门)
  18. C++ 求最大公因数
  19. 快递扫地机器人被损坏_熬夜秒到的扫地机器人丢了 快递公司最多赔几十元
  20. 字节面试杂谈——MySQL、Redis

热门文章

  1. python用turtle画一个苹果
  2. 苹果CoreFoundation源代码
  3. app的性能测试小工具Emmagee使用教程
  4. 小米手机电池恢复代码_小米手机隐藏技巧,你真的会用吗?别再浪费如此强大的功能了...
  5. 数据库服务器日常维护完全情况表格,数据库日常维护.doc
  6. 网易云IM(即时通讯) 互动直播集成
  7. 便携式嵌入式软件接口测试工具
  8. 产业园 电气火灾监控系统的应用
  9. python判断用户名密码是否正确_Python账号密码登陆判断(三次机会)
  10. TextCNN代码解读及实战