机器人控制装置的制作方法

文档序号:6311023阅读:158来源:国知局
专利名称:机器人控制装置的制作方法
技术领域
本发明涉及一种用于机器人的具有多内核架构的控制装置,该多内核架构具有虚拟机,本发明还涉及一种利用这种控制装置控制机器人的方法。
背景技术
根据企业内部的实际操作,通过运动控制装置控制机器人,而过程应用(例如焊钳)具有自己独立的过程控制装置。这些分立的控制装置通过现场总线进行通讯。例如,运动控制装置通知过程控制装置,机器人已驶向一个焊点,于是过程控制装置闭合焊钳并加载焊接电流。在该焊接过程完成后,过程控制装置将此报告给运动控制装置,然后运动控制装置开始下一个焊点。在此的缺点是,信息传输的时间发生变化。信息传输时间可以在由现场总线的传输持续时间预先给定的最小值和一个由控制装置、现场总线和另一个控制装置的周期时间`相加所得到的最大值之间波动。这种变化,也就是所谓的抖动(Jitter),会对机器人过程的重复准确性产生影响。

发明内容
本发明的目的在于,对机器人控制装置进行改进。该目的通过本发明的控制装置和控制方法得以实现。根据本发明的控制装置用于控制机器人或具有多个机器人的装置。为了能够更紧凑地说明,在考虑反馈的实际值的情况下,也将对控制参数的调整,即对控制参数的预先给定也一般性地称为控制。该控制装置具有多内核架构,这种多内核架构具有至少两个计算内核,特别是至少三个,优选为四个、六个或更多,优选具有双整数个计算内核。在一种优选的实施方式中,这种多内核架构通过在芯片上的具有多个计算内核的微处理器构成,在此,计算内核特别是理解为至少基本上完整的主处理器(“中央处理单元”,CPU),其具有自身的算术逻辑单元,自身的寄存器,自身的命令解码器和/或自身的浮点单元(“浮点运算单元”)。在本发明的意义下,多内核架构同样也可以由多线程处理器内核(“多线程CPU”)与多个程序计数器和寄存器组构成,这将起到多个内核的作用。在此也可以是这些的组合,例如,每核两线程的双核处理器(例如IBM Power5处理器),或每核四线程的八核处理器(如Sun UltraSPARCTl处理器)。根据本发明,这种多内核架构可以表现为至少一个,优选两个或多个虚拟机。在本发明的意义下,虚拟机特别是指优选由软件或编程技术实现的实例(Instanz)或计算环境(英语“computing enviroment”),其如同(优选为独立的)物理计算机一样起作用,因此在同一个物理计算机上可以有多个虚拟机同时运行。虚拟机特别是可以具有自身的操作系统和/或自身的运行时环境,或者其可以通过编程或在程序中实现。在这种虚拟机内特别是可以设置运行时环境,该运行时环境在其一侧起虚拟机的作用,如Java虚拟机或本发明人的 KUKA PLC ProConOs ο根据本发明,用于控制一个机器人或机器人装置(Roboteranordnung)的多个机器人的一个、多个或全部过程应用的过程控制由第一虚拟机实现,其具有多内核架构的一个或多个计算内核。在一种优选的实施方式中,用于控制该机器人或机器人装置的一个、多个或全部驱动器的运动控制由第二虚拟机实现,其具有多内核架构的一个或多个其他计算内核。因此,过程控制装置作为基于多内核架构的至少一个独立内核的虚拟机直接集成在机器人控制装置中,其中,运动控制装置作为多内核架构的另一个虚拟机实现。特别在一种优选的实施方式中,当这两个虚拟机同步时,可以有利地减少或避免在开始时所提到的抖动。附加地或替代地还可以减少硬件、结构空间、运行能量、废热和/或铺设电缆的费用,和/或共享资源,特别是例如输入和/或输出装置、存储装置、通讯网络、接口,等等。根据本发明,除了运动控制装置之外,附加地或替代地还可以将过程控制装置作为另一个虚拟
机实现,这使得能够实现共有的面向过程的机器人编程、共有的用户和/或权限管理、用于运动和过程控制的诊断和/或规程和/或对机器人运动和过程应用的安全监控的一体化实现,和/或提高可用性。特别是在一种优选的实施方式中,当两个虚拟机具有共有的存储器时,可以改进归档和/或在线质量监控,因为为此所需要的数据在一个地方并因此可以同时使用。因此,优选可以由机器人制造商提供具有定义的接口的容器,过程制造商可以将其过程控制装置以简单的方式集成在该容器中。这特别是可以简化对过程控制装置的修改。因此有利地降低了缓慢的或有错误的过程控制阻碍或破坏运动控制的风险。优选能够在不重新启动运动控制的情况下重新启动过程控制。优选可以通过不同的虚拟机实现不同的运行时环境或操作系统,例如 VxWorks(SMP)、Windows CE 或 VxWin、QNX、0n Time RT0S32或EUROS。相应地将用于任务、特别是过程控制的虚拟机理解为适于执行该任务的虚拟机,必要时,是在该虚拟机已经在容器中实现之后。特别是如果多内核架构具有另外一个计算内核,可以设置第三虚拟机,用于用户通信、数据处理和/或数据管理。在一种优选的实施方式中,在用于过程或运动控制的第一和/或第二虚拟机有利地具有实时操作系统(RTOS)时,在第三虚拟机中则不是实时操作系统(N-RTOS ),而是可以例如运行Windows操作系统。在此,特别是将用户通讯理解为例如借助于键盘或以图形为基础、特别是通过鼠标或触摸屏由用户执行的数据输入和/或特别是在屏幕上的数据输出,特别将数据管理理解为数据的排序和/或存储,将数据处理理解为数据的逻辑和/或算术运算。相应地可以将第三虚拟机特别是用于运动和/或过程控制的编程、执行和/或修改。在一种优选的实施方式中,每个计算内核都仅由一个虚拟机使用。在一种替代的实施方式中,两个或多个虚拟机可以一起访问一个或多个计算内核。在一种优选的扩展方案中,第二虚拟机具有两个计算内核,而第一虚拟机具有一个计算内核。在一种优选的实施方式中,至少两个、优选所有的计算内核是相同的,即,多内核架构是对称的,从而可以选择性地将这些虚拟机分配到不同的内核上。但是也可以是一种非对称多内核结构,其优点在于,可以使内核和虚拟机特定地彼此匹配。优选多内核架构的两个或多个,特别是所有虚拟机分别具有一个共有的存储器。每个共有的存储器(“共享存储器” SM)可以包括完整的多内核架构的物理存储器或仅包括其中的部分区域。这使得能够实现快速、可靠的数据交换。在此可以编程技术地预先设定共有存储器作为物理存储器的部分区域。在一种优选的扩展方案中,一个虚拟机可以访问其他两个虚拟机的共有存储器或其中的一部分。因此例如可以将绝对系统时间提供给所有的虚拟机。特别是为了防止数据损坏或干扰实时性,同样还可以设计为,并非所有的、特别是只有两个虚拟机可以访问共有存储器。在一种优选的实施方式中,运动控制装置可以将总线的映射(Abbilder)写入共有的存储器中,其中,运动控制装置通过该总线与驱动器和/或传感器通讯,由此可以有利地使过程控制装置只读地访问电机位置和/或关节位置或其他传感器(例如距离传感器)的值。过程控制装置可以在共有存储器中设置特定的标志,并因此将过程状态告知运动控制装置,并有利地发出处理其他运动步骤的指令。当然,一个或多个虚拟机可以通过特别是指针和/或自旋锁(Spin Lock)控制对共有存储器的访问。附加地或替代地,可以将虚拟的输入输出驱动程序(Ι/0-Treiber)的数据区域叠加到共有存储器中。附加或替代地,对于通过共有存储器的通讯,可以设置用于一个虚拟机与一个或多个其他的虚拟机进行通讯的总线。在此,特别将总线概括地理解为物理的或虚拟的网`络和/或网络协议,特别是现场总线,并优选是实时总线,例如特别是如以太网络通讯协议(EtherCAT)。虚拟机可以通过这种或其他的总线与机器人的驱动器进行通讯。附加地或替代地,虚拟机可以通过这种或其他的总线与过程应用外围设备、用于用户通讯的输入和/或输出装置、存储装置和/或接口进行通讯。也就是说,这同样涉及到不同的总线,或者可以通过相同的总线实现两个或多个通讯。因此,例如运动控制装置可以通过实时现场总线与机器人或机器人装置的驱动器通讯。在一种实施方式中,过程控制装置还可以通过该总线与其外围设备和运动控制装置进行通讯,从而使其直接获得驱动器的数据。同样,在运动控制装置和驱动器之间的通讯一方面可以通过过程控制装置和外围设备进行,另一方面也可以通过分离的现场总线进行,过程控制装置从共有存储器中提取驱动器的数据,运动控制装置和驱动器之间的现场总线的映射叠加在该共有存储器中。在一种优选的实施方式中,设置安全监控装置。在当前环境中,即特别优选在编程技术定义的多内核架构的管理机构中,该安全监控装置优选设置在虚拟机中。在此特别可以是第二虚拟机。在一种优选的实施方式中,如果第二虚拟机具有至少两个计算内核,则可以将第二虚拟机的不同内核设置用于运动控制装置和安全监控装置。同样,优选可以将冗余的、优选为多样化的安全监控装置分配到两个或多个内核和/或两个或多个虚拟机上。优选安全监控装置通过虚拟的输入输出驱动程序与过程控制装置进行通讯,所述虚拟的输入输出驱动程序的数据区域可以叠加在共有存储器中。在此将安全监控装置理解为,特别是通过对比机器人或机器人装置的实际值与允许的边界值的常用方式来监控工作空间和/或保护空间、入口等。在本发明的意义下,过程应用特别可以是一种分离应用(Trennapplikation),尤其是利用固定刀刃或不使用固定刀刃的切割,例如射水流切割或激光切割。概括地说,在此将分离理解为切削加工,特别是铣和/或锯。这种分离应用的外围设备相应地特别是包括具有驱动器并优选具有例如用于距离和位置测量的传感器的刀头或铣头。
附加地或替代地,过程应用可以是接合应用,特别是粘贴、焊接、上螺丝、铆接和/或插接。这种接合应用的外围设备相应地特别是包括具有驱动器并优选具有传感器的由机器人控制的施胶或铆钉枪或焊钳和由机器人控制的螺丝刀或夹钳等。附加地或替代地,过程应用可以是表面处理应用,特别是涂层,优选是涂漆,和/或抛光。相应地,这种表面处理应用的外围设备相应地特别是包括具有驱动器并优选具有传感器的由机器人控制的喷漆枪和由机器人控制的抛光片等。附加地或替代地,过程应用可以是运输应用,特别是抓取。在此概括地将抓取特别是理解为将组件可松脱地机械地,特别是形状配合和/或力配合地、气动和/或(电)磁力地固定在机器人上。这种运输应用的外围设备相应地特别是包括机械夹钳、(电)磁力夹钳和
/或真空夹钳。如上所述,在一种优选的实施方式中,使两个或多个虚拟机同步。由此,一个或多
个虚拟机可以收到其他虚拟机的同步中断请求。附加地或替代地,还可以通过绝对系统时钟来实现同步,待同步的虚拟机与其进行通讯。


