OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4649|回复: 23

[我的电赛]那个无憾的4天3夜+自己的总结+开源代码

[复制链接]

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
发表于 2017-8-31 14:29:00 | 显示全部楼层 |阅读模式

这是我第一次参加电赛,队友3个人,我们虽然是第一次合作,但是配合的很好,很感谢我的队友....

下面进入正题

刚出题的那个早上,我们都是挺兴奋的,在实验室睡觉,怕第二天起不来,然而,我们的生物钟好像比鸟儿还早,早早就兴奋的不行,我们第一次参加国赛,是会有这种感觉的.
出题了,我们之前就是准备做自控类的题目,所以第一眼就看B题,觉得好像有点难,然后再看了其他的所有题目,还是觉定做B题,刚好我们学校还有两组也是做B的,我们就在一起讨论了十几分钟,就去选择材料了,开着小电动,去市区买木板.我们都没买过木板,不知道哪里有木板,就兜兜转转,终于买到了,拿回去,就想着构思硬件,很快,迎检就搭好了,另一个队友就在调试舵机中值,分工很好,进度算是挺快的,然后就弄好了机械结构,开始调试,我们是用两块单片机的,一块stm32作为主控芯片,另一块k60作为数据处理芯片,鹰眼摄像头采集数据,通过串口传输给stm32,做出相应的处理,这些地方我们都做的挺好的,但是,还是有很多问题,下面我一一总结:
由于,我们之前一直在准备电赛,买了很多模块回来调试,比如带丝杆的步进电机..舵机..超声波模块..mpu6050..角度传感器....买了那么多东西回来,都调好了,但是..却一点都没有用上..最后还是拆了我们之前搞飞思卡尔的舵机跟摄像头..把基本的模块搭建起来,用stm32控制舵机的打角与显示屏的显示,,而k60作为摄像头的处理,扫描小球,得出小球所在的坐标,传输给stm32,让stm32通过pid算法,让舵机打角,从而完成操控....
下面是流程框图:

流程图.jpg

       这里的主要难点是摄像头的扫描..因为木板是正方形,而摄像头采集的图像是320*240分辨率的,是长方形..这里不能像飞思卡尔一样用边沿扫描的方法,要用全场扫描,找出小球的黑点,从而得出他的圆心(球心)坐标..
然后再做摄像头采集的数据的滤波处理和圆心的滤波:
    camera_get_img();                   //摄像头获取图像//黑白摄像头
    mg_extract(img,imgbuff, CAMERA_SIZE);               //解压图像,为了调用
    AllFilt();         //整场滤波
    countcenter_ball();    //搜线
    x_filte();            //x轴滤波
    y_filte();           //y轴滤波
    count_ball_center();   //计算小球中心点
这是主函数的内容,代码我在下面已经开源...

       还有传输数据的滤波:假如小球x与y都为0,,说明数据采集错误,这种是不能传给stm32的,否则会很抖,毕竟那一瞬间通过pid的处理得出的值变化很大:
还有小球x或者y有一个为0也是,所以要对小球限制,...
if((ball_x_num!=0)&&(ball_y_num!=0)&&absi((ball_x_num-ball_y_num))<250)
     {
         send_ball_num(ball_x_num,ball_y_num);

}
     就传一个坐标,,,stm32就能处理了....
     由于这种通讯也是涉及到时间的问题
     我们测出k60采集并处理得出坐标的时间为50ms左右,算是比较快的了,再传输数据...
而stm32用上串口中断,当他接收到数据的时候,舵机才打角,我们舵机是100hz的频率,最快可以每10ms打一次角..所以这种操作完全适合..还避免了乱打角的问题...
   
   至于关于算法的问题,,下面的代码也已经开源了我的算法: 舵机打角,,,,可以自己去看看代码...........
   
   *还有很重要的一点:硬件要搭的稳,摄像头不能动,不然坐标会动的,,,多多少少都有影响.*

      经验之谈   
