(57)【特許請求の範囲】
【請求項１】
処理対象を収容した容器に対する処理を表す複数の処理シンボルを少なくとも含むプロトコルチャートに基づいて、少なくともロボットを含む処理システムに行わせるジョブの集合体である動作指令を生成する動作指令生成装置であって、
前記プロトコルチャートに基づいて、前記複数の処理シンボルそれぞれが示す処理のジョブを生成するジョブ生成部と、
ジョブの実行順を決定する条件の優先順位を指示する優先順位指示部と、
複数ある前記容器に対し、前記ジョブ生成部により生成されるジョブの実行順を、少なくとも、［１］前記複数の処理シンボルそれぞれに対応するジョブが前記容器の数だけ繰返されて実行されること、［２］前記プロトコルチャートにおける前記複数の処理シンボルそれぞれの配置順番に対応した順番で前記複数の処理シンボルそれぞれに対応するジョブが実行されること、の条件を用い、前記優先順位指示部により指示された優先順位で決定する実行順決定部と、
を有し、
前記優先順位指示部は、前記条件［１］を［２］に優先させる指示をする通常処理指示部と、連続処理を指定された複数の前記処理シンボルについて、前記条件［２］を［１］に優先させる指示をする連続処理指示部と、を有する動作指令生成装置。
【請求項２】
前記ジョブ生成部は、さらに、繰返し処理を指定された１又は複数の前記処理シンボルについて、前記処理シンボルそれぞれに対応するジョブを、繰返し数だけ生成し、
前記実行順決定部は、さらに、［３］繰返し処理を指定された処理シンボルに対応するジョブが、一括として指定された繰返し数だけ繰返し実行されること、の条件を有し、
前記優先順位指示部は、前記条件［１］及び［２］を［３］に優先させる指示をする繰返し処理指示部をさらに有する請求項１に記載の動作指令生成装置。
【請求項３】
連続処理を指定された一群の前記処理シンボルと、繰返し処理を指定された一群の前記処理シンボルとが、互いに部分的に重複する場合に、警告する警告部をさらに有する請求項２に記載の動作指令生成装置。
【請求項４】
前記警告部は、連続処理を指定された一群の前記処理シンボルと、連続処理からの除外が指定された一群の前記処理シンボルとの一方が他方を包含する場合に、警告する請求項３に記載の動作指令生成装置。
【請求項５】
前記警告部は、繰返し処理を指定された２の一群の前記処理シンボルが、互いに部分的に重複する場合に、警告する請求項３に記載の動作指令生成装置。
【請求項６】
前記警告部は、連続処理を指定された一群の前記処理シンボルと、他の前記処理シンボルとが、連続処理を示す方向に交差する方向に配置されている場合に、警告する請求項３〜５のいずれか１項に記載の動作指令生成装置。
【請求項７】
前記警告部は、前記ジョブ生成部がジョブを生成する時に、警告を発する請求項３〜６のいずれか１項に記載の動作指令生成装置。
【請求項８】
前記ジョブ生成部により生成されるジョブは、
連続処理を指定された一群の処理を容器数分繰り返す指令と、繰り返し処理を指定された一群の処理を繰り返し数分繰り返す指令と、を含む第１レベルジョブと、
連続処理を指定された一群の処理以外の個々の処理を容器数分繰り返す指令と、連続処理を指定された一群の処理を１度行う指令とを含む第２レベルジョブと、
を含む請求項２〜７のいずれか１項に記載の動作指令生成装置。
【請求項９】
コンピュータを、請求項１〜８のいずれかに記載の動作指令生成装置として機能させるためのコンピュータプログラム。
【請求項１０】
処理対象を収容した容器に対する処理を表す複数の処理シンボルを少なくとも含むプロトコルチャートに基づいて、少なくともロボットを含む処理システムに行わせるジョブの集合体である動作指令を生成する動作指令生成方法であって、
前記プロトコルチャートに基づいて、前記複数の処理シンボルそれぞれが示す処理のジョブを生成し、
ジョブの実行順を決定する条件の優先順位を指示し、
複数ある前記容器に対し、前記ジョブ生成部により生成されるジョブの実行順を、少なくとも、［１］前記複数の処理シンボルそれぞれに対応するジョブが前記容器の数だけ繰返されて実行されること、［２］前記プロトコルチャートにおける前記複数の処理シンボルそれぞれの配置順番に対応した順番で前記複数の処理シンボルそれぞれに対応するジョブが実行されること、の条件を用い、指示された優先順位で決定し、
前記ジョブの実行順を決定する条件の優先順位を指示するステップにおいて、連続処理も、繰返し処理も指定されていない通常の前記処理シンボルについて、前記条件［１］を［２］に優先させる指示をし、連続処理を指定された複数の前記処理シンボルについて、前記条件［２］を［１］に優先させる指示をする
動作指令生成方法。
【請求項１１】
請求項１〜８のいずれかに記載の動作指令生成装置と、
前記動作指令生成装置により生成された動作指令に基づき制御対象を制御するロボット制御装置と、
前記ロボット制御装置の制御対象に含まれ、１又は２以上のアームで処理対象に対する処理を行うロボットと、
を有する処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作指令生成装置、動作指令生成方法、コンピュータプログラム、及び処理システムに関する。
【背景技術】
【０００２】
生化学や生物／生命工学の分野における、一連の検査や培養、増幅といった処理対象に対してする操作（以降、これらを一まとめにして「実験」と称する。）の作業手順や条件は一般にプロトコルと呼びならわされている。プロトコルは、実験について再現性のある結果を得、或いはその実験結果の検証を行う上で必要な情報である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、プロトコルに基づく実験を、ロボットを含む処理システムに行わせるための動作指令を自動的に生成することをその課題とする。
【課題を解決するための手段】
【０００４】
本発明の一の側面による動作指令生成装置は、処理対象を収容した容器に対する処理を表す複数の処理シンボルを少なくとも含むプロトコルチャートに基づいて、少なくともロボットを含む処理システムに行わせるジョブの集合体である動作指令を生成する動作指令生成装置であって、前記プロトコルチャートに基づいて、前記複数の処理シンボルそれぞれが示す処理のジョブを生成するジョブ生成部と、ジョブの実行順を決定する条件の優先順位を指示する優先順位指示部と、前記容器が複数ある場合に、前記ジョブ生成部により生成されるジョブの実行順を、少なくとも、［１］前記複数の処理シンボルそれぞれに対応するジョブが前記容器の数だけ繰返されて実行されること、［２］前記プロトコルチャートにおける前記複数の処理シンボルそれぞれの配置順番に対応した順番で前記複数の処理シンボルそれぞれに対応するジョブが実行されること、の条件を用い、前記優先順位指示部により指示された優先順位で決定する実行順決定部と、を有する。【０００５】
また、本発明の別の側面による動作指令生成装置では、前記優先順位指示部は、前記条件［１］を［２］に優先させる指示をする通常処理指示部と、連続処理を指定された複数の前記処理シンボルについて、前記条件［２］を［１］に優先させる指示をする連続処理指示部と、を有してよい。【０００６】
また、本発明の別の側面による動作指令生成装置では、前記ジョブ生成部は、さらに、繰返し処理を指定された１又は複数の前記処理シンボルについて、前記処理シンボルそれぞれに対応するジョブを、繰返し数だけ生成し、前記実行順決定部は、さらに、［３］繰返し処理を指定された処理シンボルに対応するジョブが、一括として指定された繰返し数だけ繰返し実行されること、の条件を有し、前記優先順位指示部は、前記条件［１］及び［２］を［３］に優先させる指示をする繰返し処理指示部をさらに有してよい。【０００７】
また、本発明の別の側面による動作指令生成装置では、連続処理を指定された一群の前記処理シンボルと、繰返し処理を指定された一群の前記処理シンボルとが、互いに部分的に重複する場合に、警告する警告部をさらに有してもよい。【０００８】
また、本発明の別の側面による動作指令生成装置では、前記警告部は、連続処理を指定された一群の前記処理シンボルと、連続処理からの除外が指定された一群の前記処理シンボルとの一方が他方を包含する場合に、警告してよい。【０００９】
また、本発明の別の側面による動作指令生成装置では、前記警告部は、繰返し処理を指定された２の一群の前記処理シンボルが、互いに部分的に重複する場合に、警告してよい。【００１０】
また、本発明の別の側面による動作指令生成装置では、前記警告部は、連続処理を指定された一群の前記処理シンボルと、他の前記処理シンボルとが、連続処理を示す方向に交差する方向に配置されている場合に、警告してよい。【００１１】
また、本発明の別の側面による動作指令生成装置では、前記警告部は、前記ジョブ生成部がジョブを生成する時に、警告を発してよい。【００１２】
また、本発明の別の側面による動作指令生成装置では、前記ジョブ生成部により生成されるジョブは、連続処理を指定された一群の処理を容器数分繰り返す指令と、繰り返し処理を指定された一群の処理を繰り返し数分繰り返す指令と、を含む第１レベルジョブと、連続処理を指定された一群の処理以外の個々の処理を容器数分繰り返す指令と、連続処理を指定された一群の処理を１度行う指令とを含む第２レベルジョブと、を含んでよい。【００１３】
また、本発明の別の側面によるコンピュータプログラムは、コンピュータを、上述の動作指令生成装置として機能させる。【００１４】
また、本発明の別の側面による動作指令作成方法は、処理対象を収容した容器に対する処理を表す複数の処理シンボルを少なくとも含むプロトコルチャートに基づいて、少なくともロボットを含む処理システムに行わせるジョブの集合体である動作指令を生成する動作指令生成方法であって、前記プロトコルチャートに基づいて、前記複数の処理シンボルそれぞれが示す処理のジョブを生成し、ジョブの実行順を決定する条件の優先順位を指示し、前記容器が複数ある場合に、前記ジョブ生成部により生成されるジョブの実行順を、少なくとも、［１］前記複数の処理シンボルそれぞれに対応するジョブが前記容器の数だけ繰返されて実行されること、［２］前記プロトコルチャートにおける前記複数の処理シンボルそれぞれの配置順番に対応した順番で前記複数の処理シンボルそれぞれに対応するジョブが実行されること、の条件を用い、指示された優先順位で決定する。【００１５】
また、本発明の別の側面による処理システムは、上述の動作指令生成装置と、前記動作指令生成装置により生成された動作指令に基づき制御対象を制御するロボット制御装置と、前記ロボット制御装置の制御対象に含まれ、１又は２以上のアームで処理対象に対する処理を行うロボットと、を有する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る処理システムの物理的な構成を示す概略図である。
【図２】本発明の実施形態に係る動作指令生成装置の物理的な構成を示す構成ブロック図である。
【図３】本発明の実施形態に係る動作指令生成装置の機能ブロック図である。
【図４】本発明の実施形態に係る動作指令生成装置により取得されるプロトコルチャートの例を示す図である。
【図５】本発明の実施形態に係る動作指令生成装置により、図４に示すプロトコルチャートに基づいて生成される動作指令を示す概念図である。
【図６】本発明の実施形態に係る動作指令生成装置により、図４に示すプロトコルチャートに基づいて生成される動作指令のフローチャートである。
【図７】本実施形態に係る動作指令生成装置が、図４に示すプロトコルチャートに基づいて、図６に示す動作指令のフローを生成する際に、中間的に生成されるジョブのフローを示す図である。
【図８】本発明の実施形態に係る動作指令生成装置により、警告表示されるプロトコルチャートの第１の例を示す図である。
【図９】本発明の実施形態に係る動作指令生成装置により、警告表示されるプロトコルチャートの第２の例を示す図である。
【図１０】本発明の実施形態に係る動作指令生成装置により、警告表示されるプロトコルチャートの第３の例を示す図である。
【図１１】本発明の実施形態に係る動作指令生成装置により、警告表示されるプロトコルチャートの第４の例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の発明者の知見によれば、生化学、生物／生命工学における実験において、所期の結果を得られる可能性、すなわち、実験の再現性は、実験者の技量に依存する部分が大きく、実験結果の信頼性の検証等に支障をきたす場合がある。そこで、発明者は、実験をロボットを用いて実施することで、人為的要因を排除することを検討している。
【００１８】
しかしながら、これまで、プロトコルを記述する定まった書式は確立されておらず、それぞれの実験者が独自の書式でプロトコルを記述しているとみられる。そのため、あるプロトコルに基づいてロボットの動作を記述しようとすると、そのプロトコルとロボットの動作のプログラミングの両方に精通した技術者が必要となり、また、プロトコルの書式が変わると対応できなくなるなど、プロトコルに基づいてロボットの動作を記述することは、実用上非現実的である。
【００１９】
そこで、本発明者は、プロトコルに基づく実験をロボットに行わせるための動作指令を自動的に生成することについて鋭意研究開発を行い、新規かつ独創的な動作指令生成装置等を発明するに至った。以下、かかる動作指令生成装置等について、実施形態を例示して説明する。
【００２０】
図１は、本発明の実施形態に係る処理システム２００の物理的な構成を示す概略図である。処理システム２００は、プロトコルを図示したプロトコルチャートに基づき、ロボット３の動作指令を生成する動作指令生成装置１と、生成された動作指令に基づき、ロボット３を制御するロボット制御装置２と、ロボット制御装置２により制御され、実験を実行するロボット３とを含む。動作指令生成装置１自体は、専用の機器であってもよいが、ここでは一般的なコンピュータを使用して実現されている。すなわち、市販のコンピュータにおいて、当該コンピュータを動作指令生成装置１として動作させるコンピュータプログラムを実行することによりかかるコンピュータを動作指令生成装置１として使用する。かかるコンピュータプログラムは、一般にアプリケーションソフトウェアの形で提供され、コンピュータにインストールされて使用される。当該アプリケーションソフトウェアは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭその他のコンピュータ読み取り可能な適宜の情報記録媒体に記録されて提供されてよく、また、インターネット等の各種の情報通信ネットワークを通じて提供されてもよい。あるいは、情報通信ネットワークを通じて遠隔地にあるサーバによりその機能が提供される、いわゆるクラウドコンピューティングにより実現されてもよい。また、ロボット制御装置２は、ここではロボット３と一体となって、又は別体に設けられており、動作指令生成装置１により生成された動作指令に基いて、ロボット３に所望の動作を実行させる。
【００２１】
ロボット３は、多関節ロボットであり、処理対象に対する処理を行う。ロボット３は、アームによりピペット４を把持し操作する等、図示しあるいは図示しない実験器具を操作し、また、チューブ棚５に格納されたマイクロチューブ６を把持し、マイクロチューブ６をチューブ棚５からメインラック７等へ移動させるなど、図示しあるいは図示しない各種容器を移動させることができる。本実施形態では、ロボット３は、処理対象をマイクロチューブ６に注入する等、マイクロチューブ６に対する処理を行う場合、メインラック７にマイクロチューブ６を移動させ、メインラック７上で処理を行うようにしている。図１に示す例では、処理システム２００には、さらに、撹拌機８と、遠心分離器９等が含まれるが、これらは実験を行う場合に用いられる器具の一例であり、これらの器具に加えて又は換えて、他の器具が含まれてもよい。例えば、処理システム２００には、ペトリ皿を保管するラックや、マグネットラック等が含まれてもよい。また、ロボット３は図示した形態のものに限られず、単腕型ロボット等であってもよい。
【００２２】
図２は、本発明の実施形態に係る動作指令生成装置１の物理的な構成を示すブロック図である。図２に示した構成は、動作指令生成装置１として用いられる一般的なコンピュータを示しており、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１ｂ、外部記憶装置１ｃ、ＧＣ（Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ）１ｄ、入力デバイス１ｅ及びＩ／Ｏ（Ｉｎｐｕｒ／Ｏｕｔｐｕｔ）１ｆがデータバス１ｇにより相互に電気信号のやり取りができるよう接続されている。ここで、外部記憶装置１ｃはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の静的に情報を記録できる装置である。またＧＣ１ｄからの信号はフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ１ｈに出力され、画像として表示される。入力デバイス１ｅはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、Ｉ／Ｏ１ｆは動作指令生成装置１が外部の機器と情報をやり取りするためのインタフェースである。
【００２３】
図３は、本実施形態に係る動作指令生成装置１の機能ブロック図である。なお、ここで示した機能ブロックは、動作指令生成装置１が有する機能に着目して示したものであり、必ずしも各機能ブロックに１対１に対応する物理的構成が存在することを要しない。いくらかの機能ブロックは動作指令生成装置１のＣＰＵ１ａ等の情報処理装置が特定のソフトウェアを実行することにより実現され、またいくらかの機能ブロックは動作指令生成装置１のＲＡＭ１ｂ等の情報記憶装置に特定の記憶領域が割り当てられることにより実現されてよい。
【００２４】
動作指令生成装置１は、ユーザからの各種の入力を受け付ける入力部１０と、プロトコルを図示したプロトコルチャートを取得するプロトコルチャート取得部１１とを有する。また、動作指令生成装置１は、入力部１０により受けつけられた入力、及びプロトコルチャート取得部１１により取得されたプロトコルチャートに基づいて動作指令を生成する動作指令生成部１２と、取得されたプロトコルチャートが所定の記述を含む場合に警告する警告部２０とを有する。さらに、動作指令生成装置１は、生成中及び生成された動作指令の電子データを記憶する動作指令記憶部１７と、動作指令記憶部１７に記憶された動作指令の電子データを成形しモニタ１ｈに表示する動作指令表示部１９と、生成された動作指令をロボットが読み取り可能な形式の電子ファイルとして出力する動作指令出力部１８とを有する。
【００２５】
入力部１０は、通常は図２に示した入力デバイス１ｅにより構成されるが、動作指令生成装置１がクラウドコンピューティングに用いられるアプリケーションサーバである場合には、遠隔地にある端末上でのユーザの操作情報が入力されるＩ／Ｏ１ｆが該当することになる。
【００２６】
動作指令生成部１２には動作指令を生成するための種々の機能ブロックが含まれる。詳細は後ほど動作指令の生成手順を説明する際に合わせて説明するが、本実施形態に係る動作指令生成部１２には、プロトコルチャートに含まれる処理シンボルが示す処理のジョブを、処理シンボルに関連付けられた容器数生成するジョブ生成部１３が含まれる。また、動作指令生成部１２には、ジョブ生成部により生成されるジョブの実行順を、優先順位指示部１５に指示された優先順位に従って決定する実行順決定部１４と、実行順決定部１４がジョブの実行順を決定するにあたって用いる条件の優先順位を指定する優先順位指示部１５と、プロトコルチャートにより表される処理の干渉を判定する干渉判定部１６とが含まれる。
【００２７】
なお、本明細書において、動作指令とは、単一のジョブ又は複数のジョブが組み合わされたジョブの集合体であって、処理対象が収容される容器に対する一単位のものとして認識される処理を指示する指令をいうものとする。動作指令は、プロトコルチャートに表された個々のシンボルをロボットの単位動作であるジョブに変換し、変換されたジョブの実行順を加味しつつ統合することで生成される。
【００２８】
優先順位指示部１５には、通常処理指示部１５ａ、連続処理指示部１５ｂ及び繰返し処理指示部１５ｃが含まれる。通常処理指示部１５ａは、後述する連続処理や繰返し処理が指定されていない複数の処理シンボルについて、実行順決定部１４に対して、実行順決定部１４が通常決定すべき処理の優先順位を指示する。連続処理指示部１５ｂは、連続処理を指定された複数の処理シンボルについて、実行順決定部１４に対して、連続処理に特有の優先順位を指示する。また、繰返し処理指示部１５ｃは、繰返し処理を指定された１又は複数の処理シンボルについて、繰返し処理に特有の優先順位を指示する。
【００２９】
干渉判定部１６には、連続／繰返し判定部１６ａと、連続／非連続判定部１６ｂと、連続／一般判定部１６ｃと、繰返し／繰返し判定部１６ｄとが含まれる。連続／繰返し判定部１６ａは、連続処理を指定された一群の処理シンボルと、繰返し処理を指定された一群の処理シンボルとが、互いに部分的に重複するか否かを判定する。連続／非連続判定部１６ｂは、連続処理を指定された一群の処理シンボルと、連続処理からの除外が指定された一群の処理シンボルとの一方が他方を包含するか否かを判定する。連続／一般判定部１６ｃは、連続処理を指定された一群の処理シンボルと、他の処理シンボルとが、連続処理を示す方向に交差する方向に配置されているか否かを判定する。繰返し／繰返し判定部１６ｄは、繰返し処理を指定された２の一群の処理シンボルが、互いに部分的に重複するか否かを判定する。
【００３０】
図４は、本実施形態に係る動作指令生成装置１により取得されるプロトコルチャートの例を示す図である。
【００３１】
ここで、本明細書において、プロトコルチャートとは、プロトコルを視覚的に理解し得る態様で図示したものをいい、プロトコルとは生化学や生物・生命工学等の分野において処理対象に対しなされる前処理等の作業手順及び条件を指すものとする。また、処理対象とは、同分野において実験の対象となる材料をさす。一般には、細胞やＤＮＡ等の生体組織の一部であることが多い。また、処理対象は一般に実験に特に適した器具、例えば、マイクロチューブ（遠枕管）、ペトリ皿（シャーレ）やマイクロプレート（マイクロタイタープレート）に収容されて実験に供されるが、本明細書で単に容器と言えば、実験における処理対象の収容に適したこれらの器具を指すものとする。
【００３２】
また、便宜上、図４における上下方向を第１の方向と称し、第１の方向と交差する方向を第２の方向と称する。第１の方向と第２の方向との交差角度は必ずしも直角でなくともよいが、ここでは第１の方向と第２の方向は直交するものとする。そのため、第２の方向は図４における左右方向に向く。
【００３３】
本例のプロトコルチャートは、基本的には、処理対象を収容する容器の初期状態を示す初期シンボル１００と、その容器の最終状態を示す最終シンボル１０１を第１の方向に並べ、両者を初期シンボル１００から最終シンボル１０１に向かう順序線１０２で第１の方向に接続し、順序線１０２に沿って容器に対し行う個別の処理を示す処理シンボル１０３を配置したものである。図４に示す第１の例では、「Ｔｕｂｅ」と記載された初期シンボル１００及び最終シンボル１０１と、両者を接続する順序線１０２に関連付けられた複数の処理シンボル１０３とが記載されている。ここで、順序線１０２は、処理が行われる順序を矢線で表している。また、初期シンボル１００に重ねて「×２」と表示された容器数シンボル１０４が記載されている。容器数シンボル１０４は、初期シンボル１００に重ねて配置されることで、初期シンボル１００について順序線１０２で繋がれた複数の処理シンボルとの関連付けが明示されている。容器数シンボル１０４は、処理シンボル１０３が示す処理を２個の容器について行うことを表す。すなわち、本例のプロトコルチャートは、２本のマイクロチューブについて、複数の処理シンボル１０３が示す処理を行うプロトコルを表す。
【００３４】
本例のプロトコルチャートには、初期シンボル１００側から順に、「Ａ」と記載された処理シンボル１０３と、「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３とが記載されている。ここで、例えば「Ａ」と記載された処理シンボル１０３は、マイクロチューブに対して条件Ａの下で処理Ａを行うことを示している。処理の具体例としては、マイクロチューブの中に薬液を加える処理や、マイクロチューブ間で内容物を移送する処理、又はペトリ皿上に培養された細胞を取得するスクレープ処理等がある。
【００３５】
複数の処理シンボル１０３のうち、「Ａ」と記載された処理シンボル１０３と、「Ｂ」と記載された処理シンボル１０３とは、グループシンボル１０６で囲まれ、「Ｓｅｒｉｅｓ  ＯＮ」と表された連続処理シンボル１０６ａが重ねて配置されることで、連続処理を指定された一群の処理シンボルとなっている。また、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３とは、グループシンボル１０６で囲まれ、「Ｓｅｒｉｅｓ  ＯＦＦ」と表された非連続処理シンボル１０６ｂが重ねて配置されることで、連続処理からの除外が指定された一群の処理シンボルとなっている。
【００３６】
ここで、グループシンボル１０６は、一群の処理シンボル１０３を１つのグループにまとめて一群の処理シンボルとするものである。グループシンボル１０６は、プロトコルチャートを記載するユーザが、個々の処理を集めてユーザ定義の処理を記述する場合に用いられる。連続処理シンボル１０６ａは、連続処理を指定された一群の処理シンボルが示す処理を、容器毎に連続して行うことを表す。また、非連続処理シンボル１０６ｂは、連続処理からの除外が指定された一群の処理シンボルが示す処理（非連続処理）を、処理毎に全容器に対して並行して行うことを表す。
【００３７】
本例のプロトコルチャートには、繰返し線１０５と、繰返し線１０５に重ねて「×３」と表された繰返し数シンボル１０５ａとが記載されている。繰返し線１０５は、繰返し線１０５で指定される範囲に含まれる処理シンボル１０３が示す処理を、繰返し数シンボル１０５ａが表す数だけ繰返し行わせること（繰返し処理）を表す。本例の場合、繰返し線１０５及び繰返し数シンボル１０５ａは、処理Ａ、Ｂ、Ｃ及びＤを３回繰り返すことを表す。本例のプロトコルチャートでは、容器数シンボル１０４により、処理Ａ、Ｂ、Ｃ及びＤは２本のマイクロチューブに対して行われることが表されているから、繰返し線１０５及び繰返し数シンボル１０５ａと併せて、処理Ａ、Ｂ、Ｃ及びＤは、２本のマイクロチューブそれぞれについて、３回繰返し行うことが表されている。
【００３８】
本例のプロトコルチャートに示すように、繰返し処理は、連続処理又は非連続処理と併せて指定することができる。また、１本の順序線１０２に対して複数の繰返し線１０５を配置してもよいし、グループシンボル１０６が１又は複数のグループシンボル１０６で囲まれた処理シンボル１０３を含んでもよい。ただし、繰返し処理と連続処理を併せて指定する場合、両者が干渉しないように指定する必要がある。また、繰返し処理を複数指定する場合には繰返し処理同士の干渉が起こらないように指定する必要があり、グループシンボル１０６により他のグループシンボル１０６を囲む場合には連続処理と非連続処理の干渉が起こらないように指定する必要がある。さらに、連続処理と他の一般の処理が干渉しないように指定する必要もある。これらの干渉判定については、後に詳細に説明する。
【００３９】
本実施形態において、ジョブ生成部１３は、処理システム２００に対して、処理シンボル１０３が示す処理を行わせるジョブを、処理シンボル１０３に関連付けられた容器数（容器数シンボル１０４で表された容器数）生成する。さらに、ジョブ生成部１３は、繰返し処理を指定された１又は複数の処理シンボル１０３について、繰返し数（繰返し数シンボル１０５ａで表された繰返し数）だけジョブを繰返し生成する。したがって、ジョブ生成部１３は、１の処理シンボル１０３に関し、同処理シンボル１０３に関連付けられた容器数と、同処理シンボル１０３に指定された繰返し数の積に等しい個数のジョブを生成することになる。また、本実施形態において、実行順決定部１４は、ジョブ生成部１３により生成されるジョブの実行順を、［１］複数の処理シンボル１０３それぞれに対応するジョブが容器数だけ繰返されて実行されること、［２］プロトコルチャートにおける複数の処理シンボル１０３それぞれの配置順番に対応した順番で複数の処理シンボル１０３それぞれに対応するジョブが実行されること、さらに、［３］繰返し処理を指定された処理シンボル１０３に対応するジョブが、一括として指定された繰返し数だけ繰返し実行されること、の条件を用い、優先順位指示部１５により指示された優先順位で決定する。また、優先順位指示部１５は、実行順決定部１４に対し、各条件の優先順位を指示する。
【００４０】
通常処理指示部１５ａは、連続処理も、繰返し処理も指定されていない複数の処理シンボル１０３について、［１］を［２］に優先させる指示をする。これに対し、連続処理指示部１５ｂは、連続処理を指定された複数の処理シンボル１０３について、実行順決定部１４に対して、［２］を［１］に優先させる指示をする。さらに、繰返し処理指示部１５ｃは、繰返し処理を指定された１又は複数の処理シンボル１０３について、実行順決定部１４に対して、［１］及び［２］を［３］に優先させる指示をする。これらの本実施形態に係る動作指令生成装置１の機能について、次図を参照しつつ説明する。
【００４１】
図５は、本発明の実施形態に係る動作指令生成装置１により、図４に示すプロトコルチャートに基づいて生成される動作指令を示す概念図である。本実施形態に係る動作指令生成装置１は、プロトコルチャート取得部１１により、図４に示すプロトコルチャートを取得し、はじめに初期シンボル１００が示す処理を、ロボット３を含む処理システムに行わせるジョブを生成する（ＳＴ１０）。初期シンボル１００は、チューブ棚５に収容されたマイクロチューブ６をメインラック７に配置する処理を表す。ここで、容器数シンボル１０４に従い、２本のマイクロチューブ６をメインラック７に配置させるジョブが生成される。ジョブ生成部１３は、処理システム２００に含まれるロボット３に対して、マイクロチューブ６をチューブ棚５から移動させてメインラック７に配置させる動作を、マイクロチューブ６の配置位置分だけオフセットして、２本のマイクロチューブ６について繰返し行わせるジョブを生成する。
【００４２】
次に、ジョブ生成部１３は、「Ａ」と記載された処理シンボル１０３及び「Ｂ」と記載された処理シンボル１０３に基づいて、処理シンボル１０３に関連付けられた容器数（容器数シンボル１０４が表す容器数である２）だけ、処理システム２００に対して処理Ａ及び処理Ｂを行わせるジョブを生成する。このとき、実行順決定部１４は、処理シンボル１０３に連続処理も繰返し処理も指定されていなければ、通常処理指示部１５ａからの指示に従い、前述の条件［１］を［２］に優先させて、ジョブの実行順を決定する。処理Ａを行わせるジョブ及び処理Ｂを行わせるジョブは、それぞれ２本のマイクロチューブ６に対して行われるため、２つのジョブが１の処理シンボル１０３（「Ａ」と記載された処理シンボル１０３又は「Ｂ」と記載された処理シンボル１０３）に対応している。そのため、原則として、処理シンボル１０３の配置位置よりも、処理Ａ及び処理Ｂが２本のマイクロチューブ６について行われることが優先され、処理Ａを２本のマイクロチューブ６に対して行わせた後、処理Ｂを２本のマイクロチューブ６に対して行わせるという実行順でジョブが生成される。
【００４３】
しかしながら、図４に示すプロトコルチャートにおいて、「Ａ」と記載された処理シンボル１０３及び「Ｂ」と記載された処理シンボル１０３は、連続処理が指定された複数の処理シンボル１０３である。そのため、連続処理指示部１５ｂは、実行順決定部１４に対して、上記の条件［２］を［１］に優先させる指示をする。すなわち、連続処理指示部１５ｂは、「Ａ」と記載された処理シンボル１０３が初期シンボル１００側（順序線１０２について上流側）に配置され、「Ｂ」と記載された処理シンボル１０３が最終シンボル１０１側（順序線１０２について下流側）に配置されているという処理シンボル１０３の配置順番に対応した順番で複数の処理シンボルそれぞれに対応するジョブを実行することを、１の処理シンボル１０３に対応する２つのジョブを容器の数（＝２）だけ繰返し実行することに対して優先させる。その結果、ジョブ生成部１４は、処理システム２００に対して、単一のマイクロチューブについて処理Ａを行わせるジョブ（ＳＴ１１）と、処理Ｂを行わせるジョブ（ＳＴ１２）とを、２本のマイクロチューブについて繰り返すジョブを生成する。
【００４４】
次に、ジョブ生成部１３は、「Ｃ」と記載された処理シンボル１０３及び「Ｄ」と記載された処理シンボル１０３に基づいて、処理シンボル１０３に関連付けられた容器数（容器数シンボル１０４が表す容器数である２）だけ、処理システム２００に対して処理Ｃ及び処理Ｄを行わせるジョブを生成する。ここで、「Ｃ」と記載された処理シンボル１０３及び「Ｄ」と記載された処理シンボル１０３は、連続処理からの除外が指定された一群の処理シンボル１０３だから、これら処理シンボル１０３に対しては、通常処理指示部１５による指示通り、処理Ｃ及び処理Ｄが２本のマイクロチューブ６について行われることを優先してジョブの実行順を決定する。その結果、ジョブ生成部１３は、処理システム２００に対して、処理Ｃを２本のマイクロチューブ６について行わせるジョブ（ＳＴ１３）と、処理Ｄを２本のマイクロチューブ６について行わせるジョブ（ＳＴ１４）とを生成する。
【００４５】
さらに、「Ａ」〜「Ｄ」と記載された処理シンボル１０３には、繰返し処理が指定されており、その繰り返し回数は３であるから、ジョブ生成部１３は、この繰り返し回数の分だけ、各処理シンボルに対応するジョブを繰り返し生成する。そして、繰返し指示部１５ｃは、実行順決定部１４に対して、上記の条件［１］及び［２］を［３］に優先させる指示をする。その結果、例えば繰返し回数が１回目であるジョブについては、当該繰返し回数の中で条件［１］及び［２］に基づいて、生成されるジョブの実行順が決定される。条件［１］と［２］のいずれが優先されるかは、前述したとおり、通常処理指示部１５ａと連続処理指示部１５ｂのいずれかからの指示がなされるかにより定まる。当該繰り返し回数に属するジョブの実行が全てなされるようにその順番が決定されると、続いて、次の繰り返し回数に属するジョブの実行順が同様に決定される。このようにして、繰返し処理を指定された処理シンボルに対応するジョブが、一括として指定された繰返し数だけ繰返し実行されることになる。
【００４６】
最後に、ジョブ生成部１３は、最終シンボル１０１に基づいて、処理システム２００に対して、２本のマイクロチューブ６を４℃の恒温槽に収容させるジョブを生成する（Ｓ１５）。
【００４７】
図６は、本発明の実施形態に係る動作指令生成装置１により、図４に示すプロトコルチャートに基づいて生成される動作指令のフローチャートである。図４に示すプロトコルチャートに基づいて生成される動作指令は、第１マイクロチューブ（チューブ棚５に収容された１本目のマイクロチューブ６）をチューブ棚５から移動させてメインラック７に配置させるジョブ（ＳＴ２０）から始まる。続いて、第２マイクロチューブ（チューブ棚５に収容された２本目のマイクロチューブ６）をチューブ棚５から移動させてメインラック７に配置させるジョブ（ＳＴ２１）が実行される。
【００４８】
そして、連続処理が指定された処理Ａと処理Ｂについて、第１マイクロチューブについて処理Ａを行わせるジョブが実行され（ＳＴ２２）、第１マイクロチューブについて処理Ｂを行わせるジョブが実行される（ＳＴ２３）。続いて、第２マイクロチューブについて処理Ａを行わせるジョブが実行され（ＳＴ２４）、第２マイクロチューブについて処理Ｂを行わせるジョブが実行される（ＳＴ２５）。
【００４９】
次に、連続処理からの除外が指定された処理Ｃと処理Ｄについて、第１マイクロチューブについて処理Ｃを行わせるジョブが実行され（ＳＴ２６）、第２マイクロチューブについて処理Ｃを行わせるジョブが実行される（ＳＴ２７）。さらに、第１マイクロチューブについて処理Ｄを行わせるジョブが実行され（ＳＴ２８）、第２マイクロチューブについて処理Ｄを行わせるジョブが実行される（ＳＴ２９）。
【００５０】
そして、２本のマイクロチューブ６に対する処理Ａ、処理Ｂ、処理Ｃ及び処理Ｄが、繰返し数である３回繰返し行われたかが判定され（ＳＴ３０）、３回行われていない場合には、ＳＴ２２〜ＳＴ２９の処理を行わせるジョブがさらに実行される。処理Ａ、処理Ｂ、処理Ｃ及び処理Ｄが、３回繰返し行われたと判定されると、第１マイクロチューブを所定の場所に収容する処理を行わせるジョブが実行され（ＳＴ３１）、第２マイクロチューブを所定の場所に収容する処理を行わせるジョブが実行される（ＳＴ３２）。
【００５１】
本実施形態に係るジョブ生成部１３により生成されるジョブは、連続処理を指定された一群の処理を容器数分繰り返す指令と、繰り返し処理を指定された一群の処理を繰り返し数分繰り返す指令と、を含む第１レベルジョブと、連続処理を指定された一群の処理以外の個々の処理を容器数分繰り返す指令と、連続処理を指定された一群の処理を１度行う指令とを含む第２レベルジョブと、を含む。
【００５２】
図７は、本実施形態に係る動作指令生成装置１が、図４に示すプロトコルチャートに基づいて、図６に示す動作指令のフローを生成する際に、中間的に生成されるジョブのフローを示す図である。本実施形態では、ジョブを第１レベルジョブと第２レベルジョブとに分け、階層構造とすることで、プロトコルチャートを円滑に動作指令へと変換している。図７では、ジョブの階層構造を示すために、第１レベルジョブを左側に、第２レベルジョブを右側に示した。
【００５３】
はじめに、図４のプロトコルチャートに含まれる初期シンボル１００は、第２レベルジョブとしてマイクロチューブを準備するジョブに変換される（ＳＴ４０）。ここで、容器数が２であることは、このジョブが２つの容器に対して繰返し行われる動作指令に変換されることを意味する。これに対し、連続処理シンボル１０６ａは、第１レベルジョブである連続処理指令に変換される（ＳＴ４１）。連続処理指令は、連続処理指令に属する第２レベルジョブを容器番号１〜２に対して繰り返すことを示している。ここで、連続処理指令に属する第２レベルジョブは、処理Ａを行わせるジョブ（ＳＴ４２）及び処理Ｂを行わせるジョブ（ＳＴ４３）であり、これらは容器数が１であり、複数容器に対する繰返し動作は行わない。処理Ａ及び処理Ｂがその対象とする容器の番号は、連続処理指令により指定される。すなわち、連続処理指令は、容器番号を順に指定して、容器数が１である第２レベルジョブを繰返し呼び出す指令である。処理Ａ及び処理Ｂは、容器番号１について連続処理指令によって順に呼び出され、次いで容器番号２について順に呼び出され、これにより連続処理の順が決定されることになる。
【００５４】
処理Ｃ及び処理Ｄを行わせるジョブは、通常の処理の順であるから、それぞれ、容器数を２とする第２レベルジョブで記述され、動作指令に変換される（ＳＴ４４、ＳＴ４５）。
【００５５】
繰返し処理指令（ＳＴ４６）は、繰返し回数だけ、繰返し指定がなされた範囲の先頭に処理を戻す指令である。繰返し処理指令は、繰返し処理指令に属する第２レベルジョブを繰返し回数１〜３だけ繰り返すことを示している。ここで、繰返し処理指令に属する第２レベルジョブは、連続処理指令がされた処理Ａ及び処理Ｂと、通常の処理である処理Ｃ及び処理Ｄである。これにより、繰返し処理が指定された範囲内にある第２レベルジョブが繰返し回数だけ繰返しあらわれることになり、繰返しについての順が決定されることとなる。
【００５６】
最後に、最終シンボル１０１は、第２レベルジョブとしてマイクロチューブを収容するジョブに変換される（ＳＴ４７）。ここで、容器数が２であることは、このジョブが２つの容器に対して繰返し行われる動作指令に変換されることを意味する。
【００５７】
以上のように、第１レベルジョブは第２レベルジョブを呼び出すことにより、間接的に動作指令へと変換される命令である。そして、第２レベルジョブは、ロボット３のジョブに直接変換される命令である。このように、階層化されたデータ構造とすることで、直接的に動作指令に変換される命令群として用意した第２レベルジョブを追加することなく、これを活用して連続処理や繰返し処理等の高度な制御が実現できる。
【００５８】
本実施形態に係るジョブ生成部１３は、連続処理ジョブ生成部と、繰返し処理ジョブ生成部と、個別処理ジョブ生成部とを含む。連続処理ジョブ生成部は、連続処理を指定された複数の処理シンボル１０３が示す処理を、処理システム２００に容器数（容器数シンボル１０４で表された数）分繰り返させるジョブを生成する。繰返し処理ジョブ生成部は、繰返し処理を指定された１又は複数の処理シンボル１０３が示す処理を、処理システム２００に繰り返し数（繰返し数シンボル１０５ａ）分繰り返させるジョブを生成する。また、個別処理ジョブ生成部は、連続処理を指定されていない処理シンボル１０３が示す処理を、処理システム２００に容器数分繰り返させるジョブを生成し、連続処理を指定された処理シンボル１０３が示す処理を、処理システム２００に１度行わせるジョブを生成する。これにより、ジョブ生成部１３により第１レベルジョブと第２レベルジョブという階層化されたジョブが生成され、系統的なジョブ生成が行われ、ジョブの管理が容易となる。
【００５９】
なお、後述するように、プロトコルチャートの第１の方向についての配置位置が同じ処理シンボル１０３については、第２の方向についての配置位置に基づいてジョブの実行順が決定される。本実施形態に係る実行順決定部１４の場合、プロトコルチャートの左に配置された処理シンボル１０３が示す処理を優先して実行するようにジョブの実行順を決定する。
【００６０】
本実施形態に係る動作指令生成装置１によれば、同じ処理を複数の容器に対して繰返し行う場合に、ロボット３を効率的に動作させる動作指令が自動的に生成される。また、同じ処理を複数の容器に対して繰返し行う場合に、ロボット３のアーム位置を容器毎にオフセットして、容器数だけ同じ処理を繰り返す動作指令が自動的に生成される。さらに、連続処理が指定された複数の処理シンボル１０３を含むプロトコルチャートに基づいて、容器毎に連続処理を行わせる動作指令が自動的に生成される。
【００６１】
本実施形態に係る動作指令生成装置１によれば、繰返し処理が指定された１又は複数の処理シンボル１０３を含むプロトコルチャートに基づいて、繰返し処理を行わせる動作指令が自動的に生成される。繰返し処理は、プロトコルチャートにおいて繰返し線１０５及び繰返し数シンボル１０５ａを配置することで表される。本実施形態に係る動作指令生成装置１によれば、繰返し線１０５及び繰返し数シンボル１０５ａを用いて簡潔に記載されたプロトコルチャートに基づいて、繰返し処理を行わせる動作指令が自動的に生成される。
【００６２】
図８は、本発明の実施形態に係る動作指令生成装置１により、警告表示されるプロトコルチャートの第１の例を示す図である。図８に示すプロトコルチャートでは、繰返し線１０５が、「Ａ」と記載された処理シンボル１０３と「Ｂ」と記載された処理シンボル１０３との間に配置されている。一方、図４に示すプロトコルチャートでは、繰返し線１０５が、初期シンボル１００と「Ａ」と記載された処理シンボル１０３との間に配置されていた。
【００６３】
本例のプロトコルチャートでは、繰返し線１０５が、連続処理が指定された一群の処理シンボル１０３（「Ａ」と記載された処理シンボル１０３と「Ｂ」と記載された処理シンボル１０３）の間に配置されている。そのため、処理Ａ、処理Ｂ、処理Ｃ及び処理Ｄを一度行わせた後、処理Ｂ以降を繰り返し行わせることとなるが、処理Ａと処理Ｂは連続処理が指定されているため、処理Ｂのみを行うことは、当該連続処理の指定とは両立しない。
【００６４】
本実施形態に係る連続／繰返し判定部１６ａは、プロトコルチャート取得部１１により取得されたプロトコルチャートに基づき、連続処理を指定された一群の処理シンボルと、繰返し処理を指定された一群の処理シンボルとが、互いに部分的に重複するか否かを判定する。本例のプロトコルチャートの場合、連続／繰返し判定部１６ａは、連続処理を指定された一群の処理シンボル（「Ａ」と記載された処理シンボル１０３と「Ｂ」と記載された処理シンボル１０３）と、繰返し処理を指定された一群の処理シンボル（「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３）とは、「Ｂ」と記載された処理シンボル１０３において互いに部分的に重複していると判定する。
【００６５】
連続／繰返し判定部１６ａによる判定を受けて、警告部２０は動作指令生成装置１のユーザに対して警告をする。警告は、例えばモニタ１ｈに警告文を表示することにより行われる。
【００６６】
本実施形態に係る警告部２０は、ジョブ生成部１３がジョブを生成する時に、警告を発する。警告部２０が警告を発するタイミングは、必ずしも動作指令生成装置１がロボット制御装置２に対して読み込ませる動作指令を生成する時でなくてもよく、動作指令生成装置１がプロトコルチャートに基づいて動作指令の生成をシミュレートする時であってもよい。
【００６７】
本実施形態に係る動作指令生成装置１によれば、連続処理の指定と繰返し処理の指定とが両立しない場合に警告が発せられ、連続処理と繰返し処理の干渉が防止される。動作指令生成装置１のユーザは、連続処理と繰返し処理が干渉する警告を受けて、プロトコルチャートを編集して、矛盾の無いプロトコルを記載することができる。また、動作指令生成装置１のユーザは、ジョブを生成する時まで、不要な警告に煩わされること無くプロトコルチャートを自由に編集することができる。
【００６８】
図９は、本発明の実施形態に係る動作指令生成装置１により、警告表示されるプロトコルチャートの第２の例を示す図である。図９に示すプロトコルチャートでは、連続処理シンボル１０６ａが関連付けられたグループシンボル１０６の内部に、非連続処理シンボル１０６ｂが関連付けられたグループシンボル１０６が配置されている。
【００６９】
本例のプロトコルチャートでは、連続処理が指定された一群の処理シンボル１０３（「Ａ」と記載された処理シンボル１０３と、「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３）が、連続処理からの除外が指定された一群の処理シンボル１０３（「Ｂ」と記載された処理シンボル１０３と「Ｃ」と記載された処理シンボル１０３）を包含する。そのため、「Ｂ」と記載された処理シンボル１０３及び「Ｃ」と記載された処理シンボル１０３について、連続処理の指定と連続処理からの除外の指定とが両立しない。
【００７０】
本実施形態に係る連続／非連続判定部１６ｂは、プロトコルチャート取得部１１により取得されたプロトコルチャートに基づき、連続処理を指定された一群の処理シンボルと、連続処理からの除外が指定された一群の処理シンボルとの一方が他方を包含するか否かを判定する。本例のプロトコルチャートの場合、連続／非連続判定部１６ｂは、連続処理を指定された一群の処理シンボル（「Ａ」と記載された処理シンボル１０３と、「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３）と、繰返し処理を指定された一群の処理シンボル（「Ｂ」と記載された処理シンボル１０３と「Ｃ」と記載された処理シンボル１０３）とのうち、連続処理を指定された一群の処理シンボルが、連続処理からの除外が指定された一群の処理シンボルを包含していると判定する。
【００７１】
連続／非連続判定部１６ｂによる判定を受けて、警告部２０は、例えばモニタ１ｈに警告文を表示することにより、動作指令生成装置１のユーザに対して警告をする。警告部２０は、ジョブ生成部１３がジョブを生成する時に警告を発してよい。
【００７２】
本実施形態に係る動作指令生成装置１によれば、連続処理の指定と非連続処理の指定とが両立しない場合に警告が発せられ、連続処理と非連続処理の干渉が防止される。動作指令生成装置１のユーザは、連続処理と非連続処理が干渉する警告を受けて、プロトコルチャートを編集して、矛盾の無いプロトコルを記載することができる。また、動作指令生成装置１のユーザは、ジョブを生成する時まで、不要な警告に煩わされること無くプロトコルチャートを自由に編集することができる。
【００７３】
図１０は、本発明の実施形態に係る動作指令生成装置１により、警告表示されるプロトコルチャートの第３の例を示す図である。図１０に示すプロトコルチャートは、２本のマイクロチューブそれぞれに対して処理Ａ及び処理Ｂを連続して行い、その後処理Ｃを行うプロトコルと、１本のマイクロチューブに対して処理Ｄと処理Ｅを行うプロトコルを表す。
【００７４】
本実施形態に係る動作指令生成装置１は、実行順決定部１４によりジョブの実行順を決定するにあたって、プロトコルチャートにおける処理シンボル１０３の配置位置を参照する。実行順決定部１４は、第１の方向（連続処理を示す方向、図１０の上下方向）について同じ位置に複数の処理シンボル１０３が配置されている場合、第２の方向（第１の方向に交差する方向、図１０の左右方向）についての配置位置に基づいて、ジョブの実行順を決定する。具体的に、本実施形態に係る動作指令生成装置１は、プロトコルチャートの左側に配置された処理シンボル１０３が示す処理ほど先に行われるようにジョブの実行順を決定する。そのため、処理Ｃと処理Ｅでは、処理Ｃの実行が優先され、２本のマイクロチューブに対して処理Ｃを行わせた後、他の１本のマイクロチューブに対して処理Ｅを行わせる動作指令が生成される。しかしながら、「Ａ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３とは、第１の方向（連続処理を示す方向）に交差する第２の方向に配置されており、処理Ａ及び処理Ｂについての連続処理の指示と、処理Ａの後に処理Ｄを行う指示とは両立しない。
【００７５】
本実施形態に係る連続／一般判定部１６ｃは、プロトコルチャート取得部１１により取得されたプロトコルチャートに基づき、連続処理を指定された一群の処理シンボルと、他の処理シンボルとが、連続処理を示す方向に交差する方向に配置されているか否かを判定する。本例のプロトコルチャートの場合、連続／一般判定部１６ｃは、連続処理を指定された一群の処理シンボル（「Ａ」と記載された処理シンボル１０３と、「Ｂ」と記載された処理シンボル１０３）と、他の処理シンボル（「Ｄ」と記載された処理シンボル１０３）とが、連続処理を示す方向に交差する方向（図１０に示すプロトコルチャートにおける左右方向）に配置されていると判定する。
【００７６】
連続／一般判定部１６ｃによる判定を受けて、警告部２０は、例えばモニタ１ｈに警告文を表示することにより、動作指令生成装置１のユーザに対して警告をする。警告部２０は、ジョブ生成部１３がジョブを生成する時に警告を発してよい。
【００７７】
本実施形態に係る動作指令生成装置１によれば、連続処理の指示と一般の処理の指示とが両立しない場合に警告が発せられ、連続処理と一般の処理の干渉が防止される。動作指令生成装置１のユーザは、連続処理と一般の処理が干渉する警告を受けて、プロトコルチャートを編集して、矛盾の無いプロトコルを記載することができる。また、動作指令生成装置１のユーザは、ジョブを生成する時まで、不要な警告に煩わされること無くプロトコルチャートを自由に編集することができる。
【００７８】
図１１は、本発明の実施形態に係る動作指令生成装置１により、警告表示されるプロトコルチャートの第４の例を示す図である。図１１に示すプロトコルチャートでは、「×３」と表された繰り返し数シンボル１０５ａが関連付けられた繰返し線１０５と、「×４」と表された繰り返し数シンボル１０５ａが関連付けられた繰返し線１０５の２本の繰返し線１０５が配置されている。
【００７９】
本例のプロトコルチャートでは、繰返し処理が指定された一群の処理シンボル１０３（「Ａ」と記載された処理シンボル１０３と「Ｂ」と記載された処理シンボル１０３）が、もう１つの繰返し処理が指定された一群の処理シンボル１０３（「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３）とが、「Ｂ」と記載された処理シンボル１０３について重複する。ここで、処理Ａと処理Ｂを３回繰返し行わせる指示と、処理Ｂと処理Ｃと処理Ｄを４回繰返し行わせる指示とは両立しない。
【００８０】
本実施形態に係る繰返し／繰返し判定部１６ｄは、プロトコルチャート取得部１１により取得されたプロトコルチャートに基づき、繰返し処理を指定された２の一群の処理シンボルが、互いに部分的に重複するか否かを判定する。本例のプロトコルチャートの場合、繰返し／繰返し判定部１６ｄは、繰返し処理を指定された一群の処理シンボル（「Ａ」と記載された処理シンボル１０３と「Ｂ」と記載された処理シンボル１０３）と、繰返し処理を指定された一群の処理シンボル（「Ｂ」と記載された処理シンボル１０３と、「Ｃ」と記載された処理シンボル１０３と、「Ｄ」と記載された処理シンボル１０３）が、互いに部分的に重複すると判定する。
【００８１】
繰返し／繰返し判定部１６ｄによる判定を受けて、警告部２０は、例えばモニタ１ｈに警告文を表示することにより、動作指令生成装置１のユーザに対して警告をする。警告部２０は、ジョブ生成部１３がジョブを生成する時に警告を発してよい。
【００８２】
本実施形態に係る動作指令生成装置１によれば、２の繰返し処理が部分的に重複して指定される場合に警告が発せられ、繰返し処理同士の干渉が防止される。動作指令生成装置１のユーザは、繰返し処理同士が干渉する警告を受けて、プロトコルチャートを編集して、矛盾の無いプロトコルを記載することができる。また、動作指令生成装置１のユーザは、ジョブを生成する時まで、不要な警告に煩わされること無くプロトコルチャートを自由に編集することができる。
【００８３】
以上説明した実施形態の構成は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成そのものに限定することは意図されていない。当業者はこれら開示された実施形態に種々の変形、例えば、機能や操作方法の変更や追加等を加えてもよく、また、フローチャートに示した制御は、同等の機能を奏する他の制御に置き換えてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【図１】
0006455530.tif 000002
【図２】
0006455530.tif 000003
【図３】
0006455530.tif 000004
【図４】
0006455530.tif 000005
【図５】
0006455530.tif 000006
【図６】
0006455530.tif 000007
【図７】
0006455530.tif 000008
【図８】
0006455530.tif 000009
【図９】
0006455530.tif 000010
【図１０】
0006455530.tif 000011
【図１１】
0006455530.tif 000012