CN106896790B - 模拟装置以及模拟方法 - Google Patents

模拟装置以及模拟方法 Download PDF

Info

Publication number
CN106896790B
CN106896790B CN201610991540.XA CN201610991540A CN106896790B CN 106896790 B CN106896790 B CN 106896790B CN 201610991540 A CN201610991540 A CN 201610991540A CN 106896790 B CN106896790 B CN 106896790B
Authority
CN
China
Prior art keywords
workpiece
virtual space
dimensional virtual
simulation
processing device
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
CN201610991540.XA
Other languages
English (en)
Other versions
CN106896790A (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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Publication of CN106896790A publication Critical patent/CN106896790A/zh
Application granted granted Critical
Publication of CN106896790B publication Critical patent/CN106896790B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the transport system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31227External network for proces data, internal network for transport, handling only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32252Scheduling production, machining, job shop
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32337Simulation, statechart SC
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39106Conveyor, pick up article, object from conveyor, bring to test unit, place it
    • 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/40007Optimize sequence of pick and place operations upon arrival of workpiece on conveyor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

不仅在运送机的运送面上而且在该运送面的附近配置有对象物的应用系统中,也能够实现反映实际的对象物的动作的模拟的模拟装置以及模拟方法。模拟装置包括:构筑机构,其在三维假想空间内假想地构筑系统;跟踪机构,其基于与配置于运送面的多个对象物相对应的运送机的移动量,分别更新所述多个对象物在三维假想空间内的位置,并且更新由处理装置夹持的对象物在三维假想空间内的位置,所述对象物在三维假想空间内的位置与处理装置的动作相关联;生成机构,其基于三维假想空间内的各对象物的位置,生成针对处理装置的动作的控制指令。在处理装置将对象物配置在距运送面的预定范围内时,跟踪机构更新该对象物的位置,该对象物与该运送面相关联。

Description

模拟装置以及模拟方法
技术领域
本发明涉及用于推定系统的动作的模拟装置、模拟方法以及模拟程序。
背景技术
在工厂自动化(FA:Factory Automation)领域中,广泛地利用各种各样的自动控制技术。在这样的自动控制技术中,假想如下应用系统,即,跟踪工件等的对象物的位置,并且利用各种机械手对工件实施必要的处理。
在这样的自动控制技术的对象的系统的设计或检讨等阶段,需要预先评价系统整体的性能等。针对这样的需求,实现假想地构筑系统来模拟动作的技术。例如,日本特开2013-191128号公报(专利文献1)公开了如下技术,即,进行包括与假想拍摄部相对应的实际空间的视觉传感器的机械系统的综合模拟的技术。在专利文献2所公开的技术中,通过联合3D模拟器与视觉传感器模拟器,假想地生成各时刻的3D空间内的工件的拍摄图像。
日本特开平09-258815号公报(专利文献2)公开了如下结构,即,在使模型跟踪某个模型动作的模拟中,设定与模型相关且相互作用的对象和被作用的对象的主从关系,并按照该主从关系模拟运动的模型的运动连锁。
专利文献1:日本特开2013-191128号公报
专利文献2:日本特开平09-258815号公报
根据应用系统,并不限定于工件配置于传送带等的运送面上,也存在从距运送面稍微分离的位置解除工件的夹持,工件自然落下的处理。
上述的专利文献2在图24等中对进行工件在传送带上运动的跟踪动作的情况进行例示,但并未公开如下方面,即,如何设定工件与传送带之间的主从关系和如何处理在传送带上配置多个工件的情况。
因此,存在如下需求,即,不仅在运送机的运送面上而且在该运送面的附近配置有对象物的应用系统中,也想要实现反映实际的对象物的动作的模拟。
发明内容
根据本发明的一个技术方案,提供一种模拟装置,用于推定系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持对象物使之配置于运送面。
模拟装置具有:
构筑机构,其在三维假想空间内假想地构筑系统,
跟踪机构,其基于与配置于运送面的多个对象物相对应的运送机的移动量,分别更新多个对象物在三维假想空间内的位置,并且更新由处理装置夹持的对象物在三维假想空间内的位置,所述对象物在三维假想空间内的位置与处理装置的动作相关联,以及
生成机构,其基于三维假想空间内的各个对象物的位置,生成针对处理装置的动作的控制指令。
在处理装置将对象物配置在距运送面的预定范围内时,跟踪机构更新该对象物的位置,该对象物与该运送面相关联。
优选地,在处理装置将第二对象物配置在距被视为配置于任一运送面的第一对象物的表面的预定范围内时,跟踪机构更新该第一对象物的位置和该第二对象物的位置,该第一对象物的位置和该第二对象物的位置相关联。
优选地,跟踪机构根据三维假想空间内的对象物的高度确定预定范围的大小。
优选地,还具有输入机构,该输入机构接受预定范围的大小的设定。
优选地,利用半透明的对象表现表示预定范围的三维假想空间内的区域。
优选地,在处理装置将对象物配置在距运送面的预定范围内时,跟踪机构更新三维假想空间内的该对象物的高度方向的位置,使得该对象物与该运送面接触。
优选地,在处理装置配置对象物的范围内,当运送面以及第二对象物存在时,跟踪机构按照预定的优先度,将该对象物与运送面及第二对象物中的任一方相关联。
优选地,跟踪机构根据处理装置放开对对象物的夹持时的三维假想空间内的水平方向的速度,修正三维假想空间内的该对象物的水平方向的位置。
优选地,模拟装置还具有测量机构,该测量机构对包括被摄物体即对象物的至少一部分的输入图像进行图像测量处理,所述输入图像与在三维假想空间内的运送面预先设定的区域相关联,
跟踪机构响应测量机构对对象物的检测,使被检测的该对象物出现在三维假想空间内。
本发明的其他技术方案,提供一种模拟方法,由计算机来执行,该模拟方法用于推定系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持对象物使之配置于运送面。
模拟方法包括:
构筑步骤,在三维假想空间内假想地构筑系统,
更新步骤,基于与配置于运送面的多个对象物相对应的运送机的移动量,分别更新多个对象物在三维假想空间内的位置,并且更新由处理装置夹持的对象物在三维假想空间内的位置,所述对象物在三维假想空间内的位置与处理装置的动作相关联,
控制指令生成步骤,基于三维假想空间内的各个对象物的位置,生成针对处理装置的动作的控制指令。
更新步骤包括:在处理装置将对象物配置在距运送面的预定范围内时,更新该对象物的位置,该对象物与该运送面相关联。
根据本发明的另一其他技术方案,提供一种模拟程序,用于推定系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持对象物使之配置于运送面。
模拟程序在计算机中执行如下步骤:
构筑步骤,在三维假想空间内假想地构筑系统,
更新步骤,基于与配置于运送面的多个对象物相对应的运送机的移动量,分别更新多个对象物在三维假想空间内的位置,并且更新由处理装置夹持的对象物在三维假想空间内的位置,所述对象物在三维假想空间内的位置与处理装置的动作相关联,
控制指令生成步骤,基于三维假想空间内的各个对象物的位置,生成针对处理装置的动作的控制指令。
更新步骤包括:在处理装置将对象物配置在距运送面的预定范围内时,更新该对象物的位置,该对象物与该运送面相关联。
根据本发明,不仅在运送机的运送面上而且在该运送面的附近配置有对象物的应用系统中,也能够实现反映实际的对象物的动作的模拟。
附图说明
图1是表示本实施方式的模拟装置中的模拟对象的系统结构例的示意图。
图2是用于说明使用了本实施方式的模拟装置的模拟方法的示意图。
图3A、3B是用于说明本实施方式的模拟装置假想的应用系统的一个例子的示意图。
图4是用于说明本实施方式的模拟装置中的着地判定高度的示意图。
图5是用于说明本实施方式的模拟装置中的着地判定高度的另一示意图。
图6是表示本实施方式的模拟装置的硬件结构的示意图。
图7是表示本实施方式的模拟装置的功能结构的示意图。
图8是表示使用了本实施方式的模拟装置的模拟的处理顺序的流程图。
图9是表示图8所示的步骤S28的前半部分的详细的处理顺序的流程图。
图10是表示利用本实施方式的模拟装置使在三维假想空间内构筑的系统模型视觉化的一个例子的图。
图11A、11B是表示用于设定本实施方式的模拟装置中的着地判定高度的用户界面画面的一个例子的示意图。
图12是用于说明在本实施方式的模拟装置中将着地判定高度设定为0时的着地判定范围的示意图。
图13A、13B是用于说明本实施方式的模拟装置中的接触判定余量的示意图。
图14是用于说明本实施方式的模拟装置中的与其他工件的接触判断的概要的示意图。
图15是表示图8所示的步骤S28的后半部分的详细的处理顺序的流程图。
图16A、16B、16C是用于说明本实施方式的模拟装置中的工件彼此的关联的示意图。
图17是表示使本实施方式的模拟装置的模拟结果视觉化的一个例子的图。
图18是用于说明本实施方式的模拟装置中的高度方向的位置修正的示意图。
图19A、19B、19C是用于说明本实施方式的模拟装置中的工件的位置修正处理的示意图。
其中,附图标记说明如下:
1、2 传送带跟踪系统
232、242 工件
100 模拟装置
102 处理器
104 主存储器
106 输入部
108 显示部
110 网络接口
112 光驱
114 光盘
116 通信接口
118 内部总线
120 硬盘
122 操作系统(OS)
124 模拟程序
140 图像数据群
150 视觉传感器模拟器
152 设定参数
160 控制模拟器
162 控制程序
170 视觉化模块
180 用户界面模块
182 模型构筑模块
184 三维设计数据
190 系统模型模拟器
192 对象属性信息
200 控制装置
202 网络
210、311、313 机械手
214 机械臂
216 机械手工具
220 视觉传感器
221 拍摄区域
222 拍摄部
230、240 传送带
231、233、235 跟踪区域
234、244 驱动辊
236、246 编码器
250、270 对象
260 区域
280 基准线
具体实施方式
一边参照附图,一边详细地说明本发明的实施方式。此外,对图中的同一或相当部分标注同一附图标记,并省略其说明。
<A.模拟>
首先,对用于推定本实施方式的模拟装置提供的系统的动作的模拟进行说明。
本实施方式的模拟装置用于推定(模拟)系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持对象物使之配置于运送面。
在下面的说明中,作为具有使配置的对象物连续地移动的运送面的运送机的一个例子,采用一个或多个传送带,并且,作为能够夹持对象物使之配置于运送面的处理装置的一个例子,假想成一个或多个机械手。但是,就运送机以及处理装置而言,并不限定于此,可以根据对象的系统合适地选择。在下面,也将对象物称为“工件”,作为工件,若是能够跟踪最终生成物或其中一部分或者中间生成物或其中一部分等的位置的构件,可以是任何的构件。
首先,对本实施方式的模拟装置中的模拟的概要进行说明。
图1是表示本实施方式的模拟装置中的模拟对象的系统结构例的示意图。参照图1,作为一个例子,在传送带跟踪系统1中,若在传送带230上连续地被运送的工件232到达规定的跟踪区域231,则利用机械手210夹持跟踪区域231内的工件232并运送至传送带240,将其配置于传送带240上的跟踪区域235。利用这样的机械手210的夹持、运送、配置的一系列动作也称为“拾取和放置动作”。为了便于说明,将运送被夹持的工件的传送带也称为“拾取侧传送带”,将配置有工件的传送带也称为“放置侧传送带”。
就利用机械手210的拾取和放置动作而言,通过利用拍摄部222对设置于传送带230的一部分的拍摄区域221进行拍摄,并且视觉传感器220对由拍摄部222的拍摄所获取的输入图像进行图像匹配等的图像测量处理,来获取包括工件232的位置、类别、朝向等信息的测量结果。
控制装置200基于来自视觉传感器220的测量结果执行预先设定的控制逻辑,从而依次更新(即,跟踪)工件232的位置,并且生成针对机械手210的控制指令。典型地,作为控制装置200使用了可编程控制器(下面,称为“PLC”)。
在生成针对机械手210的控制指令时,控制装置200参照机械手210的状态值、来自与驱动传送带230的驱动辊234结合的编码器236的编码值(编码值1)以及来自与驱动传送带240的驱动辊244结合的编码器246的编码值(编码值2)。控制装置200以及视觉传感器220经由网络202可数据通信地连接,来自视觉传感器220的测量结果经由网络202向控制装置200传送。
在导入图1所示的传送带跟踪系统1时,存在事前想要评价处理能力(生产节拍等)以及处理精度等的需求。即,由于成本或时间的制约,不能实际制作传送带跟踪系统1来检讨其处理能力的情况较多。本实施方式的模拟装置是针对于想要更简单地推定这样的传送带跟踪系统1的动作的需求的装置。因此,本实施方式的模拟装置通过在三维假想空间内假想地构筑模拟对象的系统,实现更加高效的模拟。
图2是用于说明使用了本实施方式的模拟装置的模拟方法的示意图。参照图2,模拟装置将模拟对象的传送带跟踪系统2整体模型化,并且,为了模拟拍摄部222的拍摄,可以将任意的输入图像赋予该系统模型。
作为赋予传送带跟踪系统2的系统模型的输入图像,利用能够表示设计上假想的标准(例如,工件232的移动速度或单位时间的个数等)的输入图像。典型地,假想使用由类似的生产线实际拍摄的输入图像。
作为用于模拟的输入图像,假想由现有的系统(例如,模拟对象的系统更新后的系统的情况的更新前的系统)拍摄的图像,但并不限定于此,也可以使用在任意的系统以及状况下所拍摄的图像。即,若包括关于模拟的对象物(典型地,为工件232)的时间变化的信息,则可以使用任何输入图像。
另外,作为输入图像,可以是动态图像数据,也可以是按时间序列排列的多个静态图像数据。而且,通过合适地调整动态图像数据的播放速度或多个静态图像数据的更新速度,也能够调整成为控制对象的对象物的时间变化(即,移动速度)。通过这样调整赋予系统模型的输入图像,也能够利用模拟来确定控制对象的时间变化的最佳值等。
而且,作为多个静止图像,不仅是实际连续地拍摄的图像,也可以通过将在不同场景所拍摄的多个图像合适地排列而变为随时间变化的数据来当作动态输入图像。在该情况下,在生成的多个图像之间不会产生重叠,而且事实上在实施模拟时也不存在这种问题。
<B.概要>
接着,对利用本实施方式的模拟装置的模拟中的处理的概要进行说明。
在适用拾取和放置动作的应用系统中,工件存在如下情况,不配置于传送带的运送面而配置于运送面的上侧,即,机械手在传送带的运送面的上侧的某个位置与工件分离。这是因为,能够防止因与传送带的接触导致工件破损等。
图3是用于说明本实施方式的模拟装置假想的应用系统的一个例子的示意图。参照图3A,在机械手的机械臂214的顶端安装有用于吸附工件的机械手工具216。机械手工具216是例如空气式的吸附装置,其通过产生负压来夹持工件。机械手例如夹持未图示的拾取侧的传送带上的工件,并在放置侧的传送带240的运送面的上侧解除利用机械手工具216对工件的吸附。工件因重力而着地于传送带240的运送面,从而直接被运送。
另外,也假想在多个工序中分别配置另一工件的应用系统。在该情况下,使另一工件从预先配置的工件的上侧分离。
参照图3B,例如,假想如下应用系统,即,某个工件242预先被配置,在该工件242上再配置工件232。在这样的情况下,工件242在工件232的上部解除吸附。此外,图3B所示的应用系统也能够适用于例如在同一容器内依次插入多个工件的工序。
在以往的模拟技术中,在图3所示的应用系统中,由于解除工件的吸附(即,配置工件)的位置不在传送带的运送面上,因此,不能判定工件已配置于传送带上。即,在模拟中,由于不考虑工件产生的重力的影响,因此,不容易正确地模拟图3所示的应用系统。
针对这样的问题,就工件配置于运送机的运送面的上侧这样的应用系统而言,本实施方式的模拟装置能够在更加接近实际的动作的状态下进行模拟。
图4是用于说明本实施方式的模拟装置中的着地判定高度的示意图。参照图4,设定着地判定高度作为距传送带240的运送面的预定范围。在工件从安装于机械臂214的顶端的机械手工具216分离的时刻,若工件232的一部分进入规定为着地判定高度的区域内,则视为工件232着地于传送带240,从而将工件232以与传送带240同步移动的方式进行处理。此外,吸附于图4所示的机械手工具216的工件232表示工件从机械手工具216分离之前的状态。
这样,在本实施方式的模拟装置中,能够针对放置侧的传送带240设定着地判定的高度。此外,在三维假想空间内显示模拟对象的系统模型时,也可以一并显示用于表示定义着地判定高度的区域的对象250。为了不妨碍三维假想空间内的工件232的显示,该对象250也可以使用半透明(即,具有规定的透过率的颜色)的对象。即,表示由着地判定高度所定义的三维假想空间内的区域也可以由半透明的对象来表示。
如图4所示,在通过拾取和放置动作使配置的工件232与对象250接触时,即使工件232与传送带240不直接接触,也使工件232与传送带240的行进同步地移动。
图5是用于说明本实施方式的模拟装置中的着地判定高度的另一示意图。如图5所示,与存在多个工件242、232的情况相同,若工件的一部分存在于由着地判定高度所定义的区域内,则使这些对象与传送带240同步地移动。此外,吸附于图5所示的机械手工具216的工件232表示工件从机械手工具216分离之前的状态。
这样,在机械手将工件配置于距运送面的预定范围内时,模拟装置100更新工件的位置,该工件与运送面相关联。由此,在不考虑工件产生的重力的模拟中,即使在工件在远离运送机的运送面的位置分离的情况下,也能够实现与考虑实际产生的重力的情况实质上相同的模拟。
<C.模拟装置的硬件结构>
接着,对本实施方式的模拟装置100的硬件结构进行说明。典型地,本实施方式的模拟装置100通过一个或多个计算机执行程序来实现。
图6是表示本实施方式的模拟装置100的硬件结构的示意图。参照图6,作为一个例子,模拟装置100包括以通用的计算机体系结构为标准构成的计算机。模拟装置100包括处理器102、主存储器104、输入部106、显示部108、网络接口110、硬盘(HDD:Hard Disk Drive)120、光驱112、通信接口116。上述部件经由内部总线118相互可通信地连接。
处理器102通过将存储于硬盘120的程序在主存储器104中展开执行,实现后述那样的功能以及处理。主存储器104由挥发性存储器构成,作为利用处理器102执行程序所必需的工件存储器发挥作用。
典型地,输入部106包括键盘、鼠标、触摸面板、触摸板等,接受来自用户的操作。显示部108包括显示器、指示器等,对用户提示各种信息。
网络接口110在与伺服装置等外部设备之间经由网络交换数据。光驱112从光盘114等读取存储于其中的各种程序,并安装于硬盘120。通信接口116包括例如USB(Universal Serial Bus)等通信接口,在与辅助存储装置等外部设备之间经由本地通信交换数据。
硬盘120为了作为操作系统(OS:Operating System)122以及模拟程序124等的模拟装置发挥作用,存储必要的程序,并且也存储用于模拟的预先获取的输入图像即图像数据群140。
图6示出了经由光驱112将必要的程序安装于模拟装置100的结构例,但并不限定于此,也可以从网络上的伺服装置等下载。
这样,在使用通用的计算机实现的情况下,除了用于提供本实施方式的功能的程序以外,还可以安装有用于提供计算机的基本功能的操作系统(OS:Operating System)。在该情况下,本实施方式的模拟程序也可以是如下程序,即,将作为OS的一部分所提供的程序模块中的必要的模块按照规定的顺序和/或时刻调出来执行处理。即,就本实施方式的程序而言,也存在不包括上述那样的模块而与OS协作来执行处理的情况。因此,作为本实施方式的程序也可以是不包括这样的一部分的模块的方式。
本实施方式的程序也可以是编入为其他程序的一部分的程序。在该情况下,程序自身不具有包含于上述那样组合的其他程序的模块,而是与该其他程序协作来执行处理。即,作为本实施方式的模拟程序,也可以是编入这样的其他程序的方式。
图6示出了由通用的计算机实现模拟装置100的例子,但并不限定于此,也可以使用专用电路(例如,ASIC(Application Specific Integrated Circuit)等)来实现其全部或一部分。而且,也可以由外部装置来承担一部分的处理。
图6示出了本实施方式的模拟装置100通过单一的装置安装的例子,但也可以是多个装置联合来实现模拟装置100。即,本实施方式的模拟装置100也可以包括由多个独立的装置的组合所构成的系统。
<D.模拟装置的功能结构>
接着,对本实施方式的模拟装置100的功能结构进行说明。
图7是表示本实施方式的模拟装置100的功能结构的示意图。参照图7,模拟装置100作为软件功能包括视觉传感器模拟器150、控制模拟器160、视觉化模块170、用户界面模块180、系统模型模拟器190。典型地,上述功能模块群通过处理器102执行模拟程序124(均参照图6)来实现。
用户界面模块180提供关于设定参数152、控制程序162以及三维设计数据184的用于支援用户的设定、制作的操作画面等。另外,在利用视觉化模块170显示模拟结果时,用户界面模块180提供必要的用户界面。
用户界面模块180作为处理三维设计数据184的功能包括模型构筑模块182。模型构筑模块182在三维假想空间内假想地构筑模拟对象的系统。更具体地说,模型构筑模块182提供用于显示三维假想空间并且在该三维假想空间内构筑模拟对象的系统的设定及操作画面。
在本实施方式的模拟装置100中,典型地,在三维假想空间内假想地构筑系统,该系统包括:运送机(作为典型例为传送带),其具有使配置的工件连续地移动的运送面;处理装置(作为典型例为机械手),其能够夹持工件使之配置于运送面。而且,如图2所示,在系统模型内设定有视觉传感器220的拍摄区域221。就图2所示的针对拾取和放置动作的系统模型而言,也可以设定有夹持(拾取)工件的区域(跟踪区域231)和配置(放置)工件的区域(跟踪区域235)。
视觉传感器模拟器150是模拟视觉传感器220中的处理的模块,针对包括被摄物体即工件的至少一部分的输入图像进行图像测量处理,该输入图像与预先设定于三维假想空间内的运送路径(传送带)上的拍摄区域221相关联。更具体地说,视觉传感器模拟器150响应来自控制模拟器160的读取指令(作为典型例为触发信号),读取预先获取的图像数据群140中的对象的图像数据,并按照预先设定的设定参数152进行图像测量处理。
由视觉传感器模拟器150中的图像测量处理所得的测量结果向控制模拟器160输出。即,执行相当于图1所示的传送带跟踪系统中的经由网络202从视觉传感器220向控制装置200传送测量结果的处理。
控制模拟器160基于视觉传感器模拟器150的测量结果以及三维假想空间内的各工件的位置,执行生成关于处理装置的一个例子即机械手的动作的控制指令的控制运算。控制模拟器160是模拟控制装置200(参照图1)中的处理的模块,该控制模拟器160按照预先制作的控制程序162,执行控制运算(顺序指令、动作指令、各种功能指令等)。
由控制模拟器160执行的控制运算包括用于对视觉传感器模拟器150生成图像数据的读取指令(触发信号)的处理。即,在满足预先设定的条件时,控制模拟器160产生触发信号。预先设定的条件能够使用例如传送带移动了规定距离或者预先设定的周期已到来等。
系统模型模拟器190伴随着模拟的进行依次更新系统模型内的各对象的属性(各时刻的位置、朝向、速度等)。更具体地说,系统模型模拟器190制作以及更新对象属性信息192的内容,该对象属性信息192的内容与包含于由模型构筑模块182所构筑的系统模型的各对象相对应。
系统模型模拟器190将包含于构筑的系统模型的结构构件所配置的位置等作为初始值进行设定。并且,系统模型模拟器190伴随着模拟时刻的经过并基于由控制模拟器160生成的控制指令,来更新包含于对象属性信息192的各对象的属性值。更具体地说,系统模型模拟器190进行如下跟踪处理,即,基于与配置于传送带的运送面的多个工件相对应的传送带的移动量,分别更新多个工件在三维假想空间内的位置,并且更新由机械手夹持的工件在三维假想空间内的位置,该位置与机械手的动作相关联。
另外,系统模型模拟器190使表示该传送带的位置或位移的信息向控制模拟器160输出,该信息与传送带的移动相关联。作为一个例子,系统模型模拟器190也可以输出表示距基准位置的位移量的编码值,也可以产生与传送带的每单位时间的移动量成比例的脉冲。即,编码值表示传送带的位置,每单位时间的脉冲数表示传送带的速度。
控制模拟器160输出包括针对机械手的控制指令的时间序列数据和视觉传感器模拟器150的测量结果的跟踪数据。系统模型模拟器190输出包括系统模型内的各对象的时间变化等的跟踪数据。
视觉化模块170使用这些跟踪数据使系统模型所执行的模拟的结果视觉化。更具体地说,视觉化模块170基于定义文件即三维设计数据184,使在三维假想空间内假想地构筑的系统视觉化,并且,基于来自控制模拟器160的跟踪数据,再现系统中的工件以及机械手的时间变化等。利用视觉化模块170的模拟结果的视觉化可以在完成一系列的模拟的执行后执行,也可以与模拟的执行一起,随时显示其结果。
这样,视觉化模块170将模拟结果的时间变化以动画的状态显示在模拟装置100的显示部108(图3)上。
在图7所示的功能结构中,控制模拟器160输出跟踪数据,该跟踪数据包括由控制模拟器160输出的针对机械手的控制指令的时间序列数据和视觉传感器模拟器150的测量结果,但并不限定于此,视觉化模块170也可以合成这些数据来再现系统的动作。
在上述的图7中,示出了视觉化模块170使用由控制模拟器160输出的跟踪数据再现构筑的系统的动作的结构例,但未必需要在模拟装置100内安装视觉化模块170。例如,也可以将由控制模拟器160输出的跟踪数据向外部装置或外部应用系统输出,由该外部装置或外部应用系统再现系统的动作。或者,视觉化模块170也可以只生成用于再现系统的动作的动态图像数据并将其存储于任意的存储介质,由其他应用播放该动态图像数据。
<E.处理顺序>
接着,对使用了本实施方式的模拟装置100的模拟的处理顺序进行说明。
图8是表示使用了本实施方式的模拟装置100的模拟的处理顺序的流程图。参照图8,首先,模拟装置100接受系统模型的设定(步骤S2)。系统模型的设定包括构成系统的各装置的配置位置、运送机即传送带的移动速度等的设定。模拟装置100(模型构筑模块182)基于系统模型的设定,在三维假想空间内假想地构筑模拟对象的系统(系统模型)。
模拟装置100(用户界面模块180)接受在系统模型内设定的视觉传感器的拍摄区域(步骤S4)。于是,基于构筑的系统和设定的拍摄区域之间的相对位置关系,能够计算出用于将测量结果变换为控制运算的输入值的变化参数即校准参数。
接着,模拟装置100(用户界面模块180)接受用于控制系统模型的控制程序(步骤S6)。该控制程序是与系统相关联的程序,由控制模拟器160执行。
模拟装置100(用户界面模块180)接受应由视觉传感器模拟器150执行的图像测量处理的内容设定(步骤S8)。作为设定的内容,包括图像测量处理的处理内容的指定和与被指定的处理内容相对应的参照信息(模型图像、由模型图像计算出的特征量等)。
通过上面那样的顺序,完成用于进行模拟的设定。
在指示开始模拟时,模拟装置100(系统模型模拟器190)设定作为系统模型内的各对象的属性的初始值(步骤S10)。更具体地说,模拟装置100(系统模型模拟器190)针对系统模型内存在的各工件的位置、表示传送带的位置或移动量的编码值、机械手的位置等分别设定初始值。
接着,模拟装置100(系统模型模拟器190)将传送带的编码值更新为经过预定的模拟的一个周期后的值,并且更新配置于传送带的运送面的各工件的位置(步骤S12)。此时,对后面所述的相互关联的工件彼此赋予同一更新量。
接着,模拟装置100(控制模拟器160)基于更新后的编码值以及各工件的位置,判断是否满足产生触发信号的条件(步骤S14)。
若满足产生触发信号的条件(在步骤S14中为YES的情况下),则假想地产生触发信号(步骤S16)。模拟装置100(视觉传感器模拟器150)响应触发信号的产生,读取预先获取的图像数据群中的对象的图像数据,并执行图像测量处理(步骤S18)。
模拟装置100(系统模型模拟器190)判断是否通过图像测量处理重新检测出工件(步骤S20)。若通过图像测量处理重新检测出工件(在步骤S20中为YES的情况下),则模拟装置100(系统模型模拟器190)生成针对检测出的工件的新的对象(步骤S22)。即,模拟装置100(系统模型模拟器190)响应利用视觉传感器模拟器150检测出工件,使该检测出的工件出现在三维假想空间内。此时,生成的新的对象的位置基于包含于拍摄区域的位置以及测量结果的局部坐标值被计算出。
若通过图像测量处理未重新检测出工件(在步骤S20中为NO的情况下),则跳过步骤S22的处理。
另一方面,若不满足产生触发信号的条件(在步骤S14中为NO的情况下),则跳过步骤S16~S22的处理。
接着,模拟装置100(控制模拟器160)基于更新后的编码值以及各工件的位置,按照控制程序162来执行控制运算,从而生成控制指令(步骤S24)。模拟装置100(系统模型模拟器190)基于生成的控制指令,更新机械手的位置以及相关联的工件的位置(步骤S26)。例如,在机械手夹持或运送任一工件时,根据该机械手的动作来更新对象的工件的位置。另外,在机械手配置工件(例如,解除吸附)时,更新对象的工件的位置以及状态。
并且,模拟装置100(系统模型模拟器190)基于更新后的工件的位置,判断工件是否着地于传送带的运送面或者是否与其他工件接触(步骤S28)。若判断为工件着地于传送带的运送面或者与其他工件接触(在步骤S28中为YES的情况下),则模拟装置100(系统模型模拟器190)使对象的工件与传送带或对象的工件彼此相关联(步骤S30)。
模拟装置100判断预先设定的模拟期间是否已满(步骤S32)。若预先设定的模拟期间未满(在步骤S32中为NO的情况下),则反复执行步骤S12以下的处理。
相对于此,若预先设定的模拟期间已满(在步骤S32中为YES的情况下),则模拟结束。
在模拟结束后,也可以使用由模拟生成的跟踪数据使系统的动作视觉化。
<F.向运送面的着地判断的详细>
接着,详细说明判断工件是否已着地于传送带的运送面的处理(图8的步骤S28的前半部分的处理)。
图9是表示图8所示的步骤S28的前半部分的详细的处理顺序的流程图。参照图9,模拟装置100(控制模拟器160)判断是否已生成用于解除机械手工具的吸附的控制指令(步骤S2801)。若未生成用于解除机械手工具的吸附的控制指令(在步骤S2801中为NO的情况下),则模拟装置100判断为吸附被解除的跟踪机械手工具的任一工件均未着地于传送带的运送面(步骤S2802)。并且,返回图8的步骤S28以后的处理。
相对于此,若生成用于解除机械手工具的吸附的控制指令(在步骤S2801中为YES的情况下),模拟装置100获取成为控制指令的对象的机械手工具吸附的工件的最下点的坐标值(步骤S2803),并计算出从传送带到工件的最下点的距离(相当于图4所示的距离d等)(步骤S2804)。
模拟装置100判断计算出的从传送带到工件的最下点的距离是否在预先设定的着地判定高度以下(步骤S2805)。若计算出的距离超过预先设定的着地判定高度(在步骤S2805中为NO的情况下),则模拟装置100判断为吸附被解除的跟踪机械手工具的任一工件均未着地于传送带的运送面(步骤S2806)。并且,进入后述的图15的步骤S2811以后的处理。
相对于此,若计算出的距离在预先设定的着地判定高度以下(在步骤S2805中为YES的情况下),则模拟装置100判断为对象的工件已着地于传送带的运送面(步骤S2807)。并且,返回至图8的步骤S28以后的处理。
图10是表示使利用本实施方式的模拟装置100在三维假想空间内所构筑的系统模型视觉化的一个例子的图。本实施方式的模拟装置100能够从任意方向渲染三维假想空间内的模型。即,被视觉化的系统模型的视点可以由用户任意地变更。
参照图10,运送被夹持(拾取)的工件的传送带230和运送被配置(放置)的工件的传送带240并列配置。并且,配置两个机械手311以及313,所述机械手311以及313与传送带230以及传送带240相对应。在该系统模型中,工件232被传送带230从纸面左侧向纸面右侧运送。若工件232到达预先设定的跟踪区域231或跟踪区域233,则各个机械手311或机械手313夹持已到达的工件232,并将该工件配置(放置)于传送带240。机械手311以及机械手313分别将工件232配置于设定的跟踪区域235以及237,所述跟踪区域235以及237与传送带240相关联。传送带230运送的工件232朝向随机方向,但在配置于传送带240的情况下,使所述工件232在预定的方向上对齐。
作为应用系统的一个例子,在传送带230上存在至少两个种类的工件232。机械手311控制为拾取和放置某个规定的类别的工件,机械手313控制为拾取和放置另一类别的工件。也存在工件的形状因类别而不同的情况,在这样的情况下,优选专用安装有分别适用于各类别的工件的机械手工具的机械手。
在三维假想空间内,在传送带240的上侧重叠显示表示由着地判定高度所定义的区域的半透明(具有规定的透过率的颜色)的对象250。该对象250通过用户的设定操作,也能够变为非显示。通过显示这样的对象250,用户一看就能够掌握在系统模型中着地判定高度设定在哪个范围内。
就着地判定高度而言,也可以根据模拟对象的系统(应用系统)任意地设定。即,模拟装置100也可以具有输入机构,该输入机构接受着地判定高度(判定已着地的预定范围的大小)的设定。
图11是表示本实施方式的模拟装置100中的设定着地判定高度的用户界面画面的一个例子的示意图。参照图11A,设定输入画面300具有用于输入着地判定高度的输入框302,用户能够在该输入框302内直接输入期望值或操作按钮304来输入期望值。
而且,也可以根据工件的类别(品种或形状等)分别设定着地判定高度。图11B所示的设定输入画面310具有类别1的工件用的输入框312和类别2的工件用的输入框316。用户能够在输入框312直接输入期望的着地判定高度或操作按钮314来输入期望的着地判定高度,另外,用户能够在输入框316直接输入期望的着地判定高度或操作按钮318来输入期望的着地判定高度。
此外,即使着地判定高度设定为0,为了吸收判定误差等,优选设定一定程度的余量。
图12是用于说明在本实施方式的模拟装置100中将着地判定高度设定为0时的着地判定范围的示意图。如图12所示,即使着地判定高度设定为0,在传送带240(放置侧传送带)上也设定规定高度的判定为着地的区域(相当于图10所示的对象250)。作为该区域的高度,根据系统模型中的位置管理的精度来设定。
通过对这样的着地判定高度设定余量,在判断工件是否与传送带已接触的处理(接触判定)中,在工件在接近接触传送带的位置被机械手放开的情况下,能够防止未判断为接触的不好的情况。
<G.与其他工件的接触判断的详细>
接着,详细说明判断工件是否与其他工件已接触的处理(图8的步骤S28的后半部分的处理)。即,如参照上述的图3B进行的说明,假想在先配置于运送面的工件上层叠配置其他工件的情况。
图13是用于说明本实施方式的模拟装置100中的接触判定余量的示意图。参照图13A,作为用于判定配置于传送带的运送面的工件232与其他工件的接触的富余量,接触判定余量设定于工件232的周围。在工件配置于由接触判定余量规定的区域260内时,两个工件相互关联地与传送带同步移动。与图10所示的表示由着地判定高度定义的区域的对象250相同,也可以使用半透明的对象等使区域260视觉化。通过所述视觉化,用户一看就能够掌握由接触判定余量所规定的区域。
就将接触判定余量设定于工件232的周围而言,例如,在同一容器内配置多个工件的系统中,不需要将其他工件与先行的工件严密地重叠,只将其他工件配置于先行的工件的周围即可。在这样的系统中,优选地,不仅在工件232的上表面而且在工件232的周围也设定接触判定余量。另外,在传送带的运送面上的工件232的朝向不定的系统中,优选地,不仅在工件232的特定的面设定接触判定余量,而且在工件232的整周设定接触判定余量。另一方面,若是将工件彼此重叠的应用系统,则也可以将接触判定余量只设定在工件232的上表面侧。
图13B表示沿着图13A的A-A线的剖视图。包括接触判定余量的判定区域的大小(区域高度Hm)能够任意地设定,但也可以以工件232的高度作为基准来决定。例如,也可以根据三维假想空间内的工件232的高度来决定接触判定余量的大小。例如,按照下面的数式,也可以由工件232的高度的常数倍来计算出区域高度Hm。
区域高度Hm=α×工件的高度h
接触判定余量=(α-1)×工件的高度h
但是,α>1(const)
或者,与上述的图11所示的用户界面画面相同,用户也可以任意地设定接触判定余量的大小。
而且,也可以针对工件的各个面分别设定独立的接触判定余量,也可以根据工件的类别(品种、形状等)分别设定各自的接触判定余量。
图14是用于说明本实施方式的模拟装置中的与其他工件的接触判断的概要的示意图。参照图14,在利用机械臂214的顶端的机械手工具216解除对工件232的吸附的时刻,计算出与配置于工件232的下侧的工件242之间的距离,若工件232进入由接触判定余量规定的工件242的区域260内,则判断为工件232与工件242接触。
作为具体的计算顺序的一个例子,以工件232的重心为基准,计算出与处于工件232的重心的正下方的工件242的距离d1和从工件232的重心到工件232的底面的距离d2。并且,若距离d1与距离d2的差在接触判定余量以下,则判断为工件232与工件242接触。在该情况下,工件232以及工件242一体化地与传送带240同步移动。
图15是表示图8所示的步骤S28的后半部分的详细的处理顺序的流程图。参照图15,模拟装置100判断在成为控制指令的对象的机械手吸附的工件的正下方是否存在任一工件(步骤S2811)。若在成为控制指令的对象的机械手吸附的工件的正下方不存在任一工件(在步骤S2811中为NO的情况下),则模拟装置100判断为成为控制指令的对象的机械手吸附的工件与其他工件不接触(步骤S2812)。并且,返回至图8的步骤S28以后的处理。
若在成为控制指令的对象的机械手吸附的工件的正下方存在任一工件(在步骤S2811中为YES的情况下),则模拟装置100计算出从对象工件的重心到处于该对象工件的正下方的工件的距离d1(步骤S2813),并且计算出从对象工件的重心到该对象工件的底面的距离d2(步骤S2814)。并且,模拟装置100判断距离d1与距离d2的差是否在接触判定余量以下(步骤S2815)。
若距离d1与距离d2的差在接触判定余量以下(在步骤S2815中为YES的情况下),则模拟装置100判断为对象工件与其他工件接触(步骤S2816)。并且,模拟装置100修正对象工件的位置,以使对象工件重叠配置于处于该对象工件的正下方的工件上(步骤S2817)。即,如图14所示,更新工件232的位置,以使在工件232与工件242之间存在的一段距离变为0。并且,返回至图8的步骤S28以后的处理。
另一方面,若距离d1与距离d2的差超过接触判定余量(在步骤S2815中为NO的情况下),则模拟装置100判断为成为控制指令的对象的机械手吸附的工件与其他工件未接触(步骤S2812)。并且,返回至图8的步骤S28以后的处理。
通过上面那样的处理,判断是否某个工件与其他工件已接触。若判断出某个工件与其他工件已接触,则以该工件重叠于其他工件上且与传送带同步移动的方式进行处理。
图16是用于说明本实施方式的模拟装置中的工件彼此的关联的示意图。参照图16A,若工件1与工件2相关联,则对两工件的位置赋予同一变化量。在图16所示的例子中,在某个时刻,将工件1的坐标值设为(x1,y1,z1)且将工件2的坐标值设为(x2,y2,z2)。通过任一事件,如图16B所示,工件1的坐标值从(x1,y1,z1)变换为(x1+Δx,y1+Δy,z1+Δz)。于是,如图16C所示,对工件2的坐标值也赋予相同的变化量(Δx,Δy,Δz),从而工件2的坐标值从(x2,y2,z2)变换为(x2+Δx,y2+Δy,z2+Δz)。
如上所述,若机械手将第二工件配置在距被视为配置于任一运送面的第一工件的表面预定的范围(接触判定余量)内,则本实施方式的模拟装置100将更新该第一工件的位置以及该第二工件的位置,该第一工件的位置以及该第二工件的位置相关联。这样,在相关联的工件之间,通过实施图16所示的处理,能够使多个工件一体地移动。
<H.针对对象彼此的关联的优先度>
如上所述,本实施方式的模拟装置100能够将工件与运送面相互关联或将工件与其他工件相互关联来更新该工件的位置。但是,在着地判定/接触判定的时刻,也存在判定为一个工件着地于运送面,并且也与其他工件接触的情况。在这样的情况下,优选地,针对对象的工件与哪个对象相关联设定优先度。
例如,在判定工件232着地于放置侧的传送带240的情况下,若判定也与先配置于该放置侧的传送带240的其他工件接触,则能够进行优先与传送带240的关联的设定。或者,相反,也可以使工件232不先与传送带240关联,而优先与其他工件关联。
作为该优先度的设定,将放置侧的传送带240设定为“1”,将其他工件设定为“2”,在多个对象之间进行着地/接触判定时,也可以选择对象中的优先度更高的对象。通过采用这样的结构,能够避免工件与没有意向的对象相关联的事态。
这样,在运送面以及其他对象物存在于机械手210配置工件的范围内的情况下,本实施方式的模拟装置100具有按照预定的优先度将该工件与运送面以及其他工件中的任一方相关联的功能。
<I.工件的位置更新>
接着,说明利用本实施方式的模拟装置100的工件位置的更新处理。在本实施方式的模拟装置100中,视觉化模块170(图7)对输入图像实施用于搜索工件的图像测量处理,使该被搜索的工件显现在三维假想空间内。
图像测量处理的测量结果包括表示输入图像内的被搜索的部分(对象)的中心位置的坐标值(x,y)。该坐标值(x,y)是图像测量处理所使用的局部坐标系的值,需要变换为三维假想空间内的坐标值。
具体地说,模拟装置100使用用于将图像测量处理所使用的输入图像所设定的摄像头坐标系的坐标(x,y)变换为定义三维假想空间的世界坐标系的坐标(X,Y,Z)的变换系数A~G,以如下方式从由视觉传感器模拟器150检测出的工件的坐标值(x,y)计算出输入至控制模拟器160时的初始位置。
工件的初始位置X0=A×x+B×y+C
工件的初始位置Y0=D×x+E×y+F
工件的初始位置Z0=G
编码值的位移量Et中的工件的位置能够使用编码值的每个脉冲的传送带的X轴方向的移动量Xd、Y轴方向的移动量Yd、传送带的Z轴方向的移动量Zd(但是,基本上为0),以下如下方式计算出。
工件的位置(X)=Xd×Et+X0
工件的位置(Y)=Yd×Et+Y0
工件的位置(Z)=Zd×Et+Z0
此外,在使用编码值的绝对值的情况下,也能够将距各工件被初始显示的时刻的编码值的偏差适用于上面的计算式。模拟装置100按照这样的计算式依次更新各工件的位置。
<J.附加的对象>
在上述的说明中,对使多个工件彼此相关联而与传送带同步移动的应用系统进行了说明。作为这样的应用系统的具体例,假想在同一容器内配置多个工件的处理。在使这样的应用系统的模拟视觉化时,优选与容器一并显示。
图17是表示使本实施方式的模拟装置100的模拟结果视觉化的一个例子的图。参照图17,在传送带240上沿着用户预先设定的间隔,显示有相当于容器的多个对象270。对象270的间隔例如基于所要求的标准(生产节拍等)预先设定。基于该设定,在再现模拟结果时,在传送带240上重叠显示对象270。
对象270的位置能够用于表示确定工件的配置位置的基准。除了对象270以外,还可以显示基准线280。
用户也可以预先任意地设定对象270的形状、颜色、大小等。而且,也可以用透明或半透明来显示对象270,使得一看就能够掌握对象270与工件232之间的位置关系。
如图17所示,除了工件232以外,通过假想地显示附加的对象270和/或基准线280,能够视觉地评价针对工件的处理是否按设计进行动作。
<K.工件的高度方向的位置修正>
接着,说明工件的高度方向的位置修正。如参照图4以及图5的说明,若工件在距传送带的运送面的着地判定高度的范围内被解除吸附,则视为工件已着地于传送带,从而工件与传送带同步移动。
此时,作为工件的高度,可以维持吸附被解除的时刻的高度,也可以修正工件的高度方向的位置而配置于传送带的运送面。
图18是用于说明本实施方式的模拟装置中的高度方向的位置修正的示意图。参照图18,在工件232在传送带的着地判定高度以内的位置被解除吸附时,在修正高度方向的位置而配置于传送带的运送面的基础上,该工件232与传送带240同步移动。
如图18所示,若机械手将工件配置在距传送带的运送面的着地判定高度的范围内,则模拟装置100(图7的系统模型模拟器190)也可以更新三维假想空间内的该工件的高度方向的位置,以使该工件与对象的运送面接触。通过进行这样的工件的高度方向的位置修正,能够进行更接近实际的动作的模拟。另外,在进行重叠配置工件那样的模拟时也适用。
<L.伴随着机械手的移动的工件的位置修正>
接着,对考虑机械手配置(放置)工件时的动作的工件的位置修正进行说明。在实际的拾取和放置动作中,在配置工件之前,机械手与工件的配置位置即传送带都以一定的移动速度向水平方向移动。即,在机械手与传送带之间的相对速度尽可能变为0之后,解除工件的吸附。
图19是用于说明本实施方式的模拟装置100中的工件的位置修正处理的示意图。参照图19A,在配置工件之前(时刻T1),机械手以与传送带240的移动速度同步的方式向水平方向移动。
如图19B所示,在利用机械臂214的顶端的机械手工具216解除工件的吸附之后(T1+Δt),通过伴随着之前的机械手的水平移动的惯性,在水平方向上移动一定程度的距离(ΔL)。
因此,也可以在对解除机械手吸附的时刻的工件的位置修正其水平方向的偏移量(距离ΔL)的基础上,来判断工件是否已着地于传送带的运送面。即,模拟装置100(图7的系统模型模拟器190)也可以根据机械手放开工件的夹持时的三维假想空间内的水平方向的速度,来修正三维假想空间内的该工件的水平方向的位置。
如图19C所示,在严密地思考后认为,在利用机械臂214的顶端的机械手工具216解除对工件的吸附之后(T1+Δt),因伴随着之前的机械手的水平移动的惯性,在水平方向上移动一定程度的距离(ΔL),并且,因重量,在高度方向上移动一定程度的距离(ΔH)。
因此,也可以在对解除机械手吸附的时刻的工件的位置修正其水平方向的偏移量(距离ΔL)以及高度方向的偏移量(距离ΔH)的基础上,来判断工件是否已着地于传送带的运送面。
就图19B以及图19C所示的偏移量的修正而言,也可以考虑之前的机械手的移动速度(以及,根据需要为加速度),每次计算出偏移量的大小。或者,为了降低计算量,也可以将预定的固定值作为偏移量使用。
通过进行这样的修正,能够进行更好地反映实际的动作的模拟。
<M.其他实施方式>
在上述的实施方式中,对利用机械手夹持在拾取侧传送带上连续地被运送的工件并运送至放置侧传送带,将该工件配置于放置侧传送带上的结构进行了例示。但是,并不限定于被夹持的工件连续地配置于拾取侧传送带上的结构,也能够应用于利用机械手夹持从静止的多个工件(例如,散装)中指定的工件或任意的工件的应用系统。
<N.利点>
根据本实施方式的模拟装置100,例如,在进行拾取和放置动作等的传送带系统中,即使在以从传送带的运送面的上侧放开工件的方式将工件配置于运送面的情况下,也能够使工件与传送带同步移动来合适地进行跟踪。
另外,即使在先将工件配置于传送带的运送面,且在先配置的工件的附近进行机械手放开其他工件的处理的情况下,也能够使工件彼此相关联且与传送带同步移动来合适地跟踪两者。
本次公开的实施方式在所有方面均为例示,并不用于限制。本发明的范围不是由上述说明而是由权利要求的范围示出,旨在包含与权利要求的范围均等的含义以及范围内的全部变更。

Claims (10)

1.一种模拟装置,用于推定系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持所述对象物使之配置于所述运送面,其中,
该模拟装置具有:
构筑机构,其在三维假想空间内假想地构筑所述系统,
跟踪机构,其基于与配置于所述运送面的多个对象物相对应的运送机的移动量,分别更新所述多个对象物在所述三维假想空间内的位置,并且更新由所述处理装置夹持的对象物在所述三维假想空间内的位置,所述对象物在所述三维假想空间内的位置与所述处理装置的动作相关联,以及
生成机构,其基于所述三维假想空间内的各个对象物的位置,生成针对所述处理装置的动作的控制指令;
在所述处理装置将第一对象物配置在距所述运送面的预定范围内时,所述跟踪机构将所述第一对象物与所述运送面相关联来更新所述第一对象物的位置,
在所述处理装置将第二对象物配置在距所述运送面的规定范围内的情况下,在距所述第二对象物的表面的规定的范围内存在所述运送面以及所述第一对象物时,所述跟踪机构按照预定的优先度,将所述第二对象物与所述运送面以及所述第一对象物中的任一方相关联,来更新所述第二对象物的位置。
2.如权利要求1所述的模拟装置,其中,
所述跟踪机构根据所述三维假想空间内的对象物的高度确定所述预定范围的大小。
3.如权利要求1所述的模拟装置,其中,
还具有输入机构,该输入机构接受所述预定范围的大小的设定。
4.如权利要求2所述的模拟装置,其中,
还具有输入机构,该输入机构接受所述预定范围的大小的设定。
5.如权利要求1~4中任一项所述的模拟装置,其中,
利用半透明的对象表现表示所述预定范围的三维假想空间内的区域。
6.如权利要求1~4中任一项所述的模拟装置,其中,
在所述处理装置将对象物配置在距运送面的预定范围内时,所述跟踪机构更新所述三维假想空间内的该对象物的高度方向的位置,使得该对象物与该运送面接触。
7.如权利要求5所述的模拟装置,其中,
在所述处理装置将对象物配置在距运送面的预定范围内时,所述跟踪机构更新所述三维假想空间内的该对象物的高度方向的位置,使得该对象物与该运送面接触。
8.如权利要求1~4中任一项所述的模拟装置,其中,
所述跟踪机构根据所述处理装置放开对对象物的夹持时的所述三维假想空间内的水平方向的速度,修正所述三维假想空间内的该对象物的水平方向的位置。
9.如权利要求1~4中任一项所述的模拟装置,其中,
还具有测量机构,该测量机构对包括被摄物体即对象物的至少一部分的输入图像进行图像测量处理,所述输入图像与在所述三维假想空间内的运送面预先设定的区域相关联,
所述跟踪机构响应所述测量机构对对象物的检测,使被检测的该对象物出现在所述三维假想空间内。
10.一种模拟方法,由计算机来执行,该模拟方法用于推定系统的动作,该系统包括:运送机,其具有使配置的对象物连续地移动的运送面;处理装置,其能够夹持所述对象物使之配置于所述运送面,其中,
该模拟方法包括:
构筑步骤,在三维假想空间内假想地构筑所述系统,
更新步骤,基于与配置于所述运送面的多个对象物相对应的运送机的移动量,分别更新所述多个对象物在所述三维假想空间内的位置,并且更新由所述处理装置夹持的对象物在所述三维假想空间内的位置,所述对象物在所述三维假想空间内的位置与所述处理装置的动作相关联,
控制指令生成步骤,基于所述三维假想空间内的各个对象物的位置,生成针对所述处理装置的动作的控制指令,
所述更新步骤包括:
在所述处理装置将第一对象物配置在距所述运送面的预定范围内时,将所述第一对象物与所述运送面相关联来更新所述第一对象物的位置的步骤,
在所述处理装置将第二对象物配置在距所述运送面的规定范围内的情况下,在距所述第二对象物的表面的规定的范围内存在所述运送面以及所述第一对象物时,按照预定的优先度,将所述第二对象物与所述运送面以及所述第一对象物中的任一方相关联,来更新所述第二对象物的位置的步骤。
CN201610991540.XA 2015-11-18 2016-11-10 模拟装置以及模拟方法 Active CN106896790B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015225784A JP6458713B2 (ja) 2015-11-18 2015-11-18 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP2015-225784 2015-11-18

Publications (2)

Publication Number Publication Date
CN106896790A CN106896790A (zh) 2017-06-27
CN106896790B true CN106896790B (zh) 2020-03-10

Family

ID=58816957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610991540.XA Active CN106896790B (zh) 2015-11-18 2016-11-10 模拟装置以及模拟方法

Country Status (3)

Country Link
US (1) US10353383B2 (zh)
JP (1) JP6458713B2 (zh)
CN (1) CN106896790B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6601179B2 (ja) * 2015-11-18 2019-11-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US20180029235A1 (en) * 2016-07-28 2018-02-01 X Development Llc Error Accrual and Mitigation During Robotic Process
US10220511B2 (en) * 2016-07-28 2019-03-05 X Development Llc Customized robotic installation based on measurements collected on site
US10121117B1 (en) 2016-09-08 2018-11-06 Amazon Technologies, Inc. Drone location signature filters
US10049589B1 (en) * 2016-09-08 2018-08-14 Amazon Technologies, Inc. Obstacle awareness based guidance to clear landing space
US10198955B1 (en) 2016-09-08 2019-02-05 Amazon Technologies, Inc. Drone marker and landing zone verification
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP6972873B2 (ja) * 2017-10-04 2021-11-24 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JP6734306B2 (ja) * 2018-01-25 2020-08-05 ファナック株式会社 物品搬送システムおよびロボットシステム
JP6859967B2 (ja) * 2018-02-16 2021-04-14 オムロン株式会社 コンベアトラッキングシステムおよびキャリブレーション方法
CN108638066B (zh) * 2018-05-16 2020-07-14 广州视源电子科技股份有限公司 一种用于机器人的传送带同步跟踪的装置、方法及系统
WO2020006146A1 (en) * 2018-06-26 2020-01-02 Fanuc America Corporation Augmented reality visualization for robotic picking system
US10576526B2 (en) * 2018-07-03 2020-03-03 Komatsu Industries Corporation Workpiece conveying system, and workpiece conveying method
JP7124509B2 (ja) * 2018-07-19 2022-08-24 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
US20210271791A1 (en) * 2018-08-09 2021-09-02 Fuji Corporation Simulation method and simulation system
US10399778B1 (en) * 2018-10-25 2019-09-03 Grey Orange Pte. Ltd. Identification and planning system and method for fulfillment of orders
CN109625922A (zh) * 2018-11-30 2019-04-16 安徽智训机器人技术有限公司 一种用于智能制造的自动上下料系统及方法
EP3914425A4 (en) * 2019-01-21 2022-08-24 ABB Schweiz AG METHOD AND DEVICE FOR PRODUCTION LINE SIMULATION
JP7000363B2 (ja) * 2019-01-25 2022-01-19 ファナック株式会社 ロボット制御装置および管理システム
US11080327B2 (en) * 2019-04-18 2021-08-03 Markus Garcia Method for the physical, in particular optical, detection of at least one usage object
JP2020199625A (ja) * 2019-06-13 2020-12-17 ファナック株式会社 シミュレーション装置
JP7368147B2 (ja) * 2019-09-02 2023-10-24 ファナック株式会社 搬送シミュレーション装置、及び搬送システム
JP7388074B2 (ja) * 2019-09-17 2023-11-29 オムロン株式会社 シミュレーション装置、シミュレーションプログラムおよびシミュレーション方法
JP2022043871A (ja) * 2020-09-04 2022-03-16 オムロン株式会社 制御装置、制御システムおよびプログラム
CN114968217A (zh) * 2021-02-25 2022-08-30 西门子股份公司 数控机床系统的编程方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101097440A (zh) * 2006-06-27 2008-01-02 株式会社东芝 用于通过模拟来验证控制程序的装置和方法
EP2843556A1 (en) * 2012-03-15 2015-03-04 Omron Corporation Simulator, simulation method, and simulation program

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3568678B2 (ja) 1996-03-26 2004-09-22 三菱電機株式会社 運動連鎖模擬システム
JP3632127B2 (ja) * 2001-07-30 2005-03-23 株式会社日立製作所 有限要素メッシュの生成装置
JP4056542B2 (ja) * 2005-09-28 2008-03-05 ファナック株式会社 ロボットのオフライン教示装置
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
JP4653836B2 (ja) * 2008-12-12 2011-03-16 ファナック株式会社 シミュレーション装置
JP5316563B2 (ja) 2011-02-15 2013-10-16 オムロン株式会社 画像処理装置および画像処理システム
JP5773200B2 (ja) * 2011-07-28 2015-09-02 株式会社ダイフク 処理設備
JP5426719B2 (ja) * 2012-05-18 2014-02-26 ファナック株式会社 ロボットシステムの動作シミュレーション装置
JP5978790B2 (ja) * 2012-06-11 2016-08-24 富士通株式会社 シミュレーション装置、シミュレーション方法、シミュレーションプログラム、および搬送シミュレーションプログラム
US20130335405A1 (en) * 2012-06-18 2013-12-19 Michael J. Scavezze Virtual object generation within a virtual environment
JP6015282B2 (ja) * 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6115158B2 (ja) 2013-01-31 2017-04-19 富士通株式会社 プログラム、演算装置および演算方法
WO2016079960A1 (en) * 2014-11-18 2016-05-26 Seiko Epson Corporation Image processing apparatus, control method for image processing apparatus, and computer program
DE102015205220A1 (de) * 2015-03-23 2016-09-29 Osram Gmbh Tracking-System und Verfahren zum Tracken eines Trägers einer mobilen Kommunikationseinheit
JP6551184B2 (ja) * 2015-11-18 2019-07-31 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP6601179B2 (ja) * 2015-11-18 2019-11-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101097440A (zh) * 2006-06-27 2008-01-02 株式会社东芝 用于通过模拟来验证控制程序的装置和方法
EP2843556A1 (en) * 2012-03-15 2015-03-04 Omron Corporation Simulator, simulation method, and simulation program

Also Published As

Publication number Publication date
JP2017097427A (ja) 2017-06-01
US20170235300A1 (en) 2017-08-17
JP6458713B2 (ja) 2019-01-30
CN106896790A (zh) 2017-06-27
US10353383B2 (en) 2019-07-16

Similar Documents

Publication Publication Date Title
CN106896790B (zh) 模拟装置以及模拟方法
US10410339B2 (en) Simulator, simulation method, and simulation program
EP3171237B1 (en) Simulator, simulation method, and simulation program
US10401844B2 (en) Simulator, simulation method, and simulation program
EP1864764B1 (en) Robot simulation apparatus
JP7326911B2 (ja) 制御システムおよび制御方法
JP6826069B2 (ja) ロボットの動作教示装置、ロボットシステムおよびロボット制御装置
JP6915441B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
EP3330815B1 (en) Simulator, simulation method, and simulation program
US20220292234A1 (en) Simulation apparatus, recording medium, and simulation method
US20220147026A1 (en) Method and Apparatus for Improved Auto-Calibration of a Robotic Cell
US20210018903A1 (en) Information processing system, information processing method, and recording medium
EP3330813B1 (en) Simulator, simulation method, and simulation program
Heidari et al. Virtual reality synthesis of robotic systems for human upper-limb and hand tasks
JP6972873B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2021117519A (ja) シミュレーション装置およびシミュレーションプログラム
WO2021181804A1 (ja) シミュレーション装置およびプログラム
Henst Declaration concerning the TU/e Code of Scientific Conduct
JP2021142596A (ja) シミュレーション装置およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant