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

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

Info

Publication number
CN111421521A
CN111421521A CN202010015094.5A CN202010015094A CN111421521A CN 111421521 A CN111421521 A CN 111421521A CN 202010015094 A CN202010015094 A CN 202010015094A CN 111421521 A CN111421521 A CN 111421521A
Authority
CN
China
Prior art keywords
sin
cos
teaching
coordinate system
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.)
Granted
Application number
CN202010015094.5A
Other languages
English (en)
Other versions
CN111421521B (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 BDA0002358581490000021
其中,
Figure BDA0002358581490000022
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秒即采集一次四个球心的位置且分别记为Pai、 Pbi、Pci、Pdi;其中,i表示采样周期,i=1,2,3......,记此时四个球心点在双 目视觉坐标系c下的位置如下:
Figure BDA0002358581490000031
进一步地,所述步骤C包括:
C1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure BDA0002358581490000032
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 BDA0002358581490000041
Figure BDA0002358581490000042
Figure BDA0002358581490000043
Figure BDA0002358581490000044
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 BDA0002358581490000045
计算的到用户坐标系u在双目 视觉坐标系c下的位置和姿态:
Figure BDA0002358581490000051
其中,
Figure BDA0002358581490000052
Figure BDA0002358581490000053
o=cross(a,o);
Figure BDA0002358581490000054
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态 为:
Figure BDA0002358581490000055
其中,n=unit(bPr01-bPr02);a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03));
o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure BDA0002358581490000056
C6.按照步骤C1至C4,对步骤B中第i次测得的Pai、Pbi、Pci、Pdi进 行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure BDA0002358581490000057
C7.采用坐标变换得第i个采集周期到手柄坐标系o在机器人基坐标系b 下的位置和姿态
Figure BDA0002358581490000058
Figure BDA0002358581490000059
C8.根据公式(3)将
Figure BDA00023585814900000510
转换成
Figure BDA00023585814900000514
Ai、Bi、Ci
C9.对步骤C8得到的结果进行滤波,得到滤波后的位姿数据
Figure BDA00023585814900000511
及滤波后的姿态数据
Figure BDA00023585814900000512
进一步地,所述步骤C4具体包括:
C4.1.随机给定一组初值X=rand(1,6);
C4.2.将X代入F1到F12,计算得到dY:
Figure BDA00023585814900000513
C4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure BDA0002358581490000061
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 BDA0002358581490000062
及的 姿态数据
Figure BDA0002358581490000063
传送给机器人。
本发明与现有技术相比,具有以下的有益效果:
本发明的基于视觉的机器人示教方法,克服了传统示教方式的一系列缺点, 可快速地应用于负载曲线、姿态变化较大的曲线的示教,以达到工人操作示教 手柄在空间中示教三维曲线,机器人实时记录下示教轨迹的位置和姿态,并能 够再现该三维曲线,实现对复杂的曲线轨迹快速示教,大大减少编程的时间, 提高了示教编程的效率。
附图说明
图1是本发明的一个实施例中的示教手柄的示意图。
图2是本发明的一个实施例中滤波前后得到的轨迹效果示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
一种基于视觉的机器人示教方法,基于示教手柄实现,具体的,如图1所 示为本实施例的示教手柄示意,在示教手柄上固定有四个大小相同的小球,四 个小球分别与示教手柄的四角固定连接,记四个小球的球心分别为Pa、Pb、Pc、 Pd,且Pa、Pb、Pc、Pd中每两个点之间的距离不相等。
具体的,在示教过程中,需保证四个小球的球心均位于双目视觉***(双 目相机构成的视觉***)的视觉范围内,由双目视觉***对四个小球的球心位 置进行实时识别。
具体的,在示教手柄上建立有手柄坐标系o,且该手柄坐标系以示教手柄的 底座的中心点为原点,X轴方向与Pa Pc连线方向平行,即X轴方向平行于
Figure BDA0002358581490000071
Y轴方向与PaPb连线方向平行,即Y轴方向平行于
Figure BDA0002358581490000072
Z轴根据右手法则可 得到,具体为Z轴方向与Pa、Pb、Pc所在平面的垂线方向平行。
将Pa、Pb、Pc、Pd在手柄坐标系o下的位置分别记为oPa、oPb、oPc、oPd, 则:
Figure BDA0002358581490000073
其中,
Figure BDA0002358581490000074
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,实际中 可根据具体情况设定为其他时间)即采集一次四个球心的位置且分别记为Pai、 Pbi、Pci、Pdi;其中,i表示采样周期(一个采样周期为10ms),i=1,2,3......,记 此时四个球心点在双目视觉坐标系c下的位置如下:
Figure BDA0002358581490000081
步骤3.对示教手柄进行位姿估计得到机器人运动轨迹;具体包括:
步骤3.1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure BDA0002358581490000091
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 BDA0002358581490000092
Figure BDA0002358581490000093
Figure BDA0002358581490000094
Figure BDA0002358581490000095
步骤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 BDA0002358581490000101
步骤3.4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure BDA0002358581490000102
步骤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 BDA0002358581490000111
计算的到用户坐标系u在双目视 觉坐标系c下的位置和姿态:
Figure BDA0002358581490000112
其中,
Figure RE-GDA0002530938130000113
o=cross(a,o);
Figure RE-GDA0002530938130000114
Figure RE-GDA0002530938130000115
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态:
Figure BDA0002358581490000116
其中,
Figure BDA0002358581490000117
a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03)); o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure BDA0002358581490000118
步骤3.6.按照步骤3.1至3.4,对步骤2中第i次测得的Pai、Pbi、Pci、Pdi进 行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure BDA0002358581490000119
步骤3.7.采用坐标变换得第i个采集周期到手柄坐标系o在机器人基坐标系 b下的位置和姿态
Figure BDA00023585814900001110
Figure BDA00023585814900001111
步骤3.8.根据公式(3)将
Figure BDA00023585814900001112
转换成
Figure BDA00023585814900001120
Ai、Bi、Ci;具体如下:
Figure BDA00023585814900001113
Figure BDA00023585814900001114
Figure BDA00023585814900001115
Figure BDA00023585814900001116
Figure BDA00023585814900001117
Figure BDA00023585814900001118
步骤3.9.对步骤3.8得到的结果进行滤波,得到滤波后的位姿数据
Figure BDA00023585814900001119
Figure BDA0002358581490000121
及滤波后的姿态数据
Figure BDA0002358581490000122
具体的,本实施例中采用移动平均值法进行滤波,方法如下:
Figure BDA0002358581490000123
步骤4.将滤波后得到的位姿数据
Figure BDA0002358581490000124
及的姿态数据
Figure BDA0002358581490000125
传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现。
具体的,本实施例中,机器人再现的示教手柄移动曲线轨迹效果图如图2 所示。
综上可知,本发明的基于视觉的机器人示教方法,根据双目视觉识别到手 柄靶球4个球心的位置,采用高斯牛顿迭代方法求解出手柄的位置和姿态,通 过坐标变换得到了手柄在机器人坐标系下的位姿(滤波前),然后再经过滤波器 对位置和姿态滤波,即可得到的光滑位置曲线(滤波后),因此,本发明的技术 方案可对复杂的曲线轨迹快速示教,大大减少编程的时间,提高了示教编程的 效率。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例 性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言, 在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型 和改进也视为本发明的保护范围。

