CN116619376A - 基于虚拟视觉的机器人示教控制方法 - Google Patents

基于虚拟视觉的机器人示教控制方法 Download PDF

Info

Publication number
CN116619376A
CN116619376A CN202310662882.7A CN202310662882A CN116619376A CN 116619376 A CN116619376 A CN 116619376A CN 202310662882 A CN202310662882 A CN 202310662882A CN 116619376 A CN116619376 A CN 116619376A
Authority
CN
China
Prior art keywords
coordinate
virtual
information
control
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
CN202310662882.7A
Other languages
English (en)
Other versions
CN116619376B (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.)
Guangdong Vocational College of Environmental Protection Engineering
Original Assignee
Guangdong Vocational College of Environmental Protection Engineering
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 Guangdong Vocational College of Environmental Protection Engineering filed Critical Guangdong Vocational College of Environmental Protection Engineering
Priority to CN202310662882.7A priority Critical patent/CN116619376B/zh
Publication of CN116619376A publication Critical patent/CN116619376A/zh
Application granted granted Critical
Publication of CN116619376B publication Critical patent/CN116619376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

本发明公开了基于虚拟视觉的机器人示教控制方法,包括示教端搭建虚拟示教环境,控制端获取其中的机器人和工件的信息,建模端根据上述信息重建工件三维模型,获取模型的图像并标定工件在相机坐标系下的坐标;控制端响应于其操控子界面的选定和触发指令,获取标定数据和模型的图像,并构建标定数据与机器人坐标的映射,根据模型的图像及映射关系,将工件的位姿从工件坐标系转变到机器人坐标系下;示教端根据转变后的工件的位姿,控制机器人对工件进行夹取,以完成示教。本申请通过交互显示技术来控制和展示机器人的示教过程,降低了示教难度和学习难度,保证了数据的统一性,且使得工件的位姿准确地配准到实际被夹取的位置,提高示教效果。

Description

