找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 61993|回复: 55

超简洁且效果还不错的循线算法

    [复制链接]
发表于 2019-5-19 16:37:20 | 显示全部楼层 |阅读模式
本帖最后由 冀·闲庭信步 于 2019-10-11 17:59 编辑

本人长期以来一直持续不断的在研究循线算法,希望可以找到一个易于操作(PID虽好,但很多人无法掌握其操作)且效果还不错的循线算法,今天终于可以发布了。

请看图:

超简洁且效果还不错的循线算法.png

其中的AM为自动测光模块(也可以手动测光),根据测定出来的场地最大反光值(white)和最小反光值(black)通过计算后直接输给移动转向模块的转向值,再结合移动转向模块内置的差速功能,您只需修改其中的两个参数:转向系数(400)和马达功率(50)即可快速且近乎完美的循线啦。

如有雷同,敬请指出。

欢迎批评指正。

【声明】

本算法最初源于我的学生(鹰隼试翼),我在其提出的变比例系数的基础上做了一些推演、优化和验证,目的是让更多的人得以运用。

【注释】:

本算法(平方修正)仅为易于理解和操作的简化版,我教学采用的是循线效果更好的版本(针对初中及以上的学生,结合趋势分析,操作同样简单,可轻松应对急弯,只是理解和编程有些难度了)。

作为一种思路,我们知道当一个数X<1时,X*X<|X|,而当X>1,X*X>>|X|,这样处理的效果就是当偏差比较小时,摆动更小(拟合度更好);而当偏差比较大时,我们又可以获得更大的转向值以应对急弯。

学会借助万能的数学来解决我们遇到的问题,这才是本帖的核心。

评分

参与人数 1乐币 +10 人气 +10 收起 理由
paopao31224 + 10 + 10 中文乐高有你更精彩:)

查看全部评分

相关帖子

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2020-6-15 21:23:01 | 显示全部楼层
楼主这个方法不太好理解。
我的理解是:
一、先检测场地的最大值(白,即White,下同)和最小值(黑值,即Black)。楼主最前面的自定义模块应该就是这个功能吧。
二、通过算法(光值-黑值)/(白值-黑值),将实时光电值进行标准化处理,将它转换到0到100之间的值。
三、后面的算法我不太理解了。我觉得用比例法,即:转向值=(实时光电标准化后的值-中间值)*比例系数,这个方法,学生更容易理解。也是很稳的方法。
0614.JPG
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 3 0

使用道具 举报

发表于 2019-12-1 16:29:05 | 显示全部楼层
有用的,谢谢

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复 1 0

使用道具 举报

 楼主| 发表于 2024-8-20 10:50:31 | 显示全部楼层

更多内容可以去抖音(与论坛同号)看我的机器人循线教程及一些案例
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2024-8-20 09:34:49 | 显示全部楼层
谢谢!分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2023-4-27 08:13:23 | 显示全部楼层
已阅 表示我已来过
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2023-4-2 11:04:15 | 显示全部楼层
很有意义,都是比例巡线那也太没意思了,就是要百花齐放,没有最好的只有更好的
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2022-2-12 17:34:04 | 显示全部楼层
感谢老师分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2021-11-22 13:52:45 | 显示全部楼层
学习学习
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2021-11-14 18:47:56 | 显示全部楼层
牛!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2021-9-23 10:50:48 | 显示全部楼层
路过看看,顺便检测下自己能不能学会!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2021-8-4 14:35:58 | 显示全部楼层
冀·闲庭信步 发表于 2019-5-20 09:41
偏差*偏差的绝对值,可以保持偏差的符号,否则偏差的平方永远为正,就无法转向了。

茅塞顿开!先生大才
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2020-10-15 11:18:00 | 显示全部楼层
txwxjhipda 发表于 2020-6-15 21:23
楼主这个方法不太好理解。
我的理解是:
一、先检测场地的最大值(白,即White,下同)和最小值(黑值, ...

后面的计算利用了平方函数的特性,你可以画一下平方函数的曲线。

误差比较小的时候,如此可以弱化误差,减小车体的摆动;而当误差比较大的时候,如此又可以迅速加大转向值。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2020-10-15 10:35:21 | 显示全部楼层
闻香识女人 发表于 2020-10-14 20:47
测黑色值光和白色光同时参与运算是一个愚蠢的方法

恳请您不吝赐教
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2020-10-14 20:47:38 | 显示全部楼层
测黑色值光和白色光同时参与运算是一个愚蠢的方法
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2020-7-26 00:26:32 | 显示全部楼层
非常感谢分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2020-6-15 21:28:43 | 显示全部楼层
txwxjhipda 发表于 2020-6-15 21:23
楼主这个方法不太好理解。
我的理解是:
一、先检测场地的最大值(白,即White,下同)和最小值(黑值, ...

你说的是单纯的比例循线。

绘制一下x^2的曲线,看看有什么特点。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-30 13:41 , Processed in 0.428295 second(s), 27 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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