模拟装置以及模拟方法与流程

文档序号:11619942阅读:226来源:国知局
模拟装置以及模拟方法与流程

本发明涉及用于推定系统的动作的模拟装置以及模拟方法。



背景技术:

在工厂自动化(fa:factoryautomation)领域中,使用视觉传感器的自动控制技术被广泛的利用。例如,通过对工件等的对象物进行拍摄并对该拍摄的图像执行图形匹配等的图像测量处理,实现用于操作各种的控制设备的自动化处理。

例如,日本特开2012-187651号公报(专利文献1)公开了包括视觉传感器以及机械手的传送带跟踪的结构。在该传送带跟踪的系统中,视觉传感器以及用于控制机械手的机械手控制装置经由网络连接。

在上述那样的自动控制技术的对象的系统的设计或检讨等阶段,需要预先评价系统整体的性能等。针对这样的需求,假想地构筑系统来实现模拟动作的技术。例如,日本特开2013-191128号公报(专利文献2)公开了进行包含与假想拍摄部对应的实际空间的视觉传感器的机械系统的综合模拟的技术。在专利文献2公开的技术中,通过联合3d模拟器与视觉传感器模拟器,假想地生成各个时刻的3d空间内的工件的拍摄图像。

专利文献1:日本特开2012-187651号公报

专利文献2:日本特开2013-191128号公报

在上述的专利文献2以及专利文献3公开的技术中,需要对工件或对象物预先定义。因此,例如,在检讨现有的系统等的改造的情况、检讨现有的系统的替换等的情况下,包括工件都需要模型化。

因此,在工件等的图像数据预先存在的情况下,期望高效地实现模拟的结构。而且,就针对现有的图像数据的图像测量处理的时刻而言,存在想要更加严密地进行模拟的需求。



技术实现要素:

本发明的一个技术方案提供一种用于推定系统的动作的模拟装置。模拟装置包括在三维假想空间内假想地构筑包括运送机的系统的构筑机构。在与运送机相关联的运送路径上的第一部位假想地配置有视觉传感器,并且在运送路径上的第二部位假想地配置有处理装置。模拟装置包括:测量机构,其对预先获取的图像数据进行与视觉传感器相对应的图像测量处理;执行机构,其基于测量机构的测量结果生成针对处理装置的控制指令,并且执行用于对测量机构生成图像数据的读取指令的控制运算;存储机构,其存储根据读取指令所读取的图像数据,该图像数据与表示运送机的位置或位移的信息相关联,该位置或位移的信息表示根据该读取指令所执行的图像测量处理的基准;再现机构,其基于由执行机构输出的控制运算的时间序列数据和与由存储机构存储的图像数据相关联的信息,再现构筑的系统的动作。

在本说明书中“再现”是指,模拟装置进行在假想空间所构筑的系统的运算而使系统假想地动作。“再现”包括模拟。

优选地,测量机构向执行机构除了输出测量结果外,还输出表示运送机的位置或位移的信息,所述运送机的位置或位移的信息与用于该测量结果的生成的图像数据相关联。

优选地,执行机构基于测量结果附带的表示运送机的位置或位移的信息,在修正三维假想空间内的对象物的位置的基础上执行控制运算。

优选地,执行机构利用测量结果附带的表示运送机的位置或位移的信息与执行控制运算时的表示运送机的位置或位移的信息的差分,计算出对象物的位置的修正量。

优选地,再现机构显示构筑的系统的动作,并且显示图像测量处理的对象的图像数据。

优选地,再现机构基于测量结果附带的表示运送机的位置或位移的信息,修正对象物的显示位置。

优选地,还具有生成机构,该生成机构用于生成表示运送机的位置或位移的信息,所述运送机的位置或位移的信息与运送机的移动相关联。

优选地,存储机构将信息与图像数据的文件名或图像数据内的区域相关联。

本发明的其他技术方案提供一种模拟方法,由计算机执行,该模拟方法用于推定系统的动作。模拟方法包括在三维假想空间内假想地构筑包括运送机的系统的步骤。在与运送机相关联的运送路径上的第一部位假想地配置有视觉传感器,并且在运送路径上的第二部位假想地配置有处理装置。模拟方法包括:对预先获取的图像数据进行与视觉传感器相对应的图像测量处理的步骤;基于测量机构的测量结果生成针对处理装置的控制指令,并且执行用于生成图像数据的读取指令的控制运算的步骤,该读取指令用于开始图像测量处理;存储根据读取指令所读取的图像数据的步骤,该图像数据与表示运送机的位置或位移的信息相关联,所述位置或位移的信息表示根据读取指令所执行的图像测量处理的基准;基于由执行的步骤输出的控制运算的时间序列数据和与存储的图像数据相关联的信息,再现构筑的系统的动作的步骤。

根据本发明,能够使用预先获取的工件等的图像数据更加严密地模拟系统的动作。

附图说明

图1是表示本实施方式的模拟装置中的模拟的前提的系统结构例的示意图。

图2是表示对图1所示的传送带跟踪系统添加新的机械手的传送带跟踪系统的结构例的示意图。

图3是用于说明使用了本实施方式的模拟装置的模拟方法的示意图。

图4是表示包括视觉传感器以及控制装置的系统中的处理顺序的示意图。

图5是表示本实施方式的模拟装置的硬件结构的示意图。

图6是表示本实施方式的模拟装置的功能结构的示意图。

图7是表示使用了本实施方式的模拟装置的模拟的处理顺序的流程图。

