注册 登录
查看: 11818|回复: 49

第十一届 B2 摄像头组 方案讲解

[复制链接]
发表于 2015-11-17 15:27:53 | 显示全部楼层 |阅读模式




主要与往年的区别
1。赛道为路肩法,即边界有黑色棉块,出界会碰撞到棉块,从而明显看出出界。
2。取消了第十届的发车灯塔控制的方式。(改为起跑线识别)

总结:摄像头B2组,与往年基本相同,难度较往年简单。




车模: B车模
QQ截图20151117152656.png
车模购买的方式,可参考这里:
官网下载:http://www.smartcar.au.tsinghua.edu.cn/info/zxdt/1668
山外论坛备用服务器下载:【智能车竞赛】重要文件汇总下载 - 全部帖子 - 山外论坛 - 专注于飞思卡尔智能车技术交流 http://www.vcan123.com/thread-10719-1-1.html

这里的文档是官方提供的,淘宝其他店铺销售的车模,都是从官方指定的地方购买,然后加价转售,建议直接在这里进行购买。



单片机对此微处理器的种类和数量不做限制。可选 k60 高性能的单片机,或者KL26 高性价比单片机。
对于同一所学的参赛队伍最多可参赛六个队伍,同一个组别最多报两个队伍。如果是相同组别,单片机系列不能相同K60 和 KL26 不是同一系列,可同时用于相同的组别。

KL26 单片机,是K60之后,最好用的一款,资料多,容易上手,性能比XS128的要好。最重要是之后换成K60,无需重新学,直接上手。




硬件电路上,可按往年的方法,我们的一套方案是:核心板 + 小底板 + 摄像头 + LCD带按键调试器 + 电机驱动 + 编码器 ,可选 无线调试器 进行无线变量调试
QQ图片20151130005456.png




【摄像头采集】
鹰眼已经实现了二值化图像的采集,直接采集黑白图像,另外采集速度高达每秒150帧,历年国赛选用最多的摄像头模块。
由于已经实现二值化,所以我们可以专注于图像的数据处理,路况的识别等,大大降低了开发的难度。
1.jpg




【电机方面】
由于B车模为单电机,所以我们的4路半桥电机驱动模块,需要改成 1路全桥电机驱动模块,即:
1和2路的输出短接,同时接电机的一端
3和4路的输出短路,同时接电机的另外一端。

相当于2路芯片并联,驱动电流更大,提供更大的动力。

QQ截图20151130010151.png



【舵机】
可直接接入我们的多功能电机驱动模块的舵机接口上。

使用方法,参考这里的资料帖子:http://www.vcan123.com/forum.php ... action=view&ctid=25




【液晶和按键】
由于小液晶模块已经集成了五轴按键,因此可以直接通过按键方式来调变量的参数。
液晶同时也可用于图像显示,波形显示等。

如果想在液晶上画中线等各种曲线时,可参考如下帖子:
【山外LCD】画中线的方法(附一份简单的中线代码)
http://www.vcan123.com/forum.php?mod=viewthread&tid=8837&ctid=6

如果需要汉字显示,可看此帖子:
【预告】字幕菜单工具在手,分分钟搞定菜单功能
http://www.vcan123.com/forum.php?mod=viewthread&tid=10922&ctid=50
142750ygps0xxvhewk7ihb.jpg




【编码器】
这里选择的是 欧姆龙 500线的 编码器,正交解码输出。

编码器 A相输出脉冲,B相决定方向。k60 可直接用正交解码功能。KL26 可用D触发器测量方向。
可参考如下帖子:
【山外电机驱动+小底板】双电机双编码器测速的方法http://www.vcan123.com/forum.php?mod=viewthread&tid=7609&ctid=45
【KL26】有几路脉冲计数器啊, 双电机怎么测速呢??
http://www.vcan123.com/forum.php?mod=viewthread&tid=3020&ctid=45

QQ截图20151130010440.png

QQ截图20151130010550.png






【无线调试器】   —— 可选

可以一键开车,停车 ,无线调试变量等,也可以进行 变量传输。

推荐结合汉字字库菜单助手,有汉字提示变量的意义,方便调试。

另外,无线调试器接收到数据后,可存储在 SD卡上,然后电脑分析图像。

【山外无线调试】例程讲解
http://www.vcan123.com/forum.php?mod=viewthread&tid=7658&ctid=26

QQ截图20151130010734.png


【赛道计时】
可用无线调试器作为赛道计时的工具,带激光头测试。

把调试器放在赛道边,小车经过时会触发 激光接收头 信号跳变,利用单片机内部的定时器来作为计数器,液晶屏幕看计时时间。

调试器带了 计时例程,按 开车键 为准备计时,然后小车经过,触发定时器开始计时,1秒后,小车再次经过,计时结束。






【软件算法上】

