当前位置: 华文问答 > 科学

为什么工业机器人至少需要6个自由度?

2020-05-25科学

协作臂的设计出发点是模拟人的手臂 ,在某些特定场景下(人们越来越懒,越来越娇贵,苦活脏活累活都不想自己干),代替手臂进行抓取、码垛、喷漆、打磨等操作。新手小白要学习协作臂,理解各种基本概念,理所当然应该从重新认识我们的手臂开始。

想一想,手臂有几个关节?

从躯干往手掌方向,依次是肩、肘、腕关节。

  • 肩关节运动范围大,大臂绕肩关节,可以进行上下、前后和扭转运动;
  • 肘关节可以让大、小臂张合,大力水手秀肌肉的时候,一般都会弯曲肘关节;
  • 腕关节灵活,可以拧螺丝、挪动鼠标(打CS)、拍手;
  • 手臂灵活吧,这里其实已经涉及到 自由度(DoF, Degree of Freedom) 的概念。

    机器人的自由度(DoF, Degree of Freedom),表示机器人位形所需的最小实值坐标数。——【现代机器人学-机构、规划和控制】
    操作臂的自由度,是操作臂中具有独立位置变量的数目,这些位置变量确定了机构中所有部件的位置。——【机器人学导论】

    概念不太好理解?举个两粟子:

  • 家里卧室的门,自由度是1,因为只需要 门与门框的夹角 这一个变量就可以确定门的位置;
  • 办公桌面上平放的一张A4纸,自由度是3,首先平面内用 x,y 确定A4纸中心的相对桌面的位置,再用一个 转角 确定A4纸长的边相对于桌面的角度。
  • 机器人结构各异,这样算自由度好麻烦,没关系已经有大神推出了公式:

    Kutzbach - Grubler公式

    DoF = m(N-1-J) + \sum_{i=1}^{J}{f_{i}}

    对于一个具有N个构件(含基座)的机构,令J为关节数,m为刚体的自由度数(对于平面机构,m=3;对于空间机构,m=6),fi为关节i对应的自由度数。注意:此公式只有在所有关节约束都独立的情况下才成立,否则,只能用于判断自由度的下限值。

    这下可以开算了,这回是书上的粟子,都是平面机构:

    图a)机构的自由度,N=5,J=4,每个关节的自由度为1,dof = 3(5-1-4)+4 = 4

    图b)机构的自由度,N=5,J=5,每个关节的自由度为1,dof = 3(5-1-5)+5 = 2

    图c)机构的自由度,N=6,J=7,每个关节的自由度为1,dof = 3(6-1-7) + 7 = 1

    图d)机构的自由度,N=6,J=7,每个关节的自由度为1,dof = 3(6-1-7) + 7 = 1

    现在,再回看看 手臂的自由度 是多少,能不能套用这个公式。首先N = 4(躯干(基座)、大臂、小臂、手),J = 3(肩、肘、腕)。

    再来确定一下,手臂各个关节的自由度,上图来照着说。

    图中每个箭头代表一个自由度,解释一下:

  • 肩关节,固定在躯干上,不能移动,但能转动。3个自由度:
  • 1轴,肩关节前后运动;
  • 2轴,肩关节左右运动;
  • 3轴,肩关节带动大臂转动;
  • 肘关节,连接大臂和小臂,只能弯曲,1个自由度;
  • 肘、腕关节配合,由尺骨和桡骨转动,使腕关节可以转动,1个自由度(拧钥匙);
  • 腕关节,本身可以本左右摆动(玩鼠标),可以上下摆动(招手),2个自由度;
  • 套用前面的公式, 手臂自由度 dof = (4 - 1 - 3) + 3(肩)+1(肘)+3(腕) = 7;

    接下来看看这个图,反手摸肚脐。大部分人的手臂都做不到,这又引入了一个概念,那就是 工作空间

    机械臂的工作空间,简单的说就是机械臂可以到达的所有位置的。

    机械臂由于本身设计的原因,有些位置是不能到达的,用数学来解释,就是逆运动学方程无解。下图为某协作臂的工作空间,中间的圆柱形区域是不能到达的。

    参考文献: