找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 17741|回复: 17

EV3程序设计艺术——PID程序

[复制链接]
发表于 2018-7-14 18:11:38 | 显示全部楼层 |阅读模式
悬赏5乐币已解决
本帖最后由 legoedudanny 于 2018-7-14 18:20 编辑

关于PID程序,之前在网上看了李航老师的讲解视频,讲的很清楚,不过一些数据还不是很明白要怎么调整,所以后来又去看了一些EV3的程序设计艺术,最近看到文末,讲解PID程序时,发现一些问题,故拿出来与各位乐高爱好者们探讨一下。 微信图片_20180714174011.jpg
图片的质量可能不是特别好,凑合着看,哈哈哈!
问题1: 在做采集传感器的最小值和最大值时,看到Max和Min(最大值和最小值),按照我一开始的理解觉得大的就应该是100,小的才是0~ 看到这儿我懵了一下,为什么这么写呢?虽然不知道是什么含义,但是还是继续往下看了,然后就看到了底下的比较切换
微信图片_20180714174015.jpg
Max与传感器的实时读数相比较,如果max与传感器比较小的话,就取传感器的数值,这个逻辑我明白,但是我还是没明白为什么要100???!
接下来的我就更看不懂了
微信图片_20180714174004.jpg
问题2:这里面说min值比传感器大的话,就存这个传感器数据作为min值,按照她前面输的min为100的话,那这个逻辑是对的,但是为什么程序是min<传感器,就取传感器数值?(黑人问号脸)
微信图片_20180714174018.jpg
问题3:这个上面的文件读写模块名称LineFollowerCal,min和max输入到的是同一个名称还是有区分的,比如min输入到LineFollowerCalmin,maxData输入到LineFollowerCalmax?因为接下来还有一个读取的过程,所以我想应该是要区分开的吧? 我是这么写的,不知道里面是怎么样的,其实我觉得书里应该介绍的再清晰一些,既然是给新手看的话~~
微信图片_20180714174021.jpg
问题4:这个是关于颜色模式和反射光模式的问题,按照这个程序的逻辑来讲,这时候用的应该是反射光的测量,为什么会用颜色模式呢?


就是因为有这些问题,PID程序至今还没有研究出来,哈哈
我的问题大概就是这样,希望有懂的大神朋友,或者有兴趣讨论的朋友一起沟通一下



微信图片_20180714174004.jpg
微信图片_20180714174011.jpg
微信图片_20180714174015.jpg
微信图片_20180714174018.jpg
微信图片_20180714174021.jpg

最佳答案

查看完整内容

第一个问题你可以代入数值来考虑,当min初始值为100,那么当颜色传感器检测到白色时,读数为99,而100>99,那么就会把这个99给到min,再进一步想,当颜色传感器检测到稍微深一点的颜色时,读数为50,99>50,那么就把50放到min里,直到最后,颜色传感器检测到了场地上反射光强度最小的地方,假设读数为1,那么min就变成了1,这样就获得了场地上的最小值,Max同理。 ...
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-7-14 18:11:39 | 显示全部楼层
第一个问题你可以代入数值来考虑,当min初始值为100,那么当颜色传感器检测到白色时,读数为99,而100>99,那么就会把这个99给到min,再进一步想,当颜色传感器检测到稍微深一点的颜色时,读数为50,99>50,那么就把50放到min里,直到最后,颜色传感器检测到了场地上反射光强度最小的地方,假设读数为1,那么min就变成了1,这样就获得了场地上的最小值,Max同理。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-14 22:54:06 | 显示全部楼层
第三个和第四个问题,brazz老师已经帮忙解决,thank u
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-15 00:09:40 | 显示全部楼层
1 2 其实是同一个问题
1里的MAX输入的是0,是为了在2里,当传感器读取到>MAX数值时,更新MAX,采集到当前反色光的最大值。如果1里MAX输入的是100,实际白色是98,还怎么更新呀,没有办法找到实际的最大值。MIN 同理,不知道这么说能明白吗
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-15 09:35:54 | 显示全部楼层
xd62215135 发表于 2018-7-15 00:09
1 2 其实是同一个问题
1里的MAX输入的是0,是为了在2里,当传感器读取到>MAX数值时,更新MAX,采集到当前 ...

