浅谈机器人中的机械
受到邀请写作这个话题,其实非常煎熬,因为机械是一个很庞大的学科,即使是机器人中的机械也可以有很多说的,况且自己也不是一个纯机械科班学生,只是更多的会喜欢做也做得更多机械相关的工作,如果要把“机械”这个话题写成类似于知乎@YY硕的机器人工程师学习计划那样的学习计划我是做不到的。只能写一写我的理解和学习建议。
本文内容主要在这几个方面:
- 机械在机器人工程专业中充当着什么样的角色?对于这个问题谈谈我的理解。
- 怎么样学习机械和练习提升自己的机械能力?这部分我会结合自己的一些经历来讲述
- 一些其他参考文章、博客
机械在机器人工程专业中充当着什么样的角色?
首先,机器人是一个非常综合的学科,造一个机器人会需要涉及到包括机械在内的各方面知识,那么机械在机器人中是一个怎么样的角色呢?这里化用@来朝三博士的话——重要但不核心
在现实中,很多人习惯按照抽象程度将各种技术从核心到非核心进行排序。机械恰好两样都不占,自然排不 上核心技术。我并不完全排斥这种排序。不过,我一直固持这么一个看法:机器人包含多种技术,其中任何一个单项拎出来都不是可以轻松突破的。缺了任何一个单项,都做不成机器人。因此,任何一个单项的工作对于开发机器人来说都同等重要。机械部分是机器人的执行机构,对于机器人的重要性,好比身体对于人的重要性。所以说,其中的重要性你可以细品。
“机械是机器人的执行机构,对于机器人的重要性,好比身体对于人的重要性”,所以机械是重要的,不是核心的问题在于,目前工业界和学术界的各种机器人,于软件(算法、控制)上的限制,是要比硬件(机械、电子)的限制大的。也就是说,在软件上进行突破后取得的效果,是比硬件大的。
那么是不是意味着我们学习机器人工程专业,可以不怎么关心机械,甚至不学机械呢?我认为是不行的。
如果不是做例如纯CS/EE方向的不跟机器人本体或者不需要机器人本体的机器人学科,例如AI,深度学习、图像传感、智能驾驶、无人导航等,除此之外,需要跟机器人本体打交道的机器人方向,每个机器人工程的学生都应该多多少少会点机械,起码会用SolidWorks或者Fusion360等CAD软件画点简单的图,会用3D打印,会拧螺丝,这样在跟机器人本体打交道的时候不至于机器人出了一点点机械硬件问题不能快速解决。
我实验室有一个做SLAM的同学,每天几乎就是看论文,做SLAM实验和处理数据,再加写代码改算法优化程序。看起来是不是跟机械关系很小?但是他们做实验用的小车上面需要搭载各种传感器和处理器,而小车本身是不自带,也不带接口的,就需要去做一点点机械设计(非常简单的设计),他如果要找实验室其他人(比如我)帮他做设计,很 可能大家都没有时间,或者打乱人家的科研节奏。所以他是自己用SolidWorks去画碳纤维板的结构,再发出去加工,两三天就做好了。
如果能够在此基础上知道一些机电相关的知识,如驱动器、传感器、减速器等,那么更全面的认识可以帮助我们在机器人开发上省下不少时间(比如选择合适的驱动器)。
如果想要在机械方面有更深入的认识和能力提升,可以看一看我下面的一些拙见。在此之前,再提一句,那么,完整的“机械”在机器人上是怎么样的角色呢?这里还是引用@来朝三博士的文章[1]
由于结构设计工作比较直观,很多人误以为机械臂的设计就是结构设计。实际上,面向产品的机械臂设计远不只结构设计这么简单,还包括机械分析和工艺支持。
机械臂是这样的,其他自由度高的四足、双足机器人也是如此,区别在于,非产品级的机器人设计不需要像产品级机械臂这样面面俱到。我们看下图,机器人的机械设计分为“机械分析”、“结构设计”和“工艺支持”三个部分,每个部分需要涉及的知识和技能都不少,所以我们可以发现,会一点机械的人很多,会完整“全栈”机械的人很少。在科研实验室里面做机器人,这三个部分不需要特别深入,但也需要有一定的了解和运用。
