CN110465951B - 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序 - Google Patents

用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序 Download PDF

Info

Publication number
CN110465951B
CN110465951B CN201910288118.1A CN201910288118A CN110465951B CN 110465951 B CN110465951 B CN 110465951B CN 201910288118 A CN201910288118 A CN 201910288118A CN 110465951 B CN110465951 B CN 110465951B
Authority
CN
China
Prior art keywords
robot
virtual object
interaction
data model
programming
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
CN201910288118.1A
Other languages
English (en)
Other versions
CN110465951A (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 AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Publication of CN110465951A publication Critical patent/CN110465951A/zh
Application granted granted Critical
Publication of CN110465951B publication Critical patent/CN110465951B/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration 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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming 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/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language

Abstract

本公开的目标是提供一种用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序。为了解决示教技术无法适用于所有类别的对象以及离线编程需要对机器人和对象进行复杂模拟的困境,提供一种解决方案以在所述机器人(10)的编程期间使用表以标记(30)的虚拟物件(20)且将所述虚拟物件(20)显示给用户(40)。因此,可使用甚至极大的物件,并且在编程期间也易于更换,这使得编程过程顺利且高效。

Description

用于机器人编程的方法、设备、计算机可读存储媒体和计算机 程序
技术领域
本发明涉及机器人学编程技术,且更确切地说,涉及用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序。
背景技术
机器人在工业车间和工厂中的使用正不断增加。机器人正变得更强大、更灵活且同时更便宜。
然而,对工业机器人进行编程通常是复杂的劳动密集型任务。总的来说,存在两组编程技术。
1)示教技术
此处,用户通过使用真实机器人和例如工件等真实对象来对机器人进行编程。用户将机器人移动到所要位置或沿有利轨迹移动且记录数据。用户如何控制的数据还由机器人中的驱动系统予以记录。然后,机器人根据所记录的数据重复这些动作。
示教技术的优点包含:可以很容易地根据机器人的真实安装和对象来对机器人进行编程,且无需高级编程技能。而缺点是:对象需要可供用于编程,这对于大的对象来说可能是非常困难或甚至是不可能的;调试前无编程且机器人在编程期间存在停机时间。
2)离线编程
此处,用户在模拟环境中对机器人进行编程。机器人、机器人的周围环境和所有对象被映射到模拟环境中。用户以虚拟方式限定位置、轨迹和与工作对象的交互。然后,真实机器人执行这些指令。
离线编程的优点包含:调试前编程;可以容易地改变和调适程序;机器人在编程期间无停机时间。而缺点包含:机器人的整个周围环境需要准确地映射到模拟环境中;其要求用户具有高级编程技能;简单使用情况需要过多准备。
因此,本公开的目标是提供一种用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序。为了解决示教技术无法适用于所有类别的对象以及离线编程需要对机器人和教示期间所用的物件进行复杂模拟的困境。
上述目标通过本发明技术的以下各项来实现:用于机器人编程的方法;用于机器人编程的设备;用于控制机器人的方法;机器人的控制器;计算机可读存储媒体;以及计算机程序。
已知的机器人编程技术属于示教技术或离线编程。举例来说,标准编程、教导器编程和引导编程(lead through programming)都是示教技术。虚拟现实是离线编程。
最常使用的方法仍是示教技术。在所有示教方法中,需要呈现与机器人交互的所有对象。这意味着,例如工件等每一对象都需要可供使用。处理重而较大的对象,如底盘框架,会增加示教时间且使过程较复杂和不安全。
然而,真实对象显然可用复制品替换。举例来说,可使用3D打印机产生复制品。这可减少对象的重量且有助于示教过程。但是,使用复制品会带来一些缺点,例如:打印底盘框架等大的对象是耗时且昂贵的;取决于对象的大小,需要若干人员搬运对象;对象需要保持在存储装置中以用于可能的机器人再教示;如果未存储对象而机器人需要再教示,那么需要再次产生对象。这增加了机械臂的示教时间和停机时间。
发明内容
本公开提供一种在机器人的编程期间使用示教技术的解决方案。使用虚拟物件,且将其标以标记。通过读取标记,可识别虚拟物件且在机器人的编程期间显示给用户。因此,可使用甚至极大的物件,并且在编程期间也易于更换,这使得编程过程顺利且高效。
根据本公开的第一方面,呈现一种用于机器人编程的方法,其包括:
-通过读取标记来识别虚拟物件,其中在机器人的编程期间使用所述虚拟物件,且所述标记对应于所述虚拟物件;
-在机器人的编程期间将所述虚拟物件显示给用户。
根据本公开的第二方面,呈现一种用于机器人编程的设备,其包括:
-识别模块,其配置成通过读取标记来识别虚拟物件,其中在机器人的编程期间使用所述虚拟物件,且所述标记对应于所述虚拟物件;
-显示模块,其配置成在机器人的编程期间将所述虚拟物件显示给用户。
根据本公开的第三方面,呈现一种用于机器人编程的设备,其包括:
-标记读取器,其配置成读取对应于在机器人的编程期间使用的虚拟物件的标记;
-处理器,其配置成识别所述标记读取器读取的所述虚拟物件;
-显示器,其配置成在机器人的编程期间将所述虚拟物件显示给用户。
根据本公开的第四方面,呈现一种用于控制机器人的方法,其包括:
-接收对应于在机器人的编程期间使用的虚拟物件的物理物件的以下参数中的至少一种:
-几何参数,
-物理性质参数,和
-位置参数;以及
-驱动机器人以反映所述虚拟物件的第一数据模型与机器人的第二数据模型之间的交互。
根据本公开的第五方面,呈现一种机器人的控制器,其包括:
-通信模块,其配置成接收对应于在机器人的编程期间使用的虚拟物件的物理物件的以下参数中的至少一种:
-几何参数,
-物理性质参数,和
-位置参数;以及
-驱动模块,其配置成根据对应于所述虚拟物件的所述物理物件的所述参数来驱动所述机器人以反映机器人对所述虚拟物件的第一数据模型与所述机器人的第二数据模型之间的交互的反应。
根据本公开的第六方面,呈现一种机器人的控制器,其包括:
-处理器;
-存储器,其与处理器进行电子通信;以及
-指令,其存储于所述存储器中,所述指令可由所述处理器执行来:
-接收对应于在机器人的编程期间使用的虚拟物件的物理物件的以下参数中的至少一种:
-几何参数,
-物理性质参数,
-位置参数;以及
-根据对应于所述虚拟物件的所述物理物件的所述参数来驱动所述机器人以反映机器人对所述虚拟物件的第一数据模型与所述机器人的第二数据模型之间的交互的反应。
根据本公开的第七方面,呈现一种计算机可读存储媒体,其在其上存储有:
-可由计算机系统的一个或多个处理器执行的指令,其中所述指令的执行使所述计算机系统执行根据本公开的第一方面或第四方面的方法。
根据本公开的第八方面,呈现一种计算机程序,其由计算机系统的一个或多个处理器执行,且执行根据本公开的第一方面或第四方面的方法。
提供一种用于使用示教技术对机器人编程的解决方案。使用虚拟物件,且将其标以标记。通过读取标记,可识别虚拟物件且在机器人的编程期间显示给用户。因此,可使用甚至极大的物件,并且在编程期间也易于更换,这使得编程过程顺利且高效。
在本公开的一个实施例中,用于机器人编程的设备另外检测虚拟物件的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互,且将所述交互显示给用户:
-机器人,
-在机器人的编程期间使用的至少一个其它虚拟物件,以及
-在机器人的编程期间使用的至少一个物理物件。
因此,用户可看到与所述虚拟物件的交互,这有助于机器人的编程。
在本公开的一个实施例中,用于机器人编程的设备根据对应于所述虚拟物件的物理物件的以下参数中的至少一种来计算第一数据模型对所述交互的反应的参数:
-几何参数,
-物理性质参数,和
-位置参数;以及
根据计算出的第一数据模型对所述交互的反应的参数来显示第一数据模型的反应。
通过输入在计算第一数据模型对所述交互的反应的参数期间所需的参数,可将精确交互显示给用户。
在本公开的一个实施例中,如果交互是在第一数据模型与机器人的第二数据模型之间,或如果交互是在第一数据模型与以下项的第二数据模型之间
-机器人,和
-以下物件中的任一个或组合:
-在机器人的编程期间使用的至少一个其它虚拟物件,以及
-在机器人的编程期间使用的至少一个物理物件,
那么用于机器人编程的设备向机器人的控制器发送对应于所述虚拟物件的物理物件的以下参数中的至少一种,从而驱动机器人以反映机器人对所述交互的反应:
-几何参数,
-物理性质参数,和
-位置参数;以及
用于机器人编程的设备显示由驱动的机器人反映的机器人对所述交互的反应。
首先,利用对应于所述虚拟物件的物理物件的参数,机器人的控制器可根据所述参数精确控制机器人且向用户显示机器人对所述交互的反应。
在本公开的一个实施例中,如果虚拟物件与标记之间的相对位置因交互而改变,用于机器人编程的设备就根据所述交互显示所述虚拟物件;以及如果虚拟物件与标记之间的相对位置未因交互而改变,用于机器人编程的设备就根据虚拟物件与标记之间的相对位置显示虚拟物件。因此,可根据交互反映虚拟物件的恰当位置。
附图说明
通过参考以下结合附图进行的对本发明技术的实施例的描述,本发明技术的上述属性和其它特征和优点以及其实现方式将变得更显而易见且本发明技术自身将得到更好理解,在附图中:
图1A~1C 示意性地表示本公开的机器人编程系统的示范性实施例
图2 描绘流程图,所述流程图显示本公开的方法的示范性实施例
图3 描绘框图,所述框图显示本公开的用于机器人编程的设备的第一示范性实施例
图4 描绘框图,所述框图显示本公开的用于机器人编程的设备的第二示范性实施例
图5 描绘框图,所述框图显示本公开的机器人的控制器的第一示范性实施例
图6 描绘框图,所述框图显示本公开的机器人的控制器的第二示范性实施例
图7到10、图11A~11D 描绘本公开所提供的虚拟物件与机器人之间的交互。
附图标号:
100:用于机器人编程的系统
10:机器人 20:虚拟物件 30:标记
40:用户 50:物理物件
60:用于机器人编程的设备
70:机器人10的控制器
S201~S207,S2071~S2075:过程步骤
601:识别模块
602:显示模块
603:计算模块
604:通信模块
605:标记读取器 606:处理器 607:显示器
701:通信模块
702:驱动模块
703:处理器 704:存储器
具体实施方式
在下文中,详细描述本发明技术的上述特征和其它特征。参考各图描述各种实施例,其中在所有图中相同附图标号用以指代相同元件。在以下描述中,出于解释的目的,阐述许多特定细节以便提供对一个或多个实施例的透彻理解。可注意到,所示实施例旨在解释而非限制本发明。明显的是,可在没有这些特定细节的情况下实践此类实施例。
下文通过参考图1A~1C、图2到图10、图11A~11D来详细描述本发明技术。
图1A、1B和1C示意性地表示本公开的机器人编程系统100的示范性实施例。机器人编程系统100可包括:
-机器人10,其可与机器人10的控制器70连接。机器人10可在控制器70的控制下进行移动。机器人10可以是或不是系统100的部分。
作为机器人10的一部分的末端执行器是在机械臂和其它机器人附接件的末端处的工具,其直接与世界中的对象交互。在本发明的示范性实施例中,末端执行器的类别不限。例如,在机械臂末端的夹持器可以是机器人10的部分。包含尖状物、发光体、锤和螺丝刀的其它件也可以是末端执行器。
-标记30,对应于在机器人10的编程期间使用的虚拟物件20。标记30可以是上面印有虚拟物件20的标识(例如QR码)的卡,或表示虚拟物件20的其它事物,且可通过本公开中提供的用于机器人编程的设备60识别为虚拟物件20。可存在用于机器人10的编程的多于一个标记30,每一个对应于至少一个虚拟物件20(参考图1C)。
-用于机器人编程的设备60配置成通过读取标记30来识别虚拟物件20,且在机器人10的编程期间向用户40显示虚拟物件20。设备60可以是手持式装置(如图1A所示)、具有手柄的虚拟现实头戴装置(如图1B所示)等。设备60具有向用户40显示虚拟物件20的显示器607和读取标记30的标记读取器605。任选地,设备60还可由用户40用以通过建立虚拟物件20的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的数据模型交互来操控机器人10、显示机器人10:
-机器人10,
-在机器人10的编程期间使用的至少一个其它虚拟物件20,以及
-在机器人10的编程期间使用的至少一个物理物件50。
系统100还可包括至少一个物理物件50和至少一个其它虚拟物件20。
虚拟物件20或物理物件50可以是以下物件中的任一个:
-机器人10将要操作的对象,以及
-机器人10所处环境的一部分,包含但不限于控制台、桌台、吊运车、障碍物、壁等结构特征、机器人10的一部分等。
图2描绘显示本公开的方法的示范性实施例的流程图。所述方法包括以下步骤:
-S201:用户40放置标记30,所述标记对应于在机器人10的编程期间要使用的虚拟物件20。
-S202:用于机器人编程的设备60通过读取标记30来识别虚拟物件20。
-S203:用于机器人编程的设备60建立机器人10的第二数据模型。任选地,用于机器人编程的设备60可使用例如相机、力传感器等外部传感器获得机器人10的参数。机器人10的参数可包含但不限于:几何参数,以及关于机器人10所处的环境的位置参数。此步骤可在S201之前、之后或与S201同时进行处理。
-S204:用于机器人编程的设备60建立虚拟物件20的第一数据模型。可存在多于一个虚拟物件20。利用多样的虚拟物件40编程的方法可与利用一个虚拟物件20相同。用于机器人编程的设备60可根据虚拟物件20的配置数据来建立第一数据模型,所述配置数据包含但不限于:几何参数;物理性质参数,例如硬度、破坏硬度的力等;以及关于机器人10的位置参数和机器人10所处的环境。其中,所述配置数据可被预设且对应于所提及的可根据标记30识别的虚拟物件20的标识,一旦用于机器人编程的设备60通过读取标记识别虚拟物件20,其可根据虚拟物件20的预设配置数据来建立虚拟物件20的第一数据模型。
-S205:用于机器人编程的设备60在机器人10的编程期间向用户40显示虚拟物件20。
所述方法可进一步包括:
-S206:用于机器人编程的设备60检测虚拟物件20的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互:
-机器人10,
-在机器人10的编程期间使用的至少一个其它虚拟物件20,以及
-在机器人10的编程期间使用的至少一个物理物件50。
-S207:用于机器人编程的设备60将检测到的交互显示给用户40。
其中,所述交互可包括每个部分对所述交互的反应。相应地,步骤S207可包括显示第一数据模型对所述交互的反应且显示第二数据模型对所述交互的反应。因此步骤S207可包括以下子步骤:
S2071:用于机器人编程的设备60根据对应于虚拟物件20的物理物件的以下参数中的至少一种来计算第一数据模型对所述交互的反应的参数:
-几何参数,
-物理性质参数,和
-位置参数。
其中对应于虚拟物件20的物理物件的参数还可相应地预设成所提及的虚拟物件20的标识。然而,第一数据模型的反应还取决于对应于第二数据模型的物理物件的以下参数中的至少一种,
-几何参数,
-物理性质参数,和
-位置参数,
因此,第一数据模型的反应的参数还可根据这个或这些参数进行计算。
-S2072:用于机器人编程的设备60根据计算出的第一数据模型对所述交互的反应的参数显示第一数据模型对所述交互的反应。
如果交互是在第一数据模型与机器人10的第二数据模型之间,或如果交互是在第一数据模型与以下项的第二数据模型之间
-机器人10,和
-以下物件中的任一个或组合:
-在机器人10的编程期间使用的至少一个其它虚拟物件20,以及
-在机器人10的编程期间使用的至少一个物理物件50,
那么步骤S207可进一步包括以下子步骤S207 3到S2075。
-S2073:用于机器人编程的设备60向机器人10的控制器70发送对应于虚拟物件20的物理物件的以下参数中的至少一种,从而驱动机器人10以反映所述交互:
-几何参数,
-物理性质参数,和
-位置参数。
-S2074:机器人10的控制器70计算机器人10对所述交互的反应的参数,且驱动机器人10以根据计算出的机器人10的反应的参数作出反应。
-S2075:用于机器人编程的设备60向用户40显示机器人10对所述交互的反应。
其中可在子步骤S2071和S2072之后或与之同时处理子步骤S2073~S2075。
用于机器人编程的设备60还可根据机器人10和对应于虚拟物件20的物理物件的以下参数中的至少一种来计算第二数据模型的反应的参数:
-几何参数,
-物理性质参数,和
-位置参数,
以及根据计算出的第二数据模型的反应的参数显示第二数据模型的反应。
所述交互可参考图7到10、图11A~11D。
在图7中,所述交互包括虚拟物件20(壁)的倒下和机器人10的夹持器的位置和形状的改变。
在图8中,所述交互包括虚拟物件20(壁)的开裂和机器人10的夹持器的位置改变。
在图9中,将标记30放在物理物件50(移动输送机)上。所述交互包括虚拟物件20(对象)被拾取以及机器人10的夹持器夹持以拾取对象。
在图10中,将标记30放在物理物件50上。标记30对应于待紧固的虚拟物件20(螺钉)。所述交互包括虚拟物件20被紧固以及机器人10的螺丝刀的紧固。
在图11A~11D中,存在2个标记30,一个对应于虚拟物件20(待拾取且放置在推车上的对象),另一个对应于另一虚拟物件20(所述对象将放置在其上的推车)。所述交互包括虚拟物件20(对象)被拾取(图11A和11B)且放置在推车上(图11C),以及机器人10的夹持器在拾取对象时的夹持(图11A和11B)和其在将对象放置在推车上时的释放(图11C)。任选地,推车20还可因推车20对应的标记30(可能由用户40进行)的移动而移动。在推车20的移动期间,所述2个虚拟物件之间的交互包括对象30与推车30一起移动(归因于对象30的重力和与推车30的虚构)以及推车使对象30一起移动。
任选地,如果虚拟物件20与标记30之间的相对位置因交互而改变,用于机器人编程的设备60就根据所述交互显示虚拟物件20;以及如果虚拟物件20与标记30之间的相对位置未因交互而改变,则根据虚拟物件20与标记30之间的相对位置显示虚拟物件20。
在图9中,在时间t1处(参考上图),机器人10的夹持器即将拾取虚拟物件20,虚拟物件20与标记30之间的相对位置保持不变;在时间t2处(参考下图),机器人10的夹持器已拾取虚拟物件20。标记30与输送机50一起移动,而虚拟物件20已被机器人10的夹持器拾取,虚拟物件20与标记30之间的相对位置因机器人10的拾取而改变,且设备60根据交互拾取来显示虚拟物件20。
在图11A中,机器人10的夹持器即将拾取虚拟对象20,虚拟对象20与对应于虚拟对象20的标记30之间的相对位置保持不变。在图11B中,机器人10的夹持器已拾取虚拟对象20。归因于交互拾取,虚拟对象20与标记30之间的相对位置相应地改变,且设备60根据交互拾取而显示虚拟对象20。在图11D中,归因于虚拟对象20与虚拟推车20之间的交互,设备60根据虚拟推车20的移动而显示虚拟对象。
而且由于虚拟对象20与虚拟推车20之间的交互并未改变虚拟推车20与对应的标记30之间的相对位置,因此设备60根据虚拟推车20的标记30显示虚拟推车20。
图3描绘显示本公开的用于机器人编程的设备60的第一示范性实施例的框图,其包括:
-识别模块601,其配置成通过读取标记30来识别虚拟物件20,其中在机器人10的编程期间使用虚拟物件20,且标记30对应于虚拟物件20。
-显示模块602,其配置成在机器人10的编程期间将虚拟物件20显示给用户40。
任选地,识别模块601另外被配置成检测上文所提及的交互,且显示模块602另外被配置成向用户40显示所述交互。(对交互的检测、对交互的参数的计算和对交互的显示可参考步骤S206、S207、图7~10、图11A~11D以及相关描述中的描述。)
当计算交互的参数时,用于机器人编程的设备60可另外包括计算模块603,其配置成在显示模块602将交互显示给用户40之前计算交互的参数(例如第一数据模型对所述交互的反应的参数、第二数据模型对所述交互的反应的参数等)。
任选地,如果所述交互是在第一数据模型与机器人10的第二数据模型之间,或
-如果所述交互是在第一数据模型与以下项的第二数据模型之间
-机器人10,和
-以下物件中的任一个或组合:
-在机器人10的编程期间使用的至少一个其它虚拟物件20,以及
-在机器人10的编程期间使用的至少一个物理物件50,
那么设备60可另外包括通信模块604,所述通信模块配置成在显示模块602将交互显示给用户40之前向机器人10的控制器70发送对应于虚拟物件20的物理物件的以下参数中的至少一种,从而驱动机器人10以反映机器人10对所述交互的反应。
任选地,显示模块602可配置成:
-在虚拟物件20与标记30之间的相对位置因交互而改变的情况下,根据交互而显示虚拟物件20,以及
-在虚拟物件20与标记30之间的相对位置未因交互而改变的情况下,根据虚拟物件20与标记30之间的相对位置来显示虚拟物件20。
图4描绘显示本公开的用于机器人编程的设备60的第二示范性实施例的框图,其包括:
-标记读取器605,其配置成读取对应于在机器人10的编程期间使用的虚拟物件20的标记30;
-处理器606,其配置成识别标记读取器605读取的虚拟物件20;
-显示器607,其配置成在机器人10的编程期间将虚拟物件20显示给用户40。
任选地,处理器606可另外被配置成检测虚拟物件20的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互:
-机器人10,
-在机器人10的编程期间使用的至少一个其它虚拟物件20,或
-在机器人10的编程期间使用的至少一个物理物件50;
而且显示器607可另外被配置成将交互显示给用户40。
任选地,处理器606可另外被配置成:在显示器607将交互显示给用户40之前根据对应于虚拟物件20的物理物件的以下参数中的至少一种来计算第一数据模型对所述交互的反应的参数:
-几何参数,
-物理性质参数,和
-位置参数;以及
并且显示器607可配置成根据计算出的第一数据模型对所述交互的反应的参数来显示第一数据模型对所述交互的反应。
任选地,如果所述交互是在第一数据模型与机器人10的第二数据模型之间,或
-如果所述交互是在第一数据模型与以下项的第二数据模型之间
-机器人10,和
-以下物件中的任一个或组合:
-在机器人10的编程期间使用的至少一个其它虚拟物件20,以及
-在机器人10的编程期间使用的至少一个物理物件50,
处理器606另外可配置成:在显示器607将交互显示给用户40之前向机器人10的控制器70发送对应于虚拟物件20的物理物件的以下参数中的至少一种,从而驱动机器人10以反映机器人10对所述交互的反应:
-几何参数,
-物理性质参数,和
-位置参数;以及
并且显示器607可配置成显示由驱动的机器人10反映的机器人10对所述交互的反应。
任选地,显示器607可配置成:
-在虚拟物件20与标记30之间的相对位置因交互而改变的情况下,根据交互而显示虚拟物件20,以及
-在虚拟物件20与标记30之间的相对位置未因交互而改变的情况下,根据虚拟物件20与标记30之间的相对位置来显示虚拟物件20。
任选地,模块601、602、603和604可视为编程模块,其包含存储在计算机可读存储媒体中的指令,所述指令在由处理器606执行时可使用于机器人编程的设备60实施本公开中所公开的方法。
或模块601、602、603和604可视为硬件模块,其可通过现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)、专用集成电路(ASIC)等利用加载在这些可编程逻辑装置中的机器人编程逻辑实施。
或模块601、602、603和604可视为通过软硬件实施的功能模块。计算模块603可通过可编程逻辑装置实施,且其它模块可通过处理器606所执行的指令实施。
图5描绘显示本公开的机器人10的控制器70的第一示范性实施例的框图。控制器70包括:
-通信模块701,其配置成接收对应于在机器人10的编程期间使用的虚拟物件20的物理物件的以下参数中的至少一种:
-几何参数,
-物理性质参数,和
-位置参数;以及
-驱动模块702,其配置成根据对应于虚拟物件20的物理物件的参数来驱动机器人10以反映机器人10对虚拟物件20的第一数据模型与机器人10的第二数据模型之间的交互的反应。
图6描绘显示本公开的机器人10的控制器70的第二示范性实施例的框图。控制器70包括:
-处理器703;
-存储器704,其与处理器703进行电子通信;以及
-指令,其存储于存储器704中,所述指令可由处理器703执行来:
-接收对应于在机器人10的编程期间使用的虚拟物件20的物理物件的以下参数中的至少一种:
-几何参数,
-物理性质参数,
-位置参数;以及
-根据对应于虚拟物件20的物理物件的参数来驱动机器人10以反映机器人10对虚拟物件20的第一数据模型与机器人10的第二数据模型之间的交互的反应。
任选地,模块701、702可视为编程模块,其包含存储在存储器704中的指令,所述指令在由处理器703执行时可使机器人10的控制器70实施本公开中所公开由控制器70执行的方法。
或模块701、702可视为硬件模块,其可通过现场可编程门阵列(FPGA)、复杂可编程逻辑装置(CPLD)、专用集成电路(ASIC)等利用加载在这些可编程逻辑装置中的机器人编程逻辑实施。
或模块701、702可视为通过软硬件实施的功能模块。举例来说,驱动模块702可通过可编程逻辑装置实施,且通信模块701可通过处理器703所执行的指令实施。
此外,在本公开中还呈现计算机可读存储媒体,所述计算机可读存储媒体上面存储有可由计算机系统的一个或多个处理器执行的指令,其中指令的执行使计算机系统执行根据用于机器人编程的方法的方法或用于控制本公开中提供的机器人的方法。
此外,本公开中还提供计算机程序,所述计算机程序由计算机系统的一个或多个处理器执行,且执行用于机器人编程的方法或用于控制本公开中提供的机器人的方法。
本公开提供一种用于机器人编程的方法、设备,一种用于控制机器人的方法,一种机器人的控制器以及一种用于机器人编程的系统,从而提供解决方案来实现虚拟物件且将其显示给用户,这使得编程过程顺利且高效。虚拟物件与机器人之间的交互可使用物理引擎进行模拟且对于用户将可见。类似取放以及多个虚拟物件的组装等编程任务也是可能的。将真实物件换为虚拟物件为示教技术添加以下优点:
-物件可以很容易地更换;
-物件可在任何定向上放置在任何位置处;
-物件可以很容易地被用户携带;
-用户对虚拟物件的搬运更安全;
-示教时间将减少;
-机器人的停机时间将减少。
虽然已参考某些实施例详细地描述了本发明技术,但是应了解,本发明技术不限于那些精确的实施例。实际上,鉴于描述用于实践本发明的示范性模式的本公开,在不脱离本发明的范围和精神的情况下,所属领域的技术人员能进行许多修改和变化。因此,本发明的范围由所附权利要求书指示,而非由前文描述指示。落入权利要求的等效含义和范围内的所有改变、修改和变化将被认为在权利要求的范围内。