主要的思路是: 1 摄像头图像采集 ——> 2 中线提取 ——> 3 赛道类型识别 ——>4 电机速度控制(含编码器测速) | 舵机角度控制  

另外,PID等参数通过无线调试来完成,因为这些参数都是跑出来,最终选择肉眼看上去最佳的,并不是算出来的。无线调试的好处自然就是容易修改这些参数。

关于中断和死循环的问题,推荐是:
1~3 在主循环完成,然后生成的电机控制和舵机控制 的变量,
4 在定时中断中完成,加载 3 更新的变量,进行相关的控制。
5 无线调试变量,一般在接收中断里处理数据,然后更新全局变量

以下是伪代码:


  1. var  目标速度;    //编码器定时脉冲数
  2. var  目标角度;    //赛道中线偏移图像中线的距离

  3. var  舵机P,舵机D;
  4. var  电机P,电机I ;

  5. while()
  6. {
  7.     1 摄像头图像采集();
  8.     2 中线提取();
  9.     3 赛道类型识别(){目标速度 = xxx;目标角度 = yyy;}
  10.      //可选:图像显示 ,中线/边界显示
  11.      //可选:数据存储 或 无线发送
  12. }


  13. time_isr()
  14. {
  15.     4 电机速度控制(含编码器测速) | 舵机角度控制()
  16.     {
  17.          var  实际速度 = kkk;          //测出编码器脉冲,实际速度
  18.          舵机PD(目标角度);             //舵机用PD控制,D会使得路径更加圆滑优化
  19.         电机PI(目标速度,实际速度); //电机用PI 或 PID
  20.     }
  21. }

  22. 变量无线调试_isr()
  23. {
  24.     舵机P  = get_无线传输;
  25.     舵机D = get_无线传输;
  26.     电机P  = get_无线传输;
  27.     电机I  = get_无线传输;
  28. }



可参考如下帖子:
分享本人收集的几个智能车程序
http://www.vcan123.com/forum.php?mod=viewthread&tid=6314&ctid=26


【中线提取的方法】
每年的赛道类别都不同,其实更多的是需要考验编程的能力,这部分的内容不好讲解,大伙自行看技术报告吧。





















评分

参与人数 1互助 +2 收起 理由
Qq980188303 + 2 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-12-4 21:47:56 | 显示全部楼层
本帖最后由 夜雨闻铃 于 2015-12-4 21:53 编辑
山外メ雲ジ 发表于 2015-12-4 18:48
这里有 100度无畸变的镜头测试效果。

【山外鹰眼镜头】100度无畸变镜头测试 - 智能车资料区 - 山外论 ...

请问山外哥我今年调摄像头,打算从您这购买所有需要摄像头组需要的硬件,您能列个清单发给我吗?每个用到的模块的淘宝链接(只是在您到淘宝店需要用到的模块)。谢谢!
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2015-11-30 01:18:21 | 显示全部楼层
硬件介绍和软件算法介绍 大概就这些
回复 支持 反对

使用道具 举报

发表于 2015-12-1 21:39:42 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

发表于 2015-12-2 21:31:18 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2015-12-3 20:50:49 | 显示全部楼层
救命啊,救命啊,怎么鹰眼摄像头这么难用的啊,用80*60分辨率才会来的图像好难看
怎么解决啊,又闪,盲区又大

_90EZ`3B2`LIWPB6@)QZ8~O.png
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-3 21:57:23 | 显示全部楼层
Jane_Yih 发表于 2015-12-3 20:50
救命啊,救命啊,怎么鹰眼摄像头这么难用的啊,用80*60分辨率才会来的图像好难看
怎么解决啊,又闪,盲区 ...

闪烁,是白光灯闪烁导致的,你可以降低帧率,会没那么闪。这个外部光源导致,只不过其他低速摄像头,没凸显出来而已。
另外,你这幅,没觉得难看啊,你觉得分辨率小,你可以改大他。

觉得盲区不好,就换镜头。

这些都是调试方法


回复 支持 反对

使用道具 举报

发表于 2015-12-4 13:08:22 | 显示全部楼层
山外メ雲ジ 发表于 2015-12-3 21:57
闪烁,是白光灯闪烁导致的,你可以降低帧率,会没那么闪。这个外部光源导致,只不过其他低速摄像头,没凸 ...

为什么没有你发的那些图像好看。还有就是50帧配置后,一点反应也没有了

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 16:08:53 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 13:08
为什么没有你发的那些图像好看。还有就是50帧配置后,一点反应也没有了

你调过阈值没有?设置为60,另外,焦距一定要调好。

改50帧率,可能需要降低单片机的频率。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 16:09:50 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 13:08
为什么没有你发的那些图像好看。还有就是50帧配置后,一点反应也没有了