本发明的其他优点和特征由实施例给出。在此,部分示意性地示出了图I :示出根据本发明的一种实施方式的机器人控制装置。其中,附图标记说明如下A机器人驱动器B虚拟总线Cl. . . C4 计算内核I/O 输入/输出装置(键盘、屏幕、手持设备)Ml... M3共有存储器P外围设备S物理存储器VI. . . V3 虚拟机。
具体实施例方式图I示出了具有(一起示出的)多个驱动器A的机器人的一种控制装置,该控制装置包括具有四个独立物理计算内核Cl. . . C4的多核架构和物理存储器S,如图中双箭头所示,计算内核Cl. . . C4通过存储器S以传统的方式交换数据。对驱动器A的运动控制在第二虚拟机V2中实现,在图I中以虚线示出的第二虚拟机V2包括计算内核C1、C2以及物理存储器S的一部分。在第二虚拟机的第一和第二计算内核Cl、C2上冗余地执行安全监控,并监控机器人及其过程应用,例如利用焊钳、喷漆枪或夹钳进行的焊接、涂漆或抓取,其执行器和传感器,例如电机、焊钳的电极和测力计、阀门、喷漆枪的压力和液位传感器或电动和/或电磁、液压和/或气动夹钳驱动器,在图I中一起作为过程应用的外围设备P示出。这种过程应用通过过程控制装置进行控制。过程控制在第一虚拟机Vl中实现,在图I中以点划线示出的第一虚拟机Vl包括第三计算内核C3以及一部分物理存储器S,这部分物理存储器部分地与隶属于第二虚拟机的那部分物理存储器相交。在图I中以阴影示出的截面区域构成了第一和第二虚拟机VI、V2的共有存储器Ml。这两个虚拟机VI、V2具有各自不同的实时运行时环境或操作系统。因此,过程制造商可以将其过程控制以简单的方式集成在控制装置中。通过第四计算内核C4实现了在图I中以双点划线示出的第三虚拟机V3,其具有非实时性Windows操作系统,特别是用于用户通讯以及数据管理,尤其是用户管理。第三虚拟机V3同样包括一部分物理存储器S,该部分物理存储器部分与隶属于第二虚拟机V2的那部分物理存储器相交,部分与隶属于第一虚拟机Vl的那部分物理存储器相交,并且部分与隶属于第一和第二虚拟机V1、V2的那部分物理存储器相交。该截面区域构成第二和第三虚拟机V2、V3的共有存储器M2 (在图I中以阴影示出),第一和第三虚拟机V1、V3的共有存储器M3 (在图I中以阴影示出),或所有三个虚拟机VI. . . V3的共有存储器Ml Π M2 η M3 (图I中的交叉阴影)。在图I中,虚拟总线B以阴影示出,用于过程控制的第一虚拟机Vl通过虚拟总线B`连接过程应用的外围设备P,用于运动控制的第二虚拟机V2通过虚拟总线B连接机器人的驱动器Α,第三虚拟机V3通过虚拟总线B连接输入和输出装置1/0,例如键盘、屏幕和/或手持操作设备,并且这三个虚拟机VI. . . V3通过虚拟总线B彼此之间进行通讯,即单向或双向数据交换。同样还可以设置独立的总线,用于在第一虚拟机Vl和外围设备P之间,第二虚拟机V2和驱动器A之间,第三虚拟机V3和输入和输出装置I/O之间,第一和第二虚拟机VI、V2之间,第一和第三虚拟机VI、V3之间和/或第二和第三虚拟机V2、V3之间的通讯。优选将一个或多个总线设计为EtherCAT总线。这三个虚拟机一方面通过一个或多个虚拟总线B通讯,另一方面通过共有存储器Ml. . .M3 通讯。例如,过程控制装置通过内部的多用户虚拟TCP/UDP/IP网络与用于用户通讯的Windows应用程序进行通讯。通过这种方式例如可以在屏幕和/或手持式设备上给出过程
控制表面(ProzesssteuemngsoberfUi.che)。附加地,VxWorks (SMP)可以通过路由并通过
具有运行时环境的第二虚拟机V2与用于过程控制的工程系统进行通讯。将共有存储器Ml作为用于运动控制的通讯接口。该存储器的每个功能都由运动控制制造商预先给出,过程控制可以在这上面进行读写访问。由于过程控制在自己的计算内核C3上开始,因此其可以不在运动控制或Windows应用程序中进行直接调用。相反,所有期望的功能(其应该在运动控制中触发动作)都必须映射到共有存储器中,并在运动控制一侧进行相应地编程。在功能实现之后,作为响应的运动控制可以返回一个状态或错误信息。建议不要主动在该位置上循环等待该响应,而是在过程控制的周期中等待该响应。为了与驱动器A包括其传感器,例如角编码器等进行通讯,过程控制装置控制以下机构可以将位于驱动器A和第二虚拟机V2之间的现场总线的周期性数据图像(Datenabbilder)叠加在位于共有存储器中的过程控制地址空间中。通过该共有存储器实现对存取数据图像的管理。在那里可以放弃用于锁定存取的指针和自旋锁。附加地或替代地,可以通过虚拟的TCP/UDP/IP网络B实现非周期性的通讯,例如,借助于CoE (“在EtherCAT 之上的 CAN 应用层”(CAN application layer over EtherCAT)) 为此,可以在EtherCAT中使用远程API。为了与运动控制装置和/或安全监控装置进行通讯,使用虚拟I/O驱动程序,其数据区域同样叠加在共有存储器中。同样通过用于锁定的指针和自旋锁进行管理。过程控制装置通过共有存储器还获得对运动控制装置的全球管理数据的访问,例
如全球EtherCAT系统时钟时间,并由此可以通过绝对系统时钟时间高精度地与运动控制装置同步。
权利要求
1.一种用于至少一个机器人的控制装置,其具有特别是对称的多内核架构,该多内核架构包括具有至少一个计算内核(C3)的第一虚拟机(VI),其中,所述第一虚拟机(Vl)用于控制机器人的至少一个过程应用(P)。
2.如权利要求I所述的控制装置,其特征在于,所述多内核架构包括具有至少一个其他计算内核(Cl,C2)的第二虚拟机(V2),其中,所述第二虚拟机(V2)用于控制机器人的至少一个驱动器(A)。
3.如权利要求I或2所述的控制装置,其特征在于,所述多内核架构包括具有至少一个其他计算内核(C4)的第三虚拟机(V3),用于用户通讯、数据处理和/或数据管理。
4.如前面任一项权利要求所述的控制装置,其特征在于,至少两个虚拟机(VI...V3)具有一个共有的存储器(Ml. . . M3)。
5.如前面任一项权利要求所述的控制装置,其特征在于,具有至少一条用于使一个虚拟机与至少一个其他虚拟机通讯的总线(B),至少一个机器人的至少一个驱动器(A),至少一个过程应用的至少一个外围设备(P),至少一个用于用户通讯的输入和/或输出装置(I/0),至少一个接口和/或至少一个存储装置。
6.如前面任一项权利要求所述的控制装置,其特征在于,具有安全监控装置。
7.如前面任一项权利要求所述的控制装置,其特征在于,过程应用包括分离应用,特别是切割应用;接合应用,特别是粘贴应用、焊接应用、上螺丝应用、铆接应用和/或插接应用;表面处理应用,特别是涂层应用,优选是涂漆应用和/或抛光应用;和/或运输应用,特别是抓取应用。
8.一种利用前面任一项权利要求所述的控制装置控制至少一个机器人的方法,其中,第一虚拟机(Vl)控制该机器人的至少一个过程应用(P)
9.如权利要求8所述的方法,其特征在于,第二虚拟机(V2)控制机器人的至少一个驱动器(A)。
10.如权利要求8或9所述的方法,其特征在于,虚拟机借助于共有的存储器(Ml. . .M3)和/或通过总线(B)与至少一个其他虚拟机、至少一个机器人的至少一个驱动器(A)、至少一个过程应用的至少一个外围设备(P)、至少一个用于用户通讯的输入和/或输出装置(I/O)和/或至少一个存储装置进行通讯。
11.如权利要求8到10中任一项所述的方法,其特征在于,两个虚拟机(VI,V2)同步。
12.如权利要求9到11中任一项所述的方法,其特征在于,共同地或分开地、特别是在不同的运行时环境中建立要由所述第二虚拟机(V2)处理的、用于控制机器人的至少一个驱动器(A)的程序,和要由所述第一虚拟机(Vl)处理的、用于控制该机器人的至少一个过程应用(P)的程序。
全文摘要
本发明涉及一种用于至少一个机器人的控制装置,其具有特别是对称的多内核架构,该多内核架构包括具有至少一个计算内核(C3)的第一虚拟机(V1),该第一虚拟机(V1)用于控制机器人的至少一个过程应用(P)。
文档编号G05B19/04GK102880064SQ20121024454
公开日2013年1月16日 申请日期2012年7月13日 优先权日2011年7月13日
发明者迈克尔·哈格, 海因里希·蒙茨, 德克·雅各布, 汉斯-彼得·克吕格尔 申请人:库卡罗伯特有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1