电赛遇到的问题简单描述:
1:选择材料,选用山外鹰眼摄像头,硬件二值化,毕竟前段时间做完飞卡,刚好会用这个摄像头,选择木板,小球滚动的木板是黄色的,还有树木黑色的年轮,对摄像头会照成一点的干扰,所以选择喷漆,但是组委会明确规定不能喷漆,但是还是冒险喷漆了,避开了数据的不稳定。

机械结构的问题:
我们选择木板搭建,真正搭建的时候,才发现自己想到的模型跟现实还是有很大差别的,机械结构不对称,舵机打角不好控制,稳定性这些都要考虑,还有选择固定木板的材料,我们选择502加铁钉,还算比较牢固,但是502用得比较多,还不容易拆卸,去到送作品现场才发现别的作品很小,可以拆卸的,但是我们的作品很大很大,90*70*100cm。
木板还容易变形,我们的第一块板子,小球目标的地方凸起,导致小球无法定在目标里面,遂换了一块板。
这些是硬件的问题。

软件上,其实就是算法的处理,还有小球坐标点的精确,对坐标的滤波做的不好,沿用了当时飞思卡尔的滤波,没有改进,本来飞思卡尔做完有挺多时间改进的,但是没有改.
其他的东西基本没什么问题.
现在的我对pid的算法有了更深的理解了.这是一种收获.

吃亏的地方在于,我都调出来了,但是由于作品太大,搬运时候导致摄像头不正,或者有可能是平横板歪了,总之,去到现场调试时候,没能做出在实验室的效果,这是很可惜的一个地方,
解决的办法其实有很多的,但是软件没做好,没完善,就解决不了.
请记住以下几点:
1>:人机交互界面要做好,程序要写好,通过按键查看参数,不断调整,这是很好的方法.
2>:对于类似摄像头这种采集精确数据的传感器,装箱拆箱后都要重新采集数据,保存在类似24c02的存储芯片上,可以使数据在程序中运行更加精确,不会因为搬动导致数据不精确,这也是我终于知道别的学校的飞思卡尔的队伍为什么不拿电脑在调试,只是通过按键就能调试了.
3>:我们实验室的光线不足,任何一个比赛的场地,光线都是充足的,小球反光?应该都有这个影响,还有就是摄像头支架不要用太大的木条,会遮挡光线,导致也会有偏差.可以适当添加LED来补光.

还有重中之重的经验就是,网上有猜测题,最好就做,起码要构思硬件并写好相关模块的代码.

这些是我电赛的经验.

配上我的作品照片:搭好硬件的当天晚上:


能动起来的那个时刻:

由于当时调试没怎么拍照,只能找到这些.这些也是比较激动的时候拍的.



                                  谢谢大家.
再开源我的代码吧,包括k60的小球扫描,滤波,与stm32间的通讯:


附件在:
[我的电竞]那个无憾的4天3夜+自己的总结+开源代码
http://bbs.21ic.com/forum.php?mod=viewthread&tid=2033464&fromuid=1875788



看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-1 11:54:18 | 显示全部楼层
遗憾啊 只做好了硬件 关键程序调试不出来 最总放弃了 羡慕你们
回复 支持 0 反对 1

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2017-8-31 14:32:07 | 显示全部楼层
支持下,同样参加过15年电赛,回忆满满
回复 支持 反对

使用道具 举报

0

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2017-5-26
在线时间
76 小时
发表于 2017-8-31 14:35:48 来自手机 | 显示全部楼层
顶,,,
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2015-8-11
在线时间
17 小时
发表于 2017-8-31 16:27:50 | 显示全部楼层
顶楼主,我也是15年的电赛参与者,本来是想搞飞行器的,后来器材与经费不足没有弄了,后来做的A题电源,勾起了我的回忆啊
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-8-31 16:58:35 | 显示全部楼层
炫色康康 发表于 2017-8-31 14:32
支持下,同样参加过15年电赛,回忆满满

哈哈哈
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-8-31 16:58:52 | 显示全部楼层
hnwangkg@163.co 发表于 2017-8-31 16:27
顶楼主,我也是15年的电赛参与者,本来是想搞飞行器的,后来器材与经费不足没有弄了,后来做的A题电源,勾 ...

