pid巡线算法程序_技术分享——从单个到多个颜色传感器巡线原理解析

2023-11-10

巡线竞速是常见的机器人比赛项目,它对速度和精准度要求都比较高。该项目大多要求现场进行结构搭建,并且赛前只提供培训参考地图,比赛使用的地图和巡线任务一般是现场才进行公布,对于参赛选手的能力要求较高。

巡线任务的基础要求是车体(符合规格)的正投影始终覆盖着黑线,从起点通过巡线的方式沿着轨迹运动到终点,轨迹一般为8-20mm粗细的黑线,15mm粗的黑线轨迹居多,底色多为白色,地图材质为喷绘居多。

1

一、参考值的功能及计算方法

巡线使用的传感器为颜色传感器,它能检测三种不同类型的数值:颜色(0-7)、反射光强度(0-100)、环境光强度。巡线使用的参数基本为反射光强度或者称为灰度值。

(一)何为灰度值?

颜色传感器发出的光在地图表面经过漫反射,重新被颜色传感器接收到的光线强度,它的变化范围是0-100,数值越大,表示反射回来的光线强度越大。

(二)如何利用灰度值来区分地面和黑线?

灰度值表示的是反射回来的光线强度,不同颜色、材质的物体距离颜色传感器同样距离的前提下,反射回来的光线强度不一样。颜色越深,反射回来的光线越少,颜色传感器检测到的灰度值也就越小,所以黑线上的灰度值会比较低,而白色地图上的灰度值会比较高,但是同样是黑线上,不同位置的灰度值并不相等,不同位置的白色地图检测的灰度值也不一样,如何有效区分地面和黑线呢?我们引入参考值这一概念来进行说明。

(三)参考值的计算

通过实际的检测,我们发现虽然黑线和白色地图上的灰度值不是每个地方都相等,但是他们的数值变化范围不大,如:

黑线:10、13、9、8

白色地图:50、48、52、49

用折线图表示如下:

4a7ace96688ad2e0b23a650eec8e7307.png 

在EV3程序模块中一般需要使用一个参数来区分白色地图和黑线,从上图可以知道,只要这个值大于黑线上灰度值的最大值,小于地面上灰度值的最小值就可以用来作为参考值,但是我们没必要去找到参考值的上下限,因为需要大量的测量,一般采用以下三种方式处理:

第一种:地面和黑线各测三次,计算地面和黑线上的灰度值的平均值,将两者的平均值作为参考值,也就是:

灰地平=(地1+地2+地3)/3

灰黑平=(黑1+黑2+黑3)/3

参考值=(灰地平+灰黑平)/2

第二种:地面和黑线各测一次灰度值,取两者的平均值作为参考值,即

参考值=(灰地+灰黑)/2

第三种:因为黑线附近的灰度值是接近线性变化的(已在另一个PID巡线推送中测试证明),测量黑线和地面的分界处的灰度值作为参考值,即

参考值=灰分界

参考值的功能在于区分地面和黑线,个人比较倾向于第二种方法,并且一般都让小朋友近似取整,不会影响分辨效果,并且能避免小数点的存在引发输入失误。

结合参考值的功能,以及黑线和地面上的灰度值分布图,我们可以知道黑线上的灰度小于参考值,地面上的灰度大于参考值。

知道了如何区分地面和黑线,接下来我们看看几种简单的基础巡线和P巡线(比例巡线)。

2

1、2、3、4个光感的基础巡线

(一)单光感Z字巡线——一个光感,两种动作状态

在只使用一个颜色传感器巡线的情况下,并不能通过程序来区分颜色传感器在线的左侧还是右侧,所以巡线过程中,颜色传感器只能在线的其中一侧巡线,下面以颜色传感器在黑线的右侧巡线为例来说明巡线原理。

02c233e07b539be2a0a82f489dc13bfe.png

当颜色传感器看到黑线时,车子需要右转,才能保证不越过黑线;当颜色传感器看到地面时需要左转才能不飞线,程序实现如下:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pid巡线算法程序_技术分享——从单个到多个颜色传感器巡线原理解析 的相关文章