基于虚拟视觉的机器人示教控制方法
技术领域
本发明涉及机器人仿真控制技术领域,特别涉及基于虚拟视觉的机器人示教控制方法。
背景技术
ABB机器人具有效率高、柔性好、智能化等特点,因此在工业和服务领域都得到广泛应用。根据任务要求,机器人应用通常需要集成一个或多个末端执行器和工作对象进行交互,并驱使末端执行器按照指定的空间运动轨迹进行运动。末端执行器运动轨迹的生成,是通过机器人示教过程来实现。目前,机器人示教主要包括直接示教、拖动示教以及离线编程三种方法。直接示教、拖动示教的方法较为传统,而离线编程的方法为新兴的方法,能够克服直接示教、拖动示教的方法的缺陷。现有的离线编程的机器人示教方法仍存在如下缺陷:
①离线编程的示教方法通常以源代码的方法呈现机器人动作,示教动作不够直观,不利于学习者进行学习;
②目前的示教教学通常通过视觉识别软件识别处于工件坐标系下的工件,并将识别到的工件坐标直接提供给机器人来实现工件夹取。首先,现有的视觉识别过程存在透视的缺陷,这导致识别到的坐标值与实际值存在偏差的问题;其次,机器人的操作基准坐标系为关节坐标系或工具坐标系,视觉识别软件的坐标系为相机坐标系,两者的基准坐标系不同,这导致机器人所得到的工件的坐标数据也存在偏差,所得到的工件坐标数据与其实际夹取的坐标位置不同。由于工件的三维模型以及其与机器人的相对位姿的准确与否将影响示教效果,若无法将工件处于工件坐标系下的位置配准到实际需要夹取的位置,将会使得机器人的工件夹取操作出现操作误差,机器人无法根据预设的编程来完成工件的夹取,进而无法达到预期的示教效果。
③进行示教时,通常需要用户在终端同时打开机器人仿真软件、编程软件等多个软件,这容易加重终端的负载,导致终端的运行效率较低,严重则会导致终端宕机。另外,参与示教的多个软件间并不进行数据交互和映射,在用户操作多个软件时,容易出现数据错误或错乱的情况,进而影响示教效果。
④对于初学者而言,机器人仿真软件、三维建模软件、编程软件等多个软件的操作难度较大,容易出现初学者有操作不熟练或者不会操作等问题。这无疑会加重示教者的示教难度和示教负担,同时也会增加学习者学习机器人的操控的难度,不利于学习者快速上手进行机器人的操作和控制。
以上技术问题亟待解决。
发明内容
本发明的目的是提供基于虚拟视觉的机器人示教控制方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
本发明解决其技术问题的解决方案是:第一方面,本申请提供基于虚拟视觉的机器人示教控制方法,包括如下步骤:
搭建虚拟示教环境,所述虚拟示教环境中布置有虚拟平台和虚拟机器人,随机生成多个虚拟工件并将所述虚拟工件放置于所述虚拟平台上;
获取由控制端发送的第二坐标信息,根据所述第二坐标信息控制所述虚拟机器人抓取放置在所述虚拟平台上的虚拟工件,进行仿真示教。
第二方面,本申请提供基于虚拟视觉的机器人示教控制方法,包括如下步骤:
获取由控制端发送的所述虚拟工件的位姿信息,构建与虚拟工件匹配的三维透视模型,并根据所述位姿信息调整所述三维透视模型的位姿;
通过虚拟相机采集所述三维透视模型的俯视图像,生成工件透视图像,同时标定所述三维透视模型在相机坐标系下的坐标信息。
第三方面,本申请提供基于虚拟视觉的机器人示教控制方法,包括如下步骤:
显示主界面,所述主界面包括示教通讯区域、建模通讯区域和操控区域;
响应于对所述示教通讯区域的选定指令,构建与示教端的连接,并获取所述虚拟机器人的第一坐标信息和所述虚拟工件的位姿信息;
其中,所述第一坐标信息包括虚拟机器人在机器人坐标系下的轴坐标信息,所述虚拟工件的位姿信息包括虚拟工件在工件坐标系下的轴坐标信息;
响应于对所述建模通讯区域的选定指令,构建与建模端的连接,并将所述虚拟工件及其位姿信息传输给所述建模端;
响应于对所述操控区域的选定指令,显示操控子界面,所述操控子界面包括标定设置区域、绑定区域、配置区域和运行控件,所述绑定区域包括绑定界面控件,所述配置区域包括标定选择子区域和执行设置控件;
响应于对所述标定设置区域的选定指令,获取与所述执行设置区域的选定指令对应的标定数据和工件透视图像,所述标定数据包括多个坐标标定模板,每个所述坐标标定模板对应于一个所述虚拟工件,所述工件透视图像为所述虚拟工件的三维透视模型的俯视图像;
响应于对所述绑定界面控件的触发指令,显示数据绑定窗口,通过所述数据绑定窗口将所述坐标标定模板映射至所述第一坐标信息中,响应于对所述数据绑定窗口中的退出控件的触发指令,显示所述操控子界面;
响应于在所述标定选择子区域的选择指令,在所述标定选择子区域中显示与所述标定选择子区域的选择指令对应的坐标标定模板,响应于对所述执行设置控件的触发指令,确定与所述执行设置控件的触发指令对应的执行方式;
响应于对所述运行控件的触发指令,根据所述执行方式,利用与所述标定选择子区域的选择指令对应的坐标标定模板,将所述虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息,并将所述虚拟工件在机器人坐标系下的坐标信息作为第二坐标信息输出至所述示教端。
本发明的有益效果是:提供基于虚拟视觉的机器人示教控制方法,结合了交互显示技术,通过交互显示技术来控制和直观地展示机器人的示教过程,有效地降低了示教者的示教难度和学习者的学习难度,同时实现了多个软件之间的数据交互和映射,保证数据的统一性,避免数据错乱或者错误的问题出现,降低数据问题对示教效果的不良影响;另外,本申请通过数据映射的方式来实现虚拟工件从工件坐标系转换到机器人坐标系下,使得工件的位姿准确地配准到实际被夹取的位置,提高机器人夹取工件的精准度,在提高示教效果的同时提供了视觉效果,有利于学习者观察示教过程。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请提供的应用于控制端的示教控制方法的流程图;
图2为本申请提供的示教端所搭建的虚拟示教环境的示意图;
图3为本申请提供的示教端仿真示教的示意图;
图4为本申请提供的建模端的建模界面的示意图;
图5为本申请提供的建模端的通讯界面的示意图;
图6为本申请提供的操控子界面的示意图;
图7为本申请提供的数据绑定窗口的示意图;
图8为本申请提供的连接子界面的示意图;
图9为本申请提供的读写子界面的示意图;
图10为本申请提供的读取子界面的示意图;
图11为本申请提供的通讯子界面的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
机器人具有效率高、柔性好、智能化等特点,因此在工业和服务领域都得到广泛应用。ABB机器人在过去数十年已成功用于汽车、食品、医药等行业的生产自动化,成为主要的搬运、装配、喷涂和包装等自动化设备。根据任务要求,机器人应用通常需要集成一个或多个末端执行器和工作对象进行交互,并驱使末端执行器按照指定的空间运动轨迹进行运动。末端执行器运动轨迹的生成,是通过机器人示教过程来实现。
目前,机器人示教主要包括直接示教、拖动示教以及离线编程三种方法。直接示教的示教方式是指操作人员通过示教器直接操作机器人驱使末端执行器运动至所需位姿,并记录下机器人的运动轨迹,以完成示教。拖动示教的示教方式是指通过机器人力控,使得操作人员能够拖动机器人末端执行器到达指定位姿,以完成示教。直接示教和拖动示教的方式为传统的示教方式,它们采用机器人路径重复再现的原理来实现机器人的示教教学,通常需要操作人员近距离操作并观察机器人,不仅存在安全隐患、示教耗时长、效率低等问题,而且会占用机器人的作业时间,干扰机器人的正常作业的进行。
离线编程的示教方式为新兴的示教方式,方法过程为首先,通过机器人仿真软件重建工作场景的三维虚拟环境,在三维虚拟环境中给定机器人的位姿;然后,根据加工工件的大小、形状、材料等因素,通过三维建模软件生成加工工件的三维实体模型;之后,根据三维实体模型,结合机器人的位姿,通过编程软件离线编写出机器人夹取加工工件的运动轨迹的程序;最后,将编程程序输入至机器人仿真软件中,完成机器人的仿真示教。
虽然离线编程的示教方式能够很好地克服传统的示教方式所存在的缺陷,但其仍存在如下缺陷:
①离线编程的示教方法通常以源代码的方法呈现机器人动作,示教动作不够直观,不利于学习者进行学习;
②ABB机器人主要包括四种类型的坐标系:世界坐标系(机座坐标系)、关节坐标系、工具坐标系和工件坐标系。其中,世界坐标系是指以大地为参考的坐标系。关节坐标系是指设定在机器人的关节中的坐标系,关节坐标系中的机器人的位置和姿势是以各关节的底座侧的关节坐标系为基准而确定的。工具坐标系是指工具中心店和工具姿势的直角坐标系,通常地,在工业机器人的末端执行器上固定特殊的部件为工具,如夹具等,在这些工具上的某个固定位置上通常要建立一个坐标系,这个坐标系为工具坐标系。在未定义工具坐标系时,通常由机械接口坐标系来替代工具坐标系。用户坐标系即工件坐标系,是指在操作的工件或者平台上建立的坐标系。
目前的示教教学通常通过视觉识别软件识别处于工件坐标系下的工件,并将识别到的工件坐标直接提供给机器人来实现工件夹取。首先,现有的视觉识别过程存在透视的缺陷,这导致识别到的坐标值与实际值存在偏差的问题;其次,机器人的操作基准坐标系为关节坐标系或工具坐标系,视觉识别软件的坐标系为相机坐标系,两者的基准坐标系不同,这导致机器人所得到的工件的坐标数据也存在偏差,所得到的工件坐标数据与其实际夹取的坐标位置不同。由于工件的三维模型以及其与机器人的相对位姿的准确与否将影响示教效果,若无法将工件处于工件坐标系下的位置配准到实际需要夹取的位置,将会使得机器人的工件夹取操作出现操作误差,机器人无法根据预设的编程来完成工件的夹取,进而无法达到预期的示教效果。
③进行示教时,通常需要用户在终端同时打开机器人仿真软件、编程软件等多个软件,这容易加重终端的负载,导致终端的运行效率较低,严重则会导致终端宕机。另外,参与示教的多个软件间并不进行数据交互和映射,在用户操作多个软件时,容易出现数据错误或错乱的情况,进而影响示教效果。
④对于初学者而言,机器人仿真软件、三维建模软件、编程软件等多个软件的操作难度较大,容易出现初学者有操作不熟练或者不会操作等问题。这无疑会加重示教者的示教难度和示教负担,同时也会增加学习者学习机器人的操控的难度,不利于学习者快速上手进行机器人的操作和控制。
针对上述亟待解决的问题,本申请提供了一种基于虚拟视觉的机器人示教控制方法及装置,主要应用于ABB机器人的示教。本申请提供的机器人示教控制方法应用于示教平台,即示教装置。所述示教装置包括示教端、控制端和建模端,其中,示教端为搭载有ROBOTSTUDIO软件的终端,控制端为搭载有UNITY 3D软件的终端,建模端为搭载有Vision Master软件的终端。可选地,示教端、控制端和建模端之间通过TCP/IP协议构建连接。
本申请提供的机器人示教控制方法主要分为三个部分:应用于示教端的示教控制方法、应用于建模端的示教控制方法以及应用于控制端的示教控制方法。
所述应用于示教端的示教控制方法可以包括但不限于如下步骤。
S101,搭建虚拟示教环境。
本步骤中,于示教端显示有示教界面,示教界面用于显示所搭建的虚拟示教环境。虚拟示教环境为ABB机器人实际操作的场景,虚拟示教环境中布置有虚拟平台和虚拟机器人,虚拟机器人的参数与实体的ABB机器人的参数相同。
S102,随机生成多个虚拟工件并将虚拟工件放置于虚拟平台上。
本步骤中,参照图2所示的虚拟示教环境的示意图,示教端通过其内部的SMART组件随机生成多个虚拟工件,并将其随机放置在虚拟平台上。虚拟工件的位姿均为位于工件坐标系下的位姿。
S103,获取由控制端发送的第二坐标信息,根据第二坐标信息控制虚拟机器人抓取放置在虚拟平台上的虚拟工件,进行仿真示教。
需要说明的是,第二坐标信息为虚拟工件位于机器人坐标系下的坐标。
本步骤中,参照图3所示,示教界面还用于显示虚拟机器人抓取放置在虚拟平台上的虚拟工件的示教过程。
本具体实施例中,示教端的作用主要包括:提供仿真示教的虚拟环境,并根据控制端的配准得到的坐标信息,结合预先编写的程序,控制其构建的虚拟机器人进行仿真模拟示教。可选地,预先编写的程序通过RAPID软件进行预先编写。
所述应用于建模端的示教控制方法可以包括但不限于如下步骤。
S201,获取由控制端发送的虚拟工件的位姿信息,虚拟工件的位姿信息为虚拟工件位于工件坐标系下的位姿信息,构建与虚拟工件匹配的三维透视模型,并根据位姿信息调整三维透视模型的位姿。
本步骤中,于建模端显示建模界面,建模界面用于显示所搭建的与虚拟示教环境相同的建模环境。建模界面包括图片设置菜单控件,建模端获取控制端发送的虚拟工件的位姿信息,位姿信息是虚拟工件位于工件坐标系下的位姿,并根据位姿在建模环境中构建与虚拟工件相同的三维模型,于建模界面中显示此三维模型,如图4所示。之后,调整三维透视模型的位姿,使其坐标位置与虚拟工件的坐标位置相同,同时旋转三维透视模型的角度,使其姿态与虚拟工件的姿态也一致,以确保后续采集到的位姿图像的精准度。
本申请搭建三维模型的目的是将工件坐标系从虚拟示教环境中分离出来,使得位于工件坐标系下的虚拟工件成为独立体,以便于确定虚拟工件在工件坐标系下的位姿以及将其基准坐标系转换为常用的相机坐标系。
可选地,三维模型为透视模型。
S202,响应于对图片设置菜单控件的选定指令,通过虚拟相机采集三维透视模型的俯视图像,生成工件透视图像,同时标定三维透视模型在相机坐标系下的坐标信息。
需要说明的是,如镜头焦距、在建模环境中的安装高度等虚拟相机参数均与实际应用的相机设备的参数一致。工件透视图像为具有透视效果的位姿图像,并可存储于指定路径。
本步骤中,由于虚拟工件的工件坐标系的中心点定位会其所放置的位置而发生改变,当工件坐标系出现改变时,将虚拟工件从工件坐标系标定至机器人坐标系的工作难度也将大大增加。因此,本申请将通过采集图像的方式,标定虚拟工件在相机坐标系下的坐标,以将虚拟工件从工件坐标系转换至相机坐标系,进而将虚拟工件的坐标系的中心点固定定位为相机坐标系的中心点。
其中,将虚拟工件从工件坐标系进行转换,并转换至相机坐标系的方法具体包括:建立工件坐标系与相机坐标系的映射关系,通过调取所述映射关系,从而将虚拟工件的工件坐标转换成相机坐标。
本具体实施例中,建模端的主要作用是构建与虚拟工件相同的三维模型,并提供三维模型的俯视透视图像,以便于后续控制端根据俯视透视图像和虚拟机器人的参数信息来完成数据映射,进而完成坐标系的转换。
进一步地,在S201之前还可以包括如下步骤:
D1,显示建模界面,建模界面还包括通讯控件。
D2,响应于对通讯控件的触发指令,进入通讯界面。
本步骤中,用户可通过触发通讯控件以进入如图5所示的通讯界面。通讯界面包括IP地址显示区域、端口显示区域、接收信息显示区域、发送信息显示区域和连接状态显示区域,通讯界面还包括连接上位机控件、发送信息控件和断开上位机控件。
D3,响应于在IP地址显示区域和端口显示区域中输入的信息,在IP地址显示区域和端口显示区域显示第四内容信息,第四内容信息为控制端的IP地址和端口号。
本步骤中,用户可通过IP地址显示区域和端口显示区域输入控制端的IP地址和端口号,如图5所示,用户在IP地址显示区域和端口显示区域输入的IP地址为192.168.8.200,端口号为3000,建模端响应于此输入信息并将其分别显示在IP地址显示区域和端口显示区域。
D4,响应于对连接上位机控件的触发指令,构建与第四内容信息对应的控制端的通讯连接,并在连接状态显示区域中显示与建模端的连接状态,在接收信息显示区域中显示由控制端发送的第一测试信息。
本申请中,控制端与建模端的连接通讯可由控制端或者建模端中任意一端主动发起。在本步骤中,主动发起连接的主体端为建模端,而在前述S3032中主动发起连接的主体端为控制端。当建模端与控制端连接成功时,于连接状态显示区域中显示“连接状态:连接成功”。当建模端与控制端连接失败时,于连接状态显示区域中显示“连接状态:连接失败”,如图5所示。
D5,响应于在发送信息显示区域输入的信息,于发送信息显示区域显示第二测试信息,第二测试信息用于测试与控制端能否接收到建模端发送的信息。
D6,响应于对断开上位机控件的触发指令,断开与控制端的连接。
可选地,通讯界面还包括返回建模控件,在D2之后还包括如下步骤:响应于对返回建模控件的触发指令,显示如图4所示的建模界面。本具体实施例中,如图5所示,返回建模控件呈“>”符号。
参照图1,所述应用于控制端的示教控制方法可以包括但不限于如下步骤。
S301,显示主界面,主界面包括示教通讯区域、建模通讯区域和操控区域。
本步骤中,于控制端中显示控制端的主界面。其中,在主界面中,连接机器人控制器区域、读写机器人程序数据区域、读取机器人***数据区域合并统称为示教通讯区域,Unity通讯区域则为建模通讯区域,VM界面区域则为操控区域。
S302,响应于对示教通讯区域的选定指令,构建与示教端的连接,并获取虚拟机器人的第一坐标信息和虚拟工件的位姿信息。
本步骤中,用户可通过选定示教通讯区域,来构建示教端和控制端的连接和进行双端数据交互。
需要说明的是,第一坐标信息包括虚拟机器人在机器人坐标系下的轴坐标信息。这里的机器人坐标系是指关节坐标系和工具坐标系,轴坐标为X轴坐标、Y轴坐标和Z轴坐标。虚拟工件的位姿信息是指虚拟坐标系在工件坐标系下的坐标信息,包括X轴坐标、Y轴坐标和Z轴坐标。
S303,响应于对建模通讯区域的选定指令,构建与建模端的连接,并将虚拟工件及其位姿信息传输给建模端,以使得建模端搭建三维透视模型。
本步骤中,用户可通过选定建模通讯区域,来构建控制端与建模端的连接和进行双端数据交互。
S304,响应于对操控区域的选定指令,显示操控子界面。
本步骤中,用户选定操控区域,控制端根据此选定指令,显示如图6所示的操控子界面。操控子界面包含有同步显示区域、标定设置区域、绑定区域、配置区域和运行控件。其中,绑定区域包含有绑定界面控件,配置区域包含有标定选择子区域和执行设置控件。
可选地,布置方式为:同步显示区域的下面分别布置有标定设置区域和绑定区域,标定设置区域的下面布置有配置区域。配置区域和绑定区域的下面布置有运行控件。
S305,响应于对标定设置区域的选定指令,获取与执行设置区域的选定指令对应的标定数据和工件透视图像,并在同步显示区域中同步显示与执行设置区域的选定指令对应的标定数据和工件透视图像。
需要说明的是,标定数据包括多个坐标标定模板,每个坐标标定模板对应于一个虚拟工件。工件透视图像为虚拟工件的三维透视模型的俯视图像,即建模端所采集到的俯视图像。
进一步地,如图6所示,标定设置区域包括方案设置子区域,同步显示区域包括流程显示子区域,方案设置子区域包括方案路径显示子区域、第一浏览控件、保存方案控件。S305可以包括如下步骤:
S3051,响应于对第一浏览控件的触发指令,获取与第一浏览控件的触发指令相对应的标定数据,在方案路径显示子区域显示相对应的标定数据的路径,在流程显示子区域显示对应的标定数据。
本步骤中,如图6所示,响应于对第一浏览控件的触发指令,方案路径显示子区域显示“G:\VM程序\海康测试流程1.sol”,同时在流程显示子区域显示对应的标定数据。
S3052,响应于对保存方案控件的触发指令,确定相对应的标定数据。
进一步地,标定设置区域还包括图像设置子区域,同步显示区域包括图像显示子区域。图像设置子区域包括图像目录显示子区域、第二浏览控件和图像源选择子区域。S305还可以包括如下步骤:
S3053,响应于对第二浏览控件的触发指令,获取与第二浏览控件的触发指令相对应的工件透视图像,工件透视图像为一个或多个图像,并在图像目录显示子区域显示相对应的工件透视图像的路径,在图像显示子区域中显示相对应的工件透视图像。
S3054,响应于在图像源选择子区域的选择指令,在图像源选择子区域中显示与图像源选择子区域的选择指令相对应的工件透视图像的名称,如图6所示,响应于在图像源选择子区域的选择指令,图像源选择子区域中显示“图像源1”。
S306,响应于对绑定界面控件的触发指令,显示数据绑定窗口,通过数据绑定窗口将坐标标定模板映射至第一坐标信息中,响应于对数据绑定窗口中的退出控件的触发指令,显示操控子界面。
本步骤中,绑定界面控件为如图6所示的标识有“数据绑定界面”的控件,用户通过选定此控件可进入如图7所示的数据绑定窗口,以完成标定模板与机器人坐标系的坐标信息的映射,在完成映射操作后,用户可通过选定数据绑定窗口中的退出控件,以返回如图6所示的操控子界面。
S307,响应于在标定选择子区域的选择指令,在标定选择子区域中显示与标定选择子区域的选择指令对应的坐标标定模板,响应于对执行设置控件的触发指令,确定与执行设置控件的触发指令对应的执行方式。
本步骤中,用户可通过在标定选择子区域中选择所需要的坐标标定模板,如图6所示,当用户选定完成后,于标定选择子区域中显示其所选择的标定模板“流程1”。之后,用户可选择所需要的执行设置控件,以确定执行方式。
S308,响应于对运行控件的触发指令,根据执行方式,利用与标定选择子区域的选择指令对应的坐标标定模板,将虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息,并将虚拟工件在机器人坐标系下的坐标信息作为第二坐标信息输出至示教端。
本步骤中,用户选定如图6所示的标识有“启动自动运行”的控件后,控制端开始坐标转换的操作。用户在图像设置子区域选定工件透视图像、在方案设置子区域选定坐标标定模板以及在数据绑定窗口中绑定坐标信息。其中:工件透视图像映射的是虚拟工件在相机坐标系下的中心点位置;坐标标定模板映射的是标定坐标系;绑定的坐标信息是标定坐标系与机器人坐标系的映射关系。当坐标系的中心点位置出现变化时,坐标系也会随之改变。基于此原理,本申请首先在S202中将虚拟工件的坐标系通过重建三维模型、图像采集的方式转换为常用的相机坐标系。然后,控制端获取此工件透视图像,将虚拟工件在相机坐标系下的中心点位置映射到标定坐标系中,即将虚拟工件的坐标从相机坐标系转换到标定坐标系中。然后,根据在S306的数据绑定窗口中构建的标定坐标系与机器人坐标系的映射关系,将虚拟工件在相机坐标系下的中心点位置转换为在机器人坐标系下的中心点位置,进而完成虚拟工件的坐标系变换。
本申请的控制端的主要作用是实现与示教端、建模端之间的数据交互,保证数据的一致性和规范性,同时根据建模端提供的工件图像和示教端提供的机器人参数,结合识别程序,完成工件的中心点位置和旋转角度的识别,并将工件坐标配准到机器人坐标系,进而使得工件的位姿准确地配准到实际被夹取的位置,提高机器人夹取工件的精准度。
相关技术中关于坐标系主要存在如下缺陷:第一,现有的视觉识别过程存在透视的缺陷,这导致识别到的坐标值与实际的坐标值存在偏差的问题,而且不会产生视觉偏差,不便于学习者观察机器人的操作过程。第二,在以往的机器人视觉虚拟教学中,通常直接输出虚拟工件的坐标给虚拟机器人来进行夹取操作,然而,这导致机器人所得到的工件的坐标数据与其实际夹取的坐标位置不同,即机器人所得到的工件的坐标数据存在偏差,这将会影响示教效果。
即,存在如下待解决的问题:第一,如何克服视觉识别时由于缺陷问题导致识别到的坐标值与实际不符;第二,如何将工件的坐标从工件坐标系配准至机器人坐标系。
对此,本方法中,首先通过建模通讯区域和建模端完成虚拟工件的重新建模与识别,并将虚拟工件的工件坐标系转换为相机坐标系,克服了现有技术中视觉识别时由于透视缺陷导致识别到的坐标值与实际不相符的问题,提高了视觉识别的准确率。再者,通过绑定标定模板与机器人的坐标信息的映射关系,完成标定坐标系与机器人坐标系的映射,并实现标定坐标系与相机坐标系的绑定,最后根据虚拟工件在相机坐标系下的坐标与标定模板的关系、标定坐标系与机器人坐标系的映射,来完成工件坐标系与机器人坐标系的映射。本申请将工件的坐标从工件坐标系配准至机器人坐标系,能够使得工件的位姿准确地配准到实际被夹取的位置,提高机器人夹取工件的精准度,进而提高示教效果,使得示教效果达到预期,同时提供视觉效果。
本申请的一个实施例,下面将对步骤S307至S308进行进一步地说明。由于本申请中,示教端所放置的虚拟工件可以是一个或多个的,不同的工件所需要选定的坐标标定模板是不同的。根据用户的示教需求,示教需求通常包括控制虚拟机器人夹起某一工件,或者,控制虚拟机器人依次夹起所有的工件。对于前者,只需要标定某一工件的坐标即可;而对于后者,则需要标定所有工件的坐标。为此,本申请提供了两种执行方式,以便于标定一个或多个虚拟工件。
所述执行设置控件包括第一设置控件和第二设置控件,S307可以包括但不限于如下步骤。
S3071,响应于对第一设置控件的触发指令,确定与第一设置控件的触发指令对应的执行方式为第一执行方式;或者,
S3072,响应于对第二设置控件的触发指令,确定与第二设置控件的触发指令对应的执行方式为第二执行方式。
以上步骤中,如图6所示,标识有“方案执行”的控件为第一执行控件,标识有“连续方案执行”的控件为第二执行控件。
根据执行方式的不同,S308可以包括但不限于如下步骤。
S3081,根据第一执行方式,利用与标定选择子区域的选择指令对应的坐标标定模板,将坐标标定模板对应的虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息。
本步骤适用于控制虚拟机器人夹起某一工件的示教需求。用户通过标定选择子区域的选择指令对应的坐标标定模板,如图6所示,用户选定的坐标标定模板于标定选择子区域中显示为“流程1”。在此之后,用户选定第一设置控件,控制端通过用户所选定的坐标标定模板完成单一虚拟工件的坐标标定转换。
或者,S3082,当执行方式为第二执行方式时,获取多个坐标标定模板的排序,以与标定选择子区域的选择指令对应的坐标标定模板为首个坐标标定模板,按照多个坐标标定模板的排序,依次将坐标标定模板对应的虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息。
本步骤适用于控制虚拟机器人依次夹起所有的工件的示教需求。用户通过标定选择子区域的选择指令对应的坐标标定模板,如图6所示,用户选定的坐标标定模板于标定选择子区域中显示为“流程1”。在此之后,用户选定第二设置控件,控制端以用户所选定的坐标标定模板为首个坐标标定模板,依次对所有虚拟工件进行坐标标定转换的操作。
所述执行设置控件还包括停止执行控件,在S308之后还包括:
响应于对停止执行控件的触发指令,停止执行坐标标定模板对应的虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息的操作。
参照图7所示的数据绑定窗口的界面图,本申请的一个实施例,下面将对数据绑定窗口的交互显示以及步骤S306中通过数据绑定窗口将坐标标定模板映射至第一坐标信息的实现过程进行进一步地说明和阐述。
数据绑定窗口包含有:映射源显示子区域、映射目标显示子区域以及映射结果子区域。数据绑定窗口还包括刷新数据控件、绑定信号控件、删除绑定控件和退出控件。
可选地,布置方式为:映射源显示区域和映射目标显示子区域并行布置,刷新数据控件以及绑定信号控件均位于映射源显示区域和映射目标显示子区域之间,映射结果子区域布置在映射源显示区域和映射目标显示子区域的下方,删除绑定控件布置在映射结果子区域的下面,退出控件布置在数据绑定窗口的右上角。
所述将坐标标定模板映射至第一坐标信息可以包括但不限于如下步骤。
S3061,响应于对刷新数据控件的触发指令,在映射源显示子区域中显示全部坐标标定模板,在映射目标显示子区域中显示第一坐标信息,坐标标定模板包括多个标定坐标信息。
本步骤中,用户选定刷新数据控件,映射源显示子区域中显示全部坐标标定模板,坐标标定模板可以包括但不限于多个标定坐标信息和其他标定信息,如图7所示,在映射源显示子区域中显示有一个坐标标定模板,其包括VM变量类型为int的标定坐标信息变量T、VM变量类型为float的标定坐标信息变量X、Y和A。而VM变量类型为IMAGE的变量ImageData、VM变量类型为float的变量fLeaveTimeStampLow等为其他标定信息,即控制端中的其他变量。本申请中完成坐标标定转换所需要的是标定坐标信息。
同时,显示第一坐标信息的数据类型、路径、变量名称和变量值等在映射目标显示子区域中。可选地,映射目标子区域中还显示除了第一坐标信息以外的ABB机器人的机体数据。如图7所示,RS数据类型为num的变量均为第一坐标信息,如变量V_A、变量X等。而其他显示的数据为ABB机体的除了第一坐标信息以外的机体数据。
S3062,响应于在映射源显示子区域中的选择指令,对与映射源显示子区域中的选择指令对应的标定坐标信息赋予高亮标记。
本步骤中,用户可通过对显示在映射源显示子区域中的多个坐标标定模板进行选择,控制端响应于对应的选择指令,使得被选择的标定坐标信息高亮显示。如图7所示,用户通过对显示在映射源显示子区域中的VM变量类型为float的标定坐标信息变量A进行选择,控制端高亮显示变量A。
S3063,响应于在映射目标显示子区域中的选择指令,对与映射目标显示子区域中的选择指令对应的第一坐标信息赋予高亮标记。
本步骤中,用户可通过对显示在映射目标显示子区域中的第一坐标信息进行选择,控制端响应于对应的选择指令,使得被选择的第一坐标信息高亮显示。如图7所示,用户通过对显示在映射目标显示子区域中的RS数据类型为num的变量V_A进行选择,控制端高亮显示变量V_A。
S3064,响应于对绑定信号控件的触发指令,将赋予有高亮标记的标定坐标信息映射至赋予有高亮标记的第一坐标信息中,并在绑定结果子区域中显示赋予有高亮标记的标定坐标信息和赋予有高亮标记的第一坐标信息的映射关系。
本步骤中,用户可通过选定绑定信号控件,来完成标定坐标模板与机器人在机器人坐标系下的坐标信息的映射绑定。控制端根据触发指令,将用户于步骤S3062至S3063中选定的标定坐标信息和第一坐标信息进行绑定映射,并在绑定结果子区域显示对应的映射关系。如图7所示,用户选择映射源为变量A、映射目标为变量V_A,通过触发绑定信号控件来完成变量A和变量V_A的绑定映射,并在标识有“数据绑定结果”的绑定结果子区域中显示对应的映射关系。
可选地,绑定区域包括映射显示子区域,映射显示子区域设置在绑定界面控件的旁边。S3064还包括:于映射显示子区域中同步显示赋予有高亮标记的标定坐标信息和赋予有高亮标记的第一坐标信息的映射关系。
S3065,响应于在绑定结果子区域的选择指令,对与绑定结果子区域的选择指令对应的映射关系赋予高亮标记。
本步骤中,用户可通过对显示在绑定结果子区域中的映射关系进行选择,来选择需要删除的映射关系,控制端响应于对应的选择指令,使得被选择的映射关系高亮显示。
S3066,响应于对删除绑定控件的触发指令,解除赋予有高亮标记的标定坐标信息与赋予有高亮标记的第一坐标信息的映射,并在绑定结果子区域中删除解除映射的标定坐标信息和第一坐标信息的映射关系。
本步骤中,用户可通过选定删除绑定控件来删除于步骤S3065中选择的映射关系。如图7所示,绑定结果子区域显示有变量A映射到变量V_A的映射关系,用户选定变量A映射到变量V_A的映射关系后触发删除绑定控件,进而解除变量A与变量V_A的映射关系,同时绑定结果子区域中也删除对应的显示内容。
本申请的一个实施例,下面将对控制端与示教端之间的数据通讯、交互过程以及步骤S302进行进一步地说明和阐述。示教通讯区域包括标识为“连接机器人控制器”的连接子区域、标识为“读写机器人程序数据”的读写子区域和标识为“读取机器人***数据”的读取子区域。本申请的控制端通过对连接子区域的选定指令的响应构建示教端的连接,通过对读写子区域以及读取子区域的选定指令的响应进行数据交互。
所述构建与示教端的连接可以包括如下步骤。
A1,响应于对连接子区域的选定指令,显示连接子界面。
本步骤中,用户可通过对连接子区域进行选定以进入如图8所示的连接子界面。连接子界面包括刷新列表控件、连接控件、退出连接控件、示教端显示子区域和连接显示子区域。
A2,响应于对刷新列表控件的触发指令,在示教端显示子区域中显示所有示教端的信息。
本步骤中,用户可通过触发标识有“刷新控制器列表”的刷新列表控件来获取所有可连接的示教端的信息。控制端响应于此触发指令,找寻可连接的示教端并将找寻到的示教端同步显示在示教端显示子区域中。可选地,在示教端显示子区域中显示的内容包括示教端的***名称、***IP、版本号、虚拟状态和控制器名称等。如图8所示,本具体实施例中找寻到的示教端的***名称为System2、***IP为127.0.0.1、版本号为6.8.0.0、虚拟状态为虚拟和控制器名称为LAPTOP,这些信息将同步显示在示教端显示子区域中。
A3,响应于在示教端显示子区域的选择指令,对与示教端显示子区域的选择指令对应的示教端的信息赋予高亮标记。
本步骤中,用户可通过对显示在示教端显示子区域中的示教端的信息进行选择,控制端响应于对应的选择指令,使得被选择的示教端的信息高亮显示。
A4,响应于对连接控件的触发指令,构建与赋予高亮标记的示教端的通讯连接,并在连接显示子区域显示通讯连接结果。
本步骤中,用户可通过触发标识有“一键连接”的连接控件来构建选定的示教端和控制端的通讯连接。控制端根据触发指令,构建与用户于步骤A3中选定的示教器的连接,并在标识有“连接状态”的连接显示子区域中显示连接结果。
A5,响应于对退出连接控件的触发指令,断开与当前连接的示教端的连接,并清空在连接显示子区域中的显示内容。
本步骤中,当用户需要断开控制端与示教端的连接时,通过触发标识有“退出控制器连接”的退出连接控件来完成断开通讯连接。控制器根据触发指令,断开与于步骤A4中构建有通讯连接的示教端的连接。
所述获取虚拟工件的位姿信息和第一坐标信息可以包括如下步骤。
B1,响应于对读写子区域的选定指令,显示读写子界面。
本步骤中,用户可通过对读写子区域进行选定以进入如图9所示的读写子界面,读写子界面包括数值修改子区域、数值类型选择子区域和数值显示子区域。读写子界面还包括获取数据控件和清空列表控件。
B2,响应于对获取数据控件的触发指令,获取虚拟机器人的机体数据,并在数值显示子区域中显示虚拟机器人的机体数据的数据类型、存储类型、路径来源信息、名称以及初始变量值。
需要说明的是,机体数据包括虚拟机器人的第一坐标信息和虚拟工件的位姿信息。
可选地,B2可以包括如下步骤:
B21,响应于在数据类型选择子区域的选择指令,在数据类型选择子区域中显示与数据类型选择子区域的选择指令对应的数据类型信息。
本步骤中,如图9所示,与选择指令对应的数据类型信息包括:全部数据类型、num类型、bool类型和robtarget类型。
B22,响应于对获取数据控件的触发指令,获取虚拟机器人与数据类型信息对应的机体数据,并在数值显示子区域中显示虚拟机器人与数据类型信息对应的机体数据的数据类型、存储类型、路径来源信息、名称以及初始变量值。
本步骤中,当与选择指令对应的数据类型信息为全部数据类型时,控制端获取的是全部数据类型的机体数据,并将全部数据类型的机体数据的相关信息于数值显示子区域中显示。当与选择指令对应的数据类型信息为num类型时,控制端获取的是num类型的机体数据,并将num类型的机体数据的相关信息于数值显示子区域中显示。当与选择指令对应的数据类型信息为bool类型时,控制端获取的是bool类型的机体数据,并将bool类型的机体数据的相关信息于数值显示子区域中显示。当与选择指令对应的数据类型信息为robtarget类型时,控制端获取的是robtarget类型的机体数据,并将robtarget类型的机体数据的相关信息于数值显示子区域中显示。
B3,响应于在数值修改子区域中输入的信息,在数值修改子区域中显示第一内容信息。
需要说明的是,第一内容信息包括机体数据的初始变量值的修改值及其对应的注释信息,机体数据的初始变量值的修改值用于替换机体数据的初始变量值。
本步骤中,如图9所示,标识有“修改值”和“注释”的两列为数值修改子区域,即数值修改子区域包括用于修改初始变量值的列和输入注释的列。用户可通过在用于修改初始变量值的列中输入修改值,并在输入注释的列中输入对应的注释,以修改初始变量值和标注注释。例如,用户可变量BLR_rx所在行对应的输入注释的列中输入“PLC输入RX数据”的注释。需要注意的是,num变量只能修改为整数类型或者浮点数类型,否则无法修改。
B4,响应于对清空列表控件的触发指令,清空在数值修改子区域和数值显示子区域中显示的内容。
本申请利用C#的DataGridView控件整理并读写Robot Studio机器人的程序数据,并能同步更新数据,能实现机器人程序数据的读取与写入,带有排序功能、指定数据类型功能,表格内能显示数据类型、路径1、路径2、变量名称、存储类型、变量值、修改值、注释等功能、实现了可视化管理。在读写机器人程序数据界面中,需要修改机器人程序数据的值时,在修改值的列选中需修改变量所在行的空格,输入数据修改值,点击回车或界面其他地方,便可自动将修改值传输到机器人的程序变量中。
在步骤B3之后,还包括如下步骤:
C1,响应于对读取子区域的选定指令,显示读取子界面,读取子界面包括第一坐标显示子区域、第二坐标显示子区域和坐标类型切换控件,在第一坐标显示子区域同步显示虚拟机器人的第一坐标信息。
本步骤中,于B2中获得第一坐标信息或者于B3中对第一坐标信息的初始变量值进行修改后,于如图10所示的读取子界面的第一坐标显示子区域同步显示第一坐标信息。第一坐标信息为轴坐标类型,其包括X轴坐标、Y轴坐标、Z轴坐标、RX轴坐标、RY轴坐标和RZ轴坐标。如图10所示,获得的第一坐标信息包括数值为912.451的X轴坐标、数值为256.667的Y轴坐标、数值为1018.481的Z轴坐标、数值为-139.630的RX轴坐标、数值为0.000的RY轴坐标和数值为-160.000的RZ轴坐标。
C2,响应于对坐标类型切换控件的触发指令,将第一坐标信息从轴坐标类型切换至笛卡尔坐标类型,生成第三坐标信息,并在第二坐标显示子区域中显示第三坐标信息。
需要说明的是,第三坐标信息包括:虚拟机器人在机器人坐标系下的笛卡尔坐标信息。
本步骤中,用户可通过触发坐标类型切换控件来实现坐标的类型的转换。控制端响应于此触发指令,将虚拟机器人在机器人坐标系下的轴坐标转换为笛卡尔坐标,并将其显示在第二坐标显示子区域中。如图10所示,于第二坐标显示子区域中显示与第一坐标显示子区域显示的第一坐标信息对应的笛卡尔坐标信息,包括数值为19.040的轴1位置坐标、数值为-0.455的轴2位置坐标、数值为13.094的轴3位置坐标、数值为-41.152的轴4位置坐标、数值为79.788的轴5位置坐标和数值为7.548的轴6位置坐标。
本申请的一个实施例,下面将对控制端与建模端之间的数据通讯、交互过程以及步骤S303进行进一步地说明和阐述。本申请通过TCP/IP协议构建控制端和建模端之间的通讯连接,通过控制端的交互来完成建模端与示教端的数据映射和数据绑定。S303可以包括但不限于如下步骤。
S3031,响应于对建模通讯区域的选定指令,显示通讯子界面。
需要说明的是,通讯子界面包括服务器通讯区域和建模调整区域。其中,服务器通讯子区域包括建立服务器控件、发送数据控件、关闭服务器控件以及第一信息显示子区域和第二信息显示子区域,建模调整区域包括位姿信息选择子区域、位姿修改子区域和绑定数据控件。
本步骤中,用户通过选定建模通讯区域,以进入如图11所示的通讯子界面。
S3032,响应于对建立服务器控件的触发指令,构建与建模端的通讯连接,在第一信息显示子区域中显示与建模端的通讯连接状态。
可选地,通讯连接状态包括建立服务器成功或建立服务器失败中的任一种。
S3033,响应于对位姿信息选择子区域的选择指令,在位姿信息选择子区域中显示与位姿信息选择子区域的选择指令对应的虚拟工件的位姿信息,在位姿修改子区域中显示对应的虚拟工件的位姿信息的初始变量值。
本步骤中,位姿信息选择子区域包括:任务选择区域、程序模块选择区域和变量名称选择区域,用户通过任务选择区域和程序模块选择区域可选择虚拟机器人对应的除了第一坐标信息之外的机体数据,并可通过变量名称选择区域来选择对应的虚拟工件的位姿信息。其中,变量名称选择区域中可选择的信息包括:虚拟工件的编号、虚拟工件的X轴坐标、Y轴坐标和角度值,X轴坐标和Y轴坐标映射的是虚拟工件的位置,角度值映射的是虚拟工件的姿态。在用户选择虚拟工件后,在位姿修改子区域中同步显示对应的虚拟工件的位姿信息的初始变量值。
S3034,响应于在位姿修改子区域输入的信息,在位姿修改子区域中显示第二内容信息。
需要说明的是,第二内容信息为位姿信息的修改值。
S3035,响应于对绑定数据控件的触发指令,将位姿信息的初始变量值替换为位姿信息的修改值,响应于对发送数据控件的选定指令,将位姿信息的初始变量值传输给建模端。
以上步骤中,用户可在位姿修改子区域中输入信息并修改位姿信息的初始变量值,如图11所示,用户可在位姿修改子区域中针对不同的变量名称输入对应的修改值信息,例如对于变量T,输入修改值为3;对于变量X,输入修改值为54.437;对于变量Y,输入修改值为-39.2603;对于变量A,输入修改值为29.9084。用户通过触发绑定数据控件完成修改。控制端响应于此触发指令,将位姿信息的初始值替换为修改值。之后,用户通过触发发送数据控件,将虚拟工件的位姿信息发送给建模端,以使建模端进行三维透视模型的构建。控制端响应于此触发指令,将虚拟工件的位姿信息发送给建模端。
进一步地,S3032包括:
响应于在第二信息显示子区域输入的信息,在第二信息显示子区域显示第三内容信息,第三内容信息为控制端的IP地址和端口号。
本步骤中,用户可通过第二信息显示子区域输入控制端的IP地址和端口号,如图11所示,用户在第二信息显示子区域中输入IP地址为192.168.8.200,端口号为3000,控制端响应于此输入信息并将其显示在第二信息显示子区域中。
响应于对建立服务器控件的触发指令,建立与建模端的通讯连接,在第一信息显示子区域中显示与建模端的通讯连接状态以及由建模端发送的第二测试信息。
响应于在第一信息显示子区域中输入的信息,在第一信息显示子区域中显示第一测试信息,第一测试信息用于测试建模端能否接收到控制端所发送的信息。
在S3032之后还可以包括:
响应于对关闭服务器控件的触发指令,断开与第三内容信息对应的建模端的通讯连接。
本申请提供一个例子来对本申请的技术方案进行说明,示教控制流程为:
1、示教端预先搭建有虚拟示教环境,环境中布置有虚拟机器人和虚拟平台,如图2所示。
2、控制端响应于示教通讯区域的连接子区域的选定指令,显示如图8所示的连接子界面,通过响应连接子界面的选定指令和触发指令,构建与示教端的连接并显示相关连接信息。
3、控制端响应于示教通讯区域的读写子区域的选定指令,显示如图9所示的读写子界面,通过响应读写子界面的选定指令、触发指令以及输入的信息,获取虚拟机器人的机体数据并显示,机体数据包括虚拟机器人在机器人坐标系下的第一坐标信息和虚拟工件的位姿信息。可选地,通过数值修改子区域修改机体数据的初始变量值以及添加对应的注释。
4、控制端响应于示教通讯区域的读取子区域的选定指令,显示如图10所示的读取子界面,通过响应读取子界面的选定指令,显示虚拟机器人在机器人坐标系下的第一坐标信息。可选地,通过坐标类型切换控件将第一坐标信息从轴坐标类型切换为笛卡尔坐标类型。
5、控制端响应于建模通讯区域的选定指令,显示如图11所示的通讯子界面,通过响应通讯子界面的选定指令、触发指令以及输入的信息,构建与建模端的连接。或者,建模端响应于如图4所示的建模界面中的通讯界面控件,进入如图5所示的通讯界面,通过通讯界面的选定指令和输入的信息,构建与控制端的连接。
6、建模端根据控制端发送的信息,构建三维透视模型并调整其位姿,采集其图像生成工件透视图像,如图4所示。
7、控制端响应于操控区域的选定指令,进入如图6所示的操控子界面,通过标定设置区域的选定指令,获取标定数据和工件透视图像,并在同步显示区域中显示。
8、控制端响应于对绑定界面控件的触发指令,显示如图7所示的数据绑定窗口,通过数据绑定串口将标定数据绑定到第一坐标信息中,即构建标定坐标系与机器人坐标系的映射关系,控制端响应于数据绑定窗口中的退出控件的触发指令,显示如图6所示的操控子界面。
9、控制端响应于在标定选择子区域的选择指令,显示选定的坐标标定模板,并响应于执行设置控件的触发指令,确定对应的执行方式。
10、控制端通过对运行控件的触发指令的响应,根据执行方式,利用坐标标定模板,首先将三维透视图像在相机坐标系下的坐标转换为标定坐标系下的坐标,然后利用在以上步骤8中绑定的坐标标定模板与机器人坐标系的映射关系,将三维透视图像在标定坐标系下的坐标转换为机器人坐标系的坐标。
11、控制端将转化后的虚拟工件的坐标发送给示教端。
12、示教端根据转化后的虚拟工件的坐标,进行仿真示教,如图3所示。
本申请提供了如下技术效果:
①本申请将常用的机器人仿真软件、三维建模软件和配准软件集成于同一个示教平台,示教平台结合有交互显示技术,通过交互显示的方法使得示教过程更为直观,降低示教者的示教难度和学习者的学习难度,特别适用于初学者的学习。
②本申请通过控制端实现了控制端与示教端、控制端与建模端之间的通讯,间接实现了示教端与建模端之间的通讯连接,实现了参与示教的多个软件之间的数据交互和映射,保证数据的统一性,避免数据错乱或者错误的问题出现,降低数据问题对示教效果的不良影响。本申请具有良好的跨平台特性,支持多种操作***,可实现嵌入式平台的移植。
③本申请通过数据映射的方式实现坐标系的转换,首先通过建模通讯区域和建模端完成虚拟工件的重新建模与识别,并将虚拟工件的工件坐标系转换为相机坐标系,克服了现有技术中视觉识别时由于透视缺陷导致识别到的坐标值与实际不相符的问题,提高了视觉识别的准确率。再者,通过绑定标定模板与机器人的坐标信息的映射关系,完成标定坐标系与机器人坐标系的映射,并实现标定坐标系与相机坐标系的绑定,最后根据虚拟工件在相机坐标系下的坐标与标定模板的关系、标定坐标系与机器人坐标系的映射,来完成工件坐标系与机器人坐标系的映射。本申请将工件的坐标从工件坐标系配准至机器人坐标系,能够使得工件的位姿准确地配准到实际被夹取的位置,提高机器人夹取工件的精准度,进而提高示教效果,使得示教效果达到预期,同时提供视觉效果。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其他步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机、服务器或者网络装置等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

