今年电赛我们队伍选择的是B题,滚球控制系统。最后我们得到了省特和国一,也算是了结了我大一时的心愿吧。下面对这次比赛进行一下总结,以后回忆起来的时候也有个念想。

滚球控制系统是一个多变量、非线性控制对象,是球杆系统的二维扩展。本系统以Arduino Due为核心控制板,通过摄像头采集到球的位置信息,经过PID的控制算法来控制舵机的运行,从而控制小球的运动。其目的是让一个自由滚动的小球能够平衡在平板上特定的位置,或者沿一定的轨迹滚动。经测试,系统能够实现题目要求的各项功能,实测指标均达到或超过题设要求。

关键词:滚球控制系统;Arduino Due;位置检测;PID控制

当时网传已经有板球系统这道题了,虽然说心里没当一回事,但是还是默默地查起了一些资料。

板球系统、板球系统,最关键的就是需要检测到球的位置,然后通过板的机械运动将球保持在指定的位置上。

怎么检查球的位置呢?有两种不错的方法:一种方法是利用电阻屏,还有一种是利用摄像头。这两种方法比赛之前我都试过,电阻屏的话市场上有卖的一般就是7寸-17寸的四线、五线电阻屏,它获取小球位置比较灵敏,而且精度高、延迟低,对小球的材质、颜色没有要求,但是要求小球具备一定的重量,要不然检测不到球呀。至于摄像头检测小球的位置的话,一种方法是检测圆形,另一种方法是颜色检测,一般颜色检测的速度会快一些。如果使用摄像头检测小球位置的话,那么对处理器的运算速度要求较高,而且对光线的要求也较大,但是也可以使用开源摄像头(如OpenMV,pixy等),直接把小球位置信息等通过I2C、USART传输回单片机上。我们最后使用的就是Pixy。

最后赛题出来的时候,我们就傻眼了,居然和网传的消息那么像,但是尺寸却那么巨大。本来写好的电阻屏的程序是用不到了,只能用摄像头检测小球位置这种方法了。

当然我们想,小的我们都做好了,大的岂不是直接把原来的结构放大一些就是啦。但是后来发现我们想多了,尺寸变大许多导致的结果就是,机械结构需要重新设计。之前小板球系统的稳定性超级好,根本不会出现板子的抖动问题。但是等系统变大许多,板子变得很大很重,摄像头需要架设的很高,就带来了许多问题了。

摄像头是距离板子1m多的位置,这带来的后果就是,可能摄像头找不到那么小的球的位置了。

在比赛的那几天中,我们的机械结构换了4套。感觉一直都是在做木工活。第一套结构是纯木质的,各个部位全部用胶粘死。第二套是板子用的泡沫板,其他部分还是木质的。第三套是板子用的黑色喷漆铁板,支架是铁的,底板是木的,整套结构超级重、而且也不能拆卸。第四套结构的话,我们板子选择的是60*60*1cm的雪弗板,这个比较轻、而且也比较平,底板是PVC版,画原理图然后切割,支持部分是铝架,所有部分均可拆卸。

等机械结构做好之后,还剩一天的时间来写程序,简直奔溃,感觉比赛的大部分时间全部都在设计机械结构。但是这是非常必要的,因为机械结构如果不好,你的程序优化的再好,也是不会稳定的,尤其是这么巨大的一个装置。

前面说了一堆废话,下面说一点有用的:

①我们选用的控制器是Arduino Due。因为使用它开发简单方便快速,而且时钟频率大84Mhz,相比于普通的stm32f1一点也不逊色。本来想直接用树莓派了,但是想到用树莓派可能有违规的可能,所以还是算了。

②摄像头选择的是pixy。利用Pixy图像识别传感器检测小球位置坐标。Pixy支持多物体、多色彩的颜色识别,同时也支持多种通信方式,它搭载的图像传感器配合强大的硬件,可以将小球的位置坐标信息快速地发送给微控制器。注意!!!这可是直接把小球的坐标发到单片机里唉,所以你用性能差一点的单片机也没有关系了,这大大的简化了程序的复杂性,省去了自己写图像处理部分的事,节省了许多时间。

③舵机的话我们试了好多舵机,贵的、便宜的,最后还是选择了MG996R。具体原因我不多说,大家可以买来试试。

(待续。。。)









