预抓取与接近
预抓取与接近,是机器人的手在真正碰到物体之前那段小心翼翼的“助跑”——在这段动作里,它把手指对正、张开到合适的宽度,并沿着选定的路径滑入。看看你自己怎么端起一只咖啡杯:你不会一巴掌直拍上去,而是先把手指张开,把手绕过去、从敞开的那一侧靠近把手,并在临近时放慢。机器人也做同样的事,分成两个有名字的部分。预抓取是一个“路径点”姿态,停在物体正前方一小段距离处,此时夹爪已经摆好朝向、预先张开。接近则是从那个路径点最后滑向接触的一段、通常是直线的运动。
把动作这样拆开,解决了一个实实在在的难题:机器人想让手指最终落到的那个位置,往往恰恰被它要去拿的物体占着,再加上桌面、料箱壁或旁边的其他物件,挤成一团。先飞到一个空旷的预抓取姿态,然后才沿着一条干净、无碰撞的直线接近(常常是顺着夹爪闭合轴笔直伸入,或顺着吸盘法线方向贴入),机器人就能避免把目标拨飞、避免蹭到箱壁,也避免“最终姿态很好、但到达它的路径根本走不通”。接近方向还决定了手指会落在哪些表面上,所以一个考虑周全的预抓取,已经完成了“稳稳抓住”这件事的一半。
实际操作中,一个抓取方案并不只是单独一个目标姿态,而是一道简短的“配方”——预抓取姿态、接近的方向向量与距离,然后闭合——运动规划器会被要求先到达预抓取、再执行接近。如果笔直伸入的接近被挡住,或预抓取姿态够不着,系统就会否决这个抓取、改试另一个候选方案。正因如此,这两个步骤几乎被写进了每一条取放与料箱拣选的流水线里。
一台料箱拣选机器人发现一只瓶子靠在箱壁上。它算出一个预抓取姿态,悬停在瓶身中段上方十厘米处、夹爪与瓶子长度方向对齐,先让手臂自由地摆到那里,然后笔直向下接近,直到手指跨在瓶子两侧——全程不碰箱壁——再闭合夹爪。
一个预抓取路径点,加上一段笔直向下的接近,让机器人不撞料箱就能够到藏在角落的物体。
这里说的“姿态”是指位置加朝向的合称——手在哪里、又转向哪个方向。抓握闭合之后那个小小的“退开”动作,用来把物体提离原处,正是接近动作的镜像,常被称为“撤离”或“抬起”。