图8是用于说明表示本实施方式的模拟装置中的图像测量处理的基准的信息的示意图。

图9是用于说明本实施方式的模拟装置中的图像数据的存储方法的图。

图10是表示本实施方式的模拟装置提供的系统模型的构筑的用户界面画面的一个例子的图。

图11是用于说明由本实施方式的模拟装置提供的三维假想空间内定义的坐标系的示意图。

图12是用于说明本实施方式的模拟装置中的每个脉冲的移动量的计算顺序的示意图。

图13是表示本实施方式的模拟装置的视觉传感器模拟器的测量结果的一个例子的图。

图14是用于说明图1~图3所示的传送带跟踪系统中的对象物的位置偏移的示意图。

图15是表示再现本实施方式的模拟装置提供的系统的动作的用户界面画面的一个例子的图。

其中,附图标记说明如下:

1、2传送带跟踪系统

100模拟装置

102处理器

104主存储器

106输入部

108显示部

110网络接口

112光驱

114光盘

116通信接口

118内部总线

120硬盘

124模拟程序

140图像数据群

150视觉传感器模拟器

152设定参数

154存储部

156图像数据

157文件名

158exif区域

159对应表

160控制模拟器

162控制程序

170再现模块

172三维设计数据

180用户界面模块

182模型构筑模块

190编码器模拟器

200控制装置

202网络

210、311机械手

220视觉传感器

222拍摄部

230、301、302传送带

232、350工件

234驱动辊

236编码器

具体实施方式

一边参照附图,一边详细地说明本发明的实施方式。此外,对图中的同一或相当部分标注同一附图标记,并省略其说明。

<a.概要>

本实施方式的模拟装置用于推定系统的动作。更具体地说,本实施方式的模拟装置使用由拍摄部实际拍摄的图像数据能够推定假想地构筑的系统的动作等。在下面的说明中,将包括一个或多个装置的传送带跟踪系统等作为模拟对象,但并不限定于此,也能够应用于任意的系统。

首先,对本实施方式的模拟装置中的模拟的概要进行说明。

图1是表示本实施方式的模拟装置中的模拟的前提的系统结构例的示意图。参照图1,作为一个例子,在传送带跟踪系统1中,利用处理装置的一个例子即机械手210把持在运送机的一个例子即传送带230上连续地被运送的对象物的一个例子即工件232,并运送至规定位置进行配置。利用这样的机械手210的把持、运送、配置的一系列动作也称为“拾取和放置动作”。

在下面的说明中,作为运送机的一个例子假定为传送带,作为对象物的一个例子假定为工件,作为针对对象物进行某种处理的处理装置的一个例子假定为机械手。但是,对象物以及处理装置并不限定于此,根据对象的系统能够合适地选择。

在利用机械手210的拾取和放置动作中,通过利用拍摄部222对设置于传送带230的一部分的拍摄区域进行拍摄,并且视觉传感器220对由拍摄部222的拍摄所获得的图像数据进行图形匹配等的图像测量处理,来获取包括工件232的位置以及朝向等信息的测量结果。并且,控制装置200基于来自视觉传感器220的测量结果执行预定的控制逻辑,从而生成针对机械手210的控制指令。在生成针对机械手210的控制指令时,控制装置200参照机械手210的状态值和来自与用于驱动传送带230的驱动辊234结合的编码器236的编码值。控制装置200以及视觉传感器220经由网络202可数据通信地连接,来自视觉传感器220的测量结果经由网络202向控制装置200传送。典型地,作为控制装置200使用了可编程控制器(下面,称为“plc”)。

在图1所示的传送带跟踪系统1中,存在如下情况,即,例如,提高传送带230的移动速度并且添加机械手210来想要检讨处理能力是否充分。

图2是表示对图1所示的传送带跟踪系统1添加新的机械手210的传送带跟踪系统2的结构例的示意图。如图2所示,能够实际添加机械手210来验证传送带跟踪系统1的处理能力最好,但因成本或时间的制约,不能进行这样的验证的情况较多。即,存在更简单地推定伴随着图2所示的设备添加的系统的变化的需求。

针对这样的需求,本实施方式的模拟装置在三维假想空间内假想地构筑模拟对象的系统,并且,通过使实际拍摄的图像数据与该假想地构筑的系统相融合,实现更加高效的模拟。

图3是用于说明使用了本实施方式的模拟装置的模拟方法的示意图。参照图3,模拟装置使模拟对象的传送带跟踪系统2整体模型化,并且将由拍摄部222的拍摄所获取的图像数据赋予该模型。即,在传送带跟踪系统1的模型中利用实际拍摄的图像数据。

通过采用这样的结构,既能够反映实际的传送带跟踪系统的状态,又能够模拟任意的传送带跟踪系统的性能。

此外,作为“实际拍摄的图像数据”,并不限定于图1以及图2所示那样的在改良前的传送带跟踪系统1中所拍摄的图像,也能够使用在任意的系统以及状况中所拍摄的图像。即,若是包括模拟的对象物(典型地为工件232)的时间变化的信息的数据,则可以使用任何数据。

作为“图像数据”,可以是动态图像数据,也可以是按时间序列排列的多个静态图像数据。此外,通过合适地调整动态图像数据的播放速度或多个静态图像数据的更新速度,也能够调整成为控制对象的工件的时间变化(即,移动速度)。这样,通过调整赋予系统的模型的图像数据,也能够利用模拟求得控制对象的时间变化的最佳值等。

