【竞赛总结】第七届工程训练大赛智能搬运赛项心得

22/9/25更新

最近发现这篇博客被越来越多人收藏,我受宠若惊。为了给大家提供更准确的参考,我在今晚修改了之前的全文内容,并删掉一些没用的废话。

22/4/15更新

发现这篇文章被很多人看到了,潦草地追更一下国赛的体会。

1. 前言

第七届工程训练大赛省赛落下帷幕已过半月,侥幸取得第二的成绩,等待九月份的国赛。
本人是机械工程专业,从零开始自学,学习路线大概是:C语言 - 二维/三维建模 - 51 - stm32 - Python - OpenMV - 控制。
在开始准备这个比赛前,参与了各类竞赛来练手,例如编程——程序设计竞赛,建模——机械创新竞赛,单片机——电赛,各位也可以参加下。
因为,工训赛物流赛项是一个非常综合的竞赛,如果你的小队只有你自己,就需要丰富的技术栈,初期可以学的不深,但要对各方面都略懂,知道如何查找资料。

2. 省赛总结

从校赛到省赛,可谓是起起落落起起,深刻体会到实力并不占据比赛的全部,运气也很重要。
校赛在寒假过后就开始比了,三分钟跑了一圈完成所有任务后回库,拿了个第一名。由于第六届的比赛只有一小部分参赛队能够完成任务,且三分钟完成一圈凤毛麟角,于是校赛后就没有再进行优化。直到临近比赛的前半个月,陆陆续续有各此赛项的比赛视频上传,忽然发现这个赛项开始卷起来了。

2.1 选材

  • 主控:stm32f1作为核心主控,arduino328用来控制机械臂,
  • 机械臂:采用五自由度悬臂梁式机械臂,舵机。
  • 视觉:OpenMV4
  • 底盘:麦轮底盘,JY61陀螺仪,直流减速电机,tb6612驱动

2.2 视觉

由于主办方的失误,导致场地内二维码印刷模糊,几乎所有以OpenMV开发视觉的队伍无法识别二维码,我花费了所有调试时间来修复二维码识别,仍无可奈何。

为了追求更少的用时,在颜色识别时我采用一次识别六个物料的策略,这样从比赛开始到物料识别完成只需要不到7秒的时间,但这对环境和定位的要求很高。
虽然靶环对准非常的好用(并不),然而受到时间的约束,被迫删掉这一功能。

OpenMV由于限制太多,其实并不好用。我更推荐使用OpenCV来开发视觉。
关于 OpenMV 的快速上手,可以看我之前写过的博客

2.3 底盘

车体机械部分是最大的败笔,结构一塌糊涂:近5kg的负重导致下层亚克力板变形,机械臂重心过高过前极大地影响车身行进过程中的姿态,冗余的上层板限制了机械臂的活动范围,大量的连接部分皆用哥俩好固定,以上各位要避坑。
底盘控制部分为PD闭环融合单轴陀螺仪实现速度闭环,位置开环,没有用到寻迹,定位的误差大概在1cm左右。
因为识别与抓取需要更精准的定位,所以用了5个红外传感器找黑线(第二处决策失误,个人感觉用多路灰度传感器更好)。

2.4 机械臂

对于机械臂结构,不再推荐使用传统多自由度悬臂梁式机械臂。例如线传动式机械臂,并联机械臂,三自由度悬臂梁等等,发挥的都要比传统的六自由度悬臂梁机械臂要更精准与稳定。各个小车的底盘结构也非常精致与顺滑,看得我是越来越自闭、越来越羡慕。也很羡慕人家的四人小队,各司其职,而我只能单打独斗。这也是为什么我在对自己车体的机械结构不满后没有重做的原因,没钱没人手更没时间。
迫于那么多优秀队伍的压力,在省赛前几天内完成了三分钟两圈+码垛的程序。
在这其中深刻体会到的是:机械结构比电控更重要
因为机械结构层出不穷的问题,不得不用电控方面来补偿,浪费了大量的时间与精力。
如果使用多自由度悬臂梁结构,对速度的要求可以放弃了。在省赛初赛调试时由于关节转速过快、臂身承重过高,导致舵机齿轮损坏。
在学校能做到三分钟跑完两圈+码垛,到了现场只能出个库,很无语。
第二天初赛,主办方把二维码重新打印了。可机械臂舵机损坏,没办法完成后续的动作。
幸运的是全靠对手衬托,侥幸过了初赛。到了决赛,换上了老师连夜回学校找到的舵机。

