3D机器视觉及手眼标定
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
1、视觉硬件系统
基本硬件包括如下:
• 1 工控机
• 2 网线
• 3 路由器
• 4 标定板
• 5 标定板固定法兰
• 6 相机与线缆
2、接线图
分别将三根网线的一端连接到路由器的LAN 口(注意不要接到WAN 口),另一端分别连接至机器人网口、工控机网口、相机(相机线缆包括电源线和网线)网口,路由器端连接如下图所示:
机器人网口为控制柜上的网口,如下图所示(以UR 机器人为例):
3、软件环境搭建
在确认电源、网线等连接正常后,开始设置IP,通过路由器将工控机、相机、机器人三者构建在同一网段。
在浏览器中输入网址tplogin.cn 进入路由管理界面(在路由器背部可以查看登录管理界面地址),如果是设置好的路由器直接输入设置好的网段,即可进入路由管理界面,例如192.168.3.1(设置为3 网段)。
进入路由管理界面时会要求输入用户名以及用户密码,如下图所示:
管理界面如下图所示,其中红色框中的绿色网口代表连接正常的网口。
如果路由器已经设置好了,当忘记了设置的网段,无法进入路由管理界面,又不想把路由器恢复为出厂设置重新设置,可以通过如下图所示的网络连接详细信息查看默认网关。
此时打开机器人示教器,查看机器人的IP,如下图所示(以UR 机器人为例):
可以看到机器人的IP 在3 网段,那就通过路由器将相机、工控机、机器人统一设置在3 网段下(如果机器人的IP 可以修改,也可以把机器人的IP 改为其它网段下,灵活操作即可)
在路由器管理界面,打开左侧工具栏的基本设置里面的LAN 设置,在手动模式下设置IP 地址,例如设置3 网段,输入为192.168.3.1,子网掩码默认为255.255.255.0,点击设置,即可设置成功。如下图所示:
同样要设置工控机的IP 地址在3 网段下,依次点击如下图所示,即可将工控机设置在3 网段下(其中192.168.3.110 中的110 为任意值,从0-255 之间取值,只要不是和机器人IP 重复的即可)。
4、机器人的手眼标定
要实现由图像目标点到实际物体上抓取点之间的坐标转换,就必须拥有准确的相机内外参信息。其中内参是相机内部的基本参数,包括镜头焦距、畸变等。一般相机出厂时内参已标定完成,保存在相机内部。
相机外参表示的是机器人与相机之间的位姿转换关系(即手眼关系,因此相机外参的标定称之为机器人手眼标定)。机器人与相机在不同的使用场景下其相对位姿不固定,需要在工作现场进行标定才能获得相机与机器人之间的手眼关系。
由于机器人手眼标定会使用相机的内参,所以具有准确的内参是标定外参的前提。
机器人手眼标定的分类方式各不相同,根据相机相对于机器人的安装方式,将手眼标定分为两种:机器人手眼标定MATLAB及C++实现(二十九)
1. 相机独立于机器人固定在支架上,称为ETH(Eye to hand) 方式。
2. 相机固定于机器人末端法兰上,称为EIH(Eye in hand) 方式。
同时,可使用多个随机标定板位姿或TCP 尖点触碰的方法添加标定点。两者的主要区别在于:
1. 多个随机标定板位姿:使用软件自动生成的轨迹点或手动添加的多个位姿,在每个位姿拍照并识别标定板角点,建立标定板、相机及机器人三者间的关系,其过程简单,标定精度高。
2. TCP 尖点触碰:利用三点法确定标定板位姿后,建立标定板、相机及机器人三者间的关系。适用于机器人活动空间局促、无法使用上位机来控制和标定板无法安装等情况。
分类方式如下图所示。
4.1 ETH 标定基本原理
机器人末端通过法兰连接已知尺寸的标定板,可以得到标定板(calibration grid)上的每个标志点相对于机器人基坐标Base 的坐标A;通过相机拍照获得标定板上每个圆点的图像,可以得到相机光心相对于标定板上每个标志点的坐标B;相机光心和机器人基坐标(Base)之间的位姿关系X 为待求量。A、B 和X构成闭环,形成等式,可以在等式中求解未知数X。通过移动机器人,变换标定板相对于相机的位姿,可以得到多组等式,对这些等式的值进行拟合优化计算,最终得到最优的X 的值。位姿关系如下图所示。
当使用TCP 触碰法标定时,标定板放置在工作平面,机器人末端加装已知TCP 的尖点,触碰标定板圆点,其原理如下图所示,其中A、B 已知,求解X 的值。
实际操作中,坐标A的获取有以下三种方式:
1. 标定板到法兰末端位置关系已知(三点法或是已知连接件尺寸计算得到),则A 可以直接计算得到;
2. 标定板到法兰末端位置关系未知,则通过标定板在标定过程中的一系列相对移动,通过数值方法计算得到标定板到法兰末端的位置关系,进而计算得到A;
3. 标定板与机器人末端不固定,则可以通过已知tcp 坐标的尖点对标定板标志点进行触碰的方式计算得到A的数值。以上三种方式对应三种不同获取标定数据的方式。
ETH 方式标定的是相机光心和机器人基坐标之间的位姿关系。如果机器人基坐标或者相机发生移动,对应的外参就会相应发生变化,此时需要重新标定手眼关系。
4.2 EIH 标定基本原理
机器人末端通过固定架将相机固定,此时机器人末端法兰中心与相机光心之间的位姿相对固定,即下图中的未知变量X;机器人末端法兰中心相对于机器人基坐标系(Base)的位姿为已知量B;相机通过对标定板(calibration grid)进行拍照,获得相机光心和标定板上每个圆点之间的位姿关系,可得已知量C;标定板平放在相机视野可达区域,其相对于机器人基坐标之间的位姿关系为一固定值A;这样变量A、B、C、X 构成闭环关系。下列等式中,由于A 为固定值,将前两个等式合并,得到的新等式中只有X 为未知待求量。变换机器人末端位姿进行不同角度拍照,得到多组A、B、C 的值,利用这些数值进行拟合计算,得到最优的X 的值。
当使用TCP 触碰法标定时,标定板放置在工作平面,机器人末端加装已知尺寸的TCP 尖点,触碰标定板圆点,其原理如下图所示,其中A、B、C 已知,则X 的值也可求得。
EIH 标定的是相机光心和机器人末端法兰中心之间的位姿关系。如果相机相对于机器人末端法兰中心坐标发生移动,对应的外参就会相应发生变化,此时需要重新标定外参。
选取一个正常标定板(标定板上圆点清晰,没有明显刮花痕迹,标定板没有明显弯曲变形视为正常标定板)。
ETH 方式下将标定法兰安装到机器人六轴(如果是四轴机器人即安装在四轴)上,再将标定板安装在法兰上,标定法兰在机器人末端的安装方向任意。确保标定板安装稳固,标定板与机器人末端的XY 平面平行。
EIH 方式将标定板平放在工作平面的中心位置。其安装和放置如下图所示(左图为ETH 方式,右图为EIH 方式):
标定板安装完毕后将机器人移动到起始标定位置。对于ETH 方式,机器人起始标定位置为视野最下方中间位置(机器人带动标定板由下往上层层标定);EIH 方式起始位置为相机工作位置(机器人带动相机由下往上层层标定)。如下图所示,左侧为ETH 方式,右侧为EIH 方式。
使用TCP 触碰法时ETH 和EIH 均将标定板放置在相机工作平面内。
来源:马少爷
声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~