而且,作为多个静态图像,不仅是实际连续地拍摄的图像,也可以通过将在不同场景所拍摄的多个图像合适地排列而变为随时间变化的数据来当作动态图像数据。在该情况下,生成的多个图像之间没有重叠,而且事实上也不存在这种问题。

但是,若采用图1~图3所示那样的视觉传感器220以及控制装置200经由网络连接的结构,则视觉传感器220中的图像测量处理的执行时刻和由该图像测量处理的执行所生成的测量结果在向控制装置200传送期间产生延迟时间(延时)。

图4是表示包括视觉传感器以及控制装置的系统中的处理顺序的示意图。参照图4,例如,视觉传感器220响应来自外部的触发信号而读取图像数据,并且针对该读取的图像数据执行图像测量处理。由该图像测量处理的执行所生成的测量结果向控制装置200传送。若图像测量处理的执行所要的时间以及图4所示的传送所要的延迟时间的大小的总和为可忽略不计的程度,则没有问题,但是,随着视觉传感器220的控制周期变长,该延迟时间不能被忽视。

在图1~图3所示的传送带跟踪系统中,由于对象物(典型地为工件232)移动,因此,产生无法忽视的延迟时间,从而机械手的拾取和放置动作也不能很好地发挥作用。

因此,本实施方式的模拟装置100能够在修正因上述那样的延迟时间所带来的误差的基础上,执行用于控制机械手的控制逻辑。

<b.模拟装置的硬件结构>

接着,对本实施方式的模拟装置100的硬件结构进行说明。典型地,本实施方式的模拟装置100通过一个或多个计算机执行程序来实现。

图5是表示本实施方式的模拟装置100的硬件结构的示意图。参照图5,作为一个例子,模拟装置100包括以通用的计算机体系结构为标准构成的计算机。模拟装置100包括处理器102、主存储器104、输入部106、显示部108、网络接口110、硬盘(hdd:harddiskdrive)120、光驱112、通信接口116。上述部件经由内部总线118相互可通信地连接。

处理器102通过将存储于硬盘120的程序在主存储器104中展开执行,实现后述那样的功能以及处理。主存储器104由挥发性存储器构成,作为利用处理器102执行程序所必需的工件存储器发挥作用。

典型地,输入部106包括键盘、鼠标、触摸面板、触摸板等,接受来自用户的操作。显示部108包括显示器、指示器等,对用户提示各种信息。

网络接口110在伺服装置等外部设备之间经由网络交换数据。光驱112从光盘114等读取存储于其中的各种程序,并安装于硬盘120。通信接口116包括例如usb(universalserialbus)等通信接口,在与辅助存储装置等外部设备之间经由本地通信交换数据。

硬盘120为了作为操作系统(os:operatingsystem)122以及模拟程序124等的模拟装置发挥作用,存储必要的程序,并且也存储用于模拟的预先获取的图像数据群140。

图5示出了经由光驱112将必要的程序安装于模拟装置100的结构例,但并不限定于此,也可以从网络上的伺服装置等下载。

这样,在使用通用计算机实现的情况下,除了用于提供本实施方式的功能的程序以外,还可以安装有用于提供计算机的基本功能的操作系统(os:operatingsystem)。在该情况下,本实施方式的模拟程序也可以是如下程序,即,将作为os的一部分所提供的程序模块中的必要的模块按照规定的顺序和/或时刻调出来执行处理。即,就本实施方式的程序而言,也存在不包括上述那样的模块而与os协作来执行处理的情况。因此,作为本实施方式的程序也可以是不包括这样的一部分的模块的方式。

另外,本实施方式的程序也可以是编入为其他程序的一部分的程序。在该情况下,程序自身不具有包含于上述那样组合的其他程序的模块,而是与该其他程序协作来执行处理。即,作为本实施方式的模拟程序,也可以是编入这样的其他程序的方式。

另外,图5示出了由通用计算机实现模拟装置100的例子,但并不限定于此,也可以使用专用电路(例如,asic(applicationspecificintegratedcircuit)等)来实现其全部或一部分。而且,也可以由外部装置来承担一部分的处理。

<c.模拟装置的功能结构>

接着,对本实施方式的模拟装置100的功能结构进行说明。图6是表示本实施方式的模拟装置100的功能结构的示意图。

参照图6,模拟装置100作为软件功能包括视觉传感器模拟器150、控制模拟器160、再现模块170、用户界面模块180、编码器模拟器190。典型地,上述功能模块群通过处理器102执行模拟程序124(均参照图5)来实现。模拟装置100还包括存储部154。存储部154使用模拟装置100的硬盘120内的存储区域。

用户界面模块180提供关于设定参数152、控制程序162以及三维设计数据172的用于支援用户的设定、制作的操作画面等。另外,在利用再现模块170显示模拟结果时,用户界面模块180也提供必要的用户界面。

用户界面模块180作为处理三维设计数据172的功能,包括模型构筑模块182。模型构筑模块182在三维假想空间内假想地构筑模拟对象的系统。更具体地说,模型构筑模块182提供用于显示三维假想空间,并且在该三维假想空间内构筑模拟对象的系统的设定及操作画面。

在本实施方式的模拟装置100中,典型地,在三维假想空间内假想地构筑包括运送机(作为典型例为传送带)的系统。并且,如图3所示,在与运送机(传送带)相关联的运送路径上的第一部位假想地配置视觉传感器220,在运送路径上的第二部位假想地配置控制装置200。