恩恩...
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2017-8-31 17:19:03 | 显示全部楼层
13年参加电赛,做电源,满满的回忆,自耦变压器烧了一个,电容炸得响当当。。。去华师演示的时候,一点都不担心(华师实验室好炸不了,听说以往都是炸电容像放鞭炮),狂增加负载,哈哈。另外,2013年做四轴的,全广东几乎全军覆灭,只有广工有一组是成功的,只要你的四轴能够像青蛙一样跳一下,就可以给个省三等奖。
回复 支持 反对

使用道具 举报

5

主题

52

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
380
金钱
380
注册时间
2017-2-19
在线时间
53 小时
发表于 2017-8-31 18:01:51 | 显示全部楼层
Acuity 发表于 2017-8-31 17:19
13年参加电赛,做电源,满满的回忆,自耦变压器烧了一个,电容炸得响当当。。。去华师演示的时候,一点都不 ...

你们还是够牛的,电源贼难了,都开始放鞭炮了
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-8-31 19:56:13 | 显示全部楼层
Acuity 发表于 2017-8-31 17:19
13年参加电赛,做电源,满满的回忆,自耦变压器烧了一个,电容炸得响当当。。。去华师演示的时候,一点都不 ...

哈哈哈哈,大神,,我还没见过炸电容呢,哈哈哈
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

25

主题

161

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2017-7-17
在线时间
149 小时
发表于 2017-8-31 22:04:43 来自手机 | 显示全部楼层
膜拜大神
回复 支持 反对

使用道具 举报

7

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
620
金钱
620
注册时间
2016-10-20
在线时间
74 小时
发表于 2017-8-31 23:14:06 | 显示全部楼层
17年做电赛的小白路过。。
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-8-31 23:22:18 | 显示全部楼层
创世神 发表于 2017-8-31 23:14
17年做电赛的小白路过。。

我也是小白
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-8-31 23:22:38 | 显示全部楼层

我是小白
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-9-1
在线时间
2 小时
发表于 2017-9-1 09:28:42 | 显示全部楼层
我也是小白
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-9-1 12:46:22 | 显示全部楼层
Rainday 发表于 2017-9-1 11:54
遗憾啊 只做好了硬件 关键程序调试不出来 最总放弃了 羡慕你们

明年再来啊,没事的.明年我也来
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

6

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2017-6-18
在线时间
26 小时
发表于 2017-9-2 11:58:00 | 显示全部楼层
caijie0513 发表于 2017-9-1 12:46
明年再来啊,没事的.明年我也来

明年就毕业了
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-9-2 13:40:49 | 显示全部楼层

心疼你,,,,,,,加油,师兄
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-9-9 23:37:34 | 显示全部楼层
1111111
回复 支持 反对

使用道具 举报

2

主题

46

帖子

1

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2017-5-8
在线时间
136 小时
发表于 2017-9-10 09:35:50 | 显示全部楼层
2015电赛,几乎在实验室睡了一个暑假,,,
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-9-10 12:21:27 | 显示全部楼层
fl7547454 发表于 2017-9-10 09:35
2015电赛,几乎在实验室睡了一个暑假,,,

66天暑假,,,,,完了飞思卡尔又搞电赛,,,回家11天
看帖回复是一种美德
http://openedv.com/?fromuser=caijie0513
回复 支持 反对

使用道具 举报

10

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2017-1-17
在线时间
37 小时
 楼主| 发表于 2017-9-10 15:40:59 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2019-7-13
在线时间
14 小时
发表于 2019-7-15 10:34:17 来自手机 | 显示全部楼层
caijie0513 发表于 2017-9-10 12:21
66天暑假,,,,,完了飞思卡尔又搞电赛,,,回家11天

师兄,我也是打算两个比赛都参加的,现在大二小白一个
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2019-1-6
在线时间
31 小时
发表于 2019-7-29 10:08:42 | 显示全部楼层
老哥你为啥不直接用一块K60完成所有事情
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-6 19:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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