前言
图1 复合机器人
复合机器人在移动过程中,由于AGV导航产生的位置偏移,导致机械臂无法准确抓取或放置货物,此时,需要借助计算机视觉技术告诉机械臂准确的抓取点和放置点。建立起机械臂抓取货物的模型如图 2 所示,要想抓取货物,需要知道抓取点到基坐标之间的转换关系,而关系
无法直接获取,需要通过间接获取,抓取点到基坐标系的位置关系
可由机械臂末端坐标系相对于基坐标系的转换关系
、相机坐标系相对于机械臂坐标的转换关系
、相机坐标系相对于标定板坐标系的转换关系
以及标定板坐标系相对于抓取点坐标系的转换关系
得到。具体方案为:在抓取点或放置点旁边一固定位置处放置Marker,由于Marker与抓取点之间的位置相对固定,其位置转换关系
可以通过示教计算出来;在机械臂末端安装 2D 相机,Marker在机械臂坐标系下的转换关系
可以通过计算机视觉算法求出;由于 2D 相机是固定安装在机械臂末端,可有手眼标定来得到2D相机与机械臂末端坐标系之间的转换关系
;而机械臂末端在基坐标系下的转换关系
可由示教器获得;基于以上从而得到抓取点在机械臂基坐标下的转换关系
。
图2 复合机器人抓取位姿变换关系
注::机械臂末端坐标系相对于基坐标系的转换关系;
:相机坐标系相对于机械臂坐标的转换关系;
:相机坐标系相对于标定板坐标系的转换关系;
:标定板坐标系相对于抓取点坐标系的转换关系;
:抓取点坐标系相对于基坐标系的转换关系;
2D视觉的复合机器人的技术实现主要有4个方面的内容:系统标定、2D Marker识别、示教、抓取。
一、系统标定
复合机器人视觉抓取过程采用的是“眼在手上”的方式,即相机安装在机械臂末端。通过视觉识别进行抓取的前提是手、眼系统的标定,标定精度对抓取精度起决定性作用,做好手、眼系统的标定是做好后续工作的前提。针对2D相机的系统标定分为两步:内参标定和手眼标定。
1.1 内参标定
相机内参是相机的固有属性,由#card=math&code=%28x%2Cy%29&id=Hn17G)方向上的焦距原
#card=math&code=%28f_x%2Cf_y%29&id=AAIXm)点偏移量
#card=math&code=%28c_x%2Cc_y%29&id=A6f8K)以及一系列畸变系数组成,当相机的焦距、对焦环固定之后,内参就固定不变了。相机内参标定可以简单的描述为通过标定板,如棋盘格等,可以得到 n 个对应的世界坐标三维点
和对应的图像坐标二维点
,这些三维点到二维点的转换都可以通过上面提到的相机内参
,相机外参
和
,以及畸变参数
,经过一系列的矩阵变换得到,参数请参见2D相机
1.2 手眼标定
手眼标定即计算相机与机械臂末端之间的位置关系,称为手眼矩阵,当相机安装在手抓末端时,称为“眼在手上”。这种关系下,标定板放置固定位置,通过移动机械臂末端位置采集标定板图像,此时,机械臂基座标与标定板的关系固定,则相机与机械臂末端的关系有:
图3 手眼标定变换关系
将其转化为的形式,通过移动机械臂末端位置,得到多组对应关系,使用
两步法求得手眼矩阵
。
注::第一次移动时机械臂末端坐标系相对于基坐标系的转换关系;
:第二次移动时机械臂末端坐标系相对于基坐标系的转换关系;
:相机坐标系相对于机械臂坐标的转换关系;
:第一次移动时相机坐标系相对于标定板坐标系的转换关系;
:第二次移动时相机坐标系相对于标定板坐标系的转换关系;
二、2D Marker识别
Marker识别过程分为两步,一是Marker码的识别,二是Marker到相机坐标的转换关系。
2.1 Marker识别
目前常用Marker有棋盘格,AruCo,AprilTag等二维码。其过程都是先进行图像分割、轮廓查找、四边形检测等来识别图像中的Marker。
- 图像分割,考虑到光照不均和黑暗照明对图像的影响,为了提高分割的准确性,采用的自适应阈值进行图像分割,如图4所示;
图4 图像分割
- 轮廓查找,通过自适应阈值后,得到一张二值图像,采用union-find算法来求连通域,使得每个连通域都有一个唯一的ID,如图5所示。
图5 轮廓查找
- 四边形检测,轮廓有了之后,对每一个轮廓进行分割,产生一个残差最小的凸四边形,如图6所示。
图6 四边形检测
2.2 Marker定位
其原理都是将Marker看做一个平面,并在平面上建立空间坐标系(Marker坐标系),然后提取Marker上的角点,得到角点的Marker坐标和像素坐标,通过内参标定获取相机内参,根据SolvePNP算法求取Marker坐标系到相机坐标系的转换关系(包括旋转
和平移
),如图7所示。
图7 SolvePNP模型
三、示教
当识别到Marker之后,可得到Marker到基座标的转换关系,然后通过示教器将机械臂末端移动到抓取位置,此时机械臂末端的位置即为抓取位置到机械臂基座标的转换关系,由于抓取位置与Marker的关系固定不变,可计算抓取位置到Marker的转换关系。
四、抓取
抓取目标物体时,首先将机械臂移动到识别位置,使得Marker在相机视野下。根据识别到的Marker得到,在根据示教得到的
,即可得到抓取位置在机械臂基座标下的位姿。
五、说明
- 坐标系之间转换关系
包含旋转和平移,可以对应到机械臂的六个自由度(
和
)。
- Marker和待抓取点的相对位置是固定的,并需要提前计算出。识别到Marker位置后,直接可以计算到起始抓取点(A点)的位置,后续的抓取动作需要在A点位置上进行相对偏移,或者直接用机械臂设定pose点。
图8 Marker、抓取点和货物相对关系示意图
2D Marker可以使用二维码、棋盘格或者其他定制Marker,识别过程会在Marker平面建立3D坐标系,坐标系的XOY平面就是Marker平面,Z轴与Marker平面垂直。
图9 Marker识别示意图
图10 棋盘格Marker
六、使用场景和限制
2D Marker抓取方案有两种:普通工业相机、康耐视智能相机,普通工业相机使用上述方案识别特定的2DMarker,可以计算出Maker的3维坐标系,即的 6 自由度数据,该方案不需要特定限制相机与Maker之间的拍摄角度。康耐视智能相机使用相机内置的识别算法,只能获取Marker的
三个维度的偏移量,所以该方案理论上要求Marker平面与相机平面平行。总体而言,相对于3D方案,2DMarker方案具有以下优点:
- 设备价格低;
- 设备体积小、重量轻;
- 数据采集频率高、识别节拍快。
2D Marker的限制如下:
- Marker和目标物体(待抓取)之间的空间位置关系固定;
- 实施时候需要示教或测量;
- Marker(随物体)一起移动的范围有限,取决于相机的视场大小和景深。
- 必备的光照条件
设置不同的Marker的意义在于稳定性,另外对精度也有一定影响。但总体精度还取决于:
- 相机部分的性能(分辨率,视场大小,焦距等);
- 系统的标定精度(TCP标定、内参标定、外参标定);
- 视觉算法的识别&定位精度;
- 机器人的定位精度;
- 抓取工具等等相关设备及设备之间的关系精度;
- Marker与抓取点之间的距离(随着Marker与抓取点之间的距离变大,误差会增大);
七:参考文献
- A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration