1.項目背景
随着人工智能时代的到来,非常多的工作岗位将会被机器人所取代。家长也意识到了这一点,为了不让自己的孩子输在起跑线,从小学,更有甚者从学前阶段就开始让孩子学习编程。同时,在国家层面,教育部在2018年初的1号文件就已发布,将人工智能纳入了中小学的课程,也就是说STEAM教育将与学科课程并列设置成为中小学生的一门“必修课”。编程是儿童思考与动手实践相结合的课程,不但能培养孩子们的逻辑思维能力,还能在分析问题与解决问题过程中激发孩子无限的想象力与创造力。
葡萄纬度科技有限公司所创导的理念是“科技陪伴成长”,在2018年开发了这款编程机器人产品,这是一款移动平台和百变积木相结合的机器人,在主控上以积木拼搭出不同形象呈现。用户可以根据说明书或APP的指导搭建出自己喜欢的机器人形象,然后用非常清晰而简单的图形化程序语言去编程控制机器人,通过搭建与创造实体机器人与对应APP的结合,让孩子在玩的过程中逐步提升动手能力和编程能力,益智益趣,可以让孩子们充分体验在玩中学习的快乐。
2.工作原理
编程机器人支持手机或平板通过蓝牙无线通信,安装APP遥控或编程操作可控制编程机器人终端。机器人采取2轮(左右均为驱动轮)加2个万向轮的4轮子方案。2个万向轮可以移除变为2轮运动模式,支持前后直线运动,也可差速控制机器人曲线运动,左右转向,原地转向等操作。
编程机器人搭载的处理器为ARM Cortex-M3的32位的微处理器,通过蓝牙模块收到APP运动指令,并且采用MCU采集码盘数据,然后在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制(PID算法)生成PWM波,经过马达驱动芯片控制左右双通道的直流电机,再经过齿轮结构中,给齿轮设置一定的减速比进行传动,实现了机器人可同速或差速控制机器人的运动轨迹操作。如(图1略)。
3.难点分析与研究
这款编程启蒙机器人在研发测试过程中在发现几大难点问题,其中最主要的问题集中在机器人在角度旋转与直线运动时会发生跑偏。基于市场和成本的压力,此款机器人装配使用的是价格相对低廉的直流电机,与步进电机相比电流电机不可实现精确定位控制。如何在控制成本的同时实现机器人产品的一致性及性能的稳定,成为了这个项目能否成功的关键。针对这个问题,本文作了深入的分析与研究。
3.1 测试方法与数据分析
3.1.1 直线偏移测试
对编程机器人在葡萄实验室平整地板进行直线运行测试发现,编程机器人在启动、停止及恒速运行时都会出现不同角度偏离。编程机器人不按预编程所设定的路线向正前方直线行驶, 在2档速度运行,测试3米的运行距离,结果发现最大偏离值达1米左右,偏离角度在18度左右。
3.1.2 原地旋转偏移测试
在葡萄科技实验室平整地板,编程机器人在负载330g在负重下,运行速度是二档,原地分别旋转90度,180度,270度及360度测试发现,旋转90度偏差有15度,旋转180度偏差有17.4度,旋转270度偏差有25度,旋转360度偏差有34.6度。
4. 原因分析及解决方案
编程机器人跑偏问题是系统性问题,通过对于样品进行抽样测试,分别测试从一档到五档的速度,发现由于两边轮子转速不一致,最大差异值达到31圈,导致了跑偏的现象,通过进一步对比数据分析,有以下四点原因及对应的解决方案如下:
原因一:左右两边直流电机转速偏差大于500RPM时,会直接影响左右轮的输出,会出现一边快,一边慢,速度不同步导致机器人运行时一直会偏向一边。用马达测试仪测试7组直流电机转速(表1略),发现最大偏差达2600RPM,已超出规格,所以在直线运行时就会出现向左或向右运行时的偏移现象。
解决方案:首先从直流电机生产厂原端管控电机线芯的原材料,优化生产制程与工艺,管控生产的一致性。其次是,在直流电机工厂端,要求增加马达测试仪器,针对每一个生产出来的直流电机测试空转电流及转速并把数据记录好,给直流电机在规格内按速度分档,确保所有的直流电机都在规格内,左右两边的转速差控制在500RPM以内。
原因二:与齿轮箱的结构干涉有关,通过小批量测试发现,在测试前手拧左右轮,阻力相差很大。同步使用扭力测试仪器确认,与手拧结果一致,两边阻力偏差较大,有大于10N的样品出现。这种阻力偏大,不一致的齿轮箱,在直线运行时也同样会出现跑偏问题。针对结构干涉问题,测试发现齿轮箱支架不平整,齿轮箱支架很难保证同一平面上,导致齿轮箱装在整机上会摇晃,造成轴与支架间存在摩擦阻力,摩擦力越大,电流越大,造成偏移也越大,还有烧电机的风险。
解决方案:设计上调整轴与支架的间隙,增加支架Rib, 加强支架的强度,使支架不易变形,确保齿轮箱支架在同一平面上。同步制定好生产组装流程及方法,依照测试通过的扭力,定义好工人锁螺丝扭力,保证产品的一致性。
原因三:硬件方案中没有加入增量式码盘与光电开关,底层软件端由于没有增量式码盘与光电开关用于准确读齿轮箱取旋转角度及直线偏移校准,不能及时修正角度会导致跑偏问题。另外,把速度调节方式采用PID调节,这种调节方式由于误差的累积也会造成2个轮子的行程差异,导致跑偏
解决方案:在硬件方案中加入增量式码盘与光电开关,用于软件端准确读齿轮箱取旋转角度及直线偏移校准、及时修正对左右两轮速度的控制,使左右两轮速度一致。另外,为更好的解决PID调节由于误差的累积造成的2个轮子的行程差异这一问题,需优化PID参数直到合适的值,机器人才能在平整的地面直线运行。
原因四:没有对机器人启动和停止做出相对应的优化,导致跑偏。因为启动时直接到达较大速度,会扩大左右两边直流电机的转速偏差,导致机器人启动时角度偏差较大。另外,在机器人停止时直接从最大速度立刻降低速度为零会由于制动力矩不同,导致停止时的左右轮的行程差异较大。
解决方案:为解决启动时直接到达较大速度导致机器人启动时角度偏差较大这一问题,在软件端优化成阶梯式启动(图3略),把启动分为多个阶段,直流电机在每个阶段到达设定的速度后,再增加速度,直至达到设定速度,依此缩小每个阶段产生的距离偏差,目的是修正启动偏差。另外在停止时电机制动力矩差异导致了机器人停止时的车身偏移,造成停止时跑偏。停止时直接从最大速度立刻降低速度为零会由于制动力矩不同,导致停止时的左右轮的行程差异较大。缓慢降低速度,使用阶梯式停止(图4略),保持两轮速度一致,当速度降到较小时,机器人再把速度降为零。
增量式PID控制
根据位置式PID控制公式,写出n-1时刻的控制量:(图表略)
PID速度控制调节代码如下:(图表略)
解决方案测试结果:(图表略)
把上述的直流电机、电子硬件、机械结构与软件的四点解决方案导入后,在葡萄科技实验室平整地板经过抽样5台编程机器人测试。分别测试旋转90/180/270/360度,计算出偏差角度都小于3度(表2略)。测试机器人负载330g直线运行3米,如(图5略)所示偏移角度测试示意图,计算出跑偏的角度小于5度(表3略),测试结果符合产品的测试标准,同时也满足了儿童用户编程教育的使用需求。
5. 结论
在整个项目中进行了大量的测试分析与研究得出,编程机器人直线跑偏问题不是一个单纯的硬件或者软件问题,它属于一个综合性的系统性问题,需要从系统的角度出发,结合原材料、电子硬件、机械结构与软件控制系统,才能彻底解掉编程机器人在平整地面的跑偏问题。另外,由于产品整体成本的考量,选用成本较低的直流电机,对解决跑偏问题也增加了难度。从直流电机的原材料端开始,管控电机的输出转速,匹配左右两边的直流电机在设计的规格内且在两者转速差在500RPM内,优化了结构的轴与支架间隙及支架强度的设计,找出综合的解决方案,在硬件上增加光电开关与码盘。
在研发初期,设计方案存在一定的缺陷,首先在硬件设计上缺少码盘与光电开关,不能更好的优化与解决问题。经过测试与研发团队的快速測试与分析后,及时增加码盘与光电开关。有了硬件基础之后,底层FW从启动,运行到停止完整的过程进行了优化,把急启、急刹调整成阶梯式启停,在实时的运行过程中对角度及时修正。通过充分的测试、分析及优化,跑偏问题得到了及时的发现与解决,保障了产品的品质的同时,也推动了产品的上市时间。
通过以上的分析和研究,虽然解决了编程机器人在平整地面的跑偏问题,但还是有局限性,特别在不平整的地面如何能使机器人直线运行,创造更多场景的可玩性。后续会继续深入研究机器人在不平整的地面运行,方向是增加6轴加速度传感器,提供方向参考。
文章来自网络,版权归作者所有,如有侵权请联系删除
“在与冠卓咨询牵手引入精益六西格玛十大污的软件后,是将其经营业绩最大化的综合十大污的软件体系和发展战略,是使企业获得快速增长的经营方式,精益六西格玛十大污的软件将对企业文化改进产生很大的作用。”
——某集团十大污的软件公司