CN108687760B - 机器人动作指令生成方法以及机器人动作指令生成装置 - Google Patents

机器人动作指令生成方法以及机器人动作指令生成装置 Download PDF

Info

Publication number
CN108687760B
CN108687760B CN201810274132.1A CN201810274132A CN108687760B CN 108687760 B CN108687760 B CN 108687760B CN 201810274132 A CN201810274132 A CN 201810274132A CN 108687760 B CN108687760 B CN 108687760B
Authority
CN
China
Prior art keywords
unit
task
robot
instruction
tasks
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
CN201810274132.1A
Other languages
English (en)
Other versions
CN108687760A (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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Publication of CN108687760A publication Critical patent/CN108687760A/zh
Application granted granted Critical
Publication of CN108687760B publication Critical patent/CN108687760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0096Programme-controlled manipulators co-operating with a working support, e.g. work-table
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/40113Task planning
    • 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/45Nc applications
    • G05B2219/45092Analysing or chemical synthesis robot, moving samples from station to station

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

本发明提供一种防止复杂化、更加容易生成动作指令的机器人动作指令生成方法以及机器人动作指令生成装置。在本发明的机器人动作指令生成方法中,从整体作业流程提取作业指令;从指令定义数据库提取与所读入的所述作业指令相对应的指令定义;参照所读入的所述作业指令,根据提取的所述指令定义,生成一个或多个所述作业指令被排序的单位任务的集合;在多个单位任务中,生成使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置动作的连接任务;以及生成所述单位任务以及所述连接任务连续的机器人动作指令。

Description

机器人动作指令生成方法以及机器人动作指令生成装置
技术领域
本发明涉及机器人动作指令生成方法以及机器人动作指令生成装置。
背景技术
机器人的示教作业依赖于示教者的技能,因而谋求简化示教作业。作为简化示教的例子,专利文献1(日本专利公报第5582427号)公开了:在使机器人进行作业时,通过将单位任务数据组合起来而构成一系列的动作。
控制机器人的动作指令有时包括条件分支、循环等,要根据其判断结果调出单位任务。这种情况下,必须根据先前的动作来判断使机器人进行哪个动作,从而导致动作指令复杂化,增大了机器人控制装置的运算负载。另一方面,如果用户以不包括条件分支、循环等方式来描述机器人的动作指令,则描述的自由度会明显降低,被迫使用冗长的描述,从而没有效率。
发明内容
因此,本发明要解决的一个问题在于,提供一种能够防止复杂化、更容易地生成动作指令的动作指令生成装置、程序以及动作指令生成方法。
基于本发明一个方式的机器人动作指令生成方法包括:从整体作业流程提取作业指令;从指令定义数据库提取与所读入的所述作业指令相对应的指令定义;参照所读入的所述作业指令,根据提取的所述指令定义,生成一个或多个所述作业指令被排序的单位任务的集合;在多个单位任务中,生成连接任务,该连接任务使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置动作;以及生成所述单位任务以及所述连接任务连续的机器人动作指令。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:当生成所述机器人动作指令时,从预先存储的单位任务组调出所述单位任务。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:所述指令定义定义一个或多个每个所述作业指令使用的单位任务的顺序以及组合,所述作业指令根据所述作业指令的作业条件,选择要使用的单位任务的顺序以及组合。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:在所述指令定义中,除了表示被排序并要被执行的所述单位任务的信息之外,还包括改变要被执行的单位任务的控制信息,所述作业指令被转换成串联排序的所述单位任务,并生成为所述单位任务的集合。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:参照作业模型,以在模型间不发生干扰的路径生成所述连接任务。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:所述指令定义中包含机器人保持物信息,所述连接任务基于所述机器人保持物信息而生成。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:将预先存储的执行所述单位任务所需要的时间和执行所述连接任务所需要时间相加求出整体作业时间,所述整体作业时间是执行所述整体作业流程所需要的时间。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:进行所生成的所述连接任务的动作模拟,求出执行该连接任务所需要的时间。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:对执行所生成的所述连接任务所需要的时间进行存储。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:至少生成表示所述作业用设备以及所述机器人在所述作业指令的开始以及结束时间点的状态的状态信息。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:生成表示作业用设备以及所述机器人在所述单位任务的开始以及结束时间点的状态的状态信息
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:至少生成表示作业用设备以及所述机器人在所述作业指令的开始以及结束时间点的状态的状态信息,所述连接任务基于所述状态信息而生成为不引起模型间干扰的路径。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:存储所生成的连接任务,在连续的所述作业指令中,当先前的作业指令的结束时间点以及后续的作业指令的开始时间点的状态信息与关于已经生成的连接任务的状态信息相等时,使用所存储的所述连接任务。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:在连续的所述作业指令中,当先前的作业指令的结束位置与后续的作业指令的开始位置相等时,省略所述连接任务的生成,或者舍弃所生成的所述连接任务。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:在连续的所述单位任务中,当先前的单位任务与后续的单位任务彼此的开始位置和结束位置相同、仅仅作业位置发生了偏移时,舍弃先前的单位任务中包含的向结束位置的移动指令、以及后续的单位任务中包含的向开始位置的移动指令。
此外,在基于本发明一个方式的机器人动作指令生成方法中,可以是:所述单位任务中包含:指定局部坐标系的坐标系指定指令以及基于该局部坐标系的移动指令。
此外,根据本发明另一方式的机器人动作指令生成装置,具有:作业指令提取部,从整体作业流程提取作业指令;指令定义提取部,从指令定义数据库提取与所读入的所述作业指令相对应的指令定义;单位任务集合生成部,参照所读入的所述作业指令,根据提取的所述指令定义,生成一个或多个所述作业指令顺序确定的单位任务的集合;连接任务生成部,在多个单位任务中,生成连接任务,该连接任务使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置动作;以及机器人动作指令生成部,生成所述单位任务以及所述连接任务连续的机器人动作指令。
此外,在基于本发明另一方式的机器人动作指令生成装置中,具有单位任务组存储部,该单位任务组存储部存储预先生成的多个单位任务,所述机器人动作指令生成部在生成所述机器人动作指令时,参照所述单位任务组存储部中存储的单位任务。
此外,本发明又一方式的计算机程序,使得计算机作为上述的机器人动作指令生成装置发挥功能。
附图说明
图1是表示本发明实施方式涉及的处理系统的物理结构的简图;
图2是表示本发明实施方式涉及的动作指令生成装置的物理结构的框图;
图3是本发明实施方式涉及的动作指令生成装置的功能框图;
图4是表示本发明实施方式涉及的动作指令生成装置所获取的规程图的示例的图;
图5是表示本发明实施方式涉及的动作指令生成装置所生成的机器人动作指令的示例的前半部分的图;
图6是表示本发明实施方式涉及的动作指令生成装置所生成的动作指令的示例的后半部分的图;
图7是表示本发明实施方式涉及的动作指令生成装置所生成的动作指令的示例的具体情况的图;
图8是表示本发明实施方式涉及的状态数据库的内容例的示意图;
图9是表示本发明实施方式涉及的动作指令生成装置所参照的状态对应表的示例的一部分的图;
图10是用于对机器人手臂的动作进行说明的图;
图11是表示指令定义的示例的示意图;
图12是由连接任务生成部执行的连接任务生成的流程图;
图13是示意性地表示单位任务组存储部中存储的单位任务组的图;
图14是示意性地表示连接任务存储部中存储的连接任务的图;
图15是表示与主架有关的局部坐标系、以及向微型管喷出液体试剂的单位任务中手部的移动路径的图。
具体实施方式
图1是表示本发明实施方式涉及的处理系统200的物理结构的简图。在这里所示的例子中,处理系统200是使用机器人3自动进行生命科学中的实验、对样品实施处理的系统。处理系统200中使用的机器人3在这里是通用产品并被控制,使用机器人3的手臂代替人来操作在生命科学中通常使用的各种设备,连续进行各种复杂的操作。在各操作中,可高精度地再现根据样品进行的、熟练工的技艺。
处理系统200并不是仅执行特定实验或处理的所谓专用设备,而是具有能够灵活应对各种实验或处理的通用设备的性质。因而,处理系统200中包括动作指令生成装置1,通过向动作指令生成装置1输入规程图,动作指令生成装置1自动生成机器人动作指令,控制机器人3以使其进行期望的动作。这里,规程图是能够使人识别生命科学中的所谓规程(其中描述了实验或处理的次序以及条件)、并且可共用描述格式的图表的形式来进行表现。规程图的具体形式将在后面描述,规程图中分别表示针对处理对象的处理或者针对容纳了处理对象的容器的处理,并包含决定处理顺序的多个处理符号。并且,多个处理符号是视觉地表现规程中包括的各个处理的符号,通过处理符号的配置来明示各个处理的次序。
另外,在本实施方式中,将处理系统200作为生命科学中进行实验或处理的通用单元而示出的,但处理系统200可适用的技术领域并不仅限于生命科学。可以用于能够使用自动设备的任何用途,该自动设备能够使用机器人3来灵活应对各种处理。因此,当给出了表示处理系统200应执行的整体作业的整体作业流程时,动作指令生成装置1根据该整体作业流程生成机器人动作指令。此外,整体作业流程中包括作业指令。这里,先前的规程图相当于生命科学领域中的整体作业流程。此外,作业指令表示用户想让机器人3执行的一个作业,规程图中包含的处理符号相当于作业指令。
因此,在后面的说明中,将处理系统200作为生命科学中进行实验或处理的通用单元而进行了例示,为了方便,使用了“规程图”以及“处理符号”的术语,但它们在不限制技术领域时,可以称为“整体作业流程”以及“作业指令”进行替换。此外,作为规程图以及处理符号的具体描述方式在后面描述的内容是一个例子,规程图以及处理符号显然并不是将整体作业流程以及作业指令的描述形式限定为特定的形式。
动作指令生成装置1自身可以是专用设备,这里使用通常的计算机来实现。即,在市面销售的计算机中执行用于使该计算机作为动作指令生成装置1进行动作的计算机程序,由此将该计算机作为动作指令生成装置1来使用。该计算机程序通常以应用软件的形式提供,被安装在计算机上使用。该应用软件也可以记录在如CD-ROM或DVD-ROM这样的计算机可读的适当的信息记录介质中进行提供,此外,还可以通过因特网等各种信息通信网络来提供。或者,也可以通过信息通信网络由位于远程的服务器来提供该功能、即通过所谓的云计算来实现。
处理系统200包括机器人控制装置2,该控制装置2根据由动作指令生成装置1生成的动作指令至少对机器人3进行控制。这里,机器人控制装置2原则上使用在机器人3的内部具有原点的机器人坐标系SR来对机器人3的动作进行规定、控制。本实施方式涉及的机器人控制装置2与机器人3被一体地设置,但也可以与机器人3分体设置。
机器人3是通用的多关节机器人。机器人3的形式没有特别限定,可以是与垂直多关节型、水平多关节型、门型等与用途(技术领域)相应的任意形式,此外,同时设置的数量也是任意的。在本实施方式中,机器人3是双臂垂直多关节型机器人,保持紧凑的同时,具有两根机器人手臂,由此高精度再现熟练工所进行的作业。
机器人3使用两根机器人手臂,对处理对象或者容纳处理对象的容器进行处理。机器人3能够通过机器人手臂对移液器架10上容纳的移液器4进行把持并操作等,能够操作图中示出的或图中未示出的实验器材。此外,机器人3通过机器人手臂来把持被收纳于管架5a上的微型管6,例如将微型管6从管架5a移动至恒温槽9、或者移动至涡旋混合器11或离心分离器12等,从而能够使得图中示出或图中未示出的各种容器移动。在本实施方式中,机器人3通过机器人手臂来把持移液器4,当吸出或注入液体试剂时,将管架7上准备的管8安装到移液器4的前端上来进行作业。管8原则上是一次性使用的,用过的管8被丢弃至垃圾箱13。恒温槽9中载置有液体试剂A和液体试剂B,并保持为恒定温度。液体试剂A以及液体试剂B可以根据在处理系统200要进行的处理来适当准备,预备必要的种类以及必要的量即可,在本例子中,例如是磷酸盐缓冲盐水或裂解缓冲液。
在图1所示的例子中,处理系统200中包括恒温槽9、涡旋混合器11、离心分离器12,但这些仅是进行实验时用到的器材的一个示例,除了这些器材之外还可以包括其他器材,或者也可以用其他器材来替代这些器材。例如,处理系统200中也可以包括保管培养皿的架、或磁架等。
图2是表示本发明实施方式涉及的动作指令生成装置1的物理结构的框图。在图2所示的结构中,示出了用作动作指令生成装置1的通常的计算机,CPU(Central ProcessingUnit,中央处理单元)1a、RAM(Random Access Memory,随机存取存储器)1b、静态存储装置1c、GC(Graphics Controller,图形控制器)1d、输入设备1e以及I/O(Input/Output)1f通过数据总线1g连接,彼此能够进行电信号的交互。这里,静态存储装置1c是HDD(Hard DiskDrive,硬盘驱动器)或SSD(Solid State Drive,固态驱动器)等能够静态地记录信息的装置。此外,来自GC 1d的信号被输出给平板显示器等、用户能够视觉上识别图像的监视器1h,作为图像显示出来。输入设备1e是键盘或鼠标、触摸面板等,可供用户输入信息的设备,I/O1f是用于由动作指令生成装置1与外部设备交换信息的接口。
图3是本发明实施方式中的动作指令生成装置1的功能框图。另外,这里示出的功能块,着眼于动作指令生成装置1等所具有的功能而示出,并不限定于必须存在与各功能块一一对应的物理结构。某些功能块可由动作指令生成装置1的CPU 1a等信息处理装置执行特定的软件来实现,此外,某些功能块可通过在动作指令生成装置1的RAM 1b或静态存储装置1c等信息存储装置中划分特定的存储区域来实现。
动作指令生成装置1具有整体作业流程获取部20,根据由整体作业流程获取部20所获取的规程图,来生成机器人动作指令。在本实施方式中,整体作业流程是规程图。规程图可通过读取表示规程图的电子文件来获取,此外,也可以通过由用户使用动作指令生成装置1的输入设备1e输入来获取。在后者的情况下,动作指令生成装置1同时具有规程图的生成和编辑功能,实际上可以具有该功能,但该功能在对本发明进行说明时并不重要,因而在本说明书中省略对其详细说明。
这里,机器人动作指令是规程图中描述的、为了机器人3执行处理系统200整体上应当实现的一系列作业而提供给机器人3的命令组。换句话说,规程图是以人能够理解规程的方式描述的,与此相对机器人动作指令是使得机器人3能够执行规程的方式描述的,动作指令生成装置1也能够是将人一看即能理解的规程图转换成机器人3能够执行的机器人动作指令的装置。
机器人动作指令中包括单位任务和连接任务。这里,单位任务表示机器人3的基本的一个动作指令,其定义了开始位置和结束位置。这里,基本的一个动作指令并不一定与机器人控制装置2所识别并执行的一个指令(助记符)相对应,其表示的是作为机器人3的动作而被考虑为一组的单位。一个动作指令中可以包括多个助记符,当然也可以包括机器人的多个单位动作,但将一组的动作分解为那些单位动作并任意组合是不适当的。例如,“抓住容器”这样的单位任务包括多个单位动作:使机器人手臂移动至对象容器的位置、使手部动作并用手指抓住容器,但是将其分解后,仅仅使机器人手臂移动至对象容器的位置这样的单位动作、或者在什么也没有的地方使手部动作并用手指抓握这样的单位动作没有意义,因而这就不叫做一个动作指令,不构成单位任务。
另外,这里所称的开始位置和结束位置表示机器人3的各关节的位置,即,表示各电机的旋转角的矢量,其实际上的含义是机器人3的姿势。即,开始位置意味着动作开始时机器人3的姿势,结束位置意味着动作结束时机器人3的姿势。
连接任务用于吸收单位任务间机器人3的位置(即姿势)差异的动作,更具体而言,是用于使机器人从先前的单位任务的结束位置移动到后续的单位任务的开始位置(使姿势变化)的、单一或多个移动命令的集合。机器人动作指令被构成为:对单位任务和连接任务进行排序并执行,由此机器人3不必生成或增补新的轨迹即可不中断地连续动作。
在动作指令生成装置1的外部存储装置1c中,作为存储区域划分出:指令定义数据库1ca、单位任务组存储部1cb、状态信息数据库1cc、连接任务存储部1cd、作业模型存储部1ce以及机器人动作指令存储部1cf。另外,动作指令生成装置1具有生成机器人动作指令并用于预估整体作业时间的各种功能,各功能在图3中作为功能块而示出。这里,除了整体作业流程获取部20之外,还示出了作业指令提取部21、指令定义提取部22、单位任务集合生成部23、状态信息生成部24、连接任务生成部25、连接任务模拟器26、机器人动作指令生成部27、机器人动作指令显示部28以及机器人动作指令输出部29,此外还示出了整体作业时间预估部30以及整体作业时间显示部31。
对于各功能块的动作的具体情况,由于稍后在说明动作指令生成装置1的整体动作时一并说明,因此这里只说明各功能块的功能的概要。
整体作业流程获取部20从外部获取整体作业流程。这里,整体作业流程是规程图,如已经描述的那样,可以是获取表示规程图的电子数据,也可以是通过用户输入来获取规程图。
作业指令提取部21从整体作业流程获取部20接收整体作业流程,按照执行顺序提取整体作业流程中包含的作业指令。此时,根据规程图的解释规则,按照执行顺序提取规程图中包含的处理符号。
指令定义提取部22从作业指令提取部21接收作业指令,从指令定义数据库1ca提取与该作业指令相对应的指令定义。指令定义定义一个或多个按每个作业指令使用的单位任务的顺序以及组合。这里,按每个处理符号定义哪些要组合的单位任务及其次序。
单位任务集合生成部23从指令定义提取部22接收作业指令和指令定义,根据由指令定义规定的顺序以及组合,调出单位任务组存储部1cb中存储的单位任务,生成机器人控制装置2能够执行的命令的集合、即单位任务的集合。此时,由指令定义所确定的单位任务的集合不必与指令定义一一对应。即,即使使用相同的指令定义,也有可能生成不同的单位任务的集合。
这是因为,指令定义中除了表示被排序并被执行的单位任务的信息之外,还包括条件分支等改变被执行的单位任务的控制信息。并且,单位任务集合生成部23适当参照指令定义的参数等自变量、以及状态信息数据库1cc中记录的处理系统200的状态信息,基于控制信息来确定要执行的单位任务及其顺序,生成单位任务的集合。
此外,状态信息生成部24基于由单位任务集合生成部23生成的单位任务的集合,生成表示处理系统200的状态、即表示作业用设备以及机器人3的状态的状态信息。更为具体来说,状态信息中包括为了知道处理系统200的状态所必需的信息,例如:作为作业用设备的微型管的盖是打开的还是关闭的、作为内容物放入了什么以及放入了多少量、架的哪个位置容纳了哪个微型管或者没有容纳微型管、以及机器人3的姿势是什么样的、机器人手部把持了什么样的器材或者是否保持器材等。
即,只要参照在整体作业流程中的某个时间点的状态信息,就能够掌握到该时间点为止作业进展到了哪种程度。并且,如果基于机器人3的动作的处理完成则在处理系统200中可能产生变化,因此该状态信息基于整体作业流程依次生成。因而,状态信息生成部24至少生成表示作业指令的开始以及结束时间点的作业用设备以及机器人3状态的状态信息。如此,能够把握特定的作业指令的前后的处理系统200的状态,当在中途中断整体作业流程等的时候,也能够采取合适的对策。另外,在本实施方式中,状态信息生成部24生成表示各单位任务开始以及结束时间点的作业用设备以及机器人3状态的状态信息。由此,能够更加细致地把握处理系统200的状态,从而在处理系统200的动作过程中由于预料不到的状况而进行了紧急停止等的情况下,也容易在那之后采取合适的对策。
生成的状态信息被依次存储至状态信息数据库并储备起来。如前所述,当通过单位任务集合生成部23根据控制信息来确定要执行的单位任务及其顺序时,可使用所储备的状态信息,除此之外,还可以作为能够了解任意时间点的处理系统200的状态的信息而从外部被参照。
连接任务生成部25生成连接任务,连接任务使得在连续的多个单位任务之间使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置移动。连接任务是使机器人从先前的单位任务的结束位置移动至后续的单位任务的开始位置的移动指令的集合。通过单位任务和单位任务之间执行连接任务,当生成某个单位任务时,不需要知道与其他单位任务之间的位置关系,可将要生成的单位任务作为单独个体而独立生成,从而提高了单位任务生成时的生产效率。由于连接任务会自动地以需要的量生成,因而没有必要针对在大量单位任务间进行接续的所有组合来生成连接任务,大大减轻了劳力以及容量。
另外,连接任务并不一定是简单地将先前的单位任务的结束位置到后续的单位任务的开始位置以最短距离连接起来就好。需要根据作业用设备的配置、机器人3的姿势沿不产生干扰的路径来改变机器人3的姿势。因而,连接任务生成部25参照作业模型存储部1ce中存储的作业模型,生成不引起模型间干扰的路径,并将沿着该路径使机器人3移动的移动指令的集合生成为连接任务。这里所称的作业模型,是将处理系统200在虚拟空间内作为立体模型而定义出来的,机器人3或者所使用的各种作业用设备被模型化并得到配置。另外,作业模型是与从状态信息数据库1cc获得的状态信息(盖是关闭着的或者盖是打开着的等)相对应的形态的立体模型,在生成连接任务时可参照与此时的状态信息相应的形态的作业模型。
作业用设备中还包括电动移液器等、被保持在机器人3的手部中使用的设备。并且,作为机器人3的移动路径,与其他设备不产生干扰的路径是什么样的,这与机器人3的手部所保持的作业用设备有关。因此,在本实施方式中,指令定义中包括在对应的作业指令的执行过程中表示机器人3所保持的作业用设备的机器人保持物信息。因此,当连接任务生成部25生成连接任务时,通过参照该机器人保持物信息,能够生成包括机器人3所保持的作业用设备在内的设备之间而不产生干扰的连接任务。
所生成的连接任务被存储于连接任务存储部1cd。此外,连接任务生成部25不会重复生成与一次生成的连接任务完全相同的连接任务。即,当表示连续的作业指令或者单位任务的开始以及结束时间点下的状态信息,与已经生成的连接任务的状态信息相等时,由于要生成的连接任务与已经生成任务相同,因而不再新生成连接任务,而是通过调出连接任务存储部1cd中存储的连接任务,来减轻连接任务的生成所需的负载。
在连接任务模拟器26中,所生成的连接任务在虚拟空间内进行机器人3以及作业用设备的动作模拟。此时,要确认机器人3以及作业用设备之间不发生干扰,并求出执行连接任务所需的时间。如果不会干扰并且连接任务不存在问题,则将执行连接任务所需要的时间与该连接任务关联起来,存储至连接任务存储部1cd中。
机器人动作指令生成部27按规定的顺序将这样得到的单位任务的集合与连接任务串联连接起来,生成机器人动作指令。所得到的机器人动作指令被存储至机器人动作指令存储部1cf。
根据来自用户的适当指示等,机器人动作指令存储部1cf中存储的机器人指令通过机器人动作指令显示部28以适当的形式显示在监视器1h上。此外,根据来自用户的适当指示等,通过机器人动作指令输出部29被输出至机器人控制装置2,机器人3按照机器人动作指令进行动作,由此执行处理系统200中的、整体作业流程中描述的作业。
另外,连接任务存储部1cd所存储的连接任务中,将作为连接任务模拟器26的模拟结果而得到的连接任务的执行时间关联并存储起来,同样,在单位任务组存储部1cb所存储的各单位任务中,分别将各单位任务的执行时间关联并存储起来。该单位任务的执行时间可以和连接任务同样地预先通过模拟求出,也可以实际使机器人3实际执行单位任务,来测量该执行所需的实际时间来求出。
并且,整体作业时间预估部30针对机器人动作指令存储部1cf所存储的机器人动作指令,将该机器人动作指令中包括的单位任务的执行所需的时间与连接任务的执行所需的时间加起来,求出整体作业流程的执行所需的时间、即整体作业时间。整体作业时间是由处理系统200执行基于整体作业流程的作业时所需要的时间的预估值。
整体作业时间显示部31从整体作业时间预估部30来接收整体作业时间,并显示在监视器1h上。由此,能够不必实际使用处理系统200使机器人3动作,就能够预先以实用上足够高的精度预估出执行整体作业流程所需的时间,能够预估出处理系统200在期间内能够处理的作业数量,能够设定处理的开始时间点并预估结束时间点,从而容易制定出高效的执行计划。
图4是表示本发明实施方式中的动作指令生成装置1所获取的规程图的示例的图。这里所示的规程图是对处理符号103进行配置以明白处理次序的图表,所述处理符号103表示针对处理对象或者针对容纳处理对象的容器的处理。这里,处理对象是作为生命科学实验或检查等处理的对象的材料,大多是细胞或DNA等生物组织的一部分。此外,处理对象以被容纳在适于实验的器材,例如微型管6、培养皿或微孔板等中的状态下进行处理,但在本说明书中,将这些器材简称为容器。
本例的规程图中,按照容纳处理对象的每个容器,将表示其初始状态的初始符号100配置于图表上方,将表示其最终状态的最终符号101配置于图表下方,将两者用顺序线102连接起来。顺序线102表示从上向下的处理次序,顺序线102上配置的处理符号103表示以该顺序对相应容器进行的处理。
在图4所示的例子中,记载了由记有“Tube”的初始符号100、最终符号101以及连接两者的顺序线102所形成的组。这里,顺序线102是用箭头线表示的,明确示出了处理所执行的顺序。此外,初始符号100自身还表示准备容器的处理,最终符号101还表示容纳容器或者丢弃容器的处理,因此在本例的规程图中表示:首先进行标记有“Tube”的初始符号100所表示的处理,然后进行由附加线104连接到顺序线102上的标记有“ADD”的处理符号103所表示的处理,接着,进行标记有“CENTRIFUGE”的处理符号103所表示的处理,最后,进行标记有“Tube”的最终符号101所表示的处理。此外,本例的规程图包括显示为“×2”的容器数符号105。容器数符号105表示:准备两个由初始符号100指定的容器,并分别针对两个容器进行以后的处理。
初始符号100表示将“Tube”即微型管6从“Tube Rack”即管架5a移送至作为作业场所的主架5b的处理。这里,管架5a是微型管的保管场所或者退避场所,主架5b是要使用各种器材、具体而言在微型管6中进行处理的场所。标记有“ADD”的处理符号103表示向微型管6添加“solution A”即液体试剂A“100[μl]”的处理。标记有“CENTRIFUGE”的处理符号103表示将微型管6设置到离心分离器12,进行“3[min]”(3分钟)离心分离的处理。此外,最终符号101表示将微型管6移送至管架5a的处理。
图5是表示本发明实施方式涉及的动作指令生成装置1所生成的机器人动作指令的例子的前半部分的图,图6是用于说明本发明实施方式涉及的动作指令生成装置1所生成的机器人动作指令的例子的后半部分的图。图5和图6说明的机器人动作指令是根据图4所示的规程图由本实施方式中的动作指令生成装置1生成的机器人动作指令。
机器人动作指令从将第一根微型管6从管架5a移送到主架5b的单位任务的集合(S101)开始,继续将第二根微型管6从管架5a移送至主架5b的单位任务的集合(S102)。将微型管6移送至主架5b的单位任务的集合根据图4所示规程图的初始符号100而生成。此外,根据与初始符号100关联的容器数符号105,针对两根微型管6,按照与管1有关的单位任务(S101)、与管2有关的单位任务(S102)的顺序来生成单位任务。另外,在这里,单位任务(S101)以及单位任务(S102)分别以单独的单位任务来构成单位任务的集合。
图7是表示由本发明实施方式涉及的动作指令生成装置1所生成的机器人动作指令的例子的具体情况的图。在该图中,针对将第一根微型管6移送至主架5b的单位任务(S101)、和将第二根微型管6移送至主架5b的单位任务(S102),示出了单位任务中包含的指令50、以及指令50中被参照的对象51以及自变量52。单位任务使机器人3进行一个或多个单位动作,在开头包括作为单位动作的向开始位置的移动指令,在末尾包括作为单位动作的向结束位置的移动指令。
将第一根微型管6移送至主架5b的单位任务(S101),是使机器人3进行将微型管6向作为作业场所的主架5b移送这样的一个动作的任务。在该单位任务中,作为指令50而在开头和末尾具有“MOVE”这样的移动命令。具体来说,对于开头的“MOVE”指令50,其对象51是“TUBE_RACK”(管架5a),自变量52是“-”(无),使机器人手臂移动到作为开始位置的管架5a的位置。此外,对于“GET”指令50,其对象51是“TUBE”(微型管6),自变量52是“1”,用机器人手臂的手部把持第一根微型管6。关于后续的“MOVE”指令50,其对象51是“MAIN_RACK”(主架5b),自变量52是“-”(无),使手部把持有微型管6的机器人手臂移动到作为结束位置的主架5b的位置。
另外,对于机器人手臂来说,称为特定的作业用设备的位置的情况是指该作业用设备的附近、适于使用机器人手臂对该作业用设备进行各种操作的基准位置。例如,上述管架5a的位置,例如是位于管架5a的上方、并且手部或手部把持的物品与管架5a或管架5a上载置的微型管6隔开而不发生干扰的那种程度的距离的位置。对于其他的作业用设备来说也是一样的,确定作为合适的基准的位置。
另外,针对“PUT”指令50,其对象51是“TUBE”(微型管6),自变量52是“1”,将机器人手臂的手部中把持的第一根微型管6置于主架5b上。第一根微型管6基于自变量52被置于主架5b的第一个孔中。最后,针对末尾的“MOVE”指令50,其对象51是“MAIN_RACK”(主架5b),自变量52是“-”(无),使机器人手臂移动到主架5b的位置。
将第二根微型管6向主架5b移送的单位任务(S102),是使机器人3进行如将与先前不同的微型管6移送至作为作业场所的主架5b的一个动作的单位任务。与将第一根微型管6向主架5b移送的单位任务(S101)比具体在下述两点上不同:“GET”指令50和“PUT”指令50的自变量52是“2”。该不同意味着,用手部把持第二根微型管6,并置于主架5b上,由于放置微型管6的主架5b的孔根据自变量52而被放置于与先前不同的第二个孔中,因而第二根微型管与第一根微型管不发生干扰。对于“MOVE”指令50来说,与将第一根微型管6移送至主架5b的单位任务(S101)相同。
在根据图4所示的规程图的例子生成的动作指令中,由于在初始符号100上附加有容器数符号105,因而即使是初始符号100、最终符号101、以及处理符号相同的单位任务,传送给重复执行的单位任务的自变量也不同。如此,相对于各符号而被传送的自变量在单位任务集合生成部23生成单位任务的集合时作为实际值生成使用。
即,在作业流程的执行过程中发生变化的自变量,在机器人动作指令所包含的单位任务上作为实际值被预先给出,而不是参照在作业流程的执行过程中发生变化的变量来生成的。由此,当在后述的状态信息生成部24中生成状态信息时,能够唯一地确定处理系统200的状态。
另外,在本实施方式涉及的动作指令生成装置1中,作为所生成的机器人动作指令中包含的单位任务的自变量,并不一定排除使用变量。在作业流程的执行过程中不发生动态变化的参数也不妨碍参照变量。作为这种参数,例如可列举出基准点的位置等。
将第一根微型管6移送到主架5b的单位任务(S101)的最后,是使机器人手臂移动到单位任务的集合的结束位置、即主架5b的位置的“MOVE”指令50。并且,将第二根微型管6移送到主架5b的单位任务(S102)的开头,是使机器人手臂移动到单位任务的开始位置、即管架5a的位置的“MOVE”指令50。因此,在先前的单位任务(S101)结束后、后续的单位任务(S102)开始时,机器人手臂从主架5b的位置移动到管架5a的位置。
如此,在单位任务的开头和最后,分别包含向开始位置的移动命令和向结束位置的移动命令,机器人控制装置2将串联连接的单位任务按次序执行,由此能够使机器人3执行期望的动作。
根据本实施方式涉及的动作指令生成装置1,将单位任务串联地排序而生成机器人动作指令,因而在机器人控制装置2中不进行条件分支的判断、循环的判断等,即使是复杂的处理,机器人控制装置2中的负载也小,从而能够高速地执行任务。此外,由于无限循环等程序错误而导致的错误动作可被预先排除。另外,具体将在后面说明,但由本实施方式涉及的动作指令生成装置1生成的机器人动作指令由于依赖于先前的单位任务的内容,且后续的单位任务的内容不发生变动,因而容易估计出该执行所需的时间。
图7中还示出了状态信息由状态信息生成部24生成并被记录在状态信息数据库1cc中。状态信息生成部24至少生成表示作业指令的开始以及结束时间点下作业用设备以及机器人3的状态的状态信息,在本实施方式中,状态信息生成部24生成表示单位任务的开始以及结束时间点下作业用设备以及机器人3的状态的状态信息,并记录在状态信息数据库1cc中。
这里,将第一根微型管6移送到主架5b的单位任务(S101)的开始时间点的状态,是通过最初的“MOVE”指令50移动至开始位置即管架5a的位置的状态。将该机器人3的状态和其他作业用设备的状态一并描述的状态信息60b被记录在状态信息数据库1cc中。
此外,将第一根微型管6移送到主架5b的单位任务(S101)的结束时间点的状态,是通过最后的“MOVE”指令50移动至结束位置即主架5b的位置的状态。将该机器人3的状态与其他作业用设备的状态一并描述的状态信息60c被记录在状态信息数据库1cc中。
另外,在状态信息数据库1cc中,处理系统200的初始状态被预先作为状态信息60a发过来。状态信息生成部24在生成新的状态信息时,参照前一个状态信息,可以对其变化的部分进行更新来生成新的状态信息。例如,在生成状态信息60b时,由于相对于状态信息60a来说,作业用设备的状态没有变化,只有机器人3的位置发生了变化,因而只要将状态信息60a中的机器人的位置更新为管架5a的位置即可。另外,对于第二个及以后的状态信息,也可以在状态信息数据库1cc中记录下其相对于前一个状态信息的差。
状态信息中记录的作业用设备可包含全部在把握处理系统200的状态上必要的设备。作业用设备除了机器人3利用机器人手臂的手部操作的设备之外,还包括通过有线通信或无线通信而由机器人控制装置2来控制的设备。例如,移液器4在是手动移液器时,是可由机器人手臂的手部进行操作的设备。此外,在电动移液器在能够进行无线通信时,是通过与机器人控制装置2进行通信而受到控制的设备,被包含于机器人3所操作的设备中。在图1所示的例子中,移液器4、管架5a、主架5b、微型管6、管架7、管8、恒温槽9、移液器架10、涡旋混合器11以及离心分离器12相当于作业用设备。
本实施方式涉及的状态信息生成部24在单位任务的开始时间点和结束时间点生成状态信息,但也可以按照单位任务所包含的每个其他单位动作来生成状态信息。另外,还可以按照每个单位动作、或者按照每个由机器人控制装置执行的助记符来生成状态信息。如果更精细地生成状态信息,则能够更为精细地把握处理系统200的状态,但与之相伴,状态信息数据库1cc也会增大必要的容量。
图8是表示本发明实施方式涉及的状态信息数据库1cc的内容例的图。状态信息数据库1cc包括:描述了作业用设备以及机器人3的状态的状态信息60;以及针对状态信息60所用的值将其含义汇总的状态对应表61。作为状态信息60,例示了图7所示的状态信息60a~60e。状态信息60a表示处理系统200的初始状态。状态信息60b、60c分别是将第一根微型管6移动到主架5b的单位任务(S101)的开始位置和结束位置下的、作业用设备和机器人3的状态,示出了向开始位置以及结束位置的移动指令即“MOVE”指令50执行后的状态。状态信息60d、60e分别是将第二根微型管6移动到主架5b的单位任务(S102)的开始位置和结束位置下的、作业用设备和机器人3的状态,示出了向开始位置以及结束位置的移动指令即“MOVE”指令50执行后的状态。
图9是表示本发明实施方式涉及的动作指令生成装置1所参照的状态对应表61的例子的一部分的图。状态对应表61针对机器人3的手部和处理系统200中使用的作业用设备而示出了表示各自状态的值的含义,即,示出了由该值指示的状态。第一状态对应表61a针对机器人3的手部的状态而示出了值的含义。同样,第二状态对应表61b针对恒温槽9而示出值的含义,第三状态对应表61c针对移液器架10而示出值的含义,第四状态对应表61d针对离心分离器12的状态而示出值的含义。针对将其状态作为状态信息记录下来的作业用设备而准备状态对应表61,通过参照该状态对应表61,能够把握任意状态信息所代表的处理系统200的状态。
在第一状态对应表61a中,将机器人3的手部什么都没有把持情况用符号“0”表示,将把持微型管6的情况用符号“1”表示,将把持没有安装管8的移液器4的情况用符号“2”表示,将把持安装了管8的移液器4的情况用符号“3”表示。在移液器4上安装了管8情况、和没有安装的情况下,手部把持移液器4的情况下的移液器4(或管8)与其他设备之间的干扰范围不同。因而,两者被区别开。
在第二状态对应表61b中,将恒温槽9的门关闭着的情况用符号“0”表示,将恒温槽9的门打开着的情况用符号“1”表示。由于根据恒温槽9的门是关闭着的还是打开着而与其他设备之间的干扰范围不同,因而两者被区别开。
在第三状态对应表61c中,将移液器架10上容纳有全部移液器4的情况用符号“0”表示,将从移液器架10取出第一移液器(从机器人3的角度观察时最左侧处容纳的移液器4)的情况用符号“1”表示,将从移液器架10上取出第二移液器(中央处容纳的移液器4)的情况用符号“2”表示,将从移液器架10取出第三移液器(从机器人3的角度观察时最右侧处容纳的移液器4)的情况用符号“3”表示。由于根据从移液器架10取出哪个移液器4而与其他设备之间的干扰范围不同,因而各种情况被区别开。
在第四状态对应表61d中,将离心分离器12的盖打开而处于停止中的情况用符号“0”表示,将离心分离器12的盖关闭而处于停止中的情况用符号“1”表示,将离心分离器12的盖关闭而处于工作中的情况用符号“2”表示。由于根据离心分离器12的盖是否打开而与其他设备之间的干扰范围不同,因而两者被区别开。此外,即使离心分离器12的盖是关闭的,由于根据是否处于工作中而相对于离心分离器12被允许的操作上会产生差异,因而被区别开。
另外,这些状态对应表61不必非得被记录在状态信息数据库1cc中,可以记录在用户能够参照的任意场所处,或者可作为印刷物而准备在用户的手里。
在图8中示意地示出了通过动作指令生成装置1依次生成、并被记录在状态信息数据库1cc中的状态信息60。表示处理系统200的初始状态的状态信息60a可通过状态信息生成部24来生成,也可以作为预先给定的信息而准备。并且,如图7所示,在本实施方式中,在各单位任务的开始时间点和结束时间点,状态信息60被逐个生成并被记录下来。并且,由于在单位任务的开头包含向开始位置的移动指令,在末尾包含向结束位置的移动指令,因而最终对于状态信息60来说,针对各单位任务,将紧接向开始位置移动之后的机器人3与作业用设备的状态、紧接向结束位置移动之后的机器人3与作业用设备的状态作为状态信息60记录到状态信息数据库1cc中并存储起来。
例如,在图8所示的表示初始状态的状态信息60a中,左手、右手、恒温槽、移液器架、离心分离器的各项的值全部为0。并且,参照图9所示的状态对应表61,就能够把握作业用设备的状态。即,可得知在如下状态下停止动作:机器人3的左右机器人手臂上配置的手部,无论哪个都什么也未把持,恒温槽9的门是关着的,在移液器架4上容纳全部的移液器,并且离心分离器12的盖是打开的。此外,作为机器人3的状态,其姿势可被记录在状态信息60中。
返回到图5以及图6,单位任务集合生成部23生成标记有“ADD”的处理符号103所表示的单位任务的集合。这里,“ADD”是向微型管中分别添加100μl的液体试剂A的处理,该处理包括如下多个动作:利用机器人手臂从移液器架10把持并取出移液器4,在移液器4的前端安装管,利用该移液器4吸出规定量的液体试剂,进而在利用该移液器4向置于主架5b上的微型管分别喷出规定量的液体试剂之后舍弃管,将移液器4送回到移液器架10。因而,标记有“ADD”的处理符号103所表示的单位任务的集合包括多个单位任务,在该例子中,由于作为对象的微型管的根数为两根,因而由七个单位任务构成。
标记有该“ADD”的处理符号103所表示的单位任务的集合首先从在机器人手臂右侧的手部中把持第一移液器4的单位任务(S301)开始。然后连续进行:向第一移液器4安装管8的单位任务(S401)、利用安装了管8的第一移液器4吸出200μl液体试剂A的单位任务(S501)、进而利用第一移液器4向管1喷出100μl液体试剂A的单位任务(S601)、向管2喷出100μl的液体试剂B的单位任务(S602)、舍弃安装在第一移液器4前端的管8的单位任务(S702),最后以将第一移液器4送还至移液器架10的单位任务(S302)结束。另外,如图5以及图6所示,在单位任务和单位任务之间,有时会插入连接任务(S201~S207),但这是在单位任务的集合生成后、接着生成而被插入的。关于连接任务将在后面描述。
如图7所示,在将第一移液器4把持在机器人手臂的右侧手部的单位任务(S301)中,对象51是“PIPET_RACK”、自变量是“-”(无)的“MOVE”指令50位于开头,该指令50表示使机器人手臂移动到开始位置、即移液器架10的位置的命令。接着,对象51是“PIPET”、自变量是“1”的“GET”指令50在该例子中表示用右侧的机器人手臂的手部来把持对象物的命令,这里的对象物如“PIPET”表示的那样是移液器4,如由自变量“1”表示的那样,表示把持第一移液器4。最后,是对象51是“PIPET_RACK”、自变量是“-”(无)的“MOVE”指令50,这表示使机器人手臂再次移动到结束位置、即移液器架10的位置的命令。
在该单位任务(S301)的开始时间点和结束时间点,通过状态信息生成部24分别生成状态信息60f以及60g,并保存在状态信息数据库1cc中。这里,在单位任务(S301)的结束时间点处于如下状态:从移液器架10取出第一移液器,机器人3的右侧手部中把持有处于尚未安装管8的状态下的第一移液器4。因而,如图8所示,在状态信息60g中,在“作业用设备”的项目中,“右手”的状态是“2”,如图9的状态对应表61a所示,这表示“把持移液器(无管)”。此外,在“作业用设备”的项目中,“移液器架”的状态是“1”,如图9的状态对应表61c所示,这表示“没有第一移液器”。
因此,即使由于某些理由,而在单位任务(S301)的结束时间点机器人3停止,如果参照该时间点的状态信息60g,也可了解机器人3以及作业用设备的状态。
同样,剩下的单位任务也通过单位任务集合生成部23来生成。对于构成各个单位任务的命令来说,由于说明起来很冗长因而省略了详细内容,但由各单位任务构成的动作是下面这样的。
即,在向移液器4安装管的单位任务(S401)中,使手部抓着第一移液器4的右侧机器人手臂移动到作为开始位置的管架7的位置,从保持于管架7的管8的正上方按下第一移液器4,并在其前端装上管8。然后,再次使机器人手臂移动到作为结束位置的管架7的位置。此外,在吸出200μl液体试剂A的单位任务(S501)中,使右侧机器人手臂移动到作为开始位置的恒温槽9的位置,进而将第一移液器4上安装的管8的前端插入液体试剂A的容器,吸出200μl的液体试剂A。该动作中,如果第一移液器4是电动移液器,则从机器人3或者机器人控制装置2向第一移液器4发送合适的驱动信号即可,如果第一移液器4是手动移液器,则使用机器人3的左侧机器人手臂,对右侧机器人手臂上把持的第一移液器4进行操作即可。在本实施方式中使用的机器人3是双臂型的,由于具有两个以上的机器人手臂,因此能够使得以人工操作为前提进行设计的市面销售的作业用设备毫无问题地使用,因而不必为了处理系统200准备特别的作业用设备。然后,再次使机器人手臂移动到作为结束位置的恒温槽9的位置。
接着,连续生成向管1喷出液体试剂A的单位任务(S601)、和向管2喷出液体试剂B的单位任务(S602),并按顺序串联连接起来。参照图10来说明该机器人手臂的动作。
首先,在单位任务(S601)中,使机器人手臂移动到作为开始位置的主架5b的位置70,然后,如箭头线71所示,使机器人手臂移动至管8来到载置于主架5b的第一根微型管6a的正上方的位置72。然后,向第一根微型管6a插入被安装在第一移液器4的管8的前端,喷出100μl的液体试剂A。然后,机器人手臂上升到位置72,即从第一根微型管6a拔出管8的前端的位置。然后,按通常来讲,如箭头线73a所示,使机器人手臂移动到作为结束位置的主架5b的位置70,但是此时作为特例舍弃了向结束位置的移动,因而机器人手臂的位置保持在位置72。
然后,在接着的单位任务(S602)中,按通常来讲,首先使机器人手臂移动到作为开始位置的主架5b的位置70,但此时作为特例舍弃了向开始位置的移动,因而机器人手臂的位置保持在从第一根微型管6a拔出了管8的前端的位置72。然后,如箭头线73所示,使其移动至管8来到载置于主架5b的第二根微型管6b的正上方的位置74。该移动是向位置74的移动命令,如果机器人手臂处于作为初始位置的位置70,则如箭头线73b所示从位置70向位置74移动,但由于机器人手臂保持在位置72,因而发生了变化。进而,将安装在第一移液器4上的管8的前端插入第二根微型管6b,喷出100μl剩下的液体试剂A。然后,机器人手臂上升到从第二根微型管6拔出管8的前端的位置,如箭头线75所示,如通常那样,使机器人手臂移动到作为结束位置的主架5b的位置70。
该两个单位任务是同一种动作,即,向载置于主架5b的微型管6中喷出相同分量的相同液体试剂A,不同的仅仅是应喷出的微型管6。并且,由于不同的微型管6被插入支撑在主架4b的邻接的孔中,因而结果是,该两个单位任务原本是开始位置和结束位置相同,可以说仅有作为作业位置的微型管6的位置发生了偏移。之所以如此,是因为主架4b的邻接的孔间的间距是已知的。
对于这样连续进行同一种动作的单位任务,单位任务集合生成部23舍弃了先前的单位任务中的、在这里是单位任务(S601)中包含的向结束位置的移动指令,并舍弃了后续的单位任务中的、在这里是单位任务(S602)中包含的向开始位置的移动指令。其结果是,如刚才说明的那样,在先前的单位任务(S601)执行后,机器人手臂从自第一根微型管6拔出管8的前端的位置直接进行向第二根微型管6插入安装于第一移液器4的管8的前端的动作。由此,当执行连续的同一种动作时,省略了每次使机器人手臂到该单位任务的开始位置(或者结束位置)往复的无用动作,提高了作业效率。在图10的例子中,从位置72向位置74的移动如果不省略上述动作,则如箭头线73a以及箭头线73b所示经过位置70,从而会绕远并且效率不高,因而如箭头线73所示缩短路径则效率更高。
另外,生成了舍弃在第一移液器4的前端安装的管8的单位任务(S702)。这使机器人手臂移动到作为初始位置的垃圾箱13的位置。该位置是右侧机器人手臂上把持的第一移液器4处于垃圾箱13的正上方的位置,该状态下,机器人3使第一移液器4的前端的管8从第一移液器4脱离。拆下的管8落入垃圾箱13内而被舍弃。管8从第一移液器4的脱离是:进行利用左侧机器人手臂按下第一移液器4的取下管的按钮等操作;或者当第一移液器4是电动移液器时,从机器人3或者机器人控制装置2发送管脱离的信号即可。然后,机器人手臂被移动到作为结束位置的垃圾箱13的位置,但该单位任务(S702)中由于机器人手臂的位置没有变化,因而机器人手臂不移动。在单位任务(S702)内的末尾,可包含向结束位置的移动命令(此时,在机器人控制装置2中,命令被简单地忽略了),也可以舍弃该移动命令本身。在本实施方式中,向结束位置的移动命令直接保留下来。
最后,生成将第一移液器4送还至移液器架10的单位任务(S302)。该任务是:使机器人手臂移动到作为开始位置的移液器架10,然后,使右侧机器人手臂的手部上把持的第一移液器4返回到移液器架10原来的某个位置,解除把持,然后移动到作为结束位置的移液器架10的位置。
通过以上七个单位任务,生成标记有“ADD”的处理符号103所代表的单位任务的集合。然后,单位任务集合生成部23根据作业指令、即与处理符号103对应的指令定义来生成单位任务的集合。通过图3所示的指令定义提取部22,从指令定义数据库1ca提取指令定义。
图11是表示指令定义的例子的示意图。该图中示出的,是本例中标记有“ADD”的处理符号103的指令定义。指令定义自身的数据形式并没有特别限定,能够以任意格式来进行描述,因此,图11所示的是示意性地示出了该指令定义的情况。
如前所述,指令定义是定义一个或多个按照每个作业指令而使用的单位任务的顺序以及组合。并且,在指令定义内,如后面说明的那样,能够包含与作业指令这样的条件相应的条件分支或重复往返等的控制指令、以及自变量的计算,单位任务集合生成部23所生成的单位任务的集合是将单位任务串联地连续排列而得到的,其自变量也是固定值,或者是不必进行动态计算的变量的参照。以下,以图11的指令定义为例,对单位任务集合生成部23根据标记有“ADD”的处理符号103来生成单位任务的集合的流程进行说明。
与通常的流程(算法)同样地,单位任务集合生成部23从图11的上方开始依次解释指令定义并生成单位任务的集合。首先,在步骤T10中,计算所需的液体试剂的总容量。总容量是添加到各个微型管6中的液体试剂的量(单个容量)与微型管的根数的乘积。这里,如图4所示,标记有“ADD”的处理符号103所代表的单个容量为100μl,此外,管的根数如容器数符号105所示有两根。因此,总容量为200μl。如此,指令定义中可包含自变量的计算。
接着,在步骤T20中,根据计算出的总容量的大小,通过条件分支确定应使用的移液器4。这里,假设根据总容量,按照容量从小到大的顺序准备第一移液器、第二移液器、第三移液器,200μl被判定为容量较小。
其结果是,进入步骤T21,生成把持第一移液器的单位任务(S301)。该单位任务被预先存储至图3的单位任务组存储部1cb,单位任务集合生成部23从单位任务组存储部1cb调出必要的单位任务。将把持不同容量的移液器、即第二移液器和第三移液器的单位任务也预先存储至单位任务组存储部1cb,调出与所选择的移液器相对应的单位任务(步骤T22、23)。然后,各移液器被收纳于移液器架10的位置差异、由移液器的形状差异而引起的把持位置的差异、手部的开合程度的差异由于被预先反映在单位任务组存储部1cb所存储的单位任务中,因而由于指令定义的条件、作业用设备的差异所引起机器人3的动作之差得以吸収。此外,当作业用设备存在更新时等(例如,将移液器4更换为形状不同的其他产品时等),由于只要对单位任务组存储部1cb中存储的相应单位任务进行修正即可,因而能够灵活应对处理系统200的结构更新或变更。
接着,在步骤T30中,安装管8的单位任务(S401)被从单位任务组存储部1cb调出并被生成。进而,在步骤T40中,通过条件分支来判定应添加到样品中的液体试剂是液体试剂A还是液体试剂B。这里,由于标记有“ADD”的处理符号103指定液体试剂A,因而选择步骤T41,将吸出液体试剂A的单位任务从单位任务组存储部1cb调出,在步骤T10中计算出的总容量200μl作为自变量被传送反映出来。另外,当指定了液体试剂B时进入步骤T42,将吸出液体试剂B的单位任务从单位任务组存储部1cb调出。如此,单位任务根据应吸出的液体试剂的不同而各自不同,因而也能够灵活地应对液体试剂的配置位置存在差异、在吸出液体试剂时需要与液体试剂相应的特别技艺(例如,当需要通过重复多次吸入和喷出来搅拌液体试剂并将其吸出等)的情况。
然后,进入步骤T50,按照容器数符号105所示的微型管6的根数,从单位任务组存储部1cb重复调出并生成喷出液体试剂的单位任务(S601、S602)。此外,此时在各个单位任务中,作为自变量而传送反映了单个容量100μl。进而,这里重复调出的单位任务是同一种动作,原本开始位置和结束位置相同,仅有作业位置出现偏移,因而各个单位任务中,作为作业位置发生了偏移的值通过单位任务集合生成部24计算并传送反映出来,并且如前述那样,舍弃先前的单位任务(S601)中包含的向结束位置的移动指令、和后续的单位任务(S602)中包含的向开始位置的移动指令。
接着,在步骤T60中,从单位任务组存储部1cb调出并生成出舍弃管8的单位任务(S702)。最后,在步骤T70中,通过条件分支来判断所使用的移液器,从单位任务组存储部1cb调出并生成使移液器送还到移液器架10的合适位置的单位任务(S302)。这里,由于使用了第一移液器4,因而进入步骤T71,第一移液器4被送还至移液器架10的原来容纳第一移液器4的位置。在选择了其他移液器选择的情况下,调出并生成将各个移液器送还至合适的位置的单位任务(步骤T72、T73)。
通过以上那样的单位任务集合生成部23的动作,生成单位任务的集合。因此,即使对于同一种作业指令,有时由于所给出的条件以及指令定义的不同,使得根据条件分支而生成的单位任务不同,有时由于重复次数不同而使得生成的单位任务的数量不同等,在机器人3中执行的单位任务发生变化。如此,通过参照指令定义来生成单位任务的集合,针对根据处理条件而需要复杂的次序的作业指令,由于能够灵活地生成单位任务的集合,因而能实现通用性高的处理系统200。此外,由于单位任务自身不被包含在指令定义中,而是从单位任务组存储部1cb被调出,因而能够灵活地应对处理系统200或作业用设备的变更等,减少作业时间以及劳力。
返回到图4,单位任务集合生成部23根据余下的标记有“CENTRIFUGE”的处理符号103生成单位任务的集合。该动作也和先前的说明相同,通过指令定义提取部22从指令定义数据库1ca提取与“CENTRIFUGE”对应的指令定义,基于该指令定义从单位任务组存储部1cb中存储的单位任务组调出单位任务并排序,并根据需要计算自变量并传送反映出来。这里,如图6所示,作为单位任务的集合而生成将第一根微型管6从主架5b向离心分离机12移送的单位任务(S103)、将第二根微型管6从主架5b向离心分离机12移送的单位任务(S104)、以及操作离心分离机12进行离心处理的单位任务(S801),对各单位任务的动作的具体情况省略了说明。
最后,单位任务集合生成部23根据标有“PUT”的最终符号101生成单位任务的集合。该动作也一样,通过指令定义提取部22从指令定义数据库1ca提取与“PUT”相对应的指令定义,基于该指令定义生成单位任务的集合。这里,生成将第一微型管6从离心分离机取出并向管架5a移送的单位任务(S105)、和将第二微型管6从离心分离机取出并向管架5a移送的单位任务(S106)。由此,与图4例示的规程图中描述的作业指令相对应的单位任务全部被生成,并被串联地排列。
但是,如果就这样的话,对于连续的两个单位任务来说,根本没考虑从先前的单位任务的结束位置到后续的单位任务的开始位置之间机器人臂的移动路径,因而机器人臂本身、或者机器人臂的手部把持的保持物恐怕会与其他物品发生干扰。因此,可通过图3所示的连接任务生成部25生成连接任务。
连接任务被生成为至少插入到连续的作业指令和作业指令之间,在本实施方式中,作为被插入到连续的单位任务和单位任务之间的内容而被生成。其中,如后面说明的那样,连接任务不是必须被插入到全部的连续的单位任务和单位任务之间,可能有时并不生成单位任务,或者有时会将生成的单位任务舍弃掉或者省略掉。
以图5的被插入到将第二根微型管6移送到主架5b的单位任务(S102)以及把持第一移液器4的单位任务(S301)之间的连接任务(S201)为例,来说明由连接任务生成部25进行的连接任务的生成。
这里,由于将第二根微型管6移送到主架5b的单位任务(S201)的结束位置是主架5b的位置,将在机器人臂的右侧手部把持第一移液器的单位任务(S201)的开始位置是移液器架10,因而两者不等。并且如此,当在连续的单位任务之间、先前的单位任务的结束位置与后续的单位任务的结束位置不同时,假如连接任务不被插入,则通过后续的单位任务的开头中包含的向开始位置的移动命令,机器人臂会从先前的单位任务的结束位置直线运动到后续的单位任务的开始位置。并且,由于作业用设备的配置、机器人手部所把持的物品,可能会存在该直线移动的路径与其他设备发生干扰的情况。
因此,连接任务生成部24基于主架5b的位置、移液器架10的位置、以及状态信息数据库1cc中描述的状态,生成从主架5b的位置向移液器架10的位置的移动命令的集合、即连接任务(S201)。连接任务是如下任务:避免机器人臂与设备发生干扰,并尽量使机器人臂经过移动距离或者移动时间短的路径移动。
连接任务生成部25为了避免与障碍物发生干扰而自动生成机器人臂的路径。此时,参照状态信息数据库1cc,考察表示机器人臂的手部中是否存在把持的东西、或者表示把持了什么东西的把持物信息、以及表示作业用设备、特别设置的各种设备的盖或门是否打开这样的作业用设备状态信息等的状态信息。其结果是,可以从作业模型存储部1ce读出与状态信息相应的作业模型并使用。自动生成机器人臂的路径的算法可以使用已知的任何算法。例如,可使用PRM(Probabilistic Roadmap Method,概率路线图法),随机生成几个不与障碍物发生干扰的机器人臂的姿势,根据将其连接组合成路线图,通过图形搜索算法生成路径。此外,作为根据给出的路线图生成最短路径的图形搜索算法,可以使用迪杰斯特拉(Dijkstra)算法、或对迪杰斯特拉算法进行改进后的A*算法。或者,作为自动生成路径的其他算法,可以使用RRT(Rapidly-exploring RandomTrees,快速搜索随机树)、将PRM与RRT组合而成的SRT(Sampling-based Roadmap of Trees,基于采样的路线图的树)、或者RRM(Rapidly-exploring RoadMap,快速扩展的路线图),在所述RRT算法中,以动作的开始点为基点随机生成几个与障碍物不发生干扰的路径树,将路径树的顶端作为新的基点,重复进行路径树的随机生成。另外,不对随机生成这些机器人臂的姿势的算法进行限定,也可以使用其他算法,例如可以是以下的势能法这样的方法:导入在机器人臂的到达点处的值低、在障碍物的位置处值高的势能,沿着该势能的梯度使机器人臂运动。
如图3所示,生成的连接任务被存储于连接任务存储部1cd。此时,将所生成的连接任务、以及该连接任务的前后的状态信息关联起来,也可将连接任务与状态信息组合起来而存储到连接任务存储部1cd中。
图7中示出了从主架5b向移液器架10的连接任务(S201)。从主架5b向移液器架10的连接任务(S201)含有:“CONNECT”指令50;称为“MAIN_RACK:PIPET_RACK”的对象51;以及五个自变量52。对象51表示连接任务的开始位置(主架5b的位置)、以及结束位置(移液器架10的位置)。
连接任务生成部24参照表示机器人3以及机器人3所操作的设备的紧接之前状态的信息60e。状态信息60e所表示的状态是将第二微型管6b置于主架5b上、使手部移动到主架5b的位置的状态,在手部中什么也没把持,全部设备的状态与初始状态相同。因而,第三状态表60d的内容与第一状态表60b的内容相同。在图7中,从状态信息数据库1cc获取的信息被表示为自变量52。自变量52中,“HAND_R=0,HAND_L=0”表示两个手部中什么都没把持,“BATH=0”表示恒温槽9的门是关闭的,“PIPET_RACK=0”表示移液器架10上容纳了所有的移液器4,“CENTRIFUGE=0”表示离心分离器12的盖打开且处于停止中。连接任务生成部24基于这些自变量52,读取设备的状态,生成与设备不发生干扰的机器人手臂的移动路径。
然而,如前所述,连接任务生成部24不必在连续的单位任务间的所有位置生成并插入连接任务。首先,作为第一例外,在想要生成并插入连接任务的邻接的单位任务中,当先前的单位任务的结束位置与后续的单位任务的开始位置相等时,将连接任务的生成本身省略。这是因为,即使不夹入连接任务,机器人手臂也不必移动。此时,先前的单位任务的结束位置、和后续的单位任务的开始位置,可通过参照图7中部分示出的、由单位任务集合生成部23生成的单位任务中的向开始位置的移动指令50和向结束位置的移动指令50而获得。或者,也可以通过参照先前的单位任务的结束时间点的状态信息、以及后续的单位任务的开始时间点的状态信息来获得。无论是哪种情况,由于在生成连接任务时参照状态信息,因而在本实施方式中,参照的是先前的单位任务的结束时间点的状态信息、以及后续的单位任务的开始时间点的状态信息。
作为第二例外,是所生成的连接任务等同于简单的直线移动指令的情况。该情况下,所生成的连接任务与在后续的单位任务的开头执行的、向开始位置的移动指令实质等同,因而没有必要插入连接任务。该判别是通过生成连接任务并判断该连接任务是否等同于简单的直线移动指令来进行判断的。当连接任务等同于简单的直线移动指令时,将生成的连接任务舍弃。
作为第三例外,想要插入的连接任务是与已经生成过的连接任务相同的情况。该情况下,由于使用每次路径搜索算法会再次生成已经生成过的连接任务的路径,这给机器人控制指令生成装置1施加了无用的运算负载,机器人动作指令的生成需要时间,这是造成其生产效率降低的原因,因而该情况下要防止再次生成相同的连接任务。
对于连接任务是否与已经生成的任务相同,可通过针对想要插入该连接任务的邻接的单位任务,将先前的作业指令的结束时间点的状态信息和后续的作业指令的开始时间点的状态信息与已经生成的连接任务的有关信息进行比较。即,这是因为:即使连接任务的开始位置(先前的单位任务的结束位置)与连接任务的结束位置(后续的单位任务的开始位置)相同,根据机器人手部所把持的物品的差异、作业用设备的状态、例如盖或门是打开的还是关闭的等处理系统200的状态的差别,也考虑作为连接任务而适用的移动路径不同,然而在先前的单位任务的结束时间点以及后续的单位任务的开始时间点的状态信息相同的情况下,会生成相同的连接任务。
当想要生成的连接任务前后的状态信息相等的连接任务25已被连接任务生成部25生成并存储在连接任务存储部1cd中时,连接任务生成部25不重新生成连接任务,而是调出连接任务存储部1cd中存储的已经生成过的连接任务。
在连接任务存储部1cd中,连接任务生成部25所生成的连接任务被与连接任务前后的状态信息一并存储,或者与连接任务前后的状态信息关联存储,因而当连接任务生成部25想要生成新的连接任务时,通过在连接任务存储部1cd中查找想要插入连接任务的位置的前后的状态信息,能够据此辨别出将要生成的连接任务是已经生成过的任务还是要新生成的任务。
图12是连接任务生成部25所执行的连接任务生成的流程图。首先,由于连接任务是被插入到连续的单位任务间的任务,从开头依次参照在单位任务集合生成部23所生成的单位任务,并提取连续的单位任务(步骤T100)。判断在该提取出的单位任务间是否插入连接任务,另外判断是否生成连接任务。
接着,在所提取出的连续的单位任务中,从状态信息数据库1cc提取先前的单位任务的结束时间点以及后续的单位任务的开始时间点的状态信息(步骤T110)。然后,根据所提取出的状态信息,判断要插入的连接任务的开始位置(先前的单位任务的结束位置)与结束位置(后续的单位任务的开始位置)是否相等(步骤T120)。当两者相等时(步骤T120:是),由于不需要插入连接任务,因而省略连接任务的生成,进入步骤T150。
当想要生成的连接任务的开始位置与结束位置不相等时(步骤T120:否),进一步判断与想要插入的连接任务的开始时间点和结束时间点下的状态信息相等的连接任务是否已经被生成,并判断是否被存储在连接任务存储部1cd中(步骤T130)。这样,如上所述,通过参照与连接任务存储部1cd中存储的连接任务一并存储的状态信息、或者关联起来的状态信息,能够很容易进行判断。当已经存储时(步骤130:是),将该被存储的连接任务从连接任务存储部1cd调出(步骤T131),进入步骤T150。
当不存在状态信息相等的连接任务时(步骤130:否),由于需要新连接任务,因而基于所提取的状态信息,生成连接任务(步骤T132)。
针对所生成的连接任务,判断是否与简单的线性移动指令是同等的(步骤T140)。当连接任务是与简单的直线移动指令同等时(步骤T140:是),舍弃所生成的连接任务(步骤T141),进入步骤T150。当所生成的连接任务是不与简单的直线移动指令同等时(步骤T140:否),将生成的连接任务存储至连接任务存储部1cd。此外,与此同时,将连接任务的开始时间点下的状态信息与结束时间点下的状态信息(或者其关联信息)一并存储至连接任务存储部1cd。
至此,针对所关注的连续的单位任务间,确定是生成连接任务,还是调出连接任务,还是舍弃连接任务,或者省略连接任务的生成。并且,进而判断是否存在应插入连接任务的连续的单位任务(步骤T150)。当由单位任务集合生成部23生成的单位任务还在持续、存在连续的单位任务时(步骤T150:是),返回到步骤T100,重复上述的动作。当不存在连续的单位任务时(步骤T150:否),由于成为具有插入连接任务可能性的连续的单位任务有关的处理全部结束,因而结束处理。
返回图3,最后,所生成的单位任务以及连接任务被传送给机器人动作指令生成部27,机器人动作指令生成部27将所生成的单位任务与连接任务作为串联连续起来的指令集合整合在一起,生成机器人动作指令。所生成的机器人动作指令被存储至机器人动作指令存储部1cf。
在图5以及6所示的机器人动作指令中,示出了这样插入到单位任务间的连接任务。由于在将第一管从管架5a移送到主架5b的单位任务S101的结束位置即主架5b的位置与将第二管从管架5a移送到主架5b的单位任务S102的开始位置即管架5a的位置之间,能够进行直线移动,因而由连接任务生成部25生成的连接任务被舍弃。
在单位任务S102和把持第一移液器4的单位任务S301之间,生成并插入从主架5b的位置连接到移液器架10的位置的连接任务S201。同样,在单位任务S301和安装管8的单位任务S401之间,生成并插入从移液器架10的位置连接到管架7的位置的连接任务S202,在单位任务S401和吸出液体试剂A的单位任务S501之间,生成并插入从管架7的位置连接到恒温槽9的位置连接任务S203。以下同样地,生成并插入连接任务S204、S205、S206、S207。
如前所述,由于向第一管6喷出液体试剂A的单位任务S601和向第二管6喷出液体试剂A的单位任务S602是连续进行同一种动作的单位任务,因而其开始位置和结束位置都是主架5b的位置,是相同的位置。因而,由于该连续的单位任务S601、S602间的连接任务的生成可以被省略,不被插入连接任务。
在单位任务S103和S104之间,是将主架5b的位置和离心分离机12的位置相连的移动,在单位任务S105和S106之间,是将离心分离机12的位置和管架5a的位置相连的移动,但由于这些都是直线移动,因而所生成的连接任务会与简单的直线移动指令同等而被舍弃,因而在这些单位任务间不生成连接任务。
接着,对于单位任务S104和单位任务S801间、以及单位任务S801与单位任务S105之间来说,开始位置和结束位置均是离心分离机12的位置,由于连接任务的开始位置与结束位置相等,因而省略了连接任务的生成,在单位任务间不生成连接任务。
机器人动作指令存储部1cf中存储的机器人动作指令通过来自用户的指令这样的指令被机器人动作指令显示部28读出,并将其适当地显示在监视器1h上。此外,还可通过机器人动作指令输出部29读出并输出给机器人控制装置2、机器人控制装置2执行该机器人动作指令,由此使机器人3动作,从而在处理系统200中执行基于整体作业流程的作业。
如上所述,在本实施方式涉及的机器人动作指令生成装置1中生成的机器人动作指令如图5以及6所示的例子那样,将单位任务和连接任务连续并串联连接起来而生成的,不包括条件分支、重复等在计算机控制中所称的所谓控制指令。因而,在机器人控制装置2的运算负载小,此外,执行途中的处理系统200的状态能够唯一地确定,因而即使在执行途中动作停止等情况下,也容易地根据机器人动作指令的进展状况来获悉处理系统200的状态。进而,无需使机器人3实际发生动作,也不用进行整体的动作模拟,即可事先预估出执行整体的机器人动作指令所需要的时间、即整体时间。
图13是示意性地表示单位任务组存储部1cb中存储的单位任务组300的图。在单位任务组存储部1cb中,预先将在处理系统200中由机器人3执行的单位任务汇总,作为单位任务组300而存储起来。单位任务组存储部1cb中存储的单位任务通过单位任务集合生成部23根据需要读出,作为构成机器人动作指令的单位任务而提供必要的参数。
在单位任务组300中包含的单位任务中,不仅仅存储了由机器人控制装置2执行的指令,还存储了机器人3执行各个单位任务时需要的所需时间。例如,如图13所示,示出将管从管架5a移送到主架5b的单位任务需要10秒钟。该所需时间在向单位任务组300登记单位任务时被预先给出。该时间可以是在生成单位任务时实际使机器人3动作来测量所需时间而得到,也可以使用计算机模拟器,虚拟地再现与单位任务相当的动作来测量所需时间而得到的。
此外,该每一个单位任务所需时间不必很准确,只要大概即可。例如在先前的例子中例举出的将管从管架5a移送到主架5b的单位任务所需的时间,考虑根据移送的是第几根管而会产生稍许差异,但认为该差异对整体作业时间并不会带来很大影响,因而可以采用代表性时间,或者可以采用平均时间等。在该例子中,采用了代表性时间作为移送第一根管时所需要的时间。
另外,该单位任务每一个的所需时间不必一定作为固定值给出。例如,进行图13所示的离心处理的单位任务被认为操作离心分离机所需要的时间大体是固定的,但是与之相对的是,离心处理本身所需要的时间是由作业指令给出的,并不固定。这种情况下,在单位任务组存储部1cb中,作为单位任务的所需时间预先给出了固定时间和变动时间,变动时间可以是根据被作业指令给出的参数而发生变化的。对于该例子所示的离心处理来说,固定时间是20秒,这是通过机器人3操作离心分离机12的盖、操作按钮开关时所需要的时间。与之相对的是,变动时间由X表示,由于这是离心处理本身的时间,因而在图4所示的规程图中,是3分钟(180秒),其结果是,该例子中的离心处理需要200秒。
图14是示意性地表示连接任务存储部1cd中存储的连接任务的图。当通过连接任务生成部25生成连接任务时,生成的连接任务被依次存储到连接任务存储部1cd中。
此时,为了进行整体动作时间的预估,需要在机器人3执行新生成的连接任务时预估所需要的所需时间。因此,如图3所示,由连接任务生成部25生成的连接任务也被传送给连接任务模拟器26,通过计算机模拟器来虚拟地执行,由此可预估该动作需要的所需时间。被预估出的所需时间被存储至连接任务存储部1cd,如图14所示,按照所存储的每个连接任务来存储该所需时间。
此外,连接任务模拟器26可以仅执行机器人3的动作模拟来估计该所需时间,但是并不仅限于机器人3,也可以是在包括作业用设备的处理系统200中使用的设备的3D模型、即使作业模型在虚拟空间内动作。此时,连接任务模拟器26参照作业模型存储部1中存储的作业模型,在虚拟空间内使该作业模型动作,由此能够检验模型间有无干扰。检验结果被反馈给连接任务生成部25,从而连接任务生成部25能够以模型间不发生干扰的路径来生成连接任务。
返回图3,整体作业时间预估部30根据来自用户的适当指示等,预估执行作业流程整体所需要的时间、即整体时间。在该预估中,不需要重新进行模拟,参照机器人动作指令,参照单位任务组存储部1cb而求出机器人动作指令中包含的单位任务各自的所需时间,并且,参照连接任务存储部1cd求出连接任务各自的所需时间,再加起来即可,当预估作业流程的执行时间时,不需要进行长时间的计算(模拟),也不必使作为实体机的机器人3进行实际动作。
预估出的整体时间通过整体作业时间显示部31而显示在监视器1h上。由此,用户能够把握处理整体的执行所需要的时间,因而例如当希望在期望的日期时间获得处理结果时,从多久之前开始作业即可,此外,在被确定的期间内能够重复执行几次处理这样的情况,无需使实体机动作,而能够在事先进行把握,非常方便。
然而,在本实施方式中,机器人3通过在机器人3的内部具有原点的机器人坐标系SR来指定其位置,进行动作。与之相对,单位任务组存储部1cb所存储的单位任务组中包含的单位任务,可以通过按照在该单位任务中进行处理的每个作业用设备而确定的局部坐标系SL来指定其位置。并且,单位任务中可包括:对局部坐标系SL进行指定的坐标系指定指令;和基于该局部坐标系SL的移动指令。以向微型管6喷出液体试剂的单位任务为例,参照图15来说明该理由。
图15是表示与主架5b有关的局部坐标系SL、以及向微型管6喷出液体试剂的单位任务中的手部移动路径的图。主架5b被固定设置在作业台的指定位置,但由于设置时的误差、形状的个体差异等理由,导致其不会每次都被设置于准确的位置。在图15中,作为该误差的例子,夸大示出了主架5b相对于机器人坐标系SR倾斜了角度θ的情况。这种情况下,在喷出液体试剂的作业中,机器人手臂前端的手部位置发生些许变化,必然需要将手部所把持的移液器4倾斜角度θ,使得手部倾斜地移动。
基于主架5b的设置误差,将该修正反映到单位任务的移动指令中并不现实。原因在于,由于设置并修改主架5b而误差的值发生变化,因而每一次必须对单位任务组存储部1cb中存储的单位任务进行修正,并且,如果需要进行所述修正,直到实际设置主架5b并测量出设置误差之前,无法进行单位任务的生成。
因此,本实施方式中的坐标系指定部对跟随设备的局部坐标系SL进行设定,将指定该局部坐标系SL的坐标系指定命令包含到单位任务。并且,该单位任务内的移动命令是由该局部坐标系SL指定的移动命令。因此,在图15中,作为主架5b的位置的基准点70、以及对微型管6进行作业的作业点76在局部坐标系SL中进行描述。
局部坐标系SL的原点和朝向被设定于主架5b的容易测量的位置。例如,如图15所示,将主架5b的角作为原点,将主架5b的边的朝向作为坐标轴的朝向。由此,单位任务中包含的移动命令只要作为相对于作为作业用设备的主架5b的相对位置进行指定即可,其与主架5b的设置误差无关。
并且,机器人控制装置2在使机器人3动作时,预先测量并给出包括机器人坐标系SR与局部坐标系SL之间误差的位置关系,由此能够容易地将局部坐标系SL向机器人坐标系SR进行坐标变换,使机器人3动作。具体来说,使用局部坐标系SL描述相对于主架5b的喷出液体试剂的动作,由此,机器人3的动作其结果如下所示:将在机器人坐标系SR中位置有偏移的基准点70作为开始位置,将移液器4倾斜角度θ而把持,沿着倾斜了角度θ的移动路径73c进行移动,在作业点76进行液体试剂喷出,并沿着保持倾斜了角度θ的移动路径73c返回基准点70。
如此,通过按照由该作业任务中进行处理的每个作业用设备确定的局部坐标系SL,来描述单位任务,由此能够在不必查明作业用设备的设置误差的情况下生成单位任务,从而提高了其生产效率以及维修性。此外,对于作业用设备的设置误差的结构,在设置时进行修正就够了,不必根据其结果重新计算坐标并重写机器人控制指令本身,因而比较省力。
以上说明的实施方式的结构是作为具体例子而示出的,但本说明书中公开的发明并不意味着局限于该具体例子的结构。本领域技术人员可以对这些公开的实施方式进行各种变形,例如可进行功能或操作方法的变更或附加等,此外,也可以将流程图表所示的控制置换为实现同等功能的其他控制。本说明书所公开的发明的技术范围,应理解为包括这样进行的变形等。
符号说明
1 动作指令生成装置、1a CPU、1b RAM、1c 静态存储装置、1ca 指令定义数据库、1cb 单位任务组存储部、1cc 状态信息数据库、1cd 连接任务存储部、1ce 作业模型存储部、1cf 机器人动作指令存储部、1d GC、1e 输入设备、1f I/O、1g 数据总线、1h 监视器、2机器人控制装置、3 机器人、4 移液器、5a 管架、5b 主架、5c 倾斜台、6 微型管、6a 第一微型管、6b 第二微型管、7 管架、8 管、9 恒温槽、10 移液器架、11 涡旋混合器、12 离心分离器、13 垃圾箱、20 整体作业流程获取部、21 作业指令提取部、22 指令定义提取部、23 单位任务集合生成部、24 状态信息生成部、25 连接任务生成部、26 连接任务模拟器、27 机器人动作指令生成部、28 机器人动作指令显示部、29 机器人动作指令输出部、30 整体作业时间预估部、31 整体作业时间显示部、50 指令、51 对象、52 自变量、60 状态表、60a~60g 状态信息、61 状态对应表、61a~61D 状态对应表、70 基准点、71 箭头线、72 位置、73箭头线、73a,73b 箭头线、73c 移动路径、74 位置、75 箭头线、76 作业点、80 第一移动指令、81 第二移动指令、100 初始符号、101 最终符号、102 顺序线、103 处理符号、104 附加线、105 容器数符号、200 处理系统、300 单位任务组。

Claims (15)

1.一种机器人动作指令生成方法,包括:
从整体作业流程提取作业指令;
从指令定义数据库提取与所读入的所述作业指令相对应的指令定义;
参照所读入的所述作业指令,根据提取的所述指令定义,生成一个或多个被排序的单位任务的集合;
在多个单位任务中,生成连接任务,该连接任务使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置动作;
存储所生成的连接任务;
生成所述单位任务以及所述连接任务连续的机器人动作指令;
至少生成表示作业用设备以及所述机器人在所述单位任务的开始以及结束时间点的状态的状态信息;
在连续的所述单位任务中,当先前的单位任务的结束时间点以及后续的单位任务的开始时间点的状态信息与表示所述作业用设备以及所述机器人在已经生成的连接任务的开始时间点以及结束时间点的状态的状态信息相等时,使用所存储的所述连接任务。
2.如权利要求1所述的机器人动作指令生成方法,其中,
当生成所述机器人动作指令时,从预先存储的单位任务组调出所述单位任务。
3.如权利要求1所述的机器人动作指令生成方法,其中,
所述指令定义定义一个或多个每个所述作业指令使用的单位任务的顺序以及组合,
所述作业指令根据所述作业指令的作业条件,选择要使用的单位任务的顺序以及组合。
4.如权利要求3所述的机器人动作指令生成方法,其中,
在所述指令定义中,除了表示被排序并要被执行的所述单位任务的信息之外,还包括改变要被执行的单位任务的控制信息,
所述作业指令被转换成串联排序的所述单位任务,并生成为所述单位任务的集合。
5.如权利要求1所述的机器人动作指令生成方法,其中,
参照作业模型,以在模型间不发生干扰的路径生成所述连接任务。
6.如权利要求5所述的机器人动作指令生成方法,其中,
所述指令定义中包含机器人保持物信息,
所述连接任务基于所述机器人保持物信息而生成。
7.如权利要求1所述的机器人动作指令生成方法,其中,
将预先存储的执行所述单位任务所需要的时间与执行所述连接任务所需要时间相加求出整体作业时间,所述整体作业时间是执行所述整体作业流程所需要的时间。
8.如权利要求7所述的机器人动作指令生成方法,其中,
进行所生成的所述连接任务的动作模拟,求出执行该连接任务所需要的时间。
9.如权利要求7所述的机器人动作指令生成方法,其中,
对执行所生成的所述连接任务所需要的时间进行存储。
10.如权利要求5所述的机器人动作指令生成方法,其中,
至少生成表示作业用设备以及所述机器人在所述作业指令的开始以及结束时间点的状态的状态信息,
所述连接任务基于所述状态信息而生成为不引起模型间干扰的路径。
11.如权利要求1所述的机器人动作指令生成方法,其中,
在连续的所述作业指令中,当先前的作业指令的结束位置与后续的作业指令的开始位置相等时,省略所述连接任务的生成,或者舍弃所生成的所述连接任务。
12.如权利要求1所述的机器人动作指令生成方法,其中,
在连续的所述单位任务中,当先前的单位任务与后续的单位任务彼此的开始位置和结束位置相同、仅仅作业位置发生了偏移时,舍弃先前的单位任务中包含的向结束位置的移动指令、以及后续的单位任务中包含的向开始位置的移动指令。
13.如权利要求1所述的机器人动作指令生成方法,其中,
所述单位任务中包含:指定局部坐标系的坐标系指定指令以及基于该局部坐标系的移动指令。
14.一种机器人动作指令生成装置,具有:
作业指令提取部,从整体作业流程提取作业指令;
指令定义提取部,从指令定义数据库提取与所读入的所述作业指令相对应的指令定义;
单位任务集合生成部,参照所读入的所述作业指令,根据提取的所述指令定义,生成一个或多个顺序确定的单位任务的集合;
状态信息生成部,至少生成表示作业用设备以及所述机器人在所述单位任务的开始以及结束时间点的状态的状态信息;
连接任务生成部,在多个单位任务中,生成连接任务,该连接任务使机器人从先前的单位任务的结束位置向后续的单位任务的开始位置动作;
任务存储部,存储所生成的连接任务;以及
机器人动作指令生成部,生成所述单位任务以及所述连接任务连续的机器人动作指令,
在所述连接任务生成部中,在连续的所述单位任务中,当先前的单位任务的结束时间点以及后续的单位任务的开始时间点的状态信息与表示所述作业用设备以及所述机器人在已经生成的连接任务的开始时间点以及结束时间点的状态的状态信息相等时,使用所存储的所述连接任务。
15.如权利要求14所述的机器人动作指令生成装置,其中,
具有单位任务组存储部,该单位任务组存储部存储预先生成的多个单位任务,
所述机器人动作指令生成部在生成所述机器人动作指令时,参照所述单位任务组存储部中存储的单位任务。
CN201810274132.1A 2017-03-30 2018-03-29 机器人动作指令生成方法以及机器人动作指令生成装置 Active CN108687760B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017066720A JP6879009B2 (ja) 2017-03-30 2017-03-30 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
JP2017-066720 2017-03-30

Publications (2)

Publication Number Publication Date
CN108687760A CN108687760A (zh) 2018-10-23
CN108687760B true CN108687760B (zh) 2022-06-14

Family

ID=61691795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810274132.1A Active CN108687760B (zh) 2017-03-30 2018-03-29 机器人动作指令生成方法以及机器人动作指令生成装置

Country Status (4)

Country Link
US (2) US11065764B2 (zh)
EP (1) EP3398730B1 (zh)
JP (1) JP6879009B2 (zh)
CN (1) CN108687760B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6965603B2 (ja) * 2017-07-06 2021-11-10 富士通株式会社 設計支援装置、設計支援方法および設計支援プログラム
JP6838017B2 (ja) * 2018-08-31 2021-03-03 ファナック株式会社 レーザ加工のための教示装置、教示方法、及び教示プログラム
CN109388392A (zh) * 2018-10-31 2019-02-26 陈黎明 一种指令处理方法
JP7314824B2 (ja) * 2019-05-17 2023-07-26 株式会社安川電機 ロボットシステム、復帰プログラム生成装置、制御支援装置、制御装置、プログラム、復帰プログラムの生成方法及び復帰プログラムの出力方法
CN112147954A (zh) * 2019-06-28 2020-12-29 炬星科技(深圳)有限公司 任务执行方法、机器人、调度系统、电子设备及存储介质
CN110308669B (zh) * 2019-07-27 2021-07-30 南京市晨枭软件技术有限公司 一种模块机器人自修复仿真系统及方法
EP4023397A4 (en) * 2019-08-30 2022-09-14 NEC Corporation INFORMATION PROCESSING DEVICE, CONTROL METHOD AND INFORMATION MEDIA
WO2021038842A1 (ja) * 2019-08-30 2021-03-04 日本電気株式会社 情報処理装置、制御方法及び記憶媒体
US20230072244A1 (en) * 2020-02-25 2023-03-09 Nec Corporation Control device, control method and storage medium
JP7173079B2 (ja) * 2020-03-31 2022-11-16 株式会社安川電機 作業再開システム、製造方法、及びプログラム
CN111488105B (zh) * 2020-04-17 2021-07-30 北京如影智能科技有限公司 一种机械臂动作流程的生成方法及装置
US20230278211A1 (en) 2020-06-25 2023-09-07 Hitachi High-Tech Corporation Robot Teaching Device and Work Teaching Method
US20230321827A1 (en) 2020-09-07 2023-10-12 Nec Corporation Determination device, determination method, and storage medium
JP7474681B2 (ja) * 2020-11-10 2024-04-25 株式会社安川電機 プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム
WO2023021681A1 (ja) * 2021-08-20 2023-02-23 株式会社安川電機 ロボットプログラム生成システム、ロボットプログラム生成方法、プロトコル変換判定装置、ロボットプログラム、プロトコル、および、製造システム
CN113771030B (zh) * 2021-09-06 2023-04-14 深圳太力生物技术有限责任公司 细胞操作机器人的控制方法、装置、设备和存储介质
CN114043478B (zh) * 2021-11-24 2023-07-07 深圳大学 机器人复杂操作技能表示方法、装置、智能终端和介质
CN114185281B (zh) * 2021-12-14 2024-02-20 深圳大学 基于知识库的机器人仿真平台控制方法、终端及介质
JP7237249B1 (ja) * 2022-02-25 2023-03-10 三菱電機株式会社 ロボット制御装置、ロボット制御方法およびロボット制御プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293605A (zh) * 1999-01-18 2001-05-02 索尼公司 机器人装置、机器人装置的主体单元和连接单元
CN1845021A (zh) * 2005-04-08 2006-10-11 三菱电机株式会社 指令生成装置
CN105630006A (zh) * 2014-11-21 2016-06-01 国立研究开发法人产业技术综合研究所 动作指令生成装置、动作指令生成方法及处理系统
JP2016159406A (ja) * 2015-03-03 2016-09-05 キヤノン株式会社 ロボット制御装置、ロボット制御方法及びロボットシステム
WO2016170606A1 (ja) * 2015-04-21 2016-10-27 株式会社安川電機 処理システム、動作指令生成装置、動作指令生成方法及びコンピュータプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930461A (en) 1994-03-24 1999-07-27 Bernstein; Steven A. Method and apparatus for automated tissue assay
DE112006000937T5 (de) * 2005-04-15 2008-08-28 Thermo Crs Ltd., Burlington Verfahren und System zur Prüfung von Proben
US7974737B2 (en) * 2006-10-31 2011-07-05 GM Global Technology Operations LLC Apparatus and method of automated manufacturing
JP2009157528A (ja) 2007-12-25 2009-07-16 Panasonic Electric Works Co Ltd セル生産システムにおける生産指示方法
US9144904B2 (en) 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
US8483861B2 (en) 2009-08-31 2013-07-09 Applied Materials, Inc. Scheduling modeling system for adaptive, automated data collection and performance analysis of manufacturing system for optimal scheduling
JP5582427B2 (ja) 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP6350037B2 (ja) * 2014-06-30 2018-07-04 株式会社安川電機 ロボットシミュレータおよびロボットシミュレータのファイル生成方法
JP6598454B2 (ja) * 2014-11-14 2019-10-30 株式会社クリエイティブマシン 教示データの作成方法、作成装置、及び作成プログラム
JP6419547B2 (ja) 2014-11-21 2018-11-07 国立研究開発法人産業技術総合研究所 動作指令生成装置、動作指令生成方法、コンピュータプログラム、及び処理システム。
JP6511806B2 (ja) * 2014-12-25 2019-05-15 シンフォニアテクノロジー株式会社 多関節ロボット及び多関節ロボットの制御方法
CN107208016A (zh) * 2015-02-03 2017-09-26 株式会社安川电机 动作命令生成装置、动作命令生成方法、计算机程序和处理系统
JP6532279B2 (ja) 2015-04-28 2019-06-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置
JP6309990B2 (ja) * 2016-03-24 2018-04-11 ファナック株式会社 複数の機構ユニットにより構成されたロボットを制御するロボットシステム、該機構ユニット、およびロボット制御装置
JP6953691B2 (ja) * 2016-08-12 2021-10-27 富士通株式会社 工程計画支援装置、工程計画支援方法および工程計画支援プログラム
JP6651636B2 (ja) * 2016-08-30 2020-02-19 本田技研工業株式会社 ロボットの制御装置およびロボットの制御方法
EP3512667A1 (en) * 2016-09-13 2019-07-24 ABB Schweiz AG Method of programming an industrial robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293605A (zh) * 1999-01-18 2001-05-02 索尼公司 机器人装置、机器人装置的主体单元和连接单元
CN1845021A (zh) * 2005-04-08 2006-10-11 三菱电机株式会社 指令生成装置
CN105630006A (zh) * 2014-11-21 2016-06-01 国立研究开发法人产业技术综合研究所 动作指令生成装置、动作指令生成方法及处理系统
JP2016159406A (ja) * 2015-03-03 2016-09-05 キヤノン株式会社 ロボット制御装置、ロボット制御方法及びロボットシステム
WO2016170606A1 (ja) * 2015-04-21 2016-10-27 株式会社安川電機 処理システム、動作指令生成装置、動作指令生成方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20210291368A1 (en) 2021-09-23
EP3398730B1 (en) 2023-07-12
US11065764B2 (en) 2021-07-20
US20180281190A1 (en) 2018-10-04
EP3398730A1 (en) 2018-11-07
CN108687760A (zh) 2018-10-23
JP6879009B2 (ja) 2021-06-02
JP2018167361A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
CN108687760B (zh) 机器人动作指令生成方法以及机器人动作指令生成装置
US10031149B2 (en) Robotic system for sorting sample tubes
US8580197B2 (en) Direct pipetting in computer-controlled liquid handling workstations
EP2745998A2 (en) Teaching data generator, robot system, and method for generating teaching data
EP3023206B1 (en) Operation command generation device, operation command generation method, computer program, and process system
JP6354691B2 (ja) 処理システム、制御方法、動作指令生成装置及びコンピュータプログラム
US20210347042A1 (en) Robot system, robot system control method, and action command generation device
US20230333134A1 (en) Virtual Pipetting
WO2018119321A1 (en) Automatic diagnostic laboratory and laboratory information management system for high throughput
US11899428B2 (en) Work resume system, manufacturing method, and program
JP6399214B2 (ja) 処理システム、動作指令生成装置、動作指令生成方法及びコンピュータプログラム
US20210301239A1 (en) Cell production apparatus, cell production method, computer-readable storage medium, and cell production system
WO2024101438A1 (ja) ロボットシステム
EP3769844B1 (en) Laboratory automation device control program generation with object detection
JP2024068947A (ja) ロボットシステム
JP2022109752A (ja) 処理システム及び処理方法

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