2022年 大学生工程训练比赛[物料搬运]
本博客为2022年大学生工程训练 智能机器人搬运赛项参加记录,主要为参赛过程和使用的技术和使用到的模块和经验分享。
本人和团结参加了2022年大学生工程训练(简称工训赛)校赛选拔,准备了几个月的时间和花费了较多的资金,由于疫情等多种情况,很遗憾未能参加湖南省省赛,过了这么久还是写个博客记录参赛准备和调试过程。
可加wechat 号:comprehensivable 询问获取相关资料!
目录
一、比赛要求
比赛流程:水平铺设的赛场尺寸为2400>2400 (mm)正方形平面区域(如图1所示,两条红色的中心线,实际上没有),赛场周围安装80 mm高的亚光白色挡板,仅作为场地边界标识,不宜作为寻边、定位等其它任何用途。赛道地面为浅黄色,地面图案中央设有4块340>340 (mm)黑色方框,为机器人不能进入区域,线宽(方框内侧)为20mm。在比赛场地内,设置出发区、返回区、中转区、物料投放区(前线)、挂件区(后方)。其中机器人初赛自主规划路径,完成战争物资的搬运过程,取货(中转区),运送前线(物料投放区),胜利后挂奖章(挂件区) ;机器人决赛,两台机器人传递情报(出发区),飞车夺物 (中转区),敌后安装炸弹爆破(物料投放区),胜利会师(挂件区)。出发区和返回区的尺寸均为300x300 (mm),颜色分别为青色和紫色。
二、整体思路
智能物流搬运小车采用树莓派做为小车的大脑,通过和stm32和Arduino、激光雷达等通讯达到比赛要求定位,机械臂,移动等操作, 通过树莓派接收IMU、激光雷达进行里程计的算法确定当前位置、通过ros给与目标点,计算出最信任路径,并且通过对物料颜色、边沿识别调整智能车位置,调整完毕,机械臂进行抓取和精准放置。
系统方案难点:
1、定位:定位采用激光雷达、IMU等较精密模块,对底盘驱动要求极为苛刻
2、物料识别:对于物料的识别过程中需要精准的传输物料的位置信息给树莓派,光源、杂波会识别造成影响
3、机械臂:通过设想需要自行设计并调试其是否精准抓取并放置物料
三、硬件模块
讲个小故事:在调试的时候,当时我们使用的铝板会导电,发生了俩次意外,短路导致实验室电闸都跳了,实验室一半的电脑黑屏,所以大家一定要注意,不然芯片易烧坏也不安全!
硬件本次使用了较多,包括整个小车的框架,在轮趣科技购买较贵,包括使用树莓派、为了配合电机驱动画了一个stm32来使用减少杜邦线,大家可以比较一下,可以看出本来和电机和霍尔传感器连接的线都减去了,看起来更整洁了也更加稳定。
本次的核心板是自行设计的,所以大家使用的时候要根据自己的io口去设计,由于为了稳定MPU6050,也将其设计进去,经过测试还是很稳定的!
由于使用了很多模块,于是电量使用很多,那么电接口也是很多的,也是为了美化其接线,设计电源管理模块,使用boost和buck'电路,但是该模块在实际使用中不够好,电流输出还是弱了,最终还是买了俩个升压和降压模块,将其设计成一个电源管理模块。
本次最为主要的模块列如下,还包括很多测试但是未使用的器材,所以整体花销还是较大的。
序号 | 所需器件 | 7 | 摄像头模块 |
1 | 树莓派 | 8 | 电池 |
2 | stm32核心板 | 9 | 电源管理模块 |
3 | 电机驱动板 | 10 | IMU惯导 |
4 | 舵机 | 11 | 地图搭建 |
5 | 机械臂组件 | 12 | Arduino加驱动板 |
6 | 小车结构铝板 | 13 | 激光测距模块 |
四、视觉部分
利用摄像头和通过python编写相关算法对物料的颜色和边缘进行提取和识别,发送正确信息至树莓派,树莓派发送信息给arduino驱动机械臂和发送给32调整智能车的位置。
识别二维码和条形码获取二维码和条形码中包含的信息从而了解比赛的相关信息。
本人负责硬件、材料购买和文章方面,视觉和定位方面不能详细为大家介绍,只能稍提一嘴
其中光线会影响到其识别到的位置,所以需要高精度的滤波,使用膨化,腐蚀等方法尽量的消除外界的影响,从而传递一个精确的位置给树莓派主控。
五、机械臂部分
机械臂使用的为分开购买舵机和组件,大家要注意的是:舵机一个一个调零后再进行组装,不然组装好了还得拆,很麻烦的,当时我和学弟俩个花了好久才最终搞好这个机械臂,因为不是一套的,所以部分卡住,需要暴力组装,当时设想的是从上往下抓物料,通过在网上寻找找到了一个类似这样的,但是通过打印出来实际效果不够好。
机械臂调试过程,可以通过ros建模,在ros操作机械臂,现实中机械臂便会复现,机械臂部分最主要的要前面识别的位置精确才能更好的进行调试,下面是调试的视频。
机械臂
五、软件定位部分
本次比赛定位为难点,采用的方案为激光雷达+IMU(惯导)+里程计(代码部分)进行处理
通过激光雷达和IMU进行收集场地数据和滤波处理后,并且通过里程计的计算将数据传给树莓派、树莓派运行ros软件确定现在小车所在位置
驱动:通过ros了解智能车所在位置后、通过ros给与智能车目标点,并且通过计算给出最信任的路径、发送速度信息给stm32、32驱动电机行驶,在运行过程中通过霍尔编码器和定位设备不断进行调整达到路径规划的效果
下面为智能车整体部分,还缺少一部分未安装,当时是在前期调试过程中拍的,视频也是在参加校赛选拔时,为了答辩准备的,但是最终还是遗憾的未能参加省赛,但是还是学了很多。
工训赛智能车
参考资料:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)