(57)【要約】【課題】物体内の内容物を他の物体にスムーズに注ぎ入れることができる注入装置、注入方法、及び注入プログラムを提案する。【解決手段】内容物が入った第１の物体を傾けることによって第１の物体から第２の物体へ注入される内容物の流量を認識する認識部と、認識した流量に基づいて第１の物体の傾け量を決定する決定部と、決定した傾け量に基づいて第１の物体の傾け制御を行う傾け制御部と、を備える。【選択図】図１
2020059108.tif 000002
【特許請求の範囲】
【請求項１】
内容物が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識する認識部と、
認識した前記流量に基づいて前記第１の物体の傾け量を決定する決定部と、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う傾け制御部と、を備える、
注入装置。
【請求項２】
前記認識部による前記流量の認識と、前記決定部による前記傾け量の決定と、前記傾け制御部による前記傾け制御と、を繰り返し実行する、
請求項１に記載の注入装置。
【請求項３】
前記第１の物体から前記第２の物体への前記内容物の流量の目標値を決定する計画部、を備え、
前記決定部は、前記計画部が決定した前記目標値と前記認識部が認識した前記流量との差分に基づいて前記第１の物体の傾け量を決定する、
請求項１に記載の注入装置。
【請求項４】
前記第１の物体の重量の情報を取得する取得部を備え、
前記認識部は、前記第１の物体の重量の変化に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
請求項１に記載の注入装置。
【請求項５】
前記第２の物体の重量の情報を取得する取得部を備え、
前記認識部は、前記第２の物体の重量の変化に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
請求項１に記載の注入装置。
【請求項６】
前記第１の物体には流量センサが取り付けられており、
前記認識部は、前記流量センサからの情報に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
請求項１に記載の注入装置。
【請求項７】
前記第１の物体が有する注ぎ口を観測するビジョンセンサからの情報を取得する取得部を備え、
前記認識部は、前記ビジョンセンサからの情報に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
請求項１に記載の注入装置。
【請求項８】
前記認識部は、前記第１の物体内にある前記内容物の表面高さを認識し、
前記決定部は、前記認識部が認識した前記表面高さに基づいて前記第１の物体の初期の傾け量を決定する、
請求項１に記載の注入装置。
【請求項９】
前記第１の物体の温度画像を取得する取得部を備え、
前記認識部は、前記温度画像に基づいて前記表面高さを認識する、
請求項８に記載の注入装置。
【請求項１０】
前記第２の物体には、水位センサ或いは誘電率センサが取り付けられ、
前記認識部は、前記水位センサ或いは前記誘電率センサからの情報に基づいて前記表面高さを認識する、
請求項８に記載の注入装置。
【請求項１１】
前記第１の物体を観測するビジョンセンサからの情報を取得する取得部を備え、
前記認識部は、前記ビジョンセンサからの情報に基づいて、前記表面高さを認識する、
請求項８に記載の注入装置。
【請求項１２】
前記認識部は、前記第１の物体に入っている前記内容物の粘性を認識し、
前記決定部は、前記第１の物体に入っている前記内容物の粘性に基づいて前記第１の物体の傾け量を決定する、
請求項１に記載の注入装置。
【請求項１３】
前記第１の物体を把持するアームに取り付けられた力覚センサからの力の情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記力の情報に基づいて、前記内容物の粘性を認識する、
請求項１２に記載の注入装置。
【請求項１４】
前記第１の物体を把持するアームに取り付けられた加速度センサからの加速度情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記加速度情報に基づいて、前記内容物の粘性を認識する、
請求項１２に記載の注入装置。
【請求項１５】
前記第１の物体を把持するアームに取り付けられた滑りセンサからの滑り情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記滑り情報に基づいて、前記内容物の粘性を認識する、
請求項１２に記載の注入装置。
【請求項１６】
前記第１の物体或いは前記第２の物体の観測情報と前記第１の物体の傾け量との関係を学習した学習モデルの情報を取得する取得部と、
前記決定部は、前記学習モデルに前記第１の物体或いは前記第２の物体を観測するセンサからの情報を入力することにより前記第１の物体の傾け量を決定する、
請求項１に記載の注入装置。
【請求項１７】
前記認識部は、前記第１の物体の内容物の種類を認識し、
前記決定部は、前記第１の物体の内容物の種類に基づいて、前記第１の物体の傾け量を決定する、
請求項１に記載の注入装置。
【請求項１８】
少なくとも２つのアームを備え、
前記傾け制御部は、前記第１の物体から第２の物体へ前記内容物を注入する場合に、前記第１の物体を把持して傾けるアームとは別のアームで前記第１の物体の蓋を押さえる、
請求項１に記載の注入装置。
【請求項１９】
内容物として液体、粉体、或いは粒体が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識し、
認識した前記流量に基づいて前記第１の物体の傾け量を決定し、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う、
注入方法。
【請求項２０】
コンピュータを、
内容物として液体、粉体、或いは粒体が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識する認識部、
認識した前記流量に基づいて前記第１の物体の傾け量を決定する決定部、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う傾け制御部、
として機能させるための注入プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、注入装置、注入方法、及び注入プログラムに関する。
【背景技術】
【０００２】
従来、人が行っていた作業をロボットにさせる研究が進んでいる。このようなロボットの一例として、容器内の液体を他の受器に注ぎ入れるロボットが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２２６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
物体内の内容物（例えば、液体、粉体或いは粒体）を他の物体に注入する注入装置（例えば、ロボット）には、スムーズに内容物を他の物体に注ぎ入れることが求められる。しかしながら、注入動作に係る環境（例えば、容器形状や容器内の液体量等）が常に同じであるとは限らない。様々な動作環境がある中で、注入装置がスムーズに内容物を他の物体に注ぎ入れることは容易ではない。
【０００５】
そこで、本開示では、物体内の内容物を他の物体にスムーズに注ぎ入れることができる注入装置、注入方法、及び注入プログラムを提案する。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本開示に係る一形態の注入装置は、内容物が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識する認識部と、認識した前記流量に基づいて前記第１の物体の傾け量を決定する決定部と、決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う傾け制御部と、を備える。
【図面の簡単な説明】
【０００７】
【図１】容器を把持した注入装置を示す図である。
【図２】注入装置が容器に液体を注ぎ入れる様子を示す図である。
【図３Ａ】本開示の実施形態に係る注入装置の構成例を示す図である。
【図３Ｂ】注入装置が備える制御部の構成例を示す図である。
【図４】本開示の実施形態に係る注入処理を示すフローチャートである。
【図５】流量計画の一例を示す図である。
【図６】流量計画に基づく流量制御のブロック線図である。
【図７】容器のモデルの一例を示す図である。
【図８】容器のモデルに基づく初期傾け量の推定処理を示すフローチャートである。
【図９】容器のモデルの一例を示す図である。
【図１０Ａ】容器、及び液体を示す値の具体例である。
【図１０Ｂ】図１０Ａの例における液体の体積、水深さ、目標注ぎ時間、加減速時間の具体例である。
【図１０Ｃ】図１０Ｂの例における体積流量目標値の具体例を示す図である。
【図１１】図１０Ａ〜図１０Ｃの例における液面高さと傾き量の具体例を示す図である。
【図１２】液体の入った容器を上下に揺らして、その時の力を検出した図である。
【図１３】容器のサーモグラフィ画像の例である。
【図１４】着脱可能な流量センサをポットに取り付けた様子を示す図である。
【図１５】ビジョンセンサで容器の出口から液体が流れ出ている様子を示す図である。
【図１６】容器の出口での液体の流速を説明するための図である。
【図１７】液面高さをビジョンセンサで測定する様子を示す図である。
【発明を実施するための形態】
【０００８】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【０００９】
以下に示す項目順序に従って本開示を説明する。
１．はじめに
２．実施形態
２−１．注入装置の構成
２−２．注入装置の動作
３．他の実施形態
３−１．容器のモデルに基づく液面高さ・傾け量を推定する方法
３−２．容器のモデルに基づく容器内の液体量を推定する方法
３−３．液体の挙動を間接的に測定する方法
３−３−１．ポットを揺らして粘性パラメータを推定する方法１
３−３−２．ポットを揺らして粘性パラメータを推定する方法２
３−３−３．ポットを揺らして粘性パラメータを推定する方法３
３−３−４．温度画像からポット内の液体の量を間接的に観測する方法
３−４．着脱可能な流量センサをポットに取り付け、流量を測定する方法
３−５．注ぎ口をビジョンセンサで観測し、流量を推定する方法
３−６．液面高さを直接測定する方法
３−７．液面高さをビジョンセンサで測定する方法
３−８．粘性に応じて傾け量を変える方法
３−９．学習結果に基づく液体挙動を推定する方法
４．変形例
４−１．もう１つのアームを使用する方法１
４−２．もう１つのアームを使用する方法２
４−３．もう１つのアームを使用する方法３
４−４．内容物により注ぎ方を変える方法
４−５．その他の変形例
５．むすび
【００１０】
＜＜１．はじめに＞＞
本実施形態の注入装置１０は、物体内の内容物（例えば、液体、粉体、或いは粒体）を他の物体にスムーズに注ぎ入れることが可能な装置である。本実施形態では、注入装置１０として、物体を把持可能なアームを有するロボットを想定する。また、注入装置１０が把持する物体として、ポット等の容器を想定する。また、容器内の内容物として、水等の液体を想定する。注入装置１０は、アームで把持した容器の傾け量を調整することにより、他の物体（例えば、コップ等の容器）への液体の注ぎ入れ量を調整する。
【００１１】
図１は、容器２１を把持した注入装置１０を示す図である。注入装置１０は、２本のアーム（アーム１３１、１３２）を有するロボットである。アーム１３１は、腕部１３１ａと把持部１３１ｂを有する。アーム１３２は、腕部１３２ａと把持部１３２ｂとを備える。腕部１３１ａ、１３２ａは、それぞれ、関節部を備える。把持部１３１ｂ、１３２ｂは、それぞれ、容器を把持可能である。図１の例では、注入装置１０は、アーム１３１の把持部１３１ｂで、容器２１を把持している。
【００１２】
図１の例では、容器２１（第１の物体）はポットとなっている。なお、容器２１は、ポットに限定されず、例えば、やかん、ピッチャー、醤油さし、コップ、ボウル、紙パック（例えば、牛乳パック）等であってもよい。なお、液体、粉体、粒体を入れることができるのであれば、第１の物体は容器に限られない。容器２１には、液体が入っている。液体は、水に限られず、牛乳、醤油、ジュース等であってもよい。勿論、液体は、ガソリンや灯油等の燃料であってもよいし、実験用の試料（例えば、化学薬品等）であってもよい。
【００１３】
図２は、注入装置１０が容器２２に液体を注ぎ入れる様子を示す図である。容器２２（第２の物体）は、例えば、コップである。勿論、容器２２は、コップに限られず、例えば、ポット、やかん、ピッチャー、醤油さし、ボウル、紙パック等であってもよい。勿論、容器２２は、土や肥料が入れられた植木鉢であってもよい。なお、液体、粉体、粒体を入れることができるのであれば、第２の物体は容器に限られない。注入装置１０は容器２１を傾けることにより、容器２２に液体を注ぎ入れる。
【００１４】
注入装置１０のアーム１３１、１３２には、それぞれ、センサが配置されている。例えば、アーム１３１の手首部分には６軸力覚センサが配置されおり、アーム１３１の各関節部分にはトルクセンサが配置されている。注入装置１０は、センサからの情報に基づいて容器２１の重さを測定する。そして、注入装置１０は、容器２１の重さの変化に基づいて容器２１から容器２２への液体の流量を認識する。注入装置１０は、認識した流量に基づいて容器２１の傾きを調整することにより、液体の注ぎ入れ量を調整する。これにより、注入装置１０は容器２１内の液体をスムーズに容器２２に注ぎ入れることができる。
【００１５】
＜＜２．実施形態＞＞
実施形態に係る注入装置１０について詳細に説明する。注入装置１０は、例えば、２本のアーム（アーム１３１、１３２）を有するロボットである。なお、注入装置１０は必ずしもロボットでなくてもよい。注入装置１０は、調理装置や実験装置等、ロボット形状でない単なる装置であってもよい。また、注入装置は、装置内のデバイスであってもよい。注入装置１０が有するアームも２本に限られない。注入装置１０が有するアームの数は１本であってもよいし、２本より多くてもよい。また、容器等の物体を傾ける機能を有しているのであれば、注入装置１０は必ずしもアームを有していなくてもよい。この場合、以下で説明する“アーム”は、“物体傾け機構（容器傾け機構）”等と言い換えることができる。
【００１６】
＜２−１．注入装置の構成＞
最初に、注入装置１０の構成を説明する。図３Ａは、本開示の実施形態に係る注入装置１０の構成例を示す図である。注入装置１０は、測定部１１と、記憶部１２と、アーム部１３と、制御部１４と、を備える。なお、図３Ａに示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。また、注入装置１０の機能は、複数の物理的に分離された装置に分散して実装されてもよい。
【００１７】
測定部１１は、容器内の液体或いは粉体に関する各種状態を測定する測定装置である。例えば、測定部１１は、容器内の液体或いは粉体の状態を測定するためのセンサである。測定部１１は、複数のセンサで構成されていてもよい。例えば、測定部１１は、アーム１３１或いはアーム１３２の手首部分に配置された６軸力覚センサや、アーム１３１或いはアーム１３２の各関節部分に配置されたトルクセンサで構成されていてもよい。
【００１８】
その他、測定部１１は、アーム１３１或いはアーム１３２に取り付けられた触覚センサであってもよい。触覚センサは、アーム１３１或いはアーム１３２の物体把持状態を捉える滑りセンサであってもよいし、把持した物体（例えば、容器２１或いは容器２２）の温度を捉える温度センサであってもよい。また、測定部１１は、把持した物体に加えられた加速度（振動等）を捉える加速度センサを備えていてもよい。また、測定部１１は、把持した物体の電気導電率を測定するセンサ（例えば、容器２１或いは容器２２に印加された電流を測定する電流センサ）を備えていてもよい。測定部１１が有するセンサは、水位センサや誘電率センサであってもよい。
【００１９】
また、測定部１１は、注入装置１０に視覚情報を与えるセンサを備えていてもよい。例えば、測定部１１は、容器２１或いは容器２２を視覚的に捉えるビジョンセンサを備えていてもよい。また、測定部１１は、サーモグラフィ画像を取得するカメラを備えていてもよい。勿論、測定部１１が備えるカメラは、可視光を捉える通常のカメラであってもよい。ビジョンセンサやカメラは注入装置１０の本体とは別の位置に配置されていてもよい。この場合も、これらセンサ（カメラを含む。）は注入装置１０の一部とみなすことが可能である。
【００２０】
また、測定部１１は、容器２１から流出した液体或いは粉体の流量を捉える流量センサを備えていてもよい。流量センサは、容器２２に流入した液体或いは粉体の流量を捉えるセンサであってもよい。この場合、流量センサは、容器２１或いは容器２２に取り付けられていてもよい。この場合も、流量センサは注入装置１０の一部とみなすことが可能である。
【００２１】
記憶部１２は、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部１２は、注入装置１０の記憶手段として機能する。記憶部１２には、例えば、学習モデルの情報が格納されている。学習モデルは、例えば、容器２１の観測情報と、スムーズに容器２１の適切な傾け量との関係を学習した学習モデルである。観測情報は、例えば、測定部１１で測定した情報である。例えば、観測情報は、容器２１の重量である。傾け量は、例えば、容器２２にスムーズに液体を注ぎ入れるための容器２１の適切な傾け量である。
【００２２】
アーム部１３は、容器等の物体を把持したり傾けたりするためのアームである。本実施形態では、注入装置１０は、例えば、２本のアーム（アーム１３１、１３２）を備えているが、注入装置１０が備えるアームは２本に限られない。図１に示すように、アーム１３１は、腕部１３１ａと把持部１３１ｂとを備える。同様に、アーム１３２は、腕部１３２ａと把持部１３２ｂとを備える。腕部１３１ａ、１３２ａには、それぞれ、６軸力覚センサやトルクセンサ等のセンサが配置されている。また、把持部１３１ｂ、１３２ｂは、それぞれ、物体（容器２１、２２等）を把持可能である。把持部１３１ｂ、１３２ｂには、それぞれ、滑りセンサ等の触覚センサが取り付けられている。注入装置１０は、これらセンサからの情報に基づいて、把持した物体の重量や把持した物体に加えられた加速度等を捉えることが可能である。
【００２３】
制御部１４は、注入装置１０の各部を制御するコントローラ（Controller）である。制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサにより実現される。例えば、制御部１４は、注入装置１０内部の記憶装置に記憶されている各種プログラムを、プロセッサがＲＡＭ（Random  Access  Memory）等を作業領域として実行することにより実現される。なお、制御部１４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。ＣＰＵ、ＭＰＵ、ＡＳＩＣ、及びＦＰＧＡは何れもコントローラとみなすことができる。
【００２４】
制御部１４は、図３Ａに示すように、取得部１４１と、認識部１４２と、計画部１４３と、決定部１４４と、傾け制御部１４５、駆動制御部１４６と、を備える。制御部１４を構成する各ブロック（取得部１４１〜駆動制御部１４６）はそれぞれ制御部１４の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア（マイクロプログラムを含む。）で実現される１つのソフトウェアモジュールであってもよいし、半導体チップ（ダイ）上の１つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ１つのプロセッサ又は１つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部１４は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
【００２５】
図３Ｂは、注入装置１０が備える制御部１４の構成例を示す図である。
【００２６】
取得部１４１は、測定部１１や記憶部１２等から情報を取得する複数の取得部を備える。取得部１４１は、例えば、画像取得部、流量取得部、波面高さ取得部、重量取得部、力・モーメント取得部、波動取得部、滑り取得部、温度取得部、角度取得部、角速度取得部、トルク取得部、電流取得部、を備える。これら取得部は、測定部１１を構成する各種センサや記憶部１２から情報を取得する。なお、“取得部”は“入力部”と言い換えることが可能である。
【００２７】
認識部１４２は、取得部１４１から取得した情報に基づいて各種状態を認識する複数の認識部を備える。認識部１４２は、例えば、波面高さ認識部と、流量認識部と、粘性認識部と、を備える。波面高さ認識部は、容器２１内の液体の波面高さを認識する。流量認識部は、容器２１から容器２２に注入される液体の流量を認識する。
【００２８】
計画部１４３は、流量計画部を備える。流量計画部は、認識部１４２が認識した情報（流量等）に基づいて流量計画を決定する。
【００２９】
決定部１４４は、傾け量決定部を備える。傾け量決定部は、認識部１４２が認識した情報（流量等）と計画部１４３が決定した流量計画に基づいて容器２１の傾け量を決定する。
【００３０】
傾け制御部１４５は、決定部１４４が決定した傾け量に基づいて容器２１の傾け制御を行う複数の制御部を備える。傾け制御部１４５は、例えば、先端位置拘束制御部と、先端姿勢制御部と、を備える。先端位置拘束制御部は、容器２１の液体注入口先端の位置を拘束するための制御を行う。先端姿勢制御部は、容器２１の液体注入口先端の姿勢を制御するための制御を行う。
【００３１】
駆動制御部１４６は、傾け制御部１４５の制御に従ってアーム１３１、１３２を駆動する複数の制御部を備える。傾け制御部１４５は、例えば、腕部制御部と、把持制御部と、を備える。腕部制御部は、腕部１３１ａ或いは腕部１３２ａの駆動制御を行う。把持制御部は、把持部１３１ｂと把持部１３２ｂの駆動制御を行う。
【００３２】
なお、制御部１４を構成する各ブロック（取得部１４１〜駆動制御部１４６）の動作は、後述の注入処理、流量制御、及び推定処理等の説明の箇所で詳述する。
【００３３】
＜２−２．注入装置の動作＞
次に、注入装置１０の動作について説明する。
【００３４】
（注入処理）
図４は、本開示の実施形態に係る注入処理を示すフローチャートである。注入処理は、注入装置１０が容器２１内の液体を容器２２に注ぎ入れるための処理である。注入装置１０は、ユーザからの命令を受信すると注入処理を開始する。又は、注入装置１０は、電源が投入された後、所定の条件を満たすと（例えば、予め設定された容器を発見すると）注入処理を開始する。
【００３５】
まず、注入装置１０は、一方のアームで容器２１（図１の例ではポット）を把持する（ステップＳ１０１）。以下の説明では、注入装置１０がアーム１３１で容器２１を把持したものとする。
【００３６】
そして、注入装置１０の認識部１４２は、容器２１の重量Ｍｐを測定する（ステップＳ１０２）。このとき、注入装置１０は、測定部１１が備えるセンサからの情報に基づき容器２１の重量Ｍｐを測定してもよい。例えば、注入装置１０は、アーム１３１の手首部分に配置した６軸力覚センサや、アーム１３１の各関節部分に配置したトルクセンサからの情報に基づいて、容器２１の重量Ｍｐを測定する。
【００３７】
次に、認識部１４２は、液体が注ぎ入れられる容器２２（図２の例ではコップ）内に残されている液体量を推定する（ステップＳ１０３）。このとき、認識部１４２は、測定部１１が備えるセンサからの情報に基づき容器２２内の液体量を推定してもよい。例えば、認識部１４２は、ビジョンセンサからの情報に基づいて、容器２２内の液体量を推定する。
【００３８】
続いて、注入装置１０の計画部１４３は、容器２２内の液体量の推定値に基づいて、容器２２への液体の注入量を決定する（ステップＳ１０４）。そして、計画部１４３は、流量計画を決定する（ステップＳ１０５）。図５は、流量計画の一例を示す図である。縦軸は体積流量Ｖｆｒであり、横軸は時間である。図５の例では、計画部１４３は、時間ｔ１まで流量を増加させ、その後、時間ｔ２まで流量を一定量（体積流量Ｖｆｒ１）とし、その後、流量を減少させながら時間ｔ３で注入を終了する計画を決定している。一例として、注入量は１００ｍｌ、時間ｔ１は２ｓｅｃ、時間ｔ２は１０ｓｅｃ、時間ｔ３は１２ｓｅｃ、体積流量Ｖｆｒ１は１０ｍｌ／ｓｅｃである。流量計画に示された値が、流量の目標値となる。なお、図５の例では、液体の体積に基づく流量計画となっているが、液体の重量に基づく流量計画であってもよい。
【００３９】
続いて、注入装置１０の認識部１４２は、容器２２の中心位置（例えば、コップ中心位置）を測定する（ステップＳ１０６）。そして、注入装置１０の計画部１４３は、容器２１の注入口の先端軌道計画（例えば、ポット先端軌道計画）を決定する（ステップＳ１０７）。そして、注入装置１０の駆動制御部１４６は、先端軌道計画に従って、容器２１の先端位置を移動させる（ステップＳ１０８）。
【００４０】
そして、注入装置１０は、容器２１の注ぎ入れ動作を実行する（ステップＳ１０９）。例えば、注入装置１０の決定部１４４が容器２１の傾け量を決定するとともに、注入装置１０の傾け制御部１４５が、決定された傾け量に基づいて容器２１の傾け制御を実行する。駆動制御部１４６は、傾け制御部１４５の制御に従ってアーム１３１を駆動する。
【００４１】
続いて、注入装置１０は、流量計画に基づいて流量制御を実行する（ステップＳ１１０）。例えば、注入装置１０は、単位時間（例えば１秒）当たりの容器２１の重量Ｍｐの減少分を単位時間当たりの液体の注入量とする。以下、単位時間当たりの液体の注入量を質量流量Ｍｆｒ（ｇ／ｓｅｃ）と表現する。注入装置１０は、質量流量Ｍｆｒを液体の密度ρ（ｇ／ｃｍ３）で除算し、質量流量Ｍｆｒを体積流量Ｖｆｒ（ｍｌ／ｓｅｃ）に変換する。式（１）は、質量流量Ｍｆｒを体積流量Ｖｆｒに変換するための変換式である。
Ｖｆｒ＝Ｍｆｒ／ρ      …（１）
【００４２】
注入装置１０は、流量計画に従った体積流量Ｖｆｒとなるよう、容器２１の傾け量を調整する。これにより、注入装置１０はスムーズに液体を容器２２に注入できる。なお、注入装置１０の流量制御については後に詳述する。
【００４３】
液体の注入が完了したら、注入装置１０は、注ぎ入れ終了動作を実行する（ステップＳ１１１）。例えば、注入装置１０は、容器２１を元の位置に戻す。注入装置１０は、注ぎ入れ終了動作が完了したら、注入処理を終了する。
【００４４】
（流量制御）
次に、注入装置１０が実行する流量制御について説明する。流量制御は、上述の注入処理の例であれば、ステップＳ１１０で実行される処理である。図６は、流量計画に基づく流量制御のブロック線図である。図６の例では、流量制御は、単位時間当たりの流量をフィードバック値とするフィードバック制御となっている。以下、図６を参照しながら、流量制御を説明する。
【００４５】
まず、注入装置１０の決定部１４４は、計画部１４３が決定した流量計画に基づく流量指令値Ｖｆｒ  ｒｅｆを取得する。流量指令値Ｖｆｒ  ｒｅｆは流量の目標値である。図５の例であれば、時間ｔ１の時点の流量指令値Ｖｆｒ  ｒｅｆは体積流量Ｖｆｒ１である。さらに、決定部１４４は、現在の体積流量Ｖｆｒを取得する。体積流量Ｖｆｒは、単位時間当たりの液体の注入量を質量換算したものである。そして、決定部１４４は、流量指令値Ｖｆｒ  ｒｅｆと体積流量Ｖｆｒとの差分を算出する（ステップＳ２０１）。
【００４６】
そして、決定部１４４は、算出した差分に基づいて容器２１の傾け量を決定する（ステップＳ２０２）。例えば、決定部１４４は、算出した差分に対して、比例ゲインを乗じた比例制御（Ｐ制御）や，算出した差分を積分し、積分ゲインを乗じ、比例制御項に加算したＰＩ制御や、算出した差分の微分に微分ゲインを乗じ、ＰＩ制御項に加算したＰＩＤ制御などにより、傾け量を決定する。決定部１４４は決定した傾け量を傾け量指令値θｒｅｆとして傾け制御部１４５に出力する。
【００４７】
続いて、注入装置１０の傾け制御部１４５は、傾け量指令値θｒｅｆに基づいて容器２１を傾ける（ステップＳ２０３）。ここで、傾け制御部１４５が目標とする傾け量がθであるとすると、駆動制御部１４６は容器２１の傾け量がθとなるようアーム１３１を制御する（ステップＳ２０４）。
【００４８】
続いて、認識部１４２は、取得部１４１が取得した容器２１の重量に関する情報（例えば、６軸力覚センサからの情報）に基づいて、容器２１の重量Ｍｐを測定する（ステップＳ２０５）。そして、認識部１４２は、重量Ｍｐの変化（例えば、重量Ｍｐの単位時間当たりの減少分）に基づいて体積流量Ｖｆｒを算出する（ステップＳ２０６）。そして、決定部１４４は、ステップＳ２０１に戻り、再び流量指令値Ｖｆｒ  ｒｅｆと体積流量Ｖｆｒとの差分を算出する（ステップＳ２０１）。
【００４９】
以後、注入装置１０は、液体の注入が完了するまで、ステップＳ２０１〜ステップＳ２０６を繰り返す。このフィードバック制御により、注入装置１０はスムーズに液体を容器２２に注入できる。
【００５０】
＜＜３．他の実施形態＞＞
次に他の実施形態について説明する。
【００５１】
＜３−１．容器のモデルに基づく液面高さ・傾け量を推定する方法＞
上述の実施形態（ステップＳ１０９）では、注入装置１０の決定部１４４が容器２１の傾け量を決定した。このとき、容器２１の初期傾け量θの推定方法は、容器２１のモデルに基づくものであってもよい。
【００５２】
図７は、容器２１のモデルの一例を示す図である。図７の例では、容器２１のモデルとして、重量Ｗｐ、半径ｒ（内径が２ｒ）、の円筒形のポットが示されている。容器２１の高さ（例えば、ポットの底から注ぎ口までの距離）はｈである。以下、図７に示す容器２１のモデルを例に、容器２１の初期傾け量θを決定する方法を示す。図８は、容器２１のモデルに基づく初期傾け量θの推定処理を示すフローチャートである。以下に示す推定処理は、例えば、上述の推定処理のステップＳ１０９で実行される。
【００５３】
なお、以下の説明では、容器２１の重量Ｗｐ、半径ｒ、高さｈは既知であるものとする。また、上述の注入処理の例では、重量Ｗｐは、液体が入っている容器２１の重量であったが、以下の説明では、重量Ｗｐは空の容器２１の重量であるものとする。なお、以下の説明では、空の容器２１の重量Ｗｐのことをポット重量Ｗｐ（或いは容器重量Ｗｐ）ということがある。
【００５４】
まず、決定部１４４は、容器２１の全体重量Ｗｔを測定する（ステップＳ３０１）。以下の説明では、容器２１の全体重量Ｗｔのことをポット全体重量Ｗｔ（或いは容器全体重量Ｗｐ）ということがある。ポット全体重量Ｗｔは、液体を含めた容器２１の重量である。上述の注入処理の例であれば、ポット全体重量Ｗｔは、注入装置１０の認識部１４２がステップＳ１０２で測定した容器２１の重量であってもよい。
【００５５】
続いて、決定部１４４は、ポット重量Ｗｐに基づき液体重量ｗを推定する（ステップＳ３０２）。液体重量ｗは、容器２１内の液体の重量である。液体重量ｗは、例えば、式（２）により算出される。ここで、Ｗｔは、ポット全体重量（容器全体重量）であり、Ｗｐは、ポット重量（容器重量）である。
ｗ＝ｗｔ−ｗｐ      …（２）
【００５６】
続いて、決定部１４４は、液体重量ｗに基づき液面高さｌを算出する（ステップＳ３０３）。液面高さｌは、容器２１内の液体の高さ（例えば、容器２１の内側の底面中央から容器２１内の液体の表面中央までの距離）である。液体重量ｗは、例えば、式（３）により算出される。ここで、ｒは容器２１の半径である。
ｌ＝ｗ／πｒ２      …（３）
【００５７】
続いて、決定部１４４は、液面高さｌに基づき初期傾け量θを算出する（ステップＳ３０４）。初期傾け量θは、例えば、容器２１内の液体が注ぎ口に達する容器２１の傾きである。液面から注ぎ口までの距離（ｈ−ｌ）は初期傾け量θに基づき式（４）のように示される。このことから、初期傾け量θは、例えば、式（５）により算出される。ここで、ｈは容器２１の高さ（例えば、ポットの底から注ぎ口までの高さ）である。
ｈ−ｌ＝ｒ・ｔａｎθ                …（４）
θ＝ａｔａｎ｛（ｈ−ｌ）／ｒ｝      …（５）
【００５８】
初期傾け量θを算出したら、決定部１４４は、推定処理を終了する。
【００５９】
この方法により、注入装置１０は、初期傾け量θを精度よく決定できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００６０】
＜３−２．容器のモデルに基づく容器内の液体量を推定する方法＞
上述の実施形態（ステップＳ１０３）では、注入装置１０の認識部１４２が容器２２内の液体量を推定した。このとき、容器２２内の液体量（例えば、体積Ｖｗ［ｍ３］）は、容器２２のモデルに基づくものであってもよい。
【００６１】
図９は、容器２２のモデルの一例を示す図である。図９の例では、容器２２のモデルとして、高さｈｃ、開口部の半径Ｒｃ、底部の半径ｒｃの円錐台形のコップが示されている。以下、図９に示す容器２２のモデルを例に、容器２２内の液体量を推定する方法を示す。なお、以下の説明では、容器２２の高さｈｃ、開口部の半径Ｒｃ、底部の半径ｒｃ、容器の体積ＶＣは既知であるものとする。また、以下の説明では、認識部１４２は、容器２２内の液体量として、液体の体積Ｖｗを推定するものとするが、液体の重量を推定してもよい。
【００６２】
まず、認識部１４２は、測定部１１が備えるセンサからの情報に基づき、液体表面から容器２２の開口までの高さｌｃを測定する。例えば、認識部１４２は、デプス画像から高さｌｃを測定する。
【００６３】
そして、認識部１４２は、高さｌｃに基づいて容器２２内の液体の体積Ｖｗを推測する。例えば、認識部１４２は、式（６）に基づき容器２２内の液体の深さｄｃ［ｍ］を算出する。さらに、認識部１４２は、式（７）に基づき容器２２内の液体表面の半径ｒｗ［ｍ］を算出する。そして、認識部１４２は、式（８）に基づき容器２２内の液体の体積Ｖｗ［ｍ３］を算出する。
ｄｃ＝ｈｃ−ｌｃ                              …（６）
ｒｗ＝ｒｃ＋（Ｒｃ−ｒｃ）ｄｃ／ｈｃ            …（７）
Ｖｗ＝πｄｃ（ｒｗ２＋ｒｗｒｃ＋ｒｃ２）／３      …（８）
【００６４】
なお、認識部１４２は、容器２２内の液体の体積Ｖｗに基づいて、容器２２に追加可能な液体の体積Ｖ［ｍ３］を算出してもよい。追加可能な液体の体積Ｖは、例えば、式（９）により算出可能である。
Ｖ＝ＶＣ−ＶＷ      …（９）
【００６５】
また、注入装置１０の計画部１４３は、追加可能な液体の体積Ｖに基づき体積流量目標値Ｖｒｅｆを算出してもよい。体積流量目標値Ｖｒｅｆは、例えば、図５のＶｆｒ１に相当する。体積流量目標値Ｖｒｅｆは、例えば、式（１０）により算出可能である。
Ｖｒｅｆ＝Ｖ／（Ｔｔ−Ｔａ）      …（１０）
【００６６】
ここで、Ｔｔは目標注入時間であり、Ｔａは増減時間（加減速時間）である。図５の例であれば、目標注入時間Ｔｔ［ｓ］はｔ３であり、増減時間Ｔａ［ｓ］はｔ１／２＋（ｔ３−ｔ２）／２である。なお、図５の例では加速時間ｔ１と減速時間（ｔ３−ｔ２）が同じ値であるが、両者は異なる値であってもよい。
【００６７】
図１０Ａは、容器２１、２２、及び液体を示す値の具体例である。図１０Ｂは、図１０Ａの例における液体の体積、水深さ、目標注ぎ時間、加減速時間の具体例である。また、図１０Ｃは、図１０Ｂの例における体積流量目標値の具体例を示す図である。
【００６８】
計画部１４３は、体積流量目標値Ｖｒｅｆから液面高さ［ｍ］を計画する。そして、計画部１４３は、計画した液面高さから傾き量［ｒａｄ］の計画を立てる。図１１は、図１０Ａ〜図１０Ｃの例における液面高さと傾き量の具体例を示す図である。
【００６９】
この方法により、注入装置１０は、容器２２に注入可能な液体量を認識できるので、内容物を零すことなく容器２２に注ぎ入れることができる。
【００７０】
＜３−３．液体の挙動を間接的に測定する方法＞
注入装置１０は、液体の挙動を間接的に測定してもよい。例えば、注入装置１０は、容器に取り付けられたセンサではなく、アームに取り付けられたセンサからの情報に基づき液体の挙動を測定してもよい。以下、液体の挙動を間接的に測定する方法を述べる。
【００７１】
（３−３−１．ポットを揺らして粘性パラメータを推定する方法１）
容器に注入される液体の粘性（以下、粘性パラメータともいう。）は単位時間当たりの液体の流量に影響する。注入装置１０が流量計画や傾け量を決定するに当たり、容器内の液体の粘性パラメータを把握することは重要である。
【００７２】
注入装置１０の認識部１４２は、アーム１３１で把持した容器２２を揺らし、アーム１３１に取り付けられた力覚センサ（例えば、６軸力覚センサ）で力・モーメント変化を確認することにより、容器２２内の液体の粘性パラメータを推定してもよい。図１２は、液体の入った容器（例えば、ポット）を上下に揺らして、その時の力を検出したものである。容器に液体が入っていない場合、容器を上下に揺らした際に、容器の重量は一定となり、また、加速度は遅延なく観測可能である（不図示）。しかし、容器に液体が入っている場合、図１２に示すように、位相遅れ等が発生する。具体的には、粘性が低い液体ほど、力の振幅が大きく、位相遅れが小さくなる。粘性が高い液体ほど、力の振幅が小さくなり、位相遅れが大きくなる。認識部１４２は、力の振幅と位相遅れに基づいて、容器２２内の液体の粘性パラメータを推定する。注入装置１０は、粘性パラメータを使って、内容物をさらにスムーズに容器２２に注ぎ入れることができる。
【００７３】
（３−３−２．ポットを揺らして粘性パラメータを推定する方法２）
認識部１４２は、加速度センサで振動を検出することにより、容器２２内の液体の粘性パラメータを推定してもよい。力と加速度の関係は比例関係にあるため、上述の容器２２内の液体の３−３−１と同様な関係にある。認識部１４２は、加速度の振幅と位相遅れに基づいて、容器２２内の液体の粘性パラメータを推定する。この方法によっても、注入装置１０は、容器内の液体の粘性を認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００７４】
（３−３−３．ポットを揺らして粘性パラメータを推定する方法３）
認識部１４２は、ポットを揺らし、滑りセンサで力、モーメント、振動を間接的に観測することにより、容器２２内の液体の粘性パラメータを推定してもよい。滑りセンサの出力はせん断力に比例するため、力センサや加速度センサの結果と同様な結果が得られる。認識部１４２は、滑りセンサの振幅と位相遅れに基づいて、容器２２内の液体の粘性パラメータを推定する。この方法によっても、注入装置１０は、容器内の液体の粘性を認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００７５】
（３−３−４．温度画像から容器内の液体の量を間接的に観測する方法）
認識部１４２が間接的に観測するパラメータは粘性パラメータに限られない。認識部１４２は、容器２１或いは容器２２内の液体の量を間接的に観測してもよい。例えば、認識部１４２は、温度画像（サーモグラフィ）で容器２１或いは容器２２の温度変化を観測する。そして、認識部１４２は、或いは容器２２の温度変化から或いは容器２２内の液体の量を推定する。図１３は、容器２１のサーモグラフィ画像の例である。容器２１内に例えば高温のお茶が入っている場合、サーモグラフィ画像として、高温部の境目を観測することが出来る。これを認識部１４２は液面高さｌとする。あとは図７、８の例と同様に、注入装置１０の決定部１４４が、液面高さｌに基づいて、初期傾け量θを決定する。この方法によって、注入装置１０は、容器内の液体量を認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００７６】
＜３−４．着脱可能な流量センサをポットに取り付け、流量を測定する方法＞
注入装置１０は、液体の挙動を直接的に測定してもよい。例えば、注入装置１０は、液体の流量を直接的に測定してもよい。例えば、注入装置１０は、着脱可能な流量センサを容器２１に取り付ける。図１４は、着脱可能な流量センサをポットに取り付けた様子を示す図である。図１４の例では、流量センサ１１ａが容器２２の注ぎ口に取り付けられている。流量センサ１１ａは流量計１１ｂに接続されている。流量センサ１１ａ及び流量計１１ｂは注入装置１０の一部とみなすことが可能である。流量計１１ｂで計測された流量は、無線ＬＡＮなどで注入装置１０に通知される。注入装置１０は通知された流量を、例えば図６のステップＳ２０６で説明した流量として取得してもよい。注入装置１０は、通知された流量に基づいて、例えば図６に示す制御に従い、容器２１の傾け量を決定する。この方法によっても、注入装置１０は、液体の流量を認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００７７】
＜３−５．注ぎ口をビジョンセンサで観測し、流量を推定する方法＞
注入装置１０は、液体の流量をビジョンセンサを使って測定してもよい。図１５は、ビジョンセンサで容器２１の出口から液体が流れ出ている様子を示す図である。流れ出ている液体を円柱として近似し、流れ出ている液体の幅を円柱の直径ｄｗとする。図１５の例では、左側の容器２１から出ている液体の直径がｄｗ1であり、右側の容器２１から出ている液体の直径がｄｗ２である。
【００７８】
図１６は、容器２１の出口での液体の流速を説明するための図である。図１６の例の場合、ビジョンセンサは６０ｆｐｓを想定している。注入装置１０は、液体の出始めの時間をｔ１＝０（秒）とし、１フレーム後の時間をｔ２＝０．０１６６秒として、液体の流速ｖを次の式（１１）で求めことが可能である。
ｖ＝（Ｌｗ２−Ｌｗ１）／（ｔ２−ｔ１）      …（１１）
【００７９】
注入装置１０は、流速ｖと液体の幅ｄｗに基づき以下の式（１２）で体積流量Ｖを求めることが可能である。
Ｖ＝πｖ（ｄｗ／２）２      …（１２）
【００８０】
また、注入装置１０は、液体の流速に反比例して、液体の粘性係数を決定する。注入装置１０は、決定した粘性係数に基づいて、流量計画を変更し、図６の制御ブロックに従って制御を行う。注入装置１０は、リアルタイムに流量推定を行い、それをフィードバック量として図６に示した制御を実施する。この方法によっても、注入装置１０は、液体の流量を認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００８１】
＜３−６．液面高さを直接測定する方法＞
注入装置１０は、容器２１或いは容器２２内の液体の液面高さを直接測定してもよい。例えば、注入装置１０は、容器２１或いは容器２２に取り付けた水位センサを使って、容器２１内の液体の液面高さを測定してもよい。また、容器２１或いは容器２２がプラスチックなどの非誘電体素材で形成されているのであれば、注入装置１０は、誘電率センサで容器２１或いは容器２２内の液体の液面高さを測定してもよい。この方法によっても、注入装置１０は、液面高さを認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００８２】
＜３−７．液面高さをビジョンセンサで測定する方法＞
容器２１或いは容器２２が透過性のある素材の場合、注入装置１０は、容器２１或いは容器２２の中身をビジョンセンサを使って観測可能である。この場合、注入装置１０は、容器２１或いは容器２２内の液体の液面高さをビジョンセンサで測定する。図１７は、液面高さをビジョンセンサで測定する様子を示す図である。この方法によっても、注入装置１０は、液面高さを認識できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００８３】
＜３−８．粘性に応じて傾け量を変える方法＞
注入装置１０は、容器２１内の液体の粘性に応じて容器２１の傾け量を変化させてもよい。一般に機械振動系の運動方程式は以下の式（１３）で表される。ここで、Ｍは質量、ηは粘性係数、ｋはスティフネス、ｆは外力である。
【数１】
2020059108.tif 000003
【００８４】
また、一般にパイプ内の流量Ｑは以下の式（１４）で表される。ここで、ηは粘性係数で、ａはパイプ半径、ΔＰは圧力差、Ｌはパイプ長さである。
Ｑ＝（πａ４ΔＰ）／（８ηＬ）      …（１４）
【００８５】
式（１４）に示すように流量Ｑは粘性係数に反比例する。そのため、注入装置１０は、水の粘性係数ηを基準として、粘性係数ηの推定値に反比例した流量計画を立てる。粘性係数ηが２倍であれば、単位時間当たりの流量が２分の１となるため、注入装置１０は、流量計画の時間を２倍に伸ばして計画する。注入装置１０は、計画に基づき容器２１の傾け量を決定する。これにより、注入装置１０は、内容物の性質に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。
【００８６】
＜３−９．学習結果に基づく液体挙動を推定する方法＞
注入装置１０は、学習モデルの学習結果に基づき液体挙動を推定してもよい。学習モデルは、回帰モデルやニューラルネットワーク等、任意の構造のモデルを使用することが可能である。学習モデルは、容器２１或いは容器２２の観測情報と容器２１の傾け量との関係を学習したモデルである。学習モデルは、以下の入力データが入力された場合に、以下の出力データを出力するモデルである。学習を行う学習装置（注入装置１０或いは他の装置）は、例えば、学習用の入出力データに基づいて、バックプロパゲーション等の手法を用いて、学習モデルの接続係数の設定を行う。
【００８７】
（入力データ）
・ポット全体の重量
・６軸力センサによる力・モーメント
・加速度センサによる振動
・滑りセンサによる滑り量
・温度画像（サーモグラフィ）によるポットの温度画像
・流量センサ
・ビジョンセンサで観測した、液体の出口の流量（液体画像の太さ）
・水位センサによる液面高さ
・誘電率センサによる液面高さ
・ビジョンセンサで得られる液面高さ
【００８８】
（出力データ）
・傾け量
・傾け量を生成することができるロボットの関節角度
・流量
【００８９】
注入装置１０の決定部１４４は、測定部１１が備えるセンサからの情報（観測情報）を学習モデルに入力して得られた出力データに基づいて容器２１の傾け量を決定する。これにより、注入装置１０は、様々なデータを使って内容物をスムーズに容器２２に注ぎ入れることができる。
【００９０】
＜＜４．変形例＞＞
【００９１】
＜４−１．もう１つのアームを使用する方法１＞
上述したように、注入装置１０は複数のアームを備えている。注入装置１０は、容器２１を把持しているアームとは別のアーム１３２で液体が注がれる容器２２を把持する。そして、注入装置１０の取得部１４１は、容器２２の重量に関する情報を測定部１１が備えるセンサ（例えば、アーム１３２の手首部分に配置された６軸力覚センサやアーム１３２の各関節に配置されたトルクセンサ）から取得する。そして、認識部１４２は、取得部１４１が取得した容器２２の重量に関する情報に基づいて、容器２２の重量Ｍｐを測定する。そして、認識部１４２は、容器２２の重量の変化（例えば、重量Ｍｐの単位時間当たりの増加分）に基づいて体積流量を算出する。この方法によっても、注入装置１０は、液体の流量を把握できるので、内容物をスムーズに容器２２に注ぎ入れることができる。
【００９２】
＜４−２．もう１つのアームを使用する方法２＞
また、注入装置１０は、容器２１を把持しているアームとは別のアーム１３２で液体が注がれる容器２２を把持してもよい。そして、注入装置１０は、ビジョンセンサで容器２１、２２を計測し、容器２２の端に容器２１注ぎ口が来ている場合に、注ぎ口が容器２２の開口の真ん中になるように容器２１或いは容器２２を動かしてもよい。このとき、注入装置１０は、容器２１側を動かしてもよい。また、容器２１を把持しているアームとは別のアーム１３２で容器２２を把持しているのであれば、アーム１３２を制御して、容器２２の開口の真ん中に注ぎ口が来るようにしてもよい。これにより、注入装置１０は、内容物を零すことなく確実に容器２２に注ぎ入れることができる。
【００９３】
＜４−３．もう１つのアームを使用する方法３＞
また、容器２１が蓋を備えている場合、注入装置１０は、容器２１を傾けたときに容器２１から蓋が落ちないように、容器２１を把持しているアームとは別のアーム１３２で容器２１の蓋を押さえてもよい。これにより、注入装置１０は、蓋を落とすことなく内容物を容器２２に注ぎ入れることができる。
【００９４】
＜４−４．内容物により注ぎ方を変える方法＞
上述の実施形態では、容器２２に注ぎ入れる物体（容器２１の内容物）は液体であるものとしたが、容器２２に注ぎ入れる物体は粉体や粒体であってもよい。粉体は、例えば、塩、砂糖、コショウ、小麦粉等であってもよい。粒体は、例えば、米、大豆、トウモロコシ等であってもよい。勿論、粉体や粒体は、これら例に限られない。例えば、粉体或いは粒体は、砂や石であってもよい。注ぎ入れる物体（容器２１の内容物）が粉体或いは粒体の場合、上述の実施形態で登場した「液体」の記載は「粉体」或いは「粒体」に置き換える。また、注ぎ入れる物体（容器２１の内容物）が粉体或いは粒体の場合、上述の実施形態で登場した「液面」の記載は「粉面」或いは「粒面」に置き換える。その他、内容物の種類は、液体、紛体、粒体に限られない。内容物は、液体、紛体、粒体以外の物体、例えば、ゲル状の物体であってもよい。この場合も、上述の実施形態で登場した「液面」の記載は、適宜他の記載（例えば、ゲル面等）に置き換える。なお、液面、粉面、粒面、ゲル面等を総称して「表面」ということができる。また、液面高さ、粉面高さ、粒面高さ、ゲル面高さ等を総称して「表面高さ」とことができる。上述の実施形態で登場した「液面」、「液面高さ」の記載は、適宜「表面」、「表面高さ」に置き換えてもよい。
【００９５】
注入装置１０は、容器２１の内容物の種類に基づいて、容器２１の注ぎ方（例えば、容器２１の傾け量）を決定してもよい。例えば、注入装置１０は、容器２２をビジョンセンサ等のセンサで見て容器２１の内容物が液体か、粉体か、粒体かを判断してもよい。そして、注入装置１０は、容器２１の内容物が液体か、粉体か、粒体かで、容器２１の内容物の注ぎ方を変えてもよい。例えば、注入装置１０は、容器２１の内容物が液体の場合と粉体の場合と粒体の場合とで、容器２１の傾け量を変更してもよい。また、注入装置１０は、容器２１の内容物が液体の場合と粉体の場合と粒体の場合とで、目標注ぎ時間や加減速時間を変更してもよい。内容物の種類に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。
【００９６】
また、注入装置１０は、容器２２をビジョンセンサ等のセンサで見て容器２１の内容物が粉体か液体かを判断してもよい。そして、注入装置１０は、容器２１の内容物が粉体か液体かで、容器２１の内容物の注ぎ方を変えてもよい。例えば、注入装置１０は、容器２１の内容物が液体の場合と粉体の場合とで、容器２１の傾け量を変更してもよい。また、注入装置１０は、容器２１の内容物が液体の場合と粉体の場合とで、目標注ぎ時間や加減速時間を変更してもよい。内容物の種類に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。
【００９７】
また、注入装置１０は、容器２２をビジョンセンサ等のセンサで見て容器２１の内容物が粒体か液体かを判断してもよい。そして、注入装置１０は、容器２１の内容物が粒体か液体かで、容器２１の内容物の注ぎ方を変えてもよい。例えば、注入装置１０は、容器２１の内容物が液体の場合と粒体の場合とで、容器２１の傾け量を変更してもよい。また、注入装置１０は、容器２１の内容物が液体の場合と粒体の場合とで、目標注ぎ時間や加減速時間を変更してもよい。内容物の種類に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。
【００９８】
また、注入装置１０は、容器２２をビジョンセンサ等のセンサで見て容器２１の内容物が粒体か粉体かを判断してもよい。そして、注入装置１０は、容器２１の内容物が粒体か粉体かで、容器２１の内容物の注ぎ方を変えてもよい。例えば、注入装置１０は、容器２１の内容物が粉体の場合と粒体の場合とで、容器２１の傾け量を変更してもよい。また、注入装置１０は、容器２１の内容物が粉体の場合と粒体の場合とで、目標注ぎ時間や加減速時間を変更してもよい。内容物の種類に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。
【００９９】
勿論、注入装置１０は、容器２１の内容物が粒体か粉体か液体かで、容器２１の内容物の注ぎ方を変えてもよい。注入装置１０は、容器内容物の種類に合わせて内容物をスムーズに容器２２に注ぎ入れることができる。２１の内容物が粒体か粉体か液体かで、目標注ぎ時間や加減速時間を変えてもよい。
【０１００】
＜４−５．その他の変形例＞
本実施形態の注入装置１０を制御する制御装置は、専用のコンピュータシステムで実現してもよいし、汎用のコンピュータシステムで実現してもよい。
【０１０１】
例えば、上述の動作（例えば、注入処理、流量制御、又は推定処理等）を実行するための通信プログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布する。そして、例えば、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成する。このとき、制御装置は、注入装置１０の外部の装置（例えば、パーソナルコンピュータ）であってもよいし、注入装置１０の内部の装置（例えば、制御部１４）であってもよい。
【０１０２】
また、上記通信プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Operating  System）とアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【０１０３】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１０４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１０５】
また、上記してきた実施形態は、処理内容を矛盾させない領域で適宜組み合わせることが可能である。また、本実施形態のシーケンス図或いはフローチャートに示された各ステップは、適宜順序を変更することが可能である。
【０１０６】
＜＜５．むすび＞＞
以上説明したように、本開示の一実施形態によれば、注入装置１０は、内容物として液体、粉体、或いは粒体が入った容器２１を傾けることによって容器２１から容器２２へ注入される内容物の流量を認識する。そして、注入装置１０は、認識した流量に基づいて容器２１の傾け量を決定（調整）する。これにより、注入装置１０は、容器２１内の液体或いは粉体を他の容器２２にスムーズに注ぎ入れることができる。
【０１０７】
以上、本開示の各実施形態について説明したが、本開示の技術的範囲は、上述の各実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
【０１０８】
また、本明細書に記載された各実施形態における効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０１０９】
なお、本技術は以下のような構成も取ることができる。
（１）
内容物として液体、粉体、或いは粒体が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識する認識部と、
認識した前記流量に基づいて前記第１の物体の傾け量を決定する決定部と、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う傾け制御部と、を備える、
注入装置。
（２）
前記認識部による前記流量の認識と、前記決定部による前記傾け量の決定と、前記傾け制御部による前記傾け制御と、を繰り返し実行する、
前記（１）に記載の注入装置。
（３）
前記第１の物体から前記第２の物体への前記内容物の流量の目標値を決定する計画部、を備え、
前記決定部は、前記計画部が決定した前記目標値と前記認識部が認識した前記流量との差分に基づいて前記第１の物体の傾け量を決定する、
前記（１）又は（２）に記載の注入装置。
（４）
前記第１の物体の重量の情報を取得する取得部を備え、
前記認識部は、前記第１の物体の重量の変化に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
前記（１）〜（３）のいずれか１つに記載の注入装置。
（５）
前記第２の物体の重量の情報を取得する取得部を備え、
前記認識部は、前記第２の物体の重量の変化に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
前記（１）〜（３）のいずれか１つに記載の注入装置。
（６）
前記第１の物体には流量センサが取り付けられており、
前記認識部は、前記流量センサからの情報に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
前記（１）〜（３）のいずれか１つに記載の注入装置。
（７）
前記第１の物体が有する注ぎ口を観測するビジョンセンサからの情報を取得する取得部を備え、
前記認識部は、前記ビジョンセンサからの情報に基づいて、前記第１の物体から前記第２の物体への前記内容物の流量を算出する、
前記（１）〜（３）のいずれか１つに記載の注入装置。
（８）
前記認識部は、前記第１の物体内にある前記内容物の表面高さを認識し、
前記決定部は、前記認識部が認識した前記表面高さに基づいて前記第１の物体の初期の傾け量を決定する、
前記（１）〜（７）のいずれか１つに記載の注入装置。
（９）
前記第１の物体の温度画像を取得する取得部を備え、
前記認識部は、前記温度画像に基づいて、前記表面高さを認識する、
前記（８）に記載の注入装置。
（１０）
前記第２の物体には、水位センサ或いは誘電率センサが取り付けられ、
前記認識部は、前記水位センサ或いは前記誘電率センサからの情報に基づいて前記表面高さを認識する、
前記（８）に記載の注入装置。
（１１）
前記第１の物体を観測するビジョンセンサからの情報を取得する取得部を備え、
前記認識部は、前記ビジョンセンサからの情報に基づいて、前記表面高さを認識する、
前記（８）に記載の注入装置。
（１２）
前記認識部は、前記第１の物体に入っている前記内容物の粘性を認識し、
前記決定部は、前記第１の物体に入っている前記内容物の粘性に基づいて前記第１の物体の傾け量を決定する、
前記（１）〜（１１）のいずれか１つに記載の注入装置。
（１３）
前記第１の物体を把持するアームに取り付けられた力覚センサからの力の情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記力の情報に基づいて、前記内容物の粘性を認識する、
前記（１２）に記載の注入装置。
（１４）
前記第１の物体を把持するアームに取り付けられた加速度センサからの加速度情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記加速度情報に基づいて、前記前記内容物の粘性を認識する、
前記（１２）に記載の注入装置。
（１５）
前記第１の物体を把持するアームに取り付けられた滑りセンサからの滑り情報を取得する取得部、を備え、
前記認識部は、前記第１の物体を揺らしたときの前記滑り情報に基づいて、前記内容物の粘性を認識する、
前記（１２）に記載の注入装置。
（１６）
前記第１の物体或いは前記第２の物体の観測情報と前記第１の物体の傾け量との関係を学習した学習モデルの情報を取得する取得部と、
前記決定部は、前記学習モデルに前記第１の物体或いは前記第２の物体を観測するセンサからの情報を入力することにより前記第１の物体の傾け量を決定する、
前記（１）又は（２）に記載の注入装置。
（１７）
前記認識部は、前記第１の物体の内容物の種類を認識し、
前記決定部は、前記第１の物体の内容物の種類に基づいて、前記第１の物体の傾け量を決定する、
前記（１）〜（１６）のいずれか１つに記載の注入装置。
（１８）
前記認識部は、前記第１の物体に液体、粉体、或いは粒体が入っているか認識し、
前記決定部は、前記第１の物体に液体、粉体、或いは粒体が入っているかに基づいて、前記第１の物体の傾け量を決定する、
前記（１）〜（１７）のいずれか１つに記載の注入装置。
（１９）
前記認識部は、前記第１の物体に液体が入っているか粉体が入っているかを認識し、
前記決定部は、前記第１の物体に液体が入っているか粉体が入っているかに基づいて、前記第１の物体の傾け量を決定する、
前記（１）〜（１７）のいずれか１つに記載の注入装置。
（２０）
前記認識部は、前記第１の物体に液体が入っているか粒体が入っているかを認識し、
前記決定部は、前記第１の物体に液体が入っているか粒体が入っているかに基づいて、前記第１の物体の傾け量を決定する、
前記（１）〜（１７）のいずれか１つに記載の注入装置。
（２１）
前記認識部は、前記第１の物体に粉体が入っているか粒体が入っているかを認識し、
前記決定部は、前記第１の物体に粉体が入っているか粒体が入っているかに基づいて、前記第１の物体の傾け量を決定する、
前記（１）〜（１７）のいずれか１つに記載の注入装置。
（２２）
少なくとも２つのアームを備え、
前記傾け制御部は、前記第１の物体から第２の物体へ前記内容物を注入する場合に、前記第１の物体を把持して傾けるアームとは別のアームで前記第１の物体の蓋を押さえる、
前記（１）〜（２１）のいずれか１つに記載の注入装置。
（２３）
内容物として液体、粉体、或いは粒体が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識し、
認識した前記流量に基づいて前記第１の物体の傾け量を決定し、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う、
注入方法。
（２４）
コンピュータを、
内容物として液体、粉体、或いは粒体が入った第１の物体を傾けることによって前記第１の物体から第２の物体へ注入される前記内容物の流量を認識する認識部、
認識した前記流量に基づいて前記第１の物体の傾け量を決定する決定部、
決定した前記傾け量に基づいて前記第１の物体の傾け制御を行う傾け制御部、
として機能させるための注入プログラム。
【符号の説明】
【０１１０】
１０  注入装置
１１  測定部
１１ａ  流量センサ
１１ｂ  流量計
１２  記憶部
１３  アーム部
１３１、１３２  アーム
１３１ａ、１３２ａ  腕部
１３１ｂ、１３２ｂ  把持部
１４  制御部
１４１  取得部
１４２  認識部
１４３  計画部
１４４  決定部
１４５  傾け制御部
１４６  駆動制御部
２１、２２  容器
【図１】
2020059108.tif 000004
【図２】
2020059108.tif 000005
【図３Ａ】
2020059108.tif 000006
【図３Ｂ】
2020059108.tif 000007
【図４】
2020059108.tif 000008
【図５】
2020059108.tif 000009
【図６】
2020059108.tif 000010
【図７】
2020059108.tif 000011
【図８】
2020059108.tif 000012
【図９】
2020059108.tif 000013
【図１０Ａ】
2020059108.tif 000014
【図１０Ｂ】
2020059108.tif 000015
【図１０Ｃ】
2020059108.tif 000016
【図１１】
2020059108.tif 000017
【図１２】
2020059108.tif 000018
【図１３】
2020059108.tif 000019
【図１４】
2020059108.tif 000020
【図１５】
2020059108.tif 000021
【図１６】
2020059108.tif 000022
【図１７】
2020059108.tif 000023