本発明の発明者の知見によれば、生化学、生物・生命工学における実験においては、実験者の技量に依存する部分が大きいため、得られた結果が実験者の技量に依存するのか、その他の要因に依存するのか判別が難しく、客観的な検証の妨げとなる。そこで、発明者は、ロボットを含む処理システムを用いて実験を実施することで、人為的要因を排除することを検討している。
プロトコルに基づく実験をロボットに行わせるためには、多様な動作をロボットに行わせる必要がある。そのため、例えば、ロボットの動作をモジュール化し、モジュールを組み合わせることで、ロボットに対する動作指令を自動的に生成することが考えられる。しかしながら、モジュールを単純に組み合わせただけでは、特定の動作を行わせたい場合に、必ずしも必要とされない汎用的な動作が挿入される場合があり、ロボットの動作が冗長となり、実験の実行時間が長くなる場合がある。
そこで、本発明者は、プロトコルに基づく実験をロボットに行わせる動作指令を自動的に生成することについて鋭意研究開発を行い、新規かつ独創的な処理システム等を発明するに至った。以下、係る処理システム等について、実施形態を例示して説明する。
図1は、本発明の実施形態に係る処理システム200の物理的な構成を示す概略図である。処理システム200は、プロトコルを図示したプロトコルチャートに基づき、ロボット3の動作指令を生成する動作指令生成装置1と、生成された動作指令に基づき、ロボット3を制御するロボット制御装置2と、ロボット制御装置2により制御され、実験を実行するロボット3とを含む。動作指令生成装置1自体は、専用の機器であってもよいが、ここでは一般的なコンピュータを使用して実現されている。すなわち、市販のコンピュータにおいて、当該コンピュータを動作指令生成装置1として動作させるコンピュータプログラムを実行することによりかかるコンピュータを動作指令生成装置1として使用する。かかるコンピュータプログラムは、一般にアプリケーションソフトウェアの形で提供され、コンピュータにインストールされて使用される。当該アプリケーションソフトウェアは、CD−ROMやDVD−ROMその他のコンピュータ読み取り可能な適宜の情報記録媒体に記録されて提供されてよく、また、インターネット等の各種の情報通信ネットワークを通じて提供されてもよい。あるいは、情報通信ネットワークを通じて遠隔地にあるサーバによりその機能が提供される、いわゆるクラウドコンピューティングにより実現されてもよい。また、ロボット制御装置2は、ここではロボット3と一体となって、又は別体に設けられており、動作指令生成装置1により生成された動作指令に基づいて、ロボット3に所望の動作を実行させる。
ロボット3は、多関節ロボットであり、処理対象に対する処理を行う。ロボット3は、アームによりピペットラック10に収容されたピペット4を把持し操作する等、図示しあるいは図示しない実験器具を操作し、また、チューブラック5に格納されたマイクロチューブ6を把持し、マイクロチューブ6をチューブラック5からボルテックスミキサー11や遠心分離器12等へ移動させるなど、図示しあるいは図示しない各種容器を移動させることができる。本実施形態では、ロボット3は、ピペット4を用いて薬液を吸引又は注入する場合、チップラック7に用意されたチップ8をピペット4の先端に装着して作業を行う。チップ8は、原則として使い捨てされるものであり、使用済みのチップ8は、ダストボックス9に廃棄される。図1に示す例では、容量の異なる3種類のピペット4(第1〜3のピペット4)がピペットラック10に用意されており、そのうちの一本をロボット3が把持している。また、処理システム200には、ボルテックスミキサー11と、遠心分離器12等が含まれるが、これらは実験を行う場合に用いられる器具の一例であり、これらの器具に加えて又は換えて、他の器具が含まれてもよい。例えば、処理システム200には、ペトリ皿を保管するラックや、マグネットラック等が含まれてもよい。また、ロボット3は図示した形態のものに限られず、単腕型ロボット等であってもよい。
図1には、処理システム200において設定される基準点として、第1中間基準点210、第2中間基準点211、ピペットオフセット基準点220、チップ装着オフセット基準点221、チューブオフセット基準点222、遠心オフセット基準点223及びボルテックス作業点235が示されている。本実施形態に係る動作指令生成装置1は、ロボット3の動作を指示するためこれらの基準点を用いる。図2は、本発明の実施形態に係る処理システム200において設定される基準点を示す概念図である。図2では、基準点と、基準点間をつなぐアームの動きを模式的に表した矢線とを示している。基準点は、4つのクラスに分類することができる。第1のクラスは、ジョブに依存しない基準点のクラスであり、第0基準点(原点)201がこのクラスに属する。図1に示すロボット3の姿勢は、原点201におけるものである。原点201は、実験を開始する前と終了した後に用いられる基準点であり、緊急の退避位置としても用いられる。
基準点の第2のクラスは、複数のジョブに属する基準点であり、本実施形態では、第1中間基準点210及び第2中間基準点211がこのクラスに属する。第1中間基準点210は、チューブラック5に関するジョブと、チップラック7に関するジョブと、ダストボックス9に関するジョブとに属する。また、第2中間基準点211は、ボルテックスミキサー11に関するジョブと、遠心分離器12に関するジョブとに属する。
基準点の第3のクラスは、ロボット3のアームを移動させる場合のオフセットの基点となる基準点であり、本実施形態では、ピペットオフセット基準点220、チップ装着オフセット基準点221、チューブオフセット基準点222及び遠心オフセット基準点223がこのクラスに属する。ここで、ピペットオフセット基準点220、チップ装着オフセット基準点221、チューブオフセット基準点222は、ピペット4をオフセットして移動する場合の基準点である。また、遠心オフセット基準点223は、マイクロチューブ6をオフセットして移動し、遠心分離器12に収容する場合の基準点である。なお、ロボット3のアームをオフセットして移動させる動作の詳細については後述する。
基準点の第4のクラスは、ロボット3のアームを用いた作業を行う位置を表す基準点であり、本実施形態では、ピペットラック第1作業点230〜ピペットラック第3作業点、チップラック第1作業点231〜チップラック第18作業点、廃棄作業点232、チューブラック第1作業点233a〜チューブラック第12作業点233l、遠心分離器第1作業点234〜遠心分離器第12作業点及びボルテックス作業点235である。ここで、廃棄作業点232は、チップ8をダストボックス9に廃棄する場合の作業点であり、図1に図示するようにダストボックス9の直上に位置する。図3は、本発明の実施形態に係る処理システム200において設定されるチューブラック第1作業点233a〜チューブラック第12作業点233lを示す平面図である。図3では、ロボット3側から見た場合のチューブラック5を示している。チューブラック5の手前には、第1中間基準点210とチューブオフセット基準点222が位置する。チューブラック第1作業点233a〜チューブラック第12作業点233lは、それぞれチューブラック5のマイクロチューブ6を収容する位置に設定される。ロボット3は、ピペット4を用いてマイクロチューブ6に薬液を注入等する場合、チューブラック第1作業点233a等にピペット4を把持したアームを移動させて作業を行う。
図2及び3に示す矢線により表される基準点間をつなぐロボット3のアームの移動は、アームと実験器具等との間に干渉が起こらないことが確認され、安全性が確保された経路を通って行われる。このように、ロボット3に処理を行わせる場合に、安全性が保証された移動経路を用いることで、アームと実験器具等との干渉を防止することができる。図2及び3に示す矢線のうち、中間基準点とオフセット基準点をつなぐ矢線により表されるロボット3のアームの移動を行わせるジョブを、接続ジョブCoと称する。例えば、第1中間基準点210からチューブオフセット基準点222へロボット3のアームを移動させるジョブは、接続ジョブCoである。また、オフセット基準点を基点としてアームをオフセットして移動させて同種類のジョブを繰返し行うジョブを、オフセットジョブOfと称する。例えば、チューブオフセット基準点222をオフセット動作の基点として、ロボット3のアームをオフセットして移動させて、チューブラック第1作業点233a、チューブラック第2作業点233b等において薬液を注入するジョブを繰返し行うジョブは、オフセットジョブOfである。さらに、図2では、第1中間基準点210と第2中間基準点211とをつなぐ第1レベルつなぎジョブIと、第1中間基準点210とピペットオフセット基準点220とをつなぐ第2レベルつなぎジョブIIと、チューブオフセット基準点222と遠心オフセット基準点223とをつなぐ第3レベルつなぎジョブIIIと、を表す矢線を示している。これらのつなぎジョブについては、後に詳細に説明する。
図4は、本発明の実施形態に係る動作指令生成装置1の物理的な構成を示す構成ブロック図である。図4に示した構成は、動作指令生成装置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が外部の機器と情報をやり取りするためのインタフェースである。
図5は、本実施形態に係る動作指令生成装置1の機能ブロック図である。なお、ここで示した機能ブロックは、動作指令生成装置1が有する機能に着目して示したものであり、必ずしも各機能ブロックに1対1に対応する物理的構成が存在することを要しない。いくらかの機能ブロックは動作指令生成装置1のCPU1a等の情報処理装置が特定のソフトウェアを実行することにより実現され、またいくらかの機能ブロックは動作指令生成装置1のRAM1b等の情報記憶装置に特定の記憶領域が割り当てられることにより実現されてよい。
動作指令生成装置1は、ユーザからの各種の入力を受け付ける入力部20と、プロトコルを図示したプロトコルチャートを取得するプロトコルチャート取得部21とを有する。なお、プロトコルチャートについては後述する。また、動作指令生成装置1は、入力部20により受けつけられた入力、及びプロトコルチャート取得部21により取得されたプロトコルチャートに基づいて動作指令を生成する動作指令生成部22を有する。さらに、動作指令生成装置1は、生成中及び生成された動作指令の電子データを記憶する動作指令記憶部30と、動作指令記憶部30に記憶された動作指令の電子データを成形しモニタ1hに表示する動作指令表示部32と、生成された動作指令をロボットが読み取り可能な形式の電子ファイルとして出力する動作指令出力部31とを有する。
入力部20は、通常は図3に示した入力デバイス1eにより構成されるが、動作指令生成装置1がクラウドコンピューティングに用いられるアプリケーションサーバである場合には、遠隔地にある端末上でのユーザの操作情報が入力されるI/O1fが該当することになる。
外部記憶装置1cは、動作指令生成装置1の記憶部であり、処理ジョブ記憶部1ca、つなぎジョブ記憶部1cb、中間基準点記憶部1cc、オフセット基準点記憶部1cd及び作業点記憶部1ceを含む。処理ジョブ記憶部1caは、後述するプロトコルチャートに表される処理シンボルに対応する1以上のジョブ等を記憶する。つなぎジョブ記憶部1cbは、第1の処理シンボルに対応する1以上のジョブと、第2の処理シンボルに対応する1以上のジョブとの間をつなぐアームの移動を行う1以上のジョブを記憶する。中間基準点記憶部1ccは、処理システム200において設定される1以上の中間基準点を記憶する。オフセット基準点記憶部1cdは、処理システム200において設定される1以上のオフセット基準点を記憶する。作業点記憶部1ceは、処理システム200において設定される1以上の作業点を記憶する。
動作指令生成部22には動作指令を生成するための種々の機能ブロックが含まれる。詳細は後ほど動作指令の生成手順を説明する際に合わせて説明するが、本実施形態に係る動作指令生成部22には、処理順番が決定された複数の処理シンボルと、外部記憶装置1cに記憶された1以上のジョブとに基づいて、2以上の処理シンボルのそれぞれに対応する1以上のジョブを生成する処理ジョブ生成部23が含まれる。また、動作指令生成部22には、処理順番が連続する2つの処理シンボルに関し、処理順番が先である処理シンボルに対応する1以上のジョブのうち最後に行われる第1のジョブに属する第1の基準点と、処理順番が後である処理シンボルに対応する1以上のジョブのうち最初に行われる第2のジョブに属する第2の基準点とに基づいて、第1の基準点から第2の基準点へと、アームを移動させるつなぎジョブを生成するつなぎジョブ生成部24が含まれる。
なお、本明細書において、動作指令とは、単一のジョブ又は複数のジョブが組み合わされたジョブの集合体であって、処理対象が収容される容器に対する一単位のものとして認識される処理を指示する指令をいうものとする。動作指令は、プロトコルチャートに表された個々のシンボルをロボットの単位動作であるジョブに変換し、変換されたジョブの実行順を加味しつつ統合することで生成される。
処理ジョブ生成部23には、ツール使用判断部23a、ツール把持ジョブ生成部23b、ツール解放ジョブ生成部23c、オフセットジョブ生成部23d及び接続ジョブ生成部23eが含まれる。ツール使用判断部23aは、処理順番が連続する2つの処理シンボルにそれぞれ対応する1以上のジョブにおけるツールの使用の要否を判断する。ここで、ツールとは、ロボット3のアームにより操作される実験器具であり、例えばピペット4である。ツール把持ジョブ生成部23bは、ツール使用判断部23aによりツールの使用が必要と判断される場合に、ツールを把持する1以上のジョブを生成する。ツール解放ジョブ生成部23cは、ツール使用判断部23aによりツールの使用が不要と判断される場合に、ツールを解放する1以上のジョブを生成する。オフセットジョブ生成部23dは、処理シンボルに対応する1以上のジョブのうちいずれかに属するオフセット基準点から、オフセットしてロボット3のアームを移動させて、1以上のジョブのうち少なくとも1つのジョブを生成する。接続ジョブ生成部23eは、処理シンボルに対応する1以上のジョブに含まれ、中間基準点からオフセット基準点又は作業点へロボット3のアームを移動させる1以上のジョブを生成する。
つなぎジョブ生成部24には、第1レベルつなぎジョブ生成部24a、第2レベルつなぎジョブ生成部24b及び第3レベルつなぎジョブ生成部24cが含まれる。第1レベルつなぎジョブ生成部24aは、複数のジョブに属する第1の基準点から、複数のジョブに属する第2の基準点へと、アームを移動させる第1レベルつなぎジョブIを生成する。第2レベルつなぎジョブ生成部24bは、ツールを把持する1以上のジョブ及びツールを解放する1以上のジョブのうち少なくともいずれか一方に属する第3の基準点から、複数のジョブに属する第1の基準点へと、アームを移動させるか、又は複数のジョブに属する第2の基準点から、第3の基準点へと、アームを移動させる第2レベルつなぎジョブIIを生成する第2レベルつなぎジョブを生成する。第3レベルつなぎジョブ生成部24cは、オフセットジョブに属する第1のオフセット基準点から、オフセットジョブに属する第2のオフセット基準点へと、アームを移動させる第3レベルつなぎジョブIIIを生成する。
図6は、本発明の実施形態に係る動作指令生成装置1に取得されるプロトコルチャートの第1の例を示す図である。本明細書において、プロトコルチャートとは、プロトコルを視覚的に理解し得る態様で図示したものをいい、プロトコルとは生化学や生物・生命工学等の分野において処理対象に対しなされる前処理等の作業手順及び条件を指すものとする。また、処理対象とは、同分野において実験の対象となる材料をさす。一般には、細胞やDNA等の生体組織の一部であることが多い。また、処理対象は一般に実験に特に適した器具、例えば、マイクロチューブ(遠枕管)、ペトリ皿(シャーレ)やマイクロプレート(マイクロタイタープレート)に収容されて実験に供されるが、本明細書で単に容器と言えば、実験における処理対象の収容に適したこれらの器具を指すものとする。また、便宜上、図6における上下方向を第1の方向と称し、第1の方向と交差する方向を第2の方向と称する。第1の方向と第2の方向との交差角度は必ずしも直角でなくともよいが、ここでは第1の方向と第2の方向は直交するものとする。そのため、第2の方向は図6における左右方向に向く。
本例のプロトコルチャートは、基本的には、処理対象を収容する容器の初期状態を示す初期シンボル100と、その容器の最終状態を示す最終シンボル101を第1の方向に並べ、両者を初期シンボル100から最終シンボル101に向かう順序線102で第1の方向に接続し、順序線102に沿って容器に対し行う個別の処理を示す処理シンボル103を配置したものである。図6に示す第1の例では、「Tube」と記載された初期シンボル100及び最終シンボル101と、両者を接続する順序線102に関連付けられた複数の処理シンボル103とが記載されている。ここで、順序線102は、処理が行われる順序を矢線で表している。また、初期シンボル100は、チューブラック5に配置されたマイクロチューブ6について処理を行うことを表し、最終シンボル101は、処理が行われたマイクロチューブ6をチューブラック5に戻すことを表す。
本例のプロトコルチャートには、順序線102から第2の方向に離間した位置に「ADD」と記載された処理シンボル103が連続して2つ配置されている。「ADD」と記載された2つの処理シンボル103は、それぞれ第2の方向に伸びる追加線104によって順序線102に接続され、マイクロチューブ6に薬液を追加する処理を表している。具体的に、初期シンボル100側に配置された処理シンボル103には、「solution A、500[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Aを500μl追加する1以上のジョブに対応する。また、最終シンボル101側に配置された処理シンボル103には、「solution B、500[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Bを500μl追加する1以上のジョブに対応する。
本実施形態に係る動作指令生成装置1は、順序線102によって処理順番が決定された複数の処理シンボル103と、処理ジョブ記憶部1caに記憶された1以上のジョブとに基づいて、2以上の処理シンボル103のそれぞれに対応する1以上のジョブを生成する。本例のプロトコルチャートの場合、動作指令生成装置1は、初期シンボル100側に配置された処理シンボル103に対応する1以上のジョブを先に実行し、最終シンボル101側に配置された処理シンボル103に対応する1以上のジョブを後に実行するように、ジョブを生成する。処理シンボル103に対応する1以上のジョブの生成は、処理ジョブ記憶部1caに記憶された薬液追加処理のジョブを読み出すことで行う。薬液追加処理のジョブは、主に、ピペット4にチップ8を装着するジョブ、ピペット4により薬液を吸引するジョブ、ピペット4によりマイクロチューブ6に薬液を注入するジョブ及びピペット4に装着されたチップ8をダストボックス9に廃棄するジョブで構成される。また、薬液追加処理のジョブを行う前にロボット3がピペット4を把持していない場合、薬液追加処理のジョブの先頭にピペット4を把持する1以上のジョブが挿入される。このようなツール使用の判断は、以下に説明するようにツール使用判断部23aにより行われる。
図7は、本発明の実施形態に係る動作指令生成装置1のツール使用判断部23aにおけるツール使用判断を示す第1のフローチャートである。ツール使用判断部23aは、はじめに、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブにおけるツールの使用の要否を判断する(ST100)。本例のプロトコルチャートの場合、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブとは、ピペット4を用いて薬液をマイクロチューブ6に注入するジョブであるから、ツールの使用が必要であると判断される。一方、ツールの使用が不要であると判断された場合、ツール使用判断部23aによる判断は終了する。
ツールの使用が必要と判断される場合(ST100においてYesの場合)、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方においてツールが使用されるか否かが判断される(ST101)。本例のプロトコルチャートの場合、連続する2つの処理シンボル103に対応する1以上のジョブの両方で、ツールであるピペット4を用いるから、ST101においてYesと判断される。一方、連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブ及び後に行われる1以上のジョブのいずれか一方のみでツールが使用される場合、ST101においてNoと判断され、「A」に進む。「A」以降のフローは次図において詳細に説明する。
連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方においてツールが使用されると判断された場合(ST101においてYesの場合)、ロボット3のアームにツールが把持済みであるか否かが判断される(ST102)。ST102においてNoと判断される場合、ツール把持ジョブ生成部23bにより、ツールを把持する1以上のジョブが生成される。ツール把持ジョブの生成は、処理ジョブ記憶部1caに記憶された1以上のジョブを読み出すことで行われてよい。生成されたツール把持ジョブは、連続する2つの処理シンボル103に対応する1以上のジョブのうち処理順番が先である1以上のジョブの先頭に挿入される。本例の場合、連続する2つの処理シンボル103に対応する1以上のジョブが行われる以前、ロボット3はいずれのツールも把持していないから、ST102においてNoと判断される。そして、ST103において、薬液Aを追加する1以上のジョブの先頭に、生成されたツール把持ジョブが挿入される。
ST103が行われた後、又はST102においてYesと判断された場合、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方において使用されるツールが異なるか否かが判断される(ST104)。使用されるツールが異ならない、すなわち使用されるツールが同じであると判断される場合、ツール使用判断部23aによる判断は終了する。本例の場合、薬液Aを500μl注入するジョブと、薬液Bを500μl注入するジョブとは、同一のピペット4により実行することができるため、使用するツールが同じであると判断される。
仮に、処理シンボル103に対応する1以上のジョブを、処理シンボル103の前後関係に依存しないように生成するなら、ツールを使用する1以上のジョブの先頭にツール把持ジョブを加え、末尾にツール解放ジョブを加えればよい。このようなジョブの構成を採用すると、ジョブの前後関係を判断せずに、処理シンボル103に対応する1以上のジョブを順序線102により決定される処理順番で並べることで、プロトコルチャートに基づいて動作指令を生成することができる。しかしながら、このようなジョブの構成を採用すると、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方において使用されるツールが同じである場合であっても、ツールを一旦解放し、再び同一のツールを把持するという冗長な動作を行うこととなり、実験時間が長くなる。本実施形態に係る動作指令生成装置1によれば、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方において使用されるツールが同じである場合、ツールの持ち直しが行われることがなく、ロボット3が冗長な動作を行うことが防止され、実験の実行時間が短縮される。
使用されるツールが異なると判断される場合(ST104においてYesの場合)、ツール解放ジョブ生成部23cは、処理順番が先である処理シンボル103に対応する1以上のジョブのうち最後に行われる第1のジョブとして第1のツールを解放する1以上のジョブを生成する。また、ツール把持ジョブ生成部23bは、処理順番が後である処理シンボル103に対応する1以上のジョブのうち最初に行われる第2のジョブとして第2のツールを把持する1以上の前記ジョブを生成する。すなわち、ツールの持ち替えジョブが生成され、挿入される(ST105)。ツールの持ち替えジョブについては、後に他のプロトコルチャートの例を示して詳細に説明する。
図8は、本発明の実施形態に係る動作指令生成装置1のツール使用判断部23aにおけるツール使用判断を示す第2のフローチャートである。図8のフローチャートは、図7のフローチャートのST101においてNoと判断された場合、すなわち、連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブ及び後に行われる1以上のジョブのいずれか一方のみでツールが使用されると判断された場合に行われる処理を表す。
この場合、はじめに、連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブにおいてツールが使用されるか否かが判断される(ST106)。連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブにおいてツールが使用されると判断される場合(ST106においてYesと判断される場合)、ロボット3のアームにツールが把持済みであるか否かが判断される(ST107)。ST107においてNoと判断される場合、ツール把持ジョブ生成部23bにより、ツール把持ジョブが生成されて、連続する2つの処理シンボル103に対応する1以上のジョブのうち処理順番が先である1以上のジョブの先頭に挿入される(ST108)。
ST108が行われた後、又はST107においてYesと判断された場合、ツール解放ジョブ生成部23cにより、ツール解放ジョブが生成されて、連続する2つの処理シンボル103に対応する1以上のジョブのうち処理順番が先である1以上のジョブの末尾に挿入される(ST109)。その後、ツール使用判断部23aによる判断は終了する。このような場合については、後に他のプロトコルチャートの例を示して詳細に説明する。
一方、ST106においてNoと判断される場合、ツールは、連続する2つの処理シンボル103に対応する1以上のジョブのうち、後に行われる1以上のジョブにおいて使用されるのであるから、ツール把持ジョブ生成部23bにより、ツール把持ジョブが生成されて、後に行われる1以上のジョブの先頭にツール把持ジョブが挿入される(ST110)。その後、ツール使用判断部23aによる判断は終了する。
図9は、プロトコルチャートの第1の例に基づいて生成される動作指令を示すフローチャートである。プロトコルチャートの第1の例に基づいて生成される動作指令は、4つのジョブの集合体から構成される。1つ目は、ツール把持ジョブ生成部23bにより生成されるツール把持ジョブであり、ST11〜ST13に表されるジョブである。2つ目は、初期シンボル100側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に薬液Aを注入するジョブである(ST14)。3つ目は、最終シンボル101側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に薬液Bを注入するジョブである(ST15)。4つ目は、ツール解放ジョブ生成部23cにより生成されるツール解放ジョブであり、ST16〜ST18に表されるジョブである。
ツール把持ジョブは、原点201に位置するロボット3のアームを、ピペットオフセット基準点220へ移動させるジョブから始まる(ST11)。アームの移動は、原点201からピペットオフセット基準点220へ直線的に行ってもよいし、実験器具を迂回する等の目的で、曲線に沿って行ってもよい。
アームをピペットオフセット基準点220に移動させた後、アームをピペットオフセット基準点220からピペットラック第1作業点230へ移動させ、第1のピペット4を把持し、アームをピペットラック第1作業点230からピペットオフセット基準点220へ移動させるジョブが行われる(ST12)。ここで、薬液を吸引する量に応じて、ピペットラック10に収められた複数のピペット4のうちいずれかを選択して把持することとしてもよい。ピペットラック第1作業点230以外に収められたピペット4を用いる場合、ピペットオフセット基準点220を基点として、アームをオフセットして移動させることで、ピペット4を把持するジョブを生成してもよい。
ピペット4を把持した後、アームをピペットオフセット基準点220から第1中間基準点210へ移動させるジョブが行われる(ST13)。当該ジョブは、第2レベルつなぎジョブ生成部24bにより生成される。第2レベルつなぎジョブ生成部24bは、ツールを把持する1以上のジョブ及びツールを解放する1以上のジョブのうち少なくともいずれか一方に属する第3の基準点から、複数のジョブに属する第2の基準点へと、アームを移動させる第2レベルつなぎジョブIIを生成する。又は、第2レベルつなぎジョブ生成部24bは、複数のジョブに属する第2の基準点から、ツールを把持する1以上のジョブ及びツールを解放する1以上のジョブのうち少なくともいずれか一方に属する第3の基準点へと、アームを移動させる第2レベルつなぎジョブIIを生成する。本例の場合、第2レベルつなぎジョブ生成部24bは、ピペット4を把持するジョブに属するピペットオフセット基準点220から、複数のジョブに属する第1中間基準点210へと、アームを移動させる第2レベルつなぎジョブIIを生成する。具体的に、本実施形態に係る動作指令生成装置1の第2レベルつなぎジョブ生成部24bは、以下のようにして第2レベルつなぎジョブIIを生成する。第2レベルつなぎジョブ生成部24bは、つなぎジョブ記憶部1cbに記憶された複数のつなぎジョブから、該当する基準点間に関するつなぎジョブを読み出すことで、第2レベルつなぎジョブIIを生成する。あるいは、第2レベルつなぎジョブ生成部24bは、ロボット3のアームの干渉を考慮しつつ、公知のアルゴリズムを用いて、アームの経路を自動生成することにより第2レベルつなぎジョブIIを生成してもよい。第3の基準点及び第2の基準点の候補となる点が多数ある場合、予め全ての組み合わせについてつなぎジョブを用意しておくことが困難となるため、そのような場合にアームの経路を自動生成する構成が有利となる。
アームの経路を自動生成するアルゴリズムとしては、例えば、障害物との干渉が無いロボットの姿勢をランダムに幾つか生成し、それらを繋ぎ合わせたロードマップからグラフ探索アルゴリズムにより経路を生成するPRM(Probabilistic Roadmap Method)が知られている。ここで、与えられたロードマップから最短経路を生成するグラフ探索アルゴリズムとしては、ダイクストラ法や、ダイクストラ法を改良したA*アルゴリズムが知られている。経路を自動生成する他のアルゴリズムとして、動作の開始点を基点として障害物との干渉が無い経路木をランダムに幾つか生成し、経路木の先端を新たな基点として経路木のランダム生成を繰り返すRRT(Rapidly-exploring Random Trees)も知られている。また、これらの方法を改良したアルゴリズムとして、PRMとRRTを組み合わせたSRT(Sampling-based Roadmap of Trees)やRRM(Rapidly-exploring RoadMap)が知られている。これらのアルゴリズムは、ロボットの姿勢をランダムに生成する点で共通するが、ランダム性を有しないアルゴリズムも知られている。例えば、ポテンシャル法は、アームの到着点で値が低く、障害物の位置で値が高くなるようなポテンシャルを導入し、そのポテンシャルの勾配に沿ってアームを動かす方法である。
本実施形態に係る第2レベルつなぎジョブ生成部24bは、例示したアルゴリズム等を用いて、2つのオフセット基準点の一方を始点、他方を終点としたアームの経路を自動生成する。アームの経路を自動生成するアルゴリズムは、例示したアルゴリズム以外のアルゴリズムであってもよく、アームと周囲の実験器具等とが干渉しない経路を生成するアルゴリズムであれば、どのようなものであっても適用できる。後に詳細に説明する第1レベルつなぎジョブ生成部24a及び第3レベルつなぎジョブ生成部24cについても、アームの経路の自動生成は同様のアルゴリズムによって行われてよい。
本実施形態に係る動作指令生成装置1は、第2レベルつなぎジョブ生成部24bを有することにより、ツールの把持・解放におけるアームの位置と、他の複数の作業に共通であるアームの位置とを、1つのつなぎジョブで結ぶことができ、必要とされるつなぎジョブの数を減らすことができる。そのため、ロボット3の動作が簡素化され、動作指令の生成効率を向上させることができる。
アームが第1中間基準点210に移動されると、マイクロチューブ6に薬液Aを注入するジョブが行われる(ST14)。当該ジョブは、複数のサブジョブから構成されている。図10は、薬液を注入するジョブに含まれるサブジョブを示すフローチャートである。一連のジョブは、第1中間基準点210からチップ装着オフセット基準点221へと、アームを移動させる接続ジョブCoから始まる(ST141)。ここで、ロボット3が複数のアームを有する場合、移動するアームとは、ピペット4を把持するアームである。
その後、チップ装着オフセット基準点221からチップラック第1作業点231にアームを移動して、ピペット4の先端にチップ8を装着し、アームをチップラック第1作業点231からチップ装着オフセット基準点221に移動するジョブが行われる(ST142)。ここで、チップラック7に配置されたチップ8を順次装着するため、チップ8を装着した回数をカウントして、チップ装着オフセット基準点221を基点として、アームをカウント数に応じてオフセットして移動させ、チップラック第1作業点231〜チップラック第18作業点に配置されたチップ8を装着することとしてよい。
さらに、チップ装着オフセット基準点221から第1中間基準点210へアームを移動させる接続ジョブCoが行われ(ST143)、第1中間基準点210からチューブオフセット基準点222へアームを移動させる接続ジョブCoが行われる(ST144)。なお、本例では、説明を簡略化するため、ピペット4により薬液Aを吸引するジョブは図示していない。ピペット4により薬液Aを吸引するジョブは、チップ8を装着したピペット4を把持したアームを、薬液Aが保管された容器の作業点に移動させる接続ジョブCoと、アームによりピペット4を操作して薬液Aを500μl以上吸引するジョブと、アームを第1中間基準点210に移動する接続ジョブCoとにより構成される。
ピペット4を把持したアームがチューブオフセット基準点222に移動されると、チューブオフセット基準点222からチューブラック第1作業点233aにアームを移動させ、ピペット4を操作してチューブラック第1作業点233aに配置されたマイクロチューブ6に薬液Aを500μl注入し、チューブラック第1作業点233aからチューブオフセット基準点222へアームを移動させるジョブが行われる(ST145)。当該ジョブが、処理シンボル103に対応する1以上のジョブの主たるサブジョブである。
その後、チューブオフセット基準点222から第1中間基準点210へアームを移動させる接続ジョブCoが行われ(ST146)、第1中間基準点210から廃棄作業点232へアームを移動させる接続ジョブCoが行われる(ST147)。そして、アームを操作して、チップ8をダストボックス9に廃棄するジョブが行われる(ST148)。
最後に、廃棄作業点232から第1中間基準点210へアームを移動させる接続ジョブCoが行われ(ST149)、マイクロチューブ6に薬液Aを注入するジョブ(ST14)が終了する。
図9に戻り、マイクロチューブ6に薬液Aを注入するジョブ(ST14)の後、最終シンボル101側に配置された処理シンボル103に対応する1以上のジョブであるマイクロチューブ6に薬液Bを注入するジョブが行われる(ST15)。マイクロチューブ6に薬液Bを注入するジョブ(ST15)に含まれるサブジョブは、マイクロチューブ6に薬液Aを注入するジョブ(ST14)と同様であるから、説明を省略する。
さらに、ツール解放ジョブが行われる。ツール解放ジョブは、アームを第1中間基準点210からピペットオフセット基準点220へ移動させるジョブから始まる(ST16)。当該ジョブは、第2レベルつなぎジョブ生成部24bにより生成される。本例の場合、第2レベルつなぎジョブ生成部24bは、複数のジョブに属する第1中間基準点210から、ピペット4を解放するジョブに属するピペットオフセット基準点220へと、アームを移動させる第2レベルつなぎジョブIIを生成する。
アームをピペットオフセット基準点220に移動させた後、アームをピペットオフセット基準点220からピペットラック第1作業点230へ移動させ、ピペット4をピペットラック10に収めて解放し、アームをピペットラック第1作業点230からピペットオフセット基準点220へ移動させるジョブが行われる(ST17)。最後に、ピペットオフセット基準点220から原点201へアームを移動して、原点復帰した状態で本例のプロトコルチャートに基づいて生成される動作指令が終了する。
図11は、本発明の実施形態に係る処理システム200において実行される緊急退避ジョブERを示す概念図である。本実施形態に係るロボット3は、安全性が確保された動作指令に従って動作する。しかしながら、災害の発生等により、処理システム200に不測の事態が生じた場合、その後の安全性が保証されないため、実験を中断することが望まれる。そのような場合に、本実施形態に係るロボット制御装置2は、動作指令に緊急退避ジョブERを強制的に割り込ませて、ロボット3に緊急退避動作をとらせる。ここで、緊急退避動作とは、実行中の動作を中断して、ロボット3を原点201に復帰させる動作である。例えば、本例のプロトコルチャートに表されるジョブのうち、薬液Aを注入するジョブをロボット3が行っている場合であって、ロボット3のアームがチューブオフセット基準点222に位置している場合に不測の事態が生じたとする。その場合、ロボット制御装置2は、緊急退避ジョブERとして、ロボット3のアームをチューブオフセット基準点222から原点201に強制的に復帰させるジョブを割り込ませる。なお、原点201への強制的な復帰は、既定の基準点を経由して行うこととしてもよい。すなわち、上述の例でいえば、チューブオフセット基準点222から第1中間基準点210を経由して原点201へアームを移動させることとしてもよい。本実施形態に係る処理システム200は、不測の事態が発生した場合であっても、ロボット制御装置2により緊急退避ジョブERを割り込ませることで、処理システム200による実験が中断されてロボット3が安全な姿勢をとるため、処理システム200の故障が防止される。
図12は、本発明の実施形態に係る動作指令生成装置1に取得されるプロトコルチャートの第2の例を示す図である。本例のプロトコルチャートには、順序線102から第2の方向に離間した位置に「ADD」と記載された処理シンボル103が連続して2つ配置されている。「ADD」と記載された2つの処理シンボル103は、それぞれ第2の方向に伸びる追加線104によって順序線102に接続され、マイクロチューブ6に薬液を追加する処理を表している。具体的に、初期シンボル100側に配置された処理シンボル103には、「solution A、500[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Aを500μl追加する1以上のジョブに対応する。また、最終シンボル101側に配置された処理シンボル103には、「solution C、10[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Cを10μl追加する1以上のジョブに対応する。
本例のプロトコルチャートの場合におけるツール使用判断部23aによる判断を図7のフローチャートを参照しつつ説明する。ツール使用判断部23aは、はじめに、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブにおけるツールの使用の要否を判断する(ST100)。本例の場合、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブにおいてピペット4が使用されるから、ST100においてYesと判断される。
次に、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方においてツールが使用されるか否かが判断される(ST101)。本例のプロトコルチャートの場合、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブにおいてピペット4が使用されるから、ST101においてYesと判断される。そして、ロボット3のアームにツールが把持済みであるか否かが判断され(ST102)、ロボット3はいずれのツールも把持していないから、ST102においてNoと判断される。そして、ツール把持ジョブ生成部23bにより、ツールを把持する1以上のジョブが生成され、薬液Aを追加する1以上のジョブの先頭に、生成されたツール把持ジョブが挿入される(ST103)。
その後、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方において使用されるツールが異なるか否かが判断される(ST104)。本例の場合、薬液Aを500μl注入するジョブは比較的容量の大きい第1のピペット4を使用して行われ、薬液Cを10μl注入するジョブは比較的容量の小さい第2のピペット4を使用して行われる。従って、使用するツールが異なると判断される。
ST104においてYesと判断されると、ツールの持ち替えジョブが生成され、挿入される(ST105)。本例の場合、ツール解放ジョブ生成部23cは、処理順番が先である薬液Aを注入する1以上のジョブのうち最後に行われる第1のジョブとして第1のピペット4を解放する1以上のジョブを生成する。また、ツール把持ジョブ生成部23bは、処理順番が後である薬液Cを注入する1以上のジョブのうち最初に行われる第2のジョブとして第2のピペット4を把持する1以上の前記ジョブを生成する。以上により、本例の場合におけるツール使用判断部23aの判断は終了する。
本実施形態に係る動作指令生成装置1によれば、連続する2つの処理シンボルに対応する1以上のジョブについて、ジョブごとに最適なツールを使用することができる。例えば、ツールとしてピペットを使用する場合、薬液の吸引量に応じて、容量及び排出精度が異なるピペットを選択することができ、より精度の高い実験を行うことができる。
図13は、プロトコルチャートの第2の例に基づいて生成される動作指令を示すフローチャートである。プロトコルチャートの第2の例に基づいて生成される動作指令は、5つのジョブの集合体から構成される。1つ目は、ツール把持ジョブ生成部23bにより生成されるツール把持ジョブであり、ST21〜ST23に表されるジョブである。2つ目は、初期シンボル100側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に薬液Aを注入するジョブである(ST24)。3つ目は、ツール把持ジョブ生成部23b及びツール解放ジョブ生成部23cにより生成されるツール持ち替えジョブであり、ST25〜ST28に表されるジョブである。4つ目は、最終シンボル101側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に薬液Cを注入するジョブである(ST29)。5つ目は、ツール解放ジョブ生成部23cにより生成されるツール解放ジョブであり、ST30〜ST32に表されるジョブである。これらのうち、ツール把持ジョブ(ST21〜ST23)と、マイクロチューブ6に薬液Aを注入するジョブ(ST24)と、マイクロチューブ6に薬液Cを注入するジョブ(ST29)と、ツール解放ジョブ(ST30〜ST32)とは、プロトコルチャートの第1の例に関して説明したのと同様のジョブであるから、繰返しの説明を省略する。以下、ST25〜ST28に表されるツール持ち替えジョブについて説明する。
マイクロチューブ6に薬液Aを注入するジョブ(ST24)が行われた後、ロボット3のアームは、第1のピペット4が把持された状態で第1中間基準点210に位置している。その後、第1中間基準点210からピペットオフセット基準点220へアームを移動させるジョブが行われる(ST25)。そして、アームをピペットオフセット基準点220からピペットラック第1作業点230へ移動させ、第1のピペット4をピペットラック10に収めて解放し、アームをピペットラック第1作業点230からピペットオフセット基準点220へ移動させるジョブが行われる(ST26)。以上のツール解放ジョブは、ツール解放ジョブ生成部23cにより生成され、処理順番が先である処理シンボル103に対応する1以上のジョブの末尾に挿入されるものである。
次に、ピペットオフセット基準点220を基点として、アームをピペットオフセット基準点220からピペットラック第2作業点へ移動させ、アームにより第2のピペット4を把持し、アームをピペットラック第2作業点からピペットオフセット基準点220へ移動させるジョブが行われる(ST27)。そして、第2のピペット4を把持した状態のアームを、ピペットオフセット基準点220から第1中間基準点210へ移動させるジョブが行われる(ST28)。以上のツール把持ジョブは、ツール把持ジョブ生成部23bにより生成され、処理順番が後である処理シンボル103に対応する1以上のジョブの先頭に挿入されるものである。
図14は、本発明の実施形態に係る動作指令生成装置に取得されるプロトコルチャートの第3の例を示す図である。本例のプロトコルチャートには、順序線102から第2の方向に離間した位置に「ADD」と記載された処理シンボル103が1つ配置され、次に「CENTRIFUGE」と記載された処理シンボル103が配置されている。「ADD」と記載された2つの処理シンボル103は、第2の方向に伸びる追加線104によって順序線102に接続され、マイクロチューブ6に薬液を追加する処理を表している。また、「CENTRIFUGE」と記載された処理シンボル103は、マイクロチューブ6を遠心分離処理することを表している。具体的に、初期シンボル100側に配置された「ADD」と記載された処理シンボル103には、「solution A、500[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Aを500μl追加する1以上のジョブに対応する。また、最終シンボル101側に配置された「CENTRIFUGE」と記載された処理シンボル103には、「10[min]」と記載され、当該処理シンボル103は、マイクロチューブ6を遠心分離器12に収容して、10分間の遠心分離処理を行う1以上のジョブに対応する。
本例のプロトコルチャートの場合におけるツール使用判断部23aによる判断を図7及び8のフローチャートを参照しつつ説明する。ツール使用判断部23aは、はじめに、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブにおけるツールの使用の要否を判断する(ST100)。本例の場合、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブのうち、薬液Aを注入する1以上のジョブにおいてピペット4が使用されるから、ST100においてYesと判断される。
次に、処理順番が連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブの両方においてツールが使用されるか否かが判断される(ST101)。本例のプロトコルチャートの場合、連続する2つの処理シンボル103にそれぞれ対応する1以上のジョブのうち、薬液Aを注入する1以上のジョブにおいてピペット4が使用され、遠心分離処理を行う1以上のジョブにおいてはツールが使用されない(ロボット3のアームにピペット4等のツールが把持されない)から、ST101においてNoと判断される。
その後のフローは、図8に示されるフローチャートに従う。まず、連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブにおいてツールが使用されるか否かが判断される(ST106)。本例のプロトコルチャートの場合、連続する2つの処理シンボル103に対応する1以上のジョブのうち、先に行われる1以上のジョブである薬液Aを注入する1以上のジョブにおいてピペット4が使用されるから、ST106においてYesと判断される。そして、ロボット3のアームにツールが把持済みであるか否かが判断される(ST107)。本例の場合、アームにはいかなるツールも把持されていないから、ST107においてNoと判断される。その後、ツール把持ジョブ生成部23bにより、ツール把持ジョブが生成されて、連続する2つの処理シンボル103に対応する1以上のジョブのうち処理順番が先である薬液Aを注入する1以上のジョブの先頭にツール把持ジョブが挿入される(ST108)。
さらに、ツール解放ジョブ生成部23cにより、ツール解放ジョブが生成されて、連続する2つの処理シンボル103に対応する1以上のジョブのうち処理順番が先である薬液Aを注入する1以上のジョブの末尾に挿入される(ST109)。以上で、本例の場合におけるツール使用判断部23aによる判断は終了する。
図15は、プロトコルチャートの第3の例に基づいて生成される第1の動作指令を示すフローチャートである。プロトコルチャートの第3の例に基づいて生成される動作指令は、8つのジョブの集合体から構成される。1つ目は、ツール把持ジョブ生成部23bにより生成されるツール把持ジョブであり、ST41〜ST43に表されるジョブである。2つ目は、初期シンボル100側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に薬液Aを注入するジョブである(ST44)。3つ目は、ツール解放ジョブ生成部23cにより生成されるツール解放ジョブであり、ST45〜ST47に表されるジョブである。4つ目は、処理ジョブ生成部23により生成されるマイクロチューブ6を把持するジョブであり、ST48〜ST49に表されるジョブである。5つ目は、第1レベルつなぎジョブ生成部24aにより生成される第1レベルつなぎジョブである(ST50)。6つ目は、最終シンボル101側に配置された処理シンボル103に対応する1以上のジョブであり、マイクロチューブ6に対して遠心分離処理を行うジョブであり、ST51〜ST53に表されるジョブである。7つ目は、第1レベルつなぎジョブ生成部24aにより生成される第1レベルつなぎジョブである(ST54)。8つ目は、処理ジョブ生成部23により生成されるマイクロチューブ6を解放するジョブであり、ST55〜ST57に表されるジョブである。これらのうち、ツール把持ジョブ(ST41〜ST43)と、マイクロチューブ6に薬液Aを注入するジョブ(ST44)と、ツール解放ジョブ(ST45〜ST47)とは、プロトコルチャートの第1の例に関して説明したのと同様のジョブであるから、繰返しの説明を省略する。以下、ST48〜ST55に表される遠心分離処理のジョブについて説明する。
アームをピペットオフセット基準点220から第1中間基準点210へ移動する第2レベルつなぎジョブII(ST47)が行われた後、アームは、いずれのツールも把持しない状態で第1中間基準点210に位置している。その後、マイクロチューブ6を把持するジョブが行われる。マイクロチューブ6を把持するジョブは、アームを第1中間基準点210からチューブオフセット基準点222へ移動するジョブから始まる(ST48)。そして、アームをチューブオフセット基準点222からチューブラック第1作業点233aに移動して、マイクロチューブ6を把持し、アームをチューブラック第1作業点233aからチューブオフセット基準点222へ移動させるジョブが行われる(ST49)。ここで、マイクロチューブ6を把持するアームは、ピペット4を把持するアームと同一のアームであってもよいし、別のアームであってもよい。本実施形態に係るロボット3では、右腕に相当するアームによってピペット4を把持し、左腕に相当するアームによってマイクロチューブ6を把持することしてよい。ST48〜ST49に表されるマイクロチューブ6を把持するジョブは、遠心分離器12による遠心分離処理を行うジョブや、ボルテックスミキサー11による撹拌処理を行うジョブ等、マイクロチューブ6を実験器具へ移送する必要があるジョブを行う以前に挿入される。
その後、アームを第1中間基準点210から第2中間基準点211へ移動する第1レベルつなぎジョブIが行われる(ST50)。本実施形態におけるつなぎジョブ生成部24は、処理順番が連続する2つの処理シンボルに関し、処理順番が先である処理シンボルに対応する前記1以上のジョブのうち最後に行われる第1のジョブに属する第1の基準点と、処理順番が後である処理シンボルに対応する1以上のジョブのうち最初に行われる第2のジョブに属する第2の基準点とに基づいて、第1の基準点から第2の基準点へと、アームを移動させるつなぎジョブを生成する。本例の場合、処理順番が先である薬液Aを注入する1以上のジョブのうち最後に行われる第1のジョブ(ST47に表されるジョブ)に属する第1の基準点は、第1中間基準点210である。また、処理順番が後である遠心分離処理を行う1以上のジョブのうち最初に行われる第2のジョブ(ST51に表されるジョブ)に属する第2の基準点は、第2中間基準点211である。そのため、つなぎジョブ生成部24は、第1中間基準点210から第2中間基準点211へと、ロボット3のアームを移動させるつなぎジョブを生成する。ここで、ロボット3のアームとは、マイクロチューブ6を把持したアームである。具体的に、本実施形態に係る動作指令生成装置1の第1レベルつなぎジョブ生成部24aは、つなぎジョブ記憶部1cbに記憶された複数のつなぎジョブから、該当する基準点間に関するつなぎジョブを読み出すことで、第1レベルつなぎジョブIを生成する。あるいは、第1レベルつなぎジョブ生成部24aは、ロボット3のアームの干渉を考慮しつつ、公知のアルゴリズムを用いて、アームの経路を自動生成することにより第1レベルつなぎジョブIを生成してもよい。第1の基準点及び第2の基準点の候補となる点が多数ある場合、予め全ての組み合わせについてつなぎジョブを用意しておくことが困難となるため、そのような場合にアームの経路を自動生成する構成が有利となる。
本実施形態に係る動作指令生成装置1は、つなぎジョブ生成部24を有することにより、異なる処理シンボルに対応する1以上のジョブ間におけるアームの移動が、始点となる基準点と、終点となる基準点とに基づいて行われ、他の基準点を通る必要がなくなる。特に、1つの処理シンボルに対応する1以上のジョブを行うごとに原点復帰する必要がなくなり、作業時間が短縮される。
本実施形態に係るつなぎジョブ生成部24は、第1レベルつなぎジョブ生成部24aを含む。第1レベルつなぎジョブ生成部24aは、複数のジョブに属する第1の基準点から、複数のジョブに属する第2の基準点へと、アームを移動させる第1レベルつなぎジョブを生成する。本例の場合、第1レベルつなぎジョブ生成部24aは、少なくとも、チップ装着ジョブと、チップ廃棄ジョブと、チューブ操作に関するジョブとに属する第1中間基準点210から、少なくとも、遠心分離処理に関するジョブと、撹拌処理に関するジョブとに属する第2中間基準点211へと、アームを移動させる第1レベルつなぎジョブIを生成する。
本実施形態に係る動作指令生成装置1は、第1レベルつなぎジョブ生成部24aを有することにより、複数のジョブに属する基準点を共通化し、必要とされるつなぎジョブの数を減らすことができる。そのため、ロボット3の動作指令が簡素化され、動作指令の生成効率を向上させることができる。また、複数のジョブに属する中間基準点を設定することで、複数のジョブをまとめて扱うことができる。
その後、マイクロチューブ6を把持したアームを、第2中間基準点211から遠心オフセット基準点223へ移動するジョブが行われる(ST51)。そして、アームを遠心オフセット基準点223から遠心分離器第1作業点234へ移動して、マイクロチューブ6を遠心分離器12に収容し、遠心分離のジョブが行われる。遠心分離は、処理シンボル103に従って、10分間行われる。その後、アームによりマイクロチューブ6を把持して遠心分離器12から取り出し、アームを遠心分離器第1作業点234から遠心オフセット基準点223へ移動することで、遠心分離処理が完了する(ST52)。その後、マイクロチューブ6を把持したアームを、遠心オフセット基準点223から第2中間基準点211へ移動するジョブが行われる(ST53)。なお、遠心分離処理は、遠心分離器12に複数のマイクロチューブ6を収容して行ってもよい。その場合、遠心オフセット基準点223を基点として、アームをオフセットして移動することにより、マイクロチューブ6を遠心分離器第1作業点234〜遠心分離器第12作業点に収容することとしてよい。
次に、アームを第2中間基準点211から第1中間基準点210へ移動する第1レベルつなぎジョブIが行われる(ST54)。その後、マイクロチューブ6を解放するジョブが行われる。すなわち、アームを第1中間基準点210からチューブオフセット基準点222に移動するジョブが行われ(ST55)、アームをチューブオフセット基準点222からチューブラック第1作業点233aに移動して、マイクロチューブ6を解放し、アームをチューブラック第1作業点233aからチューブオフセット基準点222に移動するジョブが行われる(ST56)。最後に、アームをチューブオフセット基準点222から、第1中間基準点210を経由して、原点201へ移動するジョブが行われ(ST57)、本例のプロトコルチャートに基づいて生成される第1の動作指令が終了する。
図16は、プロトコルチャートの第3の例に基づいて生成される第2の動作指令を示すフローチャートである。本例のプロトコルチャート(図14に示すプロトコルチャート)に基づいて生成される第2の動作指令は、第3レベルつなぎジョブIIIを含む点で、第1の動作指令と異なる。それ以外の構成は第1の動作指令と同様であるから、以下では主に相違する部分について説明する。
第2の動作指令では、マイクロチューブ6を把持するジョブは、アームを第1中間基準点210からチューブオフセット基準点222へ移動し、アームをチューブオフセット基準点222からチューブラック第1作業点233aへ移動してマイクロチューブ6を把持し、アームをチューブラック第1作業点233aからチューブオフセット基準点222へ移動させるジョブである(ST68)。
第3レベルつなぎジョブ生成部24cは、オフセットジョブに属する第1のオフセット基準点から、オフセットジョブに属する第2のオフセット基準点へと、アームを移動させる第3レベルつなぎジョブIIIを生成する。ここで、オフセットジョブとは、オフセット基準点を基点としてアームをオフセットして移動させて同種類のジョブを繰返し行うジョブである。オフセットジョブに属するオフセット基準点は、複数の同種類のジョブに属する基準点である。一方、中間基準点は、多種類のジョブに属する基準点である。
本例のプロトコルチャートに基づいて生成される第2の動作指令の場合、第3レベルつなぎジョブ生成部24cは、アームをチューブオフセット基準点222から遠心オフセット基準点223へ移動する第3レベルつなぎジョブIIIを生成する(ST69)。具体的に、本実施形態に係る動作指令生成装置1の第3レベルつなぎジョブ生成部24cは、つなぎジョブ記憶部1cbに記憶された複数のつなぎジョブから、該当する基準点間に関するつなぎジョブを読み出すことで、第3レベルつなぎジョブIIIを生成する。あるいは、第3レベルつなぎジョブ生成部24cは、ロボット3のアームの干渉を考慮しつつ、公知のアルゴリズムを用いて、アームの経路を自動生成することにより第3レベルつなぎジョブIIIを生成してもよい。第1の基準点及び第2の基準点の候補となる点が多数ある場合、予め全ての組み合わせについてつなぎジョブを用意しておくことが困難となるため、そのような場合にアームの経路を自動生成する構成が有利となる。本実施形態に係る動作指令生成装置1は、第3レベルつなぎジョブ生成部24cを有することにより、オフセット基準点間を直接つなぐアームの移動が行われ、原点を経由したり、多種類のジョブに共通する中間基準点を経由したりする必要がなくなり、作業時間がより短縮される。
その後、マイクロチューブ6に対して10分間の遠心分離処理のジョブが行われる(ST70)。遠心分離処理完了後、アームによりマイクロチューブ6を把持して、アームを遠心オフセット基準点223からチューブオフセット基準点222へ移動する第3レベルつなぎジョブIIIが行われる(ST71)。さらに、マイクロチューブ6をチューブラック第1作業点233aに解放するジョブが行われ(ST72)、アームをチューブオフセット基準点222から、第1中間基準点210を経由して、原点201へ移動するジョブが行われ(ST73)、第2の動作指令が終了する。
図17は、本発明の実施形態に係る動作指令生成装置1に取得されるプロトコルチャートの第4の例を示す図である。本例のプロトコルチャートには、順序線102から第2の方向に離間した位置に「ADD」と記載された処理シンボル103が1つ配置されている。「ADD」と記載された2つの処理シンボル103は、第2の方向に伸びる追加線104によって順序線102に接続され、マイクロチューブ6に薬液を追加する処理を表している。具体的に、初期シンボル100側に配置された処理シンボル103には、「solution A、500[μl]」と記載され、当該処理シンボル103は、マイクロチューブ6に薬液Aを500μl追加する1以上のジョブに対応する。また、本例のプロトコルチャートにおける初期シンボル100には、容器数シンボル105が関連付けられている。容器数シンボル105は、「×2」の文字により、本例のプロトコルチャートに表される処理を、2つの同種類の容器について行うことを表している。すなわち、本例のプロトコルチャートに表された処理シンボル103は、第1のマイクロチューブ6に対して薬液Aを500μl注入し、第2のマイクロチューブ6に対して薬液Aを500μl注入する1以上のジョブに対応する。第1のマイクロチューブ6及び第2のマイクロチューブ6に薬液Aを注入するジョブは、オフセット基準点を基点としてアームをオフセットして移動させて同種類のジョブを繰返し行うことで実現される。
本実施形態に係るオフセットジョブ生成部23dは、処理シンボル103に対応する1以上のジョブのうちいずれかに属するオフセット基準点から、オフセットしてロボット3のアームを移動させて、1以上のジョブのうち少なくとも1つのジョブを生成する。本例のプロトコルチャートの場合、オフセットジョブ生成部23dは、「ADD」と記載された処理シンボル103に対応する薬液Aを注入する1以上のジョブに属するチューブオフセット基準点222から、オフセットしてアームを移動させて、第1のマイクロチューブ6と第2のマイクロチューブ6に薬液Aを注入する2つのジョブを生成する。オフセットしてアームを移動させるとは、オフセット基準点から所定間隔だけアームを一定方向に直線的に移動させることや、所定角度だけ一定方向に回転移動させることを意味する。オフセットジョブは、そのようにしてアームを移動させる毎に、移動先の点で同種類のジョブを繰り返すジョブである。
図18は、本発明の実施形態に係るオフセットジョブ生成部23dにより生成されるオフセットジョブを示す平面図である。同図中の矢線は、ピペット4を把持したアームの動きを表す。ピペット4を把持したアームは、はじめ第1中間基準点210に位置している。その後、アームを第1中間基準点210からチューブオフセット基準点222へ移動する接続ジョブCoが行われる。第1のマイクロチューブ6(チューブラック第1作業点233aに収容されたマイクロチューブ6)に薬液Aを注入するジョブは、アームをチューブオフセット基準点222からチューブラック第1作業点233aへ移動して、薬液Aを500μl注入し、アームをチューブラック第1作業点233aからチューブオフセット基準点222へ移動させるジョブによって構成される。また、第2のマイクロチューブ6(チューブラック第2作業点233bに収容されたマイクロチューブ6)に薬液Aを注入するジョブは、アームをチューブオフセット基準点222からチューブラック5の長手方向に沿って移動させ、第1のマイクロチューブ6に対して行ったのと同様の動きを繰り返すことで第2のマイクロチューブ6に薬液Aを500μl注入する。ここで、仮に、容器数シンボル105によって表される容器数が2より大きい場合、第2のマイクロチューブ6に薬液Aを注入した後、アームをチューブラック5の長手方向に沿って移動させ、第1のマイクロチューブ6に対して行ったのと同様の動きを繰り返すことで第3のマイクロチューブ6等について薬液Aを注入することができる。
本実施形態に係る動作指令生成装置1によれば、オフセットジョブ生成部23dを有することで、同種類のジョブを繰返し行う場合に、繰返し動作をまとめて生成することができ、動作指令の生成効率が向上する。
図19は、プロトコルチャートの第4の例に基づいて生成される動作指令を示すフローチャートである。プロトコルチャートの第4の例に基づいて生成される動作指令は、3つのジョブの集合体から構成される。1つ目は、ツール把持ジョブ生成部23bにより生成されるツール把持ジョブであり、ST81〜ST83に表されるジョブである。2つ目は、オフセットジョブ生成部23dにより生成されるオフセットジョブであり、第1のマイクロチューブ6に薬液Aを注入するジョブと(ST84)、第2のマイクロチューブ6に薬液Aを注入するジョブである(ST85)。3つ目は、ツール解放ジョブ生成部23cにより生成されるツール解放ジョブであり、ST86〜ST88に表されるジョブである。
ツール把持ジョブは、原点201に位置するロボット3のアームを、ピペットオフセット基準点220へ移動させるジョブから始まり(ST81)、アームをピペットオフセット基準点220からピペットラック第1作業点230へ移動させ、第1のピペット4を把持し、アームをピペットラック第1作業点230からピペットオフセット基準点220へ移動させるジョブが行われた後(ST82)、アームをピペットオフセット基準点220から第1中間基準点210へ移動させるジョブにより完了する(ST83)。
アームが第1中間基準点210に移動されると、第1のマイクロチューブ6に薬液Aを注入するジョブ(ST84)及び第2のマイクロチューブ6に薬液Aを注入するジョブ(ST85)が行われる。第1のマイクロチューブ6に薬液Aを注入するジョブ(ST84)の詳細は、図10において説明したのと同様である。第2のマイクロチューブ6に薬液Aを注入するジョブは、チューブオフセット基準点222を基点として、アームをチューブラック第2作業点233bの前方へオフセットして移動させた後、第1のマイクロチューブ6に対して行ったのと同様のジョブを繰り返すことで行われる。
その後、ツール解放ジョブが行われる。ツール解放ジョブは、アームを第1中間基準点210からピペットオフセット基準点220へ移動させるジョブから始まり(ST86)、アームをピペットオフセット基準点220からピペットラック第1作業点230へ移動させ、第1のピペット4をピペットラック10に収容して解放し、アームをピペットラック第1作業点230からピペットオフセット基準点220へ移動させるジョブが行われ(ST87)アームをピペットオフセット基準点220から原点201へ移動させるジョブにより完了する(ST88)。以上のより、本例のプロトコルチャートに基づいて生成される動作指令が終了する。
以上説明した実施形態の構成は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成そのものに限定することは意図されていない。当業者はこれら開示された実施形態に種々の変形、例えば、機能や操作方法の変更や追加等を加えてもよく、また、フローチャートに示した制御は、同等の機能を奏する他の制御に置き換えてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。