CN111421521B - 一种基于视觉的机器人示教方法 - Google Patents

一种基于视觉的机器人示教方法 Download PDF

Info

Publication number
CN111421521B
CN111421521B CN202010015094.5A CN202010015094A CN111421521B CN 111421521 B CN111421521 B CN 111421521B CN 202010015094 A CN202010015094 A CN 202010015094A CN 111421521 B CN111421521 B CN 111421521B
Authority
CN
China
Prior art keywords
sin
cos
coordinate system
teaching
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010015094.5A
Other languages
English (en)
Other versions
CN111421521A (zh
Inventor
杨金桥
蔡平安
谷菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Kanop Robot Technology Co ltd
Original Assignee
Chengdu Crp Automation Control Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Crp Automation Control Technology Co ltd filed Critical Chengdu Crp Automation Control Technology Co ltd
Priority to CN202010015094.5A priority Critical patent/CN111421521B/zh
Publication of CN111421521A publication Critical patent/CN111421521A/zh
Application granted granted Critical
Publication of CN111421521B publication Critical patent/CN111421521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

本发明公开了一种基于视觉的机器人示教方法,基于示教手柄实现,包括以下步骤:A.对示教手柄的中心点O进行双目视觉***中的位置标定;B.手握示教手柄按示教期望轨迹进行移动,由双目视觉***采集示教手柄的四个小球在双目视觉坐标系c下的位置;C.对示教手柄进行位姿估计得到机器人运动轨迹;D.将得到的机器人运动轨迹传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现。本发明的示教方法可实现对复杂的曲线轨迹快速示教,大大减少编程的时间,提高了示教编程的效率。

Description

一种基于视觉的机器人示教方法
技术领域
本发明涉及机器人示教技术领域,特别涉及一种基于视觉的机器人示教方法。
背景技术
示教编程是机器人的基本功能,传统的示教编程方式为工人操作示教器使机器人沿着预先定义的某个虚拟的方向(坐标系的某个轴)移动或者旋转机器人,要求操作人员对坐标系的方向熟悉;在对某个点进行示教编程时需要不断地示教-观察-再示教不断重复,直到目标点。因此,传统的示教编程存在对操作人员要求高、编程繁琐困难、效率低、难以示教复杂的曲线轨迹等诸多缺点。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种基于视觉的机器人示教方法,可快速地应用于负载曲线、姿态变化较大的曲线的示教,以达到工人操作示教手柄在空间中示教三维曲线,机器人实时记录下示教轨迹的位置和姿态,并能够再现该三维曲线。
为了达到上述的技术效果,本发明采取以下技术方案:
一种基于视觉的机器人示教方法,基于示教手柄实现,所述示教手柄上固定有四个小球且其球心分别为Pa、Pb、Pc、Pd;
所述基于视觉的机器人示教方法包括以下步骤:
A.对示教手柄的中心点O进行双目视觉***(双目相机构成的视觉***)中的位置标定;
B.手握示教手柄按示教期望轨迹进行移动,由双目视觉***采集示教手柄的四个小球在双目视觉坐标系c下的位置;
C.对示教手柄进行位姿估计得到机器人运动轨迹;
D.将得到的机器人运动轨迹传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现。
进一步地,所述四个小球分别与示教手柄的四角固定连接,且Pa、Pb、Pc、Pd中每两个点之间的距离不相等,在示教手柄上建立有手柄坐标系o,且该手柄坐标系以示教手柄的中心点为原点,X轴方向与Pa Pc连线方向平行,Y轴方向与Pa Pb连线方向平行,Z轴方向与Pa、Pb、Pc所在平面的垂线方向平行;将Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别记为oPa、oPb、oPc、oPd,则:
Figure GDA0002692299740000021
其中,
Figure GDA0002692299740000022
d3为Pd到Pa、Pb、Pc三点所确定的平面的距离。
进一步地,所述步骤A具体包括:
A1.将示教手柄固定在机器人的末端法兰盘上,移动机器人使示教手柄位于双目视觉***的视觉范围内的点1,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr01,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa01cPb01cPc01cPd01
A2.移动机器人使示教手柄位于双目视觉***的视觉范围内的点2,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr02,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa02cPb02cPc02cPd02
A3.移动机器人使示教手柄位于双目视觉***的视觉范围内的点3,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr03,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa03cPb03cPc03cPd03
进一步地,所述点2及点3距离点1的距离应不小于预设阈值,且点1与点2的连线与点2与点3的连线之间的夹角需满足预设角度范围。
进一步地,所述步骤B包括:
B1.将示教手柄从机器人上取下,手握示教手柄按示教期望轨迹进行移动;
B2.双目视觉***每隔m秒即采集一次四个球心的位置,第i个采样周期采集的四个球心的位置分别记为Pai、Pbi、Pci、Pdi;其中,i=1,2,3......,记此时四个球心点在双目视觉坐标系c下的位置如下:
Figure GDA0002692299740000031
进一步地,所述步骤C包括:
C1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure GDA0002692299740000032
px、py、pz、C、B、A均为待求解的变量,其中,C、B、A分别表示绕双目视觉坐标系c的Z轴、Y轴、X轴旋转的角度,px、py、pz表示沿双目视觉坐标系c的X、Y、Z轴平移的距离;
C2.已知Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别为oPa、oPb、oPc、oPd,根据坐标系变换规则,Pa、Pb、Pc、Pd在双目视觉坐标系c下的位置为cPa、cPb、cPc、cPd,则:
Figure GDA0002692299740000041
Figure GDA0002692299740000042
Figure GDA0002692299740000043
Figure GDA0002692299740000044
C3.将公式(1)、(2)、(3)带入公式(4-1)到(4-4)可得到关于px、py、pz、C、B、A的非线性表达式即(5-1)到(5-12)共12个等式:
F1=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xa=0 (5-1)
F2=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-ya=0 (5-2)
F3=pz+d1*sin(B)-d2*cos(B)*sin(A)-za=0 (5-3)
F4=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d1*cos(B)*cos(C)-xb=0 (5-4)
F5=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yb=0 (5-5)
F6=pz-d1*sin(B)-d2*cos(B)*sin(A)-zb=0 (5-6)
F7=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xc=0 (5-7)
F8=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-yc=0 (5-8)
F9=pz+d1*sin(B)+d2*cos(B)*sin(A)-zc=0 (5-9)
F10=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d3*(sin(A)*sin(C)+cos(A)*cos(C)*sin(B))+d1*cos(B)*cos(C)-xd=0 (5-10)
F11=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d3*(cos(C)*sin(A)-cos(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yd=0 (5-11)
F12=pz+d1*sin(B)-d2*cos(B)*sin(A)+d3*cos(A)*cos(B)-zd=0 (5-12)
C4.对上述12个方程组采用高斯-牛顿法求解得到由px、py、pz、C、B、A六个待求解的变量构成的矢量X的值,其中,
X=[px py pz A B C]T
C5.对步骤A中3次测量的四个小球的球心在双目视觉坐标系c下的位置数据采用上述方法计算得到
Figure GDA0002692299740000045
计算得到用户坐标系u在双目视觉坐标系c下的位置和姿态:
Figure GDA0002692299740000051
其中,
Figure GDA0002692299740000052
Figure GDA0002692299740000053
o=cross(a,o);
Figure GDA0002692299740000054
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态为:
Figure GDA0002692299740000055
其中,n=unit(bPr01-bPr02);a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03));
o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure GDA0002692299740000056
C6.按照步骤C1至C4,对步骤B中第i个采样周期的Pai、Pbi、Pci、Pdi进行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure GDA0002692299740000057
C7.采用坐标变换得到第i个采样周期手柄坐标系o在机器人基坐标系b下的位置和姿态
Figure GDA0002692299740000058
C8.根据公式(3)将
Figure GDA0002692299740000059
转换成
Figure GDA00026922997400000510
Ai、Bi、Ci
C9.对步骤C8得到的结果进行滤波,得到滤波后的位姿数据
Figure GDA00026922997400000511
及滤波后的姿态数据
Figure GDA00026922997400000512
进一步地,所述步骤C4具体包括:
C4.1.随机给定一组初值X=rand(1,6);
C4.2.将X代入F1到F12,计算得到dY:
Figure GDA00026922997400000513
C4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure GDA0002692299740000061
C4.4.计算步长dX:dX=(JT*J*)JT*dY;
C4.5.更新X的值:X=X-dX;
C4.6.判断范数norm(dX)是否小于eps,若小于则当前X值即所求的值,否则,重复步骤C4.1至C4.5,其中,eps为定义的足够小的常数。
进一步地,所述步骤C9中具体是采用移动平均值法进行滤波。
进一步地,所述步骤D中具体是将滤波后得到的位姿数据
Figure GDA0002692299740000062
及的姿态数据
Figure GDA0002692299740000063
传送给机器人。
本发明与现有技术相比,具有以下的有益效果:
本发明的基于视觉的机器人示教方法,克服了传统示教方式的一系列缺点,可快速地应用于负载曲线、姿态变化较大的曲线的示教,以达到工人操作示教手柄在空间中示教三维曲线,机器人实时记录下示教轨迹的位置和姿态,并能够再现该三维曲线,实现对复杂的曲线轨迹快速示教,大大减少编程的时间,提高了示教编程的效率。
附图说明
图1是本发明的一个实施例中的示教手柄的示意图。
图2是本发明的一个实施例中滤波前后得到的轨迹效果示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
一种基于视觉的机器人示教方法,基于示教手柄实现,具体的,如图1所示为本实施例的示教手柄示意,在示教手柄上固定有四个大小相同的小球,四个小球分别与示教手柄的四角固定连接,记四个小球的球心分别为Pa、Pb、Pc、Pd,且Pa、Pb、Pc、Pd中每两个点之间的距离不相等。
具体的,在示教过程中,需保证四个小球的球心均位于双目视觉***(双目相机构成的视觉***)的视觉范围内,由双目视觉***对四个小球的球心位置进行实时识别。
具体的,在示教手柄上建立有手柄坐标系o,且该手柄坐标系以示教手柄的底座的中心点为原点,X轴方向与Pa Pc连线方向平行,即X轴方向平行于
Figure GDA0002692299740000071
Y轴方向与Pa Pb连线方向平行,即Y轴方向平行于
Figure GDA0002692299740000072
Z轴根据右手法则可得到,具体为Z轴方向与Pa、Pb、Pc所在平面的垂线方向平行。
将Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别记为oPa、oPb、oPc、oPd,则:
Figure GDA0002692299740000073
其中,
Figure GDA0002692299740000074
d3为Pd到Pa、Pb、Pc三点所确定的平面的距离。
具体的,本实施例的基于视觉的机器人示教方法包括以下步骤:
步骤1.进行手眼标定,即对示教手柄的中心点O进行双目视觉***(双目相机构成的视觉***)中的位置标定。
具体包括:
步骤1.1.将示教手柄固定在机器人的末端法兰盘上,移动机器人使示教手柄位于双目视觉***的视觉范围内的点1,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr01,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa01cPb01cPc01cPd01
步骤1.2.移动机器人使示教手柄位于双目视觉***的视觉范围内的点2,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr02,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa02cPb02cPc02cPd02
步骤1.3.移动机器人使示教手柄位于双目视觉***的视觉范围内的点3,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr03,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa03cPb03cPc03cPd03
具体的,上述点2及点3距离点1的距离应尽量大,即点2及点3应距离点1尽量远,且点1与点2的连线与点2与点3的连线之间的夹角需尽量为90°。
步骤2.手握示教手柄按示教期望轨迹进行移动,由双目视觉***采集示教手柄的四个小球在双目视觉坐标系c下的位置。
具体包括:
步骤2.1.将示教手柄从机器人上取下,手握示教手柄按示教期望轨迹进行移动。
步骤2.2.双目视觉***每隔10ms(本实施例中设定为间隔10ms,实际中可根据具体情况设定为其他时间)即采集一次四个球心的位置,,第i个采样周期采集的四个球心的位置分别记为Pai、Pbi、Pci、Pdi;其中,一个采样周期为10ms,i=1,2,3......,四个球心点在双目视觉坐标系c下的位置如下:
Figure GDA0002692299740000081
步骤3.对示教手柄进行位姿估计得到机器人运动轨迹;具体包括:
步骤3.1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure GDA0002692299740000091
px、py、pz、C、B、A均为待求解的变量,从双目视觉坐标系c变换至手柄坐标系o需沿着双目视觉坐标系c进行三次平移和三次旋转,其中,C、B、A分别表示绕双目视觉坐标系c的Z轴、Y轴、X轴旋转的角度,px、py、pz表示沿双目视觉坐标系c的X、Y、Z轴平移的距离;
步骤3.2.已知Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别为oPa、oPb、oPc、oPd,根据坐标系变换规则,Pa、Pb、Pc、Pd在双目视觉坐标系c下的位置为cPa、cPb、cPc、cPd,则:
Figure GDA0002692299740000092
Figure GDA0002692299740000093
Figure GDA0002692299740000094
Figure GDA0002692299740000095
步骤3.3.将公式(1)、(2)、(3)带入公式(4-1)到(4-4)可得到(5-1)到(5-12)共12个等式:
F1=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xa=0 (5-1)
F2=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-ya=0 (5-2)
F3=pz+d1*sin(B)-d2*cos(B)*sin(A)-za=0 (5-3)
F4=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d1*cos(B)*cos(C)-xb=0 (5-4)
F5=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yb=0 (5-5)
F6=pz-d1*sin(B)-d2*cos(B)*sin(A)-zb=0 (5-6)
F7=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xc=0 (5-7)
F8=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-yc=0 (5-8)
F9=pz+d1*sin(B)+d2*cos(B)*sin(A)-zc=0 (5-9)
F10=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d3*(sin(A)*sin(C)+cos(A)*cos(C)*sin(B))+d1*cos(B)*cos(C)-xd=0 (5-10)
F11=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d3*(cos(C)*sin(A)-cos(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yd=0 (5-11)
F12=pz+d1*sin(B)-d2*cos(B)*sin(A)+d3*cos(A)*cos(B)-zd=0 (5-12)
上述12方程是关于px、py、pz、C、B、A的非线性表达式,由于变量的数目为6,方程组数目为12,方程组数目大于变量数目,可实现求解。
步骤3.4.对上述12个方程组采用高斯-牛顿法求解得到由px、py、pz、C、B、A六个待求解的变量构成的矢量X的值,其中,
X=[px py pz A B C]T
具体求解方法如下:
步骤3.4.1.随机给定一组初值X=rand(1,6);
步骤3.4.2.将X代入F1到F12,计算得到dY:
Figure GDA0002692299740000101
步骤3.4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure GDA0002692299740000102
步骤3.4.4.计算步长dX:dX=(JT*J*)JT*dY;
步骤3.4.5.更新X的值:X=X-dX;
步骤3.4.6.判断范数norm(dX)(即dX中6个元素的平方和,再开根号)是否小于eps,若小于则当前X值即所求的值,否则,重复步骤3.4.1至3.4.5,其中,eps为用户定义的足够小的常数,如1e-12。
步骤3.5.对步骤1中3次测量的四个小球的球心在双目视觉坐标系c下的位置数据采用上述方法计算得到
Figure GDA0002692299740000111
计算得到用户坐标系u在双目视觉坐标系c下的位置和姿态:
Figure GDA0002692299740000112
其中,
Figure GDA0002692299740000113
o=cross(a,o);
Figure GDA0002692299740000114
Figure GDA0002692299740000115
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态:
Figure GDA0002692299740000116
其中,
Figure GDA0002692299740000117
a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03));o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure GDA0002692299740000118
步骤3.6.按照步骤3.1至3.4,对步骤2中第i个采样周期的Pai、Pbi、Pci、Pdi进行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure GDA0002692299740000119
步骤3.7.采用坐标变换得到第i个采样周期手柄坐标系o在机器人基坐标系b下的位置和姿态
Figure GDA00026922997400001110
步骤3.8.根据公式(3)将
Figure GDA00026922997400001111
转换成
Figure GDA00026922997400001112
Ai、Bi、Ci;具体如下:
Figure GDA00026922997400001113
Figure GDA00026922997400001114
Figure GDA00026922997400001115
Figure GDA00026922997400001116
Figure GDA00026922997400001117
Figure GDA00026922997400001118
步骤3.9.对步骤3.8得到的结果进行滤波,得到滤波后的位姿数据
Figure GDA00026922997400001119
Figure GDA0002692299740000121
及滤波后的姿态数据
Figure GDA0002692299740000122
具体的,本实施例中采用移动平均值法进行滤波,方法如下:
Figure GDA0002692299740000123
步骤4.将滤波后得到的位姿数据
Figure GDA0002692299740000124
及的姿态数据
Figure GDA0002692299740000125
传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现。
具体的,本实施例中,机器人再现的示教手柄移动曲线轨迹效果图如图2所示。
综上可知,本发明的基于视觉的机器人示教方法,根据双目视觉识别到手柄靶球4个球心的位置,采用高斯牛顿迭代方法求解出手柄的位置和姿态,通过坐标变换得到了手柄在机器人坐标系下的位姿(滤波前),然后再经过滤波器对位置和姿态滤波,即可得到的光滑位置曲线(滤波后),因此,本发明的技术方案可对复杂的曲线轨迹快速示教,大大减少编程的时间,提高了示教编程的效率。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (8)

1.一种基于视觉的机器人示教方法,其特征在于,基于示教手柄实现,所述示教手柄上固定有四个小球且其球心分别为Pa、Pb、Pc、Pd;
所述基于视觉的机器人示教方法包括以下步骤:
A.对示教手柄的中心点O进行双目视觉***中的位置标定;
B.手握示教手柄按示教期望轨迹进行移动,由双目视觉***采集示教手柄的四个小球在双目视觉坐标系c下的位置;
C.对示教手柄进行位姿估计得到机器人运动轨迹;
D.将得到的机器人运动轨迹传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现;
所述四个小球分别与示教手柄的四角固定连接,且Pa、Pb、Pc、Pd中每两个点之间的距离不相等,在示教手柄上建立有手柄坐标系o,且该手柄坐标系o以示教手柄的中心点O为原点,X轴方向与Pa、Pc连线方向平行,Y轴方向与Pa、Pb连线方向平行,Z轴方向与Pa、Pb、Pc所在平面的垂线方向平行;将Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别记为oPa、oPb、oPc、oPd,则:
Figure FDA0002774610290000011
其中,
Figure FDA0002774610290000012
d3为Pd到Pa、Pb、Pc三点所确定的平面的距离。
2.根据权利要求1所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤A具体包括:
A1.将示教手柄固定在机器人的末端法兰盘上,移动机器人使示教手柄位于双目视觉***的视觉范围内的点1,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr01,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa01cPb01cPc01cPd01
A2.移动机器人使示教手柄位于双目视觉***的视觉范围内的点2,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr02,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa02cPb02cPc02cPd02
A3.移动机器人使示教手柄位于双目视觉***的视觉范围内的点3,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr03,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa03cPb03cPc03cPd03
3.根据权利要求2所述的一种基于视觉的机器人示教方法,其特征在于,所述点2及点3距离点1的距离应不小于预设阈值,且点1与点2的连线与点2与点3的连线之间的夹角需满足预设角度范围。
4.根据权利要求2所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤B包括:
B1.将示教手柄从机器人上取下,手握示教手柄按示教期望轨迹进行移动;
B2.双目视觉***每隔m秒即采集一次四个球心的位置,第i个采样周期采集的四个球心的位置分别记为Pai、Pbi、Pci、Pdi;其中,i=1,2,3......,四个球心点在双目视觉坐标系c下的位置如下:
Figure FDA0002774610290000021
5.根据权利要求4所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C包括:
C1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure FDA0002774610290000031
px、py、pz、C、B、A均为待求解的变量,其中,C、B、A分别表示绕双目视觉坐标系c的Z轴、Y轴、X轴旋转的角度,px、py、pz表示沿双目视觉坐标系c的X、Y、Z轴平移的距离;
C2.已知Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别为oPa、oPb、oPc、oPd,根据坐标系变换规则,Pa、Pb、Pc、Pd在双目视觉坐标系c下的位置为cPa、cPb、cPc、cPd,则:
Figure FDA0002774610290000032
Figure FDA0002774610290000033
Figure FDA0002774610290000034
Figure FDA0002774610290000035
C3.将公式(1)、(2)、(3)带入公式(4-1)到(4-4)可得到关于px、py、pz、C、B、A的非线性表达式即(5-1)到(5-12)共12个等式:
F1=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xa=0 (5-1)
F2=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-ya=0 (5-2)
F3=pz+d1*sin(B)-d2*cos(B)*sin(A)-za=0 (5-3)
F4=px+d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d1*cos(B)*cos(C)-xb=0 (5-4)
F5=py-d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yb=0 (5-5)
F6=pz-d1*sin(B)-d2*cos(B)*sin(A)-zb=0 (5-6)
F7=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))-d1*cos(B)*cos(C)-xc=0 (5-7)
F8=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d1*cos(B)*sin(C)-yc=0 (5-8)
F9=pz+d1*sin(B)+d2*cos(B)*sin(A)-zc=0 (5-9)
F10=px-d2*(cos(A)*sin(C)-cos(C)*sin(A)*sin(B))+d3*(sin(A)*sin(C)+cos(A)*cos(C)*sin(B))+d1*cos(B)*cos(C)-xd=0 (5-10)
F11=py+d2*(cos(A)*cos(C)+sin(A)*sin(B)*sin(C))-d3*(cos(C)*sin(A)-cos(A)*sin(B)*sin(C))+d1*cos(B)*sin(C)-yd=0 (5-11)
F12=pz+d1*sin(B)-d2*cos(B)*sin(A)+d3*cos(A)*cos(B)-zd=0 (5-12)
C4.对上述12个方程组采用高斯-牛顿法求解得到由px、py、pz、C、B、A六个待求解的变量构成的矢量X的值,其中,
X=[px py pz A B C]T
C5.对步骤A中3次测量的四个小球的球心在双目视觉坐标系c下的位置数据采用上述方法计算得到
Figure FDA0002774610290000041
计算得到用户坐标系u在双目视觉坐标系c下的位置和姿态:
Figure FDA0002774610290000042
其中,
Figure FDA0002774610290000043
Figure FDA0002774610290000044
o=cross(a,o);
Figure FDA0002774610290000045
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态为:
Figure FDA0002774610290000046
其中,n=unit(bPr01-bPr02);a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03));
o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure FDA0002774610290000047
C6.按照步骤C1至C4,对步骤B中第i个采样周期的Pai、Pbi、Pci、Pdi进行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure FDA0002774610290000051
C7.采用坐标变换得到第i个采样周期手柄坐标系o在机器人基坐标系b下的位置和姿态
Figure FDA0002774610290000052
C8.根据公式(3)将
Figure FDA0002774610290000053
转换成
Figure FDA0002774610290000054
Ai、Bi、Ci
C9.对步骤C8得到的结果进行滤波,得到滤波后的位置数据
Figure FDA0002774610290000055
及滤波后的姿态数据
Figure FDA0002774610290000056
6.根据权利要求5所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C4具体包括:
C4.1.随机给定一组初值X=rand(1,6);
C4.2.将X代入F1到F12,计算得到dY:
Figure FDA0002774610290000057
C4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure FDA0002774610290000058
C4.4.计算步长dX:dX=(JT*J*)JT*dY;
C4.5.更新X的值:X=X-dX;
C4.6.判断范数norm(dX)是否小于eps,若小于则当前X值即所求的值,否则,重复步骤C4.1至C4.5,其中,eps为定义的足够小的常数。
7.根据权利要求5所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C9中具体是采用移动平均值法进行滤波。
8.根据权利要求5或7所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤D中具体是将滤波后得到的位置数据
Figure FDA0002774610290000061
及姿态数据
Figure FDA0002774610290000062
传送给机器人。
CN202010015094.5A 2020-01-07 2020-01-07 一种基于视觉的机器人示教方法 Active CN111421521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010015094.5A CN111421521B (zh) 2020-01-07 2020-01-07 一种基于视觉的机器人示教方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010015094.5A CN111421521B (zh) 2020-01-07 2020-01-07 一种基于视觉的机器人示教方法

