本発明の発明者の知見によれば、生化学、生物/生命工学における実験において、所期の結果を得られる可能性、すなわち、実験の再現性は、実験者の技量に依存する部分が大きく、実験結果の信頼性の検証等に支障をきたす場合がある。そこで、発明者は、実験をロボットを用いて実施することで、人為的要因を排除することを検討している。
ここで、コンタミネーション等を防止し、かつロボットの動作を人が観察した場合の分かりやすさを向上させるためには、プロトコルに必ずしも明示されない動作をロボットに行わせなければならない。
そこで、本発明者は、コンタミネーション等を防止して、プロトコルに基づく実験をロボットに行わせるための動作指令を自動的に生成することについて鋭意研究開発を行い、新規かつ独創的な動作指令生成装置等を発明するに至った。以下、かかる動作指令生成装置等について、実施形態を例示して説明する。
図1は、本発明の実施形態に係る処理システム200の物理的な構成の例を示す概略図である。処理システム200は、プロトコルを図示したプロトコルチャートに基づき、ロボット3の動作指令を生成する動作指令生成装置1と、生成された動作指令に基づき、ロボット3を制御するロボット制御装置2と、ロボット制御装置2により制御され、実験を実行するロボット3とを含む。動作指令生成装置1自体は、専用の機器であってもよいが、ここでは一般的なコンピュータを使用して実現されている。すなわち、市販のコンピュータにおいて、当該コンピュータを動作指令生成装置1として動作させるコンピュータプログラムを実行することによりかかるコンピュータを動作指令生成装置1として使用する。かかるコンピュータプログラムは、一般にアプリケーションソフトウェアの形で提供され、コンピュータにインストールされて使用される。当該アプリケーションソフトウェアは、CD−ROMやDVD−ROMその他のコンピュータ読み取り可能な適宜の情報記録媒体に記録されて提供されてよく、また、インターネット等の各種の情報通信ネットワークを通じて提供されてもよい。あるいは、情報通信ネットワークを通じて遠隔地にあるサーバによりその機能が提供される、いわゆるクラウドコンピューティングにより実現されてもよい。また、ロボット制御装置2は、ここではロボット3と一体となって、又は別体に設けられており、動作指令生成装置1により生成された動作指令に基づいて、ロボット3に所望の動作を実行させる。
ロボット3は、多関節の双腕型ロボットであり、処理対象を収容した容器に対する処理を行う。ロボット3は、アームによりピペット4を把持し操作する等、図示しあるいは図示しない実験器具を操作し、また、サブラック5に格納されたマイクロチューブ6を把持し、マイクロチューブ6をサブラック5からメインラック7等へ移動させるなど、図示しあるいは図示しない各種容器を移動させることができる。本実施形態では、ロボット3は、処理対象をマイクロチューブ6に注入する等、マイクロチューブ6に対する処理を行う場合、メインラック7にマイクロチューブ6を移動させ、メインラック7上で処理を行うようにしている。処理システム200には、さらに、撹拌機8と、遠心分離器9とが含まれる。図1に示す例では、実験を行う場合に用いられる器具の一例を示したが、処理システム200には、他の器具が含まれてもよい。例えば、処理システム200には、恒温槽やマグネットラック等が含まれてもよい。また、ロボット3は図示した形態のものに限られず、単腕型ロボット等であってもよいし、複数のロボットが協調して動作するものであってもよい。
図2は、本発明の実施形態に係る動作指令生成装置1の物理的な構成を示すブロック図である。図2に示した構成は、動作指令生成装置1として用いられる一般的なコンピュータを示しており、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC1dからの信号はフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O1fは動作指令生成装置1が外部の機器と情報をやり取りするためのインタフェースである。
図3は、本実施形態に係る動作指令生成装置1の機能ブロック図である。なお、ここで示した機能ブロックは、動作指令生成装置1が有する機能に着目して示したものであり、必ずしも各機能ブロックに1対1に対応する物理的構成が存在することを要しない。いくらかの機能ブロックは動作指令生成装置1のCPU1a等の情報処理装置が特定のソフトウェアを実行することにより実現され、またいくらかの機能ブロックは動作指令生成装置1のRAM1b等の情報記憶装置に特定の記憶領域が割り当てられることにより実現されてよい。
動作指令生成装置1は、ユーザからの各種の入力を受け付ける入力部10と、プロトコルを図示したプロトコルチャートを取得するプロトコルチャート取得部11とを有する。また、動作指令生成装置1は、入力部10により受けつけられた入力、及びプロトコルチャート取得部11により取得されたプロトコルチャートに基づいて動作指令を生成する動作指令生成部12を有する。さらに、動作指令生成装置1は、生成中及び生成された動作指令の電子データを記憶する動作指令記憶部26と、動作指令記憶部26に記憶された動作指令の電子データを成形しモニタ1hに表示する動作指令表示部27と、生成された動作指令をロボットが読み取り可能な形式の電子ファイルとして出力する動作指令出力部28とを有する。また、動作指令生成装置1は、入力部10により受け付けられた入力に基づいて、容器を一時的に退避させておく場所である退避場所を処理システムに含まれる容器格納場所のうちから設定する退避場所設定部33と、ロボット3が容器に対する処理を行う場所である作業場所を処理システムに含まれる容器格納場所のうちから設定する作業場所設定部34とを有する。退避場所設定部33及び作業場所設定部34の設定情報は、場所設定記記憶部35に記憶され、動作指令生成部12に入力される。
入力部10は、通常は図1に示した入力デバイス1eにより構成されるが、動作指令生成装置1がクラウドコンピューティングに用いられるアプリケーションサーバである場合には、遠隔地にある端末上でのユーザの操作情報が入力されるI/O1fが該当することになる。
動作指令生成部12には動作指令を生成するための種々の機能ブロックが含まれる。詳細は後ほど動作指令の生成手順を説明する際に合わせて説明するが、本実施形態では、動作指令生成部12には、処理システム200に対して、処理対象を収容する容器を退避場所から移動させ、作業場所に配置させるジョブを生成する配置ジョブ生成部13が含まれる。また、動作指令生成部12には、処理シンボルに基づいて、処理システム200に対して、作業場所において容器に対する処理を行わせるジョブを生成する処理ジョブ生成部14が含まれる。また、動作指令生成部12には、処理シンボルの表す処理が少なくとも同一の容器に対する処理でない場合に、処理システム200に対して、処理シンボルの表す処理が行われた後に容器を作業場所から退避場所に移送させるジョブを生成する移送ジョブ生成部15が含まれる。さらに、動作指令生成装置1には、複数の処理シンボルが、同一の容器に対する処理を表すものであるか否かを判断する同一容器判断部16と、プロトコルチャートに基づいて、処理シンボルに関連付けられた容器数を抽出する容器数抽出部17と、作業場所における容器の配置を、容器数抽出部17により抽出された容器数分重複無く設定する配置設定部18と、容器数抽出部17により抽出された容器数分の容器すべてが作業場所の第1の範囲に配置できるか否かを判断する配置可否判断部19とが含まれる。また、動作指令生成装置1には、処理システム200に対し、処理対象を収容した第1の容器を移送元範囲に配置させ、第2の容器を移送先範囲に配置させるジョブを生成する移送準備ジョブ生成部20が含まれる。さらに、動作指令生成装置1には、プロトコルチャートに含まれる移送シンボルに基づいて、処理システム200に対し、第1の容器から第2の容器へと処理対象を移送させるジョブを生成する移送ジョブ生成部21と、移送処理の後に行われるジョブであって、処理システム200に対して、第1の容器を移送元範囲から退避場所に移送させるジョブを生成し、第2の容器を移送先範囲から退避場所に移送させるジョブを生成する移送退避ジョブ生成部22とが含まれる。
なお、本明細書において、ジョブとは、少なくともロボットを含む処理システムに対する指令であって、処理対象が収容される容器に対する単位処理を行う指令をいうものとする。また、動作指令とは、複数のジョブが組み合わされたジョブの集合体をいうものとする。動作指令生成装置1は、プロトコルチャートに表された処理シンボル等に基づいて単位処理であるジョブを生成し、統合して、処理システムに対する動作指令を生成する。
配置ジョブ生成部13には、さらに、配置可否判断部19により、容器すべてが作業場所の第1の範囲に配置できないと判断される場合に、容器を配置させるジョブを、処理システム200に対して、第1の範囲に配置できる数の容器を第1の範囲に配置させる2以上のジョブに分割する容器準備ジョブ分割部13aが含まれる。
また、処理ジョブ生成部14には、さらに、配置可否判断部19により、容器すべてが作業場所の第1の範囲に配置できないと判断される場合に、処理シンボルに基づいて、処理システム200に対して処理シンボルが表す処理を行わせるジョブを、第1の範囲に配置できる数の容器ごとに行われる2以上のジョブに分割する処理ジョブ分割部14aが含まれる。また、処理ジョブ生成部14には、容器を作業場所から周辺機器に配置するジョブを生成する機器配置ジョブ生成部14bと、処理シンボルに基づいて、処理システム200に対して、容器に対して周辺機器を用いた処理をさせるジョブを生成する機器処理ジョブ生成部14cと、処理シンボルが表す処理が、少なくとも同一の容器に対する処理でない場合に、処理システム200に対して、処理シンボルの表す処理が行われた後に容器を周辺機器から作業場所に移送させるジョブを生成する機器移送ジョブ生成部14dとが含まれる。さらに、処理ジョブ生成部14には、処理システム200に対して、複数の処理シンボルが表す第1及び第2の周辺機器を用いた処理の間に行わせるジョブであって、容器を第1の周辺機器から第2の周辺機器に移送させるジョブを生成する機器間移送ジョブ生成部14eが含まれる。
また、移送ジョブ生成部15には、さらに、配置可否判断部19により、容器すべてが第1の範囲に配置できないと判断される場合に、処理システム200に対して容器を移送させるジョブを、前記処理ジョブ分割部による分割に基づいて、2以上のジョブに分割する移送ジョブ分割部15aが含まれる。
図4は、本実施形態に係る動作指令生成装置1により取得されるプロトコルチャートの第1の例を示す図である。
ここで、本明細書において、プロトコルチャートとは、プロトコルを視覚的に理解し得る態様で図示したものをいい、プロトコルとは生化学や生物・生命工学等の分野において処理対象に対しなされる前処理等の作業手順及び条件を指すものとする。プロトコルチャートは、処理対象を収容した容器に対する処理を表す処理シンボルを少なくとも含む。また、処理対象とは、同分野において実験の対象となる材料をさす。一般には、細胞やDNA等の生体組織の一部であることが多い。また、処理対象は一般に実験に特に適した器具、例えば、マイクロチューブ(遠枕管)、ペトリ皿(シャーレ)やマイクロプレート(マイクロタイタープレート)に収容されて実験に供されるが、本明細書で単に容器と言えば、実験における処理対象の収容に適したこれらの器具を指すものとする。
また、便宜上、図4における上下方向を第1の方向と称し、第1の方向と交差する方向を第2の方向と称する。第1の方向と第2の方向との交差角度は必ずしも直角でなくともよいが、ここでは第1の方向と第2の方向は直交するものとする。そのため、第2の方向は図4における左右方向に向く軸である。
本例のプロトコルチャートは、基本的には、処理対象を収容する容器の初期状態を示す初期シンボル100と、その容器の最終状態を示す最終シンボル101を第1の方向に並べ、両者を初期シンボル100から最終シンボル101に向かう順序線102で第1の方向に接続し、順序線102に沿って容器に対しする個別の処理を示す処理シンボル103を配置したものである。図4に示す第1の例では、「Tube」と記載された初期シンボル100と最終シンボル101及び、両者を接続する順序線102からなる組が記載されている。ここで、順序線102は、処理が行われる順序を矢線で表している。すなわち、本例のプロトコルチャートは、はじめに「Tube」と記載された初期シンボル100が表すジョブを行い、その後「Tube」について「A」と記載された処理シンボル103が表すジョブを行い、最後に「Tube」と記載されて最終シンボル101が表すジョブを行うことを意味する。
なお、本例のプロトコルチャート、及び第2−5の例のプロトコルチャートでは、説明を簡明にするため処理シンボル103が表す処理の具体的内容を例示していない。処理シンボル103が表す処理の具体的内容は、例えば、撹拌機8を用いて行われる撹拌処理、遠心分離器9を用いて行われる遠心分離処理、恒温槽に安置することにより行われる反応処理等がある。また、ピペット4を用いてマイクロチューブ6に薬品等を注入する処理が行われる場合もある。さらに、容器がペトリ皿の場合、ペトリ皿上に培養された細胞等をヘラで剥ぎ取るスクレープ処理が行われる場合もある。
以下に、本実施形態に係る動作指令生成装置1により、コンタミネーション等を防止しつつ、図4に図示した第1の例のプロトコルチャートに基づいてどのようにジョブが生成されるかを説明する。
まず、動作指令生成装置1のプロトコルチャート取得部11によりプロトコルチャートが取得され、プロトコルチャート中、最上段に記載された「Tube」と記載された初期シンボル100に基づいて、動作指令生成部12により、処理システム200に対して、処理対象が収容されるマイクロチューブ6をサブラック5に準備させるジョブが生成される。初期シンボル100の左側に記載された「Tube」はマイクロチューブを示し、右側に記載された「Tube Rack」は、かかるマイクロチューブが保管されている機器を示しており、ここではチューブ棚である。したがって、動作指令生成部12は、「Tube」と記載された初期シンボル100を、ロボット3のアームによって、チューブ棚からサブラック5へマイクロチューブを移動するジョブを生成する。
次に、「Tube」と記載された初期シンボル100と順序線102で接続された「A」と記載された処理シンボル103が読み取られる。ここで、「A」と記載された処理シンボル103は、マイクロチューブに対して、条件A(「Condition A」)のもとで行われる任意の処理を表す。ここで、処理シンボル103には、処理を行う場所は明示されていない。しかし、異なる容器が配置された場所で容器に対する処理を行うと、異なる処理対象が意図しない容器に混入するコンタミネーションのおそれもある。そのため、容器に対する処理は原則としてメインラック7において行う。
処理シンボル103が読み込まれると、配置ジョブ生成部13は、処理システム200に対して、容器を退避場所から移送して作業場所に配置させるジョブを生成する。すなわち、配置ジョブ生成部13は、ロボット3のアームによってマイクロチューブ6を把持し、マイクロチューブ6をサブラック5からメインラック7に移動させるジョブを生成する。配置ジョブ生成部13は、処理シンボルが表す処理Aの前に上記の配置動作が行われるようにジョブを挿入する。
また、処理シンボル103が読み込まれると、処理ジョブ生成部14は、処理シンボル103に基づいて、処理システム200に対して、作業場所において容器に対する処理を行わせるジョブを生成する。すなわち、処理ジョブ生成部14は、処理シンボル103に基づいて、メインラック7においてマイクロチューブ6に対して、条件Aのもとで処理Aをするジョブを生成する。
さらに、処理シンボル103が読み込まれると、移送ジョブ生成部15は、処理シンボルの表す処理が少なくとも同一の容器に対する処理でない場合に、処理システム200に対して、処理シンボルの表す処理が行われた後に容器を作業場所から退避場所に移送させるジョブを生成する。すなわち、移送ジョブ生成部15は、ロボット3のアームによってマイクロチューブ6を把持し、マイクロチューブ6をメインラック7からサブラック6に移動させるジョブを生成する。移送ジョブ生成部15は、処理シンボルが表す処理Aの後に上記の移送動作が行われるようにジョブを挿入する。
このように、本実施形態に係る動作指令生成装置1によれば、処理ごとに、サブラック5に置かれたマイクロチューブ6をメインラック7に配置し、メインラック7において処理を行い、少なくとも異なる容器に対する処理を行う場合には、処理後にマイクロチューブ6をサブラック5に移送するという動作指令を自動的に生成することができる。異なる容器に対する処理を行う場合に、マイクロチューブ6をサブラック5に移送することで、コンタミネーション等が防止される。また、ロボット3の動作を確認する者は、ロボット3が異なる容器に対する処理を行う場合に、容器をメインラック7からサブラック5に移送することで、コンタミネーションを防止する動作をロボット3が行っていることを明らかに確認することができる。さらに、何らかの要因によりメインラック7に容器が配置された状態でロボット3の動作を途中停止する場合があっても、いずれの容器に対する処理が行われていたのかを明らかに判別でき、復帰が容易となる。
最後に、「Tube」と記載された最終シンボル101が、動作指令生成部12により、処理システム200に対して、容器に対する最終処理を行わせるジョブに変換される。ここで、「PUT」は機器への保管を意味しており、動作指令生成部12は、ロボット3によりマイクロチューブをサブラック5から移動し、4℃の恒温槽に保管させるジョブを生成する。
図5は、プロトコルチャートの第1の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。同図では、処理シンボル103に基づいて生成される3つのジョブについての、ロボット3の動作を3つの矢印によって示している。同図は、ロボット3側から見た場合(図5の紙面下側にロボット3が配置されている場合)における作業台の一部の様子を示している。サブラック5の12箇所ある格納場所のうち、紙面左下の格納場所には、マイクロチューブ6が配置されている。
矢印V−1は、マイクロチューブ6を退避場所であるサブラック5から移動させ、作業場所であるメインラック7に配置するジョブにおけるロボット3の動作を示す。本例では、メインラック7及びサブラック5は、ともに、6箇所の格納場所を含む列が2列並び、合計12箇所の格納場所をもつものとして示している。ここで、マイクロチューブ6は、メインラック7の12箇所ある格納場所のうち、紙面左下の格納場所に配置される。すなわち、サブラック5におけるマイクロチューブ6の格納場所と、メインラック7におけるマイクロチューブ6の格納場所が対応するように、マイクロチューブ6を配置する。
矢印V−2は、作業場所であるメインラック7において、マイクロチューブ6に対して条件Aのもと処理Aを行うジョブにおけるロボット3の動作を示す。また、矢印V−3は、マイクロチューブ6を作業場所であるメインラック7から退避場所であるサブラック5に移送するジョブにおけるロボット3の動作を示す。ここで、マイクロチューブ6は、サブラック5の12箇所ある格納場所のうち、紙面左下の格納場所に配置される。すなわち、マイクロチューブ6は、矢印V−1で表される容器の準備動作が行われる前に配置されていた元の位置に戻される。
本実施形態に係る動作指令生成装置1では、作業場所設定部34により、第1の格納場所であるメインラック7を作業場所として設定し、退避場所設定部33により、第2の格納場所であるサブラック5を退避場所として設定している。また、本実施形態に係る処理システム200に含まれるメインラック7とサブラック5は、どちらも12個のマイクロチューブを格納できる格納場所である。しかしながら、作業場所として設定される第1の格納場所と、退避場所として設定される第2の格納場所との容器格納可能数は異なっていてもよい。動作指令生成装置1の利用者は、退避場所設定部33及び作業場所設定部34により、退避場所及び作業場所をそれぞれ任意に設定することができ、プロトコルごとに作業場所及び退避場所の設定をそれぞれ変更することもできる。また、1つのチューブ棚の1つの列を作業場所として設定し、作業場所として設定された列とは異なる列を退避場所として設定することとしてもよい。
図6は、本発明の実施形態に係る動作指令生成装置1により取得されるプロトコルチャートの第2の例を示す図である。また、図7は、プロトコルチャートの第2の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。
第2の例では、「Tube1」と記載された初期シンボル100及び最終シンボル101並びに両者を接続する順序線102と、「Tube2」と記載された初期シンボル100及び最終シンボル101並びに両者を接続する順序線102とが、第2の方向にオフセットした位置に配置される。第2の例が示すプロトコルは、「Tube1」(第1のマイクロチューブ)について条件Aのもとで処理Aを行い、「Tube2」(第2のマイクロチューブ)について条件Bのもとで処理Bを行い、それぞれのマイクロチューブを4℃の恒温槽に保管することを表す。ここで、第1のマイクロチューブについての処理Aを表す処理シンボル103は、第2のマイクロチューブについての処理Bを表す処理シンボル103よりも初期シンボル100側(紙面上側)に配置される。かかる配置関係は、処理が実行される順序を表す。すなわち、第2の例のプロトコルチャートは、第1のマイクロチューブについての処理Aを行った後、第2のマイクロチューブについての処理Bを行うことを表す。本例に示すプロトコルチャートでは、異なる初期シンボル100により示される容器は、互いに異なる処理対象を収容した異なる容器を示すものとして理解される。ここで、コンタミネーションを防止する観点、及び人が観察した場合に容器の追跡を容易とする観点からは、容器に対する処理が終わった後、異なる処理対象を収容した容器をメインラック7に配置する前に、処理が終わった容器をサブラック5に移送することが望ましい。
本実施形態に係る同一容器判断部16は、複数の処理シンボル103が、同一の容器に対する処理を表すものであるか否かを判断する。本例の場合、複数の処理シンボル103(処理Aを表す処理シンボル103と処理Bを表す処理シンボル103)は異なる容器(第1のマイクロチューブと第2のマイクロチューブ)に対するものである。そのため、同一容器判断部16は、複数の処理シンボル103が、同一の容器に対するものでないと判断する。
配置ジョブ生成部13は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対するものでないと判断される場合に、処理システム200に対して、容器を退避場所であるサブラック5から作業場所であるメインラック7に配置させるジョブを、容器ごとに生成する。具体的に、配置ジョブ生成部13は、ロボット3に第1のマイクロチューブをメインラック7に配置させるジョブを生成し、第1のマイクロチューブに対する処理Aが行われて第1のマイクロチューブがサブラック5に移送された後に第2のマイクロチューブをメインラック7に配置させるジョブを生成する。
処理ジョブ生成部14は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対するものでないと判断される場合に、処理シンボル103に基づいて、処理システム200に対して、容器に対する処理を行わせるジョブを、容器ごとに生成する。具体的に、処理ジョブ生成部14は、ロボット3に第1のマイクロチューブについてメインラック7において処理Aをさせるジョブを生成し、第1のマイクロチューブがサブラック5に移送された後に第2のマイクロチューブについてメインラック7において処理Bをするジョブを生成する。
移送ジョブ生成部15は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対するものでないと判断される場合に、処理システム200に対して、処理シンボルが表す処理が行われた後に容器を作業場所であるメインラック7から退避場所であるサブラック5に移送させるジョブを、容器ごとに生成する。具体的に、移送ジョブ生成部15は、第1のマイクロチューブに対して処理Aが行われた後に第1のマイクロチューブをサブラック5に移送するジョブを生成し、第2のマイクロチューブに対して処理Bが行われた後に第2のマイクロチューブをサブラック5に退避するジョブを生成する。
図7に示すように、当初、第1のマイクロチューブはサブラック5の左下の格納場所に配置され、第2のマイクロチューブはサブラック5の下側であって左から2番目の格納場所に配置されている。ロボット3は、配置ジョブ生成部13により生成されたジョブにより動作し、第1のマイクロチューブをサブラック5の左下の格納場所からメインラック7の左下の格納場所に配置する(矢印VII−1)。そして、ロボット3は、処理ジョブ生成部14により生成されたジョブにより動作し、第1のマイクロチューブに対して処理Aを行う(矢印VII−2)。さらに、ロボット3は、移送ジョブ生成部15により生成されたジョブにより動作し、第1のマイクロチューブをサブラック5の左下の格納場所に移送させる(矢印VII−3)。ここでメインラック7は、容器が格納されていない状態に戻る。その後、ロボット3は、配置ジョブ生成部13により生成されたジョブにより動作し、第2のマイクロチューブをサブラック5の下側であって左から2番目の格納場所からメインラック7の下側であって左から2番目の格納場所に配置する(矢印VII−4)。そして、ロボット3は、処理ジョブ生成部14により生成されたジョブにより動作し、第2のマイクロチューブに対して処理Aを行う(矢印VII−5)。さらに、ロボット3は、移送ジョブ生成部15により生成されたジョブにより動作し、第2のマイクロチューブをサブラック5の下側であって左から2番目の格納場所に移送させる(矢印VII−6)。
以上のように、本実施形態に係る動作指令生成装置1は、複数の処理シンボルが異なる容器に対する処理を表す場合、容器ごとに、容器の作業場所への配置、容器に対する処理、及び容器の退避場所への移送を行うジョブを生成する。本実施形態に係る動作指令生成装置1によれば、容器に対する処理が終わった後、異なる処理対象を収容した容器をメインラック7に配置する前に、処理が終わった容器をサブラック5に移送するジョブが生成される。従って、コンタミネーションが防止され、人が観察した場合に容器の追跡が容易であるジョブが自動的に生成される。
図8は、本実施形態に係る動作指令作成装置1により取得されるプロトコルチャートの第3の例を示す図である。また、図9は、プロトコルチャートの第3の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。第3の例が示すプロトコルは、マイクロチューブについて、条件Aのもとで処理Aを行い、その後条件Bのもとで処理Bを行い、当該マイクロチューブを4℃の恒温槽に保管することを表す。本例のプロトコルは、同一の容器について連続した処理を行う場合を表す。本実施形態に係る動作指令作成装置1によれば、このように同一の容器について連続した処理が行われる場合には、異なる処理対象が混入することを防止しつつ、作業時間を短縮することが可能である。以下、このような場合について詳細に説明する。
本実施形態に係る同一容器判断部16は、複数の処理シンボル103が、同一の容器に対する処理を表すものであるか否かを判断する。本例の場合、複数の処理シンボル103(処理Aを表す処理シンボル103と処理Bを表す処理シンボル103)は同一の容器(単一のマイクロチューブ)に対するものである。そのため、同一容器判断部16は、複数の処理シンボル103が、同一の容器に対するものであると判断する。
配置ジョブ生成部13は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対する処理を表すものであると判断される場合に、処理システム200に対して、容器を退避場所であるサブラック5から作業場所であるメインラック7に配置させる少なくとも1つのジョブを生成する。具体的に、配置ジョブ生成部13は、ロボット3により、マイクロチューブ6をメインラック7に配置する1つのジョブを生成する。
処理ジョブ生成部14は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対する処理を表すものであると判断される場合に、複数の処理シンボル103に基づいて、処理システム200に対して、複数の処理シンボル103が表す処理を容器に連続して行わせるジョブを生成する。具体的に、処理ジョブ生成部14は、ロボット3により、マイクロチューブ6についてメインラック7において処理A及び処理Bを連続して行うジョブを生成する。
移送ジョブ生成部15は、同一容器判断部16により、複数の処理シンボル103が、同一の容器に対する処理を表すものであると判断される場合に、処理システム200に対して、少なくとも、複数の処理シンボル103が表す処理のうち最後の処理が行われた後に容器を作業場所であるメインラック7から退避場所であるサブラック5に移送させるジョブを生成する。具体的に、移送ジョブ生成部15は、ロボット3により、最後の処理である処理Bが行われた後に、マイクロチューブ6をサブラック5に移送するジョブを生成する。
図9に示すように、当初、マイクロチューブ6はサブラック5の左下の格納場所に配置されている。ロボット3は、配置ジョブ生成部13により生成されたジョブにより動作し、マイクロチューブ6をサブラック5の左下の格納場所から移動させ、メインラック7の左下の格納場所に配置する(矢印IX−1)。そして、ロボット3は、処理ジョブ生成部14により生成されたジョブにより動作し、マイクロチューブ6に対して処理A及び処理Bを連続して行う(矢印IX−2、及び矢印IX−3)。さらに、ロボット3は、移送ジョブ生成部15により生成されたジョブにより動作し、マイクロチューブ6をサブラック5の左下の格納場所に移送させる(矢印IX−4)。
以上のように、本実施形態に係る動作指令生成装置1は、複数の処理シンボルが同一の容器に対する処理を表す場合、処理ごとに容器を退避場所に戻すことなく、連続して処理を行うジョブを生成する。従って、同一の容器について処理が行われるにもかかわらず、処理ごとに容器を退避場所に戻すという無駄な動作が行われることを防止でき、効率的な動作を実現するジョブが自動的に生成される。
図10は、本実施形態に係る動作指令作成装置1により取得されるプロトコルチャートの第4の例を示す図である。同図には、初期シンボル100に重ねて容器数シンボル104が配置されている。容器数シンボル104は、初期シンボル100に重ねて配置されることにより、初期シンボル100と順序線102で結ばれた処理シンボル103に関連付けられている。容器数シンボル104は、「×3」の文字により、処理シンボル103が表す処理を同種類の容器について3回繰り返すことを表す。また、図11は、プロトコルチャートの第4の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。第4の例が示すプロトコルは、第1〜3のマイクロチューブについて、条件Aのもとで処理Aを行い、当該3つのマイクロチューブを4℃の恒温槽に保管することを表す。このとき、初期シンボル100及び容器数シンボル104で示される3つの容器は、同一又は同種の処理対象が収容されているものと理解でき、また各々になされる処理も同一である。従って、これら3つの容器を同時に作業場所に配置して処理を行っても、異なる処理対象が混入するおそれは少ないと考えられる。
本実施形態に係る容器数抽出部17は、処理シンボル103に関連付けられた容器数を抽出する。本例の場合、容器数は3である。また、本実施形態に係る配置設定部18は、作業場所における容器の配置を、容器数抽出部17により抽出された容器数分重複無く設定する。本例の場合、配置設定部18は、作業場所であるメインラック7における3つのマイクロチューブの配置を、重複無く設定する。具体的に、配置設定部18は、第1のマイクロチューブをメインラック7の左下の格納場所に配置し、第2のマイクロチューブをメインラック7の下側であって左から2番目の格納場所に配置し、第3のマイクロチューブをメインラック7の下側であって左から3番目の格納場所に配置するよう設定する。
配置ジョブ生成部13は、配置設定部18の設定に基づき、処理システム200に対して、容器数抽出部17により抽出された容器数分、容器を退避場所であるサブラック5から移動させ、作業場所であるメインラック7に配置させるジョブを生成する。具体的に、配置ジョブ生成部13は、ロボット3により、第1〜3のマイクロチューブを、それぞれメインラック7の下側であって左から1〜3番目の格納場所に配置する3つのジョブを生成する。
処理ジョブ生成部14は、処理シンボル103に基づいて、処理システム200に対して、容器数抽出部17により抽出された容器数分、容器に対する処理を繰り返させるジョブを生成する。具体的に、処理ジョブ生成部14は、ロボット3により、第1〜3のマイクロチューブそれぞれについて、メインラック7において処理Aを繰り返す3つのジョブを生成する。
移送ジョブ生成部15は、処理システム200に対して、容器数抽出部17により抽出された容器数分、容器を作業場所であるメインラック7から退避場所であるサブラック5に移送させるジョブを生成する。具体的に、移送ジョブ生成部15は、ロボット3により、第1〜3のマイクロチューブを、それぞれサブラック5の下側であって左から1〜3番目の格納場所に移送する3つのジョブを生成する。
図11に示すように、当初、第1〜3のマイクロチューブは、それぞれサブラック5の下側であって左から1〜3番目の格納場所に配置されている。ロボット3は、配置ジョブ生成部13により生成されたジョブにより動作し、第1〜3のマイクロチューブをそれぞれサブラック5の下側であって左から1〜3番目の格納場所から移動させ、メインラック7の下側であって左から1〜3番目の格納場所に配置する(矢印XI−1、矢印XI−2、及び矢印XI−3)。そして、ロボット3は、処理ジョブ生成部14により生成されたジョブにより動作し、第1〜3のマイクロチューブに対して処理Aを繰り返し行う(矢印XI−4、矢印XI−5、及び矢印XI−6)。さらに、ロボット3は、移送ジョブ生成部15により生成されたジョブにより動作し、第1〜3のマイクロチューブをそれぞれサブラック5の下側であって左から1〜3番目の格納場所に移送する(矢印XI−7、矢印XI−8、及び矢印XI−9)。
以上のように、本実施形態に係る動作指令生成装置1は、処理シンボルが複数の容器に対する処理を表す場合、処理ごとに容器を退避場所に戻すことなく、連続して処理を行うジョブを生成する。従って、複数の同種類の容器について同じ処理が繰り返されるにもかかわらず、処理ごとに容器を退避場所に戻すという無駄な動作が行われず、効率的な動作を実現するジョブが自動的に生成される。
図12は、本実施形態に係る動作指令作成装置1により取得されるプロトコルチャートの第5の例を示す図である。同図には、初期シンボル100に重ねて容器数シンボル104が配置されている。容器数シンボル104は、初期シンボル100に重ねて配置されることにより、初期シンボル100と順序線102で結ばれた処理シンボル103に関連付けられている。容器数シンボル104は、「×8」の文字により、処理シンボル103が表す処理を同種類の容器について8回繰り返すことを表す。また、図13Aは、プロトコルチャートの第5の例に基づいて生成されるジョブにおけるロボットの動作のうち前半部分を説明する図である。図13Bは、プロトコルチャートの第5の例に基づいて生成されるジョブにおけるロボットの動作のうち後半部分を説明する図である。第5の例が示すプロトコルは、第1〜8のマイクロチューブについて、条件Aのもとで処理Aを行い、当該8つのマイクロチューブを4℃の恒温槽に保管することを表す。ここで、ロボット3が、容器単体に対する処理を行っているのか、又は容器に収容された処理対象を別の容器に移送する移送処理を行っているのかを判別しやすくするためには、容器に対する処理は、メインラック7の第1の範囲である手前側の列(ロボット3側の列、すなわち紙面下側の列、以下第1列7aと称する。)に容器を配置して行い、メインラック7の第2の範囲である奥側の列(ロボット3と反対側の列、すなわち紙面上側の列、以下第2列7bと称する。)は、移送処理を行う場合に用いることが望ましい。そのようにメインラック7の列を使い分けることにより、移送処理以外の処理と移送処理が明確に区別され、ロボット3がプロトコルを実行する様子を人が観察した場合に、移送処理以外の処理と移送処理を明確に区別することができる。
本実施形態に係る容器数抽出部17は、処理シンボル103に関連付けられた容器数を抽出する。本例の場合、容器数は8である。また、本実施形態に係る配置可否判断部19は、容器数抽出部17により抽出された容器数分の容器すべてがメインラック7の第1列7aに配置できるか否かを判断する。本例の場合、メインラック7の第1列7aには6つの格納場所がある。そのため、配置可否判断部19は、8つの容器すべてがメインラック7の第1列7aに配置できないと判断する。
配置ジョブ分割部13aは、配置可否判断部19により、容器すべてがメインラック7の第1列7aに配置できないと判断される場合に、処理システム200に対して、容器を配置させるジョブを、第1列7aに配置できる数の容器を第1列7aに配置させる2以上のジョブに分割する。具体的に、配置ジョブ分割部13aは、第1〜8のマイクロチューブをメインラック7に配置させるジョブを分割して、第1〜6のマイクロチューブを、それぞれメインラック7の第1列7aの左から1〜6番目の格納場所に配置させる6つのジョブと、第7〜8のマイクロチューブを、それぞれメインラック7の第1列7aの左から1〜2番目の格納場所に配置させる2つのジョブと、に分割する。
処理ジョブ分割部14aは、配置可否判断部19により、容器すべてがメインラック7の第1列7aに配置できないと判断される場合に、処理シンボル103に基づいて、処理システム200に対して、処理シンボル103が表す処理を行わせるジョブを、第1列7aに配置できる数の容器ごとに行われる2以上のジョブに分割する。具体的に、処理ジョブ分割部14aは、第1〜8のマイクロチューブに対して処理Aを行わせるジョブを分割して、第1〜6のマイクロチューブそれぞれについて、メインラック7において処理Aを繰り返させる6つのジョブと、第7〜8のマイクロチューブそれぞれについて、メインラック7において処理Aを繰り返させる2つのジョブと、に分割する。
移送ジョブ分割部15aは、配置可否判断部19により、容器すべてがメインラック7の第1列7aに配置できないと判断される場合に、処理システム200に対して容器を退避させるジョブを、処理ジョブ分割部14aによる分割に基づいて、2以上のジョブに分割する。具体的に、移送ジョブ分割部15aは、第1〜8のマイクロチューブをサブラック5に移送させるジョブを処理ジョブ分割部14aと同様に分割して、第1〜6のマイクロチューブを、それぞれサブラック5の下側であって左から1〜6番目の格納場所に移送させる6つのジョブと、第7〜8のマイクロチューブを、それぞれサブラック5の上側であって左から1〜2番目の格納場所に移送させる2つのジョブと、に分割する。
なお、配置ジョブ分割部13a、処理ジョブ分割部14a、移送ジョブ分割部15aは、必ずしもメインラック7の第1列7aの格納場所すべてを用いるようにジョブを分割しなくてもよい。すなわち、本例の場合に他の一例を挙げるならば、第1〜8のマイクロチューブについての配置、処理、及び移送のジョブを、第1〜4のマイクロチューブについての配置、処理、及び移送のジョブと、第5〜8のマイクロチューブについての配置、処理、及び移送のジョブとに分割してもよい。もっとも、配置ジョブ分割部13a、処理ジョブ分割部14a、移送ジョブ分割部15aは、それぞれジョブを同じ数に分割しなければならない。
図13Aに示すように、当初、第1〜6のマイクロチューブは、それぞれサブラック5の下側であって左から1〜6番目の格納場所に配置されている。また、第7〜8のマイクロチューブは、それぞれサブラック5の上側であって左から1〜2番目の格納場所に配置されている。ロボット3は、配置ジョブ分割部13aにより分割されたジョブにより動作し、第1〜6のマイクロチューブをそれぞれサブラック5の下側であって左から1〜6番目の格納場所から移動させ、メインラック7の第1列7aであって左から1〜6番目の格納場所に配置する(矢印XIII−1、矢印XIII−2、矢印XIII−3、矢印XIII−4、矢印XIII−5、及び矢印XIII−6)。そして、ロボット3は、処理ジョブ分割部14aにより分割されたジョブにより動作し、第1〜6のマイクロチューブに対して処理Aを繰り返し行う(矢印XIII−7、矢印XIII−8、矢印XIII−9、矢印XIII−10、矢印XIII−11、及び矢印XIII−12)。さらに、ロボット3は、移送ジョブ分割部15aにより分割されたジョブにより動作し、第1〜6のマイクロチューブをそれぞれサブラック5の下側であって左から1〜6番目の格納場所に移送する(矢印XIII−13、矢印XIII−14、矢印XIII−15、矢印XIII−16、矢印XIII−17、及び矢印XIII−18)。
さらに、図13Bに示すように、ロボット3は、配置ジョブ分割部13aにより分割されたジョブにより動作し、第7〜8のマイクロチューブをそれぞれサブラック5の上側であって左から1〜2番目の格納場所から移動させ、メインラック7の第1列7aであって左から1〜2番目の格納場所に配置する(矢印XIII−19、及び矢印XIII−20)。そして、ロボット3は、処理ジョブ分割部14aにより分割されたジョブにより動作し、第7〜8のマイクロチューブに対して処理Aを繰り返し行う(矢印XIII−21、及び矢印XIII−22)。さらに、ロボット3は、移送ジョブ分割部15aにより分割されたジョブにより動作し、第7〜8のマイクロチューブをそれぞれサブラック5の上側であって左から1〜2番目の格納場所に移送する(矢印XIII−23、及び矢印XIII−24)。
以上のように、本実施形態に係る動作指令生成装置1は、メインラック7の第1列7aに容器が収まりきらない場合に、容器が第1列7aに収まるように、容器のメインラック7の第1列7aへの配置、容器に対する処理、容器のサブラック5への移送のジョブをそれぞれ分割する。これにより、メインラック7の第1列7aに容器を配置して容器に対する処理を行うことで後述する移送処理との区別を明確化しつつ、複数の容器について同じ処理を繰り返し行う場合に効率的なジョブが生成される。
本実施形態に係る動作指令生成装置1は、図12に示すプロトコルチャートの第5の例に基づいて、図13A,Bに示すものと異なるジョブを生成することもできる。本実施形態に係る容器数抽出部17は、処理シンボル103に関連付けられた容器数を抽出する。本例の場合、既に述べたように容器数は8である。また、本実施形態に係る配置可否判断部19は、容器数抽出部17により抽出された容器数分の容器すべてがメインラック7の第1列7aに配置できるか否かを判断する。本例の場合、メインラック7の第1列7aには6つの格納場所がある。そのため、配置可否判断部19は、8つの容器すべてがメインラック7の第1列7aに配置できないと判断する。
配置ジョブ生成部13は、配置可否判断部19により、容器すべてがメインラック7の第1列7aに配置できないと判断される場合に、処理システム200に対して、少なくとも、第1列7aに配置しきれない容器を、退避場所であるサブラック5からメインラック7の第2列7bに配置させるジョブを生成する。具体的に、配置ジョブ生成部13は、ロボット3により、第1〜6のマイクロチューブを、それぞれメインラック7の第1列7aの左から1〜6番目の格納場所に配置する6つのジョブと、第7〜8のマイクロチューブを、それぞれメインラック7の第2列7bの左から1〜2番目の格納場所に配置する2つのジョブと、を生成する。
処理ジョブ生成部14は、処理シンボル103に基づいて、処理システム200に対して、メインラック7の第1列7a及び第2列7bにおいて容器に対する処理を行わせるジョブを生成する。具体的に、処理ジョブ生成部14は、ロボット3により、第1〜8のマイクロチューブそれぞれについて、メインラック7において処理Aを繰り返す8つのジョブを生成する。
移送ジョブ生成部15は、処理システム200に対して、処理シンボル103の表す処理が行われた後に容器をメインラック7の第1列7a及び第2列7bから退避場所であるサブラック5に移送させるジョブを生成する。具体的に、移送ジョブ生成部15は、ロボット3により、第1〜6のマイクロチューブを、それぞれサブラック5の下側であって左から1〜6番目の格納場所に移送する6つのジョブと、第7〜8のマイクロチューブを、それぞれサブラック5の上側であって左から1〜2番目の格納場所に移送する2つのジョブと、を生成する。
以上のように、本実施形態に係る動作指令生成装置1は、メインラック7の第1列7aに容器が収まりきらない場合に、メインラック7の第2列7bの格納場所を使用するジョブを生成することもできる。本実施形態に係る動作指令生成装置1の利用者は、メインラック7の第2列7bの格納場所を使用するジョブを生成することを選択することで、作業時間の短縮化等の作業効率向上を図ることができる。
図14は、本発明の実施形態に係る動作指令生成装置1により取得されるプロトコルチャートの第6の例を示す図である。また、図15は、プロトコルチャートの第6の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。第6の例のプロトコルチャートには、「Tube1」の初期シンボル100に接続された順序線102から、「Tube2」の初期シンボル100に接続された順序線102に向かって、移送シンボル105が配置されている。移送シンボル105は、容器に収容された処理対象を指定された量だけ移送する処理を表す。第6の例が示すプロトコルは、「Tube1」(第1のマイクロチューブ)に収容された処理対象100μlを、「Tube2」(第2のマイクロチューブ)に移送し、それぞれのマイクロチューブを4℃の恒温槽に保管することを表す。
移送処理を行う場合には、移送元容器をメインラック7の移送元範囲(本例では第1列7a)に配置し、移送先容器をメインラック7の移送先範囲(本例では第2列7b)であって移送元容器と対応する位置に配置して処理対象の移送を行う。移送元容器と移送先容器とが一対一に対応するように配置することで、ロボット3の動作を確認する者が、移送元と移送先の容器を取り違えるミスを抑止することができる。本例では、説明を簡明にするため1つの容器から1つの容器に処理対象を移送する場合を示すが、移送元容器の数と移送先容器の数は2以上であってもよい。また、移送元容器の数と移送先容器の数は一致しなくてもよい。移送元容器の数と移送先容器の数が一致しない場合、移送元容器と移送先容器とは、多対1、1対多、又は多対多に対応するように配置される。そのような場合であっても、移送元容器をメインラック7の第1列7aに配置し、移送先容器をメインラック7の第2列7bに配置する。なお、本例では、メインラック7の第1の範囲と移送元範囲とを同じ範囲とし、メインラック7の第2の範囲と移送先範囲とを同じ範囲としている。しかし、メインラック7の第1の範囲と移送元範囲、及びメインラック7の第2の範囲と移送先範囲は一致していなくともよい。もっとも、両者は一致するように設定されるのが通常であるから、一致するように設定することで、人がロボット3の動作を観察した時にプロトコルが理解しやすくなると考えられる。
容器準備ジョブ生成部20は、処理システム200に対し、処理対象を収容した第1の容器を移送元範囲であるメインラック7の第1列7aに配置させ、第2の容器を移送先範囲であるメインラック7の第2列7bに配置させるジョブを生成する。具体的に、容器準備ジョブ生成部20は、ロボット3により、第1のマイクロチューブをメインラック7の第1列7aのうち最も左側の格納場所に配置するジョブを生成し、第2のマイクロチューブをメインラック7の第2列7bのうち最も左側の格納場所に配置するジョブを生成する。
移送ジョブ生成部21は、プロトコルチャートに含まれる移送シンボル105に基づいて、処理システム200に対し、第1の容器である第1のマイクロチューブから第2の容器である第2のマイクロチューブに処理対象を移送させるジョブを生成する。具体的に、移送ジョブ生成部21は、ロボット3により、第1のマイクロチューブに収容された処理対象をピペット4により100μl吸い上げ、第2のマイクロチューブに移送するジョブを生成する。
容器移送ジョブ生成部22は、処理システム200に対して、移送処理の後に行われるジョブであって、第1の容器である第1のマイクロチューブをメインラック7の第1列7aから退避場所であるサブラック5の左下の格納場所に移送させるジョブを生成し、第2の容器である第2のマイクロチューブをメインラック7の第2列7bから退避場所であるサブラック5の下側であって左から2番目の格納場所に移送させるジョブを生成する。具体的に、容器移送ジョブ生成部22は、ロボット3により、第1のマイクロチューブをサブラック5の左下の格納場所に移送するジョブを生成し、第2のマイクロチューブをサブラック5の下側であって左から2番目の格納場所に移送するジョブを生成する。
図15に示すように、当初、第1のマイクロチューブはサブラック5の左下の格納場所に配置され、第2のマイクロチューブはサブラック5の下側であって左から2番目の格納場所に配置されている。ロボット3は、容器準備ジョブ生成部20により生成されたジョブにより動作し、第1のマイクロチューブをサブラック5の左下の格納場所から移動させ、メインラック7の第1列7aの最も左側の格納場所に配置し(矢印XV−1)、第2のマイクロチューブをサブラック5の下側であって左から2番目の格納場所から移動させ、メインラック7の第2列7bの最も左側の格納場所に配置する(矢印XV−2)。そして、ロボット3は、移送ジョブ生成部21により生成されたジョブにより動作し、第1のマイクロチューブから第2のマイクロチューブに処理対象を移送する処理を行う(矢印XV−3)。さらに、ロボット3は、容器移送ジョブ生成部22により生成されたジョブにより動作し、第1のマイクロチューブをサブラック5の左下の格納場所に移送し(矢印XV−4)、第2のマイクロチューブをサブラック5の下側であって左から2番目の格納場所に移送する(矢印XV−5)。
以上のように、本実施形態に係る動作指令生成装置1によれば、メインラック7の第1列7aに配置された容器から第2列7bに配置された容器へ処理対象を移送するというジョブが自動的に生成される。従って、人がロボット3により実行される移送処理を観察する時、移送元容器と移送先容器とが対応していることを容易に確認でき、プロトコルの理解が容易となり、また容器を取り違えることが防止される。
図16は、本実施形態に係る動作指令作成装置1により取得されるプロトコルチャートの第7の例を示す図である。また、図17は、プロトコルチャートの第7の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。第7の例が示すプロトコルは、マイクロチューブについて、処理シンボル103において「VORTEX」と表された撹拌機8により、「MIX」と表された撹拌処理を行い、当該マイクロチューブを4℃の恒温槽に保管することを表す。ここで、撹拌機8のような周辺機器を用いる処理を行う場合、処理対象を収容した容器をメインラック7から周辺機器に移動させて処理を行う準備を行い、容器に対して周辺機器を用いた処理を行い、処理後に容器を周辺機器からメインラック7に退避させるという一連の動作を行うことにより、コンタミネーション等が防止される。また、1つの容器について周辺機器を用いた処理を行うことにより、ロボット3の動作を人が観察する場合にプロトコルが理解しやすくなる。
機器配置ジョブ生成部14bは、処理システム200に対して、処理シンボル103が表す処理の前に行われるジョブであって、容器を作業場所であるメインラック7から周辺機器である撹拌機8に配置させるジョブを生成する。具体的に、機器配置ジョブ生成部14bは、ロボット3により、マイクロチューブ6をメインラック7から撹拌機8に配置して、撹拌機8を始動させて、撹拌機8による処理を行う準備をするジョブを生成する。
機器処理ジョブ生成部14cは、処理シンボル103に基づいて、処理システム200に対して、容器に対して周辺機器である撹拌機8を用いた処理をさせるジョブを生成する。具体的に、機器処理ジョブ生成部14cは、ロボット3により、マイクロチューブ6に対して撹拌機8を用いた撹拌処理を行うジョブを生成する。なお、プロトコルチャートにおいて撹拌処理を行う時間が指定される場合、当該指定時間に従った撹拌処理を行うジョブを生成する。
機器移送ジョブ生成部14dは、処理シンボルが表す処理が、少なくとも同一の容器に対する処理でない場合に、処理システム200に対して、処理シンボル103の表す処理が行われた後に容器を周辺機器から作業場所であるメインラック7に移送させるジョブを生成する。具体的に、機器移送ジョブ生成部14dは、ロボット3により、マイクロチューブ6を撹拌機8からメインラック7の格納場所のうち、マイクロチューブ6が当初格納されていた格納場所に移送するジョブを生成する。
図17に示すように、はじめに、マイクロチューブ6はメインラック7の左下の格納場所に配置されている。ロボット3は、機器配置ジョブ生成部14bにより生成されたジョブにより動作し、マイクロチューブ6をメインラック7の左下の格納場所から撹拌機8に配置する(矢印XVII−1)。そして、ロボット3は、機器処理ジョブ生成部14cにより生成されたジョブにより動作し、マイクロチューブ6に対して撹拌機8を用いた撹拌処理を行う(矢印XVII−2)。さらに、ロボット3は、機器移送ジョブ生成部14dにより生成されたジョブにより動作し、マイクロチューブ6を撹拌機8からメインラック7の左下の格納場所に移送する(矢印XVII−3)。
以上のように、本実施形態に係る動作指令生成装置1は、処理シンボルが周辺機器を用いた処理を表す場合、作業場所から周辺機器に容器を配置して、周辺機器を用いた処理を行い、少なくとも異なる容器に対する処理が後に行われる場合に、容器を作業場所に移送するジョブを生成する。これにより、周辺機器に異なる容器が配置されないこととなり、コンタミネーションが防止される。また、人によるロボット3の動作の追跡が容易となり、ロボット3がコンタミネーションを防止するように動作していることが容易に確認できる。
図18は、本実施形態に係る動作指令作成装置1により取得されるプロトコルチャートの第8の例を示す図である。また、図19は、プロトコルチャートの第8の例に基づいて生成されるジョブにおけるロボット3の動作を説明する図である。第8の例が示すプロトコルは、マイクロチューブについて、1つ目の処理シンボル103において「VORTEX」と表された撹拌機8により、「MIX」と表された撹拌処理を行い、続いて2つ目の処理シンボル103において「CENTRIFUGE」と表された遠心分離処理を遠心分離器9により10分間(「10 [min]」)行い、当該マイクロチューブを4℃の恒温槽に保管することを表す。ここで、第1及び第2の周辺機器を用いた処理を行う場合、容器を第1の周辺機器から第2の周辺機器へ直接移送することで作業時間が短縮化されると考えられる。
機器配置ジョブ生成部14bは、処理システム200に対して、1つ目の処理シンボル103が表す処理の前に行わせるジョブであって、容器を作業場所であるメインラック7から移動させ、第1の周辺機器である撹拌機8に配置させるジョブを生成する。具体的に、機器準備ジョブ生成部14bは、ロボット3により、マイクロチューブ6をメインラック7から撹拌機8に配置し、撹拌機8を始動させて、撹拌機8による処理を行う準備をするジョブを生成する。
機器処理ジョブ生成部14cは、処理シンボル103に基づいて、処理システム200に対して、容器に対して第1の周辺機器である撹拌機8を用いた処理をさせるジョブを生成する。具体的に、機器処理ジョブ生成部14cは、ロボット3により、マイクロチューブ6に対して撹拌機8を用いた撹拌処理を行うジョブを生成する。また、機器処理ジョブ生成部14cは、処理シンボル103に基づいて、処理システム200に対して、容器に対して第2の周辺機器である遠心分離器9を用いた処理をさせるジョブを生成する。具体的に、機器処理ジョブ生成部14cは、ロボット3により、マイクロチューブ6に対して遠心分離器9を用いた遠心分離処理を行うジョブを生成する。
機器間移送ジョブ生成部14eは、処理システム200に対して、複数の処理シンボル103が表す第1の周辺機器である撹拌機8及び第2の周辺機器である遠心分離器9を用いた処理の間に行わせるジョブであって、容器を第1の周辺機器である撹拌機8から第2の周辺機器である遠心分離器9に移送させるジョブを生成する。具体的に、機器間移送ジョブ生成部14eは、ロボット3により、撹拌機8を用いた処理と遠心分離器9を用いた処理との間に、容器を撹拌機8から遠心分離器9に移送するジョブを生成する。
機器移送ジョブ生成部14dは、処理システム200に対して、2つ目の処理シンボル103が表す処理の後に行わせるジョブであって、容器を第2の周辺機器である遠心分離器9から作業場所であるメインラック7に移送させるジョブを生成する。具体的に、機器退避ジョブ生成部14dは、ロボット3により、マイクロチューブ6を遠心分離器9からメインラック7の格納場所のうち、マイクロチューブ6が当初格納されていた格納場所に移送するジョブを生成する。
図19に示すように、はじめに、マイクロチューブ6はメインラック7の左下の格納場所に配置されている。ロボット3は、機器配置ジョブ生成部14bにより生成されたジョブにより動作し、マイクロチューブ6をメインラック7の左下の格納場所から移動させ、撹拌機8に配置する(矢印XIX−1)。そして、ロボット3は、機器処理ジョブ生成部14cにより生成されたジョブにより動作し、マイクロチューブ6に対して撹拌機8を用いた撹拌処理を行う(矢印XIX−2)。その後、ロボット3は、機器間移送ジョブ生成部14eにより生成されたジョブにより動作し、マイクロチューブ6を撹拌機8から遠心分離器9に移送する(矢印XIX−3c)。そして、ロボット3は、機器処理ジョブ生成部14cにより生成されたジョブにより動作し、マイクロチューブ6に対して遠心分離器9を用いた遠心分離処理を行う(矢印XIX−4)。さらに、ロボット3は、機器移送ジョブ生成部14dにより生成されたジョブにより動作し、マイクロチューブ6を遠心分離器9からメインラック7の左下の格納場所に移送する(矢印XIX−5)。
破線で示された矢印XIX−3a、及び矢印XIX−3bは、機器を用いた処理ごとに容器をメインラック7に移送する場合のロボット3の動作を示している。その場合、ロボット3は、撹拌機8による撹拌処理(矢印XIX−2)を終えた後、マイクロチューブ6を撹拌機8からメインラック7の左下の格納場所に移送し(矢印XIX−3a)、マイクロチューブ6をメインラック7から遠心分離器9に配置する(矢印XIX−3b)。撹拌機8から遠心分離器9へ容器を直接移送する場合と、容器を一旦メインラック7に退避させる場合とで、行われる処理の内容に変化はない。しかし、容器を直接移送する場合の方が作業時間は短くなる。動作指令生成装置1の利用者は、作業時間を優先するか、周辺機器を用いた処理ごとに容器をメインラック7に戻すという原則通りの動作を行わせるか、いずれかを選択できることとしてもよい。
以上のように、本実施形態に係る動作指令生成装置1は、複数の処理シンボルが第1及び第2の周辺機器を用いた処理を表す場合、第1の周辺機器を用いた処理の後、容器を第1の周辺機器から第2の周辺機器へ移送するジョブを生成することができる。これにより、周辺機器を用いた処理ごとに容器をメインラック7に退避させる場合よりも、作業時間が短縮したジョブを生成することができる。
図20は、本実施形態に係る動作指令生成部12の動作を示す第1のフローチャートである。
動作指令生成部12は、まず、ステップST10にてプロトコルチャート取得部11により取得されたプロトコルチャートを読み込む。その後、ステップST11にて、読み込んだプロトコルチャートに処理シンボル又は移送シンボルのいずれが記載されているかを判断する。プロトコルチャートは容器に対する処理を記述するものであるから、プロトコルチャートには処理シンボル又は移送シンボルのいずれか一方が記載されており、いずれも記載されていないプロトコルチャートは何らのプロトコルをも表さないものである。従って、プロトコルチャートに処理シンボル又は移送シンボルのいずれも記載されていない場合には、エラー表示をしてもよい。なお、プロトコルチャートに処理シンボル及び移送シンボルの両方が記載されている場合、順序線に従って順に読み込むこととする。また、処理シンボル、及び移送シンボルは複数記載されていてもよい。
プロトコルチャートに処理シンボルが記載されている場合、ステップST12にて、当該処理シンボルは周辺機器を用いた処理を表すか否かが判断される。仮に、処理シンボルが周辺機器を用いた処理を表す場合、ST13にて、当該処理シンボルに容器数シンボルが関連付けられているか否かが判断される。
処理シンボルに容器数シンボルが関連付けられていない場合(処理シンボルが単一の容器に対する処理を表す場合)、ステップST14にて、同一容器判断部16により、処理シンボルは同一の容器に対する処理を表すか否かが判断される。ここで、処理シンボルが1つしか無い場合には、処理シンボルは同一の容器に対する処理であると直ちに判断できる。一方、処理シンボルが複数ある場合には、同一容器判断部16による判断が必要となる。
同一容器判断部16により、1又は複数の処理シンボルが、同一の容器に対するものであると判断される場合、ステップST15にて、配置ジョブ生成部13により、容器をメインラック7に配置するジョブが少なくとも1つ生成される。また、ステップST16にて、処理ジョブ生成部14により、容器に対する処理をするジョブが生成される。ここで、処理シンボルが複数ある場合には、容器に対して連続して処理を行うジョブが生成される。さらに、ステップST17にて、移送ジョブ生成部15により、少なくとも異なる容器に対する処理を行う前に、容器をサブラック5に移送するジョブが生成される。
ステップST14にて、同一容器判断部16により、複数の処理シンボルが同一の容器に対するものでないと判断される場合、ステップST18にて、配置ジョブ生成部13により、容器をメインラック7に配置するジョブが容器ごとに生成される。また、ステップST19にて、処理ジョブ生成部14により、容器に対する処理をするジョブが容器ごとに生成される。ここで、同一の容器について複数の処理シンボルが記載されている場合には、当該容器に対して連続して処理を行うジョブが生成されてもよい。さらに、ステップST20にて、移送ジョブ生成部15により、容器をサブラック5に移送するジョブが容器ごとに生成される。
図21は、本実施形態に係る動作指令生成部12の動作を示す第2のフローチャートである。第2のフローチャートは、図20に示したステップST11にて、プロトコルチャートに移送シンボルが記載されていると判断される場合に行われる処理を示すものである。
動作指令生成部12は、まず、ステップST30にて、移送配置ジョブ生成部20により、第1の容器をメインラック7の第1列7aに配置し、第2の容器をメインラック7の第2列7bに配置するジョブが生成される。また、ステップST31にて、移送ジョブ生成部21により、第1の容器から第2の容器に処理対象を移送するジョブが生成される。さらに、ステップST32にて、容器移送ジョブ生成部22により、第1及び第2の容器をサブラック5に移送するジョブが生成される。
図22は、本実施形態に係る動作指令生成部12の動作を示す第3のフローチャートである。第3のフローチャートは、図20に示したステップST12にて、処理シンボルが周辺機器を用いた処理を表すと判断される場合に行われる処理を示すものである。
動作指令生成部12は、まず、ステップST40にて、処理シンボルが表す処理が、複数の周辺機器を用いるものであるか否かを判断する。仮に、処理シンボルが表す処理が、複数の周辺機器を用いるものであった場合、ステップST41にて、作業時間の短縮化を優先するか否かが判断される。仮に、作業時間の短縮化を優先しない場合(周辺機器を用いた処理ごとに容器をメインラック7に戻すという原則通りの動作を行わせる場合)、ステップST42にて、機器配置ジョブ生成部14bにより、容器をメインラック7から周辺機器に配置するジョブが生成される。また、ステップST43にて、機器処理ジョブ生成部14cにより、容器に対して周辺機器を用いた処理を行うジョブが生成される。さらに、ステップST44にて、機器移送ジョブ生成部14dにより、容器を周辺機器からメインラック7に移送するジョブが生成される。そして、ステップST45にて、複数機器を用いる処理を表す処理シンボルが全てジョブ化されたか否かが判断される。ジョブ化されていない処理シンボルが残っている場合、ステップST42〜44の処理を繰り返す。ジョブ化されていない処理シンボルが無い場合、動作指令生成部12による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。
ステップST40にて、処理シンボルが表す処理が、複数の周辺機器を用いるものでないと判断された場合、ステップST42〜44の処理が行われ、動作指令生成部12による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。
ステップST40にて、処理シンボルが表す処理が、複数の周辺機器を用いるものであると判断され、かつ、ステップST41にて、作業時間の短縮化を優先すると判断される場合、ステップST46にて、機器配置ジョブ生成部14bにより、容器をメインラック7から周辺機器に配置するジョブが生成される。また、ステップST47にて、機器処理ジョブ生成部14cにより、容器に対して周辺機器を用いた処理を行うジョブが生成される。さらに、ステップST48にて、複数機器を用いる処理を表す処理シンボルが全てジョブ化されたか否かが判断される。ジョブ化されていない処理シンボルが残っている場合、ステップST49にて、機器間移送ジョブ生成部14eにより、容器を直前の処理が行われた周辺機器から次の処理を行う周辺機器へ移送するジョブが生成される。そして、ステップST47及びステップST48の処理を繰り返す。ステップST48にて、ジョブ化されていない処理シンボルが無いと判断される場合、ステップST48にて、機器移送ジョブ生成部14dにより、容器を周辺機器からメインラック7に移送するジョブが生成される。その後、動作指令生成部12による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。
図23は、本実施形態に係る動作指令生成部12の動作を示す第4のフローチャートである。第4のフローチャートは、図20に示したステップST13にて、処理シンボルに容器数シンボルが関連付けられている場合に行われる処理を示すものである。
動作指令生成部12は、まず、ステップST60にて、配置可否判断部19により、容器数抽出部により抽出された容器数分の容器すべてがメインラック7の第1列7aに配置できるか否かが判断される。すべての容器が第1列7aに配置できると判断される場合、ステップST61にて、配置設定部18により、第1列7aにおける容器の配置が重複無く設定される。そして、ステップST62にて、配置ジョブ生成部13により、配置設定部18の設定に基づき、すべての容器をメインラック7の第1列7aに配置するジョブが生成される。続いて、ステップST63にて、処理ジョブ生成部14により、すべての容器に対して、処理シンボルが表す処理を繰り返すジョブが生成される。さらに、ステップST64にて、移送ジョブ生成部15により、すべての容器をサブラック5に移送するジョブが生成される。その後、動作指令生成装置1による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。
ステップST60にて、配置可否判断部19により、容器数抽出部により抽出された容器数分の容器すべてがメインラック7の第1列7aに配置できないと判断される場合、ステップST65にて、メインラック7の第2列7bに容器を格納するか否かが判断される。メインラック7の第2列7bに容器を格納しない場合、ステップST66にて、配置設定部18により、第1列7aにおける容器の配置が重複無く設定され、第1列7aに一度に配置できない容器についても、第1列7aにおける配置が重複無く設定される。そして、ステップST67にて、配置ジョブ生成部13及び配置ジョブ分割部13aにより、配置設定部18の設定に基づき、メインラック7の第1列7aに格納できる数の容器を、メインラック7の第1列7aに配置するジョブが2以上生成される。続いて、ステップST68にて、処理ジョブ生成部14及び処理ジョブ分割部14aにより、メインラック7の第1列7aに格納できる数の容器に対して、処理シンボルが表す処理を繰り返すジョブが2以上生成される。さらに、ステップST69にて、移送ジョブ生成部15及び移送ジョブ分割部15aにより、メインラック7の第1列7aに格納できる数の容器をサブラック5に移送するジョブが2以上生成される。その後、動作指令生成装置1による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。
ステップST65にて、メインラック7の第2列7bに容器を格納すると判断される場合、ステップST70にて、配置設定部18により、第1列7aにおける容器の配置、及び第2列7bにおける容器の配置が重複無く設定される。そして、ステップST71にて、配置ジョブ生成部13により、配置設定部18の設定に基づき、すべての容器をメインラック7の第1列7a及び第2列7bに配置するジョブが生成される。続いて、ステップST63にて、処理ジョブ生成部14により、すべての容器に対して、処理シンボルが表す処理を繰り返すジョブが生成される。さらに、ステップST64にて、移送ジョブ生成部15により、すべての容器をサブラック5に退避するジョブが生成される。その後、動作指令生成装置1による処理は終了する。なお、プロトコルチャートに記載された処理シンボル等を順序線に沿って順次ジョブ化していく場合、図20に示すフローに戻ることとしてよい。また、仮にすべての容器がメインラック7の第1列7a及び第2列7bを使用しても格納できないと判断される場合、配置ジョブ分割部13a、処理ジョブ分割部14a及び移送ジョブ分割部15aは、それぞれ容器の配置ジョブ、容器対して処理をするジョブ、及び容器の移送ジョブを2以上に分割してもよい。
以上説明した実施形態の構成は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成そのものに限定することは意図されていない。当業者はこれら開示された実施形態に種々の変形、例えば、機能や操作方法の変更や追加等を加えてもよく、また、第1〜4のフローチャートに示した制御は、同等の機能を奏する他の制御に置き換えてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。