【Arduino】2017年电子设计大赛B题 滚球控制系统|板球系统的更多相关文章

  1. 2020年电子设计大赛F题

    挺简单前一百分得了九十多 当然主要是队友很给力 1 温度判别 MLX90614DCC,然后测温拟合吧...从五十度到三十度平均一次要测一个半小时...这是真的痛苦...然后虽然文件里面说自带测温工具, ...

  2. 2020 年TI 杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置)

    2020年TI杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置) 摘要:E题的竞赛内容主要是参赛者自己搭建一个晶体管放大器,能够产生不失真.顶部失真.底部失真.双向失真和交越失真五种波形,并分别 ...

  3. 2014年湖北省TI杯大学生电子设计竞赛论文格式

    2014年湖北省TI杯大学生电子设计竞赛 B题:金属物体探測定位器(本科) 2014年8月15日 文件夹 1 系统方案 1.1 XXX的论证与选择........................... ...

  4. MCM/ICM2018美国大学生数学建模大赛D题翻译

    MCM/ICM2018美国大学生数学建模大赛D题翻译 2018年ICM问题D: 非使用汽油并在使用电力行驶的汽车(电量非空的) 由于环境和经济的原因,全球都在减少使用化石燃料,包括汽车汽油. 无论是受 ...

  5. 2014年TI杯大学生电子设计竞赛地区赛使用仪器及器件、设备

     2014年TI杯大学生电子设计竞赛地区赛使用仪器及器件.设备 a)        3A/30V双路稳压电源(可并联): b)        60MHz示波器: c)        三位半数字万用 ...

  6. 摹客 · Veer 第二届设计大赛邀你来战!

    2018年12月,摹客设计大赛一年一度一归来. 继2017年摹客全国首届原型设计大赛成功举办后,本次大赛是摹客第二届设计大赛.大赛由摹客主办,Veer独家冠名赞助,iSlide和创客贴协办,国内多家知 ...

  7. 郑捷2017年电子工业出版社出版的图书《NLP汉语自然语言处理原理与实践》

    郑捷2017年电子工业出版社出版的图书<NLP汉语自然语言处理原理与实践> 第1章 中文语言的机器处理 1 1.1 历史回顾 2 1.1.1 从科幻到现实 2 1.1.2 早期的探索 3 ...

  8. Mockplus设计大赛获奖选手专访 | High音:轻松生活,随心嗨音

    "看似低调,实则高调的设计,UI设计是用了功力,主页功能和内容一览无余,方便用户选择,金字黑底,给予用户极好的奢华体验.原来听歌也是一种视觉享受.创新性源于对听歌氛围的把握,大幅的图片,刺激 ...

  9. 3I工作室的成员在2013年(第6届)中国大学生计算机设计大赛总决赛中荣获全国二等奖

    在暑假举行的2013年(第6届)中国大学生计算机设计大赛中,我院的参赛作品<毕业生论文选导系统>(作者:祝丽艳/许明涛:指导老师:元昌安/彭昱忠)入围总决赛,并荣获全国二等奖. 2013年 ...

随机推荐

  1. File FileStream StreamWriter StreamReader文件读写操作方法

    string path = "D:\\AccountChecking\\Test.txt"; string content = "abcdefg\r\nhigklmn\r ...

  2. JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)

    函数节流,简单地讲,就是让一个函数无法在很短的时间间隔内连续调用,只有当上一次函数执行后过了你规定的时间间隔,才能进行下一次该函数的调用. 函数节流的原理挺简单的,估计大家都想到了,那就是定时器.当我 ...

  3. Winform退出运行后,删除运行目录(批处理方法)

    /// <summary> /// Winform程序退出删除运行目录 FormClosed调用 /// </summary> private void DeletExeFil ...

  4. Bootstrap列表与代码样式(附源码)--Bootstrap

    给大家分享下Bootstrap框架中列表与代码样式相关的知识 1.列表 (1)无序列表 <ul> <li>CN217编程</li> </ul> 注意:u ...

  5. riot.js教程【二】组件撰写准则、预处理器、标签样式和装配方法

    基本要求 一个riot标签,就是展现和逻辑的组合(也就是html和JS): 以下是编写riot标签最基本的规则: 先撰写HTML,再撰写JS,JS代码可以写在<script>标签内部,但这 ...

  6. 【学习】苹果iPhone safari浏览器样式重置修复按钮圆角bug

    iPhone safari浏览器中,input按钮会按苹果的默认UI来渲染,例如,写的按钮明明是这个样的: 但是实际就会是这个样子: 怎么办呢? 为按钮添加:-webkit-appearance: n ...

  7. App 监控、推广

    一.监控 酷传  http://www.kuchuan.com/ 应用雷达  http://www.ann9.com/ AppAnnie https://www.appannie.com/cn/ ap ...

  8. iOS 记录近期遇到的几个bug

    1. actionSheet与pickerView 不兼容 发生环境:ios 9以上,其他无测试. actionSheet与pickerView在一起使用时,当actionSheet弹出后,紧接着再弹 ...

  9. 彻底了解构建 JSON 字符串的三种方式

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7701856.html 前言:JSON 是轻量级的数据交换格式,很常用,尤其是在使用 Ajax ...

  10. js的解析顺序 作用域 严格模式

    一.javascript的解析顺序 我们大家所理解的代码的执行顺序都是从上到下的,但是实际上确不是这样的.我们看一下下面的代码. 1 alert(a); 2 var a = 1; 如果执行顺序是从上到 ...