随机推荐

  • 图片处理命令行工具ImageMagick介绍

    最近在做百度OCR图片文字识别时 因为免费版OCR接口调用次数有限 就想把多张图片合并成一张进行文字识别 这就需要在代码中进行图片合并操作 在查找图片批量合并方案时 看到了linux的convert命令 可以将多张图片合并 且使用特别方便
  • java使用easypoi--导入,导出

    先引入maven依赖
  • J2EE反射(Reflect)

    1 什么是反射 反射是java语言中的一种机制 通过这种机制可以动态的实例化对象 读写属性 调用方法 2 反射有哪几种方法 1 1实例化对象 c newInstance 实例化 1 2动态调用方法 Method m 找到方法 m invok
  • 启莱OA CloseMsg.aspx SQL注入

    子贡曰 贫而无谄 富而无骄 何如 子曰 可也 未若贫而乐 富而好礼者也 子贡曰 诗 云 如切如磋 如琢如磨 其斯之谓与 子曰 赐也 始可与言 诗 已矣 告诸往而知来者也 漏洞复现 访问漏洞url 使用SQLmap对参数 user 进行注入
  • Python项目如何打包?

    在 Python 中 你可以使用一些工具和技术来打包你的项目 以便于分发和部署 以下是一种常见的方法 1 创建项目结构 首先 你需要组织好你的项目结构 一个常见的做法是创建一个包含项目代码的文件夹 并在其中包含一个名为 init py 的文
  • idea 搭建一个maven 父子项目

    什么是maven 父子项目 意思就是 相当于一个家庭 一个家庭有一个父亲 可能有多个子女 父亲管子女 子女继承父亲的一切 父子工程也一样 目前很多微服务采用了这种模式 父工程 父工程又称为父控制器 只是一个简单的工程 不能单独运行 作用是将
  • 正则表达式回溯引发的生产惨案

    文章目录 背景 问题 原因分析 如何解决 chatgpt 3 5 GP4的表现 未完待续 背景 业务上的一个字段在解析时为了避免脏数据导致后续ETL的异常 决定从源头将该字段严格按照设计的规则去匹配 该字段的上传是设备端传上来的文件中的一个
  • Axure RP9.0 for Mac安装包+安装教程

    Axure 是一款强大的原型设计和开发人员交接软件 经过重新设计和架构 具有新的硬件加速渲染引擎 旨在更快地保存和加载的文件结构以及用于平滑缩放和更快编辑的简化画布 软件 Axure RP 版本 9 0 语言 简体中文 大小 71 98M
  • Oracle 日历表详解(含节假日)

    文章目录 1 概述 2 示例 2 1 判断双休日 2 2 判断节假日 3 扩展 3 1 Python 输出节假日 1 概述 mermaid svg trbLU532c4g4BFr4 font family trebuchet ms verd
  • 学术搜索引擎大全

    学术搜索引擎大全 学术搜索引擎 综合性 Google学术搜索 Scirus学术搜索 BASE搜索 Vascoda搜索 万方数据ilib 百度文档搜索 OJOSE Infomine OA图书馆 开放存取搜索 PDF搜索引擎 SciSeek S
  • unity粒子实现烟雾效果

    粒子实现烟雾效果 运行效果 实现步骤 1 准备一张纹理图 我是随便在网上下了一张烟雾图 没有做任何处理的图片 当然你也可以根据你的需要使用photosh做一些处理 比如雾化 裁剪什么的 unity处理步骤 1 新建工程 2 输入工程名称和路
  • Xilinx COE文件生成

    一 COE文件格式 举个例子 这是一个完整的COE文件 第一行 MEMORY INITIALIZATION RADIX 16 表示的是几进制数据 第二行 MEMORY INITIALIZATION VECTOR 表示你要初始化的内容 然后把
  • 服务器远程管理简介(ILO,BMC,RSA)

    Author Skate time 2016 09 18 转载 http blog csdn net cymm liu article details 8447623 现在说说HP的服务器 好像HP的服务器标配都集成了iLO的 也就是HP自
  • js Buffer常用方法

    构造 alloc构造 10个空间 16进制格式 所以数字16显示为10 var buf1 Buffer alloc 10 16 console log buf1 allocUnsafe构造 分配10个空间 但空间内的数据不一定为空 var
  • 欢迎访问我的个人博客

    双11弄了个服务器 搭建了第一个自己的博客 开心 欢迎来访问 ISHEEPI 之后的博客也会发到自己的网站上了 不远遐路 幸见光临
  • VueComponent介绍&一个重要的内置关系(VueComponent.prototype.__proto__===Vue.prototype)

    一 VueComponent介绍 关于Vuecomponent 1 school组件本质是一个名为VueComponent的构造函数 且不是程序员定义的 是Vue extend生成的 2 我们只需要写
  • python机器学习之决策树案例——泰坦尼克号幸存者的预测

    决策树 Decision Tree 是一种非参数的有监督学习方法 它能够从一系列有特征和标签的数据中总结出决策规则 并用树状图的结构来呈现这些规则 以解决分类和回归问题 决策树算法容易理解 适用各种数据 在解决各种问题时都有良好表现 尤其是
  • 开关电源UVLO的迟滞(Hysteresis)的含义

    关心迟滞的目的在于可以考察在开关电源上电和下电两种情况下的电平门限值 任何只给出UVLO和Hysteresis的值 不给测试条件的都是耍流氓 图1 同相迟滞比较器的电路和传输特性 上图 b 中可以看出 当Ui gt UTH U0 Uz 当U
  • 保研之路——中科大信息学院自动化系预推免

    中科大信息学院自动化系预推免 个人情况 高校复试参与情况 中科大信息学院自动化系直硕 9 18 结语 嗯 抱着不白花这么多路费住宿费的初衷准备写一个保研经验贴 希望学弟学妹少花点钱吧orz 我的战术大概是只要学校给我发了邀请我就去 除了时间
  • pid巡线算法程序_技术分享——从单个到多个颜色传感器巡线原理解析

    巡线竞速是常见的机器人比赛项目 它对速度和精准度要求都比较高 该项目大多要求现场进行结构搭建 并且赛前只提供培训参考地图 比赛使用的地图和巡线任务一般是现场才进行公布 对于参赛选手的能力要求较高 巡线任务的基础要求是车体 符合规格 的正投影