伸手去拿杯子喝水时,我们不会分别去想肩膀、肘部和手腕该怎么动。可是要让机械臂做同样的事,就必须准确规定每个关节朝哪个方向转动多少。
在机器人学中,机器人能够独立运动的方向数被称为“自由度(Degrees of Freedom)”。自由度是衡量机器人能摆出多少种姿态、能完成多复杂工作的最基本标准。
本文将从自由度的含义讲起,介绍工业机械臂拥有六个关节的原因、人的手臂和手所具有的自由度,以及增加自由度时带来的优点与难题,力求通俗易懂。
理解与应用自由度
计算运动方向的方法


自由度是表示物体位置和姿态所需的独立数值的个数。漂浮在空间中的物体可以前后、左右、上下移动,还可以分别绕三个轴旋转。因此,三维空间中的刚体共有6个自由度,即3个平移加3个旋转。
在机器人中,通常一个关节负责一个自由度。具有代表性的是像合页一样绕一个轴转动的旋转关节,以及像抽屉一样沿一个方向滑动的直线关节。把几个这样的关节以什么顺序连接起来,决定了机器人能够到达的范围和能摆出的姿态。
自由度并不只是用于机械臂的词。在地面上移动的扫地机器人,只需处理前后移动和原地转向这类平面上的运动;而在空中飞行的无人机,则必须同时控制在空中的位置和倾斜度。即使同样是机器人,所需的自由度也会因工作空间和任务而大不相同。
工业机械臂拥有六个关节的原因

被视为第一台工业机器人的尤尼梅特(Unimate),于1961年在美国通用汽车(General Motors)的工厂里承担了取出高温压铸零件的工作。这台由液压驱动的机械臂拥有5个自由度。
如今工厂里常见的机械臂大多有6个关节。正如前面所说,要随意确定空间中物体的位置和方向,需要6个数值。其工作方式是:下方的三个关节把末端移动到想要的位置,手腕上的三个关节则调整工具的方向。
正因如此,六轴机器人能够把焊枪对准倾斜的接缝,或把螺丝准确地拧进倾斜的零件里。相反,只需把物品拿起来放到平面上的包装机器人,有4个左右的自由度就足够了,因此可以造得更快、更便宜。
关节不多的机器人,有时在特定工作中反而表现更好。被称为SCARA机器人(Selective Compliance Assembly Robot Arm)的水平多关节机器人,凭借手臂只在水平方向折叠和伸展的简单结构,被广泛用于把电子元件插到电路板上这类需要无数次重复短促快速动作的工作。
人的手臂和手所具有的自由度

人的手臂通常被说成具有7个自由度:肩部能朝三个方向运动,肘部一个方向,手腕和前臂三个方向。这比确定指尖位置和方向所需的6个多出一个。
多亏这个多余的自由度,人可以在手固定在一处的情况下抬高或放低肘部。从狭窄的架子深处取东西时,能扭转肘部避开障碍物,也是这个缘故。在机器人学中,这种自由度多于所需的结构被称为具有“冗余自由度(Redundancy)”。
手则要复杂得多。五根手指的各个关节加上手腕,据说共有20多个自由度,因此,制造能像人手一样灵巧地操作物体的机械手,至今仍是一项困难的课题。
所以,许多机械手并不让每个关节单独运动,而是用一根线让几个关节一起弯曲。虽然实际驱动的电机数量很少,但手指会顺着物体的形状自动包裹抓握,因此只需相对简单的控制,就能抓住从鸡蛋这样易碎的物品到形状各异的工具等各种东西。
增加自由度时的优点与难题

近年来,像人的手臂一样拥有7个关节的机械臂越来越多。有了多余的关节,在手保持同一位置的同时还能选择多种姿态,因此在与人协同工作的车间或狭窄空间里更容易避免碰撞。
然而,自由度越多,负担也随之加重。每个关节都需要电机、减速器和测量位置的传感器,机器人因此变得更重、更贵。单个关节的微小误差越往末端积累越多,精度也更难保证。
控制也会变得更加复杂。由于到达同一个目标位置的关节角度组合不止一种,必须另外判断哪种姿态最安全、最省力。因此,在设计机器人时,只给它配置任务真正需要的自由度十分重要。
这样的考量在人直接操控机器人时也会体现出来。手术机器人在经小切口伸入体内的器械末端装上腕关节,把医生的手部动作原样传递过去;而看着屏幕操控的人,必须了解器械末端能朝几个方向运动,才能准确无误地操作。
自由度是决定机器人与世界如何互动的数字。理解了关节的数量和布局,就能明白为什么有的机器人快速而简单,有的机器人虽慢却精细。
找到与工作恰好匹配的关节数量,这正是设计出灵活机器人的第一步。