図1には、本発明の実施形態に係る検体分析システムの一例が示されている。検体分析システム10は、検体処理装置としての検体搬送システム12、検体分析装置14、及び、前処理装置等を含むシステムである。図1には、上方から見た状態の検体搬送システム12が示されている。
検体搬送システム12は、検体分析装置14等の上流に設置され、検体容器16を保持した検体容器ラック18を下流の検体分析装置14等に搬送するシステムである。
検体分析装置14は、検体容器に収容された検体を分析する装置である。例えば、検体分析装置14は、検体容器に収容された検体に対して光(赤外光等)を照射し、検体を透過又は反射した光を検出することにより検体を分析する。もちろん、検体分析装置14は、他の手法によって検体を分析する機能を備えていてもよい。
前処理装置は、検体分析に先立って、検体に対して所定の前処理を行う装置である。前処理装置として、検体が収容されている容器(親検体容器)から、別の容器(子検体容器)に検体を分注する分注装置、検体の成分を遠心力により分離させる遠心分離装置、検体容器を識別するためのラベルを作成して検体容器に貼付するラベリング装置等がある。
検体容器16は、試験管、採血管、チューブ状のカップ又はその他の部材によって構成され、検体を収容する。検体は、血液、尿、試薬等である。検体容器16は、分注前の検体が収容されている親検体容器であってもよいし、分注後の検体が収容されている子検体容器であってもよい。検体容器16の外周面には、識別情報ラベルとしてのバーコードラベルが貼付されている。
検体容器16は、検体容器ラック18に保持されている。検体容器ラック18は、1又は複数の検体容器16を立てた状態で搬送方向(図1中のT方向)に沿って一列に並べて保持することができるようになっている。図1に示す例では、5本の検体容器16が検体容器ラック18に一列に保持され、それらがラック単位で搬送される。もちろん、1本の検体容器16のみを保持することが可能な検体容器ラックが用いられてもよい。
搬送機構20は、例えばベルトコンベアであり、検体容器ラック18を下流側(図中のT方向)に搬送する。
ハンドリング機構22は、検体容器16を取り扱う機構であり、検体容器16を掴む一対のアーム(アーム24,26)を備えている。個々のアーム24,26の先端には、検体容器16を回転させる回転機構28,30が設けられている。回転機構28,30は、例えばステッピングモータによって駆動され、検体容器16を最大で360°回転させることができる。また、ハンドリング機構22は、アーム24,26を上下方向に昇降させる昇降機構を備えている。この昇降機構によって、検体容器16が検体容器ラック18から持ち上げられる。例えば、検体容器16は、昇降機構によって持ち上げられた状態で、回転機構28,30によって、CW(Clockwise)方向(時計周りの方向)、又は、CCW(Counterclockwise)方向(反時計回りの方向)に回転させられる。
バーコードリーダ32は、検体容器16の外周面に貼付されたバーコードラベルに光(例えばレーザ光34)を照射し、バーコードラベルからの反射光を検出することにより、バーコードラベルからラベル情報としてのバーコードを光学的に読み取る読取装置である。例えば、バーコードリーダ32は、ハンドリング機構22によって検体容器16が持ち上げられた状態で、バーコードラベルを読み取る。または、検体容器ラック18に切り欠き部を形成しておき、バーコードリーダ32は、その切り欠き部を通して、検体容器16へのレーザ光34の照射と、検体容器16からの反射光の検出と、を行ってもよい。この場合、検体容器16を検体容器ラック18から持ち上げずに検体容器16に収容した状態で、バーコードの読み取りが行われる。
制御部36は、検体搬送システム12の各部を制御する。例えば、制御部36は、ハンドリング機構22による検体容器16のハンドリング動作、回転動作及び昇降動作を制御する。制御部36は、ステッピングモータを制御することにより、回転機構28,30によって回転させられた検体容器16の回転角度(回転位置)を検出することができる。本実施形態では、制御部36は、バーコードリーダ32による読取結果を示す情報をバーコードリーダ32から受け、その読取結果に基づいて回転機構28,30による回転動作を制御することにより、検体容器16に貼付されたバーコードラベルを目標の向きへと向ける。例えば、制御部36は、その読取結果に基づいてバーコードラベルにおけるバーコードエリアのエッジを検出し、そのエッジを基準にして、検体容器ラック18に対して検体容器16の向きを目標の向きに合わせるように、回転機構28,30を制御する。エッジ検出処理においては、制御部36は、粗サーチと精細サーチとを実行することにより、バーコードエリアのエッジを検出する。制御部36は、粗サーチでは、粗い回転角度で検体容器16が回転するように回転機構28,30を制御し、精細サーチでは、より精細な回転角度で検体容器16が回転するように回転機構28,30を制御する。例えば、制御部36は、粗サーチと精細サーチとでは、逆方向に検体容器16が回転するように回転機構28,30を制御する。具体的には、制御部36は、粗サーチでは、バーコードリーダ32によってバーコードが読み取られない回転位置まで検体容器16が回転するように回転機構28,30を制御し、精細サーチでは、その回転位置からバーコードリーダ32によってバーコードが読み取られる回転位置まで、粗サーチとは逆方向に検体容器16が回転するように回転機構28,30を制御する。制御部36は、例えばCPUやメモリを備えている。例えば、CPUが所定のプログラムを実行することにより、制御部36による制御が実現される。
ユーザインターフェース部(UI部)38は、入力デバイスと表示デバイスとを備え、制御部36に接続されている。入力デバイスによって各種の情報や命令の入力が可能となっている。表示デバイスには、各種の情報が表示される。
ここで、検体容器16の回転角度(回転位置)について説明する。例えば、検体容器ラック18の一方の側面18a(図1においては、搬送方向(T方向)に平行な側面)を基準とする。その側面18aの向きを前方(0°に対応する向き)とし、これと反対の向きを後方(+180°又は−180°に対応する向き)とし、前方からCW方向(時計周りの方向)に90°回転した向きを右向き(+90°に対応する向き)とし、前方からCCW方向(反時計回りの方向)に90°回転した向きを左向き(−90°に対応する向き)とする。前方を向いた面を正面とし、後方を向いた面を背面とし、右向きの面を右面とし、左向きの面を左面とする。この基準によると、本実施形態では、バーコードリーダ32は、0°の位置を基準として、CW方向に90°回転した位置(+90°の位置)に配置されている。なお、この基準は一例であり、検体容器ラック18の他の部分が回転角度(回転位置)の基準として用いられてもよいし、検体容器ラック18以外の部分が、基準として用いられてもよい。
図2には、検体容器16が斜視図として示されている。検体容器16は、例えば、上下方向に延び、底面を有する筒状の容器である。検体容器16の外周面には、バーコードラベル40が貼付されている。バーコードラベル40は、一例として、ラベル情報としてのバーコードが記述されているバーコードエリア42と、そのバーコードエリア42の周囲に配置され、バーコードが記述されていない非バーコードエリア44と、によって構成されている。もちろん、非バーコードエリア44が設けられず、バーコードラベル40の全エリアがバーコードエリア42によって構成されていてもよい。バーコードは、検体容器16を識別するための情報を示すコードであり、例えば、検体ID、患者ID、患者氏名、病院名、採取日時等を示す。バーコードリーダ32からバーコードエリア42に対してレーザ光34を照射し、レーザ光34を上下方向にスキャンすることにより、バーコードエリア42からバーコード(ラベル情報)が読み取られる。
図3には、上方から見た状態の検体容器16が示されている。検体容器16の外周面には、所定角度θxの範囲にわたってバーコードエリア42(バーコード)が形成されている。角度θxは例えば120°である。この場合、全周(360°)のうち、120°にわたる範囲にバーコードエリア42が形成されていることになる。もちろん、120°以外の角度範囲にわたってバーコードエリア42が形成されていてもよい。ここで、回転方向におけるバーコードエリア42のエッジのうち、CW方向(時計周りの方向)を向くエッジを右エッジ46とし、CCW方向(反時計回りの方向)を向くエッジを左エッジ48とする。右エッジ46から左エッジ48にかけてバーコードが形成されていることになる。
次に、図4に示されているフローチャートを参照して、エッジ検出処理(粗サーチ、精細サーチ)について説明する。
まず、測定者は、UI部38を利用して、検体容器ラック18に対する検体容器16の目標回転角度θt(目標の向きに対応する回転角度)を入力する(S01)。例えば、目標の向きは、バーコードエリア42の中心の目標の向きであり、目標回転角度θtは、その中心の目標の向きに対応する回転角度である。この場合、目標回転角度θtは、バーコードエリア42の中心の目標回転角度ということになる。もちろん、目標の向きは、中心以外の箇所の目標の向きであってもよく、中心以外の箇所の向きを目標の向きに合わせるようにしてもよい。中心以外の箇所は、バーコードラベル40内の箇所であってもよいし、検体容器16におけるバーコードラベル40以外の箇所であってもよい。以下の説明では、一例として、バーコードエリア42の中心の向きを、目標の向きに合わせる場合について説明する。
目標回転角度θtとして、例えば、下流の検体分析装置14に適した角度が使用される。具体的には、目標の向きは、下流の検体分析装置14において分析やバーコードの読み取り処理等に適した向きに対応し、目標回転角度θtは、その適した向きに対応する回転角度である。つまり、目標の向きは、検体分析装置14において検体容器16(バーコードエリア42)に向いてほしい向きであり、目標回転角度θtは、その向きに対応する回転角度である。
例えば、検体分析装置14に適したバーコードエリア42の中心の向きが、検体容器ラック18に対する関係で「前方」であれば、目標回転角度θtとして0°が入力されることになる。また、その適した向きが「後方」であれば、目標回転角度θtとして+180°又は−180°が入力され、その適した向きが「右向き」であれば、目標回転角度θtとして+90°が入力され、その適した向きが「左向き」であれば、目標回転角度θtとして−90°が入力されることになる。もちろん、目標回転角度θtとして任意の回転角度が入力されてもよい。
制御部36は、入力された目標回転角度θtに応じて、粗サーチにおける検体容器16の回転方向(X方向)と、精細サーチにおける検体容器16の回転方向(Y方向)と、を決定する。例えば、目標回転角度θtが−90°〜+90°の範囲に含まれる場合、つまり、−90°≦θt≦+90°の関係が成立する場合(S02,Yes)、粗サーチにおける回転方向(X方向)としてCCW方向(反時計回りの方向)が使用され、精細サーチにおける回転方向(Y方向)としてCW(時計回りの方向)が使用される(S03)。一方、目標回転角度θtが−90°〜+90°の範囲に含まれない場合、つまり、−90°<θt≦−180°の関係、又は、+90°<θt≦+180°の関係が成立する場合(S02,No)、粗サーチにおける回転方向(X方向)としてCW方向が使用され、精細サーチにおける回転方向(Y方向)としてCCW方向が使用される(S04)。
検体容器16を保持した検体容器ラック18がハンドリング機構22まで搬送されてきて、ハンドリング機構22によって検体容器16が検体容器ラック18から持ち上げられる。以降、エッジ検出処理が行われる。
まず、粗サーチが実行される。この粗サーチでは、検体容器16を粗い回転角度θaで回転させつつバーコードリーダ32による読み取りを行うことにより、バーコードリーダ32によってバーコードが読み取られない非可読エリアまで検体容器16を回転させる。回転角度θaは、後述する精細サーチにおける回転角度よりも大きい角度である。粗サーチでは、検体容器16を高速で回転させながら、非可読エリアを検出しているともいえる。具体的には、以下のステップに従って粗サーチが実行される。
まず、バーコードリーダ32によるバーコードの読み取りが開始される(S05)。具体的には、バーコードリーダ32は、制御部36の制御の下、検体容器16の外周面にレーザ光34を照射し、その外周面からの反射光を検出する。バーコードリーダ32によるバーコードの読み取りが成功した場合(S06,Yes)、処理はステップS07に移行する。一方、バーコードの読み取りが失敗した場合(S06,No)、処理はステップS09に移行する。例えば、1度読み取りに成功すると、読み取りを終了する。一例として、100ms以内にバーコードリーダ32によってバーコードが読み取られた場合、読み取り成功とし、100ms以内にバーコードが読み取られなかった場合、読み取り失敗とする。
ステップS07においては、検体容器16が回転機構28,30によって1周(360°)回転させられたか否かが判断される。この判断は制御部36によって行われる。例えば、制御部36は、回転機構28,30を駆動するステッピングモータの回転角度(回転量)に基づいて、検体容器16の回転角度を検出する。
検体容器16が1周(360°)回転した場合(S07,Yes)、処理は終了する。この場合、検体容器16の外周面の全エリアにバーコードラベル40が貼付されており、バーコードエリア42のエッジが検出されないと想定されるので、処理は終了する。
検体容器16が1周(360°)回転していない場合(S07,No)、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向に回転角度θa、回転させる(S08)。回転角度θaは、一例として30°である。もちろん、30°以外の角度が回転角度θaとして採用されてもよい。目標回転角度θtが−90°〜+90°の範囲に含まれる場合、検体容器16はCCW方向に回転させられる。一方、目標回転角度θtが−90〜+90°の範囲に含まれない場合、検体容器16はCW方向に回転させられる。そして、処理はステップS05に戻り、バーコードリーダ32によるバーコードの読み取りが行われる。以降、バーコードが読み取られない非可読エリアまで検体容器16が回転させられるまで、ステップS05〜S08の処理が繰り返し実行される。バーコードの読み取りが失敗した場合(S06,No)、粗サーチは終了し、処理はステップS09に移行する。また、検体容器16が1周回転した場合(S07,Yes)、処理は終了する。
バーコードの読み取りが失敗した場合(S06,No)、精細サーチが実行される。精細サーチでは、バーコードリーダ32によってバーコードが読み取られない回転角度(回転位置)から検体容器16を回転させつつ、バーコードリーダ32による読み取りを行うことにより、バーコードエリア42の一方のエッジ(右エッジ46又は左エッジ48)を検出する。
精細サーチでは、具体的には、バーコードリーダ32が読み取り処理を行いつつ、制御部36は、回転機構28,30を制御することにより、検体容器16をY方向に低速で回転させる(S09)。Y方向は、粗サーチにおける回転方向(X方向)とは反対の方向である。このとき、制御部36は、検体容器16を低速で連続回転させつつ、バーコードリーダ32は、読み取りを連続して行う。低速回転時の回転角度は、粗サーチにおける回転角度θaよりも小さい角度である。目標回転角度θtが−90°〜+90°の範囲に含まれる場合、検体容器16は、CW方向に回転させられる。一方、目標回転角度θtが−90°〜+90°の範囲に含まれない場合、検体容器16はCCW方向に回転させられる。
バーコードリーダ32によるバーコードの読み取りが成功した場合(S10,Yes)、制御部36は、回転機構28,30を制御することにより、検体容器16の回転を停止させる(S11)。読み取りが成功した場合、バーコードエリア42の一方のエッジ(右エッジ46又は左エッジ48)が検出されたことになる。つまり、バーコードリーダ32によってバーコードが読み取られない回転角度(回転位置)から検体容器16を低速で連続に回転させつつ、バーコードリーダ32による読み取りを行った場合において、そのバーコードの読み取りが初めて成功した場合には、その読み取られた箇所が、バーコードエリア42において非バーコードエリア44に接する部分、つまり、右エッジ46又は左エッジ48に該当するといえる。この場合、制御部36は、その読み取られた部分(右エッジ46又は左エッジ48)を基準にして、検体容器16をX方向に目標回転角度θtまで回転させる(S12)。つまり、制御部36は、バーコードエリア42の中心の向きを目標回転角度θtに対応する向きに合わせるように、検体容器16を回転させる。例えば、目標回転角度θtが0°であれば、バーコードエリア42の中心が前方を向くように、検体容器16が回転させられる。X方向は、精細サーチにおける回転方向(Y方向)とは反対の方向である。目標回転角度θtが−90°〜+90°の範囲に含まれる場合、検体容器16は、CCW方向に回転させられる。一方、目標回転角度θtが−90°〜+90°の範囲に含まれない場合、検体容器16は、CW方向に回転させられる。
そして、ハンドリング機構22は、目標回転角度θtまで回転させられた状態の検体容器16を、その回転角度(回転位置)を維持しつつ、検体容器ラック18へ下ろす。これにより、バーコードエリア42の中心の向きが目標回転角度θtに対応する向きに合わせられた状態で、検体容器16が検体容器ラック18に保持されることになる。そして、次の検体容器16を対象として、ステップS01以降の処理が実行される。
一方、検体容器16を1周(360°)回転させてもバーコードの読み取りが成功しない場合(S10,No)、制御部36は、回転機構28,30を制御することにより、検体容器16の回転を停止させる(S13)。この場合、制御部36は、エラー処理を実行する(S14)。例えば、制御部36は、警告情報をUI38の表示部に表示させたり、警告音をスピーカに発生させたりする。
なお、ステップS02〜S04において、制御部36は、目標回転角度θtに応じてX,Y方向を変更しているが、目標回転角度θtに関わらず、X,Y方向を変更しないでもよい。例えば、制御部36は、目標回転角度θtに関わらず、X方向としてCCW方向を採用し、Y方向としてCW方向を採用してもよいし、X方向としてCW方向を採用し、Y方向としてCCW方向を採用してもよい。また、ステップS12において、制御部36は、検体容器16を、精細サーチにおける回転方向(Y方向)とは反対のX方向に回転させているが、検体容器16を、精細サーチにおける回転方向(Y方向)と同じ方向に回転させてもよい。
次に、図5及び図6を参照して、エッジ検出処理(粗サーチ及び精細サーチ)について具体的に説明する。図5には、粗サーチの具体例が示されており、図6には、精細サーチの具体例が示されている。図5及び図6には、上方から見た状態の検体容器16が示されている。一例として、目標回転角度θtが−90°〜+90°の範囲に含まれているものとする。
図4に示されているフローチャートを用いて説明したように、まず、粗サーチが実行される。図5の(a)には、検体容器16の当初の状態が示されている。この段階では、バーコードリーダ32から照射されたレーザ光34はバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。この場合、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向(CCW方向)に回転角度θa、回転させる。回転角度θaは一例として30°である。図5の(b)には、その回転後の検体容器16が示されている。この段階においても、レーザ光34がバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。この場合、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向(CCW方向)に回転角度θa、回転させる。図5の(c)には、その回転後の検体容器16が示されている。この段階では、レーザ光34はバーコードエリア42に照射されずに、検体容器16の外周面に照射されている。従って、バーコードリーダ32によってバーコードは読み取られず、その読み取りは失敗となる。バーコードの読み取りが失敗した段階で、粗サーチは終了する。そして、精細サーチが実行される。なお、当初の段階で、レーザ光34がバーコードエリア42に照射されていない場合、粗サーチは終了し、精細サーチが実行される。
図6の(a)は図5の(c)と同じ図であり、図6の(a)には、粗サーチ終了時における検体容器16の状態が示されている。上記のように、この段階では、レーザ光34はバーコードエリア42に照射されておらず、バーコードリーダ32によってバーコードは読み取られない。精細サーチでは、バーコードリーダ32が読み取り処理を行いつつ、制御部36は、回転機構28,30を制御することにより、検体容器16をY方向(CW方向)に低速で連続回転させる。このときの回転角度は、粗サーチにおける回転角度θaよりも小さい角度である。つまり、バーコードリーダ32による1スキャンあたりの検体容器16の回転角度は、粗サーチよりも精細サーチの方が小さい。制御部36は、バーコードリーダ32によってバーコードが読み取られるまで、検体容器16をY方向に回転させる。そして、図6の(b)に示されているように、検体容器16がY方向に回転させられてレーザ光34の照射位置が徐々に変わっていき、バーコードエリア42の右エッジ46がレーザ光34の照射位置に配置されるまで検体容器16が回転させられると、バーコードリーダ32によってバーコードが読み取られる。この段階で、精細サーチは終了する。
そして、制御部36は、回転機構28,30を制御することにより、バーコードエリア42の中心42aの向きが目標回転角度θtに対応する向きに合うように、検体容器16をX方向(CCW方向)に回転させる。例えば、目標回転角度θtが0°の場合、つまり、バーコードエリア42の中心42aを前方に向ける場合、図6の(c)に示すように、制御部36は、バーコードエリア42の中心42aが前方(0°に対応する向き)を向くように、検体容器16を回転させる。
本実施形態では、図3を参照して説明したように、バーコードエリア42は、検体容器16の外周面において角度θx(例えば120°)にわたる範囲に形成されている。また、バーコードリーダ32は、0°の位置を基準として、CW方向に90°回転した位置に配置されている。このような条件下では、図6の(b)に示されているように右エッジ46が検出された段階では、バーコードエリア42の中心42aは、0°の位置を基準として、CW方向に30°回転した位置に配置されていることになる。従って、目標回転角度θtが0°の場合、検体容器16をCCW方向に30°回転させることにより、図6の(c)に示すように、バーコードエリア42の中心42aが前方(0°に対応する向き)を向くように、検体容器16を配置することができる。これにより、より少なく回転量で、検体容器16の向きを目標の向きに揃えることができる。本実施形態によると、右エッジ46が検出された段階で、バーコードエリア42の中心42aの回転位置が特定されるので、その回転位置から目標回転角度θtに応じた回転角度だけ検体容器16を回転させることにより、バーコードエリア42の中心42aの向きを目標の向きに合わせることが可能となる。上記の例では、30°の位置が中心42aの位置であるため、その30°の位置から目標回転角度θtに応じた回転角度だけ検体容器16を回転させることにより、中心42aの向きを目標の向きに合わせることができる。
図7には、0°以外の目標回転角度θtまで回転させられた検体容器16が示されている。図7の(a)には、目標回転角度θtが−90°(目標の向きが左向き)のときの検体容器16が示されている。この場合、図6の(b)に示されているように右エッジ46が検出された回転角度(回転位置)から、検体容器16をCCW方向に120°回転させることにより、バーコードエリア42の中心42aが左(−90°に対応する向き)を向くように、検体容器16を配置することができる。これにより、より少ない回転量で、検体容器16の向きを目標の向きに揃えることができる。
図7の(b)には、目標回転角度θtが+90°(目標の向きが右向き)のときの検体容器16が示されている。この場合、図6の(b)に示されている右エッジ46が検出された回転角度(回転位置)から、検体容器16をCCW方向に300°回転させることにより、バーコードエリア42の中心42aが右(+90°に対応する向き)を向くように、検体容器16を配置することができる。または、検体容器16をCW方向に60°回転させてもよい。
なお、目標回転角度θtが−90°〜+90°以外の範囲に含まれる場合であっても、図5及び図6に示されている処理によって、バーコードエリア42のエッジが検出されてもよい。例えば図7の(c)には、目標回転角度θtが+180°(−180°)(目標の向きが後方)のときの検体容器16が示されている。この場合、図6の(b)に示されている右エッジ46が検出された回転角度(回転位置)から、検体容器16をCCW方向へ210°回転させることにより、バーコードエリア42の中心42aが後方(180°に対応する向き)を向くように、検体容器16を配置することができる。または、検体容器16をCW方向に150°回転させてもよい。
次に、図8及び図9を参照して、エッジ検出処理(粗サーチ及び精細サーチ)の別の例について説明する。図8には、粗サーチの具体例が示されており、図9には、精細サーチの具体例が示されている。図8及び図9には、上方から見た状態の検体容器16が示されている。一例として、目標回転角度θtが−90°〜+90°の範囲に含まれていないものとする。
図4に示されているフローチャートを用いて説明したように、まず、粗サーチが実行される。図8の(a)には、検体容器16の当初の状態が示されている。この段階では、バーコードリーダ32から照射されたレーザ光34はバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。この場合、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向(CW方向)に回転角度θa、回転させる。回転角度θaは一例として30°である。図8の(b)には、その回転後の検体容器16が示されている。この段階においても、レーザ光34がバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。この場合、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向(CW方向)に回転角度θa、回転させる。図8の(c)には、その回転後の検体容器16が示されている。この段階においても、レーザ光34がバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。この場合、制御部36は、回転機構28,30を制御することにより、検体容器16をX方向(CW方向)に回転角度θa、回転させる。図8の(d)には、その回転後の検体容器16が示されている。この段階では、レーザ光34はバーコードエリア42に照射されず、検体容器16の外周面に照射されている。従って、バーコードリーダ32によってバーコードは読み取られず、その読み取りは失敗となる。バーコードの読み取りが失敗した段階で、粗サーチは終了する。そして、精細サーチが実行される。
図9の(a)は図8の(d)と同じ図であり、図9の(a)には、粗サーチ終了時における検体容器16の状態が示されている。上記のように、この段階では、レーザ光34はバーコードエリア42に照射されておらず、バーコードリーダ32によってバーコードは読み取られない。精細サーチでは、バーコードリーダ32が読み取り処理を行いつつ、制御部36は、回転機構28,30を制御することにより、検体容器16をY方向(CCW方向)に低速で連続回転させる。このときの回転角度は、粗サーチにおける回転角度θaよりも小さい角度である。制御部36は、バーコードリーダ32によってバーコードが読み取られるまで、検体容器16をY方向に回転させる。そして、図9の(b)に示されているように、検体容器16がY方向に回転させられてレーザ光34の照射位置が徐々に変わっていき、バーコードエリア42の左エッジ48がレーザ光34の照射位置に配置されるまで検体容器16が回転させられると、バーコードリーダ32によってバーコードが読み取られる。この段階で、精細サーチは終了する。
そして、制御部36は、回転機構28,30を制御することにより、バーコードエリア42の中心42aの向きが目標回転角度θtに対応する向きに合うように、検体容器16をX方向(CW方向)に回転させる。例えば、目標回転角度θtが+180°(−180°)の場合、つまり、バーコードエリア42の中心42aを後方に向ける場合、図9の(c)に示すように、制御部36は、バーコードエリア42の中心42aが後方(+180°又は−180°に対応する向き)を向くように、検体容器16を回転させる。これにより、バーコードエリア42の中心42aが背面を向くことになる。
本実施形態では、図3を参照して説明したように、バーコードエリア42は、検体容器16の外周面において角度θx(例えば120°)にわたる範囲に形成されている。また、バーコードリーダ32は、0°の位置を基準として、CW方向に90°回転した位置に配置されている。このような条件下では、図9の(b)に示されているように左エッジ48が検出された段階では、バーコードエリア42の中心42aは、0°の位置を基準として、CW方向に150°回転した位置に配置されていることになる。従って、目標回転角度θtが+180°又は−180°の場合、検体容器16をCW方向に30°回転させることにより、図9の(c)に示すように、バーコードエリア42の中心42aが後方(+180°又は−180°に対応する向き)を向くように、検体容器16を配置することができる。これにより、より少ない回転量で、検体容器16の向きを目標の向きに揃えることができる。+180°(−180°)以外の目標回転角度θtが設定された場合も、同様に、その目標回転角度θtに応じて検体容器16を回転させることにより、バーコードエリア42の中心42aを目標の向きに向けることができる。左エッジ48が検出された段階で、バーコードエリア42の中心42aの回転位置が特定されるので、その回転位置から目標回転角度θtに応じた回転角度だけ検体容器16を回転させることにより、バーコードエリア42の中心42aの向きを目標の向きに合わせることが可能となる。上記の例では、150°の位置の中心42aの位置であるため、その150°の位置から目標回転角度θtに応じた回転角度だけ検体容器16を回転させることにより、中心42aの向きを目標の向きに合わせることができる。
次に、図10を参照して、比較例に係るエッジ検出処理について説明する。図10には、上方から見た状態の検体容器16が示されている。比較例においては、バーコードリーダ32によってバーコードが読み取られる回転角度(回転位置)から、バーコードが読み取られない回転角度(回転位置)まで検体容器16を回転させることにより、バーコードエリア42の一方のエッジ(右エッジ46又は左エッジ48)を検出する。以下、図10を参照して、比較例に係る処理について具体的に説明する。
図10の(a)には、検体容器16の当初の状態が示されている。この段階では、バーコードリーダ32から照射されたレーザ光34はバーコードエリア42に照射され、バーコードリーダ32によってバーコードが読み取られる。
次に、バーコードリーダ32が読み取り処理を行いつつ、検体容器16を一方の方向(例えばCW方向)に低速で連続回転させる。例えば、本実施形態に係る処理と比較する意味で、その回転速度は、本実施形態に係る精細サーチにおける回転速度と同じである。つまり、比較例では、本実施形態に係る精細サーチにおける回転速度と同じ速度で検体容器16を回転させつつ、バーコードリーダ32による読み取りを行うものとする。
そして、バーコードリーダ32によってバーコードが読み取られなくなるまで、検体容器16をCW方向に回転させる。図10の(b)及び(c)に示されているように、検体容器16がCW方向に回転させられてレーザ光34の照射位置が徐々に変わっていく。そして、図10の(d)に示されているように、バーコードエリア42の左エッジ48がレーザ光34の照射位置を通過すると、バーコードリーダ32によってバーコードが読み取られなくなる。この段階で、比較例によるエッジ検出処理が終了する。なお、検体容器16をCCW方向に回転させた場合、バーコードエリア42の右エッジ46が検出される。
このように、比較例では、バーコードリーダ32によってバーコードが読み取られる回転角度(回転位置)から、バーコードが読み取られない回転角度(回転位置)まで検体容器16を回転させることにより、バーコードエリア42のエッジ(右エッジ46又は左エッジ48)が検出される。そして、そのエッジの位置を基準にして、目標回転角度θtに対応する向きにバーコードエリア42の中心42aが向くように、検体容器16が回転させられる。
次に、図11を参照して、本実施形態に係るエッジ検出処理と比較例に係るエッジ検出処理とを対比して説明する。図11には、上方から見た状態の検体容器16が示されている。図11の(a)には、本実施形態に係るエッジ検出処理のステップが示されており、図11の(b)には、比較例に係るエッジ検出処理のステップが示されている。検体容器16の回転によって、検体容器16に対するレーザ光34の照射位置が相対的に変化する。図11には、その照射位置の変化の様子が示されている。レーザ光34の照射位置は、バーコードリーダ32によってスキャンされる位置に対応している。
本実施形態では、図11の(a)に示されているように、1番目のレーザ光34aがバーコードエリア42に照射されてバーコードリーダ32によってバーコードが読み取られると、粗サーチが実行される。この場合、検体容器16はCW方向又はCCW方向に回転角度θa(例えば30°)、回転させられる。例えば、検体容器16がCCW方向に回転角度θa、回転すると、矢印50で示す方向(CW方向)に回転角度θa、レーザ光の照射位置が相対的に移動する。そして、移動後の照射位置に2番目のレーザ光34bが照射され、バーコードリーダ32による読み取りが行われる。2番目のレーザ光34bもバーコードエリア42に照射されている場合、矢印50で示す方向に回転角度θa、レーザ光の照射位置が相対的に移動させられる。そして、移動後の照射位置に3番目のレーザ光34cが照射され、バーコードリーダ32による読み取りが行われる。図11の(a)に示す例では、レーザ光34cはバーコードエリア42に照射されず、検体容器16の外周面に照射されている。従って、レーザ光34cの照射位置におけるバーコードの読み取りは失敗し、以降、精細サーチが実行される。精細サーチでは、バーコードリーダ32が読み取り処理を行いつつ、検体容器16が、粗サーチとは逆の方向に低速で連続して回転させられる。例えば、検体容器16がCW方向に低速で連続して回転させられると、矢印52で示す方向(CCW方向)に低速で連続して、レーザ光の照射位置が相対的に移動する。そして、レーザ光34cからレーザ光34dにかけて照射位置が低速で相対的に移動しながら、バーコードリーダ32による読み取り処理が行われる。レーザ光34dはバーコードエリア42内において右エッジ46の付近に照射されており、この照射位置において、バーコードリーダ32によってバーコードが読み取られる。これにより、バーコードエリア42の右エッジ46が検出される。
比較例では、バーコードリーダ32が読み取り処理を行いつつ、検体容器16が、CW方向又はCCW方向に低速で連続して回転させられる。例えば、検体容器16がCW方向に低速で連続して回転させられると、図11の(b)に示されているように、矢印54で示す方向(CCW方向)に低速で連続して、レーザ光の照射位置が相対的に移動する。レーザ光34aからレーザ光34nにかけて照射位置が低速で相対的に移動しながら、バーコードリーダ32による読み取り処理が行われる。レーザ光34mはバーコードエリア42に照射されているため、この回転角度(回転位置)では、バーコードリーダ32によるバーコードの読み取りは成功する。一方、レーザ光34nはバーコードエリア42の左エッジ48の外側に照射されており、この照射位置において、バーコードリーダ32によるバーコードの読み取りが失敗する。これにより、バーコードエリア42の左エッジ48が検出される。
本実施形態と比較例とを対比すると、比較例では、レーザ光の照射位置を、最初から最後まで低速で相対的に移動させている。この場合、仮に、1番目のレーザ光がバーコードエリア42内において右エッジ46の付近に照射され、レーザ光の照射位置が矢印54で示す方向(CCW方向)に移動している場合、直ちに右エッジ46を検出することができることになる。しかし、仮に、1番目のレーザ光がレーザ光34mであり、バーコードエリア42内において左エッジ48の付近に照射され、レーザ光の照射位置が矢印54で示すCCW方向に移動している場合、左エッジ48から右エッジ46にかけて、バーコードリーダ32による読み取り処理(スキャン処理)を実行する必要がある。つまり、最大で角度θx(例えば120°)にわたって読み取り処理を実行する必要がある。これに対して、本実施形態では、まず、粗いサーチを実行することにより、バーコードが読み取られない回転角度(回転位置)を検出し、その回転角度から、粗サーチのときの回転方向とは逆の方向にレーザ光の照射位置(スキャン位置)を低速で相対的に移動させることにより、バーコードエリアのエッジを検出している。これにより、比較例よりも、より短い時間でバーコードエリア42のエッジを検出することが可能となる。
以上のように、本実施形態では、粗サーチと精細サーチとを実行することによりバーコードエリア42のエッジが検出される。そして、そのエッジを基準にして、目標の向きに検体容器16の向きを合わせることが可能となる。これにより、下流の検体分析装置14に適した向きに、検体容器16の向きを合わせることが可能となる。例えば、下流の検体分析装置14においてバーコードの読み取りが行われる場合、バーコードラベル40の向きをその読み取りに適した向きに合わせることができる。これにより、読み取り時間の短縮化、読み取りエラーの防止、分析時間の短縮化、等が可能となる。また、上記の粗サーチと精細サーチとを組み合わせることにより、精細サーチのみを実行する場合と比べて、より短い時間でバーコードエリア42のエッジを検出することが可能となる。また、バーコードが読み取られないエリアを先に探索し、そのエリアを出発点としてバーコードが読み取られるエリアを探索してエッジを検出することにより、バーコードが読み取られるエリアを出発点として、バーコードが読み取られないエリアを探索してエッジを検出する場合と比べて、エッジ検出に要する時間を短くすることができる。
また、本実施形態によると、バーコードラベル40の向きを任意の向きに揃えることも可能である。これにより、作業者がマニュアルでバーコードラベル40の向きを揃えなくても、その向きを自動的に揃えることが可能となる。