另外,比赛的场地不会用白光灯的,所以不会有闪烁效果。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-12-4 17:45:21 | 显示全部楼层
山外メ雲ジ 发表于 2015-12-4 16:09
另外,比赛的场地不会用白光灯的,所以不会有闪烁效果。

)QVXVL4U6NB5[9]DCR([48P.png 65{B1)Y2B~XN)9SBSG0Y$%B.png 84VR@HAF4(AEXO9MFHX07`N.png

你看看,不是这样设置的吗,为什么还是50帧没反应的呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 17:46:26 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 17:45
你看看,不是这样设置的吗,为什么还是50帧没反应的呢

你把内核降到100M 左右,试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 17:47:46 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 17:45
你看看,不是这样设置的吗,为什么还是50帧没反应的呢

没必要调到 50帧这么低的速度的,你可以白天试试看,没白光灯影响,是不会闪烁的。

篮球场的灯光,实测过不会闪烁的
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:00:14 | 显示全部楼层
问题是实验室哪有篮球场呢?

内核降到100M 这么低,运算速度不就降下来了吗?

比赛时都要超频180的啊!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 18:06:25 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:00
问题是实验室哪有篮球场呢?

内核降到100M 这么低,运算速度不就降下来了吗?

比赛都不是用白光灯的!!!
这个是外部环境干扰所导致。所以你在实验室的灯光下,会有闪烁效果。

事实上,闪烁的情况下,一样是能跑的啊,调好阈值参数,设为60左右,然后调好焦距,能做出比较好的二值化效果。

如果你是要非常完美无缺的图案,那智能车比赛没一款可以满足你的。

任何东西都有个权衡,白光灯有50hz的闪烁效果,根据 奈奎斯特-香农采样定理 (高频课有学),鹰眼的 112帧高于 2倍,自然对这些变化有敏感。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 18:10:04 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:00
问题是实验室哪有篮球场呢?

内核降到100M 这么低,运算速度不就降下来了吗?

山外鹰眼在日光灯下闪烁的原因分析 - 智能车资料区 - 山外论坛 - 专注于飞思卡尔智能车技术交流 http://www.vcan123.com/forum.php ... p;tid=28&ctid=6



回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:30:47 | 显示全部楼层
山外メ雲ジ 发表于 2015-12-4 18:10
山外鹰眼在日光灯下闪烁的原因分析 - 智能车资料区 - 山外论坛 - 专注于飞思卡尔智能车技术交流 http://w ...

HW1DL0~8ETYY}OHAION]R4C.png X`A5(8U)N9KVH][[@(9F1R1.png
弯道采成这样怎么破,提点建议!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 18:34:17 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:30
弯道采成这样怎么破,提点建议!!

黑色的散点,是你自己加进去,还是原始的?

你直接提供原始采集的图像,已经手机拍一个实物的赛道图像来参考。
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:40:25 | 显示全部楼层
山外メ雲ジ 发表于 2015-12-4 18:34
黑色的散点,是你自己加进去,还是原始的?

你直接提供原始采集的图像,已经手机拍一个实物的赛道图像 ...

X]0R]2N(GPIJY~0Y2H6CINE.png IMG_2015120.jpg 黑色散点是我加的黑线点,弯道采回来的图像就只有一点点
回复 支持 反对

使用道具 举报

发表于 2015-12-4 18:45:12 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:40
黑色散点是我加的黑线点,弯道采回来的图像就只有一点点

这黑线不是二值化很好吗?

视角问题,只能换广角镜头。参考物理的光学成像,透镜的焦距决定了视角的广度。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 18:46:22 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:40
黑色散点是我加的黑线点,弯道采回来的图像就只有一点点

你这情况,是需要换更广的镜头,你调其他代码参数没用的。
硬件条件决定了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-4 18:48:02 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:40
黑色散点是我加的黑线点,弯道采回来的图像就只有一点点

这里有 100度无畸变的镜头测试效果。

【山外鹰眼镜头】100度无畸变镜头测试 - 智能车资料区 - 山外论坛 - 专注于飞思卡尔智能车技术交流 http://www.vcan123.com/forum.php ... tid=7913&ctid=6


也有人喜欢用更广的,例如170度,但会出现畸变情况。有人喜欢用无畸变,有人喜欢用更广。看哪个参数对你的算法影响更大,决定用哪个。
回复 支持 反对

使用道具 举报

发表于 2015-12-4 19:04:47 | 显示全部楼层
Jane_Yih 发表于 2015-12-4 18:40
黑色散点是我加的黑线点,弯道采回来的图像就只有一点点

我用120度的镜头
回复 支持 反对

使用道具 举报

发表于 2015-12-4 20:51:35 | 显示全部楼层
八错八错
回复 支持 反对

使用道具 举报

发表于 2015-12-6 19:22:31 | 显示全部楼层
山外哥,我看了下您的鹰眼摄像头的三个方案,可惜我用的是KL26的芯片,你给的三套方案核心板都是K60的芯片,而且山外哥的鹰眼摄像头还不单卖。。。山外哥,这。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-11 11:19:18 | 显示全部楼层
夜雨闻铃 发表于 2015-12-6 19:22
山外哥,我看了下您的鹰眼摄像头的三个方案,可惜我用的是KL26的芯片,你给的三套方案核心板都是K60的芯片 ...

方案一样适合kl26的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-11 12:23:50 | 显示全部楼层
夜雨闻铃 发表于 2015-12-6 19:22
山外哥,我看了下您的鹰眼摄像头的三个方案,可惜我用的是KL26的芯片,你给的三套方案核心板都是K60的芯片 ...

没留意到你的帖子。

方案是通用我们的核心板的,图片仅仅是拿K60举例,如果你用过我们的kl26,应该知道通用。

鹰眼不是不单卖,而是需要根据自己的动手能力来定。真心的,很多新手搞了很久搞不掂,然后来申请退货,浪费大家的时间。所以我们不建议单买。


回复 支持 反对

使用道具 举报

发表于 2015-12-12 22:48:32 | 显示全部楼层
挺好的
回复 支持 反对

使用道具 举报

发表于 2015-12-23 19:08:43 | 显示全部楼层
4电机速度控制(含编码器测速) | 舵机角度控制  为什么要在中断中实现
回复 支持 反对

使用道具 举报

发表于 2015-12-24 14:53:53 | 显示全部楼层
啥时候出个光电组的这个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-24 15:05:22 | 显示全部楼层
346500452 发表于 2015-12-24 14:53
啥时候出个光电组的这个

把车模换了,摄像头换了ccd,就是了。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2016-1-2 20:27:24 | 显示全部楼层
山外メ雲ジ 发表于 2015-12-3 21:57
闪烁,是白光灯闪烁导致的,你可以降低帧率,会没那么闪。这个外部光源导致,只不过其他低速摄像头,没凸 ...

根据赛道,提取中线,如何控制舵机呢
回复 支持 反对

使用道具 举报

发表于 2016-1-6 15:05:16 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

发表于 2016-1-22 21:20:05 | 显示全部楼层
好贴
回复 支持 反对

使用道具 举报

发表于 2016-2-1 13:40:00 | 显示全部楼层
山外哥,论坛怎么没有收藏帖子的功能
回复 支持 反对

使用道具 举报

发表于 2016-2-8 12:56:49 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

发表于 2016-2-24 19:08:09 | 显示全部楼层
赞!
回复 支持 反对

使用道具 举报

发表于 2016-2-29 10:47:42 | 显示全部楼层
1140743632 发表于 2016-1-2 20:27
根据赛道,提取中线,如何控制舵机呢

请问你的问题解决了吗?
回复 支持 反对

使用道具 举报

发表于 2016-2-29 16:34:18 | 显示全部楼层
这些硬件都能用在比赛上吗
回复 支持 反对

使用道具 举报

发表于 2016-3-1 17:13:21 | 显示全部楼层
很有帮助!
回复 支持 反对

使用道具 举报

发表于 2016-4-2 22:44:22 | 显示全部楼层
山外哥,你说的那个电机驱动模块1路和2路输出短路,3路与4路输出短路是什么意思啊?
回复 支持 反对

使用道具 举报

发表于 2016-4-3 15:28:36 | 显示全部楼层
山外哥,能发我一份7620的例程吗?
回复 支持 反对

使用道具 举报

发表于 2016-4-6 17:36:50 | 显示全部楼层
谢谢了,山外哥。
回复 支持 反对

使用道具 举报

发表于 2016-4-18 20:48:29 | 显示全部楼层
感谢山外哥,学习了
回复 支持 反对

使用道具 举报

发表于 2016-4-22 21:47:45 | 显示全部楼层
拜谢楼主
回复 支持 反对

使用道具 举报

发表于 2016-4-23 10:39:04 | 显示全部楼层
山外メ雲ジ 发表于 2015-11-30 01:18
硬件介绍和软件算法介绍 大概就这些

山外哥,为什么舵机PD不放进主函数循环里面,而是放进定时中断里了呢?
回复 支持 反对

使用道具 举报

发表于 2016-4-27 10:27:46 来自手机 | 显示全部楼层
山外大哥。你这个程序流程,假如处理时间超过一帧图像时间怎么办
回复 支持 反对

使用道具 举报

发表于 2016-5-15 19:23:56 | 显示全部楼层
山外哥,为什么要把舵机和电机的控制放在中断里呢?实时控制不是更好?
回复 支持 反对

使用道具 举报

发表于 2016-6-29 14:19:39 | 显示全部楼层
受教了
回复 支持 反对

使用道具 举报

发表于 2016-8-24 19:15:21 | 显示全部楼层
学习了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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