智能车制作

标题: 一个假想,求前辈理论验证 [打印本页]

作者: abacrya、军    时间: 2014-5-27 10:46
标题: 一个假想,求前辈理论验证
昨晚铺新赛道时。。。突然想到一个赛道处理的问题,,,我找左右线是从上次计算的中点开始寻找,会存在左右线不是同时找到的情况,,,,我想的是。只要找到了一条线,就跳出循环,把另外一条线补出来,两边都没找到再赋予上次值,,这样可以节省几um的时间。。。。。。       不知道有这个必要么?

作者: 恋May    时间: 2014-5-27 10:48
找两条线吧。
作者: rubick    时间: 2014-5-27 12:20
太有必要了
作者: zhou1994    时间: 2014-5-27 12:51
那求解如果是某一边出现干扰呢?
作者: 超级马力    时间: 2014-5-27 14:09
省时间干嘛,又不是算不完。个人觉得找两边比较好。
作者: a_样品    时间: 2014-5-27 15:07
不断利用上一次的中点,貌似这个动态过程有点复杂。可否提示一下怎么利用这个动态的中点判定其不丢线以及丢失一条线??
作者: @__@    时间: 2014-5-27 16:14
我也有这个想法,不过之后还是果断找两条线了。因为实在是不太稳定。
作者: @__@    时间: 2014-5-27 16:15
找不到再补也不迟啊。
作者: ppdm    时间: 2014-5-27 16:19
1条线补出另条线不一定和实际相符的 没必要节省着时间
作者: abacrya、军    时间: 2014-5-27 18:17
zhou1994 发表于 2014-5-27 12:51
那求解如果是某一边出现干扰呢?

如果是找两条线。如果一条有干扰,另一条没有干扰,求得的结果也存在二分之一的干扰,    只找一条也是二分之一的干扰(用公式middle=L+R)/2;  
作者: abacrya、军    时间: 2014-5-27 18:20
a_样品 发表于 2014-5-27 15:07
不断利用上一次的中点,貌似这个动态过程有点复杂。可否提示一下怎么利用这个动态的中点判定其不丢线以及丢 ...

我没有用这个想法。。。现在是每次找先前将左右线变量L,R清零,,,,,然后再最后判断。两个同时为零,就是丢线,有一个为零就布线,具体在判断哪个为零

作者: abacrya、军    时间: 2014-5-27 18:20
@__@ 发表于 2014-5-27 16:14
我也有这个想法,不过之后还是果断找两条线了。因为实在是不太稳定。

嗯嗯。。。谢谢你

作者: abacrya、军    时间: 2014-5-27 18:22
ppdm 发表于 2014-5-27 16:19
1条线补出另条线不一定和实际相符的 没必要节省着时间

嗯嗯  。。谢谢

作者: zhou1994    时间: 2014-5-27 22:35
abacrya、军 发表于 2014-5-27 18:17
如果是找两条线。如果一条有干扰,另一条没有干扰,求得的结果也存在二分之一的干扰,    只找一条也是二 ...

找2条线一滤波不就去掉干扰了、、、
作者: 张永超    时间: 2014-5-27 23:16
额。。。感觉可以不用这么复杂。。自己把自己绕进去了。。纠结这个好不那个好不的
作者: abacrya、军    时间: 2014-5-28 01:09
zhou1994 发表于 2014-5-27 22:35
找2条线一滤波不就去掉干扰了、、、

把一定范围内的偏移量忽略掉么?

作者: stxhb    时间: 2014-5-28 03:50
几um时间都要节省?你用示波器看看程序整体处理时间,和你控制周期(或曝光周期)做比较就知道了,大部分时间CPU啥都没干,就在无聊的while循环
作者: lh_include    时间: 2014-5-28 12:41
这种算法类似迷宫算法,我听我朋友说到过,只找一边的黑线,但是他后边没用我也没问过了!
作者: LSQ_GSQ    时间: 2014-5-28 13:24
只想拿参赛奖就可以这样做
作者: Mr.chen    时间: 2014-5-28 14:46
兄弟,我想了解下,如何把上一次找到的中点赋给下一次来查找左右线,我在这卡了很久了,一直没突破,看你应该有突破,所以希望能指教一下
作者: abacrya、军    时间: 2014-5-29 13:20
Mr.chen 发表于 2014-5-28 14:46
兄弟,我想了解下,如何把上一次找到的中点赋给下一次来查找左右线,我在这卡了很久了,一直没突破,看你应 ...

