CN111386179B - 硬件模块、机器人***以及用于操作机器人***的方法 - Google Patents
硬件模块、机器人***以及用于操作机器人***的方法 Download PDFInfo
- Publication number
- CN111386179B CN111386179B CN201880070044.8A CN201880070044A CN111386179B CN 111386179 B CN111386179 B CN 111386179B CN 201880070044 A CN201880070044 A CN 201880070044A CN 111386179 B CN111386179 B CN 111386179B
- Authority
- CN
- China
- Prior art keywords
- hardware
- module
- modules
- hardware module
- hardware modules
- 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
Links
- 238000000034 method Methods 0.000 title claims description 158
- 238000004891 communication Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 16
- 238000013500 data storage Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 94
- 230000009471 action Effects 0.000 claims description 80
- 238000003860 storage Methods 0.000 claims description 78
- 238000004088 simulation Methods 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 description 125
- 238000012423 maintenance Methods 0.000 description 60
- 238000013439 planning Methods 0.000 description 56
- 238000012545 processing Methods 0.000 description 36
- 230000033001 locomotion Effects 0.000 description 35
- 238000013461 design Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 24
- 239000000872 buffer Substances 0.000 description 12
- 238000005457 optimization Methods 0.000 description 10
- 239000000047 product Substances 0.000 description 10
- 239000000463 material Substances 0.000 description 8
- 230000000704 physical effect Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000005094 computer simulation Methods 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 102100024013 Golgi SNAP receptor complex member 2 Human genes 0.000 description 5
- 101000904234 Homo sapiens Golgi SNAP receptor complex member 2 Proteins 0.000 description 5
- 238000005265 energy consumption Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000005553 drilling Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000003449 preventive effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005489 elastic deformation Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009257 reactivity Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/1617—Cellular, reconfigurable manipulator, e.g. cebot
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/08—Programme-controlled manipulators characterised by modular constructions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40302—Dynamically reconfigurable robot, adapt structure to tasks, cellular robot, cebot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40304—Modular structure
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- General Factory Administration (AREA)
Abstract
机器人***包括至少两个硬件模块(3),每个包括至少一个用于测量内部性质的传感器(38)、通信单元(37)、数据存储单元(36)和嵌入式控制器(35)。嵌入式控制器(35)被配置为收集所收集的数据,所述收集的数据包括‑代表硬件模块(3)的当前状态的状态数据;和‑代表硬件模块(3)的使用情况的操作数据。从传感器数据确定收集的数据的至少一部分,并且嵌入式控制器(35)被配置为存储或发送收集的数据。所述机器人***包括中央计算和命令单元(10),其被配置为接收所收集的数据;和通过控制至少两个硬件模块(3)的至少一个致动器(39)的操作来控制机器人***的操作。
Description
技术领域
本发明涉及生产***领域,尤其涉及包括机器人或操纵器的制造***。
背景技术
如今,在制造环境中,操纵器已分配给特定任务,并且在移动自由度、几何形状或执行其他类型任务的机械/物理能力方面可能不容易适应。由于成本压力,机器人或操纵器广泛用于生产中,并且公司希望在购买机器人时最大程度地提高其ROI。另一方面,机器人的普及产生了回收它们的问题,并且需要考虑环境问题。因此,强烈需要
1.延长机器人/操纵器的寿命。
2.使机器人/操纵器更可靠。
3.使它们在性能或动作方面更加灵活。
通常,已知有机器人/操纵器一起工作。但是,如果它们不是同一制造商,则会出现兼容性问题。
US 2004/0073468 A1公开了一种队列管理***,其用于管理旨在预防性维护机器的多个机器。该***包括一个数据库,其包含传感器收集的状态和操作数据,然后对其进行分析以建议对维护计划进行修改。
US 7143007 B2公开了一种监视设备的部件的生命周期的方法。部件的负荷曲线是一种估算部件的理论寿命的方法,而部件的实际寿命是通过考虑部件的操作信息来估算的。当消耗的理论使用寿命的数量在调整后的理论使用寿命的替换范围内时,计算调整后的理论使用寿命,并发出计划的更换需求信号。
US 8533018 B2公开了一种用于管理具有多个部件的建筑机器的***。它包括计划生成单元,用于生成维护计划;判断单元,用于根据部件的可用性数据来决定该计划;以及校正单元,用于在计划表由判断单元决定的情况下对其进行校正。
US 2014/0067108公开了用于在制造过程中动态控制任务分配的***和方法,该制造过程采用多个机器来制造所制造的部件。提供的解决方案包括任务分配到多个机器的可用部分。监视反映机器状态变化的过程变量,并能够动态地限定可用机器的一部分,并相应地重新分配任务。
US 8428777 B1公开了一种用于在机器人***之间分配任务的方法和***。它旨在优化任务的执行时间,并根据一组可用的机器人设备的排名在所述设备内提供任务的替代分区的潜在解决方案。该排名指定了一段时间内设备的使用量。
EP 1 287 868公开了一种机器人模块的集合,每个机器人模块具有存储能力、致动器、接头位置传感器、通信装置和处理单元。来自多个模块的多个处理单元被认为构成了分布式控制单元。
US 2014/273730显示了可以与相似元件交互并将它们保持在一起的元件。它包括用于检测元件何时被抓住的传感器。
发明内容
需要一种机器人***和相应的部件,其允许在机器人***及其部件的设计和/或构造和/或操作和/或再使用中提高灵活性。
因此,本发明的目的是提供一种机器人***、用于配置和操作机器人***的方法以及硬件模块,其允许在机器人***及其部件的设计和/或构造和/或操作和/或再使用中提高灵活性。
这些目的通过根据权利要求的机器人***、用于配置和操作机器人***的方法以及硬件模块来实现。
在本文件的上下文中,应理解,术语“机器人***”涵盖其中例如通过加工和组装来操纵和处理零件的生产***,尤其是制造***。这样的***包括用于处理零件的机器人或操纵器,并且可以包括专用的其他机器,例如机床、喷漆或焊接机等。因此,机器人***可以是单个操纵器,特别是模块化操纵器或机器人,或者生产单元,或者生产工厂,或者甚至是一组地理上分离的生产工厂。
在用于支持机器人***的设计和操作的方法中,该方法包括操作基于计算机的储存器,该储存器被配置为作为用于控制机器人***的操作的基于计算机的***的一部分或与其协同操作,该机器人***包括一个或多个执行任务的硬件模块,储存器包括多个硬件模块描述,每个硬件模块描述包括
-硬件模块的唯一标识符;
-硬件模块的物理特性的描述;
-硬件模块当前状态的描述;
-描述硬件模块使用情况的历史数据;
该方法包括以下步骤:
-收集代表硬件模块当前状态的状态数据,并相应地更新当前状态的描述;
-收集代表硬件模块使用情况的操作数据,并相应地更新历史数据;
和至少以下步骤之一:
-安排要在硬件模块上执行的维护操作;
-基于操作数据,导出或修改与一种类型的硬件模块相关联的历史数据,其中特别地所述历史数据包括在硬件模块中发生的关于错误或故障的信息。
硬件模块构成了智能可插拔模块。可插拔的模块意味着可以通过标准化接口在硬件级别和软件级别或通信级别上进行连接。智能的模块意味着它包括计算单元,其具有允许硬件模块执行例如数据处理的数据存储和数据处理元件,并具有用于与其他硬件模块通信的通信元件。可以借助于从控制计算机上的嵌入式控制器到基于云的处理单元的各种硬件实体来实现计算单元。
可以将硬件模块设计为将有关其内部状态、操作历史等的信息传输到储存器。
可以将硬件模块配置为接收软件更新和/或配置更新,以保持与其他硬件模块的兼容性。
可以将硬件模块配置为接收软件升级以添加新功能。这可以是用于传感器的数据处理软件,例如用于摄像机的图像分析软件,或者是用于操纵器模块的新的电动机控制算法。
硬件模块可以是
·操纵器模块。
·中央计算和命令单元(“CCC”)单元。
·具有自己的控制单元的机器人臂或操纵器子***,所述控制单元通常是与臂本身分开的控制计算机,其充当计算单元,以及接口单元(也称为“兼容单元”或转换器),其代表与其他硬件模块的标准化接口。该接口使操纵器子***出现在机器人***内,方式与出现模块化操纵器组件或***(见下文)的方式基本相同。这样,本身不是模块化的的第三方的机器人可以作为一个模块集成到整个机器人***中。
·传感器模块,其包括至少一个传感器和作为计算单元的嵌入式控制器,用于处理由传感器获取的原始传感器数据并与其他硬件模块通信,特别是用于将处理后的传感器数据传输到其他硬件模块。
·另一个设备,例如生产中使用的专用机器,可以与CCC进行接口并受到控制,并提供反馈,例如通过兼容单元。
包括用于例如旋转或平移运动的接头和致动器的硬件模块称为主动模块。具有固定几何形状或固定几何配置的硬件模块称为被动模块。传感器模块通常是被动模块。
硬件模块描述可以存储在硬件模块本身中和/或与其他硬件模块的硬件模块描述一起存储在数据库中,在给定硬件模块标识符的情况下,可以从中检索描述。唯一标识符可以是IP地址或MAC地址。数据库可以是集中式数据库或分布式数据库,特别是云数据库。
结果,储存器实现了一个库,该库记录了每个模块的历史及其规格等,从而可以计划和优化维护。此外,当发生故障或其他问题时,可以交换与相同类型的硬件模块有关的信息,以进一步优化维护并交换解决方案。
可以将储存器链接到ERP和/或维护计划***,以计划硬件模块的部署和/或维护。
术语“收集的数据”应用于包含状态数据和操作数据。存储后,收集的数据将成为历史数据的一部分。
在实施例中,储存器包括过程定义,其中每个过程定义与任务相关联,并指定一个或多个动作和/或子任务,它们在被执行时完成任务,并且对于每个动作,指定执行所述动作所需的硬件模块和/或软件模块。
这允许在储存器中表示过程知识,并将此信息提供给使用模块设计机器人***的方法和/或提供给计划机器人***操作的方法。
在实施例中,储存器包括机器人组件的描述,其中机器人组件是操纵器模块的配置,并且机器人组件的描述包括配置的描述。
配置的描述可以包括对硬件模块或硬件模块的类型、它们在其中组装的几何关系以及作为机器人组件一部分的任何软件模块的描述。通过这种方式,机器人组件可以链接到其模块的所有历史数据。这允许***不仅可以了解每个硬件模块的历史和硬件模块的类型并得出结论(例如用于计划维护),还可以了解每个配置的历史。例如,如果特定配置的机器人组件在同一硬件模块中反复出现故障,则这是该配置的性质,并且与具有相同配置的所有组件有关,例如用于预测性维护。
在实施例中,对硬件模块的物理特性的描述包括机械、电气和部件参数中的一个或多个,例如:
-几何尺寸;
-重量;
-致动器类型;
-致动器产生的力或扭矩;
-致动器的运动速度;
-传感器类型;
-传感器分辨率;
-传感器精度;
以及这些参数的公差范围。
物理特性通常由硬件模块及其部件的物理结构决定。它们可以随着时间保持不变,也可以改变。可以通过硬件模块本身中的传感器或通过硬件模块与其他硬件模块(可以是操纵器模块和/或传感器模块)的交互来检测改变,尤其是通过执行校准例程。对于每个参数,可以存储当前值,任选地还可以存储具有先前值的历史数据。这表示参数随时间的变化。
在实施例中,对硬件模块的当前状态的描述包括以下一项或多项:
-硬件模块的内部状态;
-硬件模块物理连接到的其他硬件模块的列表;
-这种连接的参数;
-硬件模块上当前安装的软件模块的列表;
-硬件模块的地理位置;
-硬件模块配置为与之通信或合作的其他硬件模块的列表;
-硬件模块配置为与之通信或与之关联的软件模块的列表。
当前状态代表状态数据,因此状态数据包括例如内部状态数据,硬件模块物理连接到的其他硬件模块等。内部状态可以是硬件模块内部的温度、作为硬件模块一部分的接头的位置,其在这种情况下可以是操纵器模块等。
与硬件模块关联的软件模块显然可以是在硬件模块上执行的软件,但它们也可以是“相关的”,因为它们处理由硬件模块获取的数据,例如,用于硬件摄像机的图像处理软件,或因为它们确定在硬件模块的操作中使用的数据,例如,计算校准参数的校准软件(从同一硬件模块确定的校准数据,或从其他硬件模块(尤其是传感器)获得的数据))。
在实施例中,表示硬件模块的使用的操作数据和历史数据包括以下一项或多项:
-总操作时间;
-操作数据的记录值;
-操作数据的统计值;
-执行的周期数;
-故障类型;
-故障统计;
-消除故障的时间和/或费用;
-故障导致的停机时间;
-如何消除特定故障;
-从其他历史数据得出的统计值和其他值;
-维护动作日志。
历史数据可以从操作数据中得出,并且数据可以包括有关硬件模块或硬件模块的部件何时操作以及操作多久的数据,以及在其操作中使用的参数。例如,操作数据可以说明何时打开设备(例如电动机),以什么功率运行以及何时关闭。操作数据可以包括物理性质的值,特别是机械或电气性质。机械性质可以是力、转矩、速度、行进路径等。电气性质可以是电流、电压、功率等。操作数据可以由嵌入式控制器确定-对于由嵌入式控制器本身控制的参数-或从至少一个传感器获得的传感器数据。
历史数据还可以包括由人部分或全部生成的条目,例如如何消除特定的故障或维护操作的日志,其具有维护操作的数量、日期、频率以及维护过程中采取的各个步骤。可以自动生成有关故障的信息。如果由于维修或维护而更换了硬件模块,则将其替换为具有不同标识的类似硬件模块,***将自动或手动将其记录下来。如果硬件模块已修复但仍在原位,则会记录在其历史记录中。
在实施例中,每个硬件模块监视并提供其关于可更换部件的寿命的特性,例如,提供给中央计算和命令单元(CCC)。它还维护并向CCC传达在预期下一个部件故障之前可以执行的剩余操作数。CCC会为每个硬件模块收集此信息,并且能够在故障发生之前计划维护,或计划更换相关硬件模块以限制停机时间。
CCC可以从储存器中获取有关预计何时发生部件故障的信息。可以通过分析相同类型的部件的历史数据来确定此类信息。
软件模块描述可以包括API(应用程序编程接口)的定义、软件模块可以与之交互的硬件模块的类型或标识符。这样的交互可以例如通过在硬件模块的处理器上执行的软件,或者通过在另一处理器上执行,但是生成输入到硬件模块的控制命令来进行。
在实施例中,硬件模块描述包括对硬件模块的通信接口的描述。
该描述允许与硬件模块建立通信。它可以包含可以访问硬件模块的地址。它可以包含定义如何访问硬件模块提供的功能的接口定义或API。
在实施例中,用于操作基于计算机的储存器的方法包括用于设计机器人***的步骤:
·向储存器提供多个硬件模块描述;
·为机器人***提供一套性能要求;
·根据它们的物理特征,自动确定一组硬件模块及其在机器人***中的物理配置,以使机器人***满足性能要求。
这允许设计和实现具有以下一项或多项特征的***:
·由于硬件模块的选择及其配置是自动确定的,因此可以立即开始生产,过程中可以有更多或更少的人工,并且初期投资较少。可以逐步构建机器人***以提高生产能力。
·机器人***的计划操作可以基于作为性能要求的部分的目标任务。这使***的操作更加灵活并可以解决故障。
·通过提供标准化接口允许第三方产品。因此,机器人***不限于先验可插拔模块。
·提供独立于特定供应商的计划和执行平台–允许为每个任务使用最佳或最合适的硬件,以适应任务的要求(准确性、速度、成本、……)。
硬件模块描述可以是以通用方式描述硬件模块的硬件模块类型描述,即具有对该类型的所有硬件模块均有效的描述。这允许使用此类类型进行设计,并在以后的阶段中选择具体的硬件模块。具体的硬件模块是(通用)硬件模块类型的实例。也就是说,具体的硬件模块具有其自己的唯一标识,并且可以将硬件模块描述与此标识相关联。
术语“具体”在本文中以“真实”的意义使用,以将模块与模块的抽象、通用描述区分开。这不仅适用于硬件模块,还适用于软件模块:“具体软件模块”是实例化的软件或软件对象,如在基于类别的面向对象的编程范例中一样,其中对象是指特定的类别实例,其中对象可以是变量、函数和数据结构的组合。
但是,一个或多个或所有硬件模块描述可以与具体的硬件模块有关。在设计机器人***时,考虑并选择这些具体的硬件模块,有时还相互比较。
在实施例中,硬件模块的集合可以是已经存在于满足性能要求所需的物理配置中的现有机器人或生产***。
这样,可以使用现有的设施,而不必构建专用的设施。因此,储存器还用作描述操作***的数据库,而不仅描述各个不相关的硬件模块。
为了满足不同的需求,硬件模块可以提供多种选择。这允许根据确切的需求(即性能要求)来优化机器人***。模块可以根据在大小(S,M,L)、机械强度、材料、内存大小等方面执行的动作而有所不同。
因此,可以使用例如具有高强度的长寿命硬件模块来建立特定任务的优化机器人,以完成一项任务,使用中等质量的模块完成其他要求较低的任务。总体而言,优化的机器人***可以以最低的价格提供足够的性能。
可以创建不同类别的模块:公差更严格的最准确的将为A类,公差范围最广的将分类为E。精度/公差范围将在A、B、C、D和E类之间进行标度。随着A类的顶级模块老化并偏离其初始公差范围,因此随着时间的推移可以重新获得B、C、D和E类的资格,并可以用于要求不高的应用。
可以使用具有不同特性的不同材料,例如机械稳定性、形状精度、重量、成本、耐化学性、密封性等。…
性能要求可以包括机器人***要达到的3D空间、机器人***要操纵的最大负载、负载移动的最大速度和精度等。
在实施例中,自动确定一组硬件模块的步骤包括以下另外的步骤:
·从性能要求中检索机器人***要执行的至少一项目标任务;
·从储存器中检索与目标任务匹配的过程定义;
·和基于过程定义,确定与该过程定义相关联的一组硬件模块和/或软件模块,并且能够通过执行由过程定义指定的操作来完成目标任务;
·或基于过程定义,确定对应于目标任务的目标子任务,并对于每一目标子任务递归地重复检索匹配的过程定义和确定相关联的硬件模块和/或软件模块或确定子任务的步骤。
这允许递归地分解目标任务并确定完成任务的动作。其基础是过程定义,其按它们的层次结构隐式定义了执行此类故障的多种不同方式。发生这种故障的具体方式取决于手头任务的参数。它还可能取决于在执行过程定义期间发生的事件,从而使执行适应事件。
通常,应使用以下术语:
·过程定义指定执行任务的动作。
·(目标)任务是设计或计划方法的输入。就制造产品而言,任务是***要完成的任务,并且在最高级别上,任务独立于用于完成任务的硬件。通过根据过程定义执行动作来实现或完成任务。
·可以根据子任务来例如通过定义任务的用户定义任务,从而已经执行了部分计划,和/或通过计划***将任务分解为子任务。
关于术语“任务”的注意事项:在机器人编程中,有时使用术语“任务级别”,而不是例如“运动命令级别”。在这里,我们使用术语“任务”主要表示***应该做什么,即要完成的目标。当然,通常在“任务级别”定义这种意义上的任务。
在实施例中,方法包括在确定了一组硬件模块之后的以下步骤:
·通过比较硬件模块与其他硬件模块的兼容性以及硬件模块与软件模块的兼容性,并生成硬件模块和软件模块的兼容组合列表,确定一组完善的硬件模块和软件模块。
这允许考虑硬件模块和软件模块之间的交互作用和依赖性。
在实施例中,方法包括以下步骤:
·确定一组兼容器,这些兼容器是硬件模块或软件模块,它们能够实现不直接兼容的所述一组完善的硬件模块和/或软件模块的兼容性。
在实施例中,方法包括以下步骤:在确定了一组硬件模块之后(有或没有完善步骤),确定具体的硬件模块的单独的子集,其中至少第一子集包括在第一地理位置可用的具体的硬件模块,以及至少第二子集包括在其他地理位置可用的其他具体的硬件模块。通常通过储存器中存储的关联硬件模块描述来描述此类其他硬件模块。
这允许将特定生产设施(或不止一个以上可容易访问的设施)上已经存在的硬件模块与需要从其他地理位置运输的硬件模块集成在一起。考虑到例如操作、运输、租赁或从不同组购买硬件模块的成本,可以优化两个子集的选择。该优化可以考虑计划使用它们的时间范围内的硬件模块的可用性。
在实施例中,方法包括以下步骤:在储存器中更新储存器中至少第二子集的具体硬件模块的当前状态,以反映以下事实:具体硬件模块作为已设计的机器人***的一部分进行安装和操作,并根据来自这些具体硬件模块的操作数据更新储存器中收集的历史数据。
这样可以连续更新储存器中的信息。这也可以对第一子集中的硬件模块执行此操作,以反映它们作为机器人***的一部分进行安装和操作的事实。一方面,这是为了使与各个硬件模块有关的数据保持最新状态,以便将其合并到将来的项目中。另一方面,可以汇总从几个相同类型的硬件模块收集的信息,并将其用于改进此类型的统计数据。这再次改善了该类型所有硬件模块的未来计划和维护计划。
在实施例中,一组硬件模块中的一个或多个预定为特定的硬件模块类型和/或特定的具体硬件模块。类型或单个模块的这种预选择可以由用户或设计***完成。
在实施例中,
根据其物理特性自动确定一组硬件模块的步骤;和/或
基于过程定义,确定一组硬件模块的步骤;和/或
确定一组完善的硬件模块的步骤,包括以下步骤:
·从储存器中检索与硬件模块类型关联的历史数据;
·根据此历史数据确定一组硬件模块。
这允许基于汇总信息(例如,从多个相同类型的硬件模块收集的统计数据)优化单个***的计划。
在实施例中,根据其物理特性自动确定一组硬件模块的步骤;和/或
确定具体硬件模块的单独子集的步骤,
包括以下步骤:
·从储存器中检索与具体硬件模块关联的历史数据;
·根据此历史数据确定一组硬件模块。
这允许基于历史信息来完善单个***的规划,该历史信息包括在每个单独的硬件模块的寿命期间收集的统计数据,该每个单独的硬件模块是被合并到***中的候选者。它还可以根据***要求优化特定***的硬件模块选择。例如,如果只需要较低的精度,则可以使用历史上已知的精度较低的相应硬件模块,从而降低了成本。或者,可以将数个硬件模块的预期寿命或直到下次维护的时间(可能取决于手头的任务)相互匹配,并与该任务相关的生产运行规模进行匹配。从供应商的角度来看,储存器是衡量它们的硬件在不同环境中的行为并真正了解其硬件的边界的唯一机会。它还可以基于历史数据确定需要改进的方面。可以安排预防性维护和更换,这考虑使用硬件的特定条件和配置。
在实施例中,
基于过程定义,确定与过程定义相关联的一组硬件模块和/或软件模块的步骤包括以下步骤:
·从过程定义检索需要由与该过程定义相关并且能够完成目标任务的硬件模块和/或软件模块满足的性能标准,其中性能标准的每一个与至少两个性能类别(较高的性能类别和较低的性能类别)之一相关联;
·选择满足较高性能类别和较低性能类别的性能标准的一组硬件模块和/或软件模块;
·如果此组为空,至少执行以下步骤之一:
о向用户表明这一点,并接受用户的输入以放宽较低性能类别的性能标准;
о自动放宽较低性能类别的一个或多个性能标准,直到该组不再为空。
换句话说,手动或自动放宽较低性能类别的性能标准,直到满足较高性能类别和较低性能类别的第二组硬件模块和/或软件模块不为空。
可以使用已知的数学优化方法来选择满足性能标准的一组硬件模块和/或软件模块。潜在的优化问题通常是多目标和多模式问题。其中优化(或输入)变量包括对硬件模块和/或软件模块及其参数的选择。性能标准可以规定不能跨越的固定界限,并可以最小化或最大化目标功能。
例如,可以通过以下步骤选择满足性能标准的一组硬件模块和/或软件模块4:
·首先选择满足较高性能类别的性能标准的第一组硬件模块和/或软件模块4;
·然后从第一组中选择满足较低性能类别的性能标准的第二组;
可以实施储存器,并提供设计机器人***的数据,无论是否将规划步骤纳入作为设计过程的一部分。如下所述,此类计划步骤可用于进一步帮助选择硬件模块:
一种用于操作机器人***的方法,其中所述机器人***包括给定的一组具体的硬件模块和软件模块,并且其中所述硬件模块在空间中(即,在机器人***内并且相对于机器人***的其他硬件模块)的位置是已知的,
包括通过以下计划所述机器人***的操作的步骤:
·维护所述机器人***的计算模型;
·输入目标任务,所述目标任务包括所述机器人***要生产的产品的进入状态和输出状态;
·检索指定完成所述任务的子任务的过程定义,其中每个子任务
о或者指定动作,该动作与能够完成子任务的所需硬件模块和/或软件模块相关联;
о或者通过指定进一步的子任务进行分解,所述进一步的子任务递归地分解为更多子任务,并最后分解为动作;
·确定与所需硬件模块和/或软件模块相匹配的所述机器人***的具体硬件模块和软件模块;
·使用所述具体硬件模块和软件模块执行动作,其中由于将任务递归地分解为子任务和动作而导致动作的相互依赖。
这实现了可以在不同情况中使用的计划方法:
·在实施例中,通过将储存器中存储的过程定义与目标任务进行匹配,从储存器中检索过程定义。这允许使用与储存器保持持续通信的计划***执行计划,使用该计划***中的信息并进行更新。
·在其他实施例中,过程定义由用户输入。可以在独立的***(例如CCC)中执行计划。
任务和子任务隐式定义一个图形,该图形表示动作的相互依赖性,尤其是动作可以并行执行还是必须顺序执行。通过递归地分解子任务并在进行处理产品时执行结果动作,可以明确确定该图形,或者可以遍历该图形而无需明确确定。
在实施例中,“确定硬件模块”涉及选择能够执行目标任务的不同生产单元之一。
在实施例中,该方法包括以下步骤:
·在使用所述具体硬件模块和软件模块执行动作时,通常通过感测确定产品的当前状态;
·执行计划机器人***的操作的步骤,从而使用产品的当前状态作为所述进入状态。
这允许连续且机会地使计划适应机器人***内产品的实际状态。***可以对意外事件做出灵活的反应。取决于动作进行多久以及是成功还是失败(是由机器还是人工完成),***可以根据当前状态调整其他动作和资源分配,尤其是硬件模块的。
在实施例中,该方法包括以下步骤:
·在对具体硬件模块和软件模块执行动作时,确定硬件模块的当前状态;
·考虑到硬件模块的当前状态,执行计划机器人***的操作的步骤,从而随着生产进行将硬件模块分配给动作,从而使分配灵活地适应不断发展的生产过程。
这允许连续且机会地使计划适应机器人***内硬件模块的实际内部状态。如果硬件模块变得不准确或如果显示需要维护的症状,则计划***可以例如将工作负载分配到其他硬件模块或其他资源(例如替代生产***、人工等),以保持准确性或延迟维护。
当前状态包括硬件模块在空间中的位置和姿势。这允许协调机器人的运动以避免碰撞。
硬件模块是机器人***的智能可插拔模块,并且包括至少一个用于测量硬件模块的内部性质的传感器、用于与其他硬件模块进行通信的通信单元、数据存储单元和嵌入式控制器,
嵌入式控制器被配置为收集收集的数据,所述收集的数据包括
-代表硬件模块的当前状态的状态数据;和
-代表硬件模块的使用情况的操作数据;
其中至少部分收集的数据是根据来自至少一个传感器的传感器数据确定的,
并执行以下至少一项:
·将收集的数据存储在数据存储单元上,以及
·通过通信单元发送收集的数据。
可以在不存储在数据存储单元中的情况下传输要传输的传感器数据,或者可以先将其存储在数据存储单元中,然后从存储中检索然后传输。
传感器测量的硬件模块的内部性质是,例如,硬件模块的接头的相对位置,或致动器的位置,或硬件模块内部的温度,硬件模块的零件的伸长率(例如通过应变仪测量),作用在硬件模块上的力和扭矩,在硬件模块操作期间发生的振动等。某些此类内部性质可以在硬件模块本身中用于控制硬件模块的操作,例如,使用接头位置测量来控制相应的接头致动器。内部性质可用于检测故障,需要维护的关键条件,或用于调整校准参数等。某些内部性质可被存储和/或传输,而嵌入式控制器不使用这些内部性质来操作硬件模块本身。
在实施例中,硬件模块是操纵器模块,其包括通过接头连接的两个机械连杆、用于设定接头的位置并由此设定连杆的相对位置的致动器。
机器人***包括至少两个硬件模块,每个硬件模块是可插拔模块,并且包括至少一个用于测量硬件模块的内部性质的传感器、用于与其他硬件模块进行通信的通信单元、数据存储单元和嵌入式控制器,
嵌入式控制器被配置为收集收集的数据,所述收集的数据包括
-代表硬件模块的当前状态的状态数据;和
-代表硬件模块的使用情况的操作数据;
其中至少部分收集的数据是根据来自至少一个传感器的传感器数据确定的,
并且所述嵌入式控制器被配置为执行以下至少一项:
·将收集的数据存储在数据存储单元上,以及
·通过通信单元发送收集的数据。
可选地,机器人***还包括中央计算和命令单元,其被配置为
·接收收集的数据;以及
·通过控制至少两个硬件模块中的至少一个致动器的操作,控制机器人***的操作。
在实施例中,至少一个硬件模块是操纵器模块,其包括通过接头连接的两个机械连杆、用于设定接头的位置并由此设定连杆的相对位置的致动器。
一种用于配置机器人***的方法,包括以下步骤:
·输入表征可用于机器人***中的可用的具体硬件模块的列表;
·输入过程定义以完成机器人***要完成的一个或多个目标任务;
·根据它们的物理特性,自动确定一组选定的硬件模块及其在机器人***中的物理配置,以使最终的机器人***能够通过执行过程定义所指定的动作来完成任务。
物理特性通常包括硬件模块的机械、电气和部件参数中的一个或多个。
可选地,该方法还包括以下步骤:
·模拟由最终的机器人***执行的过程定义所指定的动作;
·并将模拟结果显示给用户。
在这里和其他提到显示的场合,这可以借助于显示设备,通常是视频屏幕来完成。
在上文中,“可用于”可以表示硬件模块位于特定的工厂,或者它们为终端用户组织拥有并且受其控制。表征可用硬件模块的列表可以为空,这意味着必须进行按计划选择所有硬件模块,和/或将其运输到应实施所述***的位置。在实施例中,表征可用硬件模块的列表可以为每个可用硬件模块指定其标识。基于此,后续步骤可以使用每个硬件模块的单独特征。在实施例中,该列表仅指定每个可用硬件模块的类型。基于此,后续步骤可以使用每个硬件模块的特定于类型的特征。组装***后,每个硬件模块都可以从其内部存储器中提供其各自的特性。然后,这些单独的特征可以用于机器人***的操作。
过程定义可以是先前描述的那种。
这允许从一组现有的硬件模块,尤其是一组操纵器模块中重新配置模块,以形成机器人组件。通常,这是具有两个、三个、四个或更多个自由度的机器人或操纵器。该方法特别适合于配置本文所述的智能可插拔模块。
在实施例中,基于其物理特性自动确定一组选择的硬件模块的步骤包括以下步骤:
·检索与具体硬件模块关联的历史数据;
·根据此历史数据确定一组选定的硬件模块。
历史数据通常描述了硬件模块的使用情况;特别是从硬件模块收集的数据。
这允许基于历史信息来完善单个***的规划,该历史信息包括在每个单独的硬件模块的寿命期间收集的统计数据,该每个单独的硬件模块是被合并到***中的候选者。在智能可插拔模块的情况,可以从存储在这些模块本身中的收集数据中检索历史数据。
在实施例中,自动确定一组硬件模块的步骤包括以下步骤:
·从可用的具体硬件模块列表中确定可用的具体硬件模块是否可以执行由过程定义指定的动作;和
·如果不是这种情况,确定其他硬件模块,以使其他的和可用的硬件模块的组合组形成可以执行过程定义指定的动作的所述一组选定的硬件模块。
这允许***确定其他硬件模块,以补充已经可用的硬件模块,以完成目标任务。
在实施例中,确定其他硬件模块的步骤包括以下步骤:
·与储存器建立通信,所述储存器存储描述硬件模块的硬件模块描述,
·根据储存器中存储的硬件模块描述确定其他硬件模块。
这允许在计划单个***时根据历史信息来确定其他硬件模块,这些历史信息包括在每个单独的硬件模块的寿命中收集的统计数据,这些统计数据是要获取并合并到***中的候选者。
最后,可以获取以此方式确定的其他硬件模块并将其传输到机器人***的位置,并与内部模块进行物理集成。
在实施例中,确定其他硬件模块的步骤包括以下步骤:
·从储存器中检索与具体硬件模块关联的历史数据;
·根据此历史数据确定一组硬件模块。
在将两个或多个操纵器模块连接(“***”)在一起,从而形成模块化操纵器***,并将它们连接到CCC时,操纵器模块能够向CCC单元提供至少两种类型的信息,其中所述两种类型的信息包括:
·每个操纵器模块相对于所连接的其他(相邻)操纵器模块的位置和功能,从中可以确定整个模块化操纵器***的配置;
·每个操纵器模块的物理特性以及这些物理特性的公差。这样的物理特性可以包括重量、扭矩或力范围、速度范围、机械连接元件的几何参数、以及操纵器模块的接头位置或机械接口之间的几何关系,如由接头位置确定的。
中央计算和命令单元(CCC)通过经由硬件模块的通信单元发送运动命令来控制一个或多个硬件模块的一个或多个致动器的操作。为了确定运动命令,中央计算和命令单元可以使用来自硬件模块的传感器或来自传感器模块的反馈。
操纵器模块可以配置为从CCC接收运动命令,并将致动器驱动到由运动命令指定的接头位置。运动命令可以包括用于接头位置的设定点,或者包括多个接头位置的轨迹,每个轨迹要在特定的时间点到达,或者要跟踪的速度对位置的轨迹。
用于操作机器人***的方法包括通过以下计划所述机器人***的操作的步骤:
·维护所述机器人***的计算模型;
·输入机器人***的开始配置和目标配置;
·使用机器人***的计算模型执行基于模型的运动计划,以确定将机器人***从开始配置移动到目标配置的运动轨迹;
以及利用机器人***执行运动轨迹的步骤。
假定机器人***的开始配置和目标配置由最终用户或更高级别的计划***生成。
维护计算模型并执行基于模型的运动计划所需的计算可以在中央计算和命令单元上或在一个或多个其他数据处理单元(例如,基于云的处理单元)上进行。
中央计算和命令单元从操纵器模块接收定义机器人***或组件的配置的信息,并确定代表实际机器人***及其功能和机械特性的数学或计算模型。这些特性可以包括在动作范围(空间)、有效载荷(重量)、速度和加速度方面的***边界。
在实施例中,用于操作机器人***的方法包括以下步骤:通过以下步骤自动确定机器人***的计算模型:
·通过为机器人***的每个硬件模块确定以下,自动确定机器人***的物理配置:
о相关的硬件模块描述,其包括对硬件模块物理特性的描述;
о其与一个或多个相邻硬件模块的几何关系;
о一个或多个相邻硬件模块的标识。
可以从数据库中检索硬件模块描述,所述数据库即与硬件模块分离的储存器,或所述数据库存储在硬件模块本身中。
硬件模块与一个或多个相邻硬件模块的几何关系;可以根据硬件模块的接口之间的空间关系确定。连同每个硬件模块的接头位置一起,确定了由硬件模块形成的运动学链接的完整配置。
物理特性可以至少包括由硬件模块形成的运动学链接的参数,例如Denavit-Hartenberg参数。这些对于运动轨迹计划是足够的。物理特征还可以包括硬件模块的近似或精确3D人体模型。这些可以组合起来以形成机器人***的3D模型,该模型可以实现避免碰撞作为运动轨迹计划的一部分。
将操纵器模块***模块化机器人***可以为中央计算和命令单元(CCC)提供至少两种类型的信息,例如:
所述模块相对于所述组件的位置和功能;
·所述模块的物理特性及其对那些物理特性的公差,其中所述物理特性可以包括所述模块的重量、或速度范围、或力范围或长度范围;
·历史记录:维护、用法、执行的周期数;
·由模块本身传输到模块储存器的信息:活动的/更新的库。
在实施例中,用于操作机器人***的方法包括:为了自动确定硬件模块与一个或多个相邻硬件模块的几何关系,确定两个相邻硬件模块处于几个可能的相对空间位置中的哪一个的步骤,
·这是从嵌入在连接相邻硬件模块的至少一个接口中的传感器;或
·从用户输入。
在实施例中,为了自动确定一个或多个相邻硬件模块的标识,用于操作机器人***的方法包括以下步骤:
·布置传感器以观察硬件模块,确定一个或多个硬件模块的标识。
在实施例中,用于操作机器人***的方法包括一种或多种以下用于主动公差补偿的方法:
·测量硬件模块的物理特性,尤其是几何尺寸,并将其与硬件模块的标识关联存储。这可以在硬件模块本身和/或外部数据库中。在计划和/或执行涉及硬件模块的动作时,应考虑存储的测量特性。这允许产生相对较大的公差并主动补偿与参考值的偏差。
·测量操作条件,尤其是硬件模块上的温度,并在计划和/或执行动作时,采取一个或多个所存储的物理特性,考虑它们对操作条件的依赖性。这涉及模拟操作条件对物理特性(例如热膨胀)的影响。
·在执行动作时,记录将工具中心点(TCP)移动到必须的位置或使用传感器观察其位置所需的校正运动。这给出了有关TCP的预期位置和实际位置之间的差异的信息,并且可以从该差异中得出对操纵器参数的校正。
·在执行动作时,要考虑到由操纵器模块和有效负载(如果存在)的重量引起的操纵器模块的弹性变形,并移动操纵器以补偿这种变形。
用于执行上述方法之一的计算机程序产品可加载到数字计算机或计算机***的内部存储器中,并且包括计算机可执行指令,以使计算机或计算机***的一个或多个处理器执行该方法。在另一个实施例中,计算机程序产品包括其上记录有计算机可执行指令的计算机可读介质。所述计算机可读介质优选地是非暂时性的;即是有形的。在又一个实施例中,计算机程序被体现为可再现的计算机可读信号,并且因此可以以这种信号的形式被发送。
根据从属专利权利要求,其他实施例是显而易见的。方法权利要求的特征可以与设备权利要求的特征组合,反之亦然。
附图说明
下面将参考示意性示出的附图中示出的示例性实施例在下文中更详细地解释本发明的主题。
图1机器人***的元件;
图2操纵器模块;
图3处于不同接头位置的操纵器模块;
图4a、图4b在不同接头位置的其他操纵器模块;
图5硬件和软件模块及其描述;
图6机器人***或组件的物理结构;
图7机器人***或组件的接口结构;和
图8独立的或自治的***的结构。
原则上,图中相同的部分具有相同的附图标记。
具体实施方式
图1示意性地给出了机器人***的元件的概观,其包括硬件模块3和软件模块4,统称为“模块”。在现实世界中,硬件模块3被组合并配置为用作致动器和传感器。硬件模块3可以物理连接以形成操纵器,例如机器人臂。或硬件模块3可以是整个(非模块化)操纵器,或其他设备,例如数控机床,以及返回数字(开/关)值或模拟值的传感器,包括具有或不具有图像处理功能的摄像机。这样的硬件模块3可以被布置为在处理现实世界的对象中彼此协作。
对于遗留的非模块化设备,可以实现转换器3a,其带有关联的硬件模块描述5,其将遗留设备的功能打包并使其像其他硬件模块3一样出现在机器人***中。
硬件模块3可以是操纵器模块33,并且连接到基本硬件模块3b的一组连接的操纵器模块33形成机器人***或机器人组件3c。
软件模块4位于分布式处理环境中,该环境在不同级别的控制和计划中实现功能实体,例如用于闭环传感和控制、运动计划、避免碰撞、操纵器协调、生产计划、用户界面、校准、通讯等的实时控制器。
根据所述级别,这些功能实体将在分布式的数据处理单元上执行,这些数据处理单元在物理上的接近性和/或可接受的通信延迟方面靠近或远离硬件模块3实现。例如,在硬件模块3本身的处理器中或在与一个或多个硬件模块3紧密相关的处理器中执行对硬件模块3的闭环控制。生产单元的协调和计划可以在监控计算机上执行,整体生产的优化和计划可以通过基于云的处理单元执行。数据处理单元一起形成分布式处理环境91。
术语“模块”将用于指代硬件和软件模块。
软件模块4的(分布式)执行由基本操作***1控制和协调。
每个硬件模块3由硬件模块描述5表示,其以机器可读的形式指定硬件模块3的功能和接口。
每个软件模块4由软件模块描述6表示,其以机器可读形式指定软件模块4的功能和接口。
硬件模块描述5和软件模块描述6在分布式处理环境中保持在储存器2中。
现在将更详细地描述上述每个元件:
硬件模块
硬件模块3可以是例如操纵器模块33、基本硬件模块3b、中央计算和命令单元10或传感器模块3s,或者是通过兼容单元或转换器3a与受控设备连接的旧式设备。
操纵器模块33,除了具有计算单元作为其他类型的硬件模块3,还包括致动器(或马达)39,并且可以包括其自身的传感器38,例如用于通过或作用于操纵器模块产生的力和扭矩,并且可以通过通信单元37将传感器数据传递到其他硬件模块3。操纵器模块33的计算单元通常是嵌入式控制器35。操纵器模块可以由一个、两个或更多个物理连接或接口31、32连接至其他的操纵器模块,它们一起形成模块化操纵器***或组件。物理连接或接口31、32通常包括具有用于将操纵器模块连接至其他操纵器模块的机械连接元件的机械接口,以及具有用于通信和电力链路的电连接元件的电接口。操纵器模块33能够与这些其他操纵器模块通信,以确定它们的标识并且与它们以及可选地与CCC单元交换其标识和参数。通过致动致动器39,可以设置两个或更多个机械接口31、32之间的几何关系。为了简洁起见,可以根据操纵器模块的接头位置来描述这种关系。如果操纵器模块实现旋转接头,则接头位置由角度描述,并且机械接口之间的几何关系可由该角度以及接头与每个机械接口之间的几何关系确定。
图2示意性地示出了具有嵌入式控制器35的操纵器模块33,该嵌入式控制器被布置为控制致动器39,从一个或多个传感器38读取传感器数据,将数据存储到本地数据存储单元36以及从本地数据存储单元检索数据,并且通过通信单元37进行通信。
嵌入式控制器35的主要功能任务可以是:
·识别硬件模块的3个特征:几何形状、物理数据……
·通过中央计算和命令单元10确定模块在机器人组件内的相对或绝对位置;
·数据传输到中央计算和命令单元10;
·从中央计算和命令单元10接收、理解并转换为动作命令;
·驱动和调节一个或多个致动器39;
·在其自己的软件中添加新功能;
·升级其软件以保持与中央计算和命令单元10的软件的兼容性;
·读取、收集过程并存储来自传感器的解释数据;
·收集、列出、传达和存储数据,例如,用于建立历史数据以进行维护和校准
每个硬件模块3都知道其特性并能够描述自己。每个模块的特征在于至少两种类型的参数,其中
i)它在机器人组件中的位置,
ii)其功能(主动或被动),并且在主动功能的情况下,其确切功能为:接头、执行器、用于掌控的伸缩臂、胶粘……
iii)它的几何特性:重量、惯性、长度、直径、外部尺寸、通道尺寸,-机械特性取决于零件和材料的质量-
iv)其机械性能/阻力:速度、力、扭矩、运动尺寸、反应性…
v)其有关每个参数的公差,给出每个模块的操作窗口。每个智能可插拔模块都是唯一的,并具有自己的控制回路,
vi)它的历史:周期数。维护日期和动作,与传感器相关的历史数据…
vii)其校准数据
每个硬件模块3可以理解并实现来自中央计算和命令单元10的命令,并且可以将其变成动作。动作可以是运动,但可以是等待、睡眠、传输数据等。
传感器38由模块的嵌入式智能或嵌入式控制器35驱动。它们的功能可以是以下三种类型之一:
·定位:基于位置传感器的反馈来驱动致动器;
·***控制:支持动作的实现或指示该动作的结果;
·维护/可靠性:
о指示模块本身的老化情况;
о给出位于附近并被传感器观察到的其他硬件模块的指示;
传感器读数可以通过基于有线或无线的信道传输到嵌入式控制器35。传感器测量的性质的实例包括温度、湿度、加速度计、振动、声音信号等。
操纵器模块33包括两个机械连杆,第一连杆31a和第二连杆32a,这些连杆之间的相对位置可通过致动器39控制。第一连杆31a包括第一接口31,第二连杆32a包括第二接口32。每个接口31、32包括接口元件31b、32b作为机械和电气和通信连接元件。
在本实例中,接头34是旋转接头,并且第一接口31和第二接口32位于与旋转接头34的旋转轴线成基本上45°角的平面中。这允许将两个界面从它们彼此平行的位置(如图2所示)旋转到它们成直角的位置(如图3所示)。
图4a示出了在不同的接头位置处具有旋转接头的操纵器模块33。图4b示出了具有接头的操纵器模块33,该接头允许第二接口32相对于第一接口31平移和旋转。
图6示意性地示出了机器人***或组件的物理结构,其中操纵器模块33被连接以形成顺序结构,其从基础硬件模块3b开始。在未示出的其他实施例中,多于一个序列的操纵器模块33可以基于相同的基本硬件模块3b。在未示出的其他实施例中,操纵器模块33或硬件模块3通常具有两个以上的接口,因此树状结构可以与它们组装在一起。
图7示意性地示出了机器人***或组件的接口结构:电源线31p和通信线31c从中央计算和命令单元10开始依次穿过操纵器模块33运行。通信线31c可以是用于往返于中央计算和命令单元10的两个通信方向的物理上分开的线路,或者两个通信方向可以穿过相同的物理线路,例如通信总线。
中央计算和命令单元10(“CCC”)单元包括数据存储和处理元件,并且能够执行程序,例如软件模块4,用于在考虑信息的情况下控制和/或协调硬件模块3的移动,所述信息包括来自其他硬件模块3(尤其是来自传感器模块)的传感器数据。由此,中央计算和命令单元10控制硬件模块3,尤其是一个或多个机器人臂,以基于环境的状态执行动作。这可能涉及
-与其他机器人接口或交互;
-与远程命令交互;
-与人互动以进行教学、学习或协作。
此外,CCC单元可以与由CCC单元自身维护的数据库通信,和/或与在CCC单元外部的计算机中维护的数据库通信,例如在云中。在这样的数据库中,CCC或硬件模块3本身可以存储与硬件模块3及其操作相关联的数据,和/或从教导特定任务获得的信息。
最小的机器人***包括CCC和操纵器子***或一个或多个操纵器模块,它们一起形成模块化操纵器***。
在图1中,中央计算和命令单元10被绘制在单独的框中,但是其计算资源是分布式处理环境91的一部分。因此,中央计算和命令单元10可以实现BOS1和储存器2的功能的至少一部分。
使用中央计算和命令单元10对机器人***进行编程可以通过以下一种或多种方式完成:
·教学/编程模式,可以直接在用户界面中键入程序。
·点动模式。
·跟随模式:向操纵器显示通过手动移动操纵器来完成的动作。当操纵器移动时,操纵器模块33和CCC都记录要执行的动作。CCC编译并协调模块的动作。
·坐标模式:用户定义操纵器需要到达的位置的坐标。CCC计算最佳/优化路径以达到所需位置,并将相应的运动命令或轨迹传输到每个模块。
·程序编码。
使用中央计算和命令单元10操作机器人***可涉及以下一项或多项功能:
·执行编程的动作/执行程序。
·基于传感器数据控制操纵器模块33。
·监督控制:防止碰撞(使用传感器)并保持操作安全。
·存储过程数据:实现质量控制和活动的智能(重新)计划。
动作请求可以通过用户界面直接来自最终用户,或通过更高级别实体的操作***来自其他机器人、机器或实体,例如一组协作机器人、制造单元、工厂等等。
可以通过在数学模型的基础上迭代规划和模拟动作进行动作的执行,从而确定每个模块要执行的步骤或动作的顺序。
然后,将这些步骤或移动的命令传送到模块的控制器。每个控制器仅读取定向到他的动作,而不考虑与其他模块相关的动作。每个操纵器模块33以CCC给出的顺序执行所请求的动作,可以使它们适应来自其自己的传感器38或来自其他硬件模块3的传感器反馈,并且将反馈提供给CCC。
软件模块
可以通过《基本操作***》1(BOS)集成软件模块,该软件在硬件模块3、其他软件模块4和数据存储方式(例如包含软件的库、包含硬件的库)之间实现接口。基本操作***BOS1包括基本功能,该基本功能至少使得能够操作执行一组基本操作的独立机器人。BOS1充当软件模块4之间的接口,其中一些模块与硬件模块3通信并控制硬件模块3,从而可以控制由硬件模块3构建的机器人***。
例如,当软件模块4在不需要特定硬件的情况下完成数据处理时,可以独立于硬件模块3而存在。
例如,当软件模块4提供的功能的执行涉及特定硬件模块3的使用时,软件模块4可以与硬件模块3相关联地存在。
图5示意性地显示了硬件模块3、软件模块4及其相关的硬件模块描述5和软件模块描述6。
每个硬件模块3由硬件模块描述5表示,其以机器可读的形式指定硬件模块3的功能和接口。
硬件模块描述5可以包括
·硬件ID 51:硬件模块3的唯一标识符;
·硬件参数52:描述硬件模块3不变的性质的参数,例如,机器人臂的标称长度和重量、固定装置的尺寸。硬件参数52可以包括3D几何模型,从而允许在计划机器人运动时计划避免碰撞。
·硬件位置53:通常在通用生产单元中的硬件模块3的位置和方向;
·硬件状态54:描述硬件模块3的内部状态的参数,例如,致动器的当前位置;
·校准数据55:通常,硬件的性质变化缓慢并且不时测量,例如与标称硬件参数52的偏差;
·历史记录56:例如,执行的操作数,这些操作的参数,成功和失败的操作数,相关的错误消息等。
每个软件模块4由软件模块描述6表示,其以机器可读形式指定软件模块4的功能和接口。
软件模块描述6可以包括
·模块ID 61:软件模块4的唯一标识;
·模块方法62:由软件模块4实现的一种或多种方法;
·模块状态63:软件模块4的内部状态;
·模块资源64:软件模块4所需的资源。这可以是软件模块4配置为控制的硬件模块3。这也可以是软件模块4自身运行所需的计算资源。
硬件模块描述5和软件模块描述6在分布式处理环境中保持在储存器2中。
BOS的操作
当硬件模块3连接到***时,特别是当操纵器模块33连接到机器人***时,例如通过直接或通过其他硬件模块3连接到的中央计算和命令单元10来检测其存在。
BOS接收硬件模块3提供的关于其自身的信息,例如操纵器模块的物理特性,以及它们在模块化操纵器***中的位置和功能。BOS根据此信息创建虚拟基础架构,即模块化操纵器***及其功能和机械可能性的虚拟表示形式,以及其他基础架构,例如其他操纵器、硬件、生产线……,如相关联的硬件模块3表示的。BOS可以在虚拟表示中模拟CCC所需的动作,然后
-如果可能,通过CCC实施必要的动作;
-表示无法采取必要的动作。
该虚拟表示也可以在销售支持的配置工具中使用。
更详细地,为执行所需的操作或命令,执行***:
-首先在虚拟基础架构中生成模拟以:
о识别实际基础架构的功能:参考
о防止碰撞。这可以基于主动和被动模块的几何信息以及进一步的基础结构,和/或使用摄像机图像和进一步的传感器来完成,并且可以涉及针对所有主动模块的动态路径规划。
о根据预定义的标准进行优化。这可以通过迭代或并行模拟和评估命令或动作的多种不同实现方式来完成。
о重新分配工作负载。这可以通过确定时间紧迫的过程、任务或子任务并更好地分配工作负载或提出其他硬件和/或软件模块来完成。
о检查新应用程序的优缺点
-将命令发送到执行部分,执行部分将命令分发到实际基础结构的每个部分。
模块储存器
储存器2用作注册与硬件模块3和软件模块4有关的信息的库,尤其是硬件模块描述5和软件模块描述6。储存器2与基本操作***1交换信息。这样,基本操作***1可以检索有关模块的物理特性、当前状态和历史数据的信息,还可以检索有关硬件模块3和软件模块4之间的兼容性的信息。将模块的历史记录存储在储存器2中可以提供有关模块状态和历史记录的信息。如果模块未运行,则状态可以包括模块在硬件仓库中的位置。
有关模块的信息可以由模块本身生成,并直接和/或通过BOS传输到储存器2。为此,使用信息的标准化结构和用于发送信息的协议。对于不是由已知硬件模块3组成并且不提供这种标准化接口的第三方设备,添加了接口单元或兼容单元,其配置为在一方面提供设备的标识以及标准化信息和通信装置,另一方面,用于从第三方设备检索信息的装置。
在一个实施例中,监视储存器2以便检测对软件模块4(以及硬件模块3)的更新。如果检测到更新,或者检测到有望以更好的方式执行特定操作的功能(可能在另一个区域存在缺陷),则可以将该信息传输到硬件模块3或可以利用此功能的整个安装中操作。可以基于其描述来确定操作的相似性。启发式学习方法,例如使用神经网络。
计划任务
本节提供了用于计划在具体的制造***中执行任务的实例,该***可以是机器人***或生产单元。该实例可以适应通用生产单元中的任务计划,在该生产单元中模拟了硬件设备。该实例还可以用于重新计划,其中计划从生产单元的某个中间状态(无论是具体状态还是模拟状态)开始,在该状态中已经进行了一些生产步骤,而不是没有任何生产步骤的初始状态已经发生。
前提条件是必须根据以下条件设计和定义生产单元:
-具体的硬件设备,即存在的硬件模块
-具体的软件模块
-硬件设备的空间位置
-要执行的一项或多项任务
-等等…
BOS连接到储存器以及具体的硬件。在设计阶段选择的特定软件模块已安装在硬件设备或BOS上。BOS知道可用的HW设备、它们的实时状态以及可用的软件模块。
储存器使BOS可以访问硬件模块描述5,例如硬件规格、与硬件有关的历史数据、过程定义和一般级别的软件。可以包含下表中的信息:
例如,储存器不具有有关每个特定的具体任务定义的信息,而具有抽象级别上的任务类型的信息。因此,公司可以提供抽象的任务专有技术,而无需公开特殊的过程专有技术。这允许保护机密的过程数据免受第三方的攻击。
计划任务从定义任务的进入状态E和输出状态O开始。通常,这些描述了要制造的产品的情况或状态。替代地或附加地,它们还可以描述制造***的情况或状态。
然后,可以将任务映射到一组动作,也可以将其拆分为子任务,然后将其映射到动作,或者将其递归地分解为其他子任务。这可以由人或由BOS完成。子任务也由输入和输出状态定义。
选择生产单元(在有多个生产单元的情况下)并将任务拆分为子任务
为此,BOS1维护可用生产单元以及该单元内可用的设备(即硬件模块3)的计算机表示。它查询储存器以将要实施的任务与存储的任务定义进行比较。然后,它可以找到一些相似的任务及其过程定义,以及完成任务所需的设备或硬件模块3的列表。相似任务可以是具有相同结构但在不同条件和环境下的任务。例如,拾取和放置物体或钻孔。拾取和放置计算机屏幕与拾取和放置钢球相似但不相同。然后,BOS可以将此列表与生产单元中可用的具体设备进行比较。然后,它可以确定最符合“必须具备”所需设备的列表的生产单元。如有必要,它可以生成所需但不可用的硬件模块3的列表。
然后,BOS将任务分为子任务。这些子任务可以使用生产单元中的可用设备来实现,并能够实现任务的输出O。如有必要,BOS1可以生成有关其他不可用设备的建议。
每个子任务由输入状态和输出状态定义。这些状态以可见或可测量的特征描述了待处理零件的状态,例如:
-零件形状
-重量
-颜色
-3D空间中零件的姿势(位置和方向)
-已测量零件的特征
-等等…
输入状态和输出状态通常不同。通常,只能为每个任务指定此类特征及其更改的子集。其他特征不受任务影响或不感兴趣。
用于接触或非接触测量的传感器,特别是视觉***,能够检测或测量输入和输出之间状态的变化。传感器连接到BOS,并且能够将数据传输到BOS。BOS可以在测量状态和根据过程定义的状态之间进行比较,以了解零件处于过程的哪个阶段。可以检查状态,查看过程定义的执行是否按照计划进行。如果零件意外进入生产单元(即不在BOS1的控制下)或动作失败后,也可以重新计划执行。
下表提供了过程定义的实例。其中,输入和输出状态(例如x、y、z)表示一个或多个特征具有某些值。在关于计划的后续部分中给出了更具体的实例。
过程定义的实例:
任务A | 输入E | 输出O | 相关HW |
子任务A1 | E | x | |
子任务A2 | x | y | |
子任务A3 | y | z | |
子任务A4 | z | O |
由于A4的输入状态是A3的输出状态,因此必须在A4之前执行A3。子任务中的一个或多个可以是动作,即不被分解为其他子任务。
在以下实例中,过程定义包括可以独立执行的子任务B1和B2:
任务B | 输入E | 输出O | 相关HW |
子任务B1 | E | x | |
子任务B2 | y | z | |
子任务B3 | x+z | w | |
子任务B4 | w | O |
B3的进入状态要求执行B1和B2。但是B1和B2的进入状态无关,因此B1和B2可以以任何顺序或同时执行。
在以下实例中,过程定义包括可以交换的子任务C1和C2:
例如,表条目表示子任务C1可以将状态从E更改为x1,或者可以将状态从y1更改为x2(但不能从E更改为x2或从y1更改为x1)。因此,为了从输入状态E到输出状态O,有两条路径:
1.执行C1从状态E到x1,执行C2从x1到y2,执行C3从y2到状态O。
计划
在执行用于完成一个或多个任务的动作时,BOS实时地了解每个硬件模块3或生产单元中的资源的占用情况。它还知道正在处理的零件的状态。这可以通过传感器连续或频繁地观察生产单元和零件来实现。它允许根据正在执行的动作的结果来调整计划或重新计划。这样做时,不必计划任务定义所指定的所有将来的动作,以及将其递归化为子任务和最终动作的计划。实施计划过程的另一种方法是确定子任务和最终动作的相互依存关系,并根据任务定义机会性地执行可以执行的任何动作,并且可以使用哪些资源,尤其是用于执行动作的硬件模块3。
这可以通过以下方式完成:一旦BOS发现
·满足子任务的输入状态
·提供执行可用的子任务所需的资源或设备,其可以是硬件模块3或一组硬件模块3
然后可以向设备下达命令以处理零件。
例如,对于上面通用术语概述的任务C,示例性的具体状态为:
借助配备了用于颜色检测的应用程序和用于称量的天平的摄像机,生产单元可以检测状态。摄像机和天平是作为传感器模块的硬件模块3的示例。
实施用于执行任务的动作时,没有在时间范围内计划任何顺序或动作。一旦BOS从生产单元的每个硬件模块3和软件模块4接收并处理了状态信息,就可以立即完成计划。动作的顺序和/或并行执行由每个子任务的输入和输出状态隐式定义。
用协作机器人进行计划
在某些任务定义中,需求可以指定需要两个机器人,或者一个人和一个机器人。然后,BOS将选择足够的硬件模块3与其他硬件模块3或一个人协作执行任务。
BOS确定每个硬件模块3要完成的动作及其相互依赖性,例如作为顺序和/或通过并行执行。视觉***可以将与机器人实时执行任务有关的信息传输到BOS,这样一旦上一个命令完成,BOS就可以使下一个命令执行。
任务定义示例:在一块金属上钻一个直径为1.2毫米的孔。
机器人R1配备有夹具,机器人R2配备了钻孔工具。BOS将向操纵器R2请求状态。机器人R2尚未配备正确类型的用于在一块金属上钻一个1.2mm的孔的钻头。由于储存器信息,BOS可以确定所需的正确钻头。BOS从储存器中得知,生产单元已经在其缓冲区或存储区域中存储了正确类型的钻头。借助视觉***软件辅助的摄像头,可确定钻头在存储区域内的确切位置。机器人R1收到来自BOS的命令,将机器人R2的钻头替换为操作所需的钻头。将此任务分割为子任务:
1.从机器人R2上卸下当前的钻头
2.将当前的钻头带到缓冲区
3.在缓冲区中拾取正确的钻头
4.携带并安装到机器人R2
或者,BOS可以警告工人并指示他更换钻头。在实施过程中及之后,为了验证结果,视觉***会将有关对象位置和方向的信息提供给BOS。一旦机器人准备就绪,BOS将命令机器人R1拾取金属件并将其在指定方向放置在指定位置,并将其固定。然后,一旦完成此子任务,即对象位于正确的位置,则BOS验证是否满足了所有可能进行“钻孔”动作的“必须”条件,BOS将命令机器人R2在预定位置对零件钻孔。
在与人员合作的情况下,机器人可以是满足人机协作要求的兼容机器人,例如ISO/TS15066规范《机器人与机器人设备-协作机器人》。
设计
以下部分给出了根据特定目标任务设计生产单元的示例。这种设计方法论的目的不是生成用于执行此任务的完美生产单元,而是一种允许开始生产零件的方法。
如前所述,BOS已连接到储存器2。储存器2包括供应商的规格、一般历史数据和(抽象的)过程定义。为了设计一个用于执行给定目标任务的***(该任务可以包括被视为子任务的几个独立任务),该任务是性能要求的一部分,并且确定硬件模块3及其配置,以使机器人***满足性能要求。下面给出该过程的一个例子,首先是一般性的,然后是具体情况。
任务定义可以定义需要执行的内容、次数、质量等级和准确性。可以根据结果和/或根据动作定义需要执行的操作。可以通过各种已知的编程范例之一或其组合来指定任务定义:计算机模型的GUI操纵、具有具体操纵器的教学模式、参数化的运动命令、通过演示学习等。……基于人操作员输入、来自CAD文件、来自视觉***、来自力和其他传感器等的数据。
BOS使用适当的软件将对运动、轨迹、方向等的观察结果转换为要由一个或多个硬件模块3执行的动作。人操作员可以根据性能标准增加所需的公差、零件数量、其重量以及所有特定要求。
给定目标任务,BOS可以在储存器2中找到可比较的任务并将其分为子任务。为此,BOS将目标任务定义与储存器中存储的抽象过程定义列表进行比较。然后可以实现以下算法:
1.检索任务的可比较或匹配的过程定义
2.根据过程定义将任务划分为子任务,或者将过程定义与现有生产单元描述(来自储存器2)匹配,即与可以完成目标任务的现有生产单元进行匹配。然后,可以认为该设计已完成,除非需要其他设计,例如,寻找最佳设计。
3.对于每个子任务,在储存器中检索执行它所需的硬件类型的列表、关联软件的列表、独立相关软件的列表以及硬件模块3和软件模块4的组合列表。
4.将列表与目标任务的特定要求(例如性能标准)进行比较,确定可能的硬件和软件的列表。
5.完善对硬件、相关联的软件、相关软件以及可能的组合的选择。
6.执行生产单元的最终选择:将列表与生产单元或工厂的现有资产进行比较,即与“内部”资产进行比较。如果现有资产符合要求,并且其下一个计划维护与要生产的批次大小之间没有冲突,则优先选择它们。
对于尚不在“内部”的所需资产,BOS可以由于储存器2,根据预定义的或用户定义的标准建议设备,尤其是硬件模块3的列表,所述标准例如价格、能耗、包括维护成本在内的整体价格、设备租金等……(其中标准可具有不同的权重)。BOS可能需要在储存器中以第一级别搜索所需的设备类型。在第二级别,它可以搜索可以组装以构建一件设备的部件类型。在存在可以组装的可插拔模块的情况下,或者在将执行器和机器人组合在一起的情况下,或者在需要特定耗材供应的机器的情况下,这可以是这样。
7.输出生产单元的映射或物理配置,和任选地还输出所需的硬件模块3和软件模块4的订单。
8.一旦建立了新的生产单元,就更新储存器2以反映所涉及的硬件模块3的新状态,并将操作数据从硬件模块3和软件模块4传输和收集到储存器2。
如果储存器2中存在两个或两个以上符合要求的过程定义,则BOS可以模拟两种情况,并根据预定义或用户定义的标准选择最佳方案。
这样的预定义或用户定义的标准可以是:最低的投资,最快的生产单元设置,尽可能多地重用生产单元或工厂的现有资产。
BOS可以订购已经在内部运输到生产单元位置的资产。遥控手推车可以接它们,或者人工人,或者如果是移动的,设备也可以自行运输。
储存器2可以包含两个级别的信息:
-描述不同品牌的硬件类型,以及供应商给出的规格和公差。
-描述公司、客户或生产现场的储存器中的各个具体硬件模块3。这可以包括与硬件模块3的ID相关联的每个硬件模块3的历史数据。
BOS可以包含
-描述生产单元的配置的信息。
一旦实施了设计(例如作为生产单元),生产就可以开始并增长。它最初可能运行不理想,需要进行调整或重新设计。该过程是反复进行的:设计一旦设置,就不一定要固定:BOS仍然可以使用不同或新可用的硬件模块3和/或软件模块4访问储存器2并搜索新的最佳选择。
关于上面显示的步骤1,以下内容描述了过程定义及其与产品设计的关系:
过程定义的两个级别可以共存:
-过程宏定义:例如,“两零件的组装”
-过程微定义:例如,“通过螺钉组装两个零件”。
有了过程宏定义以及对任务输出特征或状态以及性能标准的了解,BOS便可以访问储存器,这意味着BOS:
-拥有与过程宏定义相关的过程微定义的集合,
-可以选择过程微定义以实现任务输出,
-生成与任务输出匹配的多个过程微定义的列表。
在“两零件的组装”的示例中,***可以传递以下信息:
通过分析和比较性能标准,***能够给出过程微定义的列表:
-通过螺丝组装两个零件
-通过焊接组装两个零件
-通过胶粘组装两个零件
它可以根据储存器的历史数据和一些计算结果,提出最简单的方法或可以尽快实施的方法。
可以向操作员提供过程微定义的选择,或者***可以通过组合和权衡用户定义的标准来选择最合适的过程微定义:设置安装的时间和单位成本可以权重为2,其他条件的权重为1。***可以输出一组不同的过程定义,用户可以从中选择。
实施例1
设计生产单元,其任务是:通过螺丝组装两个零件。工厂或生产单元已经存在,并且包含一些资产,例如操纵器、摄像机、处理台(工作区,可选地带有固定装置)等。
1.过程定义
在此实施例中,过程定义由以下方式确定:
-教学模式:一个人通过视觉***显示需要执行的任务。
-通过提供精确测量值以及组装状态下零件的相对方向的CAD文件可以增强此功能。
-人操作员还向***输入一些性能标准,例如重复次数、零件重量、零件材料等。
-ERP***可以提供有关零件、订单、批量大小等的更多信息。
由于不同的方式收集了参数,例如:
-零件重量(操作员提供的信息)。
-环境(教学模式/视觉模式或操作员提供的信息):干净/白色的房间。
-覆盖距离(教学模式/视觉模式给出的信息):最大1.5m。
-零件的形状(CAD提供的信息)。
-操作零件时,操纵器接头上的扭矩(根据安装的重量和速度计算(教学模式提供的信息)。
-…
参考点可用于进行设置的计算。在我们的实施例中,该参考点是指处理台n°1的位置。相对于该参考点定义了生产单元内的位置。如果操作员未给出参考点,则***会自动选择处理台n°1,并将参考点放置在生产单元的中心。
过程定义
一些参数可以预先编程:
-预防性维护事件的数量应尽可能少。在5次以上的预防性维护事件中,生产单元不考虑单独使用硬件模块3或与软件模块4组合使用。
-硬件成本和带软件的硬件成本:BOS确定最终的单位生产成本,包括摊销成本。
-在搜索设计时,可以首先约束BOS以查看设计的有限特征集,这些特征可以实现所需的性能并匹配性能标准,或者从标准化解决方案开始,然后转向专用解决方案。
-BOS可以执行搜索,例如,直到它具有所需的建议数量(例如5个)或直到优化总成本为止。
-BOS可以搜索以最小化在生产单元内部或整个生产单元中执行任务所需的空间。
-当人类工人以高于20%的速度执行子任务时,必须探索只有人类工人的选项。
储存器提供了例如用于人类协作工作的标准和法规,因此BOS在计算时考虑了限制。此类法规可以规定,例如,人类工人要承担的最大负载、在进行某些操作时对保护装置的需求、机器人操纵器的安全性等。
零件:下表显示了储存器2中代表的零件的特性或特征:
为了确定匹配的过程定义,在此阶段,仅可以考虑运动和动作来设置可能的硬件和软件的初始列表。BOS在储存器中搜索相应的过程定义,例如:“零件是螺纹的时拧紧两个零件”。
可以根据储存器中的信息对过程定义进行如下细化:
默认情况下,由于开始生产的时间已设置为应最小化的参数,因此BOS可以在拧紧范围内选择方法B。
2.将任务划分为子任务
与现有生产单元匹配
作为第一个选择,BOS可以首先比较储存器中描述的现有生产单元并执行相同任务的过程定义。如果存在这种匹配,BOS可以:
-推导子任务
-选择在单位效率价格、最少停机时间、目标生产开始时间方面表现最佳的生产单元。
-在效率最高的生产单元中,建立所需硬件和软件类型以及可能组合的第一列表。
第二种选择是,如果没有匹配,则BOS会根据储存器2中找到的过程定义将任务分为子任务。
/>
-子任务1、2和3可以独立或同时执行。
-子任务4可以直接在子任务1之后、子任务2之后或子任务3之后完成。
-子任务5需要在子任务4之后执行,但可以在子任务3之前执行。
-实施过程定义的动作时,任务的实际顺序是在计划过程中确定的,通常以机会性方式。
3.确定硬件模块3和软件模块4的类型
如果在储存器中找到可用的现有生产单元,则可以跳过此步骤。
对于每个子任务,从储存器2中检索相关的硬件模块3和软件模块4类型的列表:
取决于关联的硬件模块3,列出的软件模块4(SW 1、2、…)通常是驱动程序、控制算法、信号处理、视频处理等。
在此阶段,BOS将确定生产单元中所需的最少部件数:
-2个处理台
-至少2个执行器
-至少1个操纵器
-至少4个缓冲区
-视觉***
-至少2个传感器
4.用于指定硬件和软件,确定可能的硬件和软件的列表的特征
处理台
可以通过以下方式从子任务描述中确定处理台特征:从每个子任务中计算出对特征的要求。BOS编译涉及处理台的所有子任务的需求,并确定满足所有需求的特征。
处理台1
-子任务1:零件A的尺寸将涉及一个最小300*400mm的处理台,并且处理台要支持的最小负载为880g(如果要并行加工多个零件,则最低要求将相应增加)。
-子任务2:零件B的尺寸意味着最小处理台尺寸为30*30mm,最小负载为250g。
-子任务3:零件C的尺寸表示最小处理台尺寸为20*20mm,最小负载为5g。
-子任务4:最小处理台尺寸为400*400mm,因为它必须并排容纳零件A和零件B。这样,处理台要支持的最小负载为1030g。
-子任务5-6-7:最小处理台尺寸为400*400mm,因为它必须并排容纳零件A和零件B以及零件C。这样,处理台要支持的最小负载为1035g。
-对于所有子任务,人工的参与意味着处理台高度在900至1200mm之间。
然后,BOS将考虑最大的负载要求(1035g)和最大的尺寸要求(400*400mm)以及最小高度900mm。处理台1PT1必须符合在洁净室中工作的条件。BOS将在储存器中搜索具有这些特征的处理台,并返回例如符合这些要求的20个最接近的结果。
处理台2也是一样。
缓冲区
BOS为合理数量的零件定义了一个任意的缓冲区大小,考虑到可以在任务期间送入缓冲区而不会中断过程。缓冲区的大小可能因零件不同而异。但是,为了计算操纵器的大小或范围,要考虑最大缓冲区的大小和位置。例如,将25个零件A堆叠在一起:需要180*320*1125mm3的体积。BOS计算并优化缓冲区所需的空间。
操纵器
操纵器类型根据给定的特性定义。
/>
此处的数据以绝对值表示,但也可以使用百分比。
BOS检测到子任务1、2、3、4、5和6需要相同类型的硬件模块3。但是,执行子任务6所需的准确性比其他任务要高得多,并且在储存器2内,在储存器2已知的案例中有62%记录为由人工完成。因此,BOS提出了两种选择:
-具有高度精确的操纵器和带有高精度传感器的抓握器。
-与人类工人。
操纵器匹配子任务1至6:
通过了解零件、周期数和运动特性,BOS可以确定操纵器的技术要求:电动机、扭矩、刚度、材料等。这样做时,可以确定空间,力、运动等……方面的最低要求。
BOS根据给定的数据进行计算,如果缓冲区的高度与处理台的高度相同,则操纵器需要的自由度要少1个。在我们的实施例中,BOS将寻找一个具有3个自由度、最小臂延伸为800mm的静态操纵器,以覆盖处理台1的大小,并具有至少覆盖较大零件(零件A)大小的缓冲区。考虑每个子任务的公差。BOS可以:
-首先评估符合最低要求的操纵器,然后寻找其他软件以将操纵器升级到更高的底线要求。
-其次,评估满足最低要求的操纵器,并提供执行最关键的子任务的选项,即那些人工难以满足的高要求子任务。
-然后评估符合所有要求的操纵器。
BOS将返回与这些要求最接近的20个结果。
操纵器的运动路径在设计阶段没有定义,因为它们是在计划和执行过程中随时确定和调整的。
执行器
执行器类型还基于以下定义:
-过程定义(教学/视觉模式提供的信息)
-零件尺寸(CAD提供的信息)
-环境(操作员提供的信息)
-…
执行器:抓握器
BOS将零件和运动的特征集成到计算中,以确定所需的力、大小、材料等。然后,BOS将从储存器中确定20个最相关的结果。BOS可以显示相关抓握器以及兼容的操纵器和软件模块4的此列表。
执行器:螺丝起子
对于子任务6:BOS从储存器中知道此任务占人工工人完成的情况的62%。BOS将首先搜索人工完成子任务的解决方案。其次,如果没有人力资源,它将建议使用执行器。
对于子任务7:BOS将零件和运动的特征集成到计算中,以确定所需的力、大小、材料等。然后,BOS将从储存器中确定20个最相关的结果。BOS可以显示相关螺丝起子以及兼容的操纵器和软件模块4的列表。
视觉***和传感器:
应用与以上示例相同的过程。
5.优化选择
基于为生产单元的所有部件制定的列表集,BOS可以比较硬件模块3本身之间以及硬件模块3和软件模块4之间的兼容性,并确定可能组合的列表以及“兼容器”列表。
兼容器是硬件模块3或软件模块4,它们可以使两个最初不兼容的元件兼容。例如,它们是由竞争对手制造的。
从列表集中,BOS还可在储存器2中找到符合大多数最重要标准且具有开放能力的现有生产单元。基于此,它提供了将生产外部化和分包生产的可能性。
出于保密原因,最终用户没有详细描述使用外部安装的解决方案D。
6.最终选择
最终选择包括根据用户定义的标准进行的选择,例如:
-内部资产的再利用
-开始生产的时间
-安装费用
-摊销、CO2足迹、能耗、维护频率等…
在这种情况下,BOS将每个解决方案与已经在内部的现有资产列表、其可用性和维护时间表进行比较。选择的解决方案将优先考虑内部资产。BOS还可以优化与完成生产单元相关的总体时间框架和成本,或者提供允许用户做出选择的信息。
*对于最初定义的100,000个零件的生产-开始生产时。
在这种情况下,人操作员可以为生产单元选择最有效的解决方案。根据其优先级,解决方案B和租用硬件和软件可能是最有效的解决方案。为了简单起见,必需的元件可以购买或租用。在其他情况下,可以购买一些产品,并出租一些产品,以优化开始生产的时间和/或总体成本。请注意,与“内部资产”的比较也可以在第4步完成,并根据现有资产提出建议的解决方案。
7.映射解决方案
为了支持生产单元的实现,BOS生成了不同元件集成的映射,即它们的物理布局和配置,以及诸如电源、光源规格等基础设施要求。设备基于参考点的位置,此处为处理台1的中间位置,进行放置。BOS还可以生成要下达的订单列表,并在计划的生产期间在***中预订所需的现有资产。如果选择了分包解决方案,则可以跳过此步骤:BOS可以向ERP发出订单以保留西班牙的安装。
8.更新储存器
连接新生产单元并在储存器2中进行注册,以收集生产期间生成的数据。然后,通过计算性能并将其与储存器2中可用的数据进行比较,BOS可以提出过程的优化建议。可以将特定配置中使用的新软件或新硬件添加到储存器2中。通常,生产单元的大小和功能不一定限于一项任务。为了清楚说明起见,已对其进行了简化。设计方法可以应用于单个生产单元或整个工厂,在每种情况下仅适用于一项任务或一组任务。可以在工厂或生产单元运行时对其进行设计或重新设计,包括实施修改。同样,可以在***运行时完成计划和实施计划,并在可用时使用硬件和其他资源来机会性地实施计划。
在实施例中,算法是不同的:储存器2还可以存储与过程定义相对应的生产单元的配置。基于此,要设计新的生产单元,BOS可以在储存器中搜索与过程定义相对应的生产单元的设计。然后,BOS可以进行调整,从而复制和修改生产单元设置。
根据精度、速度、优化每单位生产成本等的要求选择硬件和/或软件
根据实施例,***的目标不主要与生产速度或每单位生产成本相关。相反,目标是即使在次优模式下也要尽早生产。为此,最终用户根据在生产过程中需要匹配的可接受范围来定义关键标准。例如,在设计方法的步骤4(确定可能的硬件和软件的列表)中,可以根据标准的重要性或优先级对标准进行分类:
-A类:必须有-第一优先
-B类:必须有–第二优先
-C类:“有很好”–第三优先
-D级:可选
BOS将在其潜在硬件模块3和软件模块4的初始列表中搜索与A类标准相匹配的模块。从产生的子集,生成简化的子集,包括也满足B类标准的模块。在第一次迭代中可能不满足C和D类标准。如果是这种情况,则BOS可以根据用户输入搜索不在内部的模块,或者建议放宽要求。这可以通过放宽对生产速度、成本等方面的要求来完成。
例如,子任务需要具有以下规格的操纵器:
-精度:允许0.2%偏差
-速度:允许1%偏差
-重量:最大150KG+/-1%
精度的优先级是A类标准;而速度是B类标准,重量是C类标准。BOS将开始搜索与A类有关的操纵器。然后,它将在与精度要求相匹配的操纵器子集中选择与速度要求相匹配的操纵器(B类标准)。BOS从所得的符合A和B类标准的操纵器的简化子集中,选择也符合标准C:重量要求的操纵器。当BOS找不到与标准A、B和C匹配的任何结果时,BOS可以对标准C提出一些折衷方案:例如,最大重量的公差扩展到5%。然后,BOS可以提出满足最重要要求的相关解决方案。
降低硬件精度时并入新软件
可以通过在操作期间和/或在专用校准程序中的估计或测量来确定硬件模块3的参数。在某些时候,可能会发现不再有可能达到足够的精度。这可能涉及以下步骤:
1.确定参数并将其与要求进行比较。
2.例如,基于与参数有关的标准的优先级类别,确定不满足要求的参数是否至关重要。
3.如果这是关键参数,则在储存器2中搜索一组能够提供错误校正或补偿的软件模块4。在该组内,选择软件模块4,其允许对由所述参数引起或与之相关的误差进行校正或补偿。
4.如果软件模块4符合要求,它将被“***”到BOS中并在***运行中使用。
5.如果没有软件模块4符合要求,则选择根据要求确定的最接近的软件模块4。BOS向最终用户或社区编程平台表明需要改进软件或缺少软件类型。
根据其历史选择硬件模块3模块
在设计机器人***的过程中,可能有必要在内部和/或从远程位置获得的可用资产(尤其是硬件模块3)之间进行选择。根据实施例,这是通过以下步骤完成的:
·例如,从最终用户提供的规范中检索硬件模块3所要执行的多个循环。该数量例如可以根据在其设计中所要进行的生产运行中要生产的单元数量以及每个单元所需的周期数量来确定。后者可以通过模拟用于生产的硬件模块3的操作来确定。
·从可用的合适硬件模块3的历史数据中检索何时执行维护动作以及计划何时下一个维护动作。
·比较下一次维护可用的每个合适硬件之前要执行的周期数与剩余周期数。根据每个硬件模块3的结果,BOS可以选择硬件模块3的组合,其允许无需维护即可执行完整的生产运行,这或者维护多个硬件模块3的维护时间是同时的,从而最大程度地减少了停机时间,或者是通过在多个生产单元上分配生产,或是通过选择需要较少维护的硬件模块3。
可以通过将选择问题表示为多元优化问题来执行一个或多个或所有步骤或选择硬件模块3,其中要改变的参数是以下的一个或多个:
·选择硬件模块3的类型和标识;
·将硬件模块3分配给一个或多个生产单元;
·将工作量分配给这些生产单元;
·何时进行维护;
·性能标准;
·用户定义的标准。
根据历史数据从其他相同类型的设备中选择硬件模块
硬件模块3的历史数据收集在储存器中。使用此数据,可以为每个硬件模块3确定以下一个或多个参数,以及从这些参数得出的统计值:
-售价
-每个参数随时间的偏差
-预测性维护事件的数量
-维护时间
-硬件模块3导致生产单元的停机时间
-平均要更换的零件数
-平均能耗
-硬件模块3中最敏感的零件(最经常更换)
-总体维护成本(维护次数、维护时间、备件成本……)
-硬件模块3的总体运营成本,包括价格、能耗、总体维护成本……
参数和关联的统计数据也被视为历史数据。储存器不仅可以收集与每个唯一的零件硬件模块3相关联的数据,而且可以收集每种硬件模块3类型的数据。这种硬件模块3类型的数据可以包括平均值和其他统计参数,其表征从相同类型的多个硬件模块3收集的参数或历史数据。
在设计生产单元时,BOS可以根据用户定义的不同标准来选择硬件模块3:即时可用性、成本等。由于有了储存器,可以对产品的实际操作成本进行更全面、更完整的概述,包括维护成本、能耗、停机时间等以及成本依赖于各个硬件模块3的选择的方式。
在设计阶段,BOS可以在“最终选择生产单元”的步骤中输出所需硬件模块3的列表及其每个模块的总成本,以及可选地还有硬件模块3选择之间的相关性和整个生产单元的运营总成本,以帮助最终用户做出最佳选择。
根据来自硬件模块3模块和/或其他相同类型数据的历史数据来计划预防性维护如前所述,储存器2可以收集与硬件模块3类型有关的历史数据。关于维护,这可以包括维护周期、涉及的零件、维护事件之间执行的周期数、维护原因、描述维修的数据等。每种HW的相应统计数据(由BOS或储存器2计算)可以用于确定适当的时间间隔,例如时间或周期方面,以进行预测性维护,以及需要执行的维护任务。
一旦设置好生产单元进行生产,BOS就可以访问每个单独的硬件模块3所执行的周期数(以唯一的硬件标识符(ID)为特征)以及仍然需要执行的周期数。对于每个单独的硬件模块3,可以将在可比较条件下执行的周期数与两次维护事件之间由相同类型的硬件模块3执行的平均周期数进行比较。由此,可以确定每个硬件模块3到下一次维护事件为止的预期剩余周期数。为了最大程度地减少停机时间,BOS可以在安排下一次计划的维护时预期并安排将生产转移到另一个生产单元,或者协调同时进行生产中涉及的所有模块的维护操作。
在实施例中,储存器2还可以与硬件模块3的特定配置相关联地收集和关联历史数据,例如,用于包括多个操纵器模块33的机器人组件3c。如果这些机器人组件由相同类型和相同配置的硬件模块3制成,则可以认为是同一类型。然后,对于一种类型的机器人组件3c,BOS可以结合使用条件(例如任务类型)收集、分析和比较该类型所有具体实例的历史数据。然后,它可以估计何时发生机器人组件3c的故障:例如,在特定配置中,第2接头在9746次移动后承受了21kg的平均载荷,因此发生了故障。一旦安装了具有类似配置的新***,BOS就可以计划设备的维护。在进行计划的情况下,只有在剩余的估计要执行的周期数量足以执行整个生产运行所需的任务或子任务的情况下,BOS才可以选择使用特定类型的机器人。
集成来自不同制造商的HW模块,因为它们具有可用于计划的标准化接口和模型
BOS的接口是已知的,并且不同的制造商都有自己的接口。集成提供商或用户社区或硬件制造商可以开发使硬件模块3与BOS通信兼容的软件模块4。图8示出了独立的或自治的***23的结构,其包括具有硬件模块描述5的硬件模块3,其中,如先前已经描述的,硬件模块3可以是传感器模块、操纵器模块33等。这些形成具有嵌入式智能和传感器的可插拔模块。它们有能力收集和存储自己的数据。自治***23还包括中央计算和命令单元10(CCC)。CCC配置为执行以下功能
·自动确定硬件模块3的物理配置并建立运动学模型
·坐标变换
·集成在硬件模块3中收集的历史数据并执行计算以进行预测性维护·偶尔、间歇性地连接到外部资源库22(例如储存器2),以接收更新,并且根据用户的喜好和与其他方的合同协议,上传和下载历史数据以及从中获取的数据,特别是与规划预测性维护有关的当前数据。
CCC 10和可插拔硬件模块3之间的通信接口和协议是标准化的。考虑到特定任务,CCC 10可以实现用于预测性维护和/或用于设备配置的功能。
传感器:
硬件模块3中可以存在两种类型的传感器:
·对于内部测量,与硬件模块3的性质有关:主要是模块中致动器的状态(例如,连杆角度)。此外,这可能是硬件模块3中的振动、加速、声音、温度、湿度等。
·对于与环境特性有关的环境测量:温度、湿度、辐射等。此类信息可用于例如质量控制或使***运行适应环境条件。
与硬件模块3相关联的数据,特别是传感器数据,还有操作数据和维护相关数据,通常是收集的数据,其包括状态数据和操作数据,可以记录在硬件模块3中。基于来自外部存储库22的当前更新,CCC 10知道如何可使用或必须维护可插拔硬件模块3。可以经由CCC将数据发送到外部存储库22以用于扩展服务,例如以改善集体知识库,但是这可以是可选的以确保数据安全性。
为特定活动确定优化的安装(配置工具)
以下功能可以作为在线工具和存储的一部分,最终用户可以在其中使用内部可用的硬件模块3配置自主机器人***23,任选地和必要时包括其他硬件模块3。可以执行以下步骤:
1.任选地,设置或登录与以下关联的帐户:
о最终用户的个人数据、账单数据等。
о最终用户设施位置,存放硬件模块3的任选的几个位置,从而可以考虑不同级别的交付时间。
о任选地,当前安装的现有资产的列表:生产单元、机器人组件3c、传感器等。
о与生产相关的技术领域,从而可以自动链接到相关法规。
如果最终用户没有任何帐户,则仍可以使用该工具,但功能有限或受限制。例如,最终用户可能没有将其现有的可插拔模块加载到***中。这样,***将不会使用最终用户的现有资产来构建解决方案。
2.通过提供输入来描述目标新生产***:
о环境输入:工作环境(湿度、温度……)、与人类合作的可接受程度
о目标任务定义,例如关于一般设计方法如上所述:在过程定义和动作方面。
例如,借助带有可视界面的仿真工具,可以使用户虚拟地将不同的硬件模块3***在一起,以构建作为机器人组件3c的操纵器,然后通过指定参数和要执行的任务,配置工具将返回每个所需硬件模块3的更准确的描述。
о例如,涉及人类的工作的法规。
3.配置工具还包含CCC的所有功能。CCC结合其数据并且偶尔连接到外部存储库22来处理上述输入,以提出一组所需的硬件及其配置,从而能够优化用户定义的标准。该过程可以与针对生产单元的总体设计所描述的过程相同,但有不同的限制:一个目标是使用现有的硬件模块3(内部使用或属于最终用户的公司),并且硬件模块3主要是可插拔的操纵器模块33,其允许将机器人组件3c组装在不同配置中。
4.根据过程定义和其他输入来模拟目标任务。最终用户可以使用模拟结果来验证配置,并在必要时修改输入。这导致修改后的配置,并且重复该过程。可以自动重复迭代地修改配置和模拟,以找到最佳解决方案。
5.任选地,模拟最终解决方案。同样,最终用户可以使用它来验证配置,并在必要时修改输入。
配置过程的结果是对硬件模块3进行物理配置,并在必要时对一组需要获取的其他硬件模块3进行物理配置。
实施例:
要执行以下任务:
·必须使用操纵器将组件从第1点运送到第2点。
·在第2点,一个人将带该组件与其一起工作。因此,需要协作机器人。
·第1点和第2点之间的距离可以从2m到4m不等。因此,不需要移动式机器人。
·在第2点,操纵器必须将零件相对于其他零件放置在地板上,精度为1mm。
·组件是由木板制成的零件,尺寸为300x300mm,重量为25kg。顶面已上光漆。
·该过程将在哥伦比亚的一家工厂进行。因此,相对湿度为90%,温度为28-35℃。
·机器人必须重复运输动作2000次。
根据这些参数,设计工具将确定:
·操纵器是笛卡尔坐标系的参考点,并设置在第1点和第2点之间的中间位置。
·操纵器由标有模块M0的基座制成-也可以在车轮上-其他模块标有M1、M2、M3、M4...,其编号与组装形成操纵器模块33时在M0之后的位置有关。最后一个模块是执行器。
配置或设计工具参考其数据库,并确定:
设计工具无需向最终用户显示第4列中描述的信息级别。
设计工具利用与外部存储库22的连接来访问要获取的可能模块的数据库。然后它将发布可能的模块的第一列表。
第三列中的参考编号已编码并表示(其中并非所有属性都可能适用于所有类型的模块):
·第一个字母:尺寸
·第二个数字:接头(在人工协作的情况下为不同数字)或扩展或固定器
·第三个数字:材料
·第四个数字:电机类型
·第五个数字:用于流体输送的内孔
然后,CCC可以使用所选模块模拟机器人组件的操作,并检查在模拟子任务的实现时,模拟性能是否符合要求。
然后,CCC可以自动或在最终用户的控制下添加或删除一个自由度,进行第二次模拟迭代,并比较结果。
如上所述,CCC的上述配置功能连接到外部存储库22,以便检索有关最终用户内部不可用的其他硬件模块3的信息。如果确定需要这种另外的硬件模块3,则外部存储库22可以提供商店或网上商店的功能,从而允许最终用户或CCC命令交付这种另外的硬件模块3。CCC和/或外部存储库22可以借助于网络平台来实现。外部存储库和CCC的功能可以集成在一起,以便最终用户只能看到一个界面。
尽管已在当前实施例中描述了本发明,但应清楚地理解,本发明不限于此,而是可在权利要求的范围内以其它方式不同地体现和实践。
Claims (7)
1.一种配置机器人***的方法,所述机器人***包括至少两个硬件模块(3),每个硬件模块(3)是可插拔模块,并且包括至少一个用于测量硬件模块(3)的内部性质的传感器(38)、用于与其他硬件模块(3)通信的通信单元(37)、数据存储单元(36)和嵌入式控制器(35),
所述嵌入式控制器(35)被配置为收集收集的数据,所述收集的数据包括
-代表硬件模块(3)的当前状态的状态数据;和
-代表硬件模块(3)的使用情况的操作数据;
其中至少部分所述收集的数据是根据来自至少一个传感器(38)的传感器数据确定的,
并且所述嵌入式控制器(35)被配置为执行以下至少一项:
·将所述收集的数据存储在数据存储单元(36)上,以及
·通过通信单元(37)发送所述收集的数据;
所述配置机器人***的方法包括以下步骤:
·输入表征可用于所述机器人***中的可用的具体硬件模块(3)的列表;
·输入过程定义以完成所述机器人***要完成的一个或多个目标任务;
·根据所述硬件模块(3)的物理特性,自动确定一组选定的硬件模块(3)及其在所述机器人***中的物理配置,以使最终的机器人***能够通过执行所述过程定义所指定的动作来完成任务;
·所述物理特性包括硬件模块(3)的机械、电气和部件参数中的一项或多项;
其中基于其物理特性自动确定一组选定的硬件模块(3)的步骤包括以下步骤:
·检索与具体硬件模块(3)相关的历史数据,所述历史数据描述了所述硬件模块的使用;
·根据此历史数据确定所述一组选定的硬件模块(3)。
2.根据权利要求1所述的方法,
所述机器人***还包括中央计算和命令单元(10),其配置为
·接收所述收集的数据;以及
·通过控制至少两个硬件模块(3)中的至少一个致动器(39)的操作,控制所述机器人***的操作。
3.根据权利要求1所述的方法,其中
所述至少两个硬件模块(3)是操纵器模块(33),每个操纵器模块(33)包括通过接头(34)连接的两个机械连杆(31a、32a)、用于设定接头(34)的位置并且从而设定连杆(31a、32a)的相对位置的致动器(39)。
4.根据权利要求1至3中任一项所述的方法,还包括以下步骤:
·模拟由最终的机器人***执行的所述过程定义所指定的动作;
·并将模拟结果显示给用户。
5.根据权利要求1至3中任一项所述的方法,其中自动确定所述一组选定的硬件模块(3)的步骤包括以下步骤:
·从可用的具体硬件模块(3)列表中确定可用的具体硬件模块(3)是否可以执行由所述过程定义指定的动作;和
·如果确定可用的具体硬件模块(3)不可以执行由所述过程定义指定的动作,则确定其他硬件模块(3),以使其他的和可用的硬件模块(3)的组合组形成可以执行所述过程定义指定的动作的所述一组选定的硬件模块(3)。
6.根据权利要求5所述的方法,其中确定其他硬件模块(3)的步骤包括以下步骤:
·与储存器(2)建立通信,所述储存器(2)存储描述硬件模块(3)的硬件模块描述(5),
·根据储存器(2)中存储的硬件模块描述(5)确定其他硬件模块(3)。
7.根据权利要求6所述的方法,其中确定其他硬件模块(3)的步骤包括以下步骤:
·从储存器(2)中检索与具体硬件模块(3)关联的历史数据;
·根据此历史数据确定所述一组选定的硬件模块(3)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17198996.5A EP3476549A1 (en) | 2017-10-27 | 2017-10-27 | Hardware module, robotic system, and method for operating the robotic system |
EP17198996.5 | 2017-10-27 | ||
PCT/EP2018/079323 WO2019081660A1 (en) | 2017-10-27 | 2018-10-25 | HARDWARE MODULE, ROBOTIC SYSTEM AND METHOD OF OPERATING THE ROBOTIC SYSTEM |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111386179A CN111386179A (zh) | 2020-07-07 |
CN111386179B true CN111386179B (zh) | 2024-05-03 |
Family
ID=60191208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880070044.8A Active CN111386179B (zh) | 2017-10-27 | 2018-10-25 | 硬件模块、机器人***以及用于操作机器人***的方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US20200306978A1 (zh) |
EP (2) | EP3476549A1 (zh) |
KR (1) | KR102553418B1 (zh) |
CN (1) | CN111386179B (zh) |
WO (1) | WO2019081660A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108356806B (zh) * | 2017-12-19 | 2020-12-18 | 北京可以科技有限公司 | 模块化机器人控制方法及*** |
CN108326846B (zh) * | 2017-12-19 | 2020-11-03 | 北京可以科技有限公司 | 模块化机器人及其模块单元位置计算方法 |
US11501035B2 (en) * | 2018-09-06 | 2022-11-15 | The Boeing Company | Verification of robotic assets utilized in a production work cell |
JP7290986B2 (ja) * | 2019-04-26 | 2023-06-14 | ニデックインスツルメンツ株式会社 | ロボットシステム |
US11260413B2 (en) * | 2019-06-17 | 2022-03-01 | The Boeing Company | End effector for delivering material to a surface and associated system |
CN112140101A (zh) * | 2019-06-28 | 2020-12-29 | 鲁班嫡系机器人(深圳)有限公司 | 轨迹规划方法、装置及*** |
US20210237116A1 (en) * | 2020-02-03 | 2021-08-05 | Ross-Hime Designs, Inc. | Robotic marking system |
JP2021135881A (ja) * | 2020-02-28 | 2021-09-13 | セイコーエプソン株式会社 | ロボットの制御方法 |
US20210339397A1 (en) * | 2020-05-01 | 2021-11-04 | Abb Schweiz Ag | System and method for setting up a robotic assembly operation |
JP2021193511A (ja) * | 2020-06-08 | 2021-12-23 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
NL2026533B1 (en) * | 2020-09-24 | 2022-05-30 | Avular B V | Modular robot control system |
DE102020131338B4 (de) * | 2020-11-26 | 2023-06-22 | Agile Robots AG | Mehrgliedrige aktuierte Kinematik |
US20220197698A1 (en) * | 2020-12-23 | 2022-06-23 | Komprise Inc. | System and methods for subdividing an unknown list for execution of operations by multiple compute engines |
CN113119125B (zh) * | 2021-04-14 | 2022-08-05 | 福建省德腾智能科技有限公司 | 一种基于多模态信息的监控交互方法 |
EP4272905A1 (en) * | 2022-05-06 | 2023-11-08 | Technische Universität München | Modular robotic system |
CN115167898B (zh) * | 2022-09-06 | 2022-11-15 | 北京惠懂你科技有限公司 | 一种机器人流程自动化实现***和方法 |
CN118061191B (zh) * | 2024-04-11 | 2024-06-28 | 东莞理工学院 | 基于mcd的icf靶微装配机器人虚拟调试方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6454624B1 (en) * | 2001-08-24 | 2002-09-24 | Xerox Corporation | Robotic toy with posable joints |
CN202878325U (zh) * | 2012-10-26 | 2013-04-17 | 上海未来伙伴机器人有限公司 | 小型模块化机械手臂 |
CN104742153A (zh) * | 2015-04-01 | 2015-07-01 | 中国计量学院 | 六轴多关节工业机器人故障预测装置 |
CN205085966U (zh) * | 2015-06-29 | 2016-03-16 | 曹燕军 | 一种自重构模块化可移动式机器人***模块单元 |
CN106660203A (zh) * | 2014-05-09 | 2017-05-10 | 卡内基梅隆大学 | 用于机电***中的模块化单元的***和方法 |
WO2017168413A1 (en) * | 2016-03-30 | 2017-10-05 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Minimally actuated serial robot |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6636781B1 (en) * | 2001-05-22 | 2003-10-21 | University Of Southern California | Distributed control and coordination of autonomous agents in a dynamic, reconfigurable system |
US20040073468A1 (en) | 2002-10-10 | 2004-04-15 | Caterpillar Inc. | System and method of managing a fleet of machines |
US7143007B2 (en) | 2003-10-17 | 2006-11-28 | Hydralift Amclyde, Inc. | Equipment component monitoring and replacement management system |
JP4280999B2 (ja) * | 2004-07-02 | 2009-06-17 | 独立行政法人産業技術総合研究所 | ロボットシステム |
JP4717579B2 (ja) | 2005-09-30 | 2011-07-06 | 株式会社小松製作所 | 作業機械のメンテナンス作業管理システム |
DE112010000775B4 (de) * | 2009-02-12 | 2016-03-17 | Kyoto University | Industrierobotersystem |
US8428777B1 (en) | 2012-02-07 | 2013-04-23 | Google Inc. | Methods and systems for distributing tasks among robotic devices |
US20140067108A1 (en) | 2012-08-31 | 2014-03-06 | The Boeing Company | Systems and methods for dynamic control of task assignments in a fabrication process |
US9956494B2 (en) * | 2013-03-15 | 2018-05-01 | Rnd By Us B.V. | Element comprising sensors for detecting grab motion or grab release motion for actuating inter-element holding or releasing |
US9465384B1 (en) * | 2013-06-24 | 2016-10-11 | Redwood Robotics, Inc. | Methods and systems for tiered programming of robotic device |
US9561590B1 (en) * | 2013-06-24 | 2017-02-07 | Redwood Robotics, Inc. | Distributed system for management and analytics of robotics devices |
US9592443B2 (en) * | 2014-03-11 | 2017-03-14 | Microsoft Technology Licensing, Llc | Data store for a modular assembly system |
US10491380B2 (en) * | 2016-03-31 | 2019-11-26 | Shenzhen Bell Creative Science and Education Co., Ltd. | Firmware of modular assembly system |
CN107402567A (zh) * | 2016-05-19 | 2017-11-28 | 科沃斯机器人股份有限公司 | 组合机器人及其巡航路径生成方法 |
US10213925B2 (en) * | 2016-09-09 | 2019-02-26 | The Board Of Trustees Of The Leland Stanford Junior University | Workpiece contact state estimating device and workpiece contact state estimation method |
US10248085B2 (en) * | 2016-10-13 | 2019-04-02 | Disney Enterprises, Inc. | Computational design of robots from high-level task specifications |
US10265844B2 (en) * | 2017-03-24 | 2019-04-23 | International Business Machines Corporation | Creating assembly plans based on triggering events |
-
2017
- 2017-10-27 EP EP17198996.5A patent/EP3476549A1/en not_active Withdrawn
-
2018
- 2018-10-25 US US16/759,631 patent/US20200306978A1/en not_active Abandoned
- 2018-10-25 CN CN201880070044.8A patent/CN111386179B/zh active Active
- 2018-10-25 WO PCT/EP2018/079323 patent/WO2019081660A1/en unknown
- 2018-10-25 EP EP18789429.0A patent/EP3691837A1/en active Pending
- 2018-10-25 KR KR1020207012098A patent/KR102553418B1/ko active IP Right Grant
-
2022
- 2022-01-28 US US17/587,411 patent/US20220219326A1/en not_active Abandoned
- 2022-01-28 US US17/587,459 patent/US20220219327A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6454624B1 (en) * | 2001-08-24 | 2002-09-24 | Xerox Corporation | Robotic toy with posable joints |
CN202878325U (zh) * | 2012-10-26 | 2013-04-17 | 上海未来伙伴机器人有限公司 | 小型模块化机械手臂 |
CN106660203A (zh) * | 2014-05-09 | 2017-05-10 | 卡内基梅隆大学 | 用于机电***中的模块化单元的***和方法 |
CN104742153A (zh) * | 2015-04-01 | 2015-07-01 | 中国计量学院 | 六轴多关节工业机器人故障预测装置 |
CN205085966U (zh) * | 2015-06-29 | 2016-03-16 | 曹燕军 | 一种自重构模块化可移动式机器人***模块单元 |
WO2017168413A1 (en) * | 2016-03-30 | 2017-10-05 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Minimally actuated serial robot |
Also Published As
Publication number | Publication date |
---|---|
WO2019081660A1 (en) | 2019-05-02 |
US20200306978A1 (en) | 2020-10-01 |
EP3476549A1 (en) | 2019-05-01 |
CN111386179A (zh) | 2020-07-07 |
KR20200073233A (ko) | 2020-06-23 |
EP3691837A1 (en) | 2020-08-12 |
KR102553418B1 (ko) | 2023-07-07 |
US20220219327A1 (en) | 2022-07-14 |
US20220219326A1 (en) | 2022-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111386179B (zh) | 硬件模块、机器人***以及用于操作机器人***的方法 | |
CN111386178B (zh) | 机器人***的硬件模块的基于计算机的储存器的操作方法 | |
Kim et al. | A modular factory testbed for the rapid reconfiguration of manufacturing systems | |
Bänziger et al. | Optimizing human–robot task allocation using a simulation tool based on standardized work descriptions | |
EP3579174A1 (en) | Mobile vehicles in manufacturing | |
Michalos et al. | Decision making logic for flexible assembly lines reconfiguration | |
Krueger et al. | A vertical and cyber–physical integration of cognitive robots in manufacturing | |
JP2019514144A (ja) | フォグコンピューティング促進型フレキシブル工場 | |
CN110134081B (zh) | 一种基于机器人能力模型的控制*** | |
Kovalenko et al. | SMART: A system-level manufacturing and automation research testbed | |
EP2466404A1 (en) | Method for controlling industrial robots in a work area | |
CN101539772A (zh) | 产品生命周期管理方法及设备 | |
Wang et al. | Designing function blocks for distributed process planning and adaptive control | |
Chhotaray et al. | Enhancement of Manufacturing Sector Performance with the Application of Industrial Internet of Things (IIoT) | |
Hoffmann et al. | Developing self-organizing robotic cells using organic computing principles | |
Müller et al. | Identification of assembly system configuration for cyber-physical assembly system planning | |
Hofmair et al. | Patching process optimization in an agent-controlled timber mill | |
Senehi et al. | Hierarchical control architectures from shop level to end effectors | |
Kibira et al. | Building A Digital Twin of AN Automated Robot Workcell | |
Makris et al. | On the Coordination of Multiple Cooperating Robots in Flexible Assembly Systems Using Mobile Robots | |
WO2023068354A1 (ja) | ロボットデータ処理サーバ及び干渉データ提供方法 | |
Alsaleh | Applying digital twin technology in education and research: A case study of PTC automation line | |
KR20020091382A (ko) | 자동화시스템을 위한 제어와 시뮬레이션의 통합제어장치및 그것의 운영방법 | |
Levi | Knowledge-Based Modeling for Computer-Integrated Manufacturing | |
Berkhan et al. | Data Acquisition to Handle Complexity in Matrix Production Systems |
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 |