Claims (10)

1.基于虚拟视觉的机器人示教控制方法,其特征在于,包括如下步骤:
搭建虚拟示教环境,所述虚拟示教环境中布置有虚拟平台和虚拟机器人,随机生成多个虚拟工件并将所述虚拟工件放置于所述虚拟平台上;
获取由控制端发送的第二坐标信息,根据所述第二坐标信息控制所述虚拟机器人抓取放置在所述虚拟平台上的虚拟工件,进行仿真示教。
2.基于虚拟视觉的机器人示教控制方法,其特征在于,包括如下步骤:
获取由控制端发送的所述虚拟工件的位姿信息,构建与虚拟工件匹配的三维透视模型,并根据所述位姿信息调整所述三维透视模型的位姿;
通过虚拟相机采集所述三维透视模型的俯视图像,生成工件透视图像,同时标定所述三维透视模型在相机坐标系下的坐标信息。
3.基于虚拟视觉的机器人示教控制方法,其特征在于,包括如下步骤:
显示主界面,所述主界面包括示教通讯区域、建模通讯区域和操控区域;
响应于对所述示教通讯区域的选定指令,构建与示教端的连接,并获取所述虚拟机器人的第一坐标信息和所述虚拟工件的位姿信息;
其中,所述第一坐标信息包括虚拟机器人在机器人坐标系下的轴坐标信息,所述虚拟工件的位姿信息包括虚拟工件在工件坐标系下的轴坐标信息;
响应于对所述建模通讯区域的选定指令,构建与建模端的连接,并将所述虚拟工件及其位姿信息传输给所述建模端;
响应于对所述操控区域的选定指令,显示操控子界面,所述操控子界面包括标定设置区域、绑定区域、配置区域和运行控件,所述绑定区域包括绑定界面控件,所述配置区域包括标定选择子区域和执行设置控件;
响应于对所述标定设置区域的选定指令,获取与所述执行设置区域的选定指令对应的标定数据和工件透视图像,所述标定数据包括多个坐标标定模板,每个所述坐标标定模板对应于一个所述虚拟工件,所述工件透视图像为所述虚拟工件的三维透视模型的俯视图像;
响应于对所述绑定界面控件的触发指令,显示数据绑定窗口,通过所述数据绑定窗口将所述坐标标定模板映射至所述第一坐标信息中,响应于对所述数据绑定窗口中的退出控件的触发指令,显示所述操控子界面;
响应于在所述标定选择子区域的选择指令,在所述标定选择子区域中显示与所述标定选择子区域的选择指令对应的坐标标定模板,响应于对所述执行设置控件的触发指令,确定与所述执行设置控件的触发指令对应的执行方式;
响应于对所述运行控件的触发指令,根据所述执行方式,利用与所述标定选择子区域的选择指令对应的坐标标定模板,将所述虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息,并将所述虚拟工件在机器人坐标系下的坐标信息作为第二坐标信息输出至所述示教端。
4.根据权利要求3所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述执行设置控件包括第一设置控件和第二设置控件,所述响应于对所述执行设置控件的触发指令,确定与所述执行设置控件的触发指令对应的执行方式包括:
响应于对所述第一设置控件的触发指令,确定与所述第一设置控件的触发指令对应的执行方式为第一执行方式;
或者,
响应于对所述第二设置控件的触发指令,确定与所述第二设置控件的触发指令对应的执行方式为第二执行方式。
5.根据权利要求4所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述根据所述执行方式,利用与所述标定选择子区域的选择指令对应的坐标标定模板,将所述虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息,包括:
当所述执行方式为第一执行方式时,根据所述第一执行方式,利用与所述标定选择子区域的选择指令对应的坐标标定模板,将所述坐标标定模板对应的虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息;
或者,
当所述执行方式为第二执行方式时,获取多个所述坐标标定模板的排序,以与所述标定选择子区域的选择指令对应的坐标标定模板为首个坐标标定模板,按照多个所述坐标标定模板的排序,依次将所述坐标标定模板对应的虚拟工件在相机坐标系下的坐标信息转换为在机器人坐标系下的坐标信息。
6.根据权利要求3所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述数据绑定窗口包括映射源显示子区域、映射目标显示子区域、刷新数据控件、绑定信号控件和绑定结果子区域;所述通过所述数据绑定窗口将所述坐标标定模板绑定至所述第一坐标信息中,包括:
响应于对所述刷新数据控件的触发指令,在所述映射源显示子区域中显示全部所述坐标标定模板,并在所述映射目标显示子区域中显示所述第一坐标信息,所述坐标标定模板包括多个标定坐标信息;
响应于在所述映射源显示子区域中的选择指令,对与所述映射源显示子区域中的选择指令对应的标定坐标信息赋予高亮标记;
响应于在所述映射目标显示子区域中的选择指令,对与所述映射目标显示子区域中的选择指令对应的第一坐标信息赋予高亮标记;
响应于对绑定信号控件的触发指令,将赋予有高亮标记的标定坐标信息映射至赋予有高亮标记的第一坐标信息中,并在所述绑定结果子区域中显示赋予有高亮标记的标定坐标信息和赋予有高亮标记的第一坐标信息的映射关系。
7.根据权利要求6所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述数据绑定窗口还包括删除绑定控件,所述通过所述数据绑定窗口将所述坐标标定模板绑定至所述第一坐标信息中,还包括:
响应于在所述绑定结果子区域的选择指令,对与所述绑定结果子区域的选择指令对应的映射关系赋予高亮标记;
响应于对所述删除绑定控件的触发指令,解除赋予有高亮标记的标定坐标信息与赋予有高亮标记的第一坐标信息的映射,并在所述绑定结果子区域中删除解除映射的标定坐标信息和第一坐标信息的映射关系。
8.根据权利要求3所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述示教通讯区域包括读写子区域,所述获取所述虚拟机器人在机器人坐标系下的第一坐标信息和所述虚拟工件的位姿信息,包括:
响应于对所述读写子区域的选定指令,显示读写子界面,所述读写子界面包括获取数据控件、数值显示子区域和数值修改子区域;
响应于对所述获取数据控件的触发指令,获取所述虚拟机器人的机体数据,并在所述数值显示子区域中显示所述虚拟机器人的机体数据的数据类型、存储类型、路径来源信息、名称以及初始变量值,所述机体数据包括虚拟机器人的第一坐标信息和所述虚拟工件的位姿信息;
响应于在所述数值修改子区域中输入的信息,在所述数值修改子区域中显示第一内容信息,所述第一内容信息包括所述机体数据的初始变量值的修改值及其对应的注释信息,所述机体数据的初始变量值的修改值用于替换所述机体数据的初始变量值。
9.根据权利要求8所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述示教通讯区域还包括读取子区域,在所述响应于在所述数值修改子区域中输入的信息,在所述数值修改子区域中显示第一内容信息之后,还包括:
响应于对所述读取子区域的选定指令,显示读取子界面,所述读取子界面包括第一坐标显示子区域、第二坐标显示子区域和坐标类型切换控件,在所述第一坐标显示子区域同步显示所述虚拟机器人的第一坐标信息;
响应于对所述坐标类型切换控件的触发指令,将所述第一坐标信息从轴坐标类型切换至笛卡尔坐标类型,生成第三坐标信息,并在所述第二坐标显示子区域中显示所述第三坐标信息;其中,所述第三坐标信息包括:所述虚拟机器人在机器人坐标系下的笛卡尔坐标信息。
10.根据权利要求8所述的基于虚拟视觉的机器人示教控制方法,其特征在于,所述响应于对所述建模通讯区域的选定指令,构建与建模端的连接,并将所述虚拟工件及其位姿信息传输给所述建模端,包括:
响应于对所述建模通讯区域的选定指令,显示通讯子界面,所述通讯子界面包括建立服务器控件、发送数据控件和建模调整区域,所述建模调整区域包括位姿信息选择子区域、位姿修改子区域和绑定数据控件;
响应于对所述建立服务器控件的触发指令,构建与所述建模端的通讯连接;
响应于对所述位姿信息选择子区域的选择指令,在所述位姿信息选择子区域中显示与所述位姿信息选择子区域的选择指令对应的虚拟工件的位姿信息,在所述位姿修改子区域中显示所述对应的虚拟工件的位姿信息的初始变量值;
响应于在所述位姿修改子区域输入的信息,在所述位姿修改子区域中显示第二内容信息,所述第二内容信息为所述位姿信息的修改值;
响应于对所述绑定数据控件的触发指令,将所述位姿信息的初始变量值替换为所述位姿信息的修改值;
响应于对所述发送数据控件的选定指令,将所述位姿信息的初始变量值传输给所述建模端。
CN202310662882.7A 2023-06-05 2023-06-05 基于虚拟视觉的机器人示教控制方法 Active CN116619376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310662882.7A CN116619376B (zh) 2023-06-05 2023-06-05 基于虚拟视觉的机器人示教控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310662882.7A CN116619376B (zh) 2023-06-05 2023-06-05 基于虚拟视觉的机器人示教控制方法