视觉传感器模拟器150是模拟视觉传感器220中的处理的模块,针对预先获取的图像数据执行各种图像测量处理。更具体地说,视觉传感器模拟器150响应来自控制模拟器160的读取指令(作为典型例为触发信号),读取预先获取的图像数据群140中的对象的图像数据,并进行与视觉传感器220(参照图1~图3)相对应的图像测量处理。由视觉传感器模拟器150中的图像测量处理所得的测量结果向控制模拟器160输出。即,执行相当于图1~图3所示的传送带跟踪系统中的经由网络202从视觉传感器220向控制装置200传送测量结果的处理。在此,视觉传感器模拟器150中的图像测量处理按照预先设定的设定参数152被执行。

控制模拟器160基于视觉传感器模拟器150的测量结果执行用于生成针对处理装置的一个例子即机械手的控制指令的控制运算。控制模拟器160是模拟控制装置200(参照图1~图3)中的处理的模块,按照预先制作的控制程序162来执行控制运算(顺序指令、动作指令、各种功能指令等)。包括控制模拟器160中的控制运算的输入以及输出的跟踪数据作为时间序列数据向再现模块170输出。

另外,由控制模拟器160执行的控制运算包括用于对视觉传感器模拟器150生成图像数据的读取指令(触发信号)的处理。即,在满足预定的条件时,控制模拟器160产生触发信号。预定的条件能够使用例如传送带只移动规定距离或者预定的周期到来等。如后面所述,传送带的移动距离等基于编码器模拟器190产生的信息等被检测。编码器模拟器190产生的信息从控制模拟器160也向视觉传感器模拟器150供给。

再现模块170使用由控制模拟器160输出的控制运算的时间序列数据(跟踪数据),再现构筑的系统的动作。更具体地说,再现模块170基于定义文件即三维设计数据172使在三维假想空间内假想地构筑的系统视觉化,并且,基于来自控制模拟器160的跟踪数据,再现系统中的工件或机械手的时间变化等。这样,再现模块170将模拟结果的时间变化以动画的状态显示在模拟装置100的显示部108(图5)上。

此时,也存在再现模块170将存储于存储部154的图像数据以及与该图像数据相关联的信息反映于模拟结果的再现的情况。例如,再现模块170基于测量结果附带的表示运送机(传送带)的位置或位移的信息,修正对象物(工件)的显示位置。

此外,在图6中示出使用由控制模拟器160输出的跟踪数据再现由再现模块170所构筑的系统的动作的结构例,但是,作为模拟装置100,再现模块170不是必需的。例如,也可以将由控制模拟器160输出的跟踪数据向外部装置或外部应用输出,由该外部装置或外部应用再现系统的动作。或者,再现模块170也可以只生成用于再现系统的动作的动态图象数据并将其存储于任意的存储介质,由其他应用播放该动态图象数据。

编码器模拟器190生成与运送机的移动相关联的用于表示该运送机的位置或位移的信息。作为一个例子,编码器模拟器190也可以输出表示从基准位置的位移量的编码值,也可以产生与运送机(传送带)的每单位时间的移动量成比例的脉冲。即,编码值表示传送带的位置,每单位时间的脉冲数表示传送带的速度。

存储部154存储根据读取指令所读取的图像数据,该图像数据与表示运送机(传送带)的位置或位移的信息相关联,该信息表示根据该读取指令(触发信号)所执行的图像测量处理的基准。作为图像测量处理的基准,例如,在编码器模拟器190输出编码值的情况下,使用触发信号赋予视觉传感器模拟器150时的编码值或视觉传感器模拟器150读取图像数据时的编码值。在上述的表示图像测量处理的基准的信息相关联的基础上,该被读取的图像数据存储于存储部154。

通过将图像测量处理的对象的图像数据和上述那样的附加信息相关联,然后,到利用控制模拟器160开始基于由针对该图像数据的图像测量处理所得的测量结果的处理为止,即使产生无法忽视的延迟时间,也能够修正该延迟时间。

<d.处理顺序>

接着,对使用本实施方式的模拟装置100的模拟的处理顺序进行说明。

图7是表示使用本实施方式的模拟装置100的模拟的处理顺序的流程图。参照图7,首先,模拟装置100接受系统模型的设定(步骤s2)。系统模型的设定包括构成系统的各个装置的配置位置、运送机即传送带的移动速度等的设定。基于系统模型的设定,模拟装置100(模型构筑模块182)在三维假想空间内假想地构筑模拟对象的系统。

模拟装置100(用户界面模块180)接受在系统模型内设定的视觉传感器的拍摄区域(步骤s4)。于是,基于构筑的系统和设定的拍摄区域之间的相对位置关系,能够计算出用于将测量结果变换为控制运算的输入值的变换参数即校准参数。

此外,如图6所示,对用户界面模块180计算出校准参数的例子进行说明,但是,也可以在视觉传感器模拟器150中执行该校准参数的计算。

接着,模拟装置100(用户界面模块180)接受用于控制系统模型的控制程序(步骤s6)。该控制程序是与系统相关联的程序,由控制模拟器160执行。

模拟装置100(用户界面模块180)接受应由视觉传感器模拟器150执行的图像测量处理的内容设定(步骤s8)。

通过上面的处理,完成用于进行模拟的设定。