Claims (9)

1.一种基于视觉的机器人示教方法,其特征在于,基于示教手柄实现,所述示教手柄上固定有四个小球且其球心分别为Pa、Pb、Pc、Pd;
所述基于视觉的机器人示教方法包括以下步骤:
A.对示教手柄的中心点O进行双目视觉***中的位置标定;
B.手握示教手柄按示教期望轨迹进行移动,由双目视觉***采集示教手柄的四个小球在双目视觉坐标系c下的位置;
C.对示教手柄进行位姿估计得到机器人运动轨迹;
D.将得到的机器人运动轨迹传送给机器人,由机器人运行到给定的位置,实现示教手柄移动曲线轨迹的再现。
2.根据权利要求1所述的一种基于视觉的机器人示教方法,其特征在于,所述四个小球分别与示教手柄的四角固定连接,且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 FDA0002358581480000011
其中,
Figure FDA0002358581480000012
d3为Pd到Pa、Pb、Pc三点所确定的平面的距离。
3.根据权利要求2所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤A具体包括:
A1.将示教手柄固定在机器人的末端法兰盘上,移动机器人使示教手柄位于双目视觉***的视觉范围内的点1,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr01,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa01cPb01cPc01cPd01
A2.移动机器人使示教手柄位于双目视觉***的视觉范围内的点2,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr02,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa02cPb02cPc02cPd02
A3.移动机器人使示教手柄位于双目视觉***的视觉范围内的点3,记录此时示教手柄的中心点O在机器人基坐标系b下的位置bPr03,并记录此时四个小球的球心在双目视觉坐标系c下的位置,分别为:cPa03cPb03cPc03cPd03
4.根据权利要求3所述的一种基于视觉的机器人示教方法,其特征在于,所述点2及点3距离点1的距离应不小于预设阈值,且点1与点2的连线与点2与点3的连线之间的夹角需满足预设角度范围。
5.根据权利要求3所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤B包括:
B1.将示教手柄从机器人上取下,手握示教手柄按示教期望轨迹进行移动;
B2.双目视觉***每隔m秒即采集一次四个球心的位置且分别记为Pai、Pbi、Pci、Pdi;其中,i表示采样周期,i=1,2,3......,记此时四个球心点在双目视觉坐标系c下的位置如下:
Figure FDA0002358581480000021
6.根据权利要求5所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C包括:
C1.设手柄坐标系o在双目视觉坐标系c下的位姿为:
Figure FDA0002358581480000031
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 FDA0002358581480000032
Figure FDA0002358581480000033
Figure FDA0002358581480000034
Figure FDA0002358581480000035
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 FDA0002358581480000041
计算的到用户坐标系u在双目视觉坐标系c下的位置和姿态:
Figure FDA0002358581480000042
其中,
Figure FDA0002358581480000043
Figure FDA0002358581480000044
o=cross(a,o);
Figure FDA0002358581480000045
按照上述方式得到用户坐标系u在机器人基坐标系b下的位置和姿态为:
Figure FDA0002358581480000046
其中,n=unit(bPr01-bPr02);a=cross(unit(bPr01-bPr02),unit(bPr01-bPr03));
o=cross(a,o);p=bPr01
双目视觉坐标系c在机器人基坐标系b下的位置和姿态为:
Figure FDA0002358581480000047
C6.按照步骤C1至C4,对步骤B中第i次测得的Pai、Pbi、Pci、Pdi进行计算得到手柄坐标系o在双目视觉坐标系c下的位置和姿态
Figure FDA0002358581480000058
C7.采用坐标变换得第i个采集周期到手柄坐标系o在机器人基坐标系b下的位置和姿态
Figure FDA0002358581480000051
C8.根据公式(3)将
Figure FDA0002358581480000052
转换成
Figure FDA0002358581480000053
Ai、Bi、Ci
C9.对步骤C8得到的结果进行滤波,得到滤波后的位姿数据
Figure FDA0002358581480000054
及滤波后的姿态数据
Figure FDA0002358581480000055
7.根据权利要求6所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C4具体包括:
C4.1.随机给定一组初值X=rand(1,6);
C4.2.将X代入F1到F12,计算得到dY:
Figure FDA0002358581480000056
C4.3对F1到F12关于px、py、pz、C、B、A求偏导数,求雅克比矩阵J:
Figure FDA0002358581480000057
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为定义的足够小的常数。
8.根据权利要求6所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤C9中具体是采用移动平均值法进行滤波。
9.根据权利要求6或8所述的一种基于视觉的机器人示教方法,其特征在于,所述步骤D中具体是将滤波后得到的位姿数据
Figure FDA0002358581480000061
及的姿态数据
Figure FDA0002358581480000062
传送给机器人。
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 true CN111421521A (zh) 2020-07-17
CN111421521B 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)

