[0109]在上述的状况下,第二控制部20Β按照由作业内容设定部102Β(图11)设定的作业比例来判断是否把持物品Ml。当进行了把持物品Ml的判断且第二机构部14B根据来自作业执行部108B的指令来将物品Ml从输送机12拿起时,物品M2暴露出来而被第二照相机16B拍摄到。图像处理部18的物品跟踪部34未识别出第二机构部14B将物品Ml从输送机12拿起,因此继续执行物品Ml的跟踪处理。也就是说,物品跟踪部34在机器人14 (第二机构部14B)把持了物品M之后,继续执行移动位置信息D2的反复获取直到经过预先决定的时间为止。通过物品跟踪部34,以与物品Ml的检测同样的过程来检测外观特征与物品Ml类似的物品M2。
[0110]在输送机12上的物品M2的检测用参数(坐标值、旋转角度、尺寸、面积等)的值与物品Ml完全相同的情况下,物品跟踪部34会将物品M2作为物品Ml来继续跟踪。与此相对,在如图所示那样输送机12上的物品M2的检测用参数(坐标值、旋转角度、尺寸、面积等)的值与物品Ml不同的情况下,物品跟踪部34将物品M2作为新检测出的物品M来跟踪。在物品跟踪部34在作业区域22B的内部跟踪物品Ml时,在如前所述那样在使用第二(低精度的)检测算法(粒子滤波算法)进行了物品Ml的预备性检测之后、缩小检测用参数(坐标值、旋转角度、尺寸、面积等)的范围并使用第一(高精度的)检测算法(归一化互相关法、广义霍夫变换法、Blob检测法)来进行物品Ml的补充性检测的情况下,有时难以检测出检测用参数(坐标值、旋转角度、尺寸、面积等)的值与物品Ml不同的物品M2。因此,在尽管在预备性检测中检测出似乎是物品Ml的物品的存在、但是在补充性检测中未能检测出物品Ml的情况下,物品跟踪部34将检测用参数(坐标值、旋转角度、尺寸、面积等)的范围扩大到预先决定的适当范围,通过第一检测算法(归一化互相关法、广义霍夫变换法、Blob检测法)来再试行物品Ml的补充性检测。在图14所示的例子中,物品Ml与物品M2配置于基本相同的位置处,仅姿势略有不同,因此,通过将检测用参数中的旋转角度的范围例如从原本缩小到土5度后的范围扩大到土 180度,物品跟踪部34能够检测出物品Ml (实际为物品M2)。
[0111]将物品M2作为物品Ml检测出的物品跟踪部34视为物品Ml的姿势在跟踪中途发生了变化,将姿势变化后的物品Ml (实际为物品M2)当作新检测出的物品M。对物品跟踪部34新检测出的物品M的位置信息与初始位置信息Dl同样地进行处理。物品跟踪部34对新检测出的物品M(物品M2)设定新标志,将该新标志与该物品M的位置信息(相当于初始位置信息Dl)、拍摄到该物品M的第二照相机16B的照相机ID、该物品M的拍摄时刻、该物品M的新的物品ID之类的信息一起传输到物品管理部112。通常,物品管理部112如前所述那样将从物品跟踪部34接收到的信息作为包β传输到第一控制部?第三控制部20Α、20Β、20C,但是,在从物品跟踪部34接收到的信息上附有新标志的情况下,物品管理部112将这些信息作为包α的信息仅传输到第一控制部20Α的信息管理部106Α。
[0112]在图14的例子中,物品M2已经过第一机构部14Α的作业区域22Α(图5)而进入第二机构部14Β的作业区域22Β,因此,信息管理部106Α基于从物品跟踪部34经由物品管理部112接收到的包α的信息来生成包γ的信息,将包γ的信息立即传输到第二控制部20Β的信息管理部106Β。信息管理部106Β识别出第二机构部14Β已将物品Ml从输送机12拿起,因此删除关于物品Ml的包γ的信息,另一方面,保持关于新的物品M(物品M2)的包γ的信息,按照由作业内容设定部102Β设定的作业比例来判断是否把持新的物品Μ(物品M2) ο
[0113]在物品检测部32 (图11)获取到物品M的初始位置信息Dl之后该物品M在输送机12上发生了位置偏移的状况下,物品跟踪部34也能够执行与如上所述的物品彼此重叠的状况下的跟踪处理同样的跟踪处理。例如,在图14所示的状况下,在物品Ml对物品M2的遮盖范围小的情况下,物品检测部32初始检测出物品Ml和物品M2这双方。物品跟踪部34对物品Ml、M2这双方进行跟踪,当这些物品Ml、M2进入第二机构部14Β的作业区域22Β时,物品M2存在于物品Ml的下游侧,因此第二控制部20Β(图11)控制第二机构部14Β使第二机构部14Β较物品Ml而言先拿起被遮盖的物品M2。当先拿起物品M2时,失去支撑的物品Ml在输送机12上发生位置偏移的可能性高。
[0114]在物品Ml在输送机12上发生了位置偏移的情况下,物品跟踪部34将物品Ml作为新的物品M来进行跟踪处理。此时,通过作为前述的预备性检测的使用第二检测算法(粒子滤波算法)进行的跟踪处理,能够掌握位置偏移后的物品Ml的大致的位置。在进行预备性检测之后,将检测范围收敛到包含所掌握的大致的位置的范围来进行作为前述的补充性检测的使用第一检测算法(归一化互相关法、广义霍夫变换法)的跟踪处理,由此能够获取位置偏移后的物品Ml的准确的移动位置信息D2。在物品Ml在输送机12上的位置偏移量大而通过补充性检测未能检测出物品Ml的情况下,与物品彼此重叠的状况下的前述的处理同样地将检测用参数(坐标值、旋转角度、尺寸等)的范围扩大到预先决定的适当范围来再试行补充性检测即可。
[0115]下面,参照图15?图22所示的流程图来详细说明图11所示的图像处理部18以及机器人控制部20 (第一控制部?第三控制部20A、20B、20C)所执行的处理流程。
[0116]图15表示图像处理部18的物品管理部112从物品检测部32、物品跟踪部34以及辅助跟踪部50接收物品信息并将接收到的物品信息作为包α和包β的信息输出到第一控制部?第三控制部20A、20B、20C的信息管理部106A、106B、106C的流程。首先,在步骤SlO中,物品管理部112接收从物品检测部32、物品跟踪部34或辅助跟踪部50发送的物品信息。针对检测出的物品M,逐个地发送物品信息。在步骤Sll中,物品管理部112检查所接收到的物品信息是否为不适于发送到第一控制部?第三控制部20A、20B、20C的信息(即物品信息中是否附有(后述的)发送不可标志)。在附有发送不可标志的情况下,返回到步骤S10,等待接收下一个物品信息。在未附有发送不可标志的情况下,在步骤S12中,物品管理部112检查所检测出的物品是否为新检测出的物品(即物品信息中是否附有新标志)。在附有新标志的情况下,物品管理部112在步骤S13中创建包α,在步骤S14中将包α发送到第一控制部20Α。另外,包α所包含的物品M的初始位置信息Dl是物品跟踪部34开始物品M的跟踪所需的信息,因此物品管理部112在步骤S15中将包α所包含的信息(以下称为新物品信息)发送到物品跟踪部34。
[0117]在步骤S12中物品信息中未附有新标志的情况下,物品管理部112在步骤S16中创建包β,在步骤S17?S19中将包β发送到第一控制部?第三控制部20A、20B、20C的信息管理部106A、106B、106C。接着,物品管理部112在步骤S20中检查通过步骤SlO接收到的物品信息是否为由第二照相机16B拍摄到的物品信息。在不是由第二照相机16B拍摄到的物品信息的情况下,返回到步骤S10,等待接收下一个物品信息。在由第二照相机16B拍摄到的物品信息的情况下,存在包β所包含的物品M的移动位置信息D2是辅助跟踪部50开始物品M的跟踪所需的信息的可能性,因此,物品管理部112在步骤S21中将包β所包含的信息发送到辅助跟踪部50。以上的处理完成后,返回到步骤SlO来等待接收下一个物品?目息。
[0118]图16表示由图像处理部18的物品跟踪部34进行的跟踪处理的流程。物品跟踪部34按照与第二周期Τ2对应的计时器驱动来反复进行物品M的跟踪处理,并且在每次从物品管理部112接收到前述的新物品信息时适当地处理该信息。首先,物品跟踪部34在步骤S30中接收以固定的时间间隔产生的计时器的中断信号或者接收来自物品管理部112的新物品信息,在步骤S31中判断是否为中断信号的接收。在不是中断信号的接收的情况下(即接收到新物品信息的情况下),物品跟踪部34在步骤S37中将新成为跟踪对象的物品记录到预先准备的跟踪物品列表中来更新跟踪物品列表,返回到步骤S30来等待下一个接收。在中断信号的接收的情况下,物品跟踪部34开始物品M的本次的跟踪处理。物品跟踪部34在步骤S32中以第一分辨率(高分辨率)获取第二照相机16Β的视场24 (图5)内的二维图像数据,在步骤S33中以第二分辨率(低分辨率)获取视场24内的二维图像数据。
[0119]在步骤S35的“补充性检测”(图18)的处理中使用通过步骤S32获取到的第一分辨率的图像数据,在步骤S34的“预备性检测”(图17)的处理中使用通过步骤S33获取到的第二分辨率的图像数据。在步骤S36的“发送物品信息”(图19)的处理中,将通过步骤S35检测出的物品M的信息发送到物品管理部112。物品跟踪部34在将物品M的信息发送到物品管理部112之后,在步骤S37中更新跟踪物品列表中记载的该物品M的拍摄时刻和移动位置信息D2,以用于对相同的物品M执行的下一次跟踪处理中的“预备性检测”和“补充性检测”,另一方面,在“补充性检测”中存在新发现的物品M的情况下,将该物品M追加到跟踪物品列表中。当跟踪物品列表的更新完成时,返回到步骤S30,等待接收下一个中断信号或新物品信息。
[0120]图17表示图16的流程图中的预备性检测步骤S34的详细流程。使用第二分辨率(低分辨率)的图像数据来进行预备性检测。物品跟踪部34在步骤S40中读入所获取到的第二分辨率(低分辨率)的图像。接着,在步骤S41中,读入记载有作为本次的跟踪对象的物品M的彳目息的跟踪物品列表。对所读入的跟踪物品列表中记载的物品M逐个地执彳丁跟踪处理。物品跟踪部34在步骤S42中将计数器变量i初始化为1,该计数器变量i表示本次跟踪的物品M是跟踪物品列表的第i个物品。在步骤S43中,将计数器变量i与跟踪物品列表中记载的物品数进行比较。在计数器变量i超过物品数的情况下,判断为跟踪物品列表中记载的全部物品M的跟踪已完成,结束预备性检测。在计数器变量i未超过物品数的情况下,物品跟踪部34在步骤S44中进行跟踪物品列表的第i个物品M的预备性检测。在此,选择了粒子滤波算法作为预备性检测的算法,但是也能够选择其它检测算法。
[0121]接着,物品跟踪部34在步骤S45中判断是否能够获取到作为跟踪对象的物品M的大致的位置信息(即预备性检测是否成功)来作为预备性检测的结果,在预备性检测成功的情况下,在步骤S46中,将跟踪物品列表中记载的该物品M的位置信息、拍摄时刻等信息更新为本次获取的信息。在预备性检测没有成功的情况下,暗示着由于第一机构部14A或第二机构部14B拿起物品M等理由、作为跟踪对象的物品M实际上已从输送机12上消失,因此在步骤S47中将该物品M的信息从跟踪物品列表删除,使得不进行之后的跟踪。此外,在图17的流程图中,一次检测不成功就删除物品信息,但是也能够任意地设定删除物品信息的条件,例如,在检测不成功时再试行预备性检测,在预备性检测连续三次不成功的情况下删除物品信息等。在再试行作为跟踪对象的物品M的预备性检测的期间,能够基于其它物品的跟踪结果来计算输送机12的搬运速度,使用该搬运速度以及上一次与本次的预备性检测中的物品拍摄时刻的间隔来预测作为跟踪对象的物品M的当前的位置及姿势,由此更新位置信息。当物品信息的更新、删除完成时,物品跟踪部34在步骤S48中使计数器变量i增加1,返回到步骤S43来进行计数器变量i的评价。
[0122]图18表示图16的流程图中的补充性检测步骤S35的详细流程。使用对第一机构部?第三机构部14A、14B、14C的作业区域22A、22B、22C进行拍摄而得到的第一分辨率(高分辨率)的图像数据来进行补充性检测。物品跟踪部34在步骤S50中将计数器变量i初始化为1,该计数器变量i表示第一机构部?第三机构部14A、14B、14C是从上游侧起的第i个机构部。接着,在步骤S51中,将计数器变量i与第一机构部?第三机构部14A、14B、14C的总台数(在本实施方式中为3)进行比较,在计数器变量i超过了总台数的情况下,完成本次的跟踪处理中的补充性检测。在计数器变量i未超过总台数的情况下,物品跟踪部34在步骤S52中检查第i个机构部的作业区域是否位于第二照相机16B的视场24内。如果第i个机构部的作业区域位于视场24内,则在步骤S53中读入对第i个机构部的作业区域进行拍摄而得到的第一分辨率(高分辨率)的图像数据。关于作业区域是否位于视场内的检查,既可以将作业区域在机器人坐标系中的坐标值变换为照相机坐标系来进行,也可以由使用者预先将作业区域指定为跟踪范围来进行。在图5的实施方式中,第一机构部14A的作业区域22A和第二机构部14B的作业区域22B位于视场24内,因此在i = I或2时执行步骤S53。如果第i个机构部的作业区域不位于视场24内,则转移到步骤S66,使计数器变量i增加I,返回到步骤S51。
[0123]接着,物品跟踪部34在步骤S54中将计数器变量j初始化为I并且将计数器变量k初始化为0,该计数器变量j表示在第i个机构部的作业区域内作为本次的跟踪对象的物品M是从搬运方向下游侧起的第j个物品,该计数器变量k表示在本次跟踪处理中实际上成功地进行了补充性检测的物品数。补充性检测是为了使机构部在其作业区域内实际将物品M把持并拿起而进行的检测,因此无需始终对存在于作业区域的全部物品进行该补充性检测,只要对从搬运方向下游侧起数的在一次作业中机构部要拿起的个数(即根据实际的请求而决定的需要检测个数)的物品进行检测即可。因此,物品跟踪部34在步骤S55中将计数器变量k与需要检测个数进行比较,如果为需要检测个数以上,则结束该作业区域中的补充性检测,转移到步骤S66。在计数器变量k未达到需要检测个数的情况下,物品跟踪部34在步骤S56中检查作为跟踪对象的从搬运方向下游侧起的第j个物品M是否存在于第i个机构部的作业区域内。
[0124]在作为跟踪对象的第j个物品M不存在于第i个机构部的作业区域的情况下,结束该作业区域中的补充性检测,转移到步骤S66。在第j个物品M存在于第i个机构部的作业区域的情况下,在步骤S57中,基于通过预备性检测(图17)获取到的该物品M的大致的位置信息来缩小检测范围(例如缩小到二维图像上的物品M在X轴方向和Y轴方向上的尺寸的各自两倍程度的范围),并且将检测用参数的范围设定为比较小(例如在旋转角度的情况下为上一次检测结果±5度左右)的范围,利用该第一检测用参数来