特許第6492273号(P6492273)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特許6492273分注システム、コントローラ及び制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6492273
(24)【登録日】2019年3月15日
(45)【発行日】2019年4月3日
(54)【発明の名称】分注システム、コントローラ及び制御方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20190325BHJP
   G01N 35/10 20060101ALI20190325BHJP
【FI】
   B25J13/08 A
   G01N35/10 C
【請求項の数】45
【全頁数】55
(21)【出願番号】特願2017-517582(P2017-517582)
(86)(22)【出願日】2015年7月31日
(86)【国際出願番号】JP2015071887
(87)【国際公開番号】WO2016181572
(87)【国際公開日】20161117
【審査請求日】2017年11月24日
(31)【優先権主張番号】PCT/JP2015/063515
(32)【優先日】2015年5月11日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100145012
【弁理士】
【氏名又は名称】石坂 泰紀
(74)【代理人】
【識別番号】100171099
【弁理士】
【氏名又は名称】松尾 茂樹
(72)【発明者】
【氏名】阿部 倫子
(72)【発明者】
【氏名】熊谷 弘
(72)【発明者】
【氏名】澤田 有希子
(72)【発明者】
【氏名】亀井 泉寿
【審査官】 松井 裕典
(56)【参考文献】
【文献】 特開2010−096643(JP,A)
【文献】 特開2010−197047(JP,A)
【文献】 特開2005−304303(JP,A)
【文献】 特開2013−072806(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 1/00
G01N 1/10
G01N 1/14
G01N 1/18
G01N 35/10
B25J 1/00−21/02
(57)【特許請求の範囲】
【請求項1】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記境界部の位置情報に基づいて最終目標位置を設定する目標位置設定部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるように前記ロボットを制御する降下制御部と、を備え、
前記目標位置設定部は、前記ロボットが前記分注器を下降させているときに、前記境界部の位置情報に基づいて前記最終目標位置を更新する、分注システム。
【請求項2】
前記画像に基づいて、前記境界部の変化を検出する境界監視部を更に備え、
前記目標位置設定部は、前記境界監視部により前記境界部の変化が検出された場合に、前記境界部の位置情報に基づいて前記最終目標位置を更新する、請求項記載の分注システム。
【請求項3】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記境界部の位置情報に基づいて最終目標位置を設定する目標位置設定部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるように前記ロボットを制御する降下制御部と、を備え、
前記降下制御部は、
前記液面の下降に追従して前記分注器の先端部を下降させるように前記ロボットを制御する第一モード制御部と、
前記分注器の先端部を前記最終目標位置まで下降させるように前記ロボットを制御する第二モード制御部と、
前記分注器の先端部が前記最終目標位置に近付くのに応じて前記第一モード制御部による制御を前記第二モード制御部による制御に切り替える切替部と、を有する分注システム。
【請求項4】
前記第一モード制御部は、前記第二モード制御部に比べて応答性を高める制御を行い、前記第二モード制御部は、前記第一モード制御部に比べてオーバーシュートを抑制する制御を行う、請求項記載の分注システム。
【請求項5】
前記切替部は、予め設定された基準距離に比べ、前記分注器の先端部から前記最終目標位置までの距離が小さくなるのに応じて、前記第一モード制御部による制御を前記第二モード制御部による制御に切り替える、請求項又は記載の分注システム。
【請求項6】
前記分注器の先端部の移動速度が大きくなるのに応じて前記基準距離を大きくする基準距離設定部を更に備える、請求項記載の分注システム。
【請求項7】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記境界部の位置情報に基づいて最終目標位置を設定する目標位置設定部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるように前記ロボットを制御する降下制御部と、を備え、
前記降下制御部は、前記液体及び前記非分注対象物が、前記カメラの視野内において傾いた容器に収容された状態にて、前記容器の傾きに対応して前記分注器の先端部を斜め方向に下降させるように前記ロボットを制御する、分注システム。
【請求項8】
前記液面に対する前記境界部の傾斜を緩やかにする方向に前記容器が傾いた状態を維持しながら、当該容器を前記カメラの視野外から搬送し、前記カメラの視野内に配置するように前記ロボットを制御する容器配置制御部を更に備える、請求項記載の分注システム。
【請求項9】
前記カメラの視野内において、前記液面に対する前記境界部の傾斜を緩やかにする方向に前記容器を傾けるように前記ロボットを制御する傾動制御部を更に備える、請求項記載の分注システム。
【請求項10】
前記画像に基づいて、前記液面に対する前記境界部の傾斜を検出する傾斜検出部を更に備え、
前記傾動制御部は、前記傾斜検出部により前記境界部の傾斜が検出された場合に、前記分注器の先端部が前記最終目標位置に近付くのに応じて、前記容器を傾けるように前記ロボットを制御する、請求項記載の分注システム。
【請求項11】
前記傾動制御部は、前記液面が前記境界部に到達する前に、前記容器を傾けるようにロボットを制御する、請求項10記載の分注システム。
【請求項12】
第一及び第二のアームを有する双腕型の前記ロボットを備え、
前記降下制御部は、前記第一のアームにより前記分注器を下降させるように前記ロボットを制御し、
前記傾動制御部は、前記第二のアームにより前記容器を傾けるように前記ロボットを制御する、請求項10又は11記載の分注システム。
【請求項13】
前記傾斜検出部は、前記画像に基づいて、前記液面に対する前記境界部の傾斜角度を検出し、
前記傾動制御部は、前記傾斜角度に対応する角度にて前記容器を傾けるように前記ロボットを制御する、請求項1012のいずれか一項記載の分注システム。
【請求項14】
前記目標位置設定部は、前記傾斜検出部により前記境界部の傾斜が検出された場合には、前記容器の中心位置を基準にして、前記境界部の傾斜を下る方向にずれた位置を前記最終目標位置として設定する、請求項1013のいずれか一項記載の分注システム。
【請求項15】
前記カメラ及び前記容器を共に保持するラックを更に備え、
前記降下制御部は、前記容器の傾きが前記ラックにより維持された状態で前記分注器の先端部を前記斜め方向に下降させるように前記ロボットを制御する、請求項14のいずれか一項記載の分注システム。
【請求項16】
前記カメラ及び前記容器を共に保持するラックを更に備え、
前記傾動制御部は、前記ラックを傾けることで前記容器を傾けるように前記ロボットを制御する、請求項13のいずれか一項記載の分注システム。
【請求項17】
前記カメラとの間に前記容器を挟む配置にて、前記カメラ及び前記容器と共に前記ラックに保持され、前記容器に光を照射するバックライトを更に備える、請求項15又は16記載の分注システム。
【請求項18】
前記バックライトは赤色の可視光を照射する、請求項17記載の分注システム。
【請求項19】
前記カメラによる撮像が行われていない時間帯の少なくとも一部において前記バックライトを消灯させるバックライト制御部を更に備える、請求項17又は18記載の分注システム。
【請求項20】
前記画像処理部は、予め傾きが規定された線状パターンを探索対象として、当該線状パターンを前記画像内から抽出し、抽出結果に基づいて前記液面の位置情報を取得する、請求項1519のいずれか一項記載の分注システム。
【請求項21】
前記画像処理部は、前記線状パターンの傾きを前記容器の傾きに応じて規定する、請求項20記載の分注システム。
【請求項22】
前記画像処理部は、前記線状パターンの傾きを前記容器の太さに応じて規定する、請求項20又は21記載の分注システム。
【請求項23】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記境界部の位置情報に基づいて最終目標位置を設定する目標位置設定部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるように前記ロボットを制御する降下制御部と、
前記画像に基づいて、前記液面に対する前記境界部の傾斜を検出する傾斜検出部と、を備え、
前記目標位置設定部は、前記傾斜検出部により前記境界部の傾斜が検出された場合には、前記液体及び前記非分注対象物を収容した容器の中心位置を基準にして、前記境界部の傾斜を下る方向にずれた位置を前記最終目標位置として設定する、分注システム。
【請求項24】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるように前記ロボットを制御する降下制御部と、を備え、
前記画像処理部は、前記先端部の位置情報を取得した後の前記先端部の位置変化を推定し、前記位置変化に基づいて前記先端部の位置情報を更新する、分注システム。
【請求項25】
前記画像処理部は、前記液面の位置情報及び前記境界部の位置情報を取得した後の前記画像に基づいて前記液面の位置情報及び前記境界部の位置情報を更新する、請求項24記載の分注システム。
【請求項26】
前記画像処理部は、前記先端部が前記液面よりも上方に位置する際に、前記画像に基づいて前記先端部の位置情報を取得し、当該情報を取得した後の前記位置変化を推定する、請求項25記載の分注システム。
【請求項27】
前記画像処理部は、前記先端部の位置情報を取得した後の前記画像に基づいて前記先端部の位置情報を更新することと、前記位置変化に基づいて前記先端部の位置情報を更新することとを、前記液体の種類に応じて選択して実行する、請求項2426のいずれか一項記載の分注システム。
【請求項28】
前記先端部、前記液面及び前記境界部の少なくともいずれかについて、前記位置情報が得られない場合に、前記降下制御部に代わって、予め設定されたパターンに基づいて前記ロボットを制御する副制御部を更に備える、請求項2427のいずれか一項記載の分注システム。
【請求項29】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるように前記ロボットを制御する降下制御部と、を備え、
前記画像処理部は、前記先端部を含まない前記画像と、前記先端部を含む前記画像との差分に基づいて、前記先端部の位置情報を取得する、分注システム。
【請求項30】
前記画像処理部は、前記先端部を含まない前記画像と、前記先端部を含む前記画像との差分に基づいて、前記先端部の画像パターンを取得し、前記画像パターンに基づいて前記先端部の位置情報を取得する、請求項29記載の分注システム。
【請求項31】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるように前記ロボットを制御する降下制御部と、
分注用の容器内に収容された前記液体及び前記非分注対象物の量を示す情報に基づいて、前記液面を前記画像内で探索するための第一の解析領域を設定する解析領域設定部と、を備え、
前記画像処理部は、前記第一の解析領域内から前記液面の位置情報を取得する、分注システム。
【請求項32】
前記解析領域設定部は、前記非分注対象物の量を示す情報に基づいて、前記境界部を前記画像内で探索するための第二の解析領域を更に設定し、
前記画像処理部は、前記第二の解析領域内から前記境界部の位置情報を取得する、請求項31記載の分注システム。
【請求項33】
分注対象の液体を吸引するための分注器を移動させるロボットと、
少なくとも、前記分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、
前記画像に基づいて、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得する画像処理部と、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるように前記ロボットを制御する降下制御部と、
前記ロボットによる分注作業用の基準データを登録するためのユーザインタフェースと、
前記基準データが未登録である場合に、前記分注器の先端部が前記カメラの視野内に入った後に前記ロボットを停止させ、当該基準データの登録後に前記ロボットの動作を再開させる割込部と、
前記割込部が前記ロボットを停止させているときに、前記基準データの設定用の画面を前記ユーザインタフェースに表示し、前記ユーザインタフェースから前記基準データを取得して登録する基準データ登録部と、を備る分注システム。
【請求項34】
複数種類の分注作業を含む前記ロボットの作業工程を設定する工程設定部を更に備え、
前記割込部は、前記基準データが未登録である場合に前記ロボットを停止させることを前記分注作業ごとに実行し、
前記基準データ登録部は、前記割込部が前記ロボットを停止させる度に、次に実行予定の前記分注作業に対応する前記基準データを取得して登録する請求項33記載の分注システム。
【請求項35】
前記基準データ登録部は、前記基準データとして、前記分注器の先端部の画像パターンを登録し、
前記画像処理部は、前記分注器の先端部の画像パターンに基づいて前記分注器の先端部の位置情報を取得する、請求項33又は34記載の分注システム。
【請求項36】
前記基準データ登録部は、液体外における前記分注器の先端部の画像パターンと、液体中における前記分注器の先端部の画像パターンとを登録する、請求項35記載の分注システム。
【請求項37】
前記基準データ登録部は、前記基準データとして、液体外における前記分注器の先端部を前記画像内で探索するための第一の解析領域と、前記液面を前記画像内で探索するための第二の解析領域と、前記境界部を前記画像内で探索するための第三の解析領域とを更に登録し、
前記画像処理部は、前記画像における前記第一又は第二の解析領域内から前記分注器の先端部の位置情報を取得し、前記第二の解析領域内から前記液面の位置情報を取得し、前記第三の解析領域内から前記境界部の位置情報を取得する、請求項35又は36記載の分注システム。
【請求項38】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記境界部の位置情報に基づいて最終目標位置を設定すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるようにロボットを制御すること、
前記ロボットが前記分注器を下降させているときに、前記境界部の位置情報に基づいて前記最終目標位置を更新すること、を含む制御方法。
【請求項39】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記境界部の位置情報に基づいて最終目標位置を設定すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるようにロボットを制御すること、を含み、
前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるようにロボットを制御することは、
前記液面の下降に追従して前記分注器の先端部を下降させる第一モードで前記ロボットを制御すること、
前記分注器の先端部を前記最終目標位置まで下降させる第二モードで前記ロボットを制御すること、
前記分注器の先端部が前記最終目標位置に近付くのに応じて前記第一モードの制御を前記第二モードの制御に切り替えること、を含む制御方法。
【請求項40】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記境界部の位置情報に基づいて最終目標位置を設定すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるようにロボットを制御すること、を含み、
前記液体及び前記非分注対象物が、前記画像の撮像用カメラの視野内において傾いた容器に収容された状態にて、前記容器の傾きに対応して前記分注器の先端部を斜め方向に下降させるように前記ロボットを制御する、制御方法。
【請求項41】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記境界部の位置情報に基づいて最終目標位置を設定すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記液面の下降に追従して前記分注器の先端部を下降させ、前記最終目標位置まで前記分注器の先端部を下降させるようにロボットを制御すること、
前記画像に基づいて、前記液面に対する前記境界部の傾斜を検出すること、を含み、
前記境界部の傾斜を検出した場合には、前記液体及び前記非分注対象物を収容した容器の中心位置を基準にして、前記境界部の傾斜を下る方向にずれた位置を最終目標位置として設定する、制御方法。
【請求項42】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるようにロボットを制御すること、を含み、
前記先端部の位置情報を取得した後の前記先端部の位置変化を推定し、前記位置変化に基づいて前記先端部の位置情報を更新する、制御方法。
【請求項43】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるようにロボットを制御すること、を含み、
前記先端部を含まない前記画像と、前記先端部を含む前記画像との差分に基づいて、前記先端部の位置情報を取得する、制御方法。
【請求項44】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるようにロボットを制御すること、
分注用の容器内に収容された前記液体及び前記非分注対象物の量を示す情報に基づいて、前記液面を前記画像内で探索するための第一の解析領域を設定すること、を含み、
前記第一の解析領域内から前記液面の位置情報を取得する、制御方法。
【請求項45】
分注対象の液体を吸引するための分注器の先端部と、前記液体の液面と、前記液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、前記液面の位置情報と、前記液体と前記非分注対象物との間の境界部の位置情報と、前記分注器の先端部の位置情報とを取得すること、
前記液体を前記分注器内に吸引する際に、前記先端部の位置情報と、前記液面の位置情報と、前記境界部の位置情報とに基づいて、前記分注器を下降させるようにロボットを制御すること、
前記ロボットによる分注作業用の基準データが未登録である場合に、前記分注器の先端部が前記画像の撮像用カメラの視野内に入った後に前記ロボットを停止させ、当該基準データの登録後に前記ロボットの動作を再開させること、
前記分注器の先端部が前記カメラの視野内に入った後に前記ロボットが停止しているときに、前記基準データの設定用の画面をユーザインタフェースに表示し、前記ユーザインタフェースから前記基準データを取得して登録すること、を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、分注システム、コントローラ及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、チップと、チップ内に検体を吸引し、又はチップ内の検体を排出する液送動力装置と、チップ搬送機構と、検体の液面位置を検出する検出手段と、検体の吸引時に、検体の液面位置に基づいて、チップの先端と検体の液面とが接触状態を維持するように、液送動力装置及びチップ搬送機構を制御する制御装置とを備える給排ロボットが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−304303号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、より確実な分注作業を実行可能な分注システム、分注方法、制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示に係る分注システムは、分注対象の液体を吸引するための分注器を移動させるロボットと、少なくとも、分注器の先端部と、液体の液面と、液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、画像に基づいて、液面の位置情報と、液体と非分注対象物との間の境界部の位置情報と、分注器の先端部の位置情報とを取得する画像処理部と、液体を分注器内に吸引する際に、先端部の位置情報と、液面の位置情報と、境界部の位置情報とに基づいて、分注器を下降させるようにロボットを制御する降下制御部と、を備える。
【0006】
本開示に係る分注システムは、分注対象の液体を吸引するための分注器を移動させるロボットと、少なくとも、分注器の先端部と、液体の液面と、液面よりも下方に位置する非分注対象物とを含む画像を撮像するためのカメラと、画像に基づいて、液面の位置情報と、液体と非分注対象物との間の境界部の位置情報と、分注器の先端部の位置情報とを取得すること、液体を分注器内に吸引する際に、先端部の位置情報と、液面の位置情報と、境界部の位置情報とに基づいて、分注器を下降させるようにロボットを制御すること、を実行するように構成された回路と、を備える。
【0007】
本開示に係るコントローラは、分注対象の液体を吸引するための分注器の先端部と、液体の液面と、液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、液面の位置情報と、液体と非分注対象物との間の境界部の位置情報と、分注器の先端部の位置情報とを取得する画像処理部と、液体を分注器内に吸引する際に、先端部の位置情報と、液面の位置情報と、境界部の位置情報とに基づいて、分注器を下降させるようにロボットを制御する降下制御部と、を備える。
【0008】
本開示に係る制御方法は、分注対象の液体を吸引するための分注器の先端部と、液体の液面と、液面よりも下方に位置する非分注対象物とを少なくとも含む画像から、液面の位置情報と、液体と非分注対象物との間の境界部の位置情報と、分注器の先端部の位置情報とを取得すること、液体を分注器内に吸引する際に、先端部の位置情報と、液面の位置情報と、境界部の位置情報とに基づいて、分注器を下降させるようにロボットを制御すること、を含む。
【発明の効果】
【0009】
本開示によれば、より確実な分注作業を実行可能である。
【図面の簡単な説明】
【0010】
図1】第一実施形態に係る分注システムの構成を示す模式図である。
図2】マイクロチューブの側面図である。
図3】ラックの斜視図である。
図4】ラックの側面図である。
図5】プロトコル構築部の機能ブロック図である。
図6】ロボット制御部の機能ブロック図である。
図7】コントローラのハードウェア構成図である。
図8】プロトコル構築手順を示すフローチャートである。
図9】プロトコルの設定例を示す図である。
図10】基準データ取得手順を示すフローチャートである。
図11】解析領域の設定画面を例示する図である。
図12】画像パターンの登録画面を例示する図である。
図13】分注制御手順の概要を示すフローチャートである。
図14】吸引時の制御手順を示すフローチャートである。
図15】吸引時の制御手順を示すフローチャートである。
図16】吸引時のマイクロチューブを模式的に示す側面図である。
図17】吸引時のマイクロチューブを模式的に示す側面図である。
図18】傾動制御手順を示すフローチャートである。
図19】吸引時のマイクロチューブを模式的に示す側面図である。
図20】チューブラックを傾動させているロボットを示す斜視図である。
図21】吸引時のマイクロチューブを模式的に示す側面図である。
図22】チューブラックを傾動させているロボットを示す斜視図である。
図23】抽出対象の線状パターンと液面との関係を示す模式図である。
図24】ラックの変形例を示す斜視図である。
図25図24中のラックの他方向からの斜視図である。
図26図24中のラックの断面図である。
図27】ステージの回転中心の配置を示す図である。
図28図24中のラックをロボットが操作している状態を例示する斜視図である。
図29】第二実施形態に係る分注システムの構成を示す模式図である。
図30】ロボット制御部及び画像処理部の機能ブロック図である。
図31】分注制御手順の概要を示すフローチャートである。
図32】吸引時の制御手順を示すフローチャートである。
図33】吸引時の制御手順を示すフローチャートである。
図34】位置情報の更新手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
1.第一実施形態
1.1 分注システム
第一実施形態に係る分注システム1は、容器90内に収容された液体を選択的に取り出す分注作業を行うためのものである。容器90は、分注システム1による作業の対象物を収容する。容器90は、可視光又は特定の波長の光を透過可能な材質で形成される。容器90は、例えばマイクロチューブであり、筒状の側壁91と底部92とを有する(図2(a)及び図2(b)参照)。側壁91の下側部分91aは、底部92側に向かうに従って窄まるテーパ形状を有する。容器90は、このようなマイクロチューブに限られず、対象物を収容可能であり、可視光又は特定の波長の光を透過可能であればどのような形状であってもよい。
【0012】
容器90に収容される対象物は、遠心分離等により、分注対象の液体C1と、非分注対象物C2とに分離され、液体C1は液面SF1を形成し、非分注対象物C2は液面SF1よりも下方に位置する。非分注対象物C2の例としては、例えば固形の沈殿物又は液体C1から分離した液体等が挙げられる。非分注対象物C2が液体である場合、液体C1と非分注対象物C2との境界部BD1は液面SF1に対して平行となる(図2(a)参照)。非分注対象物C2が固形の沈殿物である場合、境界部BD1は液面SF1に対して傾斜する場合がある(図2(b)参照)。
【0013】
境界部BD1は、容器90の外部から視認可能となっている。例えば、容器90を透過可能な光の透過性が、液体C1と非分注対象物C2とで異なっていれば、境界部BD1が視認可能となる。容器90を透過可能な光の屈折率が、液体C1と非分注対象物C2とで異なっていても境界部BD1は視認可能となる。
【0014】
分注システム1は、非分注対象物C2を容器90内に残した状態で、分注対象の液体C1を容器90内から取り出し、他の容器90への移し替え等を行う。なお、非分注対象物C2は、液体C1を分注する工程において「非分注対象」であるに過ぎない。分注システム1は、上記液体C1を分注した後の工程において、非分注対象物C2自体を更に分注する場合もある。以下、分注システム1の各構成要素について説明する。
【0015】
(1)ロボット10及びカメラ43
図1に示すように、分注システム1は、ロボット10とカメラ43とを備える。ロボット10は、分注器30を移動させる作業等に用いられる。分注器30は、分注対象の液体C1を吸引する。分注器30としては、特定の信号又は特定の操作により自動で液体の吸引・吐出を行う電動のピペット又はシリンジが挙げられる。分注器30は電動式でなくてもよく、例えば手動式のシリンジ又はピペットであってもよい。この場合、後述するように、双腕型のロボット10の両腕によって分注器30を操作してもよい。このように、分注器30は、液体C1を吸引可能であればどのようなものであってもよいが、以下では分注器30が電動ピペットである場合を例示する。
【0016】
分注器30は、本体部31とチップ32とを有する。本体部31は、例えば電動ポンプを内蔵し、指令入力に応じて動作する。チップ32は、本体部31に対して着脱自在に取り付けられている。チップ32は、例えば先尖りの筒形状を有し、分注器30の先端部30aをなす。分注器30は、本体部31によりチップ32内を減圧することで、先端部30aから液体を吸引し、チップ32内を加圧することで先端部30aから液体を吐出する。
【0017】
ロボット10は、分注器30を移動させる作業を実行可能であればどのようなものであってもよい。ロボット10は、単腕型であってもよいし、双腕型であってもよい。図1は双腕型のロボット10を例示する。このロボット10は、胴部11と、肩部12と、第一のアーム13Aと、第二のアーム13Bとを有する。胴部11は床面に対して起立する。肩部12は、胴部11の上部に取り付けられており、鉛直な軸線回りに回動可能となっている。アーム13A,13Bは、例えばシリアルリンク型の多関節アームであり、肩部12の両端部にそれぞれ取り付けられている。アーム13A,13Bの端部には、把持機構14が設けられている。把持機構14は、例えば複数の指部15を有するロボットハンドであり、指部15を開閉することで様々な作業対象物を把持する。
【0018】
カメラ43は、少なくとも、分注器30の先端部30aと、液体C1の液面SF1と、非分注対象物C2とを含む画像を撮像する。カメラ43は、例えばCCD(Charge
Coupled Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を有し、指令入力に応じて画像を撮像し、当該画像のデータを出力する。
【0019】
(2)テーブル
分注システム1は、テーブル20を更に備えてもよい。テーブル20は、ロボット10に併設されており、ロボット10による作業対象物を支持する。
【0020】
(3)ラック
分注システム1は、上記カメラ43を構成要素とするラック40を更に備えてもよい。例えば図1及び図3に示すように、ラック40は、ステージ41と、容器保持部44と、カメラ43とを有する。ステージ41は、例えば矩形の板状体(支持板)であり、傾け可能な状態でテーブル20上に配置される。ステージ41は、実質的に変形しない(構成材の撓み等による微少変形を除く)ものであればどのようなものであってもよい。例えばステージ41は、ブロックであってもよいし、枠組体であってもよい。
【0021】
容器保持部44は、ステージ41に固定され、容器90を保持する。例えば容器保持部44は、板状のステージ41の上面側に設けられており、当該上面に対して側壁91が垂直になるように容器90を保持する。
【0022】
カメラ43は、容器90を撮像可能な位置にてステージ41に固定されている。例えばカメラ43は、その中心軸CL2(光学系の光軸)が容器90を通るように配置されており、ステージ41の上面から突出した支柱42(カメラ保持部41a)に固定されている。カメラ保持部41aは、容器90内の液体C1の液面SF1の少なくとも一部と、非分注対象物C2の少なくとも一部と、容器90内に挿入された先端部30aとを含む画像を撮像できる姿勢にてカメラ43を保持する。
【0023】
ラック40は、ステージ保持部50を更に有してもよい。ステージ保持部50は、容器保持部44とカメラ43とが並ぶ方向に沿う軸線Ax1(第一軸線)まわりに回転可能となるようにステージ41を保持する。例えばステージ保持部50は、支持板51と、ヒンジ52とを有する。
【0024】
支持板51は、例えば矩形の板状体である。ヒンジ52は、軸線Ax1に沿う一辺において、ステージ41と支持板51とを互いに回転可能となるように連結する。これにより、ステージ41が軸線Ax1まわりに回転可能となっている。支持板51は、例えばステージ41が支持板51の上に重なり、ヒンジ52がロボット10の逆側に位置するようにテーブル20上に配置される。支持板51は、ボルト締結などによってテーブル20に固定されていてもよい。支持板51がテーブル20に固定されていても、ステージ41は軸線Ax1まわりに回転可能である。
【0025】
ラック40は、取っ手46を更に有してもよい。取っ手46は、例えばステージ41上においてヒンジ52の逆側に設けられている。ヒンジ52がロボット10の逆側に位置する場合、取っ手46はロボット10側に位置する。取っ手46は、ステージ41の上面から突出しており、その上部46aはヒンジ52の逆側に張り出している。取っ手46の上部46aを上下動させることにより、軸線Ax1まわりにステージ41を回転させ、ラック40を傾けることが可能である。なお、「ラック40を傾ける」とは、ラック40の一部又は全体を傾けることにより、ラック40の保持対象物を傾けることを意味する。
【0026】
ラック40は、角度保持機構60を更に有してもよい。角度保持機構60は、ステージ41がロボット10により傾けられた後に、その傾き角度を保持する。例えば角度保持機構60は、ストッパ61を有する。ストッパ61は、支持板51上においてヒンジ52の逆側に設けられている。ストッパ61は支持板51の上面から突出しており、その上部61aはヒンジ52の逆側に張り出している。ストッパ61は、ヒンジ52側に面する溝部61bを有する。溝部61bには、ステージ41の縁部を嵌め込むことが可能である。
【0027】
ストッパ61は、ヒンジ52に対して溝部61bを近接・離間させるように回転可能となっている。例えば図4(a)に示すように、ストッパ61の基部は、ヒンジ52に平行なヒンジ62を介して支持板51に接続されている。図4(b)に示すように、ステージ41を回転させた状態でストッパ61をヒンジ52側に倒し、ステージ41の縁部を溝部61b内に嵌め込むと、ステージ41が拘束される。これにより、ステージ41の傾き角度が保持される。
【0028】
(4)ライト
分注システム1は、ライト45を更に有してもよい。ライト45は、容器保持部44により保持された容器90に光を照射する。ライト45は、少なくともカメラ43による撮像範囲に光を照射する。ライト45が照射する光は、容器90を透過可能であり、カメラ43により検出可能であればよい。例えばライト45は、赤色の可視光を照射するものであってもよい。ライト45の光源としては、例えばLED(Light Emitting Diode)等が挙げられる。
【0029】
ライト45は、ステージ41に固定されてラック40の一部をなしていてもよい。すなわちラック40は、ライト45を更に有してもよい。この場合、ライト45は、カメラ43との間に容器90を挟む配置にてステージ41に固定されていてもよい。すなわち容器保持部44は、カメラ43とライト45との間に位置してもよい。例えばライト45は、ステージ41のうち、カメラ保持部41aとの間に容器保持部44を挟む部分(ライト保持部41b)により保持されている。ライト保持部41bは、容器90側に光を出射する姿勢にてライト45を保持する。
【0030】
(5)コントローラ
分注システム1は、コントローラ100を更に備える。コントローラ100は、少なくとも、カメラ43により撮像された画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、分注器30の先端部30aの位置情報とを取得すること、液体C1を分注器30内に吸引する際に、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御すること、を実行するように構成されている。
【0031】
コントローラ100は、ユーザインタフェースとしてコンソール200を有してもよい。コンソール200は、モニタ201と、キーボード等の入力デバイス202とを有する。コンソール200は、モニタ及び入力デバイスが一体化したタッチパネルであってもよい。
【0032】
コントローラ100は、上述した処理を実行するように構成されていればどのようなものであってもよいが、以下では、図1及び図5図7を参照し、コントローラ100の構成を詳細に例示する。コントローラ100は、機能モジュールとして、プロトコル構築部110と、画像処理部120と、バックライト制御部160と、ロボット制御部130と、分注器制御部140と、工程記憶部151と、基準データ記憶部152とを有する。
【0033】
プロトコル構築部110は、複数種類の分注作業を含むロボット10の作業工程を設定して工程記憶部151に登録し、分注作業用の基準データを基準データ記憶部152に登録する。基準データは、ロボット10の制御に必要なデータであり、画像処理用のデータを含む。画像処理用のデータとしては、例えば画像認識用の画像パターンが挙げられる。
【0034】
画像処理部120は、カメラ43により撮像された画像及び基準データ記憶部152に登録された基準データに基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。
【0035】
バックライト制御部160は、ライト45のオン・オフを切り替える。例えば、バックライト制御部160は、カメラ43による撮像が行われない時間帯の少なくとも一部においてバックライトを消灯させる。これによりオペレータの眼の負担を軽減できる。
【0036】
ロボット制御部130は、画像処理部120により取得された位置情報と、工程記憶部151に登録された作業工程とに基づいてロボット10を制御する。
【0037】
分注器制御部140は、工程記憶部151に登録された作業工程に基づき、ロボット10の制御に同期して分注器30を制御する。例えば分注器30が電動式である場合、分注器制御部140は、分注器30による吸引をオン・オフさせる。分注器制御部140は、分注器30自体を制御するのに代えて、分注器30のオン・オフスイッチを操作するようにロボット10を制御してもよい。また、分注器30が手動式である場合、分注器制御部140は、分注器30を操作するようにロボット10を制御してもよい。例えば分注器30が手動式のシリンジである場合、分注器制御部140は、アーム13A,13Bのいずれか一方によってシリンジの外筒を把持し、アーム13A,13Bの他方によってシリンジのプランジャを押し引きするようにロボット10を制御してもよい。
【0038】
図5に示すように、プロトコル構築部110は、工程設定部111と、工程確認部114と、割込部112と、基準データ登録部113とを有する。
【0039】
工程設定部111は、複数種類の分注作業を含むロボット10の作業工程を設定する。具体的に、工程設定部111は、複数種類の分注作業を含むロボット10の作業工程をコンソール200から取得し、工程記憶部151に登録する。このようにコンソール200は、作業工程を登録するためのユーザインタフェースとして機能する。
【0040】
工程確認部114は、ロボット制御部130が実行しようとする作業内容を確認する。
【0041】
割込部112は、基準データが未登録である分注作業をロボット10が実行しようとするときに、ロボット制御部130を介してロボット10を停止させ、当該基準データの登録後にロボット10の動作を再開させる。
【0042】
基準データ登録部113は、割込部112がロボット10を停止させているときに、基準データの設定用の画面をコンソール200に表示し、コンソール200から基準データを取得して登録する。このようにコンソール200は、基準データを登録するためのユーザインタフェースとしても機能する。
【0043】
図6に示すように、ロボット制御部130は、容器配置制御部131と、分注器配置制御部132と、降下制御部133と、基準距離設定部134と、境界監視部135と、目標位置設定部136と、傾斜検出部137と、傾動制御部138とを有する。
【0044】
容器配置制御部131は、容器90をカメラ43の視野内に配置するようにロボット10を制御する。一例として、容器配置制御部131は、容器90を容器保持部44に配置するようにアーム13Bを制御する。分注器配置制御部132は、分注器30を吸引又は吐出の開始位置に配置するようにアーム13Aを制御する。
【0045】
降下制御部133は、液体C1を分注器30内に吸引する際に、先端部30aの位置情報と、液体C1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御する。
【0046】
降下制御部133は、第一モード制御部133aと、第二モード制御部133bと、切替部133cとを有する。第一モード制御部133aは、液体C1の下降に追従して先端部30aを下降させるようにロボット10を制御する。第二モード制御部133bは、先端部30aを最終目標位置まで下降させるようにロボット10を制御する。最終目標位置は、境界部BD1の位置情報に基づいて予め設定される。切替部133cは、先端部30aが最終目標位置に近付くのに応じて第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える。一例として、切替部133cは、予め設定された基準距離に比べ、先端部30aから最終目標位置までの距離が小さくなるのに応じて、第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える。
【0047】
基準距離設定部134は、上記基準距離を設定する。境界監視部135は、カメラ43により撮像された画像に基づいて、境界部BD1の変化を検出する。目標位置設定部136は、境界部BD1の位置情報に基づいて最終目標位置を設定する。
【0048】
傾斜検出部137は、カメラ43により撮像された画像に基づいて、液面SF1に対する境界部BD1の傾斜を検出する。なお、液面SF1に対する境界部BD1の傾斜は、境界部BD1が容器90の中心軸線に対して傾斜した状態で、容器90が直立してその中心軸線が鉛直となっている場合に生じ得る。傾動制御部138は、液面SF1に対する境界部BD1の傾斜が緩やかになる方向に容器90を傾けるようにロボット10を制御する。傾動制御部138は、傾斜検出部137により境界部BD1の傾斜が検出された場合に、先端部30aが最終目標位置に近付くのに応じて、容器90と分注器30とを、境界部BD1の傾斜が緩やかになる方向に傾けるようにロボット10を制御してもよい。
【0049】
なお、コントローラ100のハードウェアは必ずしも上述した機能ブロックに分かれている必要はない。コントローラ100のハードウェア構成としては、図7に示すように、例えばプロセッサ101と、メモリ102と、ストレージ103と、入出力ポート104と、ドライバ105とを有する回路が挙げられる。ドライバ105は、ロボット10のアクチュエータを制御するための回路である。入出力ポート104は、カメラ43及びコンソール200との間でデータの入出力を行い、吸引又は吐出のオン・オフ指令を分注器30に出力し、ロボット10のアクチュエータに対する駆動指令をドライバ105に出力する。プロセッサ101は、メモリ102及びストレージ103の少なくとも一方と協働してプログラムを実行することで、上述したコントローラ100の各機能を構成する。コンソール200及びコントローラ100は、ハードウェア上において一体であってもよく、互いに分かれていてもよい。また、コントローラ100が複数のハードウェアに分かれていてもよい。分かれたハードウェア同士は、有線及び無線のいずれで接続されていてもよく、接続方式に制限はない。
【0050】
このため、コントローラ100の回路は、カメラ43により撮像された画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得すること、液体C1を分注器30内に吸引する際に、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御すること、を実行するように構成されている。
【0051】
コントローラ100のハードウェア構成は、必ずしもプログラムの実行により各機能モジュールを構成するものに限られない。例えばコントローラ100は、専用の論理回路により又はこれを集積したASIC(Application Specific Integrated Circuit)により各機能を構成するものであってもよい。
【0052】
1.2 プロトコル構築手順
(1)全体構成
続いて、プロトコル構築方法の一例として、コントローラ100によるプロトコルの構築手順について説明する。
【0053】
図8に示すように、コントローラ100は、まずステップS101を実行する。
ステップS101では、工程設定部111が、複数種類の分注作業を含むロボット10の作業工程を設定する。工程設定部111は、複数種類の分注作業を含むロボット10の作業工程をコンソール200から取得し、工程記憶部151に登録する。
【0054】
図9は、作業工程の設定例を例示する図である。この作業工程は、ステップS01〜S23を有する。ステップS01は、細胞等のサンプルを収容した第一の容器90に第一の試薬を注入し、例えばボルテックスミキサー等によって容器90の内容物を撹拌する工程である。ステップS02は、遠心分離等により、第一の容器90の内容物を分注対象の液体C1と非分注対象物C2とに分離する工程である。ステップS03は、第一の容器90内の分注対象の液体C1を取り出して第二の容器90に移し替える工程である。
【0055】
ステップS11は、液体C1を収容した第二の容器90に第二の試薬を注入し、例えばボルテックスミキサー等によって容器90の内容物を撹拌する工程である。ステップS12は、遠心分離等により、第二の容器90の内容物を分注対象の液体C1と非分注対象物C2とに分離する工程である。ステップS13は、第二の容器90内の分注対象の液体C1を排出する工程である。
【0056】
ステップS21は、残留した非分注対象物C2を収容した第二の容器90に第三の試薬を注入し、例えばボルテックスミキサー等によって容器90の内容物を撹拌する工程である。ステップS22は、遠心分離などにより、第二の容器90の内容物を分注対象の液体C1と非分注対象物C2とに分離する工程である。ステップS23は、第二の容器90内の分注対象の液体C1を排出し、容器90内に残留した非分注対象物C2を回収する工程である。なお、図9の作業工程においては、ステップS03,S13及びS23が分注作業に相当する。
【0057】
図8に戻り、コントローラ100は、次にステップS102を実行する。ステップS102では、ロボット制御部130が、ステップS101において設定された工程の実行を開始するようにロボット10を制御する。ロボット制御部130は、例えばユーザによる指令入力に応じてステップS102を実行する。
【0058】
次に、コントローラ100は、ステップS103を実行する。ステップS103では、実行対象の工程が分注作業であるか否かを工程確認部114が確認する。実行対象の工程が分注作業ではない場合、コントローラ100はステップS114を実行する。ステップS114では、ロボット制御部130が、当該工程を実行するようにロボット10を制御する。次に、コントローラ100は、処理を後述のステップS115に進める。
【0059】
実行対象の工程が分注作業である場合、コントローラ100はステップS104,S105を実行する。ステップS104では、ロボット制御部130が、容器90を容器保持部44に配置するようにアーム13Bを制御する。容器90の上部がキャップで塞がれている場合、ロボット制御部130は、キャップの除去も行うようにアーム13Bを制御する。ステップS105では、ロボット制御部130が、容器90側に分注器30の搬送を開始するようにアーム13Aを制御する。
【0060】
次に、コントローラ100はステップS106を実行する。ステップS106では、実行対象の分注作業用の基準データが基準データ記憶部152に登録されているか否かを割込部112が確認する。基準データが登録されていると判定した場合、コントローラ100は、後述のステップS112に処理を進める。
【0061】
基準データが登録されていないと判定した場合、コントローラ100はステップS107,S108を実行する。ステップS107では、割込部112がカメラ43から画像を取得する。ステップS108では、ステップS107において取得した画像に基づいて、先端部30aが基準データ登録用の位置に到達したか否かを割込部112が判定する。基準データ登録用の位置とは、液面SF1よりも上方において、カメラ43の視野内に入る位置を意味する。割込部112は、先端部30aが基準データ登録用の位置に到達するまでステップS107,S108を繰り返す。
【0062】
ステップS108において、先端部30aが基準データ登録用の位置に到達したと判定すると、コントローラ100はステップS109を実行する。ステップS109では、割込部112が、分注器30の搬送を停止させる指令をロボット制御部130に出力する。ロボット制御部130は、割込部112からの指令に応じて、分注器30の搬送を停止するようにロボット10を制御する。このように、割込部112は、基準データが未登録である場合に、先端部30aがカメラ43の視野内に入った後にロボット10を停止させる。
【0063】
次に、コントローラ100はステップS110,S111を実行する。ステップS110では、基準データ登録部113が基準データの登録を実行する。ステップS111では、割込部112が、分注器30の搬送を再開させる指令をロボット制御部130に出力する。ロボット制御部130は、割込部112からの指令に応じて、分注器30の搬送を再開するようにロボット10を制御する。このように、基準データ登録部113は、割込部112がロボット10を停止させているときに基準データの登録を実行し、割込部112は、基準データの登録後にロボット10の動作を再開させる。
【0064】
次に、コントローラ100はステップS112,S113を実行する。ステップS112では、ロボット制御部130が、分注器30を吸引の開始位置に配置するようにアーム13Aを制御する。吸引の開始位置は、例えば液面SF1から所定深さの位置に予め設定される。ステップS113では、ロボット制御部130及び分注器制御部140が、分注作業を実行するようにロボット10及び分注器30をそれぞれ制御する。
【0065】
次に、コントローラ100はステップS115を実行する。ステップS115では、全工程の実行が完了したか否かをロボット制御部130が判定する。全工程の実行が完了していないと判定した場合、コントローラ100は、ステップS116を実行する。ステップS116では、基準データ登録部113が実行対象を次の工程に移行させる。その後、コントローラ100は処理をステップS103に戻す。これにより、基準データが未登録である場合にロボット10を停止させることが、割込部112によって分注作業ごとに実行される。また、割込部112がロボット10を停止させる度に、次に実行予定の分注作業に対応する基準データの登録が基準データ登録部113によって実行される。
【0066】
ステップS115において、全工程の実行が完了したと判定した場合、コントローラ100は処理を終了する。以上でプロトコル構築手順が完了する。
【0067】
(2)基準データ登録手順
続いて、ステップS110における基準データの登録手順について詳細に説明する。
【0068】
図10に示すように、コントローラ100は、まずステップS201を実行する。ステップS201では、バックライト制御部160がライト45を点灯させ、基準データ登録部113が、基準データの設定用の画面をコンソール200のモニタ201に表示する。
【0069】
次に、コントローラ100は、ステップS202〜S204を実行する。ステップS202では、基準データ登録部113が、液体C1外における先端部30aを画像内で探索するための解析領域(本実施形態では、これを「第一の解析領域」という。)をコンソール200から取得し、これを基準データとして基準データ記憶部152に登録する。ステップS203では、基準データ登録部113が、液面SF1を画像内で探索するための解析領域(本実施形態では、これを「第二の解析領域」という。)をコンソール200から取得し、これを基準データとして基準データ記憶部152に登録する。ステップS204では、基準データ登録部113が、境界部BD1を画像内で探索するための解析領域(本実施形態では、これを「第三の解析領域」という。)をコンソール200から取得し、これを基準データとして基準データ記憶部152に登録する。なお、ステップS202〜S204の実行順序は適宜変更可能である。例えば、基準データ登録部113は、第二の解析領域の取得、第三の解析領域の取得、第一の解析領域の取得を順に実行してもよい。
【0070】
図11は、解析領域の設定画面を例示する図である。この画面は、カメラ43により撮像された画像と、ユーザにより入力デバイス202に入力された解析領域とを重ねて表示するものである。図11中の解析領域A1は第一の解析領域の設定用に入力された領域を示している。この解析領域A1は、液体C1外における先端部30aを含むように設定されている。解析領域A2は第二の解析領域の設定用に入力された領域を示している。この解析領域A2は、液面SF1を含むように設定されている。解析領域A3は第三の解析領域の設定用に入力された領域を示している。この解析領域A3は、境界部BD1を含むように設定されている。基準データ登録部113は、解析領域A1を第一の解析領域として基準データ記憶部152に登録し、解析領域A2を第二の解析領域として基準データ記憶部152に登録し、解析領域A3を第三の解析領域として基準データ記憶部152に登録する。
【0071】
図10に戻り、コントローラ100は、次にステップS205を実行する。ステップS205では、基準データ登録部113が、先端部30aの画像パターンを取得し、これを基準データとして基準データ記憶部152に登録する。
【0072】
図12は、画像パターンの登録画面を例示する図である。この画面は、先端部30aの近傍の画像と、ユーザにより入力デバイス202に入力された枠線P1とを重ねて表示するものである。この画面は、図11における解析領域A1内を拡大表示したものであってもよい。枠線P1は、画像パターンとして使用する領域を指定するものである。基準データ登録部113は、枠線P1により囲まれる領域の画像を先端部30aの画像パターンとして基準データ記憶部152に登録する。
【0073】
図10に戻り、コントローラ100は、次にステップS206を実行する。ステップS206では、基準データ登録部113が、先端部30aを液体C1内に挿入させる指令をロボット制御部130に出力する。ロボット制御部130は、基準データ登録部113からの指令に応じて、分注器30を下降させてその先端部30aを液体C1内に挿入させるようにロボット10を制御する。
【0074】
次に、コントローラ100はステップS207を実行する。ステップS207では、基準データ登録部113が、ステップS205と同様に先端部30aの画像パターンを取得し、これを基準データとして基準データ記憶部152に登録する。このように、基準データ登録部113は、液体C1外における先端部30aの画像パターンと、液体C1中における先端部30aの画像パターンとを基準データとして登録する。その後、バックライト制御部160はライト45を消灯させる。
【0075】
以上で基準データの登録手順が完了する。なお、基準データ登録部113が、第一の解析領域、第二の解析領域、第三の解析領域、及び液体C1内外における先端部30aの画像パターンを基準データとして登録する場合を例示したが、これに限られない。基準データ登録部113は、以上に例示した基準データの一部のみを登録してもよい。また、基準データは、ロボット10の制御に必要なデータであればどのようなものであってもよいので、基準データ登録部113は以上に例示したものとは別の基準データを登録してもよい。
【0076】
1.3 分注制御の実行手順
(1)全体構成
続いて、制御方法の一例として、コントローラ100により実行される分注制御手順について説明する。
【0077】
図13は、分注作業の一例として、容器90内の液体C1を他の容器90に移し替える際の制御手順を示している。図13に示すように、コントローラ100は、まずステップS301を実行する。ステップS301では、容器配置制御部131が、容器90を容器保持部44に配置するようにアーム13Bを制御する。容器90の上部がキャップで塞がれている場合、容器配置制御部131は、キャップの除去も行うようにアーム13Bを制御する。
【0078】
次に、コントローラ100は、ステップS302〜S304を実行する。ステップS302では、ロボット制御部130が、分注器30の先端部30aを画像取得用の位置に配置するようにアーム13Aを制御する。画像取得用の位置とは、液面SF1よりも上方において、カメラ43の視野内に入る位置を意味する。その後、バックライト制御部160がライト45を点灯させ、画像処理部120がカメラ43から画像を取得する。この画像は、少なくとも、先端部30aと、液面SF1の一部と、非分注対象物C2の一部とを含む。
【0079】
ステップS303では、画像処理部120が、ステップS302において取得した画像に基づいて、液面SF1の位置情報と、先端部30aの位置情報とを取得する。画像処理部120は、第二の解析領域の情報を基準データ記憶部152から取得し、液面SF1の位置情報を第二の解析領域内から取得する。一例として、画像処理部120は、第二の解析領域内を通る線状部分を検出し、その位置を液面SF1の位置情報として取得する。画像処理部120は、第一の解析領域の情報及び液体C1外における先端部30aの画像パターンを基準データ記憶部152から取得し、当該画像パターンに基づいて、先端部30aの位置情報を第一の解析領域内から取得する。一例として、画像処理部120は、第一の解析領域内において、先端部30aの画像パターンに一致する部分の位置を先端部30aの位置情報として取得する。画像処理部120は、更に境界部BD1の位置情報を取得してもよい。この場合、画像処理部120は、第三の解析領域の情報を基準データ記憶部152から取得し、境界部BD1の位置情報を第三の解析領域内から取得する。一例として、画像処理部120は、第三の解析領域内を通る線状部分を検出し、その位置を境界部BD1の位置情報として取得する。
【0080】
ステップS304では、分注器配置制御部132が、先端部30aを吸引の開始位置OP1(図16(a)参照)に配置するようにアーム13Aを制御する。具体的に、分注器配置制御部132は、ステップS303において取得された先端部30aの位置情報及び液面SF1の位置情報に基づいて、先端部30aを開始位置OP1に配置するための移動量を算出し、当該移動量にて先端部30aを移動させるようにアーム13Aを制御する。開始位置OP1は、例えば、液面SF1から所定深さ(以下、「基準深さ」という。)DP1の位置に予め設定される。基準深さDP1は、例えば以下の条件を満たすように予め設定される。
条件1−1)液面SF1から境界部BD1までの深さに比較して微少であること。
条件1−2)位置制御の誤差が生じても先端部30aを液体C1内に維持できること。
【0081】
次に、コントローラ100はステップS305を実行する。ステップS305では、分注器制御部140及び降下制御部133が、液体C1の吸引を実行するように分注器30及びロボット10をそれぞれ制御する。分注器制御部140は、液体C1を容器90内から吸引するように分注器30を制御する。降下制御部133は、液体を分注器30内に吸引する際に、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御する。分注器30の下降が完了すると、バックライト制御部160がライト45を消灯させる。
【0082】
次に、コントローラ100はステップS306を実行する。ステップS306では、分注器配置制御部132が、先端部30aを容器90内から引き抜くようにアーム13Aを制御する。
【0083】
次に、コントローラ100はステップS307を実行する。ステップS307では、容器配置制御部131が、容器保持部44の容器90を他の容器90に交換するようにアーム13Bを制御する。
【0084】
次に、コントローラ100はステップS308を実行する。ステップS308では、分注器配置制御部132が、先端部30aを吐出の開始位置に配置するようにアーム13Aを制御する。吐出の開始位置は、例えば、容器90内の位置に予め設定される。
【0085】
次に、コントローラ100はステップS309を実行する。ステップS309では、分注器制御部140が、液体C1を容器90内に吐出するように分注器30を制御する。
【0086】
次に、コントローラ100はステップS310を実行する。ステップS310では、分注器配置制御部132が、先端部30aを容器90内から引き抜くようにアーム13Aを制御する。以上で分注作業が完了する。
【0087】
(2)吸引制御手順
続いて、ステップS305における吸引手順について詳細に説明する。
【0088】
図14に示すように、コントローラ100は、まずステップS401を実行する。ステップS401では、分注器制御部140が、容器90内の液体C1の吸引を開始するように分注器30を制御する。
【0089】
次に、コントローラ100はステップS402を実行する。ステップS402では、画像処理部120がカメラ43から画像を取得する。この画像は、少なくとも、先端部30aと、液面SF1の一部と、非分注対象物C2の一部とを含む。
【0090】
次に、コントローラ100はステップS403,S404を実行する。ステップS403では、画像処理部120が、ステップS402において取得した画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。画像処理部120は、第二の解析領域の情報を基準データ記憶部152から取得し、液面SF1の位置情報を第二の解析領域内から取得する。一例として、画像処理部120は、第二の解析領域内を通る線状部分を検出し、その位置を液面SF1の位置情報として取得する。画像処理部120は、第三の解析領域の情報を基準データ記憶部152から取得し、境界部BD1の位置情報を第三の解析領域内から取得する。一例として、画像処理部120は、第三の解析領域内を通る線状部分を検出し、その位置を境界部BD1の位置情報として取得する。画像処理部120は、液体C1内における先端部30aの画像パターンを基準データ記憶部152から取得し、先端部30aの画像パターンに基づいて、先端部30aの位置情報を第二の解析領域内から取得する。一例として、画像処理部120は、第二の解析領域内において、先端部30aの画像パターンに一致する部分の位置を先端部30aの位置情報として取得する。
【0091】
ステップS404では、ステップS402において取得された画像に基づいて、傾斜検出部137が境界部BD1の傾斜を検出する。傾斜検出部137は、画像処理部120により取得された境界部BD1の位置情報に基づいて境界部BD1の傾斜を検出してもよい。
【0092】
次に、コントローラ100はステップS405を実行する。ステップS405では、目標位置設定部136が、ステップS403において取得された境界部BD1の位置情報に基づいて最終目標位置GL1(図16(b)参照)を設定する。一例として、目標位置設定部136は、最終目標位置GL1を境界部BD1の位置に比べて上に設定する。また、目標位置設定部136は、最終目標位置GL1と境界部BD1との鉛直方向における距離が所定の垂直オフセット値VO1となるように最終目標位置GL1を設定する。垂直オフセット値VO1は、例えば以下の条件を満たすように予め設定される。
条件2−1)液面SF1から境界部BD1までの深さに比較して微少であること。
条件2−2)位置制御の誤差が生じても先端部30aが境界部BD1に到達しないこと。
【0093】
目標位置設定部136は、ステップS404において傾斜検出部137により境界部BD1の傾斜が検出された場合には、容器90の中心位置(例えば、側壁91の中心軸線CL1)を基準にして、境界部BD1の傾斜を下る方向にずれた位置を最終目標位置GL1として設定する(図17(b)参照)。一例として、目標位置設定部136は、最終目標位置GL1と容器90の中心軸線CL1との水平方向における距離が所定の水平オフセット値HO1となるように最終目標位置GL1を設定する。水平オフセット値HO1は、例えば以下の条件を満たすように予め設定される。
条件3−1)分注器30が容器90の側壁91に干渉しないこと。
この場合においても、目標位置設定部136は、最終目標位置GL1と境界部BD1との鉛直方向における距離が所定の垂直オフセット値VO2となるように最終目標位置GL1を設定する。垂直オフセット値VO2も垂直オフセット値VO1と同様の条件を満たすように予め設定される。
【0094】
次に、コントローラ100はステップS406〜S411を実行する。ステップS406では、画像処理部120が、ステップS402と同様にカメラ43から画像を取得する。ステップS407では、画像処理部120が、ステップS403と同様に液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。ステップS408では、傾斜検出部137が、ステップS404と同様に境界部BD1の傾斜を検出する。
【0095】
ステップS409では、アーム13Aにより分注器30を下降させることで、液面SF1の下降に追従して先端部30aを下降させるように、第一モード制御部133aがロボット10を制御する(以下、この制御を「第一モードの下降制御」という。)。第一モード制御部133aは、液面SF1の位置情報と、先端部30aの位置情報とに基づいて第一モードの下降制御を実行する。具体的に、第一モード制御部133aは、液面SF1から先端部30aまでの深さが基準深さDP1に近い値に保たれるように第一モードの下降制御を実行する(図16(b)参照)。
【0096】
ステップS410では、基準距離設定部134が基準距離RF1を設定する(図16(b)参照)。基準距離設定部134は、先端部30aの移動速度が大きくなるのに応じて基準距離RF1を大きくするように構成されていてもよい。一例として、基準距離設定部134は、基準距離RF1を先端部30aの下降速度に比例する値に設定するように構成されていてもよい。先端部30aの下降速度は、例えば今回取得された先端部30aの位置情報と、前回取得された先端部30aの位置情報との差分に基づいて算出可能である。また、複数回に亘って算出された上記差分の平均値に基づいて下降速度を算出することも可能である。
【0097】
ステップS411では、境界監視部135が、ステップS407において取得された境界部BD1の位置情報に基づいて、境界部BD1の変化の有無を判定する。ステップS411において境界部に変化が検出されない場合、コントローラ100は処理をステップS413に進める。
【0098】
ステップS411において境界部BD1に変化が検出された場合、コントローラ100はステップS412を実行する。ステップS412では、目標位置設定部136が、ステップS407において取得された境界部BD1の位置情報に基づいて、ステップS405と同様にして最終目標位置GL1を設定する。すなわち目標位置設定部136は、ロボット10が分注器30を下降させているときに、境界部BD1の位置情報に基づいて最終目標位置GL1を更新する。また、目標位置設定部136は、境界監視部135により境界部BD1の変化が検出され場合に最終目標位置GL1を更新する。
【0099】
次に、コントローラ100はステップS413を実行する。ステップS413では、切替部133cが、ステップS410において予め設定された基準距離RF1に比べ、先端部30aから最終目標位置GL1までの距離(以下、「第一の残距離」という。)LD1が小さいか否かを判定する。第一の残距離LD1が基準距離RF1以上であると判定した場合(図16(b)参照)、コントローラ100は処理をステップS406に戻す。これにより、第一モード制御部133aによる制御が継続される。
【0100】
第一の残距離LD1が基準距離RF1未満であると判定した場合(図16(c)参照)、コントローラ100は処理をステップS414に進める。図15に示すように、ステップS414では、切替部133cが、第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える。ステップS413,S414にて例示されるように、切替部133cは、先端部30aが最終目標位置GL1に近付くのに応じて第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える。
【0101】
次に、コントローラ100はステップS415〜S418を実行する。ステップS415では、画像処理部120が、ステップS402と同様にカメラ43から画像を取得する。ステップS416では、画像処理部120が、ステップS403と同様に液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。ステップS417では、傾斜検出部137が、ステップS404と同様に境界部BD1の傾斜を更に検出する。
【0102】
ステップS418では、アーム13Aにより分注器30を下降させることで、先端部30aを最終目標位置GL1に近付けるように、第二モード制御部133bがロボット10を制御する(以下、この制御を「第二モードの下降制御」という。)。
【0103】
なお、第二モード制御部133bは、第一モード制御部133aに比べてオーバーシュートを抑制する制御を行ってもよい。一方第一モード制御部133aは、第二モード制御部133bに比べて応答性を高める制御を行ってもよい。このような構成の一例として、第一モード制御部133aによる制御においては、画像処理における遅れを補償するフィードフォワード制御を行い、第二モード制御部133bによる制御においては当該フィードフォワード制御を行わないものが挙げられる。このような構成の他の例として、第一モード制御部133aによる制御においては、第二モード制御部133bによる制御に比べて偏差に対するゲインを高く設定するものも挙げられる。
【0104】
次に、コントローラ100は、ステップS411と同様のステップS419を実行する。ステップS419では、境界監視部135が、ステップS416において取得された境界部BD1の位置情報に基づいて境界部BD1の変化の有無を判定する。ステップS419において境界部BD1に変化が検出されない場合、コントローラ100は処理をステップS421に進める。
【0105】
ステップS419において、境界部BD1に変化が検出された場合、コントローラ100は、ステップS412と同様のステップS420を実行する。ステップS420では、目標位置設定部136が、ステップS416において取得された境界部BD1の位置情報に基づいて最終目標位置GL1を更新する。
【0106】
次に、コントローラ100はステップS421を実行する。ステップS421では、第二モード制御部133bが、第一の残距離LD1がゼロ以下であるか否かを検出する。第一の残距離LD1がゼロより大きいと判定した場合(図16(c)参照)、コントローラ100は処理をステップS415に戻す。これにより、第二モード制御部133bによる制御が継続される。
【0107】
第一の残距離LD1がゼロ以下であると判定した場合(図16(d)参照)、コントローラ100はステップS422を実行する。ステップS422では、第二モード制御部133bが、分注器30の下降を停止させるようにロボット10を制御する。これにより、降下制御部133による分注器30の降下制御が完了する。ステップS406〜S422において例示されるように、降下制御部133は、液面SF1の下降に追従して先端部30aを下降させ、最終目標位置GL1まで先端部30aを下降させるようにロボット10を制御する。
【0108】
次に、コントローラ100はステップS423を実行する。ステップS423では、分注器制御部140が、液体C1の吸引を停止するように分注器30を制御する(図16(e)参照)。その後、バックライト制御部160がライト45を消灯させる。以上で吸引手順が完了する。
【0109】
(3)吸引制御手順の変形例
コントローラ100は、液面SF1に対して境界部BD1が傾斜し得る場合(例えば容器90の中心軸線CL1に対して境界部BD1が傾斜している場合)に、液面SF1に対する境界部BD1の傾斜を緩やかにする方向に容器90が傾いた状態で、ステップS305の吸引手順を実行してもよい。この場合、ステップS305では、降下制御部133が、容器90の傾きに対応して分注器30の先端部30aを斜め方向に下降させるようにロボット10を制御する(図19(a)〜(d)参照)。容器90の傾きに対応して先端部30aを斜め方向に下降させるとは、容器90の側壁91に接しないように先端部30aを下降させることを意味する。例えば降下制御部133は、容器90の傾いた中心軸線CL1に沿って先端部30aを下降させるようにロボット10を制御してもよい。
【0110】
コントローラ100は、容器90の中心軸線CL1を基準にして、境界部BD1の傾斜を下る方向にずれた位置を最終目標位置GL1として設定すること、及び液面SF1に対する境界部BD1の傾斜を緩やかにする方向に容器90が傾いた状態とすることのいずれか一方のみを行うように構成されていてもよいし、これらの両方を組み合わせて行うように構成されていてもよい。
【0111】
液面SF1に対する境界部BD1の傾斜を緩やかにする方向に容器90が傾いた状態とするタイミング及び手法に特に制限はない。例えば、容器90を容器保持部44に配置するように容器配置制御部131がロボット10を制御した後に、ラック40を傾けることで容器90を傾けるように傾動制御部138がロボット10を制御してもよい。
【0112】
ラック40を傾けるように傾動制御部138がロボット10を制御した後に、容器90を容器保持部44に配置するように容器配置制御部131がロボット10を制御してもよい。
【0113】
容器90は、カメラ43の視野外から視野内に搬送される前に、液面SF1に対する境界部BD1の傾斜を緩やかにする方向に傾けて配置されている場合もある。例えば容器90が傾いた状態で遠心分離機内に配置される場合、遠心分離の実行後の容器90内では、容器90が直立する場合に比べ、液面SF1に対する境界部BD1の傾斜が緩やかとなる。このような場合、容器配置制御部131は、容器90の傾きを維持しながら、当該容器90をカメラ43の視野外から搬送し、容器保持部44に配置するようにロボット10を制御してもよい。
【0114】
液面SF1に対する境界部BD1の境界を緩やかにする方向に容器90が傾いた状態とすることをステップS305に先立って実行する場合、コントローラ100は、ストッパ61を利用してラック40の傾きを一定に保つようにロボット10を制御してもよい。例えばコントローラ100は、アーム13Bにより取っ手46の上部46aを上昇させてステージ41を傾けた状態で、アーム13Aによりストッパ61をヒンジ52側に倒し、ステージ41の縁部を溝部61b内に嵌め込むようにロボット10を制御してもよい(図20参照)。
【0115】
ステージ41の縁部が溝部61b内に嵌り込むと、ラック40の傾きがストッパ61により保たれるので、取っ手46及びストッパ61をアーム13A,13Bから解放することが可能となる。このため、分注器30を画像取得用の位置に配置する作業をアーム13Aに実行させることが可能となる。また、容器90の上部がキャップにより塞がれている場合には、当該キャップを除去する作業をアーム13Bに実行させることも可能となる。更に、分注器30が手動式である場合には、アーム13A,13Bの協調により分注器30を操作することも可能となる。このように、ストッパ61を利用することで、アーム13A,13Bをより幅広い作業に活用し得る。
【0116】
コントローラ100は、液面SF1に対する境界部BD1の境界を緩やかにする方向に容器90が傾いた状態とすることをステップS305の途中で実行してもよい。例えば傾動制御部138は、ロボット10が先端部30aを下降させている途中において、ラック40を傾けることで容器90を傾けるようにロボット10を制御してもよい(以下、これを「傾動制御」という)。一例として、傾動制御部138は、先端部30aが最終目標位置GL1に近付くのに応じて容器90を傾けるようにロボット10を制御してもよい。
【0117】
図18は、傾動制御手順を例示するフローチャートである。図18に示すように、コントローラ100は、まずステップS501を実行する。ステップS501では、傾動制御部138が、ステップS403,S406,S414のいずれかにおいて取得された位置情報に基づいて、液面SF1から境界部BD1までの距離(以下、「第二の残距離」という。)LD2が基準距離RF3に比べて小さくなるのを待機する(図21(a)及び(b)参照)。基準距離RF3は、液面SF1が境界部BD1に到達する前に容器90及び分注器30の傾動が開始されるように、予め設定される。
【0118】
第二の残距離LD2が基準距離RF3に比べて小さくなると(図21(c)参照)、コントローラ100はステップS502〜S506を実行する。ステップS502では、傾斜検出部137が、ステップS402,S405、S413のいずれかにおいて取得された画像に基づいて、液面SF1に対する境界部BD1の傾斜角度θを検出する(図21(c)参照)。傾斜角度θは、例えば境界部BD1の形状を線径補完することで算出可能である。
【0119】
ステップS503では、傾動制御部138が、傾斜角度θに対応する目標傾動角度RF5を設定する。一例として、傾動制御部138は、目標傾動角度RF5を傾斜角度θに等しい値に設定する。
【0120】
ステップS504では、傾動制御部138が、容器90及び分注器30の傾動を開始するようにロボット10を制御する(図21(d)及び(e)参照)。一例として、傾動制御部138は、アーム13Bにより取っ手46の上部46aを上昇させてラック40を傾けることで、容器90を傾けるようにロボット10を制御する(図22参照)。これにより、カメラ43と、容器90と、ライト45とが並ぶ方向に沿う軸線まわりにラック40が傾動する。また、傾動制御部138は、容器90の傾動に合わせて、アーム13Aにより分注器30を傾けるようにロボット10を制御する。
【0121】
ステップS505では、容器90及び分注器30の傾動角度が目標傾動角度RF5以上となるのを傾動制御部138が待機する。ステップS506では、容器90及び分注器30の傾動を停止させるように傾動制御部138がロボット10を制御する。
【0122】
以上で傾動制御手順が完了する。なお、傾斜角度θは遠心分離器の特性等により略一様に定まり、定数として扱うことが可能な場合もある。このような場合、傾斜角度θを検出するステップS502を省略してもよい。
【0123】
ラック40を傾けることで容器90を傾ける構成においては、カメラ43も容器90と共に傾く。このため、画像内において容器90は傾かず、液面SF1のみが傾斜する。このように液面SF1が傾く状態を想定し、画像処理部120は、予め傾きが規定された線状パターンを探索対象として、当該線状パターンを画像内から抽出し、抽出結果に基づいて液面の位置情報を取得してもよい。画像処理部120は、探索対象とする線状パターンの傾きを容器90の傾きに応じて規定してもよい。
【0124】
図23は、ラック40を備える構成においてカメラ43により撮像される画像を示している。画像処理部120は、図23(a)に示すように、容器90及びカメラ43が傾く方向D1と逆向きに同程度の角度で傾いた線状パターンLP1を探索対象として、線状パターンLP1を画像内から抽出し、抽出結果に基づいて液面SF1の位置情報を取得してもよい。画像処理部120は、線状パターンLP1の傾斜角を一つの値に設定してもよいし、上限値及び下限値を設定し、線状パターンLP1の傾斜角に幅を持たせてもよい。
【0125】
画像処理部120は、探索対象とする線状パターンの傾きを容器90の太さ(側壁91の内径)に応じて規定してもよい。例えば画像処理部120は、容器90が細くなる(側壁91の内径が小さくなる)のに応じて、探索対象とする線状パターンの傾きを小さく規定してもよい。
【0126】
液面SF1の周縁部は、液体C1の表面張力により、側壁91の内面に近付くにつれてせり上がった状態となる(以下、せり上がった部分を「せり上がり部」という。)。図23(b)に示すように、容器90が細くなると、液面SF1におけるせり上がり部の比率が高くなる。このような場合に、探索対象の線状パターンの傾きを大きく設定してしまうと、せり上がり部のみを抽出してしまう可能性がある。せり上がり部のみが抽出されると、液面全体がせり上がり部と同様に傾いているものとして液面SF1の位置情報が取得されるので、液面SF1の位置情報の精度が低下する(図中の線状パターンLP1参照)。このような場合には、線状パターンLP1に比べ傾きが小さい(例えば水平な)線状パターンLP2を探索対象とすることで、せり上がりの小さい側壁91の中心近傍における液面SF1を抽出することが可能となる。これにより、液面SF1の位置情報の精度低下を抑制できる。
1.4 第一実施形態の効果
【0127】
以上に説明したように、分注システム1は、分注対象の液体C1を吸引するための分注器30を移動させるロボット10と、少なくとも、分注器30の先端部30aと、液体C1の液面SF1と、液面SF1よりも下方に位置する非分注対象物C2とを含む画像を撮像するためのカメラ43と、上記画像に基づいて、液面SF1の位置情報と、液体C1と非分注対象物C2との間の境界部BD1の位置情報と、分注器30の先端部30aの位置情報とを取得する画像処理部120と、液体C1を分注器30内に吸引する際に、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御する降下制御部133と、を備える。
【0128】
この分注システム1によれば、液面SF1と先端部30aとの位置関係に基づいて先端部30aを下降させることで、先端部30aを液面SF1から浅い位置に保つことが可能となる。これにより、先端部30aの外周に付着してしまう液体が削減される。境界部BD1と先端部30aとの位置関係に基づいて先端部30aを下降させることで、先端部30aを境界部BD1に近付けることが可能となる。これにより、液体C1が十分に吸引される。また、液面SF1及び境界部BD1に合わせて先端部30aを移動させることにより、先端部30aを液体内に維持し、空吸い(気体の吸引)の発生を抑制できる。従って、より確実な分注作業を実行可能である。
【0129】
先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とは、画像情報に基づいて分注作業ごとに取得される。液面SF1の位置情報及び境界部BD1の位置情報はばらつきやすいので、これらの情報を分注作業ごとに取得することによって更に確実な分注作業を実行できる。
【0130】
なお、本実施形態においては、チップ32が本体部31に対して着脱自在となっているため、本体部31に対する先端部30aの位置もばらつき易い。このため、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とを分注作業ごとに取得することの効果がより顕著なものとなっている。
【0131】
分注システム1は、境界部BD1の位置情報に基づいて最終目標位置GL1を設定する目標位置設定部136を更に備えてもよく、降下制御部133は、液面SF1の下降に追従して分注器30の先端部30aを下降させ、最終目標位置GL1まで分注器30の先端部30aを下降させるようにロボット10を制御してもよい。液面SF1の下降に追従して先端部30aを下降させることで、先端部30aをより確実に液面SF1から浅い位置に保つことが可能となる。更に、境界部BD1から最終目標位置GL1を求めることで、先端部30aをより確実に境界部BD1に近付けることが可能となる。従って、より確実な分注作業を実行可能である。但し、分注システム1は、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるものであればよいので、目標位置設定部136を更に備えること、液面SF1の下降に追従して先端部30aを下降させること、最終目標位置GL1まで先端部30aを下降させることは必須ではない。
【0132】
目標位置設定部136は、ロボット10が分注器30を下降させているときに、境界部BD1の位置情報に基づいて最終目標位置GL1を更新してもよい。この場合、境界部BD1の位置に変動が生じたときであっても、境界部BD1の動きに応じて最終目標位置GL1を更新できるので、先端部30aをより確実に境界部BD1に近付けることが可能となる。従って、より確実な分注作業を実行可能である。但し、目標位置設定部136により最終目標位置GL1を更新することは必須ではない。
【0133】
分注システム1は、上記画像に基づいて、境界部BD1の変化を検出する境界監視部135を更に備えてもよく、目標位置設定部136は、境界監視部135により境界部BD1の変化が検出された場合に、境界部BD1の位置情報に基づいて最終目標位置GL1を更新してもよい。この場合、境界部BD1に変化が検出されたときに限定して最終目標位置GL1の更新を行うことで、演算負荷を軽減できる。但し、境界部BD1に変化が検出されたときに限定して最終目標位置GL1を更新することは必須ではない。目標位置設定部136は、境界部BD1の位置情報を取得する度に最終目標位置GL1を更新するように構成されていてもよい。
【0134】
降下制御部133は、液面SF1の下降に追従して分注器30の先端部30aを下降させるようにロボット10を制御する第一モード制御部133aと、分注器30の先端部30aを最終目標位置GL1まで下降させるようにロボット10を制御する第二モード制御部133bと、分注器30の先端部30aが最終目標位置GL1に近付くのに応じて第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える切替部133cと、を有してもよい。この場合、第一モード制御部133aによる下降制御では、液面SF1への追従を優先することで、先端部30aをより確実に液面SF1から浅い位置に保つことが可能となる。第二モード制御部133bによる下降制御では、最終目標位置GL1までの下降を優先することで、先端部30aをより確実に境界部BD1に近付けることが可能となる。従って、より確実な分注作業を実行可能である。
但し、降下制御部133による制御を、第一モード制御部133aによる制御と第二モード制御部133bによる制御の二段階に分けることは必須ではない。
【0135】
第一モード制御部133aは、第二モード制御部133bに比べて応答性を高める制御を行い、第二モード制御部133bは、第一モード制御部133aに比べてオーバーシュートを抑制する制御を行ってもよい。この場合、第一モード制御部133aによる下降制御では、液面SF1の下降に対する先端部30aの遅れが削減されるので、先端部30aの位置を液面SF1からより浅い位置に保つことが可能となる。第二モード制御部133bによる下降制御では、最終目標位置GL1に対する行き過ぎ量が削減されるので、先端部30aをより確実に境界部BD1に近付けることが可能となる。従って、より確実な分注作業を実行可能である。但し、第一モード制御部133aによる制御と、第二モード制御部133bによる制御とで応答性等を変更することは必須ではない。
【0136】
切替部133cは、予め設定された基準距離RF1に比べ残距離LD1が小さくなるのに応じて、第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替えてもよい。この場合、判定基準の単純化により、第一モード制御部133aから第二モード制御部133bへの切り替えをより確実に実行できる。但し、切り替えの判定基準はこれに限られない。
【0137】
分注システム1は、分注器30の先端部30aの移動速度が大きくなるのに応じて基準距離RF1を大きくする基準距離設定部134を更に備えてもよい。この場合、先端部30aの移動速度が大きくなるのに応じて第二モード制御部133bによる制御への切り替えタイミングを早めることで、最終目標位置GL1における先端部30aの停止をより確実に実現できる。従って、より確実な分注作業を実現できる。なお、本実施形態においては、側壁91の下側部分91aが先窄まりのテーパ形状を呈しているので、液面SF1が底部92に近付くにつれて液面SF1の下降速度が大きくなる。このため、移動速度が大きくなるのに応じて基準距離RF1を大きくする構成の効果がより顕著なものとなっている。但し、先端部30aの移動速度が大きくなるのに応じて基準距離RF1を大きくすることは必須ではない。
【0138】
降下制御部133は、液体C1及び非分注対象物C2が、カメラ43の視野内において傾いた容器90に収容された状態にて、容器90の傾きに対応して分注器30の先端部30aを斜め方向に下降させるようにロボット10を制御してもよい。この場合、容器90が直立している場合に比べて、液面SF1に対する境界部BD1の傾斜を緩やかにするように容器90を傾けた状態にて液体C1の吸引を実行できる。液面SF1に対する境界部BD1の傾斜を緩やかにすると、傾斜した境界部BD1の上側部分と液面SF1とが接触し難くなるので、境界部BD1の変動が抑制される。これにより、最終目標位置GL1の位置が安定するので、先端部30aをより確実に境界部BD1に近付けることが可能となる。従って、より確実な分注作業を実行可能である。但し、吸引作業の実行に際して容器90が傾いた状態とすることは必須ではない。
【0139】
分注システム1は、液面SF1に対する境界部BD1の傾斜を緩やかにする方向に容器90が傾いた状態を維持しながら、当該容器90をカメラ43の視野外から搬送し、カメラ43の視野内に配置するようにロボット10を制御する容器配置制御部131を更に備えてもよい。この場合、境界部BD1の変動をより確実に抑制できる。
【0140】
カメラ43の視野内において、液面SF1に対する境界部BD1の傾斜を緩やかにする方向に容器90を傾けるようにロボット10を制御する傾動制御部138を更に備えてもよい。この場合、境界部BD1の状態に応じて容器90を傾けることができる。
【0141】
分注システム1は、上記画像に基づいて、液面SF1に対する境界部BD1の傾斜を検出する傾斜検出部137を更に備え、傾動制御部138は、傾斜検出部137により境界部BD1の傾斜が検出された場合に、分注器30の先端部30aが最終目標位置GL1に近付くのに応じて、容器90と分注器30とを、境界部BD1の傾斜が緩やかになる方向に傾けるようにロボット10を制御してもよい。この場合、吸引により容器90内の液体C1が減った後に容器90が傾けられるので、容器90の傾動による液体C1の漏出をより確実に防止できる。
【0142】
傾動制御部138は、液面SF1が境界部BD1に到達する前に、容器90及び分注器30を傾けるようにロボット10を制御してもよい。この場合、境界部BD1の変動がより確実に抑制される。これにより、最終目標位置GL1の位置が更に安定するので、先端部30aをより確実に境界部BD1に近付けることが可能となる。
【0143】
分注システム1は、第一及び第二のアーム13A,13Bを有する双腕型のロボット10を備えてもよい。降下制御部133は、第一のアーム13Aにより分注器30を下降させるようにロボット10を制御し、傾動制御部138は、第一のアーム13Aにより分注器30を傾け、第二のアーム13Bにより容器90を傾けるようにロボット10を制御してもよい。この場合、双腕型のロボット10を有効活用し、容器90及び分注器30の傾動を伴う吸引手順を効率化できる。但し、ロボット10が双腕型であることは必須ではない。例えば分注システム1は、容器90を傾動させる装置をロボット10とは別に備えていてもよい。
【0144】
傾斜検出部137は、上記画像に基づいて、液面SF1に対する境界部BD1の傾斜角度θを検出してもよい。傾動制御部138は、傾斜角度θに対応する目標傾動角度RF5にて容器90及び分注器30を傾けるようにロボット10を制御してもよい。この場合、境界部BD1の変動がより確実に抑制される。これにより、最終目標位置GL1の位置が更に安定するので、先端部30aをより確実に境界部BD1に近付けられる。従って、より確実な分注作業を実行可能である。但し、目標傾動角度RF5を傾斜角度θに対応させることは必須ではない。
【0145】
目標位置設定部136は、傾斜検出部137により境界部BD1の傾斜が検出された場合には、容器90の中心位置を基準にして、境界部BD1の傾斜を下る方向にずれた位置を最終目標位置GL1として設定してもよい。この場合、容器90内のより深い位置まで先端部30aを進入させ、より多くの液体C1を吸引できる(図17(b)〜図17(e)参照)。従って、より確実な分注作業を実行可能である。但し、中心位置を基準にして、境界部BD1の傾斜を下る方向にずれた位置を最終目標位置GL1とすることは必須ではない。
【0146】
分注システム1は、カメラ43及び容器90を共に保持するラック40を更に備えてもよい。降下制御部133は、容器90の傾きがラック40により維持された状態で分注器30の先端部30aを斜め方向に下降させるようにロボット10を制御してもよい。この場合、容器90及びカメラ43の位置関係が安定するので、容器90が傾いた状態においても、容器90がより確実にカメラ43の視野内に保たれる。また、カメラ43及び容器90の間の距離が安定するので、画像のピンボケが抑制される。従って、画像に基づく各種位置情報の取得をより確実に実行できるので、より確実な分注作業を実行可能である。但し、ラック40を備えることは必須ではない。
【0147】
分注システム1は、カメラ43及び容器90を共に保持するラック40を更に備えてもよい。傾動制御部138は、ラック40を傾けることで容器90を傾けるようにロボット10を制御してもよい。この場合、カメラ43が容器90と共に傾動するので、容器90がより確実にカメラ43の視野内に保たれる。また、カメラ43及び容器90の間の距離が安定するので、画像のピンボケが抑制される。従って、画像に基づく各種位置情報の取得をより確実に実行できるので、より確実な分注作業を実行可能である。但し、ラック40を備えることは必須ではない。
【0148】
分注システム1は、容器90に光を照射するライト45を更に備えてもよい。ライト45は、カメラ43との間に容器90を挟む配置にて、カメラ43及び容器90と共にラック40に保持されていてもよい。この場合、ライト45も容器90と共に傾動するので、画像に基づく各種位置情報の取得をより確実に実行できる。従って、より確実な分注作業を実行可能である。但し、ライト45を備えることは必須ではない。
【0149】
ライト45は赤色の可視光を照射してもよい。この場合、画像処理における液面SF1及び境界部BD1の検出感度を高めることができる。
【0150】
カメラ43による撮像が行われていない時間帯の少なくとも一部においてライト45を消灯させるバックライト制御部160を更に備えてもよい。この場合、ライト45の点灯時間を少なくし、オペレータの眼の負担を軽減できる。
【0151】
画像処理部120は、予め傾きが規定された線状パターンを探索対象として、当該線状パターンを画像内から抽出し、抽出結果に基づいて液面SF1の位置情報を取得してもよい。液面SF1の周囲には水滴などのノイズ情報が多い。予め探索対象の線状パターンを規定しておくことで、ノイズ情報を除去して液面SF1の位置情報を高精度に取得できる。
【0152】
画像処理部120は、探索対象の線状パターンの傾きを容器90の傾きに応じて規定してもよい。液面SF1の傾きは、容器90の傾きに相関する。このため、探索対象の線状パターンの傾きを容器90の傾きに応じて規定することで、液面SF1の位置情報をより高精度に取得できる。
【0153】
画像処理部120は、探索対象の線状パターンの傾きを容器90の太さに応じて規定してもよい。液面SF1の位置情報を取得するのに適切な線状パターンの傾きは、容器90の太さによって変わる傾向がある。例えば、容器90が細くなると、液面SF1における上記せり上がり部(液面SF1の周縁部において、液体C1の表面張力によりせり上がった部分)の比率が高くなる。このような場合に、線状パターンの傾きを大きく設定してしまうと、せり上がり部のみを抽出してしまい、液面SF1の位置情報の精度が低下する可能性がある。このため、容器の太さに応じて線状パターンの傾きを規定することで、液面の位置情報をより高精度に取得できる。
【0154】
分注システム1は、ロボット10による分注作業用の基準データを登録するためのコンソール200と、基準データが未登録である場合に、分注器30の先端部30aがカメラ43の視野内に入った後にロボット10を停止させ、当該基準データの登録後にロボット10の動作を再開させる割込部112と、割込部112がロボット10を停止させているときに、基準データの設定用の画面をコンソール200に表示し、コンソール200から基準データを取得して登録する基準データ登録部113と、を更に備えてもよい。この場合、ロボット10の動作中においても、次に実行する分注作業用の基準データが未登録である場合には、割込部112によってロボット10の動作が一時中断され、基準データ登録部113により基準データが登録された後にロボット10の動作が再開される。このため、予め基準データの登録作業を行っていなかったとしても、ロボット10の動作中に適宜登録できる。従って、ロボット10の動作プログラムを容易に構築できる。但し、このような登録機能を備えることは必須ではない。
【0155】
分注システム1は、複数種類の分注作業を含むロボット10の作業工程を設定する工程設定部111を更に備えてもよい。割込部112は、基準データが未登録である場合にロボット10を停止させることを分注作業ごとに実行し、基準データ登録部113は、割込部112がロボット10を停止させる度に、次に実行予定の分注作業に対応する基準データを取得して登録してもよい。この場合、複数種類の分注作業を含む動作プログラムを構築する場合であっても、分注作業ごとの基準データをロボット10の動作中に適宜設定できる。
【0156】
基準データ登録部113は、基準データとして、分注器30の先端部30aの画像パターンを登録し、画像処理部120は、分注器30の先端部30aの画像パターンに基づいて分注器30の先端部30aの位置情報を取得してもよい。この場合、パターンマッチングにより、先端部30aの位置情報を容易且つ迅速に取得できる。
【0157】
基準データ登録部113は、液体C1外における分注器30の先端部30aの画像パターンと、液体C1中における分注器30の先端部30aの画像パターンとを登録してもよい。この場合、液体C1外における画像パターンと、液体C1内における画像パターンとを使い分けることで、先端部30aの位置情報の精度を向上させることができる。
【0158】
基準データ登録部113は、基準データとして、液体C1外における分注器30の先端部30aを上記画像内で探索するための第一の解析領域と、液面SF1を上記画像内で探索するための第二の解析領域と、境界部BD1を上記画像内で探索するための第三の解析領域とを更に登録してもよい。画像処理部120は、第一又は第二の解析領域内から分注器30の先端部30aの位置情報を取得し、第二の解析領域内から液面SF1の位置情報を取得し、第三の解析領域内から境界部BD1の位置情報を取得してもよい。この場合、位置情報の探索領域を制限することで、処理の更なる高速化及び位置情報の更なる高精度化を図ることができる。
【0159】
ラック40は、ステージ41に固定され、容器90を保持する容器保持部44と、容器90を撮像可能な位置にてステージ41に固定されたカメラ43とを備える。
【0160】
このようなラック40によれば、ステージ41を傾けることで、容器90とカメラ43とを共に傾けることができる。このため、容器90を傾ける作業を伴う分注作業においても、視野内における容器90の配置を一定に保つことができる。また、容器90及びカメラ43の間の距離が安定するので、画像のピンボケが抑制される。これらの作用により、分注に必要な情報を画像処理により取得する際に、取得結果の信頼性が高められる。従って、ラック40を用いて得られた画像を処理して得られた情報を、分注作業用の装置(例えばロボット10及び分注器30)の制御に利用することで、より確実な分注作業を実行可能な分注システムを構築できる。
【0161】
ラック40は、容器保持部44とカメラ43とが並ぶ方向に沿う第一軸線まわりに回転可能となるようにステージ41を保持するステージ保持部50を更に備えてもよい。この場合、第一軸線まわりに傾く容器90を含む画像が第一軸線に沿う視線で撮像される。このため、容器90が傾いた状態においても、液面SF1の画像が概ね一本の線状に保たれるので、液面SF1の画像認識が容易である。従って、画像処理による情報取得結果の信頼性が更に高められるので、より確実な分注作業を実行可能な分注システムを構築できる。
【0162】
ラック40は、容器90に光を照射可能な位置にてステージ41に固定されたライト45を更に備えてもよい。この場合、ステージ41を傾けることで、容器90及びカメラ43と共にライト45も傾けることができる。このため、容器90を傾ける作業を伴う分注作業においても、容器90の照明状態を一定に保つことができる。また、容器90及びカメラ43に対するライト45の配置が安定するので、画像内の明度分布が安定する。これらの作用により、画像処理による情報取得結果の信頼性が更に高められる。従って、より確実な分注作業を実行可能な分注システムを構築できる。
【0163】
容器保持部44は、カメラ43とライト45との間に位置していてもよい。この場合、容器90外面における反射光の影響が抑制されるので、画像処理による情報取得結果の信頼性が更に高められる。従って、より確実な分注作業を実行可能な分注システムを構築できる。
【0164】
なお、ラック40が有用となる分注システムは、必ずしも上述した分注システム1に限られない。少なくとも、ラック40と、ロボットと、コントローラとを備え、コントローラが、容器90を搬送し、容器保持部44に保持させるようにロボット10を制御することと、カメラ43により撮像された画像に基づいて液面SF1の位置情報を取得することと、ラック40を傾けるようにロボット10を制御することと、液体C1を分注器30内に吸引する際に、液面SF1の位置情報に基づいて分注器30を下降させるようにロボット10を制御することと、を実行するように構成された分注システムであれば、ラック40を有効に活用できる。
【0165】
ラック40がステージ保持部50を有する場合には、コントローラにより、第一軸線まわりにラック40を傾けるようにロボット10を制御することで、ラック40を更に有効に活用できる。
【0166】
2. ラックの変形例
ラックは、ステージに固定され、分注対象の液体を収容する容器を保持する容器保持部と、容器を撮像可能な位置にてステージに固定されたカメラと、を備えていればどのようなものであってもよいので、その具体的な構成は上述したラック40として例示したものに限られない。以下、図24図27を参照し、ラックの変形例を説明する。
【0167】
図24図27に示すラック40Aは、ラック40の容器保持部44、ステージ保持部50及び角度保持機構60を、容器保持部44A、ステージ保持部50A及び角度保持機構60Aにそれぞれ置き換えたものである。
【0168】
2.1 容器保持部
容器保持部44Aは、第一ホルダ70A、第二ホルダ70B及び弾性部材78A,78Bを有する。以下、第一ホルダ70A、第二ホルダ70B及び弾性部材78A,78Bの説明における「上下」は、ステージ41の上面を水平にした場合の上下を意味する。
【0169】
(1) 第一ホルダ及び第二ホルダ
第一ホルダ70A及び第二ホルダ70Bは、カメラ43の中心軸CL2を挟むように位置し、互いに近接して容器90を挟むように構成されている。例えばステージ41の上面には、二本のガイド71A,71Bが設けられており、第一ホルダ70Aはガイド71Aに取り付けられ、第二ホルダ70Bはガイド71Bに取り付けられている。ガイド71A,71Bは、中心軸CL2に沿う方向に並んでおり、それぞれ中心軸CL2に直交する方向に延びている。鉛直上方から見て、ガイド71Aは中心軸CL2の一方側に位置し、ガイド71Bは中心軸CL2の他方側に位置する。
【0170】
第一ホルダ70Aは、スライドブロック72Aと、スライド板73Aと、柱状部74Aと、接触部75Aとを有する。スライドブロック72Aは、ガイド71A上に設けられており、ガイド71Aに沿って移動可能である。スライドブロック72Aは、例えば複数のボールを介してガイド71Aに取り付けられている。スライド板73Aは、スライドブロック72A上に設けられており、中心軸CL2に沿う方向においてガイド71B側に張り出している。
【0171】
柱状部74Aは、スライド板73Aの上面から突出している。例えば柱状部74Aは、中心軸CL2に比べ高い位置まで突出している。柱状部74Aは、スライド板73Aのうちガイド71B側に張り出した部分の上に位置している。
【0172】
接触部75Aは、柱状部74Aの上部に設けられている。接触部75Aは、柱状部74Aの上部において、中心軸CL2側に突出している。接触部75Aの外面うち、中心軸CL2側の面には、鉛直方向に沿う溝75aが形成されている。
【0173】
第二ホルダ70Bは、スライドブロック72Bと、スライド板73Bと、柱状部74Bと、溝75bとを有する。スライドブロック72Bは、ガイド71B上に設けられており、ガイド71Bに沿って移動可能である。スライドブロック72Bは、例えば複数のボールを介してガイド71Bに取り付けられている。スライド板73Bは、スライドブロック72B上に設けられており、中心軸CL2に沿う方向においてガイド71A側に張り出している。
【0174】
柱状部74Bは、スライド板73Bの上面から突出している。例えば柱状部74Bは、中心軸CL2に比べ高い位置まで突出している。柱状部74Bは、スライド板73Bのうちガイド71A側に張り出した部分の上に位置しており、中心軸CL2を挟んで柱状部74Aに対向する。
【0175】
接触部75Bは、柱状部74Bの上部に設けられている。接触部75Bは、柱状部74Bの上部において、中心軸CL2側に突出している。接触部75Bの外面うち、中心軸CL2側の面には、鉛直方向に沿う溝75bが形成されている。
【0176】
以上の構成により、第一ホルダ70Aは、中心軸CL2に対して一方側から近接又は離間可能であり、第二ホルダ70Bは、中心軸CL2に対して第一ホルダ70Aの逆側から近接又は離間可能である。第一ホルダ70A及び第二ホルダ70Bがそれぞれ中心軸CL2に対して近接又は離間するのに伴い、接触部75A,75Bが互いに近接又は離間する。これにより、接触部75A,75B同士の間に容器90を挟むことが可能である。接触部75A,75Bにより挟まれた容器90の側壁91は、溝75a,75bに沿う。これにより、側壁91がステージ41の上面に対して垂直になる。
【0177】
なお、接触部75A,75Bは、柱状部74A,74Bとそれぞれ一体的に形成されていてもよいし、別体として形成されて柱状部74A,74Bにそれぞれ固定されていてもよい。容器90の損傷をより確実に防止する観点で、接触部75A,75Bは、柱状部74A,74Bに比べて柔らかい材料により構成されていてもよい。例えば、柱状部74A,74Bが金属材料で構成される場合に、接触部75A,75Bは樹脂材料により構成されていてもよい。
【0178】
このような容器保持部44Aによれば、カメラ43の視野内に容器90を簡単な手順で正確に保持できる。例えば、弾性部材78A,78Bの反発力で接触部75A,75Bが互いに近接した状態にて、溝75a,75bの間に上方から容器90の底部92を挿入し、そのまま容器90を下方に押し込んで側壁91を接触部75A,75Bの間に配置するのみで、容器保持部44Aに容器90を保持させることができる。
【0179】
(2)弾性部材
弾性部材78A、78Bは、第一ホルダ70A及び第二ホルダ70Bを互いに近接させるように反発力を生じる。第一ホルダ70Aのスライド板73Aのうち、ガイド71B側に張り出した部分には、ステージ41側に突出する凸部76Aが形成されている。ステージ41の上面には、中心軸CL2に直交する方向において第二ホルダ70Bの逆側から凸部76Aに対向する凸部77Aが形成されている。弾性部材78Aは、例えばコイルバネであり、圧縮された状態で凸部76A,77Aの間に配置されている。これにより、弾性部材78Aの反発力は、第一ホルダ70Aに対して第二ホルダ70B側に作用する。
【0180】
第二ホルダ70Bのスライド板73Bのうち、ガイド71A側に張り出した部分には、ステージ41側に突出する凸部76Bが形成されている。ステージ41の上面には、中心軸CL2に直交する方向において第一ホルダ70Aの逆側から凸部76Bに対向する凸部77Bが形成されている。弾性部材78Bは、例えばコイルバネであり、圧縮された状態で凸部76B,77Bの間に配置されている。これにより、弾性部材78Bの反発力は、第二ホルダ70Bに対して第一ホルダ70A側に作用する。
【0181】
(3)リンク機構
ラック40Aは、リンク機構80を更に有してもよい。リンク機構80は、互いに近接又は離間する際の第一ホルダ70A及び第二ホルダ70Bの移動量が等しくなるように、第一ホルダ70A及び第二ホルダ70Bを連動させる。例えばリンク機構80は、ピン81A,81B及びリンク83を有する。
【0182】
ピン81A,81Bを設けるために、上述したスライド板73A,73Bは、それぞれ中心軸CL2側にも張り出している。ピン81Aは、スライド板73Aのうち中心軸CL2側に張り出した部分の上面から突出している。ピン81Aは、柱状部74Aに比べてガイド71A側に位置している。ピン81Bは、スライド板73Bのうち中心軸CL2側に張り出した部分の上面から突出している。ピン81Bは、柱状部74Bに比べてガイド71B側に位置している。
【0183】
リンク83は、鉛直な軸線回りに回転自在となるようにステージ41上に取り付けられている。リンク83の回転中心は、ピン81A,81Bから等距離の位置を通り、中心軸CL2に交わる。リンク83は、ピン81A,81Bの間に架け渡されている。具体的にリンク83の両端部には、鉛直上方から見てU字状の凹部83a,83bがそれぞれ形成されており、ピン81Aが凹部83a内に収容され、ピン81Bが凹部83b内に収容されている。
【0184】
この機構によれば、第一ホルダ70A及び第二ホルダ70Bの一方が中心軸CL2に対して近接又は離間するように移動すると、これに応じてリンク83が回転し、リンク83の回転に応じて第一ホルダ70A及び第二ホルダ70Bの他方が逆向きに移動する。リンク83の回転中心は、ピン81A,81Bから等距離の位置を通っているので、第一ホルダ70A及び第二ホルダ70Bの一方の移動量と、第一ホルダ70A及び第二ホルダ70Bの他方の移動量とは等しくなる。
【0185】
2.2 ステージ保持部
ステージ保持部50Aは、容器保持部44とカメラ43とが並ぶ方向に沿う軸線Ax2(第一軸線)まわりに回転可能となるようにステージ41を保持する。軸線Ax2は、カメラ43の中心軸CL2に平行であってもよく、中心軸CL2とステージ41との間(図27の領域R1参照)に位置してもよい。軸線Ax2は、鉛直上方から見て中心軸CL2と重なる位置にあってもよい。
【0186】
例えばステージ保持部50Aは、支持板51と、ブラケット53A,53Bと、軸54A,54Bと、ブラケット55A,55Bとを有する。
【0187】
ブラケット53A,53Bは、軸線Ax2が延びる方向において、ステージ41の両端部にそれぞれ設けられている。ブラケット53A,53Bは、それぞれステージ41の上面から突出している。軸54Aは、ブラケット53Aからブラケット53Bの逆側に突出している。軸54Bは、ブラケット53Bからブラケット53Aの逆側に突出している。すなわち、軸54A,54Bは互いに逆向きに突出している。軸54A,54Bは、互いに同軸であり、これらの中心軸は軸線Ax2に一致している。
【0188】
ブラケット55A,55Bは、軸線Ax2が延びる方向において、支持板51の両端部にそれぞれ設けられている。ブラケット55A,55Bは、それぞれ支持板51の上面から突出している。ブラケット55A,55Bは、軸54A,54Bをそれぞれ回転自在に保持する。例えばブラケット55A,55Bは、図26に示すように、軸受孔55a,55bをそれぞれ有する。ブラケット55Aはブラケット53Aに対向し、その軸受孔55aに軸54Aを受け入れる。ブラケット55Bはブラケット53Bに対向し、その軸受孔55bに軸54Bを受け入れる。これにより、ステージ41が軸線Ax2まわりに回転自在となるように保持される。
【0189】
2.3 角度保持機構
角度保持機構60Aは、外力によるトルクが作用した場合にステージ41の回転を許容し、外力によるトルクが作用しない場合にステージ41の回転を規制する。角度保持機構60Aは、例えば摩擦負荷63A,63Bを有する。摩擦負荷63Aは、軸54Aの周囲においてブラケット53A,55Aの間に介在し、これらの間に摩擦トルクを発生させる。摩擦負荷63Bは、軸54Bの周囲においてブラケット53B,55Bの間に介在し、これらの間に摩擦トルクを発生させる。摩擦負荷63A,63Bの静摩擦トルクは、その合計値が、軸線Ax2まわりに回転可能な部分の自重によるトルクを上回るように設定されている。
【0190】
角度保持機構60Aは、外力によるトルクが作用した場合にステージ41の回転を許容し、外力によるトルクが作用しない場合にステージ41の回転を規制するものであればどのようなものであってもよく、その具体的な構成は摩擦負荷63A,63Bに限られない。例えば角度保持機構60Aは、トルクダイオード(登録商標)により構成されてもよい。
【0191】
2.4 ハンドル
ラック40Aは、第一ハンドル56A及び第二ハンドル56Bを更に有してもよい。第一ハンドル56Aは、軸線Ax2が延びる方向におけるステージ41の一端側に設けられ、ステージ41にトルクを伝達可能である。第二ハンドル56Bは、軸線Ax2が延びる方向におけるステージ41の他端側に設けられ、ステージ41にトルクを伝達可能である。
【0192】
例えば第一ハンドル56Aは、ブラケット53Aとの間にブラケット55Aを挟むように配置され、ブラケット55Aを貫通した軸54Aの端部に固定されている。第一ハンドル56Aには、ブラケット55Aの逆側に突出した凸部57Aが設けられている。凸部57Aの中心軸線は、軸54Aの中心軸線(軸線Ax2)に対してずれている。
【0193】
第二ハンドル56Bは、ブラケット53Bとの間にブラケット55Bを挟むように配置され、ブラケット55Bを貫通した軸54Bの端部に固定されている。第二ハンドル56Bには、ブラケット55Bの逆側に突出した凸部57Bが設けられている。凸部57Bの中心軸線は、軸54Bの中心軸線(軸線Ax2)に対してずれている。
【0194】
このような構成によれば、図28に示すように、凸部57A,57Bのいずれか一方を把持し、軸線Ax2まわりに移動させるようにロボット10を制御することにより、ステージ41にトルクを伝達することが可能である。
【0195】
2.5 ラックの変形例の効果
以上、ラック40Aにおいて例示したように、ラック40Aの第一軸線(軸線Ax2)は、カメラ43の中心軸CL2に平行であり、カメラ43の中心軸CL2とステージ41との間に位置してもよい。この場合、第一軸線がラック40Aの外縁に位置する場合に比べ、第一軸線まわりに回転する部分の回転半径が小さくなる。このため、ラックの占有面積を縮小できる。
【0196】
ラック40Aは、外力によるトルクが作用した場合にステージ41の回転を許容し、外力によるトルクが作用しない場合にステージ41の回転を規制する角度保持機構60Aを更に備えてもよい。この場合、ステージ41の傾きを任意の角度で保持できる。このため、分注時の容器の傾き角度をより細やかに調節し、より確実な分注作業を実行することができる。
【0197】
第一軸線がカメラ43の中心軸CL2とステージ41との間に位置する構成において角度保持機構60Aを採用すると、更に次の効果が得られる。すなわち、第一軸線がカメラ43の中心軸CL2とステージ41との間に位置する場合、第一軸線がラック40Aの外縁に位置する場合に比べ、第一軸線まわりに回転する部分の自重によるモーメントが小さくなる。このため、外力によるトルクが作用しない場合においてステージ41の回転を規制するのに必要な保持力が小さくなるので、角度保持機構60Aの小型化が可能となる。
【0198】
ラック40Aは、第一軸線が延びる方向におけるステージ41の一端側に設けられ、ステージ41にトルクを伝達可能な第一ハンドル56Aと、第一軸線が延びる方向におけるステージ41の他端側に設けられ、ステージ41にトルクを伝達可能な第二ハンドル56Bと、を更に有してもよい。この場合、第一軸線が延びる方向の両側からステージ41にトルクを付加できる。このため、分注作業用の装置(例えばロボット10)によりステージ41を傾ける際に、当該装置の動作量を削減し、分注作業の効率を高めることができる。
【0199】
容器保持部44Aは、カメラ43の中心軸CL2を挟むように位置し、互いに近接して容器を挟むように構成された第一ホルダ70A及び第二ホルダ70Bと、第一ホルダ70A及び第二ホルダ70Bを互いに近接させるように反発力を生じる弾性部材78A,78Bとを更に有してもよい。この場合、様々な太さの容器90を共通の容器保持部44Aによって保持できる。また、弾性部材の反発力により容器90を挟み込むことにより、カメラ43の視野内における容器90の位置を、容器90の太さによらず安定させることができる。従って、画像処理による情報取得結果の信頼性を損なうことなく、分注システムの汎用性を高めることができる。
【0200】
ラック40Aは、互いに近接又は離間する際の第一ホルダ70A及び第二ホルダ70Bの移動量が等しくなるように、第一ホルダ70A及び第二ホルダ70Bを連動させるリンク機構80を更に有してもよい。この場合、カメラ43の視野内における容器90の位置を更に安定させることができる。従って、画像処理による情報取得結果の信頼性を更に高めることができる。
【0201】
3. 第二実施形態
第二実施形態に係る分注システム1Aは、分注システム1のコントローラ100をコントローラ100Aに置き換えたものである。
【0202】
3.1 コントローラ
図29に示すように、コントローラ100Aは、コントローラ100のプロトコル構築部110、画像処理部120及びロボット制御部130をプロトコル構築部110A、画像処理部120A及びロボット制御部130Aにそれぞれ置き換えると共に、解析領域設定部170を付加したものである。コントローラ100Aは、コントローラ100において例示したものと同様のハードウェアにより構成可能である。このため、ハードウェア構成の説明は省略し、機能モジュールのみについて説明する。
【0203】
(1)プロトコル構築部
プロトコル構築部110Aは、複数種類の分注作業を含むロボット10の作業工程を設定して工程記憶部151に登録する。例えばプロトコル構築部110Aは、プロトコル構築部110と同様に工程設定部111を有するが、割込部112、工程確認部114及び基準データ登録部113を有しない。このため、プロトコル構築部110Aは、上述した基準データの登録を行わない。
【0204】
(2)解析領域設定部
解析領域設定部170は、容器90内に収容された液体C1及び非分注対象物C2の量を示す情報に基づいて、液体C1を画像内で探索するための解析領域(本実施形態では、これを「第一の解析領域」という。)を設定する。
【0205】
解析領域設定部170は、非分注対象物C2の量を示す情報に基づいて、境界部BD1を画像内で探索するための解析領域(本実施形態では、これを「第二の解析領域」という。)を更に設定してもよい。
【0206】
(3)画像処理部
図30に示すように、画像処理部120Aは、カメラ43により撮像された画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。例えば画像処理部120Aは、画像取得部121と、第一処理部122と、第二処理部123と、出力部124と、参照情報記憶部125とを有する。
【0207】
画像取得部121は、カメラ43により撮像された画像を取得する。
【0208】
第一処理部122は、画像取得部121により取得された画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得する。例えば第一処理部122は、解析領域設定部170により設定された第一の解析領域内から液面SF1の位置情報を取得し、解析領域設定部170により設定された第二の解析領域内から境界部BD1の位置情報を取得する。
【0209】
第一処理部122は、液面SF1の位置情報を取得した後の画像に基づいて、液面SF1の位置情報を更新してもよい。例えば第一処理部122は、所定の周期で画像取得部121から画像を取得し、新たに取得した画像に基づいて液面SF1の位置情報を更新する。
【0210】
第一処理部122は、境界部BD1の位置情報を取得した後の画像に基づいて、境界部BD1の位置情報を更新してもよい。例えば第一処理部122は、所定の周期で画像取得部121から画像を取得し、新たに取得した画像に基づいて境界部BD1の位置情報を更新する。
【0211】
第一処理部122は、先端部30aを含まない画像(以下、「第一画像」という。)と、先端部30aを含む画像(以下、「第二画像」という。)との差分に基づいて、先端部30aの位置情報を取得してもよい。
【0212】
第一処理部122は、先端部30aの位置情報を取得した後の画像に基づいて、先端部30aの位置情報を更新してもよい。例えば第一処理部122は、所定の周期で画像取得部121から画像を取得し、新たに取得した画像に基づいて先端部30aの位置情報を更新する。
【0213】
この場合、第一処理部122は、第一画像と第二画像との差分に基づいて、先端部30aの画像パターンを取得し、その後の先端部30aの位置情報を当該画像パターンに基づいて取得してもよい。
【0214】
第二処理部123は、先端部30aの位置情報が第一処理部122により取得された後の先端部30aの位置変化を推定し、この位置変化に基づいて先端部30aの位置情報を更新する。
【0215】
第一処理部122は、先端部30aが液面SF1よりも上方に位置する際に、画像取得部121により取得された画像に基づいて先端部30aの位置情報を取得し、第二処理部123は、当該位置情報が第一処理部122により取得された後の前記位置変化を推定してもよい。
【0216】
第二処理部123は、液面SF1の位置情報が第一処理部122により取得された後の液面SF1の位置変化を推定し、この位置変化に基づいて液面SF1の位置情報を更新してもよい。
【0217】
出力部124は、液面SF1、境界部BD1及び先端部30aの最新の位置情報を第一処理部122及び第二処理部123から取得し、出力する。
【0218】
参照情報記憶部125は、第一処理部122による処理で得られたデータのうち、後の処理において用いられるデータを記憶する。
【0219】
画像処理部120Aは、処理モード設定部126を更に有してもよい。処理モード設定部126は、第一処理部122により先端部30aの位置情報を更新するか(以下、「第一処理モード」という。)、第二処理部123により先端部30aの位置情報を更新するか(以下、「第二処理モード」という。)を液体C1の種類に応じて設定する。すなわち画像処理部120Aは、先端部30aの位置情報を取得した後の画像に基づいて先端部30aの位置情報を更新することと、上記位置変化に基づいて先端部30aの位置情報を更新することとを、液体C1の種類に応じて選択して実行してもよい。
【0220】
処理モード設定部126は、第一処理部122により液面SF1の位置情報を更新するか、第二処理部123により液面SF1の位置情報を更新するかを設定してもよい。すなわち画像処理部120Aは、液面SF1の位置情報を取得した後の画像に基づいて、液面SF1の位置情報を更新することと、上記位置変化に基づいて液面SF1の位置情報を更新することとを、液体C1の種類に応じて選択して実行してもよい。
【0221】
更に処理モード設定部126は、第一処理部122により境界部BD1の位置情報を更新するか否かを液体C1の種類に応じて設定してもよい。すなわち画像処理部120Aは、境界部BD1の位置情報を取得した後の画像に基づいて、境界部BD1の位置情報を更新することを実行するか否かを液体C1の種類に応じて選択してもよい。
【0222】
(4)ロボット制御部
ロボット制御部130Aは、ロボット制御部130に副制御部139を付加したものである。副制御部139は、先端部30a、液面SF1及び境界部BD1の少なくともいずれかについて、画像処理部120から位置情報が得られない場合に、降下制御部133に代わって、予め設定されたパターンに基づいてロボット10を制御する、
【0223】
3.2 分注制御の実行手順
(1)全体構成
続いて、制御方法の一例として、コントローラ100Aにより実行される分注制御手順について説明する。
【0224】
図31は、分注作業の一例として、容器90内の液体C1を他の容器90に移し替える際の制御手順を示している。図31に示すように、コントローラ100Aは、まずステップS601を実行する。ステップS601では、ステップS301と同様に、容器配置制御部131が、容器90を容器保持部44に配置するようにアーム13Bを制御する。更にステップS601では、解析領域設定部170が第一及び第二の解析領域を取得し、処理モード設定部126が第一処理モード及び第二処理モードのいずれか一方を選択する。
【0225】
解析領域設定部170は、容器90内に収容された液体C1及び非分注対象物C2の量を示す情報に基づいて第一の解析領域を設定する。例えば液体C1及び非分注対象物C2の量を示す情報は、容器90の大きさ及び形状を示す情報と併せて、工程設定部111により予め工程記憶部151に登録される。解析領域設定部170は、容器90の大きさ及び形状に関する情報と、液体C1及び非分注対象物C2の量を示す情報とを工程記憶部151から取得し、これに基づいて容器90内における液面SF1の位置を算出し、当該位置を含むように第一の解析領域を設定する。
【0226】
解析領域設定部170は、非分注対象物C2の量を示す情報に基づいて第二の解析領域を設定する。例えば解析領域設定部170は、容器90の大きさ及び形状に関する情報と、非分注対象物C2の量を示す情報とを工程記憶部151から取得し、これに基づいて容器90内における境界部BD1の位置を算出し、当該位置を含むように第二の解析領域を設定する。
【0227】
処理モード設定部126は、液体C1の種類に応じて第一処理モード及び第二処理モードのいずれか一方を選択する。例えば処理モード設定部126は、液体C1が、液中の先端部30aを画像認識可能な液体であるか否かを判定し、液中の先端部30aを画像認識可能な液体である場合には第一処理モードを選択し、他の場合には第二処理モードを選択する。液中に位置する先端部30aを画像認識可能であるか否かは、例えば液体C1の色及び光透過率等に基づいて判定可能である。液中に位置する先端部30aを画像認識可能であるかを液体C1の種類ごとにリスト化したテーブルを予め作成し、これを参照してもよい。
【0228】
次に、コントローラ100Aは、ステップS602〜S605を実行する。ステップS602では、バックライト制御部160がライト45を点灯させ、画像取得部121がカメラ43から画像を取得する。これにより、先端部30aを含まない上記第一画像が取得される。
【0229】
ステップS603では、ロボット制御部130Aが、ステップS302と同様に、分注器30の先端部30aを画像取得用の位置に配置するようにアーム13Aを制御する。
【0230】
ステップS604では、画像取得部121がカメラ43から画像を取得する。これにより、先端部30aを含む上記第二画像が取得される。
【0231】
ステップS605では、第一処理部122が、画像取得部121により取得された画像に基づいて、液面SF1の位置情報と、境界部BD1の位置情報と、先端部30aの位置情報とを取得して参照情報記憶部125に格納する。
【0232】
第一処理部122は、解析領域設定部170により設定された第一の解析領域内から液面SF1の位置情報を取得し、解析領域設定部170により設定された第二の解析領域内から境界部BD1の位置情報を取得する。例えば、第一処理部122は、第一の解析領域内を通る線状部分を検出し、その位置を液面SF1の位置情報として取得する。第一処理部122は、第二の解析領域内を通る線状部分を検出し、その位置を境界部BD1の位置情報として取得する。
【0233】
第一処理部122は、第一画像と第二画像との差分に基づいて、先端部30aの位置情報を取得する。例えば、第一処理部122は、第一画像と第二画像との差分を画素ごとに算出し、差分が閾値よりも大きい領域を抽出し、当該領域の位置に基づいて先端部30aの位置情報を取得する。第一処理部122は、取得した先端部30aの位置情報を参照情報記憶部125に格納する。
【0234】
次に、コントローラ100AはステップS606を実行する。ステップS606では、液面SF1、境界部BD1及び先端部30aの全ての位置情報を取得できたか否かを出力部124が確認する。
【0235】
ステップS606において、全ての位置情報を取得できたと判定した場合、コントローラ100AはステップS607,ステップS608を実行する。ステップS607では、分注器配置制御部132が、ステップS304と同様に、先端部30aを吸引の開始位置OP1に配置するようにアーム13Aを制御する。
【0236】
ステップS601において、上記第一処理モードが選択されている場合、第一処理部122は、先端部30aが開始位置OP1に配置された状態にて画像取得部121から画像を取得してこれを第二画像とし、当該第二画像と上記第一画像との差分に基づいて先端部30aの画像パターンを取得し、参照情報記憶部125に登録する。
【0237】
例えば第一処理部122は、第一画像と第二画像との差分を画素ごとに算出し、差分が閾値よりも大きい領域を抽出し、当該領域に対応する画像パターンを第二画像から切り出す。第一処理部122は、切り出した画像パターンを参照情報記憶部125に登録する。
【0238】
ステップS608では、分注器制御部140及び降下制御部133が、液体C1の吸引を実行するように分注器30及びロボット10をそれぞれ制御する。分注器制御部140は、液体C1を容器90内から吸引するように分注器30を制御する。降下制御部133は、液体を分注器30内に吸引する際に、先端部30aの位置情報と、液面SF1の位置情報と、境界部BD1の位置情報とに基づいて、分注器30を下降させるようにロボット10を制御する。分注器30の下降が完了すると、バックライト制御部160がライト45を消灯させる。
【0239】
ステップS606において、いずれかの位置情報を取得できていないと判定した場合、コントローラ100AはステップS607,ステップS608に代えてステップS609を実行する。ステップS609では、分注器制御部140及び副制御部139が、液体C1の吸引を実行するように分注器30及びロボット10をそれぞれ制御する。分注器制御部140は、液体C1を容器90内から吸引するように分注器30を制御する。副制御部139は、分注器30を下降させるように予め設定されたパターンに基づいてロボット10を制御する。
【0240】
次に、コントローラ100Aは、ステップS306〜S310と同様のステップS610〜S614を実行する。以上で分注作業が完了する。
【0241】
(2)吸引制御手順
続いて、ステップS608における吸引手順について詳細に説明する。
【0242】
図32に示すように、コントローラ100Aは、まずステップS701を実行する。ステップS701では、画像取得部121がカメラ43から画像を取得する。
【0243】
次に、コントローラ100AはステップS702を実行する。ステップS702では、第一処理部122及び第二処理部123の少なくとも一方が、液面SF1、境界部BD1及び先端部30aの位置情報を更新する。
【0244】
図34を参照し、位置情報の更新手順の一例を示す。まずコントローラ100Aは、ステップS801を実行する。ステップS801では、更新対象が先端部30aであるか否かを第一処理部122が確認する。
【0245】
ステップS801において、更新対象が先端部30aであると判定した場合、コントローラ100AはステップS802を実行する。ステップS802では、第一処理部122が、ステップS601において第一処理モードが選択されたか否かを確認する。
【0246】
ステップS802において、第一処理モードが選択されていると判定した場合、コントローラ100AはステップS803を実行する。ステップS803では、第一処理部122が、最新の画像に基づいて先端部30aの位置情報を更新する。例えば第一処理部122は、ステップS607において参照情報記憶部125に登録された画像パターンに一致する部分を最新の画像内から抽出し、抽出した部分の位置に基づいて先端部30aの位置情報を更新する。
【0247】
ステップS802において、第二処理モードが選択されていると判定した場合、コントローラ100AはステップS803の代わりにステップS804,S805を実行する。ステップS804では、第二処理部123が、ステップS605の実行後の先端部30aの位置変化を推定する。
【0248】
例えば第二処理部123は、ロボット10のアクチュエータのうち、先端部30aの位置に影響する全てのアクチュエータについて、ステップS605の実行後の駆動量を示す情報をロボット制御部130Aから取得する。その後第二処理部123は、上記駆動量に基づいて準運動学演算を行い、先端部30aの位置変化を推定する。
【0249】
ステップS805では、第二処理部123が、ステップS804において推定された位置変化に基づいて、先端部30aの位置情報を更新する。例えば第二処理部123は、ステップS605において参照情報記憶部125に格納された先端部30aの位置情報にステップS803において推定された位置変化を合算して、先端部30aの位置情報を更新する。
【0250】
ステップS801において、更新対象が液面SF1又は境界部BD1であると判定した場合、コントローラ100Aは、ステップS802を実行することなく処理をステップS803に進める。
【0251】
更新対象が液面SF1である場合、ステップS803では、第一処理部122が、最新の画像における第一の解析領域内から液面SF1の位置情報を新たに取得し、液面SF1の位置情報を新たに取得した情報に更新する。
【0252】
更新対象が境界部BD1である場合、ステップS803では、第一処理部122が、最新の画像における第二の解析領域内から境界部BD1の位置情報を新たに取得し、境界部BD1の位置情報を新たに取得した情報に更新する。
【0253】
次に、コントローラ100AはステップS806を実行する。ステップS806では、液面SF1、境界部BD1及び先端部30aの全てについて位置情報の更新が完了したか否かを出力部124が確認する。
【0254】
ステップS806において、全位置情報の更新が完了していないと判定した場合、コントローラ100Aは、更新対象を変更して(ステップS807)処理をステップS801に戻す。これにより、全位置情報の更新が完了するまで位置情報の更新処理が繰り返される。
【0255】
ステップS806において、全位置情報の更新が完了していると判定した場合、コントローラ100Aは上記ステップS702を完了する。
【0256】
なお、図34では、第一処理モード及び第二処理モードのいずれが選択されているかに応じて先端部30aの位置情報の更新手順のみを切り替える例を示したが、これに限られない。例えば第二処理部123は、ステップS601において第二処理モードが選択されている場合に、ステップS605の実行後の液面SF1の位置変化を推定し、この位置変化に基づいて液面SF1の位置情報を更新してもよい。
【0257】
例えば第二処理部123は、分注器30による吸引速度を示す情報と、容器90の大きさ及び形状に関する情報とに基づいて、液面SF1の位置変化を推定する。その後第二処理部123は、ステップS605において参照情報記憶部125に格納された液面SF1の位置情報に位置変化の推定結果を合算して、液面SF1の位置情報を更新する。分注器30による吸引速度を示す情報は、例えば分注器制御部140から取得可能である。容器90の大きさ及び形状に関する情報は、上述したように工程記憶部151から取得可能である。
【0258】
第二処理部123は、ステップS601において第二処理モードが選択されている場合に、境界部BD1の位置情報を更新しなくてもよい。
【0259】
図32に戻り、コントローラ100Aは、次にステップS703を実行する。ステップS703では、ステップS404と同様に、最新の画像に基づいて、傾斜検出部137が境界部BD1の傾斜を検出する。ステップS703では、境界部BD1の最新の位置情報に基づいて境界部BD1の傾斜を検出してもよい。
【0260】
次に、コントローラ100はステップS704を実行する。ステップS704では、ステップS405と同様に、目標位置設定部136が、境界部BD1の最新の位置情報に基づいて最終目標位置GL1を設定する。
【0261】
次に、コントローラ100AはステップS705を実行する。ステップS705では、分注器制御部140が、容器90内の液体C1の吸引を開始するように分注器30を制御する。
【0262】
次に、コントローラ100AはステップS701〜S703と同様のステップS706〜S708を実行する。
【0263】
次に、コントローラ100Aは、ステップS709を実行する。ステップS709では、ステップS409と同様に、第一モード制御部133aが上記第一モードの下降制御を実行する。
【0264】
次に、コントローラ100Aは、ステップS710を実行する。ステップS710では、ステップS410と同様に、基準距離設定部134が基準距離RF1を設定する。
【0265】
次に、コントローラ100Aは、ステップS711を実行する。ステップS711では、ステップS411と同様に、境界監視部135が、境界部BD1の最新の位置情報に基づいて、境界部BD1の変化の有無を判定する。ステップS711において境界部に変化が検出されない場合、コントローラ100は処理をステップS713に進める。
【0266】
ステップS711において境界部BD1に変化が検出された場合、コントローラ100は、ステップS712を実行する。ステップS712では、ステップS412と同様に、目標位置設定部136が、境界部BD1の最新の位置情報に基づいて最終目標位置GL1を更新する。
【0267】
次に、コントローラ100AはステップS713を実行する。ステップS713では、ステップS413と同様に、切替部133cが、基準距離RF1に比べ第一の残距離LD1が小さいか否かを判定する。第一の残距離LD1が基準距離RF1以上であると判定した場合、コントローラ100Aは処理をステップS706に戻す。これにより、第一モード制御部133aによる制御が継続される。
【0268】
第一の残距離LD1が基準距離RF1未満であると判定した場合、コントローラ100Aは処理をステップS714に進める。図33に示すように、ステップS714では、ステップS414と同様に、切替部133cが、第一モード制御部133aによる制御を第二モード制御部133bによる制御に切り替える。
【0269】
次に、コントローラ100AはステップS701〜S703と同様のステップS715〜S717を実行する。
【0270】
次に、コントローラ100AはステップS718を実行する。ステップS718では、ステップS418と同様に、第二モード制御部133bが上記第二モードの下降制御を実行する。
【0271】
次に、コントローラ100Aは、ステップS711と同様のステップS719を実行する。ステップS719において境界部BD1に変化が検出された場合、コントローラ100Aは、ステップS712と同様のステップS720を実行する。
【0272】
次に、コントローラ100Aは、ステップS721を実行する。ステップS721では、ステップS421と同様に、第一の残距離LD1がゼロ以下であるか否かを第二モード制御部133bが検出する。第一の残距離LD1がゼロより大きいと判定した場合、コントローラ100Aは処理をステップS715に戻す。これにより、第二モード制御部133bによる制御が継続される。
【0273】
第一の残距離LD1がゼロ以下であると判定した場合、コントローラ100は、ステップS422,S423と同様のステップS722,S723を実行する。以上で吸引手順が完了する。
【0274】
3.3 第二実施形態の効果
以上、第二実施形態において例示したように、画像処理部120Aは、先端部30aの位置情報を取得した後の先端部30aの位置変化を推定し、この位置変化に基づいて先端部30aの位置情報を更新してもよい。先端部30aは、液体C1中に位置する際に液面SF1及び境界部BD1に比べ画像認識し難い傾向がある一方で、その位置変化をロボット10の状態から推定し易い。このため、先端部30aの位置情報を位置変化の推定により更新することで、降下制御部の制御の信頼性を高めることができる。
【0275】
画像処理部120Aは、液面SF1の位置情報及び境界部BD1の位置情報を取得した後の画像に基づいて液面SF1の位置情報及び境界部BD1の位置情報を更新してもよい。液面SF1及び境界部BD1は、その位置変化をロボットの状態からは推定し難い一方で、液体C1中に位置する先端部30aに比べ画像認識し易い傾向がある。このため、先端部30aについては位置情報を推定により更新し、液面SF1及び境界部BD1については画像に基づいて位置情報を更新することで、降下制御部の制御の信頼性を更に高めることができる。
【0276】
画像処理部120Aは、先端部30aが液面SF1よりも上方に位置する際に、画像に基づいて先端部30aの位置情報を取得し、当該情報を取得した後の位置変化を推定してもよい。画像内における先端部30aとその周囲とのコントラストは、先端部30aが液体内にある場合に比べ液体外にある場合の方が高くなる傾向がある。このため、液面SF1よりも上方に位置する際に、画像に基づいて先端部30aの位置情報を取得し、その後は位置変化の推定により先端部30aの位置情報を更新することで、液体C1中に位置する先端部30aの位置情報も高い精度で取得できる。
【0277】
画像処理部120Aは、先端部30aの位置情報を取得した後の画像に基づいて先端部30aの位置情報を更新すること(第一処理モード)と、位置変化に基づいて先端部30aの位置情報を更新すること(第二処理モード)とを、液体C1の種類に応じて選択して実行してもよい。液体C1の種類は液中の物体の視認性に大きな影響を及ぼす。液体C1中における物体の視認性が高い場合には、画像に基づき先端部30a位置情報を更新することで、外乱に対する適応性を高めることができる。液体C1中における物体の視認性が低い場合には、画像に基づき先端部30aの位置情報を更新すると制御の信頼性が低下する。そこで、液体C1の種類に応じて、第一処理モード及び第二処理モードを切り替えることで、制御の信頼性を保ちつつ、外乱に対する適応性を高めることができる。
【0278】
先端部30a、液面SF1及び境界部BD1の少なくともいずれかについて位置情報が得られない場合に、降下制御部133に代わって、予め設定されたパターンに基づいてロボット10を制御する副制御部139を更に備えてもよい。この場合、位置情報が得られない場合においてもロボット10の制御を継続し、後段の処理の停滞を防止できる。
【0279】
画像処理部120Aは、先端部30aを含まない画像と、先端部30aを含む画像との差分に基づいて、先端部30aの位置情報を取得してもよい。この場合、先端部30aの位置情報を容易な演算で取得できる。また、パターンマッチング用の画像パターンを予め登録する必要がないので、当該画像パターンの登録作業をなくして操作手順を簡素化できる。更に、登録作業者による画像パターンのばらつきを削減し、画像処理部による位置情報の取得精度のばらつきを抑制できる。
【0280】
画像処理部120Aは、先端部30aを含まない画像と、先端部30aを含む画像との差分に基づいて、先端部30aの画像パターンを取得し、この画像パターンに基づいて先端部30aの位置情報を取得してもよい。この場合、画像の差分に基づいて画像パターンを取得した後には、先端部30aが画像内を移動するときにも、パターンマッチングによって先端部30aの位置を追跡できる。
【0281】
コントローラ100Aは、容器90内に収容された液体C1及び非分注対象物C2の量を示す情報に基づいて、液面SF1を画像内で探索するための第一の解析領域を設定する解析領域設定部170を更に備えてもよい。画像処理部120Aは、第一の解析領域内から液面SF1の位置情報を取得してもよい。
【0282】
液面SF1の位置は、容器90内に収容された液体C1及び非分注対象物C2の量を示す情報に基づいて概ね推定可能である。そこで、当該情報に基づくことで、第一の解析領域を的確に設定できる。第一の解析領域を的確に設定して、画像内における液面SF1の探索範囲を限定することにより、誤認識の発生を抑制して液面SF1の位置情報の取得精度を高めることができる。
【0283】
解析領域設定部170を備えると、第一の解析領域を作業者が予め登録する必要がないので、操作手順を簡素化することもできる。更に、登録作業者による第一の解析領域のばらつきを削減できる。これによっても、液面SF1の位置情報の取得精度が高められる。
【0284】
解析領域設定部170は、非分注対象物C2の量を示す情報に基づいて、境界部BD1を画像内で探索するための第二の解析領域を更に設定してもよい。画像処理部120Aは、第二の解析領域内から境界部BD1の位置情報を取得してもよい。
【0285】
境界部BD1の位置は、非分注対象物C2の量を示す情報に基づいて概ね推定可能である。そこで、当該情報に基づくことで、第二の解析領域も的確に設定できる。第二の解析領域を的確に設定して、画像内における境界部BD1の探索範囲を限定することにより、誤認識の発生を抑制して境界部BD1の位置情報の取得精度も高めることができる。
【0286】
第二の解析領域を作業者が予め登録する必要がないので、操作手順を更に簡素化することもできる。更に、登録作業者による第二の解析領域のばらつきを削減できる。これによっても、境界部BD1の位置情報の取得精度が高められる。
【0287】
コントローラ100Aは、ラック40のカメラ43により撮像された画像に基づいて、ロボット10を基準とした先端部30aの位置のキャリブレーションを更に実行するように構成されていてもよい。ロボット10を基準とした先端部30aの位置のキャリブレーションとは、ロボット10の姿勢に基づいて先端部30aの位置を求めるのに必要なパラメータを算出することを意味する。
【0288】
例えば図30に示すように、コントローラ100Aはキャリブレーション部180を更に有してもよい。キャリブレーション部180は、先端部30aの容器90外において先端部30aの姿勢を変更するように副制御部139を介してロボット10を制御しながら、複数の画像をカメラ43から取得する。キャリブレーション部180は、取得した各画像内における先端部30aの位置と、各画像の取得時におけるロボット10の姿勢とに基づいて、上記パラメータを算出する。
【0289】
ロボット10を基準とした先端部30aの位置は、ロボット10による分注器30の把持状態等によってばらつき得る。これに対し、キャリブレーション部180により算出された上記パラメータを用いることで、ロボット10の姿勢に基づいて先端部30aの位置を高精度に算出できる。そこで、コントローラ100Aがキャリブレーション部180を有する場合、第二処理部123は、キャリブレーション部180により算出されたパラメータを用いて先端部30aの位置変化を推定してもよい。副制御部139も、キャリブレーション部180により算出されたパラメータを用いてロボット10を制御してもよい。
【0290】
このように、ラック40のカメラ43を上記キャリブレーションにも利用することで、システムのハードウェア構成を追加することなく、ロボット10による分注作業の信頼性を高めることができる。
【0291】
以上、実施形態について説明したが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
液体C1の吸引に際してロボット10が分注器30を下降させるときに、画像の取得及び各種位置情報の取得を繰り返すことは必須ではない。例えば、コントローラ100は、画像処理部120により各種位置情報を一度取得した後には、当該位置情報を基準にして以降の位置情報を算出するように構成されていてもよい。
分注器30は電動ピペットに限られない。分注器30は、例えばシリンジであってもよい。この場合、コントローラ100は、アーム13A,13Bのいずれか一方によってシリンジの外筒を把持し、アーム13A,13Bの他方によってシリンジのプランジャを押し引きするようにロボット10を制御してもよい。
【産業上の利用可能性】
【0292】
本開示は、分注システムに利用可能である。
【符号の説明】
【0293】
1,1A…分注システム、10…ロボット、30…分注器、30a…先端部、40,40A…ラック、41…ステージ、43…カメラ、44,44A…容器保持部、45…ライト、50,50A…ステージ保持部、56A…第一ハンドル、56B…第二ハンドル、60A…角度保持機構、70A…第一ホルダ、70B…第二ホルダ、78A,78B…弾性部材、80…リンク機構、90…容器、91…側壁、100,100A…コントローラ、111…工程設定部、112…割込部、113…基準データ登録部、120,120A…画像処理部、130,130A…ロボット制御部、133…降下制御部、133a…第一モード制御部、133b…第二モード制御部、133c…切替部、134…基準距離設定部、135…境界監視部、136…目標位置設定部、137…傾斜検出部、138…傾動制御部、139…副制御部、160…バックライト制御部、170…解析領域設定部、Ax1,Ax2…第一軸線、BD1…境界部、C1…液体、C2…非分注対象物、CL1…中心軸線(中心位置)、CL2…カメラの中心軸、GL1…最終目標位置、LP1,LP2…線状パターン、RF1…基準距離。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34