本发明属于机器人技术领域,涉及一种用于对柔性机械臂形状及目标位姿测量的柔性机械臂视觉测量方法及系统。
背景技术:
灾害救援、环境探测、设备检修及维护等应用场景,具有作业空间狭小、障碍物多等特点。传统机器人难以在这些场景完成任务,而运动灵活且体型纤细的绳驱柔性机械臂却能够发挥重要作用。柔性机械臂主要通过绳索实现驱动,然而因绳索驱动过程中存在伸缩及与接触部位的摩擦阻力等,柔性机械臂的运动学及动力学方程较为复杂并难以准确反映其实际的特性,这导致柔性机械臂在执行任务的过程中,时常难以准确地到达预期给定的位置。
为此,有必要借助视觉等外部传感方式来获得柔性机械臂各部分的位置和姿态,从而实现运动过程的视觉闭环反馈,以便纠正绳索误差及模型计算不准确导致的偏差,使得柔性机械臂的运动更加准确。目前采用的测量方法主要是在柔性机械臂臂杆上安装二维码等典型特征,对于二维平面运动的臂杆测量也可以添加标志球,但这些方式都需要在柔性机械臂上额外安装辅助测量的典型特征,安装精度难以保证,且会对柔性机械臂本身的运动性能有一定影响,且在一些工作场合额外安装典型特征难度较大。因此,有必要研究柔性机械臂上本身具备的自然特征的视觉测量方法,从而能简单方便地测量柔性机械臂的臂形。此外,柔性机械臂通常工作在未知的环境中,常开展抓取、对接等工作。对于未知的非结构化环境,在执行上述工作任务之前,需要对目标进行检测及定位来获得目标在环境中的位姿,以便控制柔性机械臂到达期望的目标位姿并开展任务,因此采用有效的测量方法及设备也显得颇为重要。
技术实现要素:
本发明的目的是针对目前柔性机械臂上出现的运动精度差及柔性机械臂臂形视觉测量难度大、操作复杂的问题,提供了基于自然特征的柔性机械臂同步测量方法,能够利用柔性机械臂上本身的边框、关节轴孔等位置的矩形和同心圆等自然特征测量柔性机械臂的臂形。同时还提供了一套柔性机械臂视觉测量系统,用于开展柔性机械臂形状、关节角度测量及目标位姿测量,也可在任务开展前对视觉测量系统进行标定、对算法测量精度进行验证及对典型工况下的任务进行模拟。
本发明的技术方案一方面为一种基于自然特征的柔性机械臂同步测量方法,所述方法包括以下步骤:a、通过至少一个全局相机和手眼相机分别拍摄柔性机械臂图像和目标标定板图像;b、在柔性臂图像中检测同心圆特征,根据同心圆特征的位置设置roi区域搜索矩形特征,以确定目标矩形轮廓;c、将自然特征判断与柔性机械臂运动学算法结合,通过柔性机械臂的正运动学算法推算柔性机械臂的各个臂段和关节的位置范围,以将柔性臂图像中所提取到的自然特征的归属到柔性机械臂的确定的每个臂段和关节;d、利用pnp算法求解矩形特征在相机坐标系的位姿,通过预先标定的目标特征与柔性臂关节及臂杆之间的关系计算柔性机械臂各个关节和臂杆的笛卡尔空间位姿,从而重构柔性机械臂的空间臂形,进而求解柔性机械臂的末端位姿;e、对于手眼相机拍摄的标定板图像,利用标定板位姿解算算法识别和解算标定板相对于相机的位姿,用于修正柔性机械臂的运动学模型。
进一步,所述方法还包括:在执行所述的步骤b前,对于全局相机拍摄的柔性臂图像,通过中值滤波算法减小环境噪声,并且通过高通滤波算法增强特征边缘与环境的对比度。
进一步,所述步骤b包括:b1、提取柔性臂图像中的边缘特征,检测其中的闭合轮廓;b2、根据同心圆特征在图像平面占据像素的数量以设置检测条件,筛选出预设尺寸范围内的闭合轮廓;b3、通过闭合轮廓椭圆拟合函数拟合椭圆;b4、如果拟合闭合轮廓的椭圆面积与轮廓实际占据的总面积相差大于预设阈值,则剔除该轮廓;b5、对于每个拟合的椭圆,如果不存在其它的椭圆,使得二者的中心位置较为接近,则剔除该椭圆对应的轮廓;b6、如果两个椭圆的中心位置接近,只要两椭圆的长短轴之比相差过多或两椭圆的旋转角相差过多,则剔除该椭圆对应的轮廓;b7、将剔除后剩余的同心圆特征标记为关节轴孔对应的同心圆特征,然后在所述的同心圆特征附近设置roi区域,作为臂杆边缘矩形特征的搜索区域;b8、利用lsd直线检测算法提取所述的roi区域中的直线段;b9、剔除超出预设长度范围的直线段;b10、剔除不具有平行线的直线段;b11、将剩余的多个直线段中的偏转角度小于预设角度并且线段间的距离小于预设距离的直线段合并为一条直线段;b12、对于剩余的直线段,以四条直线段为一组,利用排列组合算法求解其组合的数量;b13、根据矩形的边线平行和垂直特性,判断组合为一组的四条直线段是否能够组合为矩形;b14、将能够组成矩形的直线段组标记为该roi区域中搜索到的矩形轮廓。
进一步,所述步骤c包括:c1、求解柔性机械臂末端在图像平面像素坐标,其中,通过预先标定已知柔性机械臂末端与相机相对位姿为camtend,然后通过相机内参tint,计算柔性机械臂末端在像素平面的坐标为
c2、利用柔性机械臂运动学求解柔性机械臂各臂段在笛卡尔空间相对于柔性机械臂末端的位姿endtlinki;c3、求解柔性机械臂各臂段在像素平面位置;c4、将像素平面位置距离,所检测的矩形轮廓与所求得的柔性机械臂臂杆配对。
进一步,所述步骤d包括:d1、对已配对柔性机械臂臂杆的矩形特征轮廓,解算四个矩形角点的像素坐标;d2、利用pnp算法求解所述的矩形特征轮廓边缘在相机坐标系的位姿;d3、通过预先标定的目标矩形特征与柔性机械臂关节及臂杆之间的位置关系,计算柔性机械臂各个关节和臂杆的笛卡尔空间位姿,以重构柔性机械臂的空间臂形,进而求解柔性机械臂的末端位姿。
进一步,所述步骤e包括:如果标定板的位置未知,则可以利用步骤d解算出来的柔性机械臂末端相对于柔性机械臂基座的位姿求解标定板相对于基座的位姿。
或者进一步,所述步骤e包括:如果标定板位姿已知,则可以通过求解出来的相机相对于标定板的位姿反求柔性机械臂的末端位姿,与步骤d中求解的柔性机械臂的末端位姿结合,用于修正柔性机械臂的运动学模型。
本发明的技术方案还涉及一种计算机可读存储介质,其上储存有计算机程序指令,所述计算机程序指令被处理器执行时实施上述的方法。
本发明的技术方案还涉及一种基于自然特征的柔性机械臂同步测量系统,所述柔性机械臂包括多组关节和臂杆,其中每组的关节和臂杆包含至少一个具有自然特征的机械零件,该自然特征包括同心圆特征和矩形特征,所述同步测量系统包括:用于支撑所述的柔性机械臂的基座;设置在所述的柔性机械臂周围的支架;设置在所述的柔性机械臂的末端上的手眼相机;由支架支撑的标定板,该标定板的位置被布置成使得标定板被柔性机械臂的多个运动姿态所带动的手眼相机拍摄到;由所述的支架支撑的多个全局相机,用于拍摄柔性机械臂的图像;计算机装置,包括存储器和处理器,所述处理器执行储存在所述存储器中的计算机程序时实施上述的方法。
与现有的技术相比,本发明具有以下的特点:
1、本发明提供了一种基于自然特征的柔性机械臂同步测量方法,利用全局相机拍摄柔性机械臂的臂形照片,检测和解算柔性机械臂臂杆和关节上的矩形边缘和轴承座孔等自然特征的位姿,从而推导柔性机械臂各个关节的旋转角度;利用手眼相机拍摄标定板目标的照片,解算目标相对于相机的位姿,目标在笛卡尔空间位姿未知时,可以通过视觉检测算法解算其位姿,其中当位姿已知时,位姿解算结果能够用于推导柔性机械臂末端位姿,根据不同使用条件可与全局相机视觉检测结果同时使用或互为备份等。
2、对于自然特征相比于二维码、标志点等典型特征与周围环境对比不够明显的问题,在测量方法中加入中值滤波、高通滤波等滤波方式混合的滤波算法,能够大量减少噪声,增加边缘与周围环境的对比,便于提取到目标的边缘。
3、对于检测到的干扰目标过多的问题,根据臂杆与关节的位置规律,在测量方法中根据臂杆上的矩形边缘和关节上的同心圆相对位置设置检测条件,配合矩形特征和同心圆特征长径比、大小、位置等检测条件,提取目标特征。
4、对于柔性机械臂各臂段和关节的自然特征基本相同,难以判断提取到的特征属于哪一臂段和关节的问题,将特征判断与柔性机械臂运动学结合,通过柔性机械臂的正运动学推算各臂段和关节的大致位置,以其为判据判断提取到特征的归属问题。
附图说明
图1是根据本发明的测量系统的立体示意图。
图2所示为基于本发明的柔性机械臂上用于视觉测量的自然特征。
图3是根据本发明的测量方法的总体流程图。
图4是根据本发明的测量方法中同心圆及边缘矩形轮廓检测的流程图。
图5是根据本发明的测量方法中的柔性机械臂臂段与图像平面矩形特征对应关系判断的流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体方案及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。本文所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
参照图1,本发明的技术方案的测量对象是绳索驱动的柔性机械臂10。该柔性机械臂10包括多个串联连接的关节臂段,每个关节臂段包括万向关节和基本矩形的臂杆的组合。其中每组的关节和臂杆包含至少一个具有自然特征的机械零件,该自然特征包括同心圆特征和矩形特征。
根据本发明的同步测量系统实现柔性机械臂关节角度测量、柔性机械臂末端位姿测量、视觉测量系统标定、目标位姿测量、视觉任务模拟等诸多功能。该系统操作简单、不会影响柔性机械臂本身性能和运动规律。
参照图1,在一些实施例中,根据本发明的同步测量系统可以包括标定板20、手眼相机30、多个全局相机(包括第一全局相机40和第二全局相机50)、支架60、基座70。其中,基座70用于支撑所述的柔性机械臂;支架60设置在所述的柔性机械臂周围;手眼相机30设置在所述的柔性机械臂的末端;支架60支撑标定板20和多个全局相机。
在所述同步测量系统的一个实施例中,借助两个或多个全局相机(如第一全局相机40、第二全局相机50),可获得柔性机械臂运动构件上自然特征在相机中的位姿。结合转动中心与自然特征之间的相对位姿关系,可获得各个转动中心在相机中的位姿。由于相邻运动构件(比如相邻的臂杆)采用双自由度单元(比如是基于万向联轴原理的关节零件)进行连接,因此后一运动构件转动中心坐标系相对前一运动构件转动中心坐标系的姿态由两个方向的角度旋转引起。结合所测出两相邻转动中心的相对位姿,可求得这两方向的旋转角度,并同理求得所有关节的转动角度。
在所述同步测量系统的一个实施例中,借助全局相机可通过对安装在柔性机械臂末端二维码进行测量获得柔性机械臂末端位姿,也可通过手眼相机去观测位姿已知处的标识,反求柔性机械臂末端的位姿。这两种柔性机械臂末端位姿测量方法在部分工况下可同时使用并通过判断或融合等方法来提高柔性机械臂末端位姿测量精度。利用手眼相机可动态、近距离、准确地测得目标在手眼相机中的位姿,利用两个全局相机可测得柔性机械臂末端在基座中的位姿,结合手眼相机与柔性机械臂末端的相对位姿关系,则可获得目标在基座中的位姿。
参照图1及图2,在所述同步测量系统的一个实施例中,利用相机对柔性机械臂每个运动构件上的矩形边框、轴承座同心圆特征进行测量可获得各特征在相机中的位姿camttag。通过事先标定好各特征与相邻运动构件转动中心(假设转动中心坐标系编号为k)的位姿tagtrot,则可求得每个转动中心在相机中的位姿如下式:
camtrot=camttag·tagtrot
根据预先标定好的第二全局相机相对第一全局相机的位姿camtcam2,则可测得的所有转动中心的位姿都转换到第一全局相机中进行表示,对第二全局相机中测得部分运动构件的转动中心位姿如下式:
camtrot=camtcam2·cam2ttag·tagtrot
上述相对位姿矩阵均为4×4的齐次变换矩阵,因相邻运动构件采用双自由单元进行连接,在获得两相邻运动构件转动中心坐标系在相机中位姿后,可求得两相邻转动中心坐标系的相对位姿rotitrot(i 2),从而求解两相邻运动构件之间两个方向旋转角度的方法为:
θi 1=atan(rotitrot(i 2)(1,3)/(-rotitrot(i 2)(2,3)))
θi 2=atan(rotitrot(i 2)5(3,1)/rotitrot(i 2)(3,2))
针对目标位姿测量,上述视觉测量系统主要借助手眼相机来测得目标在手眼相机中的位姿camtobj,利用提前标定的手眼相机与柔性机械臂末端的相对位姿endtcam,并结合全局相机获得的安装在机械臂末端在基座坐标系中的位姿basetend,将手眼相机与全局相机信息进行融合,从而可获得目标在柔性机械臂基座坐标系中的位姿,如下式所示:
basetobj=basetend·endtcam·camtobj
其中柔性机械臂末端在基座坐标系中的位姿basetend,可借助末端与根部的两个二维码并结合各自转动中心与二维码之间的相对位姿,获得根部转动中心在相机中的位姿cam1trotb与末端转动中心在相机中的位姿cam2trote,并结合两个相机之间的相对位姿关系,则可求得basetend如下所示:
basetend=(cam1tbase)-1·cam1tcam2·cam2tend=(cam1trotb)-1·cam1tcam2·cam2trote。
在所述同步测量系统的一个实施例中,手眼相机30用于观测标定板20,求解标定板相对于相机坐标系的位姿,标定板20可用于第一全局相机40、第二全局相机50手眼相机30的内参标定,可用作手眼相机30的观测对象测试柔性机械臂目标识别和位姿解算算法,也可安放在位姿已知的位置,通过手眼相机观测其位姿来反求柔性机械臂末端位姿;支架60可用于安装第一全局相机40、第二全局相机50、标定板20。支架由铝型材组装而成,第一全局相机40、第二全局相机50、标定板20安装位置上下、左右可调,可以满足不同任务需求,第一全局相机40、第二全局相机50可以安装在支架60不同位置以观测柔性机械臂。
基于上述同步测量系统所实施的同步测量方法检测和解算柔性机械臂臂杆和关节处本身具备的矩形、椭圆、同心圆等自然特征的位姿,从而计算柔性机械臂各个关节的转动角度,结合手眼相机对标定板位姿的解算重建柔性机械臂的空间臂形,而不需在柔性机械臂上添加二维码、标志球等标志物或关节编码器等测量装置。
参照图3,在实施例中,根据本发明的基于自然特征的柔性机械臂的同步测量方法,包括如下步骤s10至s60:
s10,通过全局相机和手眼相机分别拍摄柔性机械臂照片和目标标定板相片。
s20,图像滤波处理,对于全局相机拍摄的柔性机械臂照片,针对自然特征与周围环境对比度小的问题,利用中值滤波算法减小环境噪声,利用高通滤波算法增强特征边缘与环境的对比度,便于提取到目标的边缘。
s30,目标矩形轮廓检测。设定检测条件检测柔性机械臂臂段的矩形边缘,其主要流程为先检测图像中的同心圆特征11,再根据同心圆特征11的位置设置roi区域搜索矩形特征12。参照图4,步骤s30包括同心圆检测步骤s31和矩形轮廓检测步骤s32。具体地,步骤s31还可以包括以下子步骤:(1)提取步骤s20处理后图像的边缘特征,检测其中闭合轮廓;(2)根据前期试验及理论计算得到的同心圆特征在图像平面占据像素的多少设置检测条件,排除过大和过小的轮廓;(3)利用闭合轮廓椭圆拟合函数拟合椭圆;(4)如果拟合的椭圆面积与轮廓实际总占面积相差较大(可以通过判断轮廓面积是否在smin和smax范围内进行判断),则剔除该轮廓,因为关节轴孔在图像平面对应的轮廓较为平滑和完整,拟合的椭圆面积与轮廓面积相差较大则说明检测的轮廓形状不规则;(5)对于任一个拟合的椭圆,如果不存在其它椭圆,二者的中心位置较为接近(比如,拟合的椭圆中存在与被检测椭圆中心位置差达到10像素以上),则剔除该椭圆对应的轮廓,因为该椭圆不满足同心圆条件;(6)如果两个椭圆的中心位置接近,但两椭圆的长短轴之比相差过多(比如,轮廓面积和椭圆面积的比不在0.85和1之间),或两椭圆的旋转角相差过多(比如,中心位置接近的椭圆的长短轴比之差达到0.2以上且旋转角度达到30°以上),则剔除,因为同心圆在图像平面长短轴之比和旋转角度应近似相等;(7)理论上剩余的同心圆特征即为关节轴孔对应的同心圆特征,因为关节与臂杆串联相接,相连的关节和臂杆在三维空间位置较接近,所以图像平面中,在同心圆特征附近设置roi区域,作为臂杆边缘矩形特征的搜索区域。因为矩形搜索算法的运算速度受检测到直线段数目和检测面积的影响较大,设置roi区域能够减小搜索面积,从而减少检测到的直线段数目,能够大大提高检测速度。具体地,步骤s32还可以包括以下子步骤:(8)利用lsd直线检测算法提取roi区域中的直线段;(9)删去过长和过短的直线段以减少直线段数量;(10)剔除不存在近似平行的直线段;(11)对任一剩余直线段,搜索与其偏转角度接近的直线段,并判断直线段间距离,如果距离接近则将其合并为一条直线段;(12)对于剩余直线段,以四条直线段为一组,利用排列组合算法求解其组合的可能数量;(13)判断上一步组合为一组的四条直线段是否可以组合为矩形,判断方式为判断其是否两两近似平行,平行线间距是否大于另外两条直线段且小于另两条直线段的1.5倍,两组平行线间是否近似垂直;(14)如果上一步中存在一组直线段可以组成矩形,则停止搜索,该组直线段组成的矩形即为该roi区域中搜索到的矩形轮廓。
s40,像素空间轮廓与笛卡尔空间柔性机械臂配对。由于步骤s30中从像素平面提取的多个目标矩形轮廓难以判断其属于哪一段柔性机械臂,因此在步骤s40中将特征判断与柔性机械臂运动学结合,通过柔性机械臂的正运动学推算各臂段和关节的大致位置,以其为判据判断提取到特征的归属问题。参照图5,具体可包括以下子步骤s41-s46。s41,求解柔性机械臂末端在图像平面像素坐标,柔性机械臂末端与相机相对位姿通过预先标定已知,设其为camtend,相机内参为tint,则末端在像素平面的坐标为
s42,利用柔性机械臂运动学求解柔性机械臂各臂段在笛卡尔空间相对于柔性机械臂末端的位姿endtlinki。s43,求解柔性机械臂各臂段在像素平面位置,已知末端在像素平面的位置和各段臂杆相对于末端的位姿,则可以求各臂段在像素平面的位置。s44,将步骤s30中检测的矩形轮廓与上一步求得的臂杆在像素平面位置比较,如果存在比较接近的轮廓和臂杆(比如某臂杆在空间位置上与检测的矩形中心位置小于一阈值),则二者对应同一柔性机械臂臂杆,因此执行步骤s45,实现像素空间轮廓与笛卡尔空间柔性机械臂配对;否则执行步骤s46,判断未能在像素空间检测该段柔性臂与矩形轮廓形成对应关系。
s50,特征位姿解算,柔性机械臂臂形重建。对于步骤s40中配对成功的矩形轮廓,解算其四个角点的像素坐标,臂杆在三维空间的实际尺寸已知,则可利用pnp算法求解矩形边缘在相机坐标系的位姿,通过预先标定的目标特征与柔性机械臂关节及臂杆之间的关系计算柔性机械臂各个关节和臂杆的笛卡尔空间位姿,从而重构柔性机械臂的空间臂形,进而求解柔性机械臂的末端位姿。
s60,对于手眼相机拍摄的标定板照片,利用标定板位姿解算算法识别和解算相机相对于标定板的位姿。如果标定板的位置未知,则可以利用步骤s50解算出来的柔性机械臂末端相对于柔性机械臂基座的位姿求解标定板相对于基座的位姿,如果标定板位姿已知,则可以通过求解出来的相机相对于标定板的位姿反求柔性机械臂的末端位姿,与步骤s50中求解的末端位姿结合,修正柔性机械臂的运动学模型,提高柔性机械臂的臂形重建精度,实现柔性机械臂的末端位姿、臂形综合闭环控制。
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
1.一种基于自然特征的柔性机械臂同步测量方法,其特征在于,所述方法包括以下步骤:
a、通过至少一个全局相机和手眼相机分别拍摄柔性机械臂图像和目标标定板图像;
b、在柔性臂图像中检测同心圆特征,根据同心圆特征的位置设置roi区域搜索矩形特征,以确定目标矩形轮廓;
c、将自然特征判断与柔性机械臂运动学算法结合,通过柔性机械臂的正运动学算法推算柔性机械臂的各个臂段和关节的位置范围,以将柔性臂图像中所提取到的自然特征的归属到柔性机械臂的确定的每个臂段和关节;
d、利用pnp算法求解矩形特征在相机坐标系的位姿,通过预先标定的目标特征与柔性臂关节及臂杆之间的关系计算柔性机械臂各个关节和臂杆的笛卡尔空间位姿,从而重构柔性机械臂的空间臂形,进而求解柔性机械臂的末端位姿;
e、对于手眼相机拍摄的标定板图像,利用标定板位姿解算算法识别和解算标定板相对于相机的位姿,用于修正柔性机械臂的运动学模型。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在执行所述的步骤b前,对于全局相机拍摄的柔性臂图像,通过中值滤波算法减小环境噪声,并且通过高通滤波算法增强特征边缘与环境的对比度。
3.根据权利要求1或2所述的方法,其中,所述步骤b包括:
b1、提取柔性臂图像中的边缘特征,检测其中的闭合轮廓;
b2、根据同心圆特征在图像平面占据像素的数量以设置检测条件,筛选出预设尺寸范围内的闭合轮廓;
b3、通过闭合轮廓椭圆拟合函数拟合椭圆;
b4、如果拟合闭合轮廓的椭圆面积与轮廓实际占据的总面积相差大于预设阈值,则剔除该轮廓;
b5、对于每个拟合的椭圆,如果不存在其它的椭圆,使得二者的中心位置较为接近,则剔除该椭圆对应的轮廓;
b6、如果两个椭圆的中心位置接近,只要两椭圆的长短轴之比相差过多或两椭圆的旋转角相差过多,则剔除该椭圆对应的轮廓;
b7、将剔除后剩余的同心圆特征标记为关节轴孔对应的同心圆特征,然后在所述的同心圆特征附近设置roi区域,作为臂杆边缘矩形特征的搜索区域。
4.根据权利要求3所述的方法,其中,所述步骤b包括:
b8、利用lsd直线检测算法提取所述的roi区域中的直线段;
b9、剔除超出预设长度范围的直线段;
b10、剔除不具有平行线的直线段;
b11、将剩余的多个直线段中的偏转角度小于预设角度并且线段间的距离小于预设距离的直线段合并为一条直线段;
b12、对于剩余的直线段,以四条直线段为一组,利用排列组合算法求解其组合的数量;
b13、根据矩形的边线平行和垂直特性,判断组合为一组的四条直线段是否能够组合为矩形;
b14、将能够组成矩形的直线段组标记为该roi区域中搜索到的矩形轮廓。
5.根据权利要求1所述的方法,其中,所述步骤c包括:
c1、求解柔性机械臂末端在图像平面像素坐标,其中,通过预先标定已知柔性机械臂末端与相机相对位姿为camtend,然后通过相机内参tint,计算柔性机械臂末端在像素平面的坐标为
c2、利用柔性机械臂运动学求解柔性机械臂各臂段在笛卡尔空间相对于柔性机械臂末端的位姿endtlinki;
c3、求解柔性机械臂各臂段在像素平面位置;
c4、将像素平面位置距离,所检测的矩形轮廓与所求得的柔性机械臂臂杆配对。
6.根据权利要求1或5所述的方法,其中,所述步骤d包括:
d1、对已配对柔性机械臂臂杆的矩形特征轮廓,解算四个矩形角点的像素坐标;
d2、利用pnp算法求解所述的矩形特征轮廓边缘在相机坐标系的位姿;
d3、通过预先标定的目标矩形特征与柔性机械臂关节及臂杆之间的位置关系,计算柔性机械臂各个关节和臂杆的笛卡尔空间位姿,以重构柔性机械臂的空间臂形,进而求解柔性机械臂的末端位姿。
7.根据权利要求6所述的方法,其中,所述步骤e包括:
如果标定板的位置未知,则可以利用步骤d解算出来的柔性机械臂末端相对于柔性机械臂基座的位姿求解标定板相对于基座的位姿。
8.根据权利要求1所述的方法,其中,所述步骤e包括:
如果标定板位姿已知,则可以通过求解出来的相机相对于标定板的位姿反求柔性机械臂的末端位姿,与步骤d中求解的柔性机械臂的末端位姿结合,用于修正柔性机械臂的运动学模型。
9.一种计算机可读存储介质,其上储存有程序指令,所述程序指令被处理器执行时实施根据权利要求1至8中任一项所述的方法。
10.一种基于自然特征的柔性机械臂同步测量系统,所述柔性机械臂包括多组关节和臂杆,其中每组的关节和臂杆包含至少一个具有自然特征的机械零件,该自然特征包括同心圆特征(11)和矩形特征(12),其特征在于,所述同步测量系统包括:
用于支撑所述的柔性机械臂的基座(70);
设置在所述的柔性机械臂周围的支架(60);
设置在所述的柔性机械臂的末端上的手眼相机(30);
由所述的支架(60)支撑的标定板(20),该标定板(20)的位置被布置成使得标定板(20)被柔性机械臂的多个运动姿态所带动的手眼相机(30)拍摄到;
由所述的支架(60)支撑的多个全局相机,用于拍摄柔性机械臂的图像;
计算机装置,用于实施根据权利要求1至8中任一项所述的方法。
技术总结