Claims (8)

1.一种用于机器人编程的方法,包括:
通过读取标记(30)识别虚拟物件(20),其中所述虚拟物件(20)在机器人(10)的编程期间使用,且所述标记(30)对应于所述虚拟物件(20);
在所述机器人(10)的编程期间将所述虚拟物件(20)显示给用户(40);
另外包括:
检测所述虚拟物件(20)的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互:
所述机器人(10),
在所述机器人(10)的编程期间使用的至少一个其它虚拟物件(20),和
在所述机器人(10)的编程期间使用的至少一个物理物件(50);
将对应于所述虚拟物件(20)的物理物件的以下参数中的至少一种发送给所述机器人(10)的控制器(70),从而驱动所述机器人(10)以反映所述机器人(10)对所述交互的反应;所述参数包括:几何参数;物理性质参数;和位置参数;
将所述交互、由驱动的所述机器人(10)所反映的所述机器人(10)对所述交互的反应以及所述第一数据模型对所述交互的反应显示给用户;
所述反应包括下列中的至少一个:虚拟物件(20)的倒下和机器人(10)的夹持器的位置和形状的改变;虚拟物件(20)的开裂和机器人(10)的夹持器的位置改变;虚拟物件(20)被拾取以及机器人(10)的夹持器夹持以拾取对象;虚拟物件(20)被紧固以及机器人(10)的螺丝刀的紧固。
2.根据权利要求1所述的方法,其中在将所述交互显示给用户(40)之前,所述方法另外包括:根据对应于所述虚拟物件(20)的物理物件的参数来计算所述第一数据模型对所述交互的反应的参数:
将所述交互显示给用户包括:根据计算出的所述第一数据模型对所述交互的反应的所述参数来显示所述第一数据模型对所述交互的反应。
3.根据权利要求1或2所述的方法,其中,
所述交互是在所述第一数据模型与所述机器人(10)的所述第二数据模型之间,或
所述交互是在所述第一数据模型与以下项的所述第二数据模型之间
所述机器人(10),和
以下物件中的任一个或组合:
在所述机器人(10)的编程期间使用的至少一个其它虚拟物件(20),和
在所述机器人(10)的编程期间使用的至少一个物理物件(50)。
4.根据权利要求1所述的方法,其中在所述机器人(10)的编程期间将所述虚拟物件(20)显示给用户(40)包括:
在所述虚拟物件(20)与所述标记(30)之间的相对位置因所述交互而改变的情况下,根据所述交互而显示所述虚拟物件(20);以及
在所述虚拟物件(20)与所述标记(30)之间的相对位置未因所述交互而改变的情况下,根据所述虚拟物件(20)与所述标记(30)之间的所述相对位置来显示所述虚拟物件(20)。
5.一种用于机器人编程的设备(60),包括:
识别模块(601),其配置成通过读取标记(30)来识别虚拟物件(20),其中在机器人(10)的编程期间使用所述虚拟物件(20),且标记(30)对应于所述虚拟物件(20);
显示模块(602),其配置成在所述机器人(10)的编程期间将所述虚拟物件(20)显示给用户(40);
其中所述识别模块(601)另外被配置成检测所述虚拟物件(20)的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互:
所述机器人(10),
在所述机器人(10)的编程期间使用的至少一个其它虚拟物件(20),或
在所述机器人(10)的编程期间使用的至少一个物理物件(50);
将对应于所述虚拟物件(20)的物理物件的以下参数中的至少一种发送给所述机器人(10)的控制器(70),从而驱动所述机器人(10)以反映所述机器人(10)对所述交互的反应;所述参数包括:几何参数;物理性质参数;和位置参数;
所述显示模块(602)另外被配置成将所述交互、由驱动的所述机器人(10)所反映的所述机器人(10)对所述交互的反应以及所述第一数据模型对所述交互的反应显示给用户(40);
所述反应包括下列中的至少一个:虚拟物件(20)的倒下和机器人(10)的夹持器的位置和形状的改变;虚拟物件(20)的开裂和机器人(10)的夹持器的位置改变;虚拟物件(20)被拾取以及机器人(10)的夹持器夹持以拾取对象;虚拟物件(20)被紧固以及机器人(10)的螺丝刀的紧固。
6.根据权利要求5所述的设备(60),其中:
所述显示模块(602)配置成:
在所述虚拟物件(20)与所述标记(30)之间的相对位置因所述交互而改变的情况下,根据所述交互而显示所述虚拟物件(20),以及
在所述虚拟物件(20)与所述标记(30)之间的相对位置未因所述交互而改变的情况下,根据所述虚拟物件(20)与所述标记(30)之间的所述相对位置来显示所述虚拟物件(20)。
7.一种用于机器人编程的设备(60),包括:
标记读取器(605),其配置成读取对应于在机器人(10)的编程期间使用的虚拟物件(20)的标记(30);
处理器(606),其配置成识别所述标记读取器(605)读取的所述虚拟物件(20);
显示器(607),其配置成在所述机器人(10)的编程期间将所述虚拟物件(20)显示给用户(40);
其中处理器(606)可另外被配置成检测所述虚拟物件(20)的第一数据模型与以下物件中的任一个或组合的第二数据模型之间的交互:
所述机器人(10),
在所述机器人(10)的编程期间使用的至少一个其它虚拟物件(20),或
在所述机器人(10)的编程期间使用的至少一个物理物件(50);
将对应于所述虚拟物件(20)的物理物件的以下参数中的至少一种发送给所述机器人(10)的控制器(70),从而驱动所述机器人(10)以反映所述机器人(10)对所述交互的反应;所述参数包括:几何参数;物理性质参数;和位置参数;
所述显示器(607)另外被配置成将所述交互、由驱动的所述机器人(10)所反映的所述机器人(10)对所述交互的反应以及所述第一数据模型对所述交互的反应显示给用户(40);
所述反应包括下列中的至少一个:虚拟物件(20)的倒下和机器人(10)的夹持器的位置和形状的改变;虚拟物件(20)的开裂和机器人(10)的夹持器的位置改变;虚拟物件(20)被拾取以及机器人(10)的夹持器夹持以拾取对象;虚拟物件(20)被紧固以及机器人(10)的螺丝刀的紧固。
8.一种计算机可读存储媒体,在其上存储有:
可由计算机系统的一个或多个处理器执行的指令,其中所述指令的执行使所述计算机系统执行根据权利要求1到4中任一权利要求所述的方法。
CN201910288118.1A 2018-05-11 2019-04-10 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序 Active CN110465951B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18171845.3 2018-05-11
EP18171845.3A EP3566824B1 (en) 2018-05-11 2018-05-11 Method, apparatus, computer-readable storage media and a computer program for robotic programming

