机械手简介
作者:李淼robot链接:https://www.zhihu.com/question/37352068/answer/75574944来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。简单的说,人手是怎么抓取的,到目前为止,我们知道的太有限,还完全不清楚,可以参考这篇文章 “Castiello, U. (2005). The neuroscience of grasp
source:https://www.zhihu.com/question/37352068
简单的说,人手是怎么抓取的,到目前为止,我们知道的太有限,还完全不清楚,可以参考这篇文章 “Castiello, U. (2005). The neuroscience of grasping. Nature Reviews Neuroscience,
6(9):726–736.” 另外也可以看下Helge Ritter最近写的 Hands, Dexterity, and the Brain(
http://www.ncbi.nlm.nih.gov/books/NBK299038/
)。
这两篇文章分别从神经学的角度和机器人的角度解释了为什么我们还不清楚人手的控制是怎么一回事和为什么我们目前做的机器人抓取还远远不能在现实中应用。
大多数人都没有觉得人手去抓取东西是什么难的事情,这是因为我们大脑用了如此之多的资源去做这件事。人一个手就有20多个自由度,表面布满了触觉传感器。
在大脑看来,人的身体是这样的(见下图)。看见没有, 手是被放大了很多很多倍的,也就是说大脑其实消耗了很多能量在监控和控制着你的手,而在你看来,这一切仿佛就是自然发生的,完全没有什么控制。

既然从大脑的角度我们目前还不清楚这整个控制机制是什么样的,最起码从解剖学的角度,我们可以搞清楚手的结构。这个方向推荐看BBC的一个记录篇叫The Incredible Human Hand去大体感受下人手部构造的复杂。
下面是是一个X射线图,可以清晰的看见手指的每一个关节。

下面这个图展示的是手上的肌腱(tendon)是怎么连接的。

考虑到手部结构的尺寸,大部分机械手都是采用线驱动来模仿肌腱,从而把电机放在手腕处,下面四张图应该就是目前我个人觉得手做得最好的了,DLR出品。(当然也有采用电机直接在关节处驱动的,比如Allegro Hand,但就会显得很笨重了)




这些手虽然在解剖学的结构上尽力的去模仿人,但是在控制效果上还远远达不到。这里面的原因有很多,前面说的我们还不知道人的大脑是怎么样控制手的也是一个原因。
复杂的原因就不扯了,感受下人手能够做的事情,见下图。这里面的动作都是很日常的人手的活动,但是目前机器手还远远不会。

robot hand还大多数停留在仿真里面,在现实世界就开始用gripper(夹具)了,或者是吸盘来吸,看下2015年Amazon Picking Challenge 的前三名所用的手吧(吸盘,gripper, gripper), 完全没有机器人手什么事情。

最后想起Russ Tedrake课上的一句话,“如果有一件事情,人或者其他动物可以如此自然的做好(像走路,用手), 但是对于我们来说又是如此之难的去控制这样的一个工程系统,那很有可能就意味着这是一个值得我们去探索的挑战。”
============================part 2===============================
以下的回答分为三个章节,1)如果仅仅是对机械手感兴趣,想要了解一些有趣的信息的话,看完第一个章节就可以了;2)第二个章节对于有理工科or机器人背景的同学会比较有趣和有用;3)而如果你是从事机械手硬件研发工作的科研人员,可以去看第三个章节。我留下了邮箱,可以一起进行交流讨论。
![]()
Section 1
耶鲁大学有一位研究人员花了大量的时间和精力,进行了如下图所示的一项挺有趣的实验:

From Thomas Feix, The GRASP Taxonomy of Human Grasp Types
对!没错,这位研究人员在进行大量的抓取实验,以探讨人类在面对不同物体的时候,所采用最频繁的抓取方式,以剖析最优的抓取方法。实际上,通过上图我想告诉大家的是:在日常生活中,人类在进行抓取的时候,是不需要经过大量的大脑思考的,它是一种自然的反应加上肌肉记忆,而这种反应和肌肉记忆实际上在我们的婴儿时期,通过大量的抓取练习,已经深深地印刻在了我们运动神经之中。
而如今,人类回过头再来研究这个问题,实际上就是想找到我们大脑中所“存储”的抓取方法,以控制机械手进行仿人的抓取动作。下面的话,给大家看看目前行业内比较有名的机械手,以图片的形式:
- UTAH/MIT Hand 全驱动机械手

- DLR Hand 全驱动机械手

- DEXMART Hand 全驱动机械手

- Ritsumeikan Hand 欠驱动机械手

- MANUS Hand 欠驱动机械手

- SDM Hand 欠驱动机械手

- Yale Hand 欠驱动机械手 (设计开源)

- PISA/IIT Hand 欠驱动机械手