Publications (2)

Publication Number Publication Date
CN116619376A true CN116619376A (zh) 2023-08-22
CN116619376B CN116619376B (zh) 2024-01-23

Family

ID=87597265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310662882.7A Active CN116619376B (zh) 2023-06-05 2023-06-05 基于虚拟视觉的机器人示教控制方法

Country Status (1)

Country Link
CN (1) CN116619376B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106142091A (zh) * 2015-05-12 2016-11-23 佳能株式会社 信息处理方法和信息处理装置
KR20180063515A (ko) * 2016-12-02 2018-06-12 두산로보틱스 주식회사 로봇 교시장치 및 이의 교시방법
JP2019081236A (ja) * 2017-10-31 2019-05-30 セイコーエプソン株式会社 シミュレーション装置、制御装置およびロボット
CN114603533A (zh) * 2020-12-03 2022-06-10 精工爱普生株式会社 存储介质及机器人的示教方法
CN115008439A (zh) * 2021-03-05 2022-09-06 佳能株式会社 信息处理设备和方法、机器人***、产品制造方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106142091A (zh) * 2015-05-12 2016-11-23 佳能株式会社 信息处理方法和信息处理装置
KR20180063515A (ko) * 2016-12-02 2018-06-12 두산로보틱스 주식회사 로봇 교시장치 및 이의 교시방법
JP2019081236A (ja) * 2017-10-31 2019-05-30 セイコーエプソン株式会社 シミュレーション装置、制御装置およびロボット
CN114603533A (zh) * 2020-12-03 2022-06-10 精工爱普生株式会社 存储介质及机器人的示教方法
CN115008439A (zh) * 2021-03-05 2022-09-06 佳能株式会社 信息处理设备和方法、机器人***、产品制造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘华锋;周俊荣;叶军林;车海波;徐娟;: "工业机器人在自动化生产线分拣站的应用", 锻压装备与制造技术, no. 02, pages 11 - 14 *

