首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【小站精选】硬核Geek:魔方机器人的心路历程连载(Part1-机械)

【小站精选】硬核Geek:魔方机器人的心路历程连载(Part1-机械)

作者头像
Chris生命科学小站
发布2023-02-28 18:35:31
发布2023-02-28 18:35:31
8590
举报

在整个魔方机器人的设计过程,经历了反反复复的验证和推倒重来,最终呈现出来的样子,远不是最开始设计的样子。这是由于创作过程中,我们学到更多新的技能,摸索到更多提升的方向,同时走出了原有的思维定势。

正因为如此,我尝试整理一下整个设计和制造历程,供大家参考。希望大家参考思维方式,提升自己的思维模型,并不建议大家直接参考设计,因为设计本身还存在很多不合理的地方,因此在文中和文外并不提供设计原档。

设计第二代魔方机器人的初衷很简单,因为做第一代的时候是在学生时代,受限于知识面和可操纵资本,无法做到尽善尽美。工作的几年中,每当学到新技能,都会思考到底能不能用到机器人上。即使在路上走着,也会不停的回想到底怎么样才能做得更好。

另一方面是几年来在各大视频网站陆续看到模仿一代机器人的视频,但鲜有看到重大突破,我觉得作为国内早期的一批魔方机器人缔造者,有责任和义务扛起振兴民族机器人希望的大旗,为年轻人树立标杆榜样。 终于,在2015年11月一个周六晚上,下定决心,以当时仅有的知识面,做出一个能代表自己决心和能力的魔方机器人。

当年的立誓文档。

这里把开篇的文档拿出来分享,最主要的想表达的是,做产品预研设计的时候,通常刚开始的假设,很可能在实现的过程中推翻,最后出来的成品可能与当初的设计相去甚远。然而不管最终成品远达不到设计要求,还是远超出当初设计要求,都是好事。如果远达不到设计要求,说明咱们早期对自身的能力边界没有清晰的认识;反之,说明咱们低估了自身的能力边界,在过程中学到很多新技能,并学以致用。

设计前期是论证阶段,从哪些维度来提升速度(较于1代)。第一代还原时间接近70秒,第二代设计之初指标定为15秒。因为分析第一代机器还原速度慢,主要是几个原因造成:

  1. 旋转和夹持速度太慢
  2. 解算出的还原序列太长
  3. 图像识别和解算都通过STM32单片机实现,性能弱

针对几个主要原因,有以下对策:

  1. 旋转和伸缩都更换为大扭力高精度超快速的高压舵机
  2. 图像识别采用高帧率摄像头,通过PC识别
  3. 解算通过PC,借助强大CPU找到更短解

老的旋转舵机参数为 0.14sec/60° @6V

新的旋转舵机参数为 0.03sec/60° @8.4V

在参数选型上,新舵机转速比老舵机快4.6倍,但由于扭矩只有原来的1/3,带动魔方考虑加减速的时间,新舵机大概比原舵机快3倍左右。

至于伸缩电机因为需要保证运行距离和扭矩,速度提升大约比原来快2~3倍。

最后是算法,在当时找到一款算法能产生比第一代短30%左右的序列。综合下来大致还原时间可以尝试挑战15秒。

--------------------我是分割线---------------------

设计之初是11月底,为了缩短工期,于是目标设定为在次年1月底前将所有配件备好,利用整个春节假期完成整个机器人大部分机械和驱动设计,节后抽空完成参数调优。

在提高还原速度以外,另一个很大的挑战是机械结构的稳定性,需要在这么短时间内保证机械结构稳定,首选方案肯定是找现成的工业用料。一代机器最难的实现是保持整个伸缩旋转过程中各个轴心的对准。而现成方案里面最常见的伸缩方案就是丝杆滑轨了。

方案一:

这个方案最大的问题在于体积和重量,先说体积:

整个丝杆组件设计下来,占地 65cm x 65cm,这还没加上后置电机的长度,最终整套下来占地面积至少 1㎡,原谅作者家境贫寒,家里实在没有这么大的桌子可以摆下。

另一个是重量,初步估算整组重量差不多28kg,在作者还没锻炼好麒麟臂之前,要搬动这么大这么重的东西,可能还需要一个挖掘机。

当时的伸缩及旋转电机希望用工业级的无刷伺服,保证扭矩转速的同时控制也简单。

标称可达3000RPM,扭矩4NM,看参数用来做机器人完全足够,但买回来实测发现有一个很大的弊端,由于每次转动角度只有90°或者180°,电机内部转子铁芯非常重,转动惯量非常大,导致在这么小的行程内,连300RPM都没达到就要减速了,使得高速性能完全发挥不出来。

后来找到一些高加速度丝杆滑台,比如KSS的超精密微型滚珠丝杆,但也苦于实在是找不到货源。更重要的是高加速度其实是依赖动子的质量轻,因为F = ma,电机输出一般是恒功率或者恒扭矩的,如果推动的东西越重,加速度则越低;而行程△S = at²/2,加速度越低,所花费的时间越长。

于是,摒弃了大型工业电机的设计,转而全部换用小型高压高速舵机实现,于是有了下图的设计:

方案二:

通过两边伸缩滑轨驱动旋转舵机的做法实现控制魔方。

整个占地面积缩小了 3/4,重量测算也减轻到2kg以内,使得整个设计的可行性又往前进了一步。为此,把其中几个工件拿去做CNC回来做进一步的性能和重量测算。

但是垂直伸缩的方案最大的问题在于夹持的时候,两边需要微微用力维持,但一般舵机无法控制输出扭矩。实现伸缩时,到位都需要减速,涉及到减速,都需要时间,会导致一定的时间耗用,如果能大幅度缩减减速的时间,那又可以将速度再往上提一些。