Citations (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
CN107756408A (zh) * 2017-11-22 2018-03-06 浙江优迈德智能装备有限公司 一种基于主动红外双目视觉的机器人轨迹示教装置及方法
CN108127669A (zh) * 2018-02-08 2018-06-08 华南理工大学 一种基于动作融合的机器人示教***及实施方法
CN209350242U (zh) * 2018-12-13 2019-09-06 杭州国辰机器人科技有限公司 一种基于双目视觉的喷涂人工示教***

Patent Citations (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
CN107756408A (zh) * 2017-11-22 2018-03-06 浙江优迈德智能装备有限公司 一种基于主动红外双目视觉的机器人轨迹示教装置及方法
CN108127669A (zh) * 2018-02-08 2018-06-08 华南理工大学 一种基于动作融合的机器人示教***及实施方法
CN209350242U (zh) * 2018-12-13 2019-09-06 杭州国辰机器人科技有限公司 一种基于双目视觉的喷涂人工示教***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
应再恩等: "基于视觉跟踪的机器人复杂轨迹模拟再现", 《机械设计与研究》 *

Also Published As

Publication number Publication date
CN111421521B (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN109202912B (zh) 一种基于单目深度传感器和机械臂配准目标轮廓点云的方法
CN111801198B (zh) 一种手眼标定方法、***及计算机存储介质
Kofman et al. Teleoperation of a robot manipulator using a vision-based human-robot interface
Skaar et al. Camera-space manipulation
US4833383A (en) Means and method of camera space manipulation
CN108994832B (zh) 一种基于rgb-d相机的机器人手眼***及其自标定方法
CN109940626B (zh) 一种基于机器人视觉的画眉机器人***的控制方法
Melchiorre et al. Collison avoidance using point cloud data fusion from multiple depth sensors: a practical approach
JP2018167334A (ja) 教示装置および教示方法
CN113103235B (zh) 一种基于rgb-d图像对柜体表面设备进行垂直操作的方法
CN113379849A (zh) 基于深度相机的机器人自主识别智能抓取方法及***
Yang et al. Visual servoing of humanoid dual-arm robot with neural learning enhanced skill transferring control
CN113858217A (zh) 多机器人交互的三维视觉位姿感知方法及***
Han et al. Grasping control method of manipulator based on binocular vision combining target detection and trajectory planning
Yang et al. Visual servoing control of baxter robot arms with obstacle avoidance using kinematic redundancy
CN111421521B (zh) 一种基于视觉的机器人示教方法
CN113352328A (zh) 一种铰接模型的辨识方法及机器人操作方法
CN116652970A (zh) 一种四轴机械臂2d手眼标定方法及***、存储介质
CN111833406A (zh) 机械手与3d相机的旋转式自动标定模块、***及方法
TWI799310B (zh) 機器人及機器人手眼校正方法
CN116214139A (zh) 一种基于双机器人协同的卫星生产线自动装配***
Lippiello et al. 3D pose estimation for robotic applications based on a multi-camera hybrid visual system
CN114559417A (zh) 一种基于3d视觉的捏合机桨叶自动清理机器人***
Zheng et al. Trajectory sampling and fitting restoration based on machine vision for robot fast teaching
CN107363831A (zh) 基于视觉的遥操作机器人控制***及方法

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

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.

CP03 Change of name, title or address