Publications (2)

Publication Number Publication Date
CN110465951A CN110465951A (zh) 2019-11-19
CN110465951B true CN110465951B (zh) 2023-09-26

Family

ID=62152456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910288118.1A Active CN110465951B (zh) 2018-05-11 2019-04-10 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序

Country Status (3)

Country Link
US (1) US11584012B2 (zh)
EP (1) EP3566824B1 (zh)
CN (1) CN110465951B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102211012B1 (ko) * 2016-09-15 2021-02-03 구글 엘엘씨 로봇 조작을 위한 심층 강화 학습
EP3959045A1 (en) * 2019-05-31 2022-03-02 Siemens Aktiengesellschaft Method for dynamic multi-dimensional spatio-temporal human machine interaction and feedback
JP7368147B2 (ja) * 2019-09-02 2023-10-24 ファナック株式会社 搬送シミュレーション装置、及び搬送システム
US11262887B2 (en) * 2019-09-13 2022-03-01 Toyota Research Institute, Inc. Methods and systems for assigning force vectors to robotic tasks
CN111124611A (zh) * 2019-12-19 2020-05-08 深圳市优必选科技股份有限公司 一种机器人管理方法、机器人管理装置及电子设备
CN111046597B (zh) * 2020-01-20 2023-07-21 兰州理工大学 基于数字孪生三维模型3d打印机建模方法及模型系统
CN111590586A (zh) * 2020-06-01 2020-08-28 南京圆梦聚力科技有限公司 一种机械臂离线编程的人机交互终端及方法
CN115223423B (zh) * 2022-04-22 2024-04-16 北京好奇星教育科技有限公司 一种编程方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119383A1 (en) * 2007-03-30 2008-10-09 Abb Technology Ab Method and apparatus for programming an industrial robot
WO2010017835A1 (en) * 2008-08-12 2010-02-18 Abb Technology Ab A system and a method for off-line programming of an industrial robot
EP2923805A2 (en) * 2014-03-26 2015-09-30 Siemens Industry Software Ltd. Object manipulation driven robot offline programming for multiple robot system
WO2015175739A1 (en) * 2014-05-16 2015-11-19 Microsoft Technology Licensing, Llc Robotic task demonstration interface
CN105190485A (zh) * 2013-04-29 2015-12-23 微软技术许可有限责任公司 混合现实交互

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421048B1 (en) * 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
WO2007044301A2 (en) * 2005-10-04 2007-04-19 Intersense, Inc. Tracking objects with markers
EP2208584B1 (de) * 2009-01-14 2011-12-21 GFRT - Fortschrittliche Robotertechnologie GmbH & Co. KG Verfahren zur Steuerung von Industrierobotern
JP2013022705A (ja) * 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
JP2013099808A (ja) * 2011-11-08 2013-05-23 Dainippon Screen Mfg Co Ltd 組み付け装置、およびその方法、組み付け動作プログラム
US8843236B2 (en) * 2012-03-15 2014-09-23 GM Global Technology Operations LLC Method and system for training a robot using human-assisted task demonstration
JPWO2014013605A1 (ja) * 2012-07-20 2016-06-30 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
WO2015051815A1 (en) * 2013-10-07 2015-04-16 Abb Technology Ltd A method and a device for verifying one or more safety volumes for a movable mechanical unit
US10226869B2 (en) * 2014-03-03 2019-03-12 University Of Washington Haptic virtual fixture tools
US9643314B2 (en) * 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US10037465B2 (en) * 2016-03-18 2018-07-31 Disney Enterprises, Inc. Systems and methods for generating augmented reality environments
US10166676B1 (en) * 2016-06-08 2019-01-01 X Development Llc Kinesthetic teaching of grasp parameters for grasping of objects by a grasping end effector of a robot
JP2020508888A (ja) * 2017-02-25 2020-03-26 ディリジェント ロボティクス,インコーポレイテッド ロボットが技能を学習し実行するシステム、装置及び方法
US10913154B2 (en) * 2018-01-02 2021-02-09 General Electric Company Systems and method for robotic learning of industrial tasks based on human demonstration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008119383A1 (en) * 2007-03-30 2008-10-09 Abb Technology Ab Method and apparatus for programming an industrial robot
WO2010017835A1 (en) * 2008-08-12 2010-02-18 Abb Technology Ab A system and a method for off-line programming of an industrial robot
CN105190485A (zh) * 2013-04-29 2015-12-23 微软技术许可有限责任公司 混合现实交互
EP2923805A2 (en) * 2014-03-26 2015-09-30 Siemens Industry Software Ltd. Object manipulation driven robot offline programming for multiple robot system
WO2015175739A1 (en) * 2014-05-16 2015-11-19 Microsoft Technology Licensing, Llc Robotic task demonstration interface

