CN107065790B - 用于确定虚拟环境中的虚拟机器人的配置的方法和系统 - Google Patents

用于确定虚拟环境中的虚拟机器人的配置的方法和系统 Download PDF

Info

Publication number
CN107065790B
CN107065790B CN201610821927.0A CN201610821927A CN107065790B CN 107065790 B CN107065790 B CN 107065790B CN 201610821927 A CN201610821927 A CN 201610821927A CN 107065790 B CN107065790 B CN 107065790B
Authority
CN
China
Prior art keywords
virtual
robot
real
configuration
pose
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
CN201610821927.0A
Other languages
English (en)
Other versions
CN107065790A (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.)
SIEMENS INDUSTRY SOFTWARE Ltd
Original Assignee
SIEMENS INDUSTRY SOFTWARE 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 SIEMENS INDUSTRY SOFTWARE Ltd filed Critical SIEMENS INDUSTRY SOFTWARE Ltd
Publication of CN107065790A publication Critical patent/CN107065790A/zh
Application granted granted Critical
Publication of CN107065790B publication Critical patent/CN107065790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32339Object oriented modeling, design, analysis, implementation, simulation language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Architecture (AREA)
  • Manufacturing & Machinery (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种用于确定虚拟环境中的虚拟机器人的配置的方法与系统,其包括根据3D摄像机的3D图像识别真实机器人。将识别出的真实机器人链接到其相应的虚拟机器人。提取至少一个识别出的真实机器人在真实场景中的特定配置的配置数据。所提取的位置数据用来确定虚拟环境中的虚拟机器人的特定虚拟配置,该特定虚拟配置反映真实场景中的相应真实机器人的配置。

Description

用于确定虚拟环境中的虚拟机器人的配置的方法和系统
其它申请的交叉引用
本申请具有与共同受让的美国专利申请第14/866,329号的名称为“METHOD ANDSYSTEM FOR POSITIONING A VIRTUAL OBJECTIN A VIRTUAL SIMULATION ENVIRONMENT”共同的某一个主题,而在其它方面却未必相关,该美国专利申请与本专利文件在同一天被提交,其通过引用并入本文。
技术领域
本公开总体涉及计算机辅助设计可视化制造(“CAD”)系统、产品生命周期管理(“PLM”)系统、产品数据管理(“PDM”)系统以及管理产品和其它项目的数据的类似系统(统称为“产品数据管理”系统或PDM系统)。
背景技术
通常,由于机扑加工单元(robotic cell)包括在动态工业环境中与一个或多个机器人交互的其它设备件,所以为了在工业设施中设计和规划机扑加工单元,需要各种信息。
机扑加工(robotic)程序的规划是重要的,以防止在机扑加工过程期间,机器人与任何周围的设备件之间的不期望的碰撞,尽管同时也需要确保完成制造任务,并且满足期望的制造要求。
为了应对这样的挑战,为了优化和安全的目的,在虚拟环境中创建了机扑加工过程的三维(3D)仿真。机扑加工仿真可以有利地使得能够提前通知可能的棘手问题,以使工业环境提供更安全的工作场所。
在虚拟环境中,通常具有以下共同要求:在虚拟场景中的虚拟机器人的姿态准确地反映真实工业场景中的真实机器人的姿态。
通常,在本领域中,术语对象的“姿态”被理解为指代该对象的位置和取向。通常,机器人示意性地被限定为具有基部连杆(或者简单地说具有基部)以及一组连杆和接头。如本文所使用的那样,术语机器人的“姿态”被限定为包括机器人的所有连杆和接头的所有位置和取向的描述。如本文所使用的那样,机器人的配置是机器人的姿势,即机器人除了基部连杆之外的所有连杆和接头的所有位置和取向的描述。因此,如本文所使用的那样,机器人姿态既包括机器人配置,也包括机器人基部的位置和取向。
在虚拟环境中,示教机器人行为的任务是困难的任务。具体地,在规划工业过程中,确定一个或多个虚拟机器人的姿态应该在虚拟环境中呈什么样子是困难的任务。在工业场景(其中一个或多个机器人在包括几个设备件的动态工业环境中操作)中,这样的任务甚至变得更加棘手。
通常,通过两种主要技术来执行工业机器人的编程。第一技术是经由示教器来直接控制机器人运动。其中,示教器使用的缺点(包括使用的复杂性和缓慢)通常涉及一些繁琐的交互。例如,碎片化的工作需要具有真实场景的设备件如输送机,其可能需要针对每个单个的机器人姿势而短期被调用。遗憾的是,这样的复杂的交互限制了经由仿真来获得便利的机器人路径优化的机会。
第二技术是直接在虚拟环境中限定相关的机器人姿态。通常,这种技术利用由离线机器人编程(OLP)所提供的工具。例如,在虚拟环境中,限定相关的机器人偏转点和抓取位置,以执行所需的机扑加工路径的软件评估,从而达到这样的相关姿态。通常,通过使用鼠标、键盘以及其它常规人机界面(HMI)而使用常规CAD工具和类CAD工具来执行这样的任务,以便将机器人设定在给定的期望的姿态中。其中,第二技术的缺点是,常规HMI装置不是为了这个目的而设计的,使得常规HMI装置的使用是麻烦的。另一缺点在于:真实场景与其在虚拟环境的虚拟场景中的映像之间所存在的差距。
此外,这样的技术对于用户而言是繁琐的、容易出错的,并且可能需要使用各种工具或人机交互来进行多次反复,这使得这样的技术不适于任务。
因此,需要改进的技术。
发明内容
各个公开实施例包括用于确定虚拟环境中的虚拟机器人的配置的方法和相应的系统以及计算机可读介质。方法包括:接收3D摄像机在真实场景中的定位;以及在虚拟环境中注册3D摄像机。接收真实场景中的采用特定配置的至少一个真实机器人的定位。3D摄像机捕捉被定位在真实场景中的至少一个真实机器人的至少一个3D图像。方法还包括从至少一个捕捉到的3D图像中识别至少一个真实机器人。方法进一步包括:将至少一个识别出的真实机器人链接到其相应的虚拟机器人;以及提取至少一个识别出的真实机器人在真实场景中的特定配置的配置数据。此外,方法包括:根据提取到的配置数据来确定虚拟环境中的虚拟机器人的特定虚拟配置,该特定虚拟配置反映真实场景中的相应真实机器人的配置。
上述内容已经相当广地概述了本公开的特征和技术优点,以便本领域的技术人员可以更好地理解以下详细描述。以下将描述本公开的形成权利要求的主题的另外的特征和优点。本领域的技术人员将意识到的是,他们可以很容易地使用所公开的概念和具体实施例作为基础,以修改或设计用于实现本公开的相同目的的其它结构。同样,本领域的技术人员将意识到的是,这样的等同结构没有背离本公开以其最广泛形式的精神和范围。
在进行以下的具体实施方式之前,对以下贯穿本专利文件使用的某些词或短语的定义进行说明是有利的:术语“包括”和“包含”及其衍生词提供了包括但不限于;术语“或”是包括性的(例如和/或);短语“相关联”和“与其相关联”及其衍生词可以是包括、被包含在之内、互相连接、包含、被包含在之内、连接到或连接有、耦接到或耦接有、可通信、协作、交错、并置、接近于、被绑定到/有、具有、具有属性等;以及术语“控制器”是控制至少一个操作的任何装置、系统及其部件,无论这样的装置是以硬件、固件、软件还是其中至少两个的组合的方式来实现。应该注意的是,无论是本地还是远程,与任何特定控制器相关联的功能可以是集中式或分布式的。贯穿本专利文件提供了某些词和短语的定义,并且本领域的技术人员将理解的是,在许多(如果不是大多数)情况下,这样的定义应用于这样定义的词和短语的在先使用以及未来使用。虽然一些术语可以包括各种各样的实施例,但是所附权利要求可以将这些术语清楚地限制到具体实施例。
附图说明
为了更加完全地理解本公开及其优点,现在结合附图来对以下描述进行参考,其中相同的附图标记表示相同的对象,并且在附图中:
图1图示了可以实现实施例的数据处理系统的框图;
图2图示了根据公开实施例的虚拟环境中的虚拟机器人的反映真实机器人的配置的示意图;以及
图3图示了根据公开实施例的用于确定虚拟环境中的虚拟机器人的配置的过程的流程图。
具体实施方式
在本专利文件中,下面所讨论的图1至图3以及用来描述本公开的原理的各个实施例是仅通过说明的方式,而不应该被解释为以任何方式限制本公开的范围。本领域的技术人员将理解的是,可以采用任何适当布置的装置来实现本公开的原理。将参考示例性的非限制性实施例来描述本申请的众多创新性教导。
用于在工业场景中确定虚拟机器人的虚拟配置的现有技术是繁琐的、乏味的、容易出错的且另外不适于任务的。
实施例提供了许多益处,包括但不限于:提供用户友好的方式,以用于对仿真环境的虚拟场景进行建模或者用于执行仿真环境的虚拟场景的修改;以直观的方式使得能够用户友好地控制机器人的配置,以便如在真实世界中那样完成工业仿真和规划;使得在包括虚拟环境和真实机器人的混合的真实-虚拟环境中用户友好的使用成为可能,真实机器人可以在虚拟生产场景下被手动地示教;以及对于非专业用户而言,促进了工业机器人仿真优化软件包(如由西门子产品生命周期管理软件公司(德克萨斯州普莱诺市)提供的Process Simulate and Robot Expert(过程仿真和机器人专家))在车间的使用,以便对正在进行的生产仿真执行虚拟仿真。非专家用户将特别受益于用户友好的软件机器人仿真优化软件包的情况的示例是操纵以及拾取与放置的工业空间。
实施例可以特别有益地用于结合3D机扑加工单元设计的软件包,其包括但不限于:Process Simulate and Robot Expert以及由西门子产品生命周期管理软件公司(德克萨斯州普莱诺市)提供的其它软件包或者由其它软件供应商提供的软件包。
即使在真实测试场景(其中其它真实设备件和真实的周围生产环境没有存在于真实世界中,而是反而存在于虚拟世界中)中,实施例也使得对在虚拟生产场景(其具有其它周围的虚拟设备件)中示教虚拟机器人成为可能。
在其它实施例中,例如在周围设备件不起作用的场景下,可以有利地安全完成机器人示教,因为在真实场景下,仅真实机器人被移动,而真实设备件未被移动。
图1图示了数据处理系统100的框图,在数据处理系统100中,实施例可以例如被实现为由软件或以其它方式所具体配置的PDM系统以如本文所描述的那样执行过程,并且具体地,被实现为多个互连通信系统中的每一个以如本文所描述的那样执行过程。图示的数据处理系统100可以包括:处理器102,其连接到二级高速缓冲存储器/桥接器104,二级高速缓冲存储器/桥接器104继而连接到本地系统总线106。例如,本地系统总线106可以是外围部件互连(PCI)架构总线。同样,在图示示例中,主存储器108和图形适配器110连接到本地系统总线。图形适配器110可以连接到显示器111。
同样,其它外围设备(如局域网(LAN)/广域网/无线(如WiFi)适配器112)可以连接到本地系统总线106。扩展总线接口114将本地系统总线106连接到输入/输出(I/O)总线116。I/O总线116连接到键盘/鼠标适配器118、磁盘控制器120以及I/O适配器122。磁盘控制器120可以连接到储存器126,存储器126可以是任何适当的机器可用存储介质或机器可读存储介质,包括但不限于非易失性硬编码型介质(如只读存储器(ROM))或可擦除可电编程只读存储器(EEPROM)、磁带储存器以及用户可记录型介质(如软盘、硬盘驱动器和紧致盘只读存储器(CD-ROM)或数字通用盘(DVD))以及其它已知的光存储装置、电存储装置或磁存储装置。
同样,在示出的示例中,音频适配器124连接到I/O总线116,扬声器(未示出)可以连接到音频适配器124以播放声音。键盘/鼠标适配器118对于指点装置(如鼠标、轨迹球、道指示器、触摸屏等)(未示出)提供连接。
本领域的技术人员将意识到的是,图1中所图示的硬件可以因具体实现而变化。例如,也可以另外使用其它外围装置(如光盘驱动器等)或者用其来代替图示的硬件。图示的示例仅为了说明的目的而被提供,而并不意味着对于本公开的架构限制。
根据本公开的实施例的数据处理系统可以包括采用图形用户界面的操作系统。操作系统允许在图形用户界面中同时提供多个显示窗口,其中每个显示窗口对不同应用程序或者同一应用程序的不同实例提供到界面。用户可以通过指点装置来操作图形用户界面中的光标。可以改变光标的位置和/或生成的事件如点击鼠标按钮,以触发期望的响应。
可以在适当地被修改的情况下采用各种商业操作系统如版本为MicrosoftWindowsTM(位于华盛顿州雷蒙德市的微软公司的产品)中的一种。根据本公开所描述的那样来修改或创建操作系统。
LAN/WAN/无线适配器112可以连接到网络130(不是数据处理系统100的一部分),网络130可以是任何公共的或私人的数据处理系统网络或者是包括互联网的本领域的技术人员已知的网络的组合。数据处理系统100可以通过网络130与服务器系统140进行通信,服务器系统140也不是数据处理系统100的一部分,而是可以例如被实现为单独的数据处理系统100。
图2图示了根据公开实施例的虚拟环境中的虚拟机器人的反映真实机器人的配置的示意图。
通过软件包来提供和控制机扑加工单元的通常包括一组机器人和一组其它工业设备件的虚拟环境。这样的软件包的示例包括但不限于OLP编程软件包和/或机器人仿真软件包。
在虚拟环境204中,虚拟机器人202是可用的。虚拟环境204的虚拟场景已经布置有反映真实环境205的一个或多个真实机器人203的一个或多个虚拟机器人202。这样的机器人中的至少一个被3D摄像机201所捕捉。
真实机器人203具有基部连杆208、连杆206和接头207。可以通过使真实机器人的连杆206和/或接头207运动来改变真实机器人的配置。有利地,可以通过用户的手210来手动改变机器人配置,以便可以经由物理机器人引导来便利地实现机器人编程。
如图2所示,虚拟环境204中的虚拟机器人202的配置反映了相应的真实机器人203的配置。本领域的技术人员认识到的是,在一些实施例中,与虚拟机器人202的相应的真实机器人203相比,虚拟机器人202可以具有基部连杆在虚拟环境中的不同位置和取向,同时仍然共有相同的配置。可以便利地确定机器人基部的位置和取向,以配合虚拟环境场景的特定布置。
在一些实施例中,可以对虚拟机器人的确定的虚拟姿态进行至少一次调整,以便获得虚拟机器人的调整后的虚拟姿态。可以为了各种原因来完成对虚拟机器人的调整后的虚拟姿态的调整。例如,环境的虚拟场景可以布置有多个其它设备件209(包括其它机器人(未示出));对机器人虚拟姿态的调整可以防止与周围设备件的碰撞和不期望的接近。调整的其它原因可以包括3D摄像机的低分辨率、经由少量的碰撞检查所确定的连杆位置差异、要被附接到机器人的工具的目标定位的优化、节能以及其它相关工业微调。
当确定至少两个机器人姿态时,在考虑到一组限定的约束条件的情况下,机器人软件可以有利地计算姿态之间的机扑加工路径。
要注意的是,在图2的示例性实施例中,图示了在真实场景中具有独立的真实机器人203而周围没有任何设备件的情况,同时要注意的是,相应的虚拟机器人203被其它设备件209围绕。虚拟场景可以包括各种设备件,以反映期望的工业设施;同时可以为了示教和编程的目的而将真实机器人207作为独立的机器人放置在真实场景中的3D摄像机201的范围中。
在其它实施例中,可以将真实机器人207与周围的其它设备件一起放置在真实场景中的3D摄像机范围中。
以上两个替代方案之间的选择取决于:完整的真实场景(具有被围绕有所有真实设备件的真实机器人)是否已经被设定和是否可用,或者替代地,只有作为独立式的真实机器人是可用的。在后者的情况下,为了工业场景(其位于不同位置中或还未被设定)的机器人编程和仿真目的,可以将围绕虚拟机器人的虚拟设备件便利地添加到虚拟机扑加工单元。
在其它实施例中,多个不同的真实机器人207可以同时被3D摄像机201捕捉,并且因此被识别。针对可用于虚拟环境的一组虚拟机器人202,相应的一组3D虚拟模型被设置在系统内。3D虚拟模型的示例包括但不限于CAD模型、类CAD模型、点云模型、3D计算机模型及其它。可以从各种不同的源来提供所述组3D虚拟模型,所述各种不同的源包括但不限于:虚拟仿真环境;通过点云扫描、通过2D图像扫描、机械扫描、手动建模而连接到虚拟仿真环境的CAD软件、CAD库;以及其它源。CAD模型是特定类型的3D虚拟模型;并且在图2所图示的示例性实施例中,可以由CAD模型来对虚拟机器人202进行建模。
3D摄像机201位于真实场景中,并且在虚拟世界中被注册,以便例如通过在虚拟场景中限定3D摄像机的位置和取向来提供一致的偏移。在3D摄像机201已经捕捉到真实机器人203的至少一个3D图像之后,识别真实机器人203。识别出的真实机器人203被链接到相应的虚拟机器人202。如本文所使用的那样,为了简单起见,术语“3D图像”用来表示来自3D摄像机的一组帧或帧流。
在一些实施例中,真实机器人203与相应的虚拟机器人202之间的链接可以适于由用户手动完成。在其它实施例中,可以经由挑选(picking)而通过自动识别来完成链接。在这样的后者情况下,软件能够将3D摄像机图像链接到具有给定3D扫描的特定虚拟机器人202。
在一些实施例中,可以从现有的CAD库中获得有关CAD模型。通过提取真实场景中的真实机器人203的配置数据,根据相应的真实机器人203来校准虚拟机器人202,以便虚拟机器人202具有反映真实场景205中的相应真实机器人203的真实配置的虚拟配置。
图3图示了根据公开实施例的用于确定虚拟环境中的虚拟机器人的配置的过程的流程图300。例如,可以通过上述图1的系统100来执行这样的过程。此外,以下过程中的“系统”可以是被配置成执行所描述的过程的任何设备。
虚拟环境包括反映真实环境的真实场景的虚拟场景。设置了表示至少一个真实机器人的至少一个虚拟机器人,并且这样的虚拟机器人由3D虚拟模型来限定。
在动作305处,接收3D摄像机在真实场景中的定位。
在动作310处,为了校准的目的,在虚拟环境中注册3D摄像机。
在动作315处,接收至少一个真实机器人在真实场景中的采用特定配置的定位。
在动作320处,3D摄像机捕捉在真实场景中被定位的至少一个真实对象的至少一个3D图像。
在动作325处,从至少一个捕捉到的3D图像中来识别至少一个真实机器人。
在动作330处,将至少一个识别出的真实机器人链接到其相应的虚拟机器人。
在动作335处,提取至少一个识别出的真实机器人在真实场景中的特定配置的配置数据。
在动作340处,通过使用提取到的配置数据,确定虚拟环境中的虚拟机器人(反映真实场景中的相应真实对象的特定配置特定虚拟配置的)的特定虚拟配置。
在一些实施例中,可以基于确定的虚拟配置而将虚拟机器人以确定的虚拟姿态定位在虚拟环境中。
在一些实施例中,对虚拟机器人的确定的虚拟姿态进行一次或多次调整,以便确定虚拟机器人的调整后的虚拟姿态。
在一些实施例中,真实机器人可以接收以(反映虚拟机器人的确定的调整后的虚拟姿态的)调整后的真实配置的定位,以便可以有利地设置从虚拟世界到真实世界的反馈。例如,可以通过物理地指示机器人操作手来执行对虚拟世界修改的响应,以响应于机器人配置变化和/或响应于设备配置变化。
因此,可以基于虚拟调整向真实机器人示教调整后的配置,虚拟调整可以根据请求通过软件而被自动地完成。
在一些实施例中,接收识别出的真实机器人的配置的定位的变化,并且重新确定相应的链接的虚拟机器人的特定第二虚拟配置,以便通过相应地重复动作320、335和340来反映真实机器人的不同配置。通过这样的实施例,可以有利地提供动态更新。
处理器102、存储器108以及运行在处理器102上的仿真程序中的一个或多个经由以下项中的一个或多个来接收输入:本地系统总线106、适配器112、网络130、服务器140、接口114、I/O总线116、磁盘控制器120、储存器126等。如本文所使用的那样,接收可以包括从储存器126中检索、从另一装置或过程中接收、经由与用户的交互来接收或者另外的方式。
当然,本领域的技术人员将认识到的是,除非操作的顺序明确指示或要求,否则上述过程中的某些动作可以被省略、并行地或顺序地被执行或者以不同的次序被执行。
本领域的技术人员将认识到的是,为了简单和清楚,本文不会说明或描述适于与本公开一起使用的所有数据处理系统的完整的结构和操作。反而,仅说明和描述了对于本公开而言是唯一的或者对于本公开的理解而言是必要的如此多的数据处理系统。数据处理系统100的结构和操作的其余部分可以符合本领域中任何已知的各种现有的实现和实践。
重要的是要注意:虽然本公开包括功能完备的系统的上下文中的描述,但是本领域的技术人员将意识到的是,本公开的机构的至少多个部分能够以(被包含在以任何各种形式的机器可用介质、计算机可用介质或者计算机可读介质之内的)指令的形式被分布,并且本公开同样地适用于实际地执行分布,而无论是特定类型的指令还是所使用的信号承载介质或存储介质。机器可用/可读介质或计算机可用/可读介质的示例包括非易失性硬编码型介质(如只读存储器(ROM)或可擦除可电编程只读存储器(EEPROM))以及用户可记录型介质(如软盘、硬盘以及紧致盘只读存储器(CD-ROM)或数字通用盘(DVD))。
虽然已经详细描述了本公开的示例性实施例,但是本领域的技术人员将理解的是,在不背离本公开以其最广泛的形式的精神和范围的情况下,可以进行本文所公开的各种改变、替换、变化和改进。
本申请中的描述决不应该被理解为意味着任何具体元素、动作或功能是必需包括在权利要求范围内的基本元素,授权主题的范围仅由所允许的权利要求来限定。

Claims (8)

1.一种用于通过数据处理系统来确定虚拟环境中的虚拟机器人的配置并且进行机器人的示教和编程的方法,其中,所述虚拟环境设置有表示至少一个真实机器人的至少一个虚拟机器人,所述至少一个虚拟机器人通过3D虚拟模型来限定,所述方法包括:
步骤1:接收(305)3D摄像机(201)在真实场景中的定位;
步骤2:在所述虚拟环境中注册(310)所述3D摄像机(201);
步骤3:接收(315)所述真实场景中的采用特定配置的至少一个真实机器人(203)的定位;
步骤4:通过所述3D摄像机来捕捉(320)在所述真实场景中被定位的至少一个真实机器人(203)的至少一个3D图像;
步骤5:从至少一个捕捉到的3D图像中识别(325)所述至少一个真实机器人(203);
步骤6:将至少一个识别出的真实机器人(203)链接(330)到相应的虚拟机器人(202);
步骤7:提取(335)至少一个识别出的真实机器人(203)在所述真实场景中的特定配置的配置数据;
步骤8:根据提取到的配置数据来确定(340)所述虚拟环境(204)中的虚拟机器人(202)的特定虚拟配置,所述特定虚拟配置反映所述真实场景中的相应真实机器人(203)的配置,其中所述虚拟环境包括在所述真实场景 中不存在或不起作用的周围虚拟设备件;
步骤9:基于所确定的特定虚拟配置,将所述虚拟机器人(202)以确定的特定虚拟姿态定位在所述虚拟环境中,所述特定虚拟姿态为所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向;
步骤10:对所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向进行至少一次调整,以便确定所述虚拟机器人的调整后的虚拟姿态;以及
步骤11:接收采用调整后的配置的所述真实机器人(203)的定位,所述调整后的配置反映所述虚拟机器人(202)的确定的调整后的虚拟姿态。
2.根据权利要求1所述的方法,其中,从由以下项组成的组中选择所述3D虚拟模型:
计算机辅助设计(CAD)模型;
类CAD模型;
点云模型;以及
3D计算机模型。
3.根据权利要求1或2所述的方法,进一步包括:
接收至少一个识别出的真实机器人(203)的第二特定配置的定位的变化;
重复所述捕捉、所述提取和所述确定,以便重新确定所述虚拟环境(204)中的采用特定的第二虚拟配置的链接后的虚拟机器人(202)的配置,所述特定的第二虚拟配置反映所述真实场景中的相应真实机器人(203)的第二特定配置。
4.根据权利要求1或2所述的方法,其中,经由挑选来自动地执行所述链接。
5.根据权利要求1或2所述的方法,其中,所述链接适于被手动执行。
6.一种数据处理系统,包括:
处理器;以及
可访问的存储器,所述数据处理系统被配置成执行用于机器人的示教和编程的方法,所述方法包括:
步骤1:接收3D摄像机(201)在真实场景中的定位;
步骤2:在虚拟环境中注册所述3D摄像机(201);
步骤3:接收所述真实场景中的采用特定配置的至少一个真实机器人(203)的定位;
步骤4:通过所述3D摄像机(201)来接收捕捉在所述真实场景中被定位的至少一个真实机器人(203)的至少一个3D图像的输入;
步骤5:从至少一个捕捉到的3D图像中识别所述至少一个真实机器人(203);
步骤6:将至少一个识别出的真实机器人(203)链接到相应的虚拟机器人(202),所述虚拟机器人(202)通过3D虚拟模型来限定;
步骤7:提取至少一个识别出的真实机器人在所述真实场景中的特定配置的配置数据;
步骤8:根据提取到的配置数据来确定所述虚拟环境中的虚拟机器人的特定虚拟配置,所述特定虚拟配置反映所述真实场景中的相应真实机器人的配置,其中所述虚拟环境包括在所述真实场景 中不存在或不起作用的周围虚拟设备件;
步骤9:基于所确定的特定虚拟配置,将所述虚拟机器人(202)以确定的特定虚拟姿态定位在所述虚拟环境中,所述特定虚拟姿态为所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向;
步骤10:对所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向进行至少一次调整,以便确定所述虚拟机器人的调整后的虚拟姿态;以及
步骤11:接收采用调整后的配置的所述真实机器人(203)的定位,所述调整后的配置反映所述虚拟机器人(202)的确定的调整后的虚拟姿态。
7.根据权利要求6所述的数据处理系统,其中,从由以下项组成的组中选择所述3D虚拟模型:
计算机辅助设计(CAD)模型;
类CAD模型;
点云模型;以及
3D计算机模型。
8.一种非暂态计算机可读介质,其使用可执行指令来进行编码,当执行所述可执行指令时,使得一个或多个数据处理系统执行用于机器人的示教和编程的方法,所述方法包括:
步骤1:接收3D摄像机(201)在真实场景中的定位;
步骤2:在虚拟环境中注册所述3D摄像机(201);
步骤3:接收所述真实场景中的采用特定配置的至少一个真实机器人(203)的定位;
步骤4:通过所述3D摄像机来接收捕捉在所述真实场景中被定位的至少一个真实机器人(203)的至少一个3D图像的输入;
步骤5:从至少一个捕捉到的3D图像中识别所述至少一个真实机器人(203);
步骤6:将至少一个识别出的真实机器人链接到相应的虚拟机器人(202);
步骤7:提取至少一个识别出的真实机器人在所述真实场景中的特定配置的配置数据;
步骤8:根据所提取的配置数据来确定所述虚拟环境中的虚拟机器人(202)的特定虚拟配置,所述特定虚拟配置反映所述真实场景中的相应真实机器人(203)的配置,其中所述虚拟环境包括在所述真实场景 中不存在或不起作用的周围虚拟设备件;
步骤9:基于所确定的特定虚拟配置,将所述虚拟机器人(202)以确定的特定虚拟姿态定位在所述虚拟环境中,所述特定虚拟姿态为所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向;
步骤10:对所述虚拟机器人(202)在所述虚拟环境中的特定位置和取向进行至少一次调整,以便确定所述虚拟机器人的调整后的虚拟姿态;以及
步骤11:接收采用调整后的配置的所述真实机器人(203)的定位,所述调整后的配置反映所述虚拟机器人(202)的确定的调整后的虚拟姿态。
CN201610821927.0A 2015-09-25 2016-09-13 用于确定虚拟环境中的虚拟机器人的配置的方法和系统 Active CN107065790B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/865,226 2015-09-25
US14/865,226 US20170091999A1 (en) 2015-09-25 2015-09-25 Method and system for determining a configuration of a virtual robot in a virtual environment

Publications (2)

Publication Number Publication Date
CN107065790A CN107065790A (zh) 2017-08-18
CN107065790B true CN107065790B (zh) 2021-06-22

Family

ID=56883501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610821927.0A Active CN107065790B (zh) 2015-09-25 2016-09-13 用于确定虚拟环境中的虚拟机器人的配置的方法和系统

Country Status (3)

Country Link
US (1) US20170091999A1 (zh)
EP (1) EP3166084B1 (zh)
CN (1) CN107065790B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
EP3623885A1 (de) * 2017-05-11 2020-03-18 Günther Battenberg Verfahren zur haptischen prüfung eines objektes
CN107844334B (zh) * 2017-09-28 2020-12-08 广州明珞汽车装备有限公司 一种自动配置机器人rcs的方法及系统
CN108037743B (zh) * 2017-12-01 2020-01-21 江苏慕林智能电器有限公司 场景共享方法、场景构建方法、ue设备和家居智能系统
WO2019178783A1 (en) * 2018-03-21 2019-09-26 Abb Schweiz Ag Method and device for industrial simulation
EP3566823A1 (en) * 2018-05-11 2019-11-13 Siemens Aktiengesellschaft Method, apparatus and system for robotic programming
US11407111B2 (en) 2018-06-27 2022-08-09 Abb Schweiz Ag Method and system to generate a 3D model for a robot scene
WO2020055903A1 (en) * 2018-09-10 2020-03-19 Fanuc America Corporation Robot calibration for ar and digital twin
US11135720B2 (en) 2018-10-23 2021-10-05 Siemens Industry Software Ltd. Method and system for programming a cobot for a plurality of industrial cells
CN109800695A (zh) * 2019-01-09 2019-05-24 中德(珠海)人工智能研究院有限公司 一种用于在虚拟模拟环境中定位虚拟对象的方法和系统
CN109800864B (zh) * 2019-01-18 2023-05-30 中山大学 一种基于图像输入的机器人主动学习方法
CN113226666A (zh) * 2019-01-21 2021-08-06 Abb瑞士股份有限公司 用于监控机器人系统的方法和装置
CN115037619A (zh) * 2022-04-29 2022-09-09 阿里巴巴(中国)有限公司 设备管理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090221368A1 (en) * 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
US8570320B2 (en) * 2011-01-31 2013-10-29 Microsoft Corporation Using a three-dimensional environment model in gameplay
JP5716769B2 (ja) * 2013-02-21 2015-05-13 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
US9452531B2 (en) * 2014-02-04 2016-09-27 Microsoft Technology Licensing, Llc Controlling a robot in the presence of a moving object

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mixed reality simulation for mobile robots;Ian Yen-Hung Chen 等;《IEEE》;20091231;第232-237页 *
Real-time Object Pose Recognition and Tracking with an Imprecisely Calibrated Moving RGB-D Camera;Karl Pauwels 等;《2014 IEEE/RSJ International Conference Robots and Systems》;20140914;第2733-2740页 *

Also Published As

Publication number Publication date
CN107065790A (zh) 2017-08-18
EP3166084A3 (en) 2017-05-17
EP3166084B1 (en) 2024-03-06
EP3166084A2 (en) 2017-05-10
EP3166084C0 (en) 2024-03-06
US20170091999A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
CN107065790B (zh) 用于确定虚拟环境中的虚拟机器人的配置的方法和系统
EP3166081A2 (en) Method and system for positioning a virtual object in a virtual simulation environment
CN111090922B (zh) 对用于多个工业单元的协作机器人编程的方法和系统
CN107053165B (zh) 用于模拟和处理防冲突管理的方法及数据处理系统
US9056394B2 (en) Methods and systems for determining efficient robot-base position
CN108145709B (zh) 控制机器人的方法和设备
EP2923805A2 (en) Object manipulation driven robot offline programming for multiple robot system
KR20190117812A (ko) 구축가능성 분석에 기초한 프로젝트들의 계획 및 적응
CN111195906B (zh) 用于预测机器人的运动轨迹的方法和系统
US20190299409A1 (en) Method, system and computer program product for determining tuned robotic motion instructions
US11370120B2 (en) Method and system for teaching a robot in reaching a given target in robot manufacturing
WO2023084300A1 (en) Method and system for creating 3d model for digital twin from point cloud
EP4372501A1 (en) Method and system for positioning an industrial asset in a manufacturing environment
CN118401345A (zh) 用于使得能够在关键虚拟时间间隔处检查工业机器人模拟的方法和系统
WO2023067374A1 (en) A method and a system for detecting possible collisions of objects in an industrial manufacturing environment
CN115956226A (zh) 用于验证工业场景安全性的多状态模拟的方法和数据处理系统
CN117881370A (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