在指示开始模拟时,模拟装置100(编码器模拟器190)按照所指定的时间间隔,更新表示假想地配置的传送带的位置或移动量的编码值(步骤s10)。模拟装置100(控制模拟器160)判断是否满足产生触发信号的条件(步骤s12)。若满足产生触发信号的条件(在步骤s12中为yes的情况下),则假想地产生触发信号(步骤s14)。若不满足产生触发信号的条件(在步骤s12中为no的情况下),则跳过步骤s14的处理。

响应触发信号的产生,模拟装置100(视觉传感器模拟器150)读取预先获取的图像数据群中的对象的图像数据(步骤s100),执行图像测量处理(步骤s102)。模拟装置100(视觉传感器模拟器150)在执行图像测量处理后,输出测量结果(步骤s104),并且,将读取来自编码器模拟器190的图像数据时的编码值和读取的图像数据相关联地存储(步骤s106)。所述步骤s100~s106的处理和控制模拟器160中的处理独立地执行。

接着,模拟装置100(控制模拟器160)判断图像测量处理的测量结果是否被更新(步骤s16)。即,判断是否从视觉传感器模拟器150接收了新的测量结果。若图像测量处理的测量结果被更新(在步骤s16中为yes的情况下),则模拟装置100(控制模拟器160)基于该更新的图像测量处理的测量结果执行控制运算(步骤s18)。若图像测量处理的测量结果未被更新(在步骤s16中为no的情况下),则跳过步骤s18的处理。

模拟装置100(控制模拟器160)将由该控制运算的执行所计算出的各个值与时间信息相关联地存储(步骤s20)。即,存储作为时间序列数据的一个例子的跟踪数据。

模拟装置100判断预先设定的模拟期间是否已满(步骤s22)。若预先设定的模拟期间未满(在步骤s22中为no的情况下),则反复进行步骤s10以下的处理。

相对于此,若预先设定的模拟期间已满(在步骤s22中为yes的情况下),则模拟装置100使用在步骤s20中依次存储的跟踪数据再现系统模型的动作(步骤s24)。模拟装置100能够根据用户操作,合适地变更再现的系统模型的动作的时间间隔以及更新间隔等。

通过上面那样的处理顺序,能够评价系统模型中的生产节拍、性能等。

<e.表示图像测量处理的基准的表示运送机的位置或位移的信息>

接着,对表示根据读取指令(触发信号)所执行的图像测量处理的基准的表示运送机(传送带)的位置或位移的信息进行说明。

图8是用于说明表示本实施方式的模拟装置100中的图像测量处理的基准的信息的示意图。参照图8,视觉传感器模拟器150响应控制模拟器160在内部产生的触发信号,读取图像数据并对读取的图像数据执行图像测量处理。如图8所示,在时刻t1,产生触发信号,视觉传感器模拟器150开始图像数据的读取。并且,在图像数据的读取结束后,从时刻t2开始图像测量处理。

作为表示图像测量处理的基准的表示运送机(传送带)的位置或位移的信息,也可以使用触发信号赋予视觉传感器模拟器150时(时刻t1)的编码值(在图8所示的例子中为编码值e3)。或者,也可以使用图像数据的读取完成后开始图像测量处理的时刻(时刻t2)的编码值(在图8所示的例子中为编码值e4)。

而且,或者,也可以使用图像数据的读取期间的编码值的平均值。例如,若考虑在时刻t1~t2之间执行图像数据的读取的情况,也可以使用时刻t1的编码值e3与时刻t2的编码值e4的平均值((e3+e4)/2)。

参照图8,说明的作为基准的信息是一个例子,在针对某些图像数据执行图像测量处理时,若由该图像测量处理的执行所得的测量结果是能够事后判断是在哪个位置或时刻所拍摄的图像数据的信息,则也可以使用任何信息。

<f.与表示运送机的位置或位移的信息相关联的图像数据的存储>

接着,对图像数据向模拟装置100的存储部154(图6)的存储的处理进行说明。本实施方式的模拟装置100存储根据读取指令所读取的图像数据,该图像数据与表示传送带(运送机)的位置或位移的信息相关联,该信息表示根据内部产生的触发信号(读取指令)所执行的图像测量处理的基准。

作为将表示图像测量处理的基准的表示传送带(运送机)的位置或位移的信息和图像数据相关联的方法,若采用事后能够利用该信息的方法,则可以采用任何方法。作为典型例,说明几种方法。

图9是用于说明本实施方式的模拟装置100中的图像数据的存储方法的图。此外,作为表示图像测量处理的基准的表示传送带(运送机)的位置或位移的信息的典型例,对使用编码值的例子进行说明,但并不限定于该值。

图9a示出了在存储的图像数据156的文件名157的一部分或全部使用编码值的例子。参照图9a,例如,“0001200.jpg”的文件名的主体部的“0001200”相当于编码值。在处理该图像数据156时,通过提取文件名157的主体部,能够把握表示对该图像数据156执行的图像测量处理的基准的编码值为“0001200”。这样,编码值也可以用于图像数据的文件名。

图9b示出了在存储的图像数据的文件名的一部分或全部使用编码值的例子。参照图9b,例如,在将jpeg形式或tiff形式的图像数据按照exif(exchangeableimagefileformat)标准存储的情况下,能够在该exif区域158附带各种信息。因此,也可以将表示图像测量处理的基准的编码值编入该exif区域158。在处理该图像数据156时,通过提取包含于exif区域158的信息,能够把握表示对该图像数据156执行的图像测量处理的基准的编码值。这样,编码值也可以在图像数据内的规定区域附加编码值的信息。