Also Published As

Publication number Publication date
US11584012B2 (en) 2023-02-21
CN110465951A (zh) 2019-11-19
EP3566824B1 (en) 2023-06-28
EP3566824A1 (en) 2019-11-13
US20190344444A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
CN110465951B (zh) 用于机器人编程的方法、设备、计算机可读存储媒体和计算机程序
CN106239516B (zh) 机器人控制装置、机器人以及机器人系统
Vongbunyong et al. Disassembly automation
CN108000524B (zh) 模拟装置、模拟方法、模拟程序以及存储介质
US10166674B1 (en) Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot
US10279476B2 (en) Method and system for programming a robot
Magrini et al. Estimation of contact forces using a virtual force sensor
JP6752615B2 (ja) 情報処理装置、情報処理方法、ロボット制御装置及びロボットシステム
US20150127141A1 (en) Robot, control device, robot system and robot control method
US20220258355A1 (en) Systems and method for robotics control under contact
US10166673B2 (en) Portable apparatus for controlling robot and method thereof
US20150151431A1 (en) Robot simulator, robot teaching device, and robot teaching method
CN108495738A (zh) 用于提供动态机器人控制系统的系统和方法
CN110465935B (zh) 用于机器人编程的方法、设备和系统
EP2921266B1 (en) Robot, robot system,robot control apparatus, and method of controlling the operation of a robot
Vongbunyong et al. A process demonstration platform for product disassembly skills transfer
Mnyusiwalla et al. A bin-picking benchmark for systematic evaluation of robotic pick-and-place systems
Wassermann et al. Intuitive robot programming through environment perception, augmented reality simulation and automated program verification
US10933526B2 (en) Method and robotic system for manipulating instruments
Zhu et al. Parallel image-based visual servoing/force control of a collaborative delta robot
Gorjup et al. A flexible robotic assembly system combining cad based localization, compliance control, and a multi-modal gripper
Canali et al. High reconfigurable robotic gripper for flexible assembly
CN110914021A (zh) 带有用于执行至少一个工作步骤的操纵设备的操纵装置以及方法和计算机程序
Huckaby et al. Modeling robot assembly tasks in manufacturing using sysml
Wu et al. Improving human-robot interactivity for tele-operated industrial and service robot applications

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