Also Published As

Publication number Publication date
CN116619376B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
Ong et al. Augmented reality-assisted robot programming system for industrial applications
AU2020201554B2 (en) System and method for robot teaching based on RGB-D images and teach pendant
CN110573308B (zh) 用于机器人设备的空间编程的基于计算机的方法及***
JP3394322B2 (ja) 視覚センサを用いた座標系設定方法
RU2587104C2 (ru) Способ и средство управления роботом
CN108122257A (zh) 一种机器人手眼标定方法及装置
Vongbunyong et al. A process demonstration platform for product disassembly skills transfer
Materna et al. Interactive spatial augmented reality in collaborative robot programming: User experience evaluation
CN104002297A (zh) 示教***、示教方法及机器人***
US11247335B2 (en) Semi-autonomous robot path planning
CN113379849A (zh) 基于深度相机的机器人自主识别智能抓取方法及***
CN111093911B (zh) 机器人***及其运行方法
CN109814434B (zh) 控制程序的校准方法及装置
US10471592B2 (en) Programming method of a robot arm
CN115351389A (zh) 自动焊接方法和装置、电子设备及存储介质
CN210361314U (zh) 一种基于增强现实技术的机器人示教装置
CN116619376B (zh) 基于虚拟视觉的机器人示教控制方法
CN112847300A (zh) 一种基于移动工业机器人示教器的示教***及其示教方法
Thoo et al. Online and offline robot programming via augmented reality workspaces
Bulej et al. Simulation of manipulation task using iRVision aided robot control in Fanuc RoboGuide software
CN109664273B (zh) 一种工业机器人光标拖动示教方法及***
CN111899629B (zh) 柔性机器人教学***和方法
CN111015675A (zh) 一种典型机器人视觉示教***
Pichler et al. User centered framework for intuitive robot programming
CN215701709U (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