本技术涉及用于定位对象物的控制系统、控制装置以及存储介质。
背景技术:
在fa(工厂自动化)中,应用使对象物的位置与目标位置一致的各种技术(定位技术)。此时,作为用于测量对象物的位置相对于目标位置的偏差的方法,存在使用拍摄对象物得到的图像的方法。
在日本特开2014-203365号公报(专利文献1)中公开了下述控制系统:在变更对象物的位置的移动机构的移动过程中拍摄对象物,获取图像数据,基于图像数据中包含的特征部分的位置,将对象物定位于目标位置。
现有技术文献
专利文献
专利文献1:日本特开2014-203365号公报
技术实现要素:
发明所要解决的问题
在专利文献1所公开的技术中,使用对移动中的对象物进行拍摄得到的图像数据来确定特征部分的位置,因此,能够使定位快速化。但是,由于是拍摄移动中的对象物,因此,会发生图像抖动。在使用图像抖动量较大的图像来确定特征部分的位置的情况下,会降低特征部分的位置精度。因此,会降低对象物的定位精度。
本发明就是鉴于上述问题提出的,其目的在于提供能够抑制对象物的定位精度降低的控制系统、控制装置以及存储介质。
解决问题的技术方案
根据本公开的一个例子,控制使对象物移动的移动机构从而进行对象物的定位的控制系统具备视觉传感器、移动控制部、推定部以及拍摄控制部。视觉传感器在每个拍摄时刻拍摄对象物从而获取图像,基于该图像,确定对象物的特征部分的位置。移动控制部基于由视觉传感器确定的特征部分的位置控制移动机构,以使对象物的位置接近目标位置。推定部基于视觉传感器从最新的拍摄时刻拍摄的图像中确定的特征部分的最新的位置以及参照信息,推定下一个拍摄预定时刻的特征部分的移动速度,该参照信息包含来自移动机构的信息和由移动控制部生成的信息中的至少一项。拍摄控制部控制视觉传感器在移动速度小于阈值的情况下在拍摄预定时刻进行拍摄,在移动速度超过阈值的情况下不在拍摄预定时刻进行拍摄。
根据本公开,能够避免拍摄图像抖动量较大的图像,能够抑制该图像造成的定位精度降低。
根据本公开的一个例子,移动机构包含驱动对象物移动的电机。参照信息包含表示从最新的拍摄时刻开始的电机的驱动量的信息。
表示从最新的拍摄时刻开始的电机的驱动量的信息直接表示从最新的拍摄时刻开始的移动机构的移动量。因此,根据本公开,推定部能够高精度推定特征部分的移动速度。
根据本公开的一个例子,移动控制部针对每个控制周期,生成针对移动机构的移动指令。参照信息包含表示移动控制部在最新的拍摄时刻之后生成的移动指令的信息。
移动指令是用于使移动机构移动的指令,与移动机构的移动直接相关。因此,根据本公开,推定部能够高精度推定特征部分的移动速度。
根据本公开的一个例子,移动控制部基于最新的位置决定移动机构的目标轨道,控制移动机构按照决定的目标轨道进行移动。参照信息包含表示目标轨道的信息。
目标轨道表示移动机构应该移动的轨道,与移动机构的移动直接相关。因此,根据本公开,推定部能够高精度推定特征部分的移动速度。
根据本公开的一个例子,控制装置控制使对象物移动的移动机构以及视觉传感器从而进行对象物的定位,该视觉传感器拍摄对象物从而获取图像,基于该图像,确定对象物的特征部分的位置。控制装置具备移动控制部、推定部以及拍摄控制部。移动控制部基于由视觉传感器确定的特征部分的位置控制移动机构,以使对象物的位置接近目标位置。推定部基于视觉传感器从最新的拍摄时刻拍摄的图像中确定的特征部分的最新的位置以及参照信息,推定下一个拍摄预定时刻的特征部分的移动速度,该参照信息包含来自移动机构的信息和由移动控制部生成的信息中的至少一项。拍摄控制部控制视觉传感器在移动速度小于阈值的情况下在拍摄预定时刻进行拍摄,在移动速度超过阈值的情况下不在拍摄预定时刻进行拍摄。
根据本公开的一个例子,一种存储有程序的存储介质,该程序用于支持控制系统,该控制系统控制使对象物移动的移动机构从而进行对象物的定位,该程序在计算机上执行第一至第三步骤。控制系统具备视觉传感器,该视觉传感器拍摄对象物从而获取图像,基于该图像,确定对象物的特征部分的位置。在第一步骤,基于由视觉传感器确定的特征部分的位置控制移动机构,以使对象物的位置接近目标位置。在第二步骤,基于视觉传感器从最新的拍摄时刻拍摄的图像中确定的特征部分的最新的位置以及参照信息,推定下一个拍摄预定时刻的特征部分的移动速度,该参照信息包含来自移动机构的信息和控制步骤生成的信息中的至少一项。在第三步骤,控制视觉传感器在移动速度小于阈值的情况下在拍摄预定时刻进行拍摄,在移动速度超过阈值的情况下不在拍摄预定时刻进行拍摄。
通过上述公开内容,能够避免拍摄图像抖动量较大的图像,能够抑制该图像造成的定位精度降低。
发明效果
根据本发明,能够抑制对象物的定位精度降低。
附图说明
图1是表示本实施方式所涉及的控制系统的整体结构的示意图。
图2是表示构成本实施方式所涉及的控制系统的图像处理装置的硬件结构的示意图。
图3是表示构成实施方式所涉及控制系统的运动控制器的硬件结构的示意图。
图4是表示图1中所述的控制系统的功能结构的框图。
图5是说明推定从拍摄时刻到第一中间时刻之间的工件的移动量的方法的图。
图6是表示控制系统的定位处理的流程的一个例子的流程图。
图7是表示移动控制部进行移动机构的控制处理的流程的一个例子的流程图。
图8是说明变形例1所涉及的移动速度va、vb的推定方法的图。
图9是表示变形例3所涉及的控制系统1a的功能结构的框图。
图10是表示目标轨道tgx、tgy、tgθ的一个例子的图。
图11是表示目标轨道决定部的处理流程的流程图。
附图标记说明
1、1a控制系统,2工件,4曝光掩模,5a、5b标记,32图像获取部,34位置确定部,41、41a移动控制部,42位置决定部,43减法运算部,44、44a运算部,45、45a推定部,46拍摄控制部,47目标轨道决定部,100移动机构,110xx工作台,110yy工作台,110θθ工作台,120x、120y、120θ伺服电机,130编码器,200驱动器单元,200x、200y、200θ伺服驱动器,300视觉传感器,302a、302b照相机,304图像处理装置,310、414处理器,312ram,314显示控制器,316系统控制器,318i/o控制器,320硬盘,322照相机接口,322a、322b图像缓冲器,324输入接口,326运动控制器接口,328、428通信接口,330、422存储卡接口,332显示部,334键盘,336存储卡,350、440控制程序,400、400a运动控制器,412芯片组,416非易失性存储器,418主存储器,420系统时钟,424存储介质,430内部总线控制器,432dma控制电路,434内部总线控制电路,436缓冲存储器,438现场总线控制器。
具体实施方式
参照附图详细说明本发明的实施方式。此外,对图中相同或者相当的部分标注同一符号并省略说明。
1应用例
首先,说明本实施方式所涉及的控制系统的一个应用例。图1是表示本实施方式所涉及的控制系统1的整体结构的示意图。图1所示的控制系统1使用图像处理进行对准。典型地,对准是指在工业制品的制造过程等,将对象物(以下称为“工件”)配置于生产线的本来位置的处理等。作为这种对准的一个例子,控制系统1在液晶面板的生产线中,在对玻璃基板即工件2进行电路图案的烧结处理前,控制工件2相对于曝光掩模4定位。在工件2上,在预先设定的位置设置有用于定位的特征部分、即标记5a、5b。控制系统1拍摄设置于工件2上的标记5b、5b,通过对拍摄到的图像进行图像处理,从而实现工件2的定位。
控制系统1具备移动机构100、驱动器单元200、视觉传感器300以及运动控制器400。
移动机构100使工件2移动。移动机构100只要是能够将工件2配置在目标位置的机构,可以具有任意的自由度。例如,移动机构100是能够使工件2进行水平方向的平移移动以及旋转移动的xyθ工作台。
图1所示例子的移动机构100包含x工作台110x、y工作台110y、θ工作台110θ、伺服电机120x、120y、120θ。在图1所示的例子中,伺服电机120x、120y、120θ分别由旋转式电机构成。伺服电机120x沿x轴方向平移驱动x工作台110x。伺服电机120y沿y轴方向平移驱动y工作台110y。伺服电机120θ以与z轴平行的轴为中心旋转驱动θ工作台110θ。
驱动器单元200根据每个控制周期ts接收到的移动指令,对移动机构100进行反馈控制。如图1所示,驱动器单元200包含伺服驱动器200x、200y以及200θ。伺服驱动器200x对伺服电机120x进行反馈控制,以使x工作台110x的移动量接近移动指令。伺服驱动器200y对伺服电机120y进行反馈控制,以使y工作台110y的移动量接近移动指令。伺服驱动器200θ对伺服电机120θ进行反馈控制,以使θ工作台110θ的移动量接近移动指令。
视觉传感器300在每个拍摄时刻拍摄工件2从而获取图像,基于该图像,确定工件2的标记5a、5b的位置。根据预先设定的拍摄周期tb决定拍摄时刻。视觉传感器300包含一个以上的照相机(图1的例子是照相机302a、302b)以及图像处理装置304,该图像处理装置304对照相机302a、302b拍摄的图像进行图像处理从而确定图像中包含的标记5a、5b的位置。
运动控制器400例如是plc(可编程逻辑控制器),进行各种fa控制。控制装置、即运动控制器400基于由视觉传感器300确定的标记5a、5b的位置控制移动机构100,以使工件2的位置接近目标位置。具体来讲,运动控制器400针对每个控制周期ts,生成用于使工件2的位置接近目标位置的移动指令,将生成的移动指令输出给驱动器单元200。
运动控制器400基于视觉传感器300从最新的拍摄时刻拍摄的图像中确定的标记5a、5b的最新的位置以及控制移动机构100时生成的信息、即移动指令,推定视觉传感器300的下一个拍摄预定时刻的标记5a、5b的移动速度。
运动控制器400控制视觉传感器300在推定的移动速度小于阈值的情况下在拍摄预定时刻进行拍摄,在推定的移动速度超过阈值的情况下不在拍摄预定时刻进行拍摄。
由此,能够避免拍摄图像抖动量较大的图像,能够抑制这种图像导致定位精度降低。
2具体例
下面,说明本实施方式所涉及的控制系统1的具体例。
<2-1.图像处理装置的硬件结构>
图2是表示构成本实施方式所涉及的控制系统的图像处理装置的硬件结构的示意图。参照图2,典型地,图像处理装置304具有通用计算机系统构造,通过处理器执行预先安装的程序从而实现后面所述的各种图像处理。
更具体来讲,图像处理装置304包含cpu(centralprocessingunit)、mpu(micro-processingunit)等处理器310、ram(randomaccessmemory)312、显示控制器314、系统控制器316、i/o(inputoutput)控制器318、硬盘320、照相机接口322、输入接口324、运动控制器接口326、通信接口328以及存储卡接口330。这些部分以系统控制器316为中心,以彼此可进行数据通信的方式连接。
处理器310与系统控制器316之间交换程序(代码)等,将它们按照规定顺序执行,从而实现目的运算处理。
系统控制器316将处理器310、ram312、显示控制器314以及i/o控制器318分别通过总线连接,在各个部分之间进行数据交换等,并且,管理图像处理装置304整体的处理。
典型地,ram312是dram(dynamicrandomaccessmemory)等易失性存储装置,保存从硬盘320读出的程序、由照相机302a、302b获取的图像(图像数据)、对图像的处理结果、以及工件数据等。
显示控制器314与显示部332连接,根据来自系统控制器316的内部命令,将用于显示各种信息的信号输出给显示部332。
i/o控制器318控制与图像处理装置304连接的存储介质、外部机器之间的数据交换。更具体来讲,i/o控制器318与硬盘320、照相机接口322、输入接口324、运动控制器接口326、通信接口328以及存储卡接口330连接。
典型地,硬盘320是非易失性的磁存储装置,除了处理器310执行的控制程序350以外,还存储各种设定值等。安装于该硬盘320的控制程序350以存储于存储卡336等的状态流通。此外,也可以取代硬盘320而采用闪存等半导体存储装置、dvd-ram(digitalversatilediskrandomaccessmemory)等光学存储装置。
照相机接口322相当于接收拍摄工件而生成的图像数据的输入部,对处理器310与照相机302a、302b之间的数据传输进行中介。照相机接口322包含用于分别暂时存储来自照相机302a、302b的图像数据的图像缓冲器322a、322b。可以针对多个照相机设置可在照相机之间共享的单个图像缓冲器,但是,为了使处理快速化,优选与每个照相机相关联地独立配置多个。
输入接口324对处理器310与键盘334、鼠标、触摸面板、专用控制台等输入装置之间的数据传输进行中介。
运动控制器接口326对处理器310与运动控制器400之间的数据传输进行中介。
通信接口328对处理器310与未图示的其他个人计算机、服务器装置等之间的数据传输进行中介。典型地,通信接口328由以太网(注册商标)、usb(universalserialbus)等构成。
存储卡接口330对处理器310与存储介质、即存储卡336之间的数据传输进行中介。在存储卡336中,图像处理装置304执行的控制程序350等以存储的状态流通,存储卡接口330从该存储卡336读出控制程序。存储卡336由sd(securedigital)等通用半导体存储装置、软盘(flexibledisk)等磁存储介质、cd-rom(compactdiskreadonlymemory)等光学存储介质等构成。或者,也可以将经由通信接口328从发布服务器等下载的程序安装在图像处理装置304中。
在使用具有上述的通用计算机体系构造的计算机的情况下,在用于提供本实施方式的功能的应用的基础上,还可以安装用于提供计算机的基本功能的os(operatingsystem)。在该情况下,本实施方式的控制程序可以按照规定的顺序和/或时刻,调用作为os的一部分提供的程序模块中的必要模块并执行处理。
并且,本实施方式的控制程序可以嵌入其他程序的一部分提供。在该情况下,程序自身中并不包含上述组合的其他程序中包含的模块,与该其他程序配合执行处理。即,作为本实施方式的控制程序,可以是上述的嵌入其他程序的形态。
此外,可代替地,可以将通过执行控制程序提供的功能的一部分或者全部作为专用的硬件电路安装。
<2-2.运动控制器的硬件结构>
图3是表示构成实施方式所涉及的控制系统的运动控制器400的硬件结构的示意图。运动控制器400包含芯片组412、处理器414、非易失性存储器416、主存储器418、系统时钟420、存储卡接口422、通信接口428、内部总线控制器430以及现场总线控制器438。芯片组412与其他组件之间分别经由各种总线结合。
典型地,处理器414以及芯片组412具有通用计算机体系结构。即,处理器414解析并执行从芯片组412按照内部时钟依次供给的命令代码。芯片组412与连接的各种组件之间交换内部的数据,并且,生成处理器414所需的命令代码。系统时钟420产生具有预设周期的系统时钟并提供给处理器414。芯片组412具有缓存处理器414执行运算处理的结果得到的数据等的功能。
运动控制器400作为存储单元具有非易失性存储器416以及主存储器418。非易失性存储器416除了处理器414执行的控制程序440以外,还以非易失性的方式保存数据定义信息、日志信息等。控制程序440以存储于存储介质424等的状态流通。主存储器418是易失性的存储区域,保存处理器414应执行的各种程序,并且,还作为执行各种程序时的作业用存储器使用。
运动控制器400作为通信单元具有通信接口428以及内部总线控制器430。这些通信电路进行数据的收发。
通信接口428与图像处理装置304之间交换数据。内部总线控制器430控制数据的交换。更具体来讲,内部总线控制器430包含缓冲存储器436、dma(dynamicmemoryaccess)控制电路432以及内部总线控制电路434。
存储卡接口422与相对于运动控制器400可装卸的存储介质424以及处理器414连接。
现场总线控制器438是用于与现场网络连接的通信接口。运动控制器400经由现场总线控制器438与伺服驱动器200x、200y、200θ连接。该现场网络采用例如ethercat(注册商标)、ethernet/ip(注册商标)、componet(注册商标)等。
<2-3.图像处理装置的功能结构>
图4是表示图1所示的控制系统的功能结构的框图。如图4所示,图像处理装置304包含图像获取部32以及位置确定部34。
图像获取部32从运动控制器400接收到拍摄触发信号tr时,控制照相机302a、302b进行拍摄,从照相机302a、302b获取规定尺寸的图像。
位置确定部34确定由照相机302a拍摄的图像中包含的标记5a的位置(下面称为“测量位置psa”)。位置确定部34确定由照相机302b拍摄的图像中包含的标记5b的位置(下面称为“测量位置psb”)。位置确定部34使用已知的模式识别技术,从图像中识别标记5a、5b,测量识别的标记5a、5b的坐标。该坐标通过照相机302a、302b的局部坐标系表示。位置确定部34将确定的标记5a的测量位置psa的坐标以及确定的标记5b的测量位置psb的坐标输出给运动控制器400。
<2-4.运动控制器的功能结构>
如图4所示,运动控制器400具备移动控制部41、推定部45以及拍摄控制部46。通过图3所示的处理器414执行控制程序440从而实现移动控制部41、推定部45以及拍摄控制部46。
另外,如图4所示,移动机构100包含编码器130。编码器130分别产生与伺服电机120x、120y、120θ的移动量对应的脉冲信号。编码器130对伺服电机120x对应的脉冲信号中包含的脉冲数进行计数,从而测量x工作台110x从初始位置沿x方向的平移移动量,作为编码器值pvmx。脉冲数的计数值与移动量通过规定的系数相关联。因此,编码器130将脉冲数的计数值乘以该系数,从而能够测量移动量。同样,编码器130测量y工作台110y从初始位置沿y方向的平移移动量,作为码器值pvmy,并且,测量θ工作台110θ从初始位置的旋转移动量,作为编码器值pvmθ。编码器130按照与控制周期ts相同的周期,测量输出编码器值pvmx、pvmy、pvmθ。
<2-4-1.移动控制部>
移动控制部41基于由视觉传感器300确定的、标记5a的最新的测量位置psa以及标记5b的最新的测量位置psb控制移动机构100,以使工件2的位置接近目标位置sp。
可以针对各生产工序,预先设定工件2的目标位置sp。例如,标记5a与标记5b的中点位于预先设定的坐标,并且,将连接标记5a以及标记5b的直线与x轴或者y轴所呈的角度形成为预先设定的角度的工件2的位置设定为目标位置sp。
或者,照相机302a、302b可以与工件2的标记5a、5b对应地拍摄设置于曝光掩模4(参照图1)的两个目标标记。在该情况下,根据拍摄的图像中包含的该两个目标标记的位置,设定目标位置sp。例如,将标记5a与两个目标标记中的一个一致,并且标记5b与两个目标标记中的另一个一致的工件2的位置设定为目标位置sp。
移动控制部41基于由视觉传感器300确定的标记5a的最新的测量位置psa以及标记5b的最新的测量位置psb,生成用于使工件2的位置接近目标位置sp的移动指令。
确定测量位置psa、psb的周期最短也是拍摄周期tb。另一方面,针对每个控制周期ts,生成移动指令。作为一个例子,拍摄周期tb例如大约是60ms,控制周期ts例如是1ms。这样,拍摄周期tb比控制周期ts长。因此,如果仅使用由视觉传感器300确定的测量位置psa、psb控制移动机构100,则容易产生超调以及振动。为了避免这种超调以及振动,移动控制部41使用测量位置psa、psb、编码器值pvmx、pvmy、pvmθ,决定工件2的推定位置pv,基于推定位置pv生成控制指令。将过去检测到的编码器值pvmx、pvmy、pvmθ存储到运动控制器400的存储部(例如,非易失性存储器416或者主存储器418(参考图3))中。
如图4所示,移动控制部41包含位置决定部42、减法运算部43以及运算部44。
位置决定部42基于由视觉传感器300确定的标记5a的最新的测量位置psa以及标记5b的最新的测量位置psb、编码器值pvmx、pvmy、pvmθ,针对每个控制周期ts决定工件2的推定位置pv。在后面的动作例中详细说明推定位置pv的决定方法。
减法运算部43输出推定位置pv相对于目标位置sp的偏差。运算部44以推定位置pv相对于目标位置sp的偏差收敛为0的方式进行运算(例如p运算、pid运算等),针对每个控制周期ts,计算移动指令mvx、mvy、mvθ。移动指令mvx是针对x工作台110x的移动指令。移动指令mvy是针对y工作台110y的移动指令。移动指令mvθ是针对θ工作台110θ的移动指令。运算部44将计算出的移动指令mvx、mvy、mvθ分别输出给伺服驱动器200x、200y、200θ。移动指令mvx、mvy、mvθ例如是位置指令或者速度指令。
<2-4-2.推定部>
推定部45基于最新的测量位置psa、psb、由移动控制部41生成的移动指令mvx、mvy、mvθ,推定下一个拍摄预定时刻tk的图像上的标记5a的移动速度va以及标记5b的移动速度vb。根据拍摄周期tb预先设定拍摄预定时刻tk。推定部45在比拍摄预定时刻tk早控制周期ts的q倍(q是1以上的整数)的期间之前的第一中间时刻tm1推定移动速度va、vb。以控制周期ts的q倍充分小于拍摄周期tb的方式预先设定q。q例如是1、2或3。下面,说明推定部45的具体的处理方法。
首先,推定部45推定从视觉传感器300拍摄工件2的最新的拍摄时刻t(k-1)到第一中间时刻tm1之间的工件2的移动量δp1=(δx1,δy1,δθ1)。δx1表示x工作台110x沿x方向的平移移动量。δy1表示y工作台110y沿y方向的平移移动量。δθ1表示θ工作台110θ的旋转移动量。
此外,如果从拍摄时刻t(k-1)到下一个拍摄预定时刻tk的期间有时与拍摄周期tb一致,有时与拍摄周期tb的2以上的整数倍的期间一致。其原因在于,有时控制视觉传感器300在拍摄预定时刻中止拍摄。
图5是说明推定从拍摄时刻t(k-1)到第一中间时刻tm1之间的工件2的移动量的方法的图。如图5所示,推定部45基于拍摄时刻t(k-1)的编码器值pvm(k-1)以及第一中间时刻tm1的编码器值pvm(m1),推定移动量δp1。此外,时刻ti的pvm(i)通过(pvmθ(i),pvmx(i),pvmy(i))表示。pvmθ(i)、pvmx(i)、pvmy(i)分别是在时刻ti从编码器130输出的编码器值pvmθ、pvmx、pvmy。或者,在时刻ti与编码器130的检测时刻偏离的情况下,pvmx(i)是接近时刻ti的两个检测时刻从编码器130输出的编码器值pvmx的内插插值。同样,pvmy(j)是接近时刻tj的两个检测时刻从编码器130输出的编码器值pvmy的内插插值。pvmθ(j)是接近时刻tj的两个检测时刻从编码器130输出的编码器值pvmθ的内插插值。后面说明内插插值的计算方法。
推定部45推定拍摄时刻t(k-1)的编码器值pvm(k-1)与第一中间时刻tm1的编码器值pvm(m1)的差值,作为从拍摄时刻t(k-1)到第一中间时刻tm1之间的工件2的移动量δp1。即,推定部45通过下面的式子(1),推定移动量δp1。
δp1=(δx1,δy1,δθ1)
=(pvmx(m1)-pvmx(k-1),pvmy(m1)-pvmy(k-1),pvmθ(m1)-pvmθ(k-1))…式子(1)。
然后,推定部45推定第一中间时刻tm1的、标记5a的位置(下面称为“推定位置pm1a”)以及标记5b的位置(下面称为“推定位置pm1b”)。首先,说明推定位置pm1a的推定方法。
推定部45将从图像处理装置304接收到的测量位置psa的坐标(照相机302a的局部坐标系)变换成世界坐标系(移动机构100的机械坐标系)的坐标。推定部45使用将照相机302a的局部坐标系与世界坐标系相关联的第一校准数据,求出世界坐标系中的测量位置psa的xy坐标(xsa,ysa)。
推定部45使用从将工件2移动了移动量δp1=(δx1,δy1,δθ1)时的测量位置psa向推定位置pm1a的变换式,求出世界坐标系中的推定位置pm1a的坐标。变换式通过下面的式子(2)表示。
sa’=t(ra(sa))…式子(2)
在式子(2)中,sa表示世界坐标系中的测量位置psa的x坐标xsa以及y坐标ysa的转置矩阵、即(xsa,ysa)t。ra()表示与旋转移动对应的变换式,基于θ工作台110θ的旋转中心与测量位置psa之间的距离以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量来确定。其中,作为旋转移动量,使用δθ1。t()表示与平移移动对应的变换式,根据从拍摄时刻t(k-1)开始的x工作台110x以及y工作台110y的平移移动量来确定。其中,作为平移移动量,使用δx1以及δy1。sa’表示将工件2移动了移动量δp1时的世界坐标系中的标记5a的位置的x坐标、y坐标的转置矩阵。其中,sa’表示推定位置pm1a的x坐标xm1a以及y坐标ym1a的转置矩阵即(xm1a,ym1a)t。
推定部45使用第一校准数据,将世界坐标系中的推定位置pm1a的坐标逆变换成与照相机302a对应的局部坐标系的坐标。由此,推定部45能够得到局部坐标系中的推定位置pm1a的坐标。
通过同样的方法,推定部45预测第一中间时刻tm1的标记5b的推定位置pm1b。即,推定部45将从图像处理装置304接收到的测量位置psb的坐标(照相机302b的局部坐标系)变换成世界坐标系的坐标。推定部45使用将照相机302b的局部坐标系与世界坐标系相关联的第二校准数据,求出世界坐标系中的测量位置psb的xy坐标(xsb,ysb)。
推定部45使用从将工件2移动了移动量δp1=(δx1,δy1,δθ1)时的测量位置psb向推定位置pm1b的变换式,求出世界坐标系中的推定位置pm1b的坐标。变换式通过下面的式子(3)表示。
sb’=t(rb(sb))…式子(3)
在式子(3)中,sb表示世界坐标系中的测量位置psb的x坐标xsb以及y坐标ysb的转置矩阵、即(xsb,ysb)t。rb()表示与旋转移动对应的变换式,基于θ工作台110θ的旋转中心与测量位置psb之间的距离以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量来确定。其中,作为旋转移动量,使用δθ1。t()表示与平移移动对应的变换式,根据从拍摄时刻t(k-1)开始的x工作台110x以及y工作台110y的平移移动量来确定。其中,作为平移移动量,使用δx1以及δy1。sb’表示将工件2移动了移动量δp1时的世界坐标系中的标记5b的位置的x坐标、y坐标的转置矩阵。其中,sb’表示推定位置pm1b的x坐标xm1b以及y坐标ym1b的转置矩阵、即(xm1b,ym1b)t。
推定部45使用第二校准数据,将世界坐标系中的推定位置pm1b的坐标逆变换成照相机302b对应的局部坐标系的坐标。由此,推定部45能够得到局部坐标系中的推定位置pm1b的坐标。
从第一中间时刻tm1到拍摄预定时刻tk的期间是控制周期ts的1至数倍。因此,在该期间,移动指令的变化量很小。即,可以看做第一中间时刻tm1的移动指令持续到拍摄预定时刻tk。
因此,推定部45通过将第一中间时刻tm1的标记5a的推定位置pm1a的x坐标、y坐标代入上述的式子(2)的sa,从而预测拍摄预定时刻tk的位置(下面称为“预测位置pea”)。在该情况下,式子(2)的ra()基于θ工作台110θ的旋转中心与第一中间时刻tm1的推定位置pm1a之间的距离、第一中间时刻tm1的移动指令mvθ、以及从第一中间时刻tm1到拍摄预定时刻tk的时间来确定。t()根据第一中间时刻tm1的移动指令mvx、mvy、以及从第一中间时刻tm1到拍摄预定时刻tk的时间来确定。
推定部45使用第一校准数据将世界坐标系中的预测位置pea的坐标逆变换成对应照相机302a的局部坐标系的坐标。由此,推定部45能够得到局部坐标系中的预测位置pea的坐标。
同样,推定部45通过将第一中间时刻tm1的标记5b的推定位置pm1b的x坐标、y坐标代入上述的式子(3)的sb,从而预测拍摄预定时刻tk的位置(下面称为“预测位置peb”)。在该情况下,式子(3)中的ra()基于θ工作台110θ的旋转中心与第一中间时刻tm1的推定位置pm1b之间的距离、第一中间时刻tm1的移动指令mvθ、以及从第一中间时刻tm1到拍摄预定时刻tk的时间来确定。t()根据第一中间时刻tm1的移动指令mvx、mvy、以及从第一中间时刻tm1到拍摄预定时刻tk的时间来确定。
推定部45使用第二校准数据将世界坐标系中的预测位置peb的坐标逆变换成对应照相机302b的局部坐标系的坐标。由此,推定部45能够得到局部坐标系中的预测位置peb的坐标。
推定部45根据下面的式子(4)、(5),推定拍摄预定时刻tk的图像上的标记5a的移动速度va以及标记5b的移动速度vb。
va=(pea-pm1a)/(tk-tm1)…式子(4)
vb=(peb-pm1b)/(tk-tm1)…式子(5)
在式子(4)中,“pea-pm1a”表示预测位置pea与推定位置pm1a之间的距离,基于预测位置pea以及推定位置pm1a的局部坐标系中的x坐标、y坐标来计算。在式子(5)中,“peb-pm1b”表示预测位置peb与推定位置pm1b之间的距离,基于预测位置peb以及推定位置pm1b的局部坐标系中的x坐标、y坐标来计算。“tk-tm1”表示从第一中间时刻tm1到拍摄预定时刻tk的时间。
这样,推定部45能够在早于下一个拍摄预定时刻tk的第一中间时刻tm1分别推定拍摄预定时刻tk的图像上的标记5a、5b的移动速度va、vb。
<2-4-3.拍摄控制部>
拍摄控制部46控制视觉传感器300的动作。拍摄控制部46在从上位控制装置接收到定位处理的开始指示时,按照拍摄周期tb,将拍摄触发信号tr(拍摄指示)输出给图像处理装置304。具体来讲,拍摄控制部46接收到定位处理的开始指示时,输出第一次的拍摄触发信号tr。然后,拍摄控制部46每经过拍摄周期tb时,输出第二次以及此后的拍摄触发信号tr。
其中,拍摄控制部46基于由推定部45推定的移动速度va、vb,判断是否可以输出拍摄触发信号tr。拍摄控制部46在移动速度va、vb小于预先设定的阈值th1的情况下在下一个拍摄预定时刻tk输出拍摄触发信号tr,在移动速度va、vb中的至少一项超过阈值th1的情况下,不会在拍摄预定时刻tk输出拍摄触发信号tr。即,拍摄控制部46控制视觉传感器300在移动速度va、vb小于阈值th1的情况下在拍摄预定时刻tk进行拍摄,在移动速度va、vb中的至少一项超过阈值th1的情况下不在拍摄预定时刻tk进行拍摄。
可以根据导致模糊的图像抖动的测量位置psa、psb的测量误差的许可上限值,以实验或者理论的方式确定阈值th1。即,预先设定产生许可上限值的测量误差时的图像上的标记5a、5b的移动速度,作为阈值th1。
3动作例
<3-1.控制系统的定位处理的流程>
参照图6,说明控制系统1的定位处理的流程的一个例子。图6是表示控制系统的定位处理的流程的一个例子的流程图。
首先,在步骤s1,运动控制器400将推定位置pv以及编码器值pvmx、pvmy、pvmθ初始化。然后,当工件2载置于移动机构100上时,拍摄控制部46向图像处理装置304输出第一次的拍摄触发信号tr。由此,在步骤s2,在移动机构100停止的状态下,照相机302a、302b拍摄工件2。
然后,在步骤s3,图像处理装置304确定由照相机302a拍摄的图像中包含的标记5a的测量位置psa以及由照相机302b拍摄的图像中包含的标记5b的测量位置psb。然后,在步骤s4,移动控制部41开始移动机构100的移动控制。
然后,在步骤s5,移动控制部41判断推定位置pv相对于目标位置sp的偏差是否小于阈值th2。可以根据要求的定位精度,预先设定阈值th2。在推定位置pv相对于目标位置sp的偏差小于阈值th2的情况下(步骤s5为是),移动控制部41结束移动机构100的移动控制。由此,结束定位处理。
在推定位置pv相对于目标位置sp的偏差不小于阈值th2的情况下(步骤s5为否),针对每个拍摄周期tb,重复步骤s6至步骤s12的处理。此外,在步骤s6至s12的期间,同时执行移动控制部41的移动控制。
在步骤s6,推定部45判断当前时刻是否是比下一个拍摄预定时刻tk早控制周期ts的q倍的第一中间时刻tm1。在当前时刻不是第一中间时刻tm1的情况下(步骤s6为否),处理返回至步骤s5。
在当前时刻是第一中间时刻tm1的情况下(步骤s6为是),在步骤s7,推定部45分别推定拍摄预定时刻tk的图像上的标记5a、5b的移动速度va、vb。
然后,在步骤s8,拍摄控制部46判断移动速度va、vb是否小于阈值th1。
在移动速度va、vb小于阈值th1的情况下(步骤s8为是),拍摄控制部46在拍摄预定时刻tk将拍摄触发信号tr输出给图像处理装置304(步骤s9)。在步骤s10,图像处理装置304的图像获取部32控制照相机302a、302b进行拍摄,获取由照相机302a、302b拍摄的图像。在步骤s11,位置确定部34分别确定图像中包含的标记5a、5b的测量位置psa、psb。
然后,在步骤s12,更新下一个拍摄预定时刻。具体来讲,运动控制器400将从更新前的拍摄预定时刻tk经过了拍摄周期tb的时刻设定为下一个拍摄预定时刻tk。步骤s12之后,处理返回至步骤s5。
在移动速度va、vb中的至少一项为阈值th1以上的情况下(步骤s8为否),处理行进至步骤s12。即,在更新前的拍摄预定时刻tk,不输出拍摄触发信号tr,视觉传感器300不拍摄工件2。
<3-2.移动控制部的处理>
图7是表示移动控制部进行移动机构的控制处理的流程的一个例子的流程图。首先,在步骤s21,位置决定部42获取由图像处理装置304确定的最新的测量位置psa、psb。位置决定部42使用上述的第一校准数据、第二校准数据,将从图像处理装置304接收到的测量位置psa、psb的坐标(局部坐标系)分别变换成世界坐标系的坐标。
在步骤s22,位置决定部42获取最新的拍摄时刻。例如,位置决定部42获取输出最新的拍摄触发信号tr的时刻,作为拍摄时刻。或者,考虑到从输出拍摄触发信号tr到照相机302a、302b开始曝光的延迟时间,位置决定部42可以获取从输出拍摄触发信号tr的时刻经过了延迟时间后的时刻,作为拍摄时刻。
然后,在步骤s23,位置决定部42获取接近拍摄时刻的多个时刻的编码器值pvmx、pvmy、pvmθ。
然后,在步骤s24,位置决定部42计算多个时刻的编码器值pvmx的内插插值,将该内插插值作为拍摄时刻的编码器值pvmsx。同样,位置决定部42计算多个时刻的编码器值pvmy的内插插值,将该内插插值作为拍摄时刻的编码器值pvmsy。位置决定部42计算多个时刻的编码器值pvmθ的内插插值,将该内插插值作为拍摄时刻的编码器值pvmsθ。
具体来讲,位置决定部42以下述方式计算内插插值。将在检测时刻t(n)由编码器130检测到的编码器值pvmx作为编码器值pvmx(n)。位置决定部42确定接近拍摄时刻tvi的两个时刻,例如,在时间轴上夹着拍摄时刻tvi的检测时刻t(n-k)以及检测时刻t(n-k+1)。
位置决定部42获取检测时刻t(n-k)的编码器值pvmx(n-k)以及检测时刻t(n-k+1)的编码器值pvmx(n-k+1)。
位置决定部42使用编码器值pvmx(n-k)与编码器值pvmx(n-k+1)的内插插值,计算拍摄时刻tvi的编码器值pvmsx(vi)。具体来讲,位置决定部42使用下面的式子(6),计算拍摄时刻tvi的编码器值pvmsx(vi)。
pvmsx(vi)=pvmx(n-k)+kk*(pvmx(n-k+1)-pvmx(n-k))…(6)
其中,kk是内插插值系数。将控制周期设置为ts,将编码器值pvmx的传输延迟时间设置为ted,将拍摄触发信号tr的传输延迟时间设置为tsd,在ts-ted≤tsd<2ts-ted的情况下,内插插值系数kk使用下面的式子(7)计算。
kk={tsd-(ts-ted)}/ts…(7)
通过使用这种内插插值的计算方法,能够高精度计算拍摄时刻tvi的编码器值pvmsx(vi)。同样,可以计算拍摄时刻tvi的编码器值pvmsy(vi)、pvmsθ(vi)。此外,在拍摄时刻与编码器值的计算时刻一致的情况下,直接使用该编码器值即可。
然后,在步骤s25,位置决定部42使用最新的测量位置psa、psb、拍摄时刻之后的编码器值pvmx、pvmy、pvmθ、拍摄时刻的编码器值pvmsx、pvmsy、pvmsθ,计算推定位置pv。
具体来讲,向沿x方向按照(pvmx-pvmsx)进行平移移动、沿y方向按照(pvmy-pvmsy)进行平移移动、按照(pvmθ-pvmsθ)进行旋转移动时的仿射变换式中输入测量位置psa,计算仿射变换后的位置pswa。同样,向该仿射变换式中输入测量位置psb,计算仿射变换后的位置pswb。位置决定部42决定标记5a位于位置pswa、标记5b位于位置pswb时的工件2的位置,作为推定位置pv。即,位置决定部42计算位置pswa与位置pswb的中点的坐标、将位置pswa与位置pswb连接的直线与x轴或者y轴所呈的角度,作为确定推定位置pv的信息。
然后,在步骤s26,运算部44基于推定位置pv相对于目标位置sp的偏差,例如通过p运算,生成移动指令mvx、mvy、mvθ,分别输出给伺服驱动器200x、200y、200θ。
通过执行这种处理,运动控制器400在输入了基于图像处理的高精度的测量位置psa、psb的时刻,使用该高精度的测量位置psa、psb计算推定位置pv,能够实现高精度的定位控制。其中,输入测量位置psa、psb的时间间隔是拍摄周期tb,比输入编码器值pvmx、pvmy、pvmθ的控制周期ts长。但是,在时间轴上相邻的测量位置psa、psb的输入时刻之间,位置决定部42在输入周期较短的编码器值pvmx、pvmy、pvmθ的每个输入时刻,决定推定位置pv,进行移动机构100的移动控制。由此,能够进行高精度且短周期的定位控制。并且,位置决定部42进行使用上述简单四则运算的处理。因此,能够通过简单的结构以及处理来实现快速且高精度的定位。
<3-3.作用、效果>
如上所述,控制系统1具备视觉传感器300、移动控制部41、推定部45以及拍摄控制部46。视觉传感器300在每个拍摄时刻拍摄工件2从而获取图像,基于图像,分别确定工件2的标记5a、5b的测量位置psa、psb。移动控制部41基于由视觉传感器300确定的测量位置psa、psb控制移动机构100,以使工件2的位置接近目标位置。推定部45基于从最新的拍摄时刻t(k-1)拍摄的图像中确定的最新的测量位置psa、psb以及参照信息,分别推定下一个拍摄预定时刻tk的标记5a、5b的移动速度va、vb。参照信息包含来自移动机构100的信息以及由移动控制部41生成的信息。拍摄控制部46控制视觉传感器300在移动速度va、vb小于阈值th1的情况下在拍摄预定时刻tk进行拍摄,在移动速度va、vb超过阈值th1的情况下不在拍摄预定时刻tk进行拍摄。
由此,能够避免拍摄图像抖动量较大的图像,能够抑制该图像造成的定位精度降低。
参照信息包含分别表示从拍摄时刻t(k-1)开始的伺服电机120x、120y、120θ的驱动量(此处是旋转量)的编码器值pvmx、pvmy、pvmθ。并且,参照信息包含移动控制部41在拍摄时刻t(k-1)之后生成的移动指令mvx、mvy、mvθ。具体来讲,参照信息包含在第一中间时刻tm1生成的移动指令mvx、mvy、mvθ。
编码器值pvmx、pvmy、pvmθ直接表示移动机构100的移动量。另外,移动机构100按照移动指令mvx、mvy、mvθ移动。因此,工件2的标记5a、5b也按照移动指令mvx、mvy、mvθ移动。由此,推定部45能够分别高精度地推定拍摄预定时刻tk的标记5a、5b的移动速度va、vb。
4变形例
<4-1.变形例1>
推定部45也可以基于从拍摄时刻t(k-1)到第一中间时刻tm1输出的编码器值pvmx、pvmy、pvmθ,推定下一个拍摄预定时刻tk的标记5a、5b的移动速度va、vb。
图8是说明变形例1的移动速度va、vb的推定方法的图。如图8所示,推定部45推定从拍摄时刻t(k-1)到第二中间时刻tm2之间的工件2的移动量δp2=(δx2,δy2,δθ2)。第二中间时刻tm2是比第一中间时刻tm1早控制周期ts的r倍(r是1以上的整数)期间的时刻。r例如是1、2或3。推定移动量δp2的方法与推定移动量δp1的方法相同。即,推定部45推定拍摄时刻t(k-1)的编码器值pvm(k-1)与第二中间时刻tm2的编码器值pvm(m2)=(pvmx(m2),pvmy(m2),pvmθ(m2))的差值,作为移动量δp2。
推定部45推定第二中间时刻tm2的、标记5a的位置(下面称为“推定位置pm2a”)以及标记5b的位置(下面称为“推定位置pm2b”)。
具体来讲,推定部45使用最新的测量位置psa以及推定的移动量δp2,根据上述的式子(2),推定推定位置pm2a。此时,ra()基于θ工作台110θ的旋转中心与测量位置psa之间的距离、以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量δθ2来确定。t()根据从拍摄时刻t(k-1)开始的x工作台110x的平移移动量δx2以及y工作台110y的平移移动量δy2来确定。
推定部45使用最新的测量位置psb以及推定的移动量δp2,根据上述的式子(3),推定推定位置pm2b。此时,ra()基于θ工作台110θ的旋转中心与测量位置psb之间的距离、以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量δθ2来确定。t()根据从拍摄时刻t(k-1)开始的x工作台110x的平移移动量δx2以及y工作台110y的平移移动量δy2来确定。
从第一中间时刻tm1到拍摄预定时刻tk的期间是控制周期ts的1至几倍。因此,在该期间,标记5a、5b的移动速度几乎不变。由此,推定部45分别推定从第二中间时刻tm2到第一中间时刻tm1的图像上的标记5a、5b的移动速度,作为拍摄预定时刻tk的图像上的移动速度va、vb。即,推定部45根据下面的式子(8)、(9),推定拍摄预定时刻tk的图像上的标记5a的移动速度va以及标记5b的移动速度vb。
va=(pm1a-pm2a)/(tm1-tm2)…(8)
vb=(pm1b-pm2b)/(tm1-tm2)…(9)
在式子(8)中,“pm1a-pm2a”表示推定位置pm1a与推定位置pm2a之间的距离。在式子(9)中,“pm1b-pm2b”表示推定位置pm1b与推定位置pm2b之间的距离。“tm1-tm2”表示从第二中间时刻tm2到第一中间时刻tm1的时间。
这样,推定部45在早于下一个拍摄预定时刻tk的第一中间时刻tm1分别推定拍摄预定时刻tk的标记5a、5b的移动速度va、vb。
<4-2.变形例2>
在上述的说明中,基于编码器值pvmx、pvmy、pvmθ,推定从拍摄时刻t(k-1)到第一中间时刻tm1之间的工件2的移动量δp1。但是,推定部45也可以基于从拍摄时刻t(k-1)到第一中间时刻tm1的期间生成的移动指令mvx、mvy、mvθ,推定该期间的工件2的移动量δp1。
载置有工件2的移动机构100按照移动指令mvx、mvy、mvθ移动。因此,对于从拍摄时刻t(k-1)到第一中间时刻tm1的期间的工件2沿x方向的平移移动量δx1,可以根据该期间生成的移动指令mvx来推定。同样,对于从拍摄时刻t(k-1)到第一中间时刻tm1的期间的工件2沿y方向的平移移动量δy1,可以根据该期间生成的移动指令mvy来推定。对于从拍摄时刻t(k-1)到第一中间时刻tm1的期间的工件2的旋转移动量δθ1,可以根据该期间生成的移动指令mvθ来推定。
对于推定部45,例如,在移动指令mvx是速度指令、将时刻t的移动指令mvx的值设置为mvx(t)的情况下,根据下面的式子(10),计算平移移动量δx1。在控制周期ts期间,mvx(t)是一定的。
[数式1]
同样,推定部45根据下面的式子(11)、(12),计算从拍摄时刻t(k-1)到第一中间时刻tm1的期间沿y方向的平移移动量δy1以及旋转移动量δθ1。在式子(11)中,mvy(t)表示时刻t的移动指令mvy的值。在式子(12)中,mvθ(t)表示时刻t的移动指令mvθ的值。移动指令mvy、mvθ是速度指令,mvy(t)以及mvθ(t)在控制周期ts期间是一定的。
[数式2]
这样,推定部45可以基于从拍摄时刻t(k-1)到第一中间时刻tm1生成的移动指令mvx、mvy、mvθ,推定下一个拍摄预定时刻tk的标记5a、5b的移动速度va、vb。
<4-3.变形例3>
在上述说明中,移动控制部41生成移动指令mvx、mvy、mvθ,以使得推定位置pv接近目标位置sp。但是,也可以决定用于使工件2更加顺畅移动的移动机构100的目标轨道,根据决定的目标轨道控制移动机构100。在该情况下,可以基于决定的目标轨道,推定拍摄预定时刻tk的图像上的标记5a、5b的移动速度va、vb。
<4-3-1.控制系统的功能结构>
图9是表示变形例3所涉及的控制系统1a的功能结构的框图。如图9所示,控制系统1a与图4所示的控制系统1相比,取代运动控制器400而具备运动控制器400a这点不同。运动控制器400a与运动控制器400相比,取代移动控制部41以及推定部45而分别包含移动控制部41a以及推定部45a这点不同。移动控制部41a与移动控制部41相比,取代位置决定部42、减法运算部43以及运算部44而具备目标轨道决定部47以及运算部44a这点不同。
<4-3-1-1.目标轨道决定部>
目标轨道决定部47基于由图像处理装置304确定的标记5a的测量位置psa、标记5b的测量位置psb以及目标位置sp,决定移动机构100的目标轨道。具体来讲,通过下述方式决定目标轨道。
目标轨道决定部47基于最新的测量位置psa、psb,确定拍摄时刻t(k-1)的工件2的实际位置。目标轨道决定部47计算用于从确定的工件2的实际位置向目标位置sp移动的移动机构100的必要移动距离lo。目标轨道决定部47将移动机构100的必要移动距离lo分解为x轴方向的必要移动距离lx、y轴方向的必要移动距离ly以及旋转方向的必要移动距离lθ。
目标轨道决定部47基于必要移动距离lx以及x工作台110x的目标位置spx,决定x工作台110x的目标轨道tgx。目标轨道决定部47基于必要移动距离ly以及y工作台110y的目标位置spy,决定y工作台110y的目标轨道tgy。目标轨道决定部47基于必要移动距离lθ以及θ工作台110θ的目标位置spθ,决定θ工作台110θ的目标轨道tgθ。
图10是表示目标轨道tgx、tgy、tgθ的一个例子的图。以表示时刻t的目标轨道tgx的位置与目标位置spx的偏差的时间变化的函数lx(t)成为5次以上的多次函数的方式决定目标轨道tgx。函数lx(t)是至少将必要移动距离lx以及时刻t作为解释变量的函数。同样,以表示时刻t的目标轨道tgy的位置与目标位置spy的偏差的时间变化的函数ly(t)成为5次以上的多次函数的方式决定目标轨道tgy。以表示时刻t的目标轨道tgθ的位置与目标位置spθ的偏差的时间变化的函数lθ(t)成为5次以上的多次函数的方式决定目标轨道tgθ。
目标轨道决定部47将分别表示决定的目标轨道tgx、tgy、tgθ与目标位置spx、spy、spθ的偏差的时间变化的函数lx(t)、ly(t)、lθ(t)输出给运算部44a。函数lx(t)、ly(t)、lθ(t)是分别表示目标轨道tgx、tgy、tgθ的信息。
目标轨道决定部47针对每个拍摄周期tb,根据由图像处理装置304确定的标记5a、5b的最新的测量位置psa、psb,更新函数lx(t)、ly(t)、lθ(t)。
<4-3-1-2.运算部>
运算部44a基于函数lx(t)、ly(t)、lθ(t),针对每个控制周期ts,分别计算移动指令mvx、mvy、mvθ。具体来讲,运算部44a在函数lx(t)中代入当前时刻t,从而计算目标轨道tgx的当前时刻t的位置相对于目标位置spx的偏差。运算部44a对计算出的偏差进行例如p运算,从而计算移动指令mvx。运算部44a通过同样的方法,计算移动指令mvy、mvθ。
<4-3-1-3.推定部>
推定部45a基于由目标轨道决定部47决定的目标轨道tgx、tgy、tgθ,推定从拍摄时刻t(k-1)到第一中间时刻tm1的工件2的移动量δp1。具体来讲,如图10所示,推定部45a计算目标轨道tgx的从拍摄时刻t(k-1)到第一中间时刻tm1的移动量,作为工件2沿x方向的平移移动量δx1。同样,推定部45a计算目标轨道tgy的从拍摄时刻t(k-1)到第一中间时刻tm1的移动量,作为工件2沿y方向的平移移动量δy1。推定部45a计算目标轨道tgθ的从拍摄时刻t(k-1)到第一中间时刻tm1的移动量,作为工件2的旋转移动量δθ1。
推定部45a使用最新的测量位置psa以及推定的移动量δp1,根据上述的式子(2),推定第一中间时刻tm1的标记5a的推定位置pm1a。推定部45a使用最新的测量位置psb以及推定的移动量δp1,根据上述的式子(3),推定第一中间时刻tm1的标记5b的推定位置pm1b。
并且,推定部45a基于目标轨道tgx、tgy、tgθ,推定从拍摄时刻t(k-1)到拍摄预定时刻tk的工件2的移动量δpk=(δxk,δyk,δθk)。具体来讲,推定部45a计算目标轨道tgx的从拍摄时刻t(k-1)到拍摄预定时刻tk的移动量,作为工件2沿x方向的平移移动量δxk。同样,推定部45a计算目标轨道tgy的从拍摄时刻t(k-1)到拍摄预定时刻tk的移动量,作为工件2沿y方向的平移移动量δyk。推定部45a计算目标轨道tgθ的从拍摄时刻t(k-1)到拍摄预定时刻tk移动量,作为工件2的旋转移动量δθk。
推定部45a通过将最新的测量位置psa的x坐标xsa以及y坐标ysa代入上述的式子(2)的右边,从而推定拍摄预定时刻tk的标记5a的预测位置pea。此时,ra()基于θ工作台110θ的旋转中心与测量位置psa之间的距离、以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量δθk来确定。t()根据从拍摄时刻t(k-1)开始的x工作台110x的平移移动量δxk以及y工作台110y的平移移动量δyk来确定。
同样,推定部45a通过将最新的测量位置psb的x坐标xsb以及y坐标ysb代入上述的式子(3)的左边,从而推定拍摄预定时刻tk的标记5b的预测位置peb。此时,ra()基于θ工作台110θ的旋转中心与测量位置psb之间的距离、以及从拍摄时刻t(k-1)开始的θ工作台110θ的旋转移动量δθk来确定。t()根据从拍摄时刻t(k-1)开始的x工作台110x的平移移动量δxk以及y工作台110y的平移移动量δyk来确定。
推定部45a根据上述的式子(4)、(5),推定拍摄预定时刻tk的标记5a的移动速度va以及标记5b的移动速度vb。
<4-3-2.目标轨道决定部的处理>
图11是表示目标轨道决定部的处理流程的流程图。通过图像处理装置304每次确定标记5a、5b的测量位置psa、psb时进行图11所示的处理。
在步骤s31,目标轨道决定部47从图像处理装置304获取标记5a、5b的测量位置psa、psb。
在步骤s32,目标轨道决定部47基于标记5a、5b的测量位置psa、psb,确定工件2的实际位置。然后,目标轨道决定部47计算用于从确定的工件2的实际位置向目标位置sp移动的x轴方向的必要移动距离lx、y轴方向的必要移动距离ly以及旋转方向的必要移动距离lθ。
在步骤s33,目标轨道决定部47修正必要移动距离lx、ly、lθ。为了抑制移动机构100上的工件2的滑动、移动机构100的定位后的残余振动,进行该修正。此外,在工件2的滑动、残余振动较小而可忽略的情况下,可以省略步骤s33。
步骤s33的修正方法如下所述。目标轨道决定部47计算基于来自编码器130的编码器值决定的移动机构100的实际位置与前一次决定的目标轨道的当前时刻的位置的位置偏差en(t),作为误差。位置偏差en(t)被分解为x轴方向的分量enx(t)、y轴方向的分量eny(t)以及旋转方向的分量enθ(t)。
目标轨道决定部47利用位置偏差enx(t)修正必要移动距离lx,从而计算修正后的必要移动距离lxm。同样,目标轨道决定部47利用位置偏差eny(t)修正必要移动距离ly,从而计算修正后的必要移动距离lym。目标轨道决定部47利用位置偏差enθ(t)修正必要移动距离lθ,从而计算修正后的必要移动距离lθm。
在步骤s34,目标轨道决定部47将测量时刻t初始为零。在步骤s35,目标轨道决定部47计算轨道时间t。轨道时间t表示用于使移动机构100从目标轨道tgx、tgy、tgθ的起点移动到终点所需的时间。作为一个例子,轨道时间t基于下面的式子(13)计算。
t=max{f(amax),tmin}…(13)
上述式子(13)所示的“amax”表示最大加速度。“f()”是用于求出以最大加速度amax使移动机构100移动必要移动距离时花费的轨道时间的函数。“tmin”是规定的最小轨道时间。“max(α,β)”是用于从数值α,β中获取最大值的函数。
根据上述式子(13),以不小于最小轨道时间tmin的方式设定轨道时间t。在未设定最小轨道时间tmin、必要移动距离lo非常小的情况下,移动机构100立即到达目标位置,因此,导致到下一个拍摄时刻的时间被浪费。但是,通过设置最小轨道时间tmin,在必要移动距离lo非常小的情况下,移动机构100以低于最大加速度的加速度移动,移动机构100能够顺畅地移动。作为一个例子,将平均拍摄间隔乘以一定的比率(例如,50%)从而计算最小轨道时间tmin。
在步骤s36,目标轨道决定部47基于通过步骤s33得到的必要移动距离lxm、lym、lθm以及通过步骤s35计算出的轨道时间t,分别决定目标轨道tgx、tgy、tgθ。
具体来讲,目标轨道决定部47决定目标轨道tgx,使得表示目标轨道tgx的位置与目标位置spx的偏差的时间变化的函数lx(t)由下面的式子(14)表示。目标轨道决定部47决定目标轨道tgy,使得表示目标轨道tgy的位置与目标位置spy的偏差的时间变化的函数ly(t)由下面式子(15)表示。目标轨道决定部47决定目标轨道tgθ,使得表示目标轨道tgθ的位置与目标位置spθ的偏差的时间变化的函数lθ(t)由下面式子(16)表示。
lx(t)=lxm*[1-(t/t)3{10-15(t/t)+6(t/t)2}]…(14)
ly(t)=lym*[1-(t/t)3{10-15(t/t)+6(t/t)2}]…(15)
lθ(t)=lθm*[1-(t/t)3{10-15(t/t)+6(t/t)2}]…(16)
如式子(14)至(16)所示,函数lx(t)、ly(t)、lθ(t)是至少将必要移动距离lxm、lym、lθm以及时刻t作为解释变量、将与目标位置spx、spy、spθ的偏差作为目标变量的多次函数。
此外,上述式子(14)至(16)所示的函数lx(t)、ly(t)、lθ(t)是5次函数,但是,函数lx(t)、ly(t)、lθ(t)也可以是6次以上的多次函数。
在提供了最大加速度amax的情况下,轨道时间t通过下面的式子(17)至式子(19)计算。此外,在式子(17)中,lm是lxm、lym、lθm。
f(amax)=c1*lm/amax…(17)
c1=60c2(2c22-3c2+1)…(18)
c2=0.5-31/2/6…(19)
这样,每当目标轨道决定部47确定测量位置psa、psb时,一起计算分别表示移动机构100到达目标位置sp的期间的目标轨道tgx、tgy、tgθ的函数lx(t)、ly(t)、lθ(t)。
<4-4.其他变形例>
在上述说明中,移动机构100是xyθ工作台。但是,移动机构100也可以是θxy工作台、uvw工作台、xy工作台、xyz工作台、多关节机器人等。
在上述说明中,使用设置于工件2的标记5a、5b作为工件2的特征部分,定位工件2。但是,也可以使用工件2的其他部分作为工件2的特征部分,定位工件2。例如,可以使用设置于工件2的螺纹或者螺孔作为工件2的特征部分。或者使用工件2的角部作为工件2的特征部分。
伺服电机120x、120y、120θ可以不是旋转式电机而是线性电机。另外,编码器130可以是线性编码器。在该情况下,推定部45获取表示直线轴的位置的信息,作为表示电机的驱动量的信息,基于获取的信息,推定移动量δp1。
5附记
如上所述,本实施方式以及变形例包含以下内容。
(结构1)
一种控制系统(1、1a),控制使对象物(2)移动的移动机构(100)从而进行所述对象物(2)的定位,其中,
所述控制系统(1、1a)具备:
视觉传感器(300),在每个拍摄时刻拍摄所述对象物(2)从而获取图像,基于该图像,确定所述对象物(2)的特征部分(5a、5b)的位置;
移动控制部(41、41a),基于由所述视觉传感器(300)确定的所述特征部分(5a、5b)的位置控制所述移动机构(100),以使所述对象物(2)的位置接近目标位置;
推定部(45、45a),基于所述视觉传感器(300)从最新的拍摄时刻拍摄的图像中确定的所述特征部分(5a、5b)的最新的位置以及参照信息,推定下一个拍摄预定时刻的所述特征部分(5a、5b)的移动速度,该参照信息包含来自所述移动机构(100)的信息和由所述移动控制部(41、41a)生成的信息中的至少一项;以及
拍摄控制部(46),控制所述视觉传感器(300)在所述移动速度小于阈值的情况下在所述拍摄预定时刻进行拍摄,在所述移动速度超过阈值的情况下不在所述拍摄预定时刻进行拍摄。
(结构2)
根据结构1所述的控制系统(1),其中,
所述移动机构(100)包含驱动所述对象物(2)移动的电机,
所述参照信息包含表示从所述最新的拍摄时刻开始的所述电机的驱动量的信息。
(结构3)
根据结构1或2所述的控制系统(1),其中,
所述移动控制部(41、41a)针对每个控制周期,生成针对所述移动机构(100)的移动指令,
所述参照信息包含表示所述移动控制部(41、41a)在所述最新的拍摄时刻之后生成的移动指令的信息。
(结构4)
根据结构1所述的控制系统(1a),其中,
所述移动控制部(41a)基于所述最新的位置决定所述移动机构(100)的目标轨道,控制所述移动机构(100)按照决定的所述目标轨道进行移动,所述参照信息包含表示所述目标轨道的信息。
(结构5)
一种控制装置(400),控制使对象物(2)移动的移动机构(100)以及视觉传感器(300)从而进行所述对象物(2)的定位,该视觉传感器(300)拍摄所述对象物(2)从而获取图像,基于该图像,确定所述对象物(2)的特征部分(5a、5b)的位置,其中,
所述控制装置(400)具备:
移动控制部(41、41a),基于由所述视觉传感器(300)确定的所述特征部分(5a、5b)的位置控制所述移动机构(100),以使所述对象物(2)的位置接近目标位置;
推定部(45、45a),基于所述视觉传感器(300)从最新的拍摄时刻拍摄的图像中确定的所述特征部分(5a、5b)的最新的位置以及参照信息,推定下一个拍摄预定时刻的所述特征部分(5a、5b)的移动速度,该参照信息包含来自所述移动机构(100)信息和由所述移动控制部(41、41a)生成的信息中的至少一项;以及
拍摄控制部(46),控制所述视觉传感器(300)在所述移动速度小于阈值的情况下在所述拍摄预定时刻进行拍摄,在所述移动速度超过阈值的情况下不在所述拍摄预定时刻进行拍摄。
(结构5’)
一种控制装置(400),用于结构1至4中任一项所述的控制系统(1、1a),其中,
所述控制装置(400)具备:
所述移动控制部(41、41a)、
所述推定部(45、45a)以及
所述拍摄控制部(46)。
(结构6)
一种存储有程序的存储介质,该程序用于支持控制使对象物(2)移动的移动机构(100)从而进行所述对象物(2)的定位的控制系统(1、1a),其中,
所述控制系统(1、1a)具备视觉传感器(300),该视觉传感器(300)拍摄所述对象物(2)从而获取图像,基于该图像,确定所述对象物(2)的特征部分(5a、5b)的位置,
所述程序在计算机上执行以下步骤:
基于由所述视觉传感器(300)确定的所述特征部分(5a、5b)的位置控制所述移动机构(100),以使所述对象物(2)的位置接近目标位置;
基于所述视觉传感器(300)从最新的拍摄时刻拍摄的图像中确定的所述特征部分(5a、5b)最新的位置以及参照信息,推定下一个拍摄预定时刻的所述特征部分(5a、5b)的移动速度,该参照信息包含来自所述移动机构(100)的信息和通过进行所述控制的步骤生成的信息中的至少一项;以及
控制所述视觉传感器(300)在所述移动速度小于阈值的情况下在所述拍摄预定时刻进行拍摄,在所述移动速度超过阈值的情况下不在所述拍摄预定时刻进行拍摄。
(结构6’)
一种存储有程序的存储介质,该程序用于支持结构1至4中任一项所述的控制系统(1、1a),其中,
所述程序在计算机上执行以下步骤:
基于由所述视觉传感器(300)确定的所述特征部分(5a、5b)的位置控制所述移动机构(100),以使所述对象物(2)的位置接近目标位置;
基于所述视觉传感器(300)从最新的拍摄时刻拍摄的图像中确定的所述特征部分(5a、5b)的最新的位置以及参照信息,推定下一个拍摄预定时刻的所述特征部分(5a、5b)的移动速度,该参照信息包含来自所述移动机构(100)的信息和通过进行所述控制的步骤生成的信息中的至少一项;以及
控制所述视觉传感器(300)在所述移动速度小于阈值的情况下在所述拍摄预定时刻进行拍摄,在所述移动速度超过阈值的情况下不在所述拍摄预定时刻进行拍摄。
应注意的是,此次公开的各实施方式的所有要点只是示例性的,并不是限制性的。本发明的范围并不是上述说明的范围而是权利要求所表示的范围,并且,包含与权利要求范围均等的含义以及范围内的所有变更。另外,应注意的是,实施方式以及各变形例中说明的发明在可能的情况下可以单独、组合的实施。