(57)【特許請求の範囲】
【請求項１】
ロボットアームが保持する第１容器から第２容器へ所定量の液体を注水する液体秤量方法であって、
第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の角度を出力するよう機械学習された学習モデルを用い、
前記ロボットアームの動作を制御する制御装置が、
第１時点に撮影された前記第１容器を含む画像を取得し、
前記第１時点の前記第１容器の角度を取得し、
前記第１時点の前記第２容器の液体量を取得し、
取得した画像、角度及び液体量を前記学習モデルへ入力して、前記学習モデルが出力する第２時点の角度を取得し、
取得した前記第２時点の角度に応じて、前記ロボットアームが保持する前記第１容器の角度を制御する、
液体秤量方法。
【請求項２】
前記制御装置が、前記第１容器について角度以外のパラメータを変化させないように、前記ロボットアームの動作を制御する、
請求項１に記載の液体秤量方法。
【請求項３】
前記ロボットアームは、前記制御装置が制御可能な回転軸を複数有し、
前記制御装置は、複数の回転軸のうちの１つの回転軸の回転を制御し、当該回転軸以外の回転軸を固定して、前記ロボットアームの動作を制御する、
請求項２に記載の液体秤量方法。
【請求項４】
前記制御装置は、前記第１容器の保持位置に最も近い１つの回転軸の回転を制御して、前記ロボットアームが保持する前記第１容器の角度を制御する、
請求項３に記載の液体秤量方法。
【請求項５】
前記制御装置が、前記ロボットアーム、前記第１容器及び前記第２容器を含んで撮影された全体画像から、前記第１容器の画像を取得して前記学習モデルへ入力する、
請求項１から請求項４までのいずれか１つに記載の液体秤量方法。
【請求項６】
前記制御装置が、
前記全体画像から前記第１容器を検出し、
検出した前記第１容器の画像を前記全体画像から取得する、
請求項５に記載の液体秤量方法。
【請求項７】
前記第１容器の角度に上限が設定されている、
請求項１から請求項６までのいずれか１つに記載の液体秤量方法。
【請求項８】
前記第１容器を含む画像には、前記第１容器に収容された液体の液面の画像を含む、
請求項１から請求項７までのいずれか１つに記載の液体秤量方法。
【請求項９】
前記制御装置が、前記第１容器の角度を基準角度から所定角度へ単調増加させた後、前記所定角度から前記基準角度へ単調減少させることで、前記第１容器から前記第２容器への注水を完了させるよう、前記ロボットアームが保持する前記第１容器の角度を制御する、
請求項１から請求項８までのいずれか１つに記載の液体秤量方法。
【請求項１０】
ロボットアームの動作を制御する制御部を備え、前記ロボットアームが保持する第１容器から第２容器へ所定量の液体を注水する制御を行う制御装置であって、
第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の角度を出力するよう機械学習された学習モデルを記憶する記憶部と、
第１時点に撮影された前記第１容器を含む画像を取得する画像取得部と、
前記第１時点の前記第１容器の角度を取得する現角度取得部と、
前記第１時点の前記第２容器の液体量を取得する液体量取得部と、
前記画像取得部が取得した画像、前記現角度取得部が取得した現時点の角度及び前記液体量取得部が取得した液体量を、前記記憶部に記憶した前記学習モデルへ入力して、前記学習モデルが出力する第２時点の角度を取得する次角度取得部と
を備え、
前記制御部は、前記次角度取得部が取得した前記第２時点の角度に応じて、前記ロボットアームが保持する前記第１容器の角度を制御する、
制御装置。
【請求項１１】
第１容器から第２容器へ所定量の液体を注水するロボットアームの動作を制御するコンピュータに、
第１時点に撮影された前記第１容器を含む画像を取得し、
前記第１時点の前記第１容器の角度を取得し、
前記第１時点の前記第２容器の液体量を取得し、
第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の角度を出力するよう機械学習された学習モデルに対して、取得した前記第１時点の画像、角度及び液体量を入力して、前記学習モデルが出力する第２時点の角度を取得し、
取得した前記第２時点の角度に応じて、前記ロボットアームが保持する前記第１容器の角度を制御する、
コンピュータプログラム。
【請求項１２】
ロボットアームが保持する第１容器から第２容器へ所定量の液体を注水する際に撮影された前記第１容器を含む時系列の画像を取得し、
前記ロボットアームが前記第１容器から前記第２容器へ前記所定量の液体を注水する際の前記第１容器の時系列の角度を取得し、
前記ロボットアームが前記第１容器から前記第２容器へ前記所定量の液体を注水する際の前記第２容器の時系列の液体量を取得し、
取得した第１時点における画像、角度及び液体量と、第２時点における画像、角度及び液体量とを対応付けた教師データを生成し、
第１時点における画像、角度及び液体量を入力として受け付け、第２時点における画像、角度及び液体量を出力する学習モデルに対し、生成した教師データを用いて機械学習を行い、
第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を出力する学習モデルを生成する、
学習方法。
【請求項１３】
前記教師データの画像には、前記第１容器に収容された液体の液面の画像を含む、
請求項１２に記載の学習方法。
【請求項１４】
前記ロボットアームが前記第１容器の角度を基準角度から所定角度へ単調増加させた後、前記所定角度から前記基準角度へ単調減少させることで、前記第１容器から前記第２容器への注水を完了させた場合の時系列の画像、角度及び液体量に基づいて、前記教師データを生成する、
請求項１２又は請求項１３に記載の学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームを利用して液体を秤量する液体秤量方法、制御装置、コンピュータプログラム及び学習方法に関する。
【背景技術】
【０００２】
従来、複数の関節ユニットを連結することにより構成された多関節のロボットアーム（マニピュレータ）が知られている。ロボットアームは汎用性が高く、工場等における組立及び搬送等の作業並びに実験室等における遠隔作業等のように、様々な産業での利用が期待されている。
【０００３】
特許文献１においては、同一被検者の検体に対して複数種類の検査を実行する際の前処理を行う検体前処理方法が提案されている。この方法によれば、第１検体容器に収容された検体を分注部が複数の第２検体容器に分注し、ロボットアームが第２検体容器を把持して検体前処理部へ搬送する。これにより特許文献１に記載の検体前処理方法は、ユーザの作業負担を軽減すると共に、ユーザ由来の成分混入によるコンタミネーション（試料汚染）の発生を抑制することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１９−１７４３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の検体前処理方法では、ロボットアームは第２検体容器の搬送に用いられるのみであり、第１検体容器から第２検体容器への検体の分注は別の装置にて行われている。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、ロボットアームを利用して第１容器から第２容器への注水を行い、液体を秤量することができる液体秤量方法、制御装置、コンピュータプログラム及び学習方法を提供することにある。
【課題を解決するための手段】
【０００７】
一実施形態に係る液体秤量方法は、ロボットアームが保持する第１容器から第２容器へ所定量の液体を注水する液体秤量方法であって、第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の角度を出力するよう機械学習された学習モデルを用い、前記ロボットアームの動作を制御する制御装置が、第１時点に撮影された前記第１容器を含む画像を取得し、前記第１時点の前記第１容器の角度を取得し、前記第１時点の前記第２容器の液体量を取得し、取得した画像、角度及び液体量を前記学習モデルへ入力して、前記学習モデルが出力する第２時点の角度を取得し、取得した前記第２時点の角度に応じて、前記ロボットアームが保持する前記第１容器の角度を制御する。
【発明の効果】
【０００８】
一実施形態による場合は、ロボットアームを利用して第１容器から第２容器への注水を行い、液体を秤量することが期待できる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る液体秤量システムの概要を説明するための模式図である。
【図２】ロボットアームの一構成例を示す模式図である。
【図３】本実施の形態に係る制御装置の構成を示すブロック図である。
【図４】本実施の形態に係る制御装置が行う第１容器の画像取得処理を説明するための模式図である。
【図５】本実施の形態に係る学習モデルの構成を説明するための模式図である。
【図６】ＣＡＥのエンコーダ及びデコーダの学習処理を説明するための模式図である。
【図７】学習モデルの学習処理を説明するための模式図である。
【図８】見本動作の制限を説明するための模式図である。
【図９】見本動作の制限を説明するための模式図である。
【図１０】本実施の形態に係る制御装置が行う教師データ生成処理の手順を示すフローチャートである。
【図１１】本実施の形態に係る制御装置が行う学習モデルの学習処理の手順を示すフローチャートである。
【図１２】本実施の形態に係る制御装置が行う液体秤量処理の概略手順を示すフローチャートである。
【図１３】本実施の形態に係る制御装置が行う液体秤量処理の詳細手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本発明の実施形態に係る液体秤量システムの具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００１１】
＜システム概要＞
図１は、本実施の形態に係る液体秤量システムの概要を説明するための模式図である。本実施の形態に係る液体秤量システムは、制御装置１、ロボットアーム２、カメラ３及び計量器４等を備えて構成されている。本実施の形態に係る液体秤量システムは、液体を収容した第１容器１０１をロボットアーム２が把持し、作業台１０３の容器置き場１０４から第２容器１０２の載置場所へと搬送し、ロボットアーム２が第１容器１０１を傾けることによって第１容器１０１から第２容器１０２への注水を行う。制御装置１は、第１容器１０１から第２容器１０２へ所定量の液体を注水するようにロボットアーム２の動作を制御し、これにより液体の所定量の秤量を行う。
【００１２】
なお本実施の形態に係る液体秤量システムが秤量の対象とする液体は、どのような液体であってもよい。第１容器１０１及び第２容器１０２の形状及びサイズ等は、どのようなものであってもよい。第１容器１０１は、ロボットアーム２が把持して傾けることができるものであり、傾けることによって収容した液体を第２容器１０２へ注水することができるものであればよい。第２容器１０２は、第１容器１０１から注水される液体を収容できるものであり、所定量の液体を収容できるものであればよい。ロボットアーム２は、少なくとも第１容器１０１を傾ける動作を行うことができるものであればよい。
【００１３】
カメラ３は、作業台１０３の上で行われる秤量の作業を撮影し、撮影により得られた時系列的な画像（動画像）を制御装置１へ送信する。本実施の形態においてカメラ３は、少なくとも、ロボットアーム２が第１容器１０１から第２容器１０２への注水を行っている際の、第１容器１０１を撮像する。このときにカメラ３が撮影する画像には、第１容器１０１に収容された液体の液面が含まれることが好ましい。
【００１４】
計量器４は、第２容器１０２に注水された液体の量（質量又は容量等）を計測し、計測結果を制御装置１へ送信する。本実施の形態に係る液体秤量システムは、計量器４の計量する液体量が所定量となるように、ロボットアーム２が第１容器１０１から第２容器１０２への液体の注水を行うものである。なお本実施の形態においては計量器４にて第２容器１０２の液体量を計測するものとするが、これに限るものではなく、第２容器１０２の液体量はどのような装置で計測してもよい。例えばカメラ３にて撮影した第２容器１０２の画像に基づいて液体量を計測してもよい。
【００１５】
制御装置１は、ロボットアーム２に接続されており、ロボットアーム２が備えるモータ又はアクチュエータ等を制御することによって、ロボットアーム２の動作を制御する。本実施の形態に係る液体秤量システムでは、ロボットアーム２が把持した第１容器１０１の傾き（角度）を制御装置１が制御することによって、ロボットアーム２による秤量動作を行う。なお制御装置１は、ロボットアーム２の近傍に配置される必要はなく、例えばクラウドサーバ装置等のように遠隔でロボットアーム２の制御を行う装置であってもよい。
【００１６】
また本実施の形態においては、カメラ３が撮影した画像、及び、計量器４が計量した第２容器１０２の液体量が制御装置１へ入力されている。詳細な説明は後述するが、制御装置１は、予め機械学習がなされた学習済の学習モデルを備えており、この学習モデルを用いてロボットアーム２の動作を制御する処理を行う。学習モデルは、現時点における第１容器１０１の角度と、第１容器１０１の画像と、第２容器１０２の液体量との入力に対して、次時点における第１容器１０１の角度を出力するよう予め機械学習がなされている。制御装置１は、カメラ３により撮影された第１容器１０１の画像と、第１容器１０１の角度と、計量器４が計量した第２容器１０２の液体量とを学習モデルへ入力し、学習モデルが出力する次時点の第１容器１０１の角度を取得する。制御装置１は、取得した次時点の角度を目標値としてロボットアーム２を制御し、第１容器１０１の角度を変化させる。
【００１７】
第２容器１０２へ所定量の液体の注水を完了した後、制御装置１は、第１容器１０１を容器置き場１０４へ載置するようにロボットアーム２の動作を制御する。このときにロボットアーム２が第１容器１０１を載置する容器置き場１０４は、初めに第１容器１０１が置かれていた場所と同じであってもよく、異なる場所であってもよい。
【００１８】
＜装置構成＞
図２は、ロボットアーム２の一構成例を示す模式図である。本実施の形態に係るロボットアーム２は、第１ベース部２０ａ、第２ベース部２０ｂ、第１アーム部２０ｃ、第２アーム部２０ｄ及び第３アーム部２０ｅを備えて構成されている。第１ベース部２０ａは、ロボットアーム２の土台を構成するものであり、例えば作業台１０３又はその近くの床面等に不動に固定される。第２ベース部２０ｂは、第１軸２１を介して回転可能に第１ベース部２０ａに支持されている。
【００１９】
第１アーム部２０ｃは、緩やかに湾曲した長い板状の部材であり、長手方向の一端側で第２軸２２を介して揺動可能に第２ベース部２０ｂに支持されている。第１アーム部２０ｃの他端側は、第３軸２３を介して揺動可能に第２アーム部２０ｄを支持している。第２アーム部２０ｄは、棒状の長い部材であり、その中途部分に第４軸２４が埋め込まれている。第２アーム部２０ｄは、第１アーム部２０ｃに支持される根元部分に対して、先端部分が第４軸２４により軸回りに回転可能である。第２アーム部２０ｄの先端には、第３アーム部２０ｅが第５軸２５を介して揺動可能に支持されている。第３アーム部２０ｅは、棒状の短い部材であり、その中途部分に第６軸２６が埋め込まれている。第３アーム部２０ｅは、第２アーム部２０ｄに支持される根元部分に対して、先端部分が第６軸２６により回転可能である。
【００２０】
第３アーム部２０ｅには、種々のエンドエフェクタを取り付けることができる。エンドエフェクタは、例えばハンド（グリッパ）、吸着ハンド、スプーン、スプレーガン又は溶接トーチ等の種々のものが取り付けられ得る。本実施の形態においてロボットアーム２の第３アーム部２０ｅには、第１容器１０１を把持することができるハンド等のエンドエフェクタが取り付けられる。ロボットアーム２のエンドエフェクタに把持された第１容器１０１は、第６軸２６の回転により傾けられる。即ち制御装置１は、ロボットアーム２の第６軸２６の回転角度を制御することによって、エンドエフェクタに把持された第１容器１０１の角度を制御することができる。
【００２１】
ロボットアーム２の第１軸２１〜第６軸２６は、それぞれ個別のモータにより回転する。制御装置１は、これらのモータの回転を個別に制御し、ロボットアーム２による第１容器１０１の搬送、及び、第１容器１０１から第２容器１０２への液体の注水等を行うことができる。またロボットアーム２の第１軸２１〜第６軸２６を回転させる各モータは、例えばステッピングモータ等のように回転角度を高精度に制御可能なモータである。制御装置１は、各モータの回転角度を知ることができると共に、高精度に制御することができる。
【００２２】
なお液体秤量システムに用いるロボットアーム２は、図２に示すものに限らない。ロボットアーム２の回転軸の数は、５つ以下又は７つ以上であってよく、エンドエフェクタに把持された第１容器１０１の角度を制御するための少なくとも１つの回転軸を有していればよい。またロボットアーム２のベース部の数、アーム部の数、及び、各部材の連結構造等は、図示のものに限らず、適宜に変更等がなされてよい。
【００２３】
図３は、本実施の形態に係る制御装置１の構成を示すブロック図である。本実施の形態に係る制御装置１は、処理部１１、記憶部（ストレージ）１２、通信部（トランシーバ）１３、表示部（ディスプレイ）１４及び操作部１５等を備えて構成されている。処理部１１は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）又はＧＰＵ（Graphics Processing Unit）等の演算処理装置、ＲＯＭ（Read Only Memory）、及び、ＲＡＭ（Random Access Memory）等を用いて構成されている。処理部１１は、記憶部１２に記憶された制御プログラム１２ａを読み出して実行することにより、ロボットアーム２の動作を制御する処理及び学習モデルの学習処理等の種々の処理を行う。
【００２４】
記憶部１２は、例えばハードディスク等の大容量の記憶装置を用いて構成されている。記憶部１２は、処理部１１が実行する各種のプログラム、及び、処理部１１の処理に必要な各種のデータを記憶する。本実施の形態において記憶部１２は、処理部１１が実行する制御プログラム１２ａと、予め学習がなされた学習モデル５とを記憶している。
【００２５】
本実施の形態において制御プログラム１２ａは、メモリカード又は光ディスク等の記録媒体９９に記録された態様で提供され、制御装置１は記録媒体９９から制御プログラム１２ａを読み出して記憶部１２に記憶する。ただし、制御プログラム１２ａは、例えば制御装置１の製造段階において記憶部１２に書き込まれてもよい。また例えば制御プログラム１２ａは、遠隔のサーバ装置等が配信するものを制御装置１が通信にて取得してもよい。例えば制御プログラム１２ａは、記録媒体９９に記録されたものを書込装置が読み出して制御装置１の記憶部１２に書き込んでもよい。制御プログラム１２ａは、ネットワークを介した配信の態様で提供されてもよく、記録媒体９９に記録された態様で提供されてもよい。
【００２６】
本実施の形態に係る制御装置１が備える学習モデル５は、ロボットアーム２の動作を制御して液体の秤量を行うよう機械学習がなされた学習モデルである。本実施の形態においては制御装置１が学習モデル５の学習処理を予め行うものとするが、これに限るものではない。学習モデル５は例えば別のサーバ装置等にて予め機械学習がなされてよく、制御装置１はサーバ装置等にて予め機械学習がなされた学習済の学習モデルを、ネットワーク又は記録媒体９９等を介して取得してもよい。
【００２７】
通信部１３は、有線又は無線のネットワークを介して、ロボットアーム２、カメラ３及び計量器４等の装置との間でデータの送受信を行う。本実施の形態において制御装置１は、ロボットアーム２へ第１軸２１〜第６軸２６の回転を制御する制御命令等を、通信部１３からロボットアーム２へ送信する。また制御装置１は、ロボットアーム２からフィードバックされる種々の情報を通信部１３にて受信してよい。また制御装置１は、カメラ３にて撮影された時系列的な画像（動画像）のデータを、通信部１３にてカメラ３から受信する。また制御装置１は、計量器４にて計量された質量又は容量等のデータを、通信部１３にて計量器４から受信する。通信部１３は、処理部１１から与えられたデータを他の装置へ送信すると共に、他の装置から受信したデータを処理部１１へ与える。
【００２８】
表示部１４は、液晶ディスプレイ等を用いて構成されており、処理部１１の処理に基づいて種々の画像及び文字等を表示する。本実施の形態において制御装置１は、ロボットアーム２の動作状況等を表示部１４に表示する。
【００２９】
操作部１５は、ユーザの操作を受け付け、受け付けた操作を処理部１１へ通知する。例えば操作部１５は、機械式のボタン又は表示部１４の表面に設けられたタッチパネル等の入力デバイスによりユーザの操作を受け付ける。また例えば操作部３５は、マウス及びキーボード等の入力デバイスであってよく、これらの入力デバイスは制御装置１に対して取り外すことが可能な構成であってもよい。本実施の形態においては、ユーザは操作部１５を利用して、第１容器１０１から第２容器１０２へ注水する液体量の目標値、即ち液体秤量処理により秤量する液体量の目標値を設定することができる。
【００３０】
また本実施の形態に係る制御装置１の処理部１１には、記憶部１２に記憶された制御プログラム１２ａを処理部１１が読み出して実行することにより、画像取得部１１ａ、現角度取得部１１ｂ、液体量取得部１１ｃ、次角度取得部１１ｄ、制御処理部１１ｅ及び学習処理部１１ｆ等がソフトウェア的な機能部として実現される。なおこれらの機能部は、ロボットアーム２による液体秤量の処理に関する機能部であり、これ以外の機能部については図示及び説明を省略する。
【００３１】
画像取得部１１ａは、カメラ３が撮像した第１容器１０１の画像を取得する処理を行う。本実施の形態においてカメラ３は、作業台１０３の上で行われるロボットアーム２による作業の全体を撮影している。このためカメラ３が撮影する画像には、ロボットアーム２の一部又は全部、第１容器１０１、第２容器１０２及び容器置き場１０４が含まれている。画像取得部１１ａは、カメラ３から送信されるこの全体画像を通信部１３にて受信し、受信した全体画像から液体秤量処理に必要な部分画像を抽出する。本実施の形態において画像取得部１１ａは、第１容器１０１が映された領域を部分画像として全体画像から抽出し、抽出した部分画像を液体秤量処理に用いる画像とする。なお本実施の形態においてカメラ３は、第２容器１０２への注水を行っている状態で第１容器１０１に収容された液体の液面が映るように位置及び撮影角度等が設定されており、画像取得部１１ａが取得する画像には、第１容器１０１に収容された液体の液面の画像が含まれる。
【００３２】
現角度取得部１１ｂは、ロボットアーム２に把持された第１容器１０１の現時点における角度を取得する処理を行う。第１容器１０１の角度は、基準軸（例えば、鉛直軸）に対する、第１容器１０１の所定の軸（例えば、中心軸）の角度である（図８参照）。本実施の形態において制御装置１は、第１容器１０１を容器置き場１０４から第２容器１０２への注水を行う位置まで移動する際に、ロボットアーム２の第１軸２１〜第６軸２６を適宜に回転させて第１容器１０１を搬送する。ただし本実施の形態において制御装置１は第１容器１０１から第２容器１０２への液体の注水を行う際に、ロボットアーム２の第１軸２１〜第５軸２５は回転させずに角度を固定し、ロボットアーム２の第６軸２６のみを回転させて第１容器１０１を傾ける。このため液体秤量処理における第１容器１０１の初期角度は、搬送処理の終了時点における第１軸２１〜第６軸２６の角度により定まり、現角度取得部１１ｂは、ロボットアーム２の第１軸２１〜第６軸２６の角度により定まる第１容器１０１の初期角度を取得する。また液体秤量処理中の第１容器１０１の角度は、初期角度に対してロボットアーム２の第６軸を回転させた角度を増減したものとみなすことができる。現角度取得部１１ｂは、液体秤量処理において回転させたロボットアーム２の第６軸２６の角度を取得し、初期角度及び第６軸２６を回転させた角度に基づいて第１容器１０１の現時点の角度を算出することで、第１容器１０１の現時点の角度を取得する。ロボットアーム２の第６軸２６の角度は、例えばロボットアーム２に対して出力した制御量、即ち第６軸２６の回転を指示した際の回転量又は回転角度等に基づいて算出等されてもよく、また例えばロボットアーム２からフィードバックされる情報に基づいて取得されてもよい。
【００３３】
液体量取得部１１ｃは、計量器４にて計量された第２容器１０２の現時点における液体量を取得する処理を行う。計量器４が計量する液体の液体量は、グラム（ｇ）もしくはキログラム（ｋｇ）等の単位で表される重さもしくは質量等、又は、リットル（Ｌ）若しくは立方メートル等の単位で表される容量もしくは体積等のいずれであってもよい。液体量取得部１１ｃは、計量器４から送信される液体量の計量値を通信部１３にて受信することで、第２容器１０２の液体量を取得する。
【００３４】
なお画像取得部１１ａによる画像の取得、現角度取得部１１ｂによる現時点の角度の取得、及び、液体量取得部１１ｃによる液体量の取得は、所定の周期で繰り返し行われる。これらの情報を取得する周期は、例えば数ミリ秒〜数秒程度とすることができる。制御装置１は、例えばカメラ３による動画撮影のフレームレートに応じて定まる周期でこれらの情報を取得してもよく、フレームレートに応じて定まる周期よりも長い周期で情報を取得してもよい。また画像取得部１１ａ、現角度取得部１１ｂ及び液体量取得部１１ｃがそれぞれ異なる周期で情報の取得を行ってもよい。
【００３５】
次角度取得部１１ｄは、現在の時点の情報（最新の情報）に基づいて記憶部１２の学習モデル５が予測する次の時点の情報（将来の情報）を取得する処理を行う。次角度取得部１１ｄは、画像取得部１１ａが取得した第１容器１０１の画像と、現角度取得部１１ｂが取得した現時点の第１容器１０１の角度と、液体量取得部１１ｃが取得した現時点の第２容器１０２の液体量と、第２容器１０２へ注水する液体の目標量とを学習モデル５へ入力し、学習モデル５が出力する次の時点の第１容器１０１の角度を取得する。次角度取得部１１ｄは、所定の周期で次角度の取得を繰り返し行っている。
【００３６】
制御処理部１１ｅは、ロボットアーム２の動作を制御する処理を行う。制御処理部１１ｅは、例えばロボットアーム２の第１軸２１〜第６軸２６について、各軸の回転角度又は回転量等を指定した回転命令をロボットアーム２へ送信することにより、ロボットアーム２の動作を制御することができる。本実施の形態において制御処理部１１ｅは、第１容器１０１から第２容器１０２へ注水する際に、第１軸２１〜第５軸２５を固定し、第６軸２６の回転を制御することで第１容器１０１を傾けて注水を行う。このときに制御処理部１１ｅは、次角度取得部１１ｄが取得した次の時点の角度を第１容器１０１の角度の目標値として、ロボットアーム２の第６軸２６の回転を制御する。なお制御処理部１１ｅは、例えば第１容器１０１を容器置き場１０４から注水位置へ搬送する際には、第１軸２１〜第６軸２６を適宜に回転させてロボットアーム２に第１容器１０１の搬送を行わせてよい。
【００３７】
学習処理部１１ｆは、液体秤量処理に用いる学習モデル５を機械学習する処理を行う。本実施の形態において学習処理部１１ｆは、所定時点における第１容器１０１の画像、第１容器１０１の角度、第２容器１０２の液体量及び秤量の目標値と、所定時点の次の時点における第１容器１０１の画像、第１容器１０１の角度、第２容器１０２の液体量及び秤量の目標値とを対応付けた教師データを用いて、学習モデル５の機械学習を行う。教師データは、例えば本システムの設計者等により予め作成されてもよく、また例えばロボットアーム２にて手本となる動作を行わせ、このときに得られた画像及び角度等の情報に基づいて制御装置１が作成してもよい。
【００３８】
＜第１容器の画像取得処理＞
図４は、本実施の形態に係る制御装置１が行う第１容器１０１の画像取得処理を説明するための模式図である。本実施の形態に係る液体秤量システムでは、カメラ３が撮像した画像に基づいて制御装置１がロボットアーム２の動作を制御する。カメラ３は、作業台１０３の上で行われるロボットアーム２による作業の全体を撮影するよう、その設置位置及び撮影角度等が設定されている。カメラ３の撮影により得られる全体画像１１１には、ロボットアーム２の一部、第１容器１０１、第２容器１０２及び容器置き場１０４等が含まれている。
【００３９】
本実施の形態において、制御装置１がロボットアーム２の動作を制御して第１容器１０１から第２容器１０２への液体の注水を行う際に必要な画像、即ち液体秤量のための学習モデル５へ入力する画像は、第１容器１０１が映された部分的な画像である。本図においてはこの第１容器１０１が映された部分的な画像を、容器画像１１２として示している。容器画像１１２には、第１容器１０１に収容された液体の液面が映されている。全体画像１１１のうち、第１容器１０１の容器画像１１２以外の部分、例えば第２容器１０２又は容器置き場１０４等の部分は液体秤量処理には不要であるが、液体秤量処理以外の処理、例えば第１容器１０１の搬送処理等に用いられ得る。
【００４０】
このため、本実施の形態に係る制御装置１は、カメラ３が撮影した全体画像１１１から、第１容器１０１が映された部分画像を容器画像１１２として抽出する画像処理を行う。制御装置１が全体画像１１１から容器画像１１２を抽出する方法は、例えば以下の２つの方法のいずれかが採用され得る。
【００４１】
（容器画像抽出方法１）
制御装置１は、カメラ３が撮影した全体画像１１１に対して予め定められた領域の画像を抽出し、この抽出した画像を容器画像１１２とする。抽出する領域は、例えば本システムの設計者等により予め定められ、抽出する領域を定める座標等の情報が制御装置１に記憶される。又は、例えば本システムを利用する作業者等が制御装置１の操作部１５を利用して容器画像１１２の抽出範囲を設定することが可能であってもよい。この抽出方法は、ロボットアーム２を利用した液体秤量処理において、ロボットアーム２が第１容器１０１を傾けて第２容器１０２へ注水を行う位置が固定されている場合に好適である。
【００４２】
（容器画像抽出方法２）
制御装置１は、カメラ３が撮影した全体画像１１１から第１容器１０１を検出する処理を行う。制御装置１による第１容器１０１の検出処理には、どのような方法が採用されてもよい。画像に写された物体を検出する技術は既存のものであるため、詳細な説明は省略する。制御装置１は、例えば第１容器１０１の画像を用いて予め機械学習がなされた学習済の物体検出モデルを利用して、カメラ３が撮影した全体画像１１１に映る第１容器１０１を検出する処理を行うことができる。制御装置１は、検出した第１容器１０１を含む矩形領域を全体画像１１１から抽出し、容器画像１１２とすることができる。この抽出方法は、ロボットアーム２を利用した液体秤量処理において、ロボットアーム２が第１容器１０１を傾けて第２容器１０２へ注水を行う位置が変化する可能性がある場合に好適である。また制御装置１は、第１容器１０１の搬送処理等において物体検出を行う場合、この処理結果を流用してもよい。
【００４３】
なお、制御装置１が行う容器画像１１２の抽出処理は上記の２つの方法に限らず、どのような方法で行われてもよい。制御装置１は、カメラ３が撮影した全体画像１１１から第１容器１０１が映された容器画像１１２を抽出し、抽出した容器画像１１２を学習モデル５への入力画像とする。また学習モデル５の学習処理において教師データとして用いる画像についても同様の方法で抽出された第１容器１０１の容器画像１１２が用いられる。また全体画像を撮影するカメラとは別に、第１容器１０１を撮影するカメラを設けてもよく、この場合には全体画像から容器画像を抽出する処理を制御装置１が行わなくてもよい。
【００４４】
＜学習モデル＞
図５は、本実施の形態に係る学習モデル５の構成を説明するための模式図である。本実施の形態に係る制御装置１が備える学習モデル５は、所定時点（時刻ｔ）における第１容器１０１の画像（ｔ）、第１容器１０１の角度（ｔ）、第２容器１０２の液体量の計測値（ｔ）及び秤量の目標値を入力情報として受け付け、所定時点の次の時点（時刻ｔ＋１）における第１容器１０１の画像（ｔ＋１）、第１容器１０１の角度（ｔ＋１）、第２容器１０２の液体量の計測値（ｔ＋１）及び秤量の目標値を出力する。なお目標値は、時刻ｔ及び時刻ｔ＋１において同じ値である。
【００４５】
本実施の形態に係る学習モデル５は、例えばＲＮＮ（Recurrent Neural Network）モデル５１、ＣＡＥ（Convolutional Auto Encoder）のエンコーダ５２及びＣＡＥのデコーダ５３を備えて構成されている。ＲＮＮモデル５１は、時系列的なデータを学習することが可能な学習モデルであり、例えばＭＴＲＮＮ（Multi Timescale RNN）又はＬＳＴＭ（Long Short Term Memory）等であってよい。ただし学習モデル５は、ＲＮＮモデル５１ではなく、例えばＡＲＩＭＡ（Auto Regressive Integrated Moving Average）又は１次元ＣＮＮ（Convolutional Neural Network）等のモデルを用いて構成されてもよい。
【００４６】
ＣＡＥは、画像を圧縮及び復元する学習モデルである。ただし学習モデル５は、ＣＡＥではなく、例えばオートエンコーダ（Autoencoder）、ＲＢＭ（Restricted Boltzmann Machine）又は主成分分析（Principal Component Analysis）等のモデルを用いて構成されてもよい。ＣＡＥのエンコーダ５２は、入力された画像を圧縮して、入力画像の特徴を有する特徴量を出力する。ＣＡＥのデコーダ５３は、入力された特徴量から復元した画像を出力する。
【００４７】
学習モデル５へ入力された所定時点（時刻ｔ）の画像（ｔ）はＣＡＥのエンコーダ５２へ入力され、エンコーダ５２が出力する時刻ｔの特徴量（ｔ）はＲＮＮモデル５１へ対応する角度（ｔ）、計測値（ｔ）及び目標値と共に入力される。これらの入力に対してＲＮＮモデル５１は、所定時点の次の時点（時刻ｔ＋１）の特徴量（ｔ＋１）、角度（ｔ＋１）、計測値（ｔ＋１）及び目標値を出力する。ＲＮＮモデル５１が出力した次の時点の特徴量（ｔ＋１）はＣＡＥのデコーダ５３へ入力され、デコーダ５３が出力する画像（ｔ＋１）が対応する角度（ｔ＋１）、計測値（ｔ＋１）及び目標値と共に学習モデル５の出力となる。
【００４８】
なお制御装置１は、学習モデル５が出力する角度（ｔ＋１）を取得してロボットアーム２の動作を制御する。制御装置１がロボットアーム２にて液体秤量を行う際には、学習モデル５が出力する画像（ｔ＋１）、計測値（ｔ＋１）及び目標値は、利用されない情報である。このため、制御装置１がロボットアーム２にて液体秤量を行うために記憶部１２に記憶しておく学習済の学習モデル５は、画像（ｔ＋１）、計測値（ｔ＋１）及び目標値を出力する機能を有していなくてもよい。ただしこれらの情報の出力機能は、学習モデル５の機械学習を行う際には必要である。
【００４９】
＜学習処理＞
本実施の形態において学習モデル５の学習処理は、ＲＮＮモデル５１と、ＣＡＥのエンコーダ５２及びデコーダ５３とで別に行われる。図６は、ＣＡＥのエンコーダ５２及びデコーダ５３の学習処理を説明するための模式図である。本実施の形態においてＣＡＥのエンコーダ５２及びデコーダ５３は、それぞれ複数のニューロンを結合したニューラルネットワークの構成を有している。エンコーダ５２は入力層へ入力される情報量より出力層から出力する情報量が少なく、デコーダ５３は入力層へ入力される情報量より出力層から出力する情報量が多い。またエンコーダ５２の入力層へ入力される情報とデコーダ５３が出力層から出力する情報とは、画像であり、その情報量は等しい。エンコーダ５２の出力層から出力する情報とデコーダ５３の入力層へ入力される情報とは、画像の特徴量であり、その情報量は等しい。
【００５０】
ＣＡＥのエンコーダ５２及びデコーダ５３の学習処理は、エンコーダ５２が出力する情報をデコーダ５３へ入力するよう、エンコーダ５２及びデコーダ５３を連結して行われる。学習処理に用いられる教師データは、入力画像と出力画像とを同じ画像としたものである。教師データは、カメラ３が撮影した時系列の容器画像１１２を用いて作成され得るが、どのような画像が用いられてもよい。制御装置１は、このような教師データを用いて、入力画像及び出力画像が一致するようエンコーダ５２及びデコーダ５３の機械学習を行う。これによりエンコーダ５２及びデコーダ５３は、画像を特徴量に圧縮し、この特徴量を元の画像に復元することができる。エンコーダ５２が出力する特徴量は、入力された画像よりも少ない次元で、情報量を落とさずに元の画像の特徴を表したものとなる。
【００５１】
なお制御装置１は、例えば既存の学習済のＣＡＥのエンコーダ及びデコーダを利用可能である場合等には、エンコーダ５２及びデコーダ５３の学習処理を行わなくてもよい。
【００５２】
制御装置１は、ＣＡＥのエンコーダ５２及びデコーダ５３の学習処理を終えた後、学習済のエンコーダ５２及びデコーダ５３と未学習のＲＮＮモデル５１とを含む学習モデル５の学習処理を行う。このときに制御装置１が行う学習処理の対象は学習モデル５のＲＮＮモデル５１であり、エンコーダ５２及びデコーダ５３は学習処理の対象外である。即ち、制御装置１は、ＲＮＮモデル５１のニューラルネットワークを構成するニューロンの値を学習処理によって更新するが、エンコーダ５２及びデコーダ５３のニューラルネットワークを構成するニューロンの値は更新しない。
【００５３】
図７は、学習モデル５の学習処理を説明するための模式図である。本実施の形態においては、学習モデル５の学習処理に用いる教師データを生成するために、制御装置１、ロボットアーム２、カメラ３及び計量器４等を用い、ロボットアーム２に第１容器１０１から第２容器１０２へ液体を注水する見本の動作を行わせる。この見本動作は、ユーザ（人間）がロボットアーム２を手動操作により動作させる。このときに制御装置１は、ロボットアーム２の見本動作をカメラ３で撮影すると共に、見本動作における第１容器１０１の角度（第６軸２６の角度）と計量器４による第２容器１０２の液体量の計量結果とを時系列に取得し、画像、角度及び液体量のデータを記憶部１２に記憶して蓄積する。
【００５４】
なお、ユーザによるロボットアーム２の手動操作の方法はどのようなものであってもよい。例えば、ロボットアーム２と同様の構成を有する入力デバイスを用いる方法（マスタ−スレーブ方式）が採用され得る。この入力デバイスをユーザが掴んで動かし、ロボットアーム２の第１軸２１〜第６軸２６に対応する入力デバイスの各角度をセンサで検知し、検知した角度に応じてロボットアーム２を動作させて、第１容器１０１から第２容器１０２への注水の見本動作をロボットアーム２に行わせることができる。また例えば、ユーザの腕にセンサ等を装着し、ユーザの腕の動きをセンサで検知したロボットアーム２の動作に反映させて見本動作を行わせてもよい。
【００５５】
また例えば、本実施の形態においてはロボットアーム２の第６軸２６の回転のみ行って第１容器１０１から第２容器１０２への注水を行うため、第６軸２６の角度のみを操作するダイヤルスイッチ又はスライドバー等の入力デバイスを制御装置１の操作部１５に設けてもよい。ユーザは、操作部１５のこれらの入力デバイスを操作してロボットアーム２の見本動作を行わせることができる。これらの入力デバイスは例えばハードウェアとして制御装置１に設けられてもよく、また例えばこれらの入力デバイスを模した画像を制御装置１が表示部３４に表示し、タッチパネル等により回転操作等を受け付けてロボットアーム２の見本動作を行わせてもよい。また例えば、ロボットアーム２を操作するための装置、いわゆるティーチングペンダントを用いて、ロボットアーム２に見本動作を行わせてもよい。
【００５６】
また例えば、ユーザが直接的にロボットアーム２を操作して見本動作を行わせるのではなく、予めユーザが設定した演算式又はテーブル等に応じて制御装置１がロボットアーム２に見本動作を行わせてもよい。ユーザは、時刻の入力に対して第６軸２６の角度を出力する演算式又はテーブル等を予め作成して制御装置１に記憶させておくことで、制御装置１に自動で見本動作を行わせることができる。演算式又はテーブル等は、例えばロボットアーム２のシミュレーション等の結果に基づいて作成されてもよい。
【００５７】
ロボットアーム２に第１容器１０１から第２容器１０２へ注水する一連の見本動作を行わせることによって、制御装置１は、第１容器１０１の画像と、第１容器１０１の角度と、第２容器１０２の液体量の計測値との時系列的なデータを蓄積することができる。また一連の見本動作により第２容器１０２へ注水された最終的な液体量の計測値は、この注水動作による液体の秤量の目標値とみなすことができる。
【００５８】
図７においては、所定時点（時刻ｔ）における第１容器１０１の画像（ｔ）と、第１容器１０１の角度（ｔ）と、第２容器１０２の液体量の計測値（ｔ）と、液体秤量の目標値とを１つのデータ（ｔ）として図示している。ここでいう第１容器１０１の画像（ｔ）は、容器画像１１２に相当する。制御装置１は、時刻ｔにおけるデータ（ｔ）を入力とし、次の時刻ｔ＋１におけるデータ（ｔ＋１）を出力の正解値として対応付けた教師データを生成する。制御装置１は、一連の見本動作について蓄積したデータから、注水開始時点（ｔ＝０）から注水完了時点（ｔ＝Ｔｍａｘ）まで時系列のデータを順に取得して、各時点に対応する教師データを生成することができる。なお以下においては、時刻ｔのデータ（ｔ）を入力とし、時刻ｔ＋１のデータを出力の正解値とした教師データを、教師データ（ｔ）と表す。教師データ（ｔ）は、ｔ＝０からｔ＝Ｔｍａｘ−１まで生成される。
【００５９】
制御装置１は、生成した教師データ（ｔ）をｔ＝０からｔ＝Ｔｍａｘ−１まで時系列順に読み出し、読み出した教師データ（ｔ）を時系列順に学習モデル５に適用して機械学習を行うことによって、学習モデル５のＲＮＮモデル５１のパラメータを繰り返し更新する。全ての教師データを用いてＲＮＮモデル５１のパラメータの更新を行うことによって、制御装置１による学習モデル５の学習処理が完了する。なお本例では、１回分の見本動作のみから教師データを生成して学習処理を行う手順を説明しているが、制御装置１は、複数回分の見本動作から複数組の教師データを生成して学習モデル５の機械学習を行ってよい。
【００６０】
また本実施の形態においては、教師データを生成するための見本動作に制限を設けている。図８及び図９は、見本動作の制限を説明するための模式図である。図８には、液体秤量処理における第１容器１０１の動きを図示してある。第１容器１０１は、ロボットアーム２により容器置き場１０４から液体秤量を行うための位置（秤量位置）へ搬送される。搬送位置へ搬送された直後の第１容器１０１の状態を図８において実線で図示しており、この状態を液体秤量における第１容器１０１の初期状態とし、初期状態における第１容器１０１の角度を０°とする。なお図８においては第１容器１０１が直立した状態を初期状態としているが、これは一例であり、第１容器１０１が傾いた状態が初期状態であってもよい。ただし第１容器１０１の初期状態は、収容された液体が外部へ漏れ出ることがない状態とする。
【００６１】
ロボットアーム２に把持された第１容器１０１は第６軸２６の回転により傾けられ、第１容器１０１から第２容器１０２への注水が行われる。図８には、第１容器１０１が第６軸２６を中心に角度θだけ傾いた状態が図示されている。本実施の形態において第１容器１０１の角度θは、上記の初期状態を角度０°とし、初期状態に対して第１容器１０１を傾けた角度である。
【００６２】
図９には、見本動作における第１容器１０１の角度の変化をグラフとして示している。本グラフの横軸は時刻ｔであり、縦軸は角度θである。見本動作においては、所定角度に達するまで第１容器１０１の角度θを単調増加させ、その後に第１容器１０１の角度を所定角度から角度０°まで単調減少させる。本実施の形態においては、学習モデル５の教師データとして、第１容器１０１の角度が始めに単調増加し、その後に単調減少して注水動作を終える見本動作から得られるデータを用いる。このような学習データを用いて学習モデルの学習処理を行うことによって、学習された学習モデル５を用いるロボットアーム２の液体秤量を安定して行うことができる。
【００６３】
図１０は、本実施の形態に係る制御装置１が行う教師データ生成処理の手順を示すフローチャートである。なお本フローチャートにおいては変数ｔを用いているが、この変数ｔは例えば制御装置１の処理部１１が有するレジスタ等の記憶領域を用いて実現され得る。本実施の形態に係る制御装置１の処理部１１は、例えばユーザの手動操作に応じてロボットアーム２に液体秤量の見本動作を行わせる（ステップＳ１）。処理部１１は、ロボットアーム２が見本動作を行っている際にカメラ３が撮影した全体画像１１１から抽出した第１容器１０１の画像（容器画像１１２）、第１容器１０１の角度及び計量器４の計測値等のデータを取得して記憶部１２に記憶し、データを蓄積する（ステップＳ２）。処理部１１は、液体秤量の見本動作が終了したか否かを判定する（ステップＳ３）。見本動作が終了していない場合（Ｓ３：ＮＯ）、処理部１１は、ステップＳ１へ処理を戻し、見本動作及びデータ蓄積を継続して行う。
【００６４】
見本動作が終了した場合（Ｓ３：ＹＥＳ）、処理部１１は、変数ｔの値を０に初期化する（ステップＳ４）。処理部１１は、蓄積したデータの中から、所定の時刻ｔのデータを取得する（ステップＳ５）。また処理部１１は、蓄積したデータの中から、次の時刻ｔ＋１のデータを取得する（ステップＳ６）。処理部１１は、ステップＳ５にて取得した時刻ｔのデータを入力とし、ステップＳ６にて取得した時刻ｔ＋１のデータを出力の正解値として対応付けた教師データを生成する（ステップＳ７）。
【００６５】
なお、ステップＳ５にて取得する時刻ｔのデータには、時刻ｔにおける第１容器１０１の画像（ｔ）と、時刻ｔにおける第１容器の角度（ｔ）と、時刻ｔにおける第２容器１０２の液体量の計測値（ｔ）と、液体秤量の目標値とが含まれる。またステップＳ６にて取得する時刻ｔ＋１のデータには、時刻ｔ＋１における第１容器１０１の画像（ｔ＋１）と、時刻ｔ＋１における第１容器の角度（ｔ＋１）と、時刻ｔ＋１における第２容器１０２の液体量の計測値（ｔ＋１）と、液体秤量の目標値とが含まれる。両データの目標値は、見本動作の終了時点における第２容器１０２の液体量の計測値（Ｔｍａｘ）が設定される。
【００６６】
その後、処理部１１は、変数ｔの値に１を加える（ステップＳ８）。処理部１１は、変数ｔの値が最大値Ｔｍａｘであるか否かを判定する（ステップＳ９）。変数ｔの値がＴｍａｘでない場合（Ｓ９：ＮＯ）、処理部１１は、ステップＳ５へ処理を戻し、教師データの生成を継続する。変数ｔの値がＴｍａｘである場合（Ｓ９：ＹＥＳ）、処理部１１は、教師データ生成処理を終了する。
【００６７】
図１１は、本実施の形態に係る制御装置１が行う学習モデル５の学習処理の手順を示すフローチャートである。なお本フローチャートにおいては変数ｔを用いているが、この変数ｔは例えば制御装置１の処理部１１が有するレジスタ等の記憶領域を用いて実現され得る。本実施の形態に係る制御装置１の処理部１１の学習処理部１１ｆは、まず変数ｔの値を０に初期化する（ステップＳ２１）。学習処理部１１ｆは、所定の時刻ｔに対応する教師データを記憶部１２から取得する（ステップＳ２２）。学習処理部１１ｆは、取得した教師データに含まれる時刻ｔの画像、角度、計測値及び目標値を学習モデル５の入力とし、時刻ｔ＋１の画像、角度、計測値及び目標値を学習モデル５の出力の正解値として、学習モデル５がこの入出力関係を満たすようにＲＮＮモデル５１のパラメータを更新する（ステップＳ２３）。なお、ＲＮＮモデル５１のパラメータの更新は、複数の教師データに対してまとめて行われてもよい。
【００６８】
その後、学習処理部１１ｆは、変数ｔの値に１を加える（ステップＳ２４）。学習処理部１１ｆは、変数ｔの値が最大値Ｔｍａｘであるか否かを判定する（ステップＳ２５）。変数ｔの値がＴｍａｘでない場合（Ｓ２５：ＮＯ）、学習処理部１１ｆは、ステップＳ２２へ処理を戻し、学習モデル５の学習を継続する。変数ｔの値がＴｍａｘである場合（Ｓ２５：ＹＥＳ）、処理部１１は、学習処理を終了する。
【００６９】
＜液体秤量処理＞
学習モデル５の学習処理が完了した後、制御装置１は、学習済の学習モデル５を利用して、ロボットアーム２による液体の秤量処理を行うことができる。本実施の形態においては、作業台１０３の容器置き場１０４に第１容器１０１が置かれ、計量器４の上に第２容器１０２が置かれた状態から、ロボットアーム２が第１容器１０１を把持して所定の秤量位置へ搬送し、第１容器１０１を傾けて第２容器１０２へ注水を行い、目標値の注水を完了してロボットアーム２が第１容器１０１を容器置き場１０４へ置くまでの動作を説明する。なお秤量の目標値は、例えば制御装置１の操作部１５を利用してユーザが予め設定しているものとする。
【００７０】
図１２は、本実施の形態に係る制御装置１が行う液体秤量処理の概略手順を示すフローチャートである。本実施の形態に係る制御装置１の処理部１１は、まず、ロボットアーム２の動作を制御して、作業台１０３の容器置き場１０４に置かれた第１容器１０１をロボットアーム２に把持させる（ステップＳ３１）。ロボットアーム２が第１容器１０１を把持する動作の制御は、どのような方法で行われてもよい。
【００７１】
次いで処理部１１は、ステップＳ３１にて把持した第１容器１０１を、液体の秤量を行う秤量位置へと搬送する（ステップＳ３２）。ロボットアーム２による第１容器１０１の搬送の制御は、どのような方法で行われてもよい。また搬送動作の終点である秤量位置は、例えば予め設定された固定位置であってもよく、また例えば第２容器１０２の位置等に応じて変動する位置であってもよい。
【００７２】
次いで処理部１１は、第１容器１０１に収容された液体を第２容器１０２へ注水する動作を行い、所定量の液体を秤量する秤量処理を行う（ステップＳ３３）。秤量処理において処理部１１は、ロボットアーム２の第６軸２６のみを回転させて第１容器１０１を傾け、第１容器１０１から第２容器１０２への注水を行う。秤量処理の詳細については後述する。
【００７３】
所定量の液体を第１容器１０１から第２容器１０２へ注水し、秤量処理を完了した後、処理部１１は、ロボットアーム２を制御して第１容器１０１を秤量位置から容器置き場１０４へ搬送し（ステップＳ３４）、処理を終了する。ロボットアーム２による第１容器１０１の搬送の制御は、どのような方法で行われてもよい。また秤量処理を終えた後の第１容器１０１の搬送先は、最初に第１容器１０１が置かれていた容器置き場１０４とは別の場所であってもよい。
【００７４】
図１３は、本実施の形態に係る制御装置１が行う液体秤量処理の詳細手順を示すフローチャートであり、図１２のステップＳ３３にて行われる秤量処理の詳細手順である。本実施の形態に係る制御装置１の処理部１１の画像取得部１１ａは、カメラ３が撮影した第１容器１０１の画像を取得する（ステップＳ４１）。なおステップＳ４１にて取得する画像は、全体画像から第１容器１０１の部分を抽出した容器画像である。また処理部１１の現角度取得部１１ｂは、ロボットアーム２の第１軸２１から第６軸２６までの角度に基づいて、第１容器１０１の角度を取得する（ステップＳ４２）。また処理部１１の液体量取得部１１ｃは、計量器４が計量する第２容器１０２の液体量の計測値を取得する（ステップＳ４３）。
【００７５】
処理部１１の次角度取得部１１ｄは、ステップＳ４１にて取得した画像と、ステップＳ４２にて取得した角度と、ステップＳ４３にて取得した液体量の計測値と、ユーザが予め設定した秤量の目標値とを含む現時点のデータを、記憶部１２に記憶された学習済の学習モデル５へ入力する（ステップＳ４４）。次角度取得部１１ｄは、ステップＳ４４におけるデータの入力に応じて学習モデル５が出力するデータのうち、第１容器１０１の次の時点の角度を取得する（ステップＳ４５）。
【００７６】
処理部１１の制御処理部１１ｅは、ステップＳ４５にて取得した次の時点の角度が予め設定された上限角度以下であるか否かを判定する（ステップＳ４６）。次の時点の角度が上限角度以下である場合（Ｓ４７：ＹＥＳ）、制御処理部１１ｅは、ステップＳ４５にて取得した次の時点の角度に第１容器１０１の角度を変化させるべく、ロボットアーム２の第６軸２６の回転を制御し（ステップＳ４７）、ステップＳ４９へ処理を進める。次の時点の角度が上限角度を超える場合（Ｓ４７：ＮＯ）、制御処理部１１ｅは、第１容器１０１の現時点の角度を維持すべく、ロボットアーム２の第６軸２６の角度を維持し（ステップＳ４８）、ステップＳ４９へ処理を進める。
【００７７】
次いで処理部１１は、液体秤量の動作が終了したか否かを判定する（ステップＳ４９）。液体秤量の処理が終了したか否かの判定方法は、どのようなものであってもよい。例えば処理部１１は、第１容器１０１の角度が初期状態の角度（即ち角度０°）に戻ったことを液体秤量の終了と判断することができる。また例えば処理部１１は、第１容器１０１からの液体の吐出が終了したか否かをカメラ３が撮影した画像に基づいて判断し、液体秤量の終了を判断してもよい。液体秤量の処理が終了していない場合（Ｓ４９：ＮＯ）、処理部１１は、ステップＳ４１へ処理を戻す。液体秤量の処理が終了した場合（Ｓ４９：ＹＥＳ）、処理部１１は、図１２に示したフローチャートへ処理を戻す。
【００７８】
＜まとめ＞
以上の構成の本実施の形態に係る液体秤量システムは、ロボットアーム２が保持する第１容器１０１から第２容器１０２へ所定量の液体を注水することによって液体の秤量を行う。ロボットアーム２の動作を制御する制御装置１は、第１時点（時刻ｔ）における第１容器１０１の画像、第１容器１０１の角度及び第２容器１０２の液体量及び秤量の目標値を入力として受け付け、第２時点（時刻ｔ＋１）における第１容器１０１の角度を出力するよう機械学習がなされた学習モデル５を記憶部１２に記憶している。制御装置１は、現時点（第１時点）にてカメラ３が撮影した第１容器１０１の画像を取得し、現時点の第１容器１０１の角度を取得し、現時点の第２容器１０２の液体量を取得する。制御装置１は、取得した画像、角度及び液体量を学習モデル５へ入力し、学習モデル５が出力する次の時点（第２時点）の第１容器１０１の角度を取得する。制御装置１は、取得した次の時点の角度に応じて、ロボットアーム２が保持する第１容器１０１の角度を制御する。これにより制御装置１は、ロボットアーム２を制御して所定量の液体を第１容器１０１から第２容器１０２へ注水することができ、ロボットアーム２を利用した液体の秤量を精度よく行うことが期待できる。
【００７９】
また本実施の形態に係る制御装置１は、第１容器１０１を傾けて第２容器１０２へ注水する際に、ロボットアーム２の第１軸２１〜第５軸２５を固定し、第１容器１０１の保持位置に最も近い第６軸２６の回転を制御して、第１容器１０１の角度を制御する。制御装置１は、第１容器１０１について角度以外のパラメータ（例えば上下方向、左右方向又は前後方向等の位置）を変化させずに、第１容器１０１の角度のみを変化させて第２容器１０２へ注水を行うことができる。これにより制御装置１によるロボットアーム２の制御の容易化、学習モデル５の学習の容易化等が期待できる。
【００８０】
また本実施の形態に係る制御装置１は、ロボットアーム２、第１容器１０１、第２容器１０２、作業台１０３及び容器置き場１０４等を含むようにカメラ３が撮影した全体画像から、第１容器１０１の画像を取得して学習モデル５への入力データとする。制御装置１は、全体画像から所定の領域を容器画像として抽出してもよく、全体画像に映された第１容器１０１を検出して容器画像を抽出してもよい。これにより、学習される画像に含まれるノイズ（第１容器１０１以外の画像）が減少し、学習モデル５の学習の精度が向上する。結果として、学習モデル５を用いる第１容器１０１の角度の制御を精度よく行うことが期待できる。
【００８１】
また本実施の形態においては、制御装置１がロボットアーム２を制御して第１容器１０１を傾ける際に、第１容器１０１の角度に上限角度が定められており、この上限角度を超えない範囲で第１容器１０１の角度を制御装置１が制御する。これにより第１容器１０１の角度が大きくなりすぎることを防止でき、秤量動作を安定して行うことが期待できる。
【００８２】
また本実施の形態においては、カメラ３が撮影する画像に、第１容器１０１に収容された液体の液面の画像を含めるよう、カメラ３の位置及び撮影角度等が設定される。これにより、第１容器１０１に収容された液体の粘度等の情報を含む学習モデル５の学習処理が可能となり、液体秤量の精度の向上が期待できる。
【００８３】
また本実施の形態においては、学習モデル５の学習処理に用いる教師データを、ロボットアーム２の見本動作により得られるデータを基に生成する。見本動作においては、ロボットアーム２が第１容器１０１の角度を基準角度から所定角度へ単調増加させた後、所定角度から基準角度へ単調減少させることで第１容器１０１から第２容器１０２への注水を完了させる。この見本動作における時系列の画像、角度及び液体量に基づいて、制御装置１が教師データを生成する。この教師データを用いて機械学習がなされた学習モデル５を用いることにより、制御装置１は、第１容器１０１の角度を基準角度から所定角度へ単調増加させた後、所定角度から基準角度へ単調減少させることで注水を完了させるよう、ロボットアーム２の動作を制御することができる。
【００８４】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８５】
１  制御装置
２  ロボットアーム
３  カメラ
４  計量器
５  学習モデル
１１  処理部
１１ａ  画像取得部
１１ｂ  現角度取得部
１１ｃ  液体量取得部
１１ｄ  次角度取得部
１１ｅ  制御処理部
１１ｆ  学習処理部
１２  記憶部
１３  通信部
１４  表示部
１５  操作部
２０ａ  第１ベース部
２０ｂ  第２ベース部
２０ｃ  第１アーム部
２０ｄ  第２アーム部
２０ｅ  第３アーム部
２１  第１軸
２２  第２軸
２３  第３軸
２４  第４軸
２５  第５軸
２６  第６軸
５１  ＲＮＮモデル
５２  エンコーダ
５３  デコーダ
９９  記録媒体
１０１  第１容器
１０２  第２容器
１０３  作業台
１０４  容器置き場
１１１  全体画像
１１２  容器画像
【要約】
【課題】ロボットアームを利用して第１容器から第２容器への注水を行い、液体を秤量する液体秤量方法、制御装置、コンピュータプログラム及び学習方法を提供する。
【解決手段】本実施の形態に係る液体秤量方法は、第１時点における前記第１容器の画像、前記第１容器の角度及び前記第２容器の液体量を入力として受け付け、第２時点における前記第１容器の角度を出力するよう機械学習された学習モデルを用い、前記ロボットアームの動作を制御する制御装置が、第１時点に撮影された前記第１容器を含む画像を取得し、前記第１時点の前記第１容器の角度を取得し、前記第１時点の前記第２容器の液体量を取得し、取得した画像、角度及び液体量を前記学習モデルへ入力して、前記学習モデルが出力する第２時点の角度を取得し、取得した前記第２時点の角度に応じて、前記ロボットアームが保持する前記第１容器の角度を制御する。
【選択図】図５【図１】
0006725930.tif 000002
【図２】
0006725930.tif 000003
【図３】
0006725930.tif 000004
【図４】
0006725930.tif 000005
【図５】
0006725930.tif 000006
【図６】
0006725930.tif 000007
【図７】
0006725930.tif 000008
【図８】
0006725930.tif 000009
【図９】
0006725930.tif 000010
【図１０】
0006725930.tif 000011
【図１１】
0006725930.tif 000012
【図１２】
0006725930.tif 000013
【図１３】
0006725930.tif 000014