图9c中示出了除了一个或多个图像数据156以外还另外准备有表示与各个图像数据156相关联的信息的对应表159的例子。在对应表159中,存储的图像数据156的各个文件名和对应的编码值相互对应。通过使用这样的对应表159,就存储的图像数据而言,能够容易地把握表示执行的图像测量处理的基准的编码值。

<g.系统模型的构筑以及坐标系>

接着,对模拟对象的系统模型的构筑处理进行说明。系统模型的构筑处理主要是由模型构筑模块182(图6)提供的功能,与上述的图7所示的系统模型的设定的接受(步骤s2)相对应。

在模拟装置100提供的编辑画面中,用户也以直接构筑模拟对象的系统模型,也可以通过读取预先制作的设计数据(cad(computeraideddesign)数据等)构筑系统模型。而且,也能够在读取过去制作的系统模型的数据并进行编辑的基础上来使用。

即,在本实施方式的模拟装置100中,模型系统的构筑能够采用任意的方法。

图10是表示本实施方式的模拟装置100提供的系统模型的构筑的用户界面画面的一个例子的图。为了便于说明,在图10中示出了进行简单的拾取和放置动作的系统模型。

更具体地说,在图10所示的用户界面画面中,在三维假想空间300内,两条传送带301以及302相互平行地配置。两个机械手311以及313对应于传送带302的规定位置配置。在该系统模型中假想成如下的应用系统,即,利用传送带301从纸面左侧向纸面右侧运送工件,机械手311以及313拾取成为对象的工件并放置于传送带302上。此外,在图10所示的用户界面画面中,能够从任意方向渲染三维假想空间300内的对象。即,用户界面画面所描绘的视点可以由用户任意地变更。

在此,对图10所示的系统模型中的坐标系进行说明。图11是用于说明由本实施方式的模拟装置100提供的三维假想空间内定义的坐标系的示意图。

参照图11,三维假想空间300内的x、y、z轴定义为世界坐标系320。世界坐标系320相当于用于定义系统模型的各个部分的位置的基准的坐标系。

另一方面,为了进行在传送带301以及302上被运送的工件的跟踪等,在控制装置(图6所示的控制模拟器160)中,定义将传送带301以及302的初始位置作为原点的传送带坐标系303。传送带坐标系303是关于系统模型中的传送带的坐标系,将传送带301以及302的运送方向、与运送方向正交的方向、与传送带301以及302的运送表面正交的方向这三个方向作为各个轴。

而且,也可以分别独立地定义用于分别控制机械手311以及313的机械手坐标系312以及314。机械手坐标系312以及314是关于系统模型中的机械手311以及313的坐标系,将机械手311以及313的设置位置作为原点。机械手坐标系312以及314从机械手控制器来看,用于控制机械手311以及313的动作。而且,在机械手311以及313的顶端安装有把持用的夹具等的情况下,还可以定义将机械手311以及313的顶端作为原点的工具坐标系。

在图11所示的多个坐标系之间,预先计算出用于将某个坐标系的坐标值变换为其他坐标系的坐标值的校准参数。作为这样的校准参数的一个例子,例如,计算出用于将摄像头坐标系的坐标(x,y)变换为机械手坐标系的坐标(x,y)的系数a~f。

x=a·x+b·y+c

y=d·x+e·y+f

在其他坐标系之间也计算出同样的系数。

而且,在三维假想空间内,需要再现运送机(作为典型例为传送带)的运送动作,也计算出该运送动作的参数。即,计算出在构筑的系统中使工件移动的运送机(传送带)的单位移动量与构筑的系统中的对象物(工件)的移动速度的换算系数。该换算系数包括关于传送带的单位移动量(典型地为来自编码器的每个脉冲)的工件的x轴方向的移动量以及y轴方向的移动量。例如,在采用每一个旋转产生一个脉冲那样的编码器的情况下,将来自该编码器的脉冲数的乘积作为编码值进行计算。即,产生一个脉冲相当于某个编码值只增加1。在再现构筑的系统的动作的情况下,上述的移动量用于计算工件的时间变化。

这样的换算系数考虑相对于机械手坐标系的传送带的倾斜等进行计算。

图12是用于说明本实施方式的模拟装置100中的每个脉冲的移动量的计算顺序的示意图。图12是表示将世界坐标系的z轴作为中心使传送带以及机械手旋转时的例子的图。若传送带以z轴为中心只旋转旋转角θ且机械手以z轴为中心只旋转旋转角α时,每个脉冲的移动量的计算如下。在此,1是传送带行进方向的每个脉冲的移动量。

每个脉冲的x轴方向的移动量(x)=1×cos(θ-α)

每个脉冲的y轴方向的移动量(y)=1×sin(θ-α)

这样,针对传送带行进方向的每个脉冲的移动量而言,通过应用(θ-α)能够计算出每个脉冲的移动量。

在图12中,为了便于说明,示出了只以世界坐标系的z轴为中心使传送带以及机械手旋转的例子,但在实际的系统模型中,不仅以z轴为中心,还存在以x轴以及y轴为中心旋转的情况。因此,考虑各个轴的旋转角,以下面的方式进行计算。

在实际的系统模型中,一般为,例如,传送带设定为,以世界坐标系的x轴为中心倾斜旋转角θx、以y轴为中心倾斜旋转角θy、以z轴为中心倾斜旋转角θz。另外,机械手设定为,以世界坐标系的x轴为中心倾斜旋转角αx、以y轴为中心倾斜旋转角αy、以z轴为中心倾斜旋转角αz。

