本发明涉及机器视觉领域,更具体地,涉及一种基于视觉伺服的机械臂目标跟踪方法。
背景技术:
工业机器人领域对制造业智能化和柔性化程度提出了新的要求,工业机器人的市场需求也从传统的工业机器人结构化场景、重复性操作、灵活性差的应用场景逐渐相多样式、小批量,智能化的生产方式取代,对工业机器人具备感知外界环境变化的能力提出了新要求,而基于视觉的伺服控制技术可解决一些场景下的关键问题,如末端辅助柔性装配,空间目标对接等。
视觉伺服控制在技术上包括基于图像的、基于位置的、基于2.5d的视觉伺服控制方法。基于图像的视觉伺服方法中最重要的就是确定图像雅可比矩阵的参数,一般可常用刚体运动模型推导出线性化图像雅可比矩阵,也有学者不考虑相机标定信息,利用卡尔曼滤波实时在线估计图像雅可比矩阵,但是在实际操作任务中,视觉系统的延迟,机械臂的动力学等都会对系统产生影响。
中国发明专利(申请号201811643848.0)名称“一种基于svm和比例控制的视觉伺服方法”公开了基于svm训练模型对样本数据进行训练,输出基于svm的雅克比矩阵,然后、基于当前图像与目标图像的图像特征差值向量及雅克比矩阵,获得机器人达到目标位置时的期望关节角向量。但该方法中svm算法时间消耗较大,视觉识别周期会加大,导致远远大于机器人控制周期,系统控制并且达不到实时性的要求,伺服系统动态滞后会加大。而且svm训练得到的结果十分依赖训练样本的选取,雅可比矩阵的计算准确值会受到样本影响产生偏差。
技术实现要素:
本发明的目的在于提供一种基于视觉伺服的机械臂目标跟踪方法,在基于图像的视觉伺服的基础上加入α-β滤波方法改进图像雅可比矩阵的估计,而且将视觉伺服计算出的关节目标角速度作为前馈补偿进入机器人控制周期内,提高了机械臂视觉伺服的动态跟踪能力和速度平稳性。
为实现上述目的,本发明提供如下方案:
本发明提供了一种基于视觉伺服的机械臂目标跟踪方法,包括以下步骤:
在图像识别周期内图像采集及特征识别模块利用工业摄像头实时采集目标的图像特征,检测出图像特征坐标信息;
视觉伺服运算模块根据所述图像特征坐标信息进行图像雅可比矩阵在线估计,计算出当前时刻机械臂末端的空间速度;
机械臂运动控制器模块将所述当前时刻机械臂末端的空间速度转化为机械臂控制周期内关节目标角速度,利用机械臂控制周期时间常数积分为机械臂关节目标角度;
在所述利用机械臂控制周期时间常数积分为机械臂关节目标角度的同时,速度前馈补偿模块对机械臂关节目标角度进行动态补偿,实时调整机械臂关节目标角度,完成目标的跟踪。
在一个具体实施例中,所述目标的图像特征为平面矩形顶点标注的四个图像特征。
在一个具体实施例中,所述图像特征为圆形图像特征;
所述在圆形识别周期内图像采集及特征识别模块利用工业摄像头实时采集目标的图像特征,检测出图像特征坐标信息之前,所述方法还包括:
将工业摄像头通过工装固定在六自由度的机械臂末端;
移动机械臂,以使得四个圆形图像特征全部位于工业摄像头视野范围内,且其圆心像素坐标为pi=(ui,vi),i=1,2,3,4,其中,摄像头参数如下:焦距f,像素比例系数ρu,ρv,主点坐标(u0,v0),机械臂目标跟踪开始时必须保证。
在一个具体实施例中,所述视觉伺服运算模块根据所述图像特征坐标信息进行图像雅可比矩阵在线估计,计算出当前时刻机械臂末端的空间速度,包括:
视觉伺服模块使用α-β滤波方法进行图像雅可比矩阵在线估计。
在一个具体实施例中,所述视觉伺服模块使用α-β滤波方法进行图像雅可比矩阵在线估计,包括:
s100、计算所述四个圆形图像特征圆心像素坐标相对于所述主点的速度,
其中,
s102、归一化像素坐标变换:
s104、得到k时刻图像雅可比矩阵测量值:
s106、将α-β滤波器应用于图像雅可比矩阵估计中,将图像雅可比矩阵的各个元素看作机械臂视觉伺服控制系统的状态,并以此为机械臂视觉伺服控制系统状态构造线性系统,离散化形式如下:
其中,jm表示图像雅可比矩阵测量值,js表示图像雅可比矩阵平滑值,jp表示图像雅可比矩阵估计值,k表示时刻时间常数,t为视觉采样周期时间,α为位置滤波参数,β为速度滤波参数,参数满足以下范围保证滤波器稳定状态:
s108、计算视觉伺服控制模式下工业摄像头刚体速度
在一个具体实施例中,所述机械臂运动控制器模块将所述当前时刻机械臂末端的空间速度转化为机械臂控制周期内关节目标角速度,利用机械臂控制周期时间常数积分为机械臂关节目标角度,包括:
s200、计算关节目标角速度
其中,
s202、利用关节目标角速度积分得到机械臂关节目标角度:
其中,初始0时刻,机械臂关节目标角度等于关节马盘当前测量角度:
s204、利用双线性z变换得到工业摄像头采集图像周期tv下k时刻关节目标角度θjv(ktv):
s208、对工业摄像头采集图像周期tv下k时刻下线性插值,转化为机械臂控制周期tr下m时刻的关节目标偏差角δθjr(ktv+mtr):
其中tv是tr的整数倍,有tvmodtr=0,0≤m<tv/tr。
在一个具体实施例中,所述速度前馈补偿模块对机械臂关节目标角度进行动态补偿,实时调整机械臂关节目标角度,完成目标的跟踪,包括:
s300、计算关节控制器输出关节目标速度
其中,
s302、将所述机械臂关节目标角速度作为速度前馈补偿值
其中速度前馈补偿系数0<λθ<1;
s304、得到输入到机械臂关节控制器的关节目标速度值
s306、机械臂关节控制器完成关节速度环闭环和电流环闭环,驱动机械臂本体带动末端工业摄像头实时调整机械臂各关节角度,完成目标的跟踪。
在一个具体实施例中,图像采集及特征识别模块基于visualstudio平台搭建opencv模块实现,机械臂的运动在rtx平台下实现,图像特征坐标信息通过共享内存机制在visualstudio平台和rtx平台通信。
在一个具体实施例中,所述图像特征包括圆形、远点和交叉线段。
本发明的有益效果如下:
本发明原理简单、在基于图像的视觉伺服的基础上加入α-β滤波方法改进图像雅可比矩阵的估计,而且将视觉伺服计算出的关节目标角速度作为前馈补偿进入机器人控制周期内,提高了机械臂视觉伺服的动态跟踪能力和速度平稳性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明一个实施例一种基于视觉伺服的机械臂目标跟踪方法流程示意图。
具体实施方式
为使本发明的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明的一个实施例提供一种基于视觉伺服的机械臂目标跟踪方法,如图1所示,包括以下步骤:
在图像识别周期内图像采集及特征识别模块利用工业摄像头实时采集目标的图像特征,检测出图像特征坐标信息;
视觉伺服运算模块根据所述图像特征坐标信息进行图像雅可比矩阵在线估计,计算出当前时刻机械臂末端的空间速度;
机械臂运动控制器模块将所述当前时刻机械臂末端的空间速度转化为机械臂控制周期内关节目标角速度,利用机械臂控制周期时间常数积分为机械臂关节目标角度;
在所述利用机械臂控制周期时间常数积分为机械臂关节目标角度的同时,速度前馈补偿模块对机械臂关节目标角度进行动态补偿,实时调整机械臂关节目标角度,完成目标的跟踪。
在一个具体实施例中,所述目标的图像特征为平面矩形顶点标注的四个图像特征。
在一个具体实施例中,所述图像特征为圆形图像特征;
所述在圆形识别周期内图像采集及特征识别模块利用工业摄像头实时采集目标的图像特征,检测出图像特征坐标信息之前,所述方法还包括:
将工业摄像头通过工装固定在六自由度的机械臂末端;
移动机械臂,以使得四个圆形图像特征全部位于工业摄像头视野范围内,且其圆心像素坐标为pi=(ui,vi),i=1,2,3,4,其中,摄像头参数如下:焦距f,像素比例系数ρu,ρv,主点坐标(u0,v0),机械臂目标跟踪开始时必须保证。
在一个具体实施例中,所述视觉伺服运算模块根据所述图像特征坐标信息进行图像雅可比矩阵在线估计,计算出当前时刻机械臂末端的空间速度,包括:
视觉伺服模块使用α-β滤波方法进行图像雅可比矩阵在线估计。
在一个具体实施例中,所述视觉伺服模块使用α-β滤波方法进行图像雅可比矩阵在线估计,包括:
s100、计算所述四个圆形图像特征圆心像素坐标相对于所述主点的速度,
其中,
s102、归一化像素坐标变换:
s104、得到k时刻图像雅可比矩阵测量值:
s106、将α-β滤波器应用于图像雅可比矩阵估计中,将图像雅可比矩阵的各个元素看作机械臂视觉伺服控制系统的状态,并以此为机械臂视觉伺服控制系统状态构造线性系统,离散化形式如下:
其中,jm表示图像雅可比矩阵测量值,js表示图像雅可比矩阵平滑值,jp表示图像雅可比矩阵估计值,k表示时刻时间常数,t为视觉采样周期时间,α为位置滤波参数,β为速度滤波参数,参数满足以下范围保证滤波器稳定状态:
s108、计算视觉伺服控制模式下工业摄像头刚体速度
在一个具体实施例中,所述机械臂运动控制器模块将所述当前时刻机械臂末端的空间速度转化为机械臂控制周期内关节目标角速度,利用机械臂控制周期时间常数积分为机械臂关节目标角度,包括:
s200、计算关节目标角速度
其中,
s202、利用关节目标角速度积分得到机械臂关节目标角度:
其中,初始0时刻,机械臂关节目标角度等于关节马盘当前测量角度:
s204、利用双线性z变换得到工业摄像头采集图像周期tv下k时刻关节目标角度θjv(ktv):
s208、对工业摄像头采集图像周期tv下k时刻下线性插值,转化为机械臂控制周期tr下m时刻的关节目标偏差角δθjr(ktv+mtr):
其中tv是tr的整数倍,有tvmodtr=0,0≤m<tv/tr。
在一个具体实施例中,所述速度前馈补偿模块对机械臂关节目标角度进行动态补偿,实时调整机械臂关节目标角度,完成目标的跟踪,包括:
s300、计算关节控制器输出关节目标速度
其中,
s302、将所述机械臂关节目标角速度作为速度前馈补偿值
其中速度前馈补偿系数0<λθ<1;
s304、得到输入到机械臂关节控制器的关节目标速度值
s306、机械臂关节控制器完成关节速度环闭环和电流环闭环,驱动机械臂本体带动末端工业摄像头实时调整机械臂各关节角度,完成目标的跟踪。
在一个具体实施例中,图像采集及特征识别模块基于visualstudio平台搭建opencv模块实现,机械臂的运动在rtx平台下实现,图像特征坐标信息通过共享内存机制在visualstudio平台和rtx平台通信。
在一个具体实施例中,所述图像特征包括但不限于圆形、远点和交叉线段。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。