Publications (2)

Publication Number Publication Date
CN111421521A CN111421521A (zh) 2020-07-17
CN111421521B true CN111421521B (zh) 2021-02-12

Family

ID=71547011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010015094.5A Active CN111421521B (zh) 2020-01-07 2020-01-07 一种基于视觉的机器人示教方法

Country Status (1)

Country Link
CN (1) CN111421521B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015090324A1 (en) * 2013-12-17 2015-06-25 Syddansk Universitet Device for dynamic switching of robot control points
CN107756408B (zh) * 2017-11-22 2020-10-23 浙江优迈德智能装备有限公司 一种基于主动红外双目视觉的机器人轨迹示教装置及方法
CN108127669A (zh) * 2018-02-08 2018-06-08 华南理工大学 一种基于动作融合的机器人示教***及实施方法
CN209350242U (zh) * 2018-12-13 2019-09-06 杭州国辰机器人科技有限公司 一种基于双目视觉的喷涂人工示教***

Also Published As

Publication number Publication date
CN111421521A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
Skaar et al. Camera-space manipulation
CN111801198B (zh) 一种手眼标定方法、***及计算机存储介质
Yoshimi et al. Alignment using an uncalibrated camera system
US4833383A (en) Means and method of camera space manipulation
CN106066185B (zh) 一种面向焊缝跟踪的线激光传感器自动标定装置及方法
KR102001214B1 (ko) 가상 현실 기반 양팔로봇 교시 장치 및 방법
CN112862878B (zh) 一种基于3d视觉的机械臂修坯方法
CN112207835B (zh) 一种基于示教学习实现双臂协同作业任务的方法
JP2018167334A (ja) 教示装置および教示方法
CN113103235B (zh) 一种基于rgb-d图像对柜体表面设备进行垂直操作的方法
CN113858217B (zh) 多机器人交互的三维视觉位姿感知方法及***
CN112894812A (zh) 一种面向机械臂的视觉伺服轨迹跟踪控制方法及***
Skoglund et al. Programming by demonstration of pick-and-place tasks for industrial manipulators using task primitives
Yang et al. Visual servoing of humanoid dual-arm robot with neural learning enhanced skill transferring control
Han et al. Grasping control method of manipulator based on binocular vision combining target detection and trajectory planning
CN116079734A (zh) 一种基于双视觉检测的协作机器人的装配控制***及方法
CN111421521B (zh) 一种基于视觉的机器人示教方法
JPH0780790A (ja) 三次元物体把持システム
CN113352328B (zh) 一种铰接模型的辨识方法及机器人操作方法
Yang et al. Visual servoing control of baxter robot arms with obstacle avoidance using kinematic redundancy
CN116872216B (zh) 一种基于有限时间控制的机器人视觉伺服作业方法
CN111702787B (zh) 人机协作控制***及控制方法
CN111833406A (zh) 机械手与3d相机的旋转式自动标定模块、***及方法
Lippiello et al. 3D pose estimation for robotic applications based on a multi-camera hybrid visual system
CN114559417A (zh) 一种基于3d视觉的捏合机桨叶自动清理机器人***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 610000 No. 42, Huatai Road, Chenghua District, Chengdu, Sichuan

Patentee after: Chengdu kanop Robot Technology Co.,Ltd.

Address before: No.199, Huaguan Road, Longtan Industrial Park, Chenghua District, Chengdu, Sichuan 610000

Patentee before: CHENGDU CRP AUTOMATION CONTROL TECHNOLOGY Co.,Ltd.