嗯嗯,这个逻辑我明白,我就是想不通min值那边,按照逻辑来说应该是使用>,为什么会是<呢
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-15 09:37:59 | 显示全部楼层
十多个男人 发表于 2018-7-15 00:52
第一个问题你可以代入数值来考虑,当min初始值为100,那么当颜色传感器检测到白色时,读数为99,而100>99, ...

嗯,就如你所说,“当min初始值为100,那么当颜色传感器检测到白色时,读数为99,而100>99,那么就会把这个99给到min”,那么就应该是>,为什么程序上确实<呢?然后上面是不是还缺少了一根连接逻辑判断的数据线?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-15 10:53:54 | 显示全部楼层
个人觉得书上是错的,应该是>,并且切换少了一根数据线,这种情况下切换默认运行伪的情况,所以最小值永远不会改变。我没试过,楼主可以按照书上的程序实验一下,判断正确。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-15 14:19:16 | 显示全部楼层
legoedudanny 发表于 2018-7-15 09:37
嗯,就如你所说,“当min初始值为100,那么当颜色传感器检测到白色时,读数为99,而100>99,那么就会把这 ...

回过去看了下图片 你说的是对的 书上写错了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-16 08:20:39 | 显示全部楼层
书上印错了,应该是把写入变量min编写在伪的选项卡里面,同时连接数据线,数据线也没有连。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-16 11:20:32 | 显示全部楼层
bjllywk 发表于 2018-7-16 08:20
书上印错了,应该是把写入变量min编写在伪的选项卡里面,同时连接数据线,数据线也没有连。

嗯嗯,或者把变量写入真,但是改为>号也可以对吧
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-16 11:29:50 | 显示全部楼层
本帖最后由 legoedudanny 于 2018-7-16 11:31 编辑
十多个男人 发表于 2018-7-15 14:19
回过去看了下图片 你说的是对的 书上写错了

其实我一直没理解这个所谓的标准化读数的意思,她的标准化应该是以0和100为标准,那么如果我测得数据为18和100,那么按照下图,我的Target目标值应该是多少呢? 按照我们测量数据18和100相加的平均值吗? 然后再用这个平均值减去经过计算的实时的读数之间的误差?
C:\Users\Legoe\Desktop\1.png 1.png
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-16 18:43:28 | 显示全部楼层
legoedudanny 发表于 2018-7-16 11:29
其实我一直没理解这个所谓的标准化读数的意思,她的标准化应该是以0和100为标准,那么如果我测得数据为18 ...

这个我就确实看不明白了,理解不到这个部分是想实现什么功能
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-7-16 23:13:17 | 显示全部楼层
因为比赛时,需要结合场地的黑色和白色来实际确定黑白中间线对应的数值的。可以说这就是一个实时校正。因为阴天,晴天,白天,夜晚,室内灯光的亮度,都会影响光感的测量。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-7-17 22:31:42 | 显示全部楼层
catnull 发表于 2018-7-16 23:13
因为比赛时,需要结合场地的黑色和白色来实际确定黑白中间线对应的数值的。可以说这就是一个实时校正。因为 ...

那么我上面写的Target应该是按照哪个数据进行计算
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-9-4 23:24:37 | 显示全部楼层
legoedudanny 发表于 2018-7-15 09:35
嗯嗯,这个逻辑我明白,我就是想不通min值那边,按照逻辑来说应该是使用>,为什么会是

理论上最小值是0,但是实际上会大于0.所以在取最小值时用了大于0的数。再说小于0的也不存在啊。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-12-24 02:40 , Processed in 0.759705 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表