说指教就严重了,,,共同学习。[attach]60353[/attach]
接下来就是从ZZ向两边找线了,,,

这个是核心部分。。。希望能帮助到你。。。


作者: abacrya、军    时间: 2014-5-29 13:32
stxhb 发表于 2014-5-28 03:50
几um时间都要节省?你用示波器看看程序整体处理时间,和你控制周期(或曝光周期)做比较就知道了,大部分时 ...

曝光,,,发送,显示是耗时最多的。。。

作者: stxhb    时间: 2014-5-29 19:11
abacrya、军 发表于 2014-5-29 13:32
曝光,,,发送,显示是耗时最多的。。。

跑起来除发送调试的必要数据,根本没必要发送ccd图像,用sd卡记录更好,你还不如直接把发送图像屏蔽掉。显示跑起来也可以关闭。
若为了这些没太大必要的事情,去节省对小车控制所需要的必要时间,未免本末倒置了。
可以超频,会节省很多时间。

作者: abacrya、军    时间: 2014-5-29 19:15
stxhb 发表于 2014-5-29 19:11
跑起来除发送调试的必要数据,根本没必要发送ccd图像,用sd卡记录更好,你还不如直接把发送图像屏蔽掉。显 ...

嗯嗯   谢谢  ,,我去优化下。。

作者: 狂野的庄稼汉    时间: 2014-5-29 21:29
弯道,坡,障碍等地方两线间的距离和直道都不一样,还有你说不是同时找到,本来就不能同时找到,你先是从中间往左(右)找,然后再从中间往右(左)找,程序执行是有顺序的,又不是fpga的并行执行,单片机是串行的
作者: Mr.chen    时间: 2014-5-29 21:59
abacrya、军 发表于 2014-5-29 13:20
说指教就严重了,,,共同学习。
接下来就是从ZZ向两边找线了,,,

感谢,有个问题,就是先用中心i=64向两边找,记录此次计算出来的中心,再另外用一个中心查找的子函数,里面的i即为记录的这个中心,再向两边找值对吗。这是我的理解。

作者: piaoguangri1012    时间: 2014-5-29 22:23
abacrya、军 发表于 2014-5-27 18:20
我没有用这个想法。。。现在是每次找先前将左右线变量L,R清零,,,,,然后再最后判断。两个同时为零,就 ...

那请教下丢线了 怎么办啊

作者: abacrya、军    时间: 2014-5-30 09:51
piaoguangri1012 发表于 2014-5-29 22:23
那请教下丢线了 怎么办啊

丢线就把上次的中值赋值给本次!

作者: abacrya、军    时间: 2014-5-30 09:52
Mr.chen 发表于 2014-5-29 21:59
感谢,有个问题,就是先用中心i=64向两边找,记录此次计算出来的中心,再另外用一个中心查找的子函数,里 ...

对。。我也是是向你这样理解的

作者: abacrya、军    时间: 2014-5-30 09:53
狂野的庄稼汉 发表于 2014-5-29 21:29
弯道,坡,障碍等地方两线间的距离和直道都不一样,还有你说不是同时找到,本来就不能同时找到,你先是从中 ...

对。。。因为这样我才想可不可以只找一条线、、、

作者: 狂野的庄稼汉    时间: 2014-5-30 11:59
abacrya、军 发表于 2014-5-30 09:53
对。。。因为这样我才想可不可以只找一条线、、、

弯,坡道,障碍的地方线宽会发生变化,只找一条线就不能感知到这些变化,不能判断窜道,不要为了省那么几秒带来诸多的不确定因素,况且k60足够你处理这些数据

作者: abacrya、军    时间: 2014-5-30 13:03
狂野的庄稼汉 发表于 2014-5-30 11:59
弯,坡道,障碍的地方线宽会发生变化,只找一条线就不能感知到这些变化,不能判断窜道,不要为了省那么几 ...

嗯、、、谢谢提醒。。。。我已经改回来了,,,,,,经过大整改的程序已经稳定下来了。。,,希望这次整改为后面的提速打下基础!

作者: 微微一笑_joe    时间: 2014-5-30 13:21
挺好的想法啊啊  而且 如果跳出循环就说明到弯道了




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2