首先,针对3×3的单位矩阵,通过以x轴为中心旋转(θx-αx)、以y轴为中心旋转(θy-αy)、以z轴为中心旋转(θz-αz),来制作旋转矩阵。

相对于传送带的行进方向的每个脉冲的移动量1能够由初始设定值获取,因此,如下面所述,通过使旋转矩阵与系统模型的局部坐标轴(1,0,0)相乘计算出的坐标值x以及y分别相当于每个脉冲的x轴方向的移动量(x)以及每个脉冲的y轴方向的移动量(y)。在此,移动量的单位为mm。

移动量(x,y,z)=旋转矩阵×(1,0,0)

每个脉冲的x轴方向的移动量(x)=移动量(x)[mm/脉冲]

每个脉冲的y轴方向的移动量(y)=移动量(y)[mm/脉冲]

由上面的计算处理所确定的每个脉冲的x轴方向的移动量(x)以及每个脉冲的y轴方向的移动量(y)作为换算系数被计算出。

<h.对象物的位置以及对该位置的修正处理>

接着,说明对象物(工件)的位置计算以及对该位置的修正处理。

(h1:对象物的位置处理)

图13是表示本实施方式的模拟装置100的视觉传感器模拟器150的测量结果的一个例子的图。参照图13,模拟视觉传感器220的视觉传感器模拟器150针对像素(像素)的集合体即图像数据进行图像测量处理,因此,该测量结果由像素值进行定义。图13是表示与预先登记的图像图形的图形匹配的结果例的图。图像数据内的两个对象与登记的图像图形一致,(x1,y1,θ1)以及(x2,y2,θ2)作为测量结果输出。该测量结果包括与登记的图像图形一致的对象存在的位置(全为像素值)和距登记的图像图形的旋转角(姿势)。

为了使这样的作为图像数据内的坐标值输出的测量结果适合于在三维假想空间内构筑的系统模型,使用上述的校准参数(系数a~f)将摄像头坐标系的坐标值变换为世界坐标系或传送带坐标系的坐标值。

从视觉传感器模拟器150输出的测量结果(包括被识别的工件的位置)变换为机械手坐标系的坐标值并向控制模拟器160输入。另一方面,系统模型按照三维假想空间300内的世界坐标系设定,因此,在再现构筑的系统的动作的情况下,将机械手坐标系的坐标值变换为世界坐标系的坐标值。用于将机械手坐标系的坐标值变换为世界坐标系的坐标值的参数能够利用与上述那样的用于将摄像头坐标系的坐标值变换为机械手坐标系的坐标值的参数的计算相同的顺序进行计算。使用用于将摄像头坐标系的坐标(x,y)变换为世界坐标系的坐标(x,y)的系数a1~f1,能够利用下面的方式通过由视觉传感器模拟器150检测出的工件的坐标值(x,y)计算出向控制模拟器160输入时的初始显示位置。

工件的初始显示位置(x)=a1×x+b1×y+c1

工件的初始显示位置(y)=d1×x+e1×y+f1

并且,在初始显示以后,各个工件的显示位置根据编码值的变化依次被更新。通过这样的显示位置的更新处理,能够再现工件在传送带上流动的情况。

(h2:对象物的位置的修正处理)

图14是用于说明图1~图3所示的传送带跟踪系统中的对象物的位置偏移的示意图。图14a是表示由拍摄部222拍摄工件232并读取图像数据的状态的图。图14a所示的状态在模拟装置100中相当于视觉传感器模拟器150读取图像数据的处理。另一方面,图14b是表示视觉传感器220读取来自拍摄部222的图像数据执行图像测量处理并将其测量结果向控制装置200传送的状态的图。图14b所示的状态相当于控制模拟器160从视觉传感器模拟器150接收测量结果并基于该测量结果执行预定的控制运算的状态。

由于视觉传感器220的图像数据的读取处理、视觉传感器220的图像测量处理、从视觉传感器220向控制装置200的测量结果的传送处理要花一些时间,因此,在时刻t1,若拍摄部222拍摄对象物(工件232),则控制装置200基于针对该图像数据的图像测量处理的结果能够开始控制运算的执行会变为时刻t2。

通过从该时刻t1到时刻t2的延迟,工件232移动与该延迟时间相应的距离。即,需要对在时刻t1与时刻t2之间的工件232的移动距离进行修行。下面,将视觉传感器模拟器150(视觉传感器220)应修正的距离称为“修正距离”。

在图14中,时刻t1与根据读取指令(触发信号)所执行的图像测量处理的基准相对应。为了进行这样的距离的修正,如图6以及图14所示,视觉传感器模拟器150向控制模拟器160除了测量结果外,还输出表示生成该测量结果的图像测量处理的基准的编码值。即,视觉传感器模拟器150向控制模拟器160除了测量结果外,还输出与用于该测量结果的生成的图像数据相关联的表示传送带(运送机)的位置或位移的信息。

控制模拟器160基于附加于测量结果的编码值和目前的编码值的差分,计算出工件从图像测量处理的基准时刻移动了多少。即,控制模拟器160基于测量结果附带的表示传送带(运送机)的位置或位移的信息,在修正三维假想空间内的工件(对象物)的位置的基础上,执行控制运算。

更具体地说,在控制模拟器160开始控制运算的时刻或执行与控制运算相关联的命令的时刻,计算出编码值ec与测量结果附带的编码值et的差分,并且使用预先计算出的传送带的每单位移动量的换算系数计算出修正距离。即,按照下面所述的公式计算出修正距离。