- RTR2 Hand 欠驱动机械手

- Spring Hand 欠驱动机械手

- Barret Hand 欠驱动机械手 (商业产品)

- Columbia Hand 欠驱动机械手

- MARS Hand 欠驱动机械手 (NASA设计 应用于太空操作)

- SARAH Hand 欠驱动机械手

- Robotiq Hand 欠驱动机械手 (市面上性价比较高的商业产品)

看完如上所示的图片,大家可能会觉得:都是些什么奇形怪状的机械手!没错,机械手的设计、制造和控制是较为复杂的,实际上大量的机械手是完全达不到实际应用的水平。
![]()
Section 2
对于问题的前半个,关于人手抓物体的原理是什么,从生物角度去阐释,我是没有发言权的,可去看这个问题下李淼的专业回答。而Wiki是如下定义人手的:手是人或其他灵长类动物臂前端的一部分,由五只手指以及手掌组成,主要是用来抓和握住东西,两个手相互对称,互为镜像。
人手实际上是一个极其灵巧而又复杂的人体器官。其躯干主要由如图1所示的指骨组成,包裹着躯干的就是分布着大量灵敏触觉神经的皮肤,当人手需要具体运动的时候,肌腱(Tendon)就充当着传递动力的媒介,而在各个关节中大量分布的肌肉皮肤等,则很好扮演了顺从机构(Compliant Structure)。
而在人的五个手指之中,当属大拇指最为特殊,首先它仅有两个指节(Phalanges)组成,而且是所有手指中最灵活,指尖工作空间范围最广的手指,具体来说,其Metacarpals Joint是一个空间结构很紧凑的球角(Ball/Spherical Joint)。