3. 比赛流程

初赛的时候没有复杂的流程,在场地内安心调试就好。
在初赛,有好多弃赛的、扫不了码的、车坏的队伍,在出发前往比赛前一定要仔细检查物流车是否有损坏,并带好易损坏模块的备用件

决赛的流程是这样的:

  • 下午一点半公布新物料和场地图。新物料只有半截大拇指大小,幸运的是赛前已经考虑到所有情况,所以并无大碍。
  • 前往加工中心设计新的抓取末端
  • 下午三点,主办方收回加工好的抓取末端,我们回去取车,带着车前往教室拆装爪子。
  • 下午四点,前往新场地开始调试,直到晚上九点。
  • 下午五点,主办方开始循环发送任务码供我们调试。连到公共局域网后,TCP和UDP都可以使用,我采用的是TCP协议,WIFI模块使用正点原子的ATK-ESP8266。

场地设置和规则一样随机,精加工区、半成品区色环皆为随机,不过没想到场地内有两个桥,且在整个调试时间内,条形码主办方没给贴。

从五点开始,到九点共四个小时,一个场地七八个队伍,我能在场地跑的时间只有一个小时,别的队伍也一样。所以推荐事先封装好所有的代码,不要让你的代码太杂乱无章
因为时间紧迫,并没有和同场的队伍交流路径,导致决赛撞车了。
最后跑了大概两百分吧。

4.国赛总结

在国赛前的视频赛阶段,这才看到了很多大佬的物流车,发现我们当前的技术实力确实不行。
此时,已经是八月份了,我和我的队员都在紧张的考研。
秉持着对竞赛的热爱以及对国赛取得成就的追求,我们从图书馆重新回到实验室,推翻了现有的物流车版本,从机械到程序全部重做,终于在半个月后赶工了出来,又调试了半个月的程序。

说一下相较之前更新了什么吧:

  • 舵机改用串口舵机,从之前的五自由度悬臂梁式改为了四自由度,独立出放物料的托盘,改进后,单次抓取一个物料到放入车内仅需要2秒。
  • 传感器改用四个七路灰度传感器,定位更精确了。
  • 花了很多心思在美观设计上,感觉还不错。
  • 采用双主控stm32f1,加入闭环控制。
  • 重新写了定位的逻辑。
  • 整车碳纤维

最后跑完两圈回库的用时是2分40秒,并且能准确的码垛。

然而,随着调试次数的增多,舵机的磨损加剧,导致误差越来越大,然而我们已经消耗了太多的精力在比赛上,无力再去换舵机。这就导致了在正式比赛时舵机的转角误差达到了5度左右。
最后,我们初赛的成绩还不错,进了决赛,但是决赛中wifi没有接收到,分数很低,拿了个银奖。
不过这时候我们的心思全在考研上,结果已经不重要了。

现在考研已经结束了,对于工训赛,我整整准备了一年,作为一个纯机械的学生来说,一切的东西对我来说都是崭新的,几乎是边学边做,最后的结果对我来说也是很满意的。现在回顾一下这个比赛,我认为有几个比较重要的地方在这里交流一下:

  • 想要取得好成绩,就要舍得砸钱。几乎你的成绩如何,70%取决于钱砸的多少,有钱的可以去了解一下全场定位模块,第一自由度的舵机也一定要用最好的。我们车的成本大概在6k左右,有很多车的成本是1w以上的。
  • 零基础小白也适合参与这个赛项,对全栈能力是一个很好的提升方法。
  • 这个比赛的技术更新换代很快,两年前的经验基本上没用了。
  • 程序最好完全由一个人来写,这个人也要在队伍中有一定的话语权。
  • 机械结构很重要,队伍里最好要有个创新能力强的人。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值