x轴方向的修正距离=(ec-et)×每个脉冲的x轴方向的移动量(x)[mm/脉冲]

y轴方向的修正距离=(ec-et)×每个脉冲的y轴方向的移动量(x)[mm/脉冲]

此外,假定传送带坐标系相对于世界坐标系倾斜(但是,z轴方向上一致),分别计算出x轴方向以及y轴方向上的修正量。但是,除了z轴以外,若x轴和/或y轴一致,则特定的轴的移动量变为修正距离。

如上所述,控制模拟器160利用测量结果附带的编码值(表示运送机的位置或位移的信息)与执行控制运算时的编码值(表示目前时刻的运送机的位置或位移的信息)的差分,计算出对象物的位置的修正距离(修正量)。并且,控制模拟器160在使用修正距离修正各个时刻的工件的位置的基础上,生成针对机械手的控制指令等。

<i.模拟结果的显示>

接着,对模拟结果的显示处理进行说明。模拟结果的显示处理即再现系统模型的动作的处理主要是由再现模块170(图6)提供的功能,与上述的图7所示的系统模型的动作的再现(步骤s24)相对应。

图15是表示再现本实施方式的模拟装置100提供的系统的动作的用户界面画面的一个例子的图。参照图15,基于将视觉传感器模拟器150的测量结果作为输入的控制运算的结果,再现构筑的系统的动作。即,基于由控制模拟器160中的控制运算所计算出的控制指令,机械手311以及313依次更新其位置以及姿势。由此,能够观察机械手311以及313的动作。

另外,在用户界面画面中,基于由视觉传感器模拟器150识别的工件的信息,在构筑的系统模型上显示工件350。工件350显示为,根据传送带301以及303的移动而移动。另外,根据机械手311以及313的拾取和放置动作,其位置也变化。这样,在由视觉传感器模拟器150执行的图像测量处理包括基于预先登记的图像图形识别工件的处理的情况下,再现模块170也可以使由视觉传感器模拟器150识别而存在的各个工件显示在构筑的系统上,并且伴随着时间的经过而更新各个工件的位置。

通过对这样的工件350跟踪显示,用户能够更加容易地识别构筑的系统的动作。

另外,在用户界面画面中,显示包括输入图像的测量结果360,该输入图像用于由视觉传感器模拟器150执行的图像测量处理。测量结果360与系统的动作的再现结合来显示。即,再现模块170显示构筑的系统的动作,并且显示图像测量处理的对象的图像数据。此时,也可以同时输出视觉传感器模拟器150的测量结果与该测量结果的对象的图像数据。在该情况下,也可以在图像数据上重叠显示测量结果,也可以排列显示输入图像数据和测量结果。

这样,通过同时显示模拟图像和用于测量的图像,在存在多个对象物的情况下,用户能够容易地确认图像测量处理是否被正确地进行。

在图15所示的用户界面画面中,能够从任意的方向渲染三维假想空间内的对象。即,用户界面画面所描述的视点可以由用户任意地变更。另外,也能够任意地指定再现的时间宽度以及再现速度等。

在显示模拟结果时,也可以根据需要修正工件的显示位置。例如,若包含于从控制模拟器160输出的跟踪数据的工件的位置信息反映使用了上述那样的修正距离的修正,则能够直接利用于模拟结果的显示。另一方面,在未反映使用了这样的修正距离的修正处理的情况下,也可以进行与上述的修正距离的计算相同的修正,并在修正工件的初始显示位置等的基础上再现模拟结果。

在该情况下,再现模块170基于测量结果附带的表示运送机(传送带)的位置或位移的信息,修正对象物(工件)的显示位置。典型地,再现模块170对与来自编码器236的编码值相关联的构筑的系统的各个部位的显示位置等进行更新。例如,在与某个编码值相对应的用于计算出的跟踪数据的测量结果通过针对赋予与该编码值不同的编码值的图像数据执行的图像识别处理生成的情况下,基于对象的编码值与用于该图像识别处理的图像数据附带的编码值的差分,修正工件的显示位置。

通过进行上面那样的修正处理,在再现模拟结果的情况下,能够将工件显示在更合适的位置,就图像测量处理的时刻而言,也能够更加严密地进行模拟。

<k.变形例>

在图6所示的结构中,作为与控制模拟器160不同的部件,设置有模拟编码器的编码器模拟器190,但两者也可以一体地构成。即,作为由控制模拟器160执行的控制运算的程序的一部分,也可以编入有更新编码值的处理。或者,也可以利用控制模拟器160使控制程序162和实现编码器模拟器190的程序并列地执行。

而且,或者,也可以使外部装置或实际的编码器代替编码器模拟器190的功能。

即,图1~图3所示的编码器236是与控制装置200以及视觉传感器220相独立的用于检测运送机(传送带230)的动作的装置,与控制装置200以及视觉传感器220的动作没有直接相关联的必要性,因此,能够利用任意的方法实现。

<l.利点>

根据本实施方式的模拟装置100,在工件等的图像数据预先存在的情况下,能够高效地实现模拟。而且,就针对现有的图像数据的图像测量处理的时刻而言,能够更加严密地进行模拟。

本次公开的实施方式在所有方面均为例示,并不用于限制。本发明的范围不是由上述说明而是由权利要求的范围示出,旨在包含与权利要求的范围均等的含义以及范围内的全部变更。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1