图1 摘自Wiki,人手的解剖结构
说完了人手的“硬件”构成,咱们再大致谈谈具体的控制。实际上,正常人对自己手的控制都是看到了物体,司空见惯地就伸手去抓,其实当我们用当前的机器人学去剖析这一过程,实际上又是这样子的:当我们想去伸手抓某个物体(AI做出决断),我们会大致看一下这个物体的位置(通过Vision进行定位),而当我们去抓的时候,我们主要基于的是对我们指尖(End-Effector)位置的路径规划(Trajectory Planning),通过自己的手臂带动手掌去接近物体(Manipulation Progress),在这一接近的过程中,我们的视觉一直再给我们做反馈(Feedback),而当物体处于手掌的操作空间的时候,大脑会控制我们具体的手指进行抓握,而怎么去抓,则是基于我们大量的生活经验,去自动生成最优的适合物体轮廓的抓取方案,而在具体手指的操作之中,我们还是基于手指指尖的轨迹规划去控制各个手指关节的运动(Under-Actuated or Fully Actuated ?)。最终,皮肤上的触觉神经(Tactile Sensor)会给我们一个反馈,告诉我们是否抓取到了东西,凭借肌腱传递的接触力接触物体产生的静摩擦力,去对物体进行操作,而触觉神经会一直给我们物体形状、硬度甚至温度的反馈,借助大量的实际抓取经验,自动生成最优化,最稳定,最省力的抓取方案。
而上述这一大段控制的基本叙述,正常人类都能在1-2秒内完成到最佳,比如说现在你去拿桌子上的手机,根本不需要思考去做规划,完全是直接伸手就拿。不得不感叹,如果从当前水平的机器人的视角来审视人类这样一个“躯体和系统”,简直高级的可怕。这里作者想分享一些有趣的想法: 人类这样一个高端的智能体,也许真的不是地球自然选择的成果,而是更加高等的文明所“设计&制造”出来的。因为我个人是做机器人行业的,我太难以想象,人类这样高水平的躯体,是怎样从自然进化而来的。
现在回到这个问题的后半个:机械手是怎么设计出来的(抱歉我把创作改成了设计)。这个问题应该算是作者比较擅长的,作者PhD阶段的第一篇PAPER(IROS 2017)就是关于欠驱动机械手的设计相关的。分为如下几个考虑步骤:
- Step 1
设计组成手指的躯干,也就是前面提到的Link或者是Phalanges。设计具体的Phalanges不是做拍脑袋设计,因为Phalanges具体的尺寸和形状是对机械手后续的抓取性能是有着直接的影响。并且要做整体通盘的考虑,因为后续的传动机构、传感器、关节、顺从机构都是和其挂钩的。简而言之,这是最难设计的,通盘考虑(可以考虑参考现有的Phalanges种类进行设计),贯穿始终(始终需要做相应的优化和修改)。
- Step 2
手指数量的选择和分布,这里需要告诉大家的是,至少有一半以上的机械手的手指数目都不是5个,而90%以上的机械手的大拇指分布都是区别于正常的人手的。因此,需要在一开始考虑:基于你想要达到的功能,确定机械手手指的数目(主流3,4,5)以及每根手指相应的位置排布。
- Step 3
确定传感器选用,目前主流的机械手有如下的传感器配置:
- None;
- 位置传感器;
- 触觉传感器,这里是指排布在手指指腹上测量压力的传感器;
- 力传感器,这里是指通过测量驱动电机电流来获得大致的抓取力;
- Step 4
确定驱动方式,即选择机械手的驱动方式为全驱动(Fully-Actuated)还是欠驱动(Under-Actuated),如果你不是相关专业的人员的话,这里需要简单解释一下这两个概念:
全驱动,即运动的自由度(Degree of Freedom, DoF)的数量等于驱动器的数量;
欠驱动:运动的自由度(Degree of Freedom, DoF)的数量大于驱动器的数量。
为什么要在这里引入这样的概念,实际是还是由于人手大量的关节数目决定的,按照一般的自由度计算方式,人手共有21个自由度,选择全驱动固然能够最大程度上还原人手的细节精确运动,但大量数目驱动器的排布带来的机械设计的复杂性和后期控制上的冗杂,使得大量的机械手向着欠驱动的方向发展。
- Step 5(如果选择欠驱动作为驱动方案)
确定驱动的数目及分布,Step 4中提及到人手有21个自由度,当你选择欠驱动(Q<21)的时候,你要考虑你到底需要多少自由度的驱动器(电机),我们称这个为Degree of Actuator (DoA),主流的机械手的DoA数目为1、2、3、4这样的四种。而在确定了数量之后,你还需要考虑的是DoA的分配,及如何把驱动器(电机)和相应被驱动的手指关联起来。(比如,当你选择了采用3个驱动器,而你设计的机械手需要有5个手指,如何分配驱动器和手指的关系)。
- Step 6
传动方式的选择和设计,所谓的传动方式,即是在驱动器(电机)和手指指尖,你使用什么样的机械来传递动力。常见的有四连杆传动、齿轮传动、线传动(Tendon)等,线传动目前为主流,是因为其契合机械手结构的紧凑性能。
- Step 7
驱动器(电机)的选型,大部分机械手一般都采用以电机为驱动原理的驱动器,小部分也有以液压驱动或者气动的机械手。但是本着小型化、精巧化的设计,液压和气动都不是主流,毕竟无法解决需要相对笨重的液压泵或者气泵的弊端。电机根据需求自由选择种类,而其额定的输出力矩则要根据传动方式和手指额定的输出力来进行相应的计算确定。
- Step 8
顺从机构的设计,机械手的手指因为需要接触物体(有的时候形状对于机器人本身的系统是未知的)的缘故,顺从机构(Compliant Structure)的设计是必不可少的。主要体现在如下两个方向:
- 手指张开关闭的抓取方向,设置顺从机构以达到对传动机构的保护;
- 手指侧摆Roll方向(以手指张开闭合方向为Pitch)设置顺从机构,以起到对手指侧向撞击的保护。
- Step 9
整体机电系统的整合,当你完成以上1-8步的设计之后,你需要做一个整体的统筹,同时把相应的驱动电路(PCB)考虑进来,合理安排相应的排布和空间分配,整合系统。
![]()
Section 3
实际上,想要机械手实现人手的抓取功能,一个性能良好的硬件仅仅是基础,还需要具体的欠驱动或者全驱动机械手抓取的控制、规划和策略。作者仅仅知道皮毛,而这个也是另外的一个水很深的研究领域。
话说回来,光是机械手本身硬件的设计实际上就十分复杂,其难度完全不亚于设计机器人的单腿或者机械臂,有太多太多的经验、教训和细节在知乎上面都无法提及到。如果你需要从事机械手硬件的研究与开发的话,可以联系作者一起讨论: zeyu.ren@iit.it 如果需要相关的参考文献和设计手册的话,作者也可以推荐一些。
作者认为:设计一个良好性能的欠驱动机械手难度很大,需要大量的工程经验积累和硬件版本上的迭代,但是理论难以深度挖掘,作者的IROS文章虽然很幸运地中了,但是评委的Review的意见都是肯定了工程上的工作量,但对理论研究和贡献水平保持了非常critical的态度,一句话:如果是做机械手硬件设计方面的研究的话,发文章比较吃力。
最后,想和大家分享一下作者本人设计的三自由度非对称欠驱动机械手:(图片形式,Demo可参考https://www.youtube.com/watch?v=thQotLL9kaQ)

Prototype_Version_1

Finger_Motion Series_1

Finger_Motion Series_2

Common_Objects_Grasping_1

Common_Objects_Grasping_2

Object_Finger_Manipulation
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)