根据分析,主要时间浪费在减速上,如果不减速,会直面撞上魔方,使得魔方产生侧向位移,致使相邻的两个轴心偏离。那我们能不能把机械结构设计成即使不减速硬碰硬,也不会影响其他轴心,也不会使得魔方发生位移呢?

实际上确实可以这么设计,当我们夹持的方式改为用夹子方式,使用单臂即可夹住魔方,不需要两个对爪才能把魔方夹紧。当某个机械臂需要夹住魔方时,可以狠狠地用力夹住,不需要担心夹持时对魔方产生位移。

方案三:

上图的方案除了看起来太丑以外,基础原理分析是可行的。但要实现控制爪子的伸缩难度很大,所以需要进一步优化设计。

此时已经是2016年春节期间了,期望春节期间把机器人做完已经成为遥不可及的梦想了,于是,静下心来,继续潜心把东西做好,并且把完工日期推至国庆期间。

方案四:

这个是在上图基础上,将爪子弯曲设计,使得在旋转杆上可以增加伸缩推进装置,使得爪子可以在电机控制短行程内实现大角度张合。不过基于这个设计还是有个问题,在于伸缩组件较大,而且含有轴承,使得转动惯量增大,不利于旋转电机的加减速,所以我们还需要进一步精简设计,使得方案更上一层楼。

方案五:

设计已经基本看到雏形了,不过为了验证设计是否能被加工,以及加工出来工件的机械强度是否能满足要求,于是按此设计打样回来的全部零件,此时已经到了2016年的中秋。

以下是该设计的3D组装效果图

这个设计最大的问题有两个:

  1. 旋转轴没有前端支撑的位置,导致轴偏无法控制。
  2. 伸缩舵机位置不容易固定
  3. 虽然爪子可以硬碰硬撞上魔方,但驱动毕竟是通过舵机,瞬间撞停会导致舵机内部齿轮受到强大冲击力,致使舵机扫齿。
  4. 如果不让爪子硬碰硬撞上魔方,需要带动整个机构减速的时间,会让前面的辛苦设计给浪费了。

无奈之下,我们重新踏上探寻新设计的征程。

随着将前面的设计推翻,首要考虑的因素是,如果有齿轮的话,硬碰硬必然会导致齿轮损坏。随之而然,作者将目光转移至直接线性驱动的方式,避免齿轮的使用。第一个脑海中浮现的就是电磁铁的方式。

方案六:

希望通过给线圈通入正向和反向电流控制爪子的伸缩,想着这把肯定没问题了,然而通电的那瞬间让我傻眼了。结果我就不说了,有兴趣知道的同学可以自己绕一个看看,并深入思考一下。设计出这样的东西是源自于对磁通量,磁感线分布的不了解。

随即也恶补了大量文献,专利等,深入了解电机技术,磁感线分布,磁通密度分析等知识,并购入大桶导线绕了无数的绕组做实验测试,最终有幸设计出一款一体性极强,直接融入整个机器人当中,并成为支撑结构的电机。

方案七:

当然设计电机并非容易的事,第一个要考虑的就是性能指标。简单的说,就是到底我们需要多少拉力,多少加速度,多大行程。

在计算爪子握持魔方需要多少拉力的时候,因为受力情况比较复杂,通过受力分析计算怕出现计算失误,所以优先采取比较简单粗暴的方式:

由图可见,握持魔方其实只要600g·f的力即可。但这只是静态握持,当我们旋转魔方时,因为有侧向力,我们需要更大的力气才可以将魔方握紧,否则爪子会松开。当我们旋转加速度越大,需要握持的力就越大。因此,我们初步将伸缩电机的拉力指标定为 2.5kg·f。

电机的加速度,与转子有关,转子越轻,体积越小,受力越大,则加速度越大,初步定义达到 100m/s².

运动行程与设计强相关,在本设计中,转子活动行程大约5mm。

行程信息很关键,直接决定线圈绕组的位置,面积,匝数,层数,线粗细,以及转子的体积,磁场强度。

做电机的,免不了手工绕一手好线圈。

第一次靠电的力量,将魔方紧紧的握在手里,此时已到2016年年底,项目已经耗费一年时间,进展相当缓慢。

然而当我以为一切基本以及成型后,才发现其实故事才刚刚开始。

因为轴承选取有误,机械安装公差累积没有评估好,导致因为加工误差和安装螺丝松紧程度参差,使得驱动轴可能稍微偏轴0.3mm左右,一般来说,对于非精密设计,0.3mm的累积公差是在接受范围内的,但选择的轴承无法接受这么大的轴心偏差,使得伸缩机构运动阻力非常大,甚至有时候 2.5kg·f 的扭矩都无法克服运动阻力,被紧紧卡死了。

深入分析后,发现并不只是轴承选择本身的问题,而是设计本身会导致多次运动过后,累积公差会逐渐增大,到最后自身无法承受的地步。接下来目标明确,尽力防止公差逐渐累积放大,并保证工件在公差要求范围内,能正常工作。

这一设计,又一年半过去,到最后,细至连轴承,轴承套都要自己设计,才能完成整机一体性,小体积和轻量化的目标。致使最终单臂设计完成后,准备按同样规格加工4个机械臂,在购入物料时发现,原来选购的舵机,已经停产了。

几经波折,才有了我们的最终设计

方案N:

还有其中的超薄起落架设计

整个魔方机器人设计过程中,机械部分是耗费时间和资金最大的,甚至可以说是始料未及的,最初预估即使使用工业级的伺服电机,整机打造成本可以在8千元以内完成。但随着设计的深入,在精益求精的追求下,打造成本也日益攀升。什么?你想问最后花了多少钱做下来?我肯定不会告诉你呀,不然怎么能拉你入坑呢?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档