如何练好手眼协调能力
婴幼儿在几个月到1周岁之间,会通过玩一些简单的玩具,逐渐锻炼出手眼协调能力。在机器人领域,则需要我们赋予其手眼协调能力,这个过程,一般称为“手眼标定”。机器人只有拥有手眼协调能力,才能完成复杂的工作,真正称之为“智能”。 当婴幼儿看到物体时,首先通过眼睛获取信息,传输到大脑进行理解,终通过手来操作完成玩具的抓取、放置。手、眼、脑协同是人类和少数动物的一项特殊技能,通过经常玩一些简单的益智玩具,可以逐渐锻炼增强孩子的手眼协调能力,同时可以作用到大脑,促进孩子的智力发育。
在智能机器人领域,机器人需要完成、复杂的工作,否则无法称之为“智能”。然而,机器人要想获得同人类一样的协调能力并不容易。如何才能实现像人一样的手眼协同能力呢? 再回到这个游戏。孩子在玩玩具时,大脑中有一个坐标系,可看做是基础坐标系;灵活的手在运动中形成一个轨迹,称之为手的坐标系;玩具要放置的点又有一个目标坐标系。三个坐标系协同,游戏才能顺利地玩下去。如果为此游戏场景加入坐标,会是这个样子,如图2所示。
智能机器人领域,四轴、六轴、并联等机械臂可认为是机器人的手臂(虽然自由度较高、速度快,但相比人手的灵活性还远远不如)。机器人的眼睛,一般指摄像机(包括2D和3D)。目前智能机器人的主流是使用3D视觉相机。机器人的大脑一般指进行核心控制和计算的工控机或嵌入式芯片。
两个坐标系,如何建立关系?这是手眼标定要解决的核心问题。 手眼标定和核心是解决一个AX=XB的矩阵。解此矩阵的算法就是手眼标定算法。 小蓝( 杭州蓝芯科技有限公司简称)公司依赖Eigen库实现了经典Tsai的方法并且开源。
如何进行手眼标定
注意:以下涉及公式推导,不想推数学公式的可跳过。 理解手眼标定的核心是如何将机器人的手眼关系代入AX=XB的公式中。 首先要理解A,B,X分别代表什么含义。 X,表示未知量,即手眼标定的转移矩阵。 A和B呢? 先看机器人手眼分离的示意图。
图4中,机器人底座一般认为是世界坐标系的原点。摄像机(眼睛)识别的位置通过转移矩阵,可以转换到机器人坐标系(同时也是世界坐标系)下。在手眼标定的过程中,需要连续移动机械臂终端,采集一组末端执行器的位姿;与此同时,相机采集挂在末端执行器的标记(例如,棋盘格)的位姿,组成另一组数据。 预警:下面是一些真正的数学推导。 其中是我们手眼标定的目标,是多少我们并不关心。 根据标记是空间中的位姿,我们可以得到(两边都是标记的位姿)
故此方程有两个已知量,两个未知量,一组数据不可解! 联立方程,消去,终我们得到, 至此,回想矩阵乘法的结合律,我们惊喜的发现,方程的形式正是AX=XB! 数学推导结束。 小朋友们,不对,工程师们,可以用此数据带入标准算法计算了! 总结
本文属于纯原创文章,转载请注明杭州蓝芯科技有限公司 |