(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】ロボットシステム、ロボットの動作プログラム、及ロボットの動作方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240911BHJP
B25J 13/00 20060101ALI20240911BHJP
【FI】
B25J13/08 Z
B25J13/00 Z
(21)【出願番号】P 2020208497
(22)【出願日】2020-12-16
【審査請求日】2023-08-21
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】近藤 月子
(72)【発明者】
【氏名】太田 陽平
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2020-059108(JP,A)
【文献】特開2012-107972(JP,A)
【文献】特開2007-260838(JP,A)
【文献】米国特許第10611026(US,B1)
【文献】国際公開第2020/109126(WO,A1)
【文献】特開2021-018125(JP,A)
【文献】DONG CHENYU ほか,ロボットによる液体の定量的な注ぎ作業の実現,第36回日本ロボット学会学術講演会予稿集,日本,2018年09月04日
【文献】雨宮 敦 ほか,垂直多関節ロボットを用いた液体容器傾動による注水流量制御,第38回日本ロボット学会学術講演会予稿集,日本,2020年10月09日
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、
前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と、前記注ぎ元容器に満量まで内容物が充填されている場合を基準として前記傾け角度における内容物を含む前記注ぎ元容器の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、
前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理を実行可能な注ぎ重量設定処理部と、
内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理を実行可能な現在重量取得処理部と、
前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理を実行可能な目標角度設定処理部と、
前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理を実行可能な注ぎ処理部と、
前記注ぎ処理で用いられた前記目標角度を前記注ぎ処理が実行された前記注ぎ元容器と紐づけて記憶する目標角度記憶処理を実行可能な目標角度記憶処理部と、を備え、
前記現在重量取得処理は、前記目標角度記憶処理で記憶された、前記注ぎ元容器に対して実行された前回の注ぎ処理における前記目標角度から前記相関データに基づいて前記現在重量を取得する処理を含む、
ロボットシステム。
【請求項2】
前記注ぎ元容器を傾けた場合に前記注ぎ元容器から前記注ぎ元容器内の内容物の流出が開始する角度を開始角度として取得する開始角度設定処理を実行可能な開始角度設定処理部を更に備え、
前記注ぎ処理は、前記注ぎ元容器を傾ける際の速度に関し、前記注ぎ元容器が前記注ぎ処理の実行前の状態から前記開始角度に至るまでの期間における速度を、前記開始角度から前記目標角度に至るまでの期間における速度よりも速くする処理を含む、
請求項1に記載のロボットシステム。
【請求項3】
前記注ぎ処理の対象となる前記注ぎ元容器の種類を設定する注ぎ元容器設定処理を実行可能な注ぎ元容器設定処理部を更に備え、
前記相関データ記憶部は、複数種類の注ぎ元容器についての前記相関データを記憶しており、
前記目標角度設定処理は、前記注ぎ元容器設定処理で設定された注ぎ元容器の種類に対応した前記相関データを用いて前記目標角度を設定する処理を含む、
請求項1又は2に記載のロボットシステム。
【請求項4】
アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、
前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と前記傾け角度における前記注ぎ元容器内に残存している内容物の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、
前記ロボットの動作を制御可能な制御装置と、
を用いて容器内の内容物を注ぐ際に前記制御装置が有するCPUに、
前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理と、
内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理と、
前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理と、
前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理と、
前記注ぎ処理で用いられた前記目標角度を前記注ぎ処理が実行された前記注ぎ元容器と紐づけて記憶する目標角度記憶処理と、を実行させることができ、
前記現在重量取得処理は、前記目標角度記憶処理で記憶された、前記注ぎ元容器に対して実行された前回の注ぎ処理における前記目標角度から前記相関データに基づいて前記現在重量を取得する処理を含む、
ロボットの動作プログラム。
【請求項5】
アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、
前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と前記傾け角度における前記注ぎ元容器内に残存している内容物の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、
前記ロボットの動作を制御可能な制御装置と、を用いて容器内の内容物を注ぐ方法であって、
前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理と、
内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理と、
前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理と、
前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理と、
前記注ぎ処理で用いられた前記目標角度を前記注ぎ処理が実行された前記注ぎ元容器と紐づけて記憶する目標角度記憶処理と、を実行し、
前記現在重量取得処理は、前記目標角度記憶処理で記憶された、前記注ぎ元容器に対して実行された前回の注ぎ処理における前記目標角度から前記相関データに基づいて前記現在重量を取得する処理を含む、
ロボットの動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ロボットシステム、ロボットの動作プログラム、及ロボットの動作方法に関する。
【背景技術】
【0002】
従来では人が行っていた作業をロボットに代わりに行わせる技術の開発が近年行われている。そのような技術に、ペットボトルやビン、紙容器等の容器内の液体をグラス等の他の容器に注ぐ技術がある。このような技術は、例えば人手不足の解消や生産性の向上、又は客への催し物等を目的として用いられることがある。このような技術は、汎用性や人との協働性を考慮すると、用いる容器は市販品であることが好ましい。しかしながら、ペットボトルやビン、紙容器等は、形も容量も様々であり、指定された量を人のように素早く注ぐことが難しい等の課題があった。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は上述した事情を鑑みてなされてものであり、その目的は、ロボットを用いて対象となる容器内の内容物を素早く注ぐことができるロボットシステム、ロボットの動作プログラム、及ロボットの動作方法を提供することにある。
【課題を解決するための手段】
【0005】
実施形態のロボットシステムは、アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と、前記注ぎ元容器に満量まで内容物が充填されている場合を基準として前記傾け角度における内容物を含む前記注ぎ元容器の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理を実行可能な注ぎ重量設定処理部と、内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理を実行可能な現在重量取得処理部と、前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理を実行可能な目標角度設定処理部と、前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理を実行可能な注ぎ処理部と、を備える。
【0006】
また、実施形態によるロボットの動作プログラムは、アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と前記傾け角度における前記注ぎ元容器内に残存している内容物の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、前記ロボットの動作を制御可能な制御装置と、を用いて容器内の内容物を注ぐ際に前記制御装置が有するCPUに、前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理と、内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理と、前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理と、前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理と、を実行させることができる。
【0007】
また、実施形態によるロボットの動作方法は、アームの先端に取り付けられ対象とする注ぎ元容器を保持可能な保持部を有するロボットと、前記保持部で保持した前記注ぎ元容器を傾けた場合の傾け角度と前記傾け角度における前記注ぎ元容器内に残存している内容物の重量との相関を示すデータである相関データを記憶している相関データ記憶部と、前記ロボットの動作を制御可能な制御装置と、を用いて容器内の内容物を注ぐ方法であって、前記注ぎ元容器の内容物が注がれる重量である注ぎ重量を設定する注ぎ重量設定処理と、内容物を含む前記注ぎ元容器の現在の重量である現在重量を取得する現在重量取得処理と、前記現在重量から前記注ぎ重量を引いた値を注ぎ後の前記注ぎ元容器の重量である注ぎ後重量として計算し、前記相関データに基づいて前記注ぎ後重量から前記注ぎ元容器を傾ける角度を目標角度として設定する目標角度設定処理と、前記ロボットを動作させて前記保持部で前記注ぎ元容器を保持した状態で前記注ぎ元容器が前記目標角度となるまで傾けて前記注ぎ元容器内の内容物を注ぐ注ぎ処理と、を実行する。
【0008】
ここで、注ぎ元容器から注ぎ先容器へ液体等の内容物を注ぐ場合、例えば注ぎ元容器から流出する内容物の量を逐次計測したり、注ぎ元容器や注ぎ先容器の重量の変化を逐次計測したりして、指定量に達したら注ぎ元容器の傾けを戻すようないわゆるフィードバック制御が考えられる。しかし、フィードバック制御では、重量計等からの測定結果を受けてロボットを動作させるため、注ぎ重量を正確に制御しようとすると動作が遅くなり、注ぐ動作を速く行おうとするとオーバーシュートが発生し易くなる。
【0009】
これに対し、本構成のロボットシステム、ロボットの動作プログラム、及びロボットの動作方法は、注ぎ処理によって注ぐ動作を行う際には重量計等他の機器からのフィードバックを必要としないため、比較的速く動作を行うことができる。そして、本構成のロボットシステム、ロボットの動作プログラム、及びロボットの動作方法は、目標角度まで傾けるだけで良いため、オーバーシュートも発生し難く、したがって比較的正確に指定された注ぎ重量を注ぐことができる。このように、本構成によれば、注ぎ元容器内の内容物を素早くかつ比較的正確に注ぐことができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態によるロボットシステムの構成を概念的に示す図
【
図2】第1実施形態によるロボットシステムの電気的構成を概略的に示すブロック図
【
図3】第1実施形態について、相関データ取得処理における制御内容の一例を示すフローチャート
【
図4】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その1)
【
図5】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その2)
【
図6】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その3)
【
図7】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その4)
【
図8】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その5)
【
図9】第1実施形態について、相関データ取得処理を実行した場合のロボットの動作態様の一例を示す図(その6)
【
図10】第1実施形態について、相関データ取得処理で取得される相関データの一例を示す図
【
図11】第1実施形態について、相関データの一例をグラフで示した図
【
図12】第1実施形態について、相関データのうち開始角度及び目標角度を設定する際の一例について概念的に示す図
【
図13】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その1)
【
図14】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その2)
【
図15】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その3)
【
図16】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その4)
【
図17】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その5)
【
図18】第1実施形態について、を実行した場合のロボットの動作態様の一例を示す図(その6)
【
図19】第1実施形態について、ロボットによる注ぎ元容器の傾け角度と速度との関係の一例を概念的にグラフで示す図
【
図20】第1実施形態について、通常運転における制御内容の一例を示すフローチャート
【
図21】第2実施形態によるロボットシステムの電気的構成を概略的に示すブロック図
【
図22】第2実施形態について、目標角度記憶処理で記憶されるデータの一例を示す図
【
図23】第2実施形態について、通常運転における制御内容の一例を示すフローチャート
【発明を実施するための形態】
【0011】
以下、複数の実施形態について図面を参照しながら説明する。なお、各実施形態において、同一の構成には同一の符号を付して説明を省略する。
【0012】
(第1実施形態)
以下では、第1実施形態について
図1から
図20を参照して説明する。本実施形態のロボットシステム10の操作対象となるワークは、
図1に示すように、主に液体等の内容物Mが充填された複数種類の容器91を想定している。なお、本明細書では、内容物Mが充填されている容器を注ぎ元容器91と称し、注ぎ元容器の内容物Mが注がれる容器を注ぎ先容器92と称する。注ぎ元容器91は、その種類に応じて形状や容量がそれぞれ異なる場合がある。注ぎ容器91の内容物Mは、粉体やゲル状若しくはジェル状の物体、又は小さな個体の集合体等のように流動性を有する物体であれば液体に限られない。また、注ぎ元容器91は、例えば飲料等の液体が充填されたペットボトルやビン等の市販品で構成することができる。そして、注ぎ先容器92は、例えば飲料等の液体が注がれるコップやグラス等の容器等で構成することができる。
【0013】
[全体構成]
本実施形態のロボットシステム10は、例えば飲食店や一般家庭、各種のサービス施設、若しくは医薬や食品等の研究開発の現場等に適用可能であるだけでなく、液体等の流動性を有する内容物をある容器から他の容器へ注ぐ作業を行う各種の場面において適用することができる。本実施形態は、例えばバー等のような飲食店における接客に適用した場合を想定している。
図1はロボットシステム10が適用される飲食店の店内を概略的に示したものである。本実施形態のロボットシステム10は、顧客Cからの指示を受けて、指定された種類の注ぎ元容器91を取得し、その注ぎ元容器91内の内容物Mを注ぎ先容器92に対して指定量注ぐ機能を有する。
【0014】
本実施形態のロボットシステム10は、
図1及び
図2に示すように、カメラ11、入出力装置12、第1重量計131、第2重量計132、ロボット20、及び制御装置30を有している。カメラ11は、例えばロボット20による作業領域の一部又は全体を撮影可能であって、ロボット20の作業領域内に存在する注ぎ元容器91に関する情報を取得することができる。カメラ11は、1台又は複数台で構成することができる。なお、ロボット20の作業領域内に存在する注ぎ元容器91に関する情報を取得することができるものであれば、カメラ11に限られない。カメラ11に代えて、例えば短距離無線通信等を用いて作業領域内に存在する注ぎ元容器91に関する情報を取得するようにしても良い。まt、本実施形態の場合、ロボット20の作業領域内には、保管棚81及び作業第82が設置されている。保管棚81は、複数の注ぎ元容器91を保管するための棚である。
【0015】
本実施形態では、説明を簡単にするため、保管棚81には3種類の注ぎ元容器91が保管されているものとする。以下の説明において、3種類の注ぎ元容器91を区別する場合には、それぞれ第1注ぎ元容器911、第2注ぎ元容器912、及び第3注ぎ元容器913と称する。各注ぎ元容器911、912、913は、それぞれ異なる種類つまり形状や容量が異なる容器である。
【0016】
作業台82は、例えばロボット20が注ぎ先容器92に対して注ぎ元容器91の内容物Mを注ぐ作業を行う際に、注ぎ先容器92を配置するための台として機能する。この場合、作業台82は、ロボット20の作業領域と客Cが存在する領域との境界とすることができる。本実施形態の場合、第1重量計131及び第2重量計132は、作業台82に配置されている。そして、注ぎ先容器92は、第2重量計132上に配置される。
【0017】
入出力装置12は、客Cから手指の接触等による操作入力や音声による操作入力を受け付ける機能を有する。入出力装置12は、例えばタッチパネルディスプレイ等のように客Cの手指の接触を操作入力として受け付ける接触入力部121と、マイク等のように客Cが発した特定の音声を操作入力として受け付ける音声入力部122と、の少なくともいずれか一方を有した操作端末である。入出力装置12は、例えばタッチパネルディスプレイ、マイク、及びスピーカを有するいわゆるスマートフォンやタブレット端末等で構成することができる。
【0018】
第1重量計131及び第2重量計132は、計量結果を電気的に外部に出力する機能を有しており、いわゆるデジタル重量計で構成することができる。第1重量計131及び第2重量計132は、いずれも作業台82に配置されている。この場合、第1重量計131は、注ぎ元容器91内の内容物Mを含んだ注ぎ元容器91の重量を計量することができる。また、第2重量計132は、注ぎ先容器92内にある内容物Mの重量、若しくは注ぎ先容器92内の内容物Mを含んだ注ぎ先容器92の重量を計量することができる。なお、以下の説明において、注ぎ元容器91の重量及び注ぎ先容器92の重量と称した場合、特に明示しない限りは内容物Mも含む重量を意味する。
【0019】
ロボット20は、例えば多関節のアーム21を有する垂直多関節のロボットであり、制御装置30によって制御される。本実施形態のロボット20は、例えば人との協働を前提としており、その動作環境に安全柵が不要となるように、動作速度や重量等が設計されている。
【0020】
なお、ロボット20は、例えば水平多関節型のロボットやパラレルリンク側のロボット、直交型のロボット等であっても良い。また、ロボット20は、安全柵の設置を前提とするものでも良い。ロボット20と制御装置30とは、有線または無線により相互通信可能に構成される。また、制御装置30は、パソコンや、スマートフォンなどの携帯端末など、その他の外部の装置に有線または無線により相互通信可能に接続されていても良い。
【0021】
ロボット20は、例えば6軸を有する垂直多関節ロボットで構成されており、保持部22を有している。保持部22は、アーム21の先端部に着脱可能に装着されている。保持部22は、例えばチャックやグリッパと称されるいわゆるロボットハンドツールであり、開閉可能に構成されている。保持部22は、閉じた状態で注ぎ元容器91を把持し、開くことで注ぎ元容器91の把持を開放する。保持部22は、開閉量を調整することで、サイズの異なる各種の注ぎ元容器91を把持することができる。また、ロボット20は、詳細は図示しないが、各軸を駆動するためのモータ、各軸の回転数及び位置を検出するためのエンコーダ、及び各軸の動作を停止させるためのブレーキ等を有している。
【0022】
ロボット20は、
図2に示す制御装置30によって制御される。カメラ11、入出力装置12、第1重量計131、及び第2重量計132は、制御装置30に電気的に接続されている。そして、カメラ11、入出力装置12、第1重量計131、及び第2重量計132から出力されたデータは、制御装置30に送信されて各種の処理が行われる。制御装置30は、制御部31を有している。制御部31は、例えばCPU311や、ROM、RAM、及び書き換え可能なフラッシュメモリなどの記憶領域312を有するマイクロコンピュータを主体に構成されており、ロボット20全体の動作を制御する。
【0023】
制御装置30は、詳細は図示しないがインバータ回路などから構成された駆動部を備えており、ロボット20の各軸を駆動するモータに対応して設けられているエンコーダで検知したモータの回転位置に基づいて例えばフィードバック制御によりそれぞれのモータを駆動する。制御装置30は、予め設定された動作プログラムを実行することにより、ロボット20の各軸が予め定められた所定の動作を自動的に実行するようにロボット20を制御する。なお、制御装置30は、例えばロボットコントローラと称されるロボット20を制御することに特化した処理装置と、パソコン等の汎用的な処理装置とを組み合わせて構成することもできる。
【0024】
制御装置30は、相関データ記憶部301を有している。相関データ記憶部301は、例えば換え可能なフラッシュメモリやハードディスクドライブ等の内部又は外部ストレージで構成することができる。また、相関データ記憶部301は、制御部31が有する記憶領域312の一部で構成することもできる。相関データ記憶部301は、例えば
図10に示す相関データを記憶している。また、制御装置30は、注ぎ元容器91の傾け角度θxと、その傾け角度θxにおける注ぎ元容器91の重量とに関する相関データを取得するためのロボットの動作プログラムを記憶している。そして、制御装置30は、CPU311においてロボットの動作プログラムを実行することにより、相関データ取得処理部32をソフトウェアによって仮想的に実現することができる。
【0025】
[初期設定]
次に、ロボットシステム10の初期設定の一例について、
図3から
図11も参照して説明する。ロボットシステム10の初期設定は、相関データ取得処理部32で実行される相関データ取得処理によって行われる。すなわち、相関データ取得処理は、ロボットシステム10によるサービスを客Cに提供する前に行われる初期設定である。相関データ取得処理は、各注ぎ元容器91についての相関データを取得して相関データ記憶部301に記憶させる処理を含む。
【0026】
相関データは、保持部22で保持した注ぎ元容器91を傾けた場合の傾け角度θxと、注ぎ元容器91に満量まで内容物Mが充填されている場合を基準として傾け角度θxにおける内容物Mを含む注ぎ元容器91の重量との相関を示すデータである。この場合、2つの傾け角度θx間における注ぎ元容器91の重量の差を求めることで、ある角度からある角度へ注ぎ元容器91を傾けた場合に流出した内容物Mの重量を求めることができる。
【0027】
図10に示す例は、注ぎ元容器91内に内容物Mが満量まで充填されている状態つまり新品の状態から内容物Mが減っていない状態を基準としている。そして、
図10に示す相関データの例は、注ぎ元容器91を傾けた場合の傾け角度θxと、その傾け角度θxにおける内容物Mを含む注ぎ元容器91の重量との相関を示すデータ、及びロボット20の保持部22で保持した注ぎ元容器91を傾けた場合の傾け角度θxと、傾け角度θxにおける注ぎ先容器92に注がれた内容物Mの重量との相関を示すデータである。
【0028】
この場合、注ぎ元容器91の重量には注ぎ元容器91内に残存している内容物Mの重量も含まれているため、その傾け角度θxにおける注ぎ元容器91の重量は、その傾け角度θxにおいて注ぎ元容器91内に残存する内容物Mの残量を間接的に示している。
図10の例では、傾け角度θxにおける注ぎ元容器91内の現在の重量を「注ぎ元容器重量」と示している。また、
図10の例では、注ぎ先容器92内の内容物Mの現在の重量、つまり注ぎ元容器91から注がれた内容物Mの累積重量を「注ぎ累積重量」と示している。そしてこの場合、「注ぎ元容器重量」と「注ぎ累積重量」とは、注目する対象が注ぎ元容器91か注ぎ先容器92かの違いに過ぎず、実質的に同義である。相関データは、ロボットシステム10の対象となる注ぎ元容器91の全てについて取得される。
【0029】
相関データ取得処理は、例えば
図3のフローに沿って実行される。なお、注ぎ元容器91を傾ける際の角度つまり傾け角度は、注ぎ元容器91を直立させた場合を基準つまり0度とする。また、相関データ取得処理において注ぎ元容器91を傾ける角度は、0度から所定の範囲に設定されている。つまり、相関データ取得処理において、注ぎ元容器91は、0度から所定の角度である終了角度θzまで傾けられる。終了角度θzは、一般的に市販されている容器を終了角度θzで傾けた場合に、大半の容器について、容器内に内容物が残留しないような角度に設定されている。終了角度θzは、例えば135度前後に設定することができるが、特定の数値に限定されるものではなく、対象とする注ぎ元容器91の種類に応じて適宜設定することができる。
【0030】
本実施形態の相関データ取得処理は、まず、注ぎ元容器91を傾け角度θxで傾けた場合の注ぎ累積重量Wsを取得する。そして、注ぎ元容器91の初期の重量W0から注ぎ累積重量Wsを引いた値を、傾け角度θxにおける注ぎ元容器91の重量Wxとして計算する。
【0031】
以下の説明において、相関データ取得処理部32で実行される処理は、制御装置30が主体として行うものとして説明する。制御装置30は、
図3に示す制御を開始すると(スタート)、
図3のステップS11において、対象となる注ぎ元容器91の初期の重量W0の初期値を計測し記憶する。この場合、注ぎ元容器91は、初期の段階では内容物Mが満量まで充填されているものとする。ロボット20は、例えば
図4に示すように、保管棚81から対象となる注ぎ元容器91を保持部22で把持して取り出し、
図5に示すように第1重量計131に載せる。そして、制御装置30は、第1重量計131から、注ぎ元容器91の現在の重量Wxつまり注ぎ処理前の重量W0を取得する。この注ぎ元容器91の初期重量W0は、注ぎ元容器91自体の重量と、注ぎ元容器91内の内容物Mの重量と、を含んでいる。
【0032】
また、制御装置30は、
図3のステップS12において、第2重量計132に注ぎ先容器92を載せた状態で0点補正を行う。これにより、以降の処理において、第2重量計132で計測された重量が、注ぎ元容器91から注ぎ先容器92に注がれた内容物Mの量つまり注ぎ累積重量Wsとなる。この場合、注ぎ先容器92は、例えば作業者によって第2重量計132に配置されても良いし、ステップS11以前にロボット20によって第2重量計132に配置されても良い。また、ステップS11とステップS12との実行順序は問わず、同時に行っても良いし、ステップS11よりもステップS12を先に行っても良い。
【0033】
制御装置30は、ステップS13において、傾け角度θxを初期化つまり0度に設定する。次に、制御装置30は、ステップS14において、ロボット20を動作させて、保持部22で注ぎ元容器91を保持し、その後、
図6に示すように注ぎ先容器92に対して注ぎ元容器91内の内容物Mを注ぐことが可能な位置まで注ぎ元容器91を移動させる。その後、制御装置30は、ステップS15からS20において、
図6から
図8にかけて示すように、注ぎ元容器91の傾け角度θxを増加角度θdずつ増加させて、注ぎ元容器91内の内容物Mを注ぎ先容器92内に段階的に注いでいく。
【0034】
すなわち、制御装置30は、まずステップS15において、傾け角度θxに増加角度θdを加算する。この場合、増加角度θdは、相関データの分解能となる。すなわち、増加角度θdを小さくすることで相関データの精度は上がるが相関データ取得処理の実行時間は長くなる。一方、増加角度θdを大きくすることで相関データ取得処理の実行時間は短くるが、相関データの精度は低下する。増加角度θdは、注ぎ元容器91の種類や要求する注ぎの精度等に応じて適宜設定することができる。本実施形態の場合、増加角度θdは、例えば2度程度に設定されている。
【0035】
次に、制御装置30は、ステップS16においてロボット20を動作させて注ぎ元容器91を傾け角度θxに傾ける。そして、制御装置30は、ステップS17において、傾け角度θxを所定期間維持する。この場合、所定期間は、注ぎ元容器91の角度を増加角度θd分増加させた場合に、注ぎ元容器91からの内容物Mの流出が終わる程度の期間であり、例えば1秒~最大で数秒程度に設定されている。増加角度θdが大きいほど、注ぎ元容器91を傾けた際に流出する内容物Mの量は増える。そのため、制御装置30は、増加角度θdが大きいほど維持時間を長く設定し、逆に増加角度θdが小さいほど維持時間を短く設定することができる。
【0036】
その後、制御装置30は、
図3のステップS18において、第2重量計132からの検出結果つまり注ぎ先容器92内の内容物Mの注ぎ累積重量Wsを取得する。そして、制御装置30は、ステップS19において、注ぎ元容器91の初期重量W0から注ぎ累積重量Wsを引いた値を注ぎ元容器91の現在重量Wxとして計算する。そして、制御装置30は、ステップS20において、
図10に示すように、その注ぎ先容器92の種類及び現在の傾け角度θxと、その傾け角度θxにおける注ぎ元容器91の現在重量Wsとを紐づけて記憶する。
【0037】
この相関データにおいて、傾け角度θxと、注ぎ元容器91内の内容物Mの残量及び注ぎ先容器92内の内容物Mの注ぎ累積重量Wsとは、
図11に示すような相関関係を有している。この場合、制御装置30は、相関を示すデータとして、
図10に示す数値を記憶しても良いし、
図10に示す数値から算出された相関関数つまり
図11に示すグラフの相関関数を記憶しても良い。
【0038】
ここで、ある量の内容物が注ぎ元容器91内に存在している場合においてその注ぎ元容器91を傾けた場合に内容物Mの流出が始まる直前の角度を開始角度θsとする。そして、制御装置30は、新品つまり内容物Mが満載の注ぎ元容器91について、
図7に示すように注ぎ累積重量Wsが無い状態から注ぎ累積重量Wsが発生した状態に切り替わる直前の傾け角度θxを、その注ぎ元容器91の開始角度θsの初期値θs0として記憶する。例えば
図10の例では、第1注ぎ元容器911の開始角度θsの初期値θs0は60度となり、第2注ぎ元容器912の開始角度θsの初期値θs0は62度となる。
【0039】
制御装置30は、
図3のステップS21において、傾け角度θxが終了角度θzに到達したか否かを判断する。傾け角度θxが終了角度θzに到達していない場合(ステップS21でNO)、制御装置30は、ステップS15に処理を戻し、傾け角度θxが終了角度θzに到達するまでステップS15~S21を繰り返す。これにより、注ぎ元容器91が増加角度θd毎に段階的に傾けられて、注ぎ元容器91内の内容物Mが注ぎ先容器92に段階的に注がれる。このようにして、相関データが自動又は半自動で取得される。
【0040】
そして、
図8に示すように傾け角度θxが終了角度θzに到達すると(
図3のステップS21でYES)、制御装置30は、ステップS22の処理を実行する。ステップS22の処理は、ステップS15~S21の実行が正常に行われたか、つまり注ぎ元容器91から注がれた内容物Mが注ぎ先容器92の外部にこぼれているか否かを判断する処理である。
【0041】
この場合、制御装置30は、例えば
図9に示すように相関データを取得し終わった後における、注ぎ元容器91の現在重量Wx及び注ぎ先容器92の注ぎ累積重量Wsを計測する。そして、注ぎ元容器91の現在重量Wxと注ぎ累積重量Wsとの合計がステップS15~S21の処理の前後で一致しているか否か、つまり注ぎ元ようき91の初期重量W0と一致しているか否かを判断する。注ぎ元容器91の現在重量Wxと注ぎ累積重量Wsとの合計が注ぎ元容器91の初期重量W0と異なる場合(ステップS22でNO)、ステップS15~S21の処理の途中で内容物Mがこぼれた等の可能性がある。そのため、制御装置30は、ステップS23において、エラー報知を行い、作業者に対して相関データの取得が失敗した旨を報知する。その後、制御装置30は、一連の処理を終了する(エンド)。
【0042】
また、注ぎ元容器91の現在重量Wxと注ぎ累積重量Wsとの合計が注ぎ元容器91の初期重量W0と等しい場合(ステップS22でYES)、注ぎ元容器91から注がれた内容物Mが全て注ぎ先容器92に注がれたと判断できる。そのため、制御装置30は、相関データの取得が成功したと判断し、一連の処理を終了する(エンド)。
【0043】
[通常運転]
次に、ロボットシステム10を飲食店等における接客分野に適用した場合の一例として、通常運転に関する制御内容について、
図12から
図20も参照して説明する。通常運転は、ロボットシステム10によるサービスを客Cに提供する際に実行される運転である。なお、ロボットシステム10による動作が接客を伴わない場合は、
図13に示す制御内容は例えば単に注ぎ運転等と称することもできる。
【0044】
制御装置30は、例えば注ぎ元容器91内の内容物Mを注ぎ先容器92に指定された量を注ぐためのロボットの動作プログラムを記憶している。そして、制御装置30は、CPU311においてロボットの動作プログラムを実行することにより、注ぎ元容器設定処理部33、注ぎ元容器取得処理部34、注ぎ重量設定処理部35、現在重量取得処理部36、開始角度設定処理部37、目標角度設定処理部38、注ぎ処理部39、判定処理部40、及び復帰処理部41をソフトウェアによって仮想的に実現することができる。
【0045】
注ぎ元容器設定処理部33は、注ぎ元容器設定処理を実行可能である。注ぎ元容器設定処理は、例えば入出力装置12に対して客Cからの指示つまり注文が入力された場合に、その注文内容に基づいて注ぐ対象となる内容物Mが入った注ぎ元容器91を特定し設定する処理を含む。この場合、注ぎ元容器設定処理は、指定された注ぎ元容器91の保管場所を特定する処理を含んでいても良い。また、注文内容には、客Cが所望する飲料等の種類と量に関する情報が含まれる。この場合、客Cは、入出力装置12に対してタッチ操作や音声操作等を行い、所望する飲料の種類や量を入力することで、ロボットシステム10に対する注文内容を指示することができる。
【0046】
注ぎ元容器取得処理部34は、注ぎ元容器取得処理を実行可能である。注ぎ元容器取得処理は、
図1及び
図13に示すように保管棚81に保管されている複数の注ぎ元容器91の中から、注ぎ元容器設定処理で設定された注ぎ元容器91をロボット20の保持部22で把持して取得する処理を含む。注ぎ元容器取得処理部34は、例えば次のようにして注ぎ元容器取得処理を実行することができる。
【0047】
制御装置30は、予め注ぎ元容器91の形状や色、ラベル等の特徴を記憶しておく。そして、注ぎ元容器取得処理部34は、注ぎ容器取得処理の実行により、カメラ11で取得した画像に映された複数の注ぎ元容器91中から注ぎ元容器設定処理で設定された注ぎ元容器91の特徴と合致するものを特定し、特定された注ぎ元容器91を取りに行くようにロボット20を動作させる。
【0048】
また、注ぎ元容器取得処理部34は、例えば次のようにして注ぎ元容器取得処理を実行しても良い。制御装置30は、予め各注ぎ元容器91の保管場所を定めて記憶しておく。そして、注ぎ元容器取得処理部34は、注ぎ容器取得処理の実行により、記憶されている保管場所に従って設定された注ぎ元容器91を取りに行くようにロボット20を動作させる。
【0049】
注ぎ重量設定処理部35は、注ぎ重量設定処理を実行可能である。注ぎ重量設定処理は、注ぎ重量Wdを設定する処理を含む。注ぎ重量Wdは、注ぎ元容器91から注ぎ先容器92に対して注がれる内容物Mの重量である。また、本実施形態の場合、注ぎ重量設定処理は、例えば入出力装置12に対する客Cからの注文内容に含まれる量に関する情報に基づいて、対象となる注ぎ元容器91の内容物Mの注ぎ重量Wdを設定する。なお、内容物Mが液体である場合はその内容物Mの比重は概ね1であるため、注ぎ重量Wdを注ぎ重量若しくは注ぎ体積等と表現することができる。
【0050】
現在重量取得処理部36は、現在重量取得処理を実行可能である。現在重量取得処理は、対象となった注ぎ元容器91の内容物Mを含む現在の重量である現在重量W11を、実測又は計算により取得する処理を含む。本実施形態の場合、現在重量取得処理は、第1重量計131の計測結果つまり実測値を注ぎ元容器91内の現在重量W11として取得する処理を含む。現在重量取得処理部36は、例えば
図14に示すように、ロボット20を動作させて、注ぎ元容器取得処理で保管棚81から取り出した注ぎ元容器91を第1重量計131に載せて注ぎ元容器91の現在重量W11を計測し取得する。
【0051】
開始角度設定処理部37は、開始角度設定処理を実行可能である。開始角度設定処理は、注ぎ元容器91を傾けた場合に注ぎ元容器91から注ぎ元容器91内の内容物Mの流出が開始する角度を開始角度θsとして取得する処理を含む。この場合、例えば第1注ぎ元容器911について見ると、第1注ぎ元容器911が開封直後で内容物Mが減っていない場合、開始角度設定処理部37は、開始角度θsとして
図10の太線で囲んだ初期値の60度を設定する。また、第1注ぎ元容器911について残量取得処理で取得した残量が
図12の白抜き矢印で示す490gであった場合、開始角度設定処理部37は、490gの残量に対応する64度を開始角度θsとして設定する。
【0052】
目標角度設定処理部38は、目標角度設定処理を実行可能である。目標角度設定処理は、現在重量取得処理で取得した現在重量W11から注ぎ重量設定処理で設定された注ぎ重量Wdを引いた値を注ぎ後の注ぎ元容器91の重量である注ぎ後重量W12として計算し、相関データに基づいて注ぎ後重量W12から注ぎ元容器91を傾ける角度を目標角度θeとして設定する処理を含む。また、目標角度設定処理は、注ぎ元容器設定処理で設定された容器の種類に対応した相関データを用いて目標角度θeを設定する処理を含む。
【0053】
具体的には、目標角度設定処理部38は、注ぎ元容器設定処理で設定された注ぎ元容器91の種類つまり客Cから指示された注ぎ元容器91の種類が例えば第1注ぎ元容器911である場合、
図12に示す複数種類の注ぎ元容器についての相関データのうち、第1注ぎ元容器911に対応した相関データを用いて目標角度θeを設定する。この場合、例えば現在重量取得処理で取得した現在重量W11が
図12の白抜き矢印で示す490gであり、注ぎ重量設定処理で設定された注ぎ重量Wdつまり客Cが指示した注ぎ重量Wdが150gであった場合、目標角度設定処理部38は、その差340gを注ぎ後重量W12として計算する。そして、目標角度設定処理部38は、第1注ぎ元容器911についての相関データから、注ぎ後重量W12が340gである場合の傾け角度θxこの場合84度を、目標角度θeとして設定する。
【0054】
注ぎ処理部39は、注ぎ処理を実行可能である。注ぎ処理は、
図15から
図17にかけて示すように、ロボット20を動作させて保持部22で対象となる注ぎ元容器91を保持した状態で注ぎ元容器91が目標角度θeとなるまで傾けて注ぎ元容器91内の内容物Mを注ぐ処理を含む。この場合、注ぎ処理部39は、注ぎ元容器91が目標角度θeまで傾けられた後、その姿勢つまり注ぎ元容器91を目標角度θeで傾けた状態を所定期間維持する処理を含む。この場合、所定期間は、任意に設定することができるが、1秒から数秒程度が適当である。
【0055】
また、本実施形態における注ぎ処理は、注ぎ元容器91を傾ける際の速度に関し、
図19に示すように、注ぎ元容器91が注ぎ処理の実行前の状態つまり0度の状態から開始角度θsに至るまでの期間における速度V1を、開始角度θsから目標角度θeに至るまでの期間における速度V2よりも速くする処理を含む。
【0056】
すなわち、注ぎ処理部39は、注ぎ処理を実行すると、
図15から
図16にかけて示すように、まず、0度から開始角度θsまでは第1速度V1で注ぎ元容器91を傾けるようにロボット20を動作させる。次に、
図16に示すように、注ぎ元容器91の傾き角度が開始角度θsに到達すると、注ぎ処理部39は、
図16から
図17にかけて示すように、目標角度θeに到達するまで、第1速度V1よりも遅い第2速度V2で注ぎ元容器91を傾けるようにロボット20を動作させる。
【0057】
判定処理部40は、判定処理を実行可能である。判定処理は、注ぎ処理が成功したか否か、すなわち注ぎ元容器91から注がれた内容物Mが注ぎ先容器92の外にこぼれていないか否かを判定する。判定処理は、例えば注ぎ処理の実行後に注ぎ先容器92の重量W22を計測し、その注ぎ処理後の重量W22と、注ぎ処理前の注ぎ先容器92の重量W21及び注ぎ重量Wdの合計とを比較して両者が一致している場合は注ぎ処理が成功したと判断し、一致していない場合は注ぎ処理が失敗したと判断する処理を含む。判定処理は、注ぎ処理が失敗したと判断した場合は、例えばエラーを報知する処理を含んでいても良い。
【0058】
復帰処理部41は、復帰処理を実行可能である。復帰処理は、注ぎ処理の実行後に、例えば
図18に示すように、ロボット20を動作させて注ぎ元容器91の傾きを元に戻すとともに注ぎ元容器91を保管棚81の所定の位置に戻す処理を含む。
【0059】
次に、
図20も参照して通常運転に関する一連の制御の流れを説明する。
図20の例において、ステップS32の処理は、注ぎ元容器設定処理及び注ぎ重量設定処理の一例である。ステップS33の処理は、注ぎ元容器取得処理の一例である。ステップS34の処理は、現在重量取得処理の一例である。ステップS36の処理は、開始角度設定処理の一例である。ステップSS37の処理は、目標角度設定処理の一例である。ステップS38~S40の処理は、注ぎ処理の一例である。ステップS42の処理は、判定処理の一例である。そして、ステップS44の処理は、復帰処理の一例である。なお、以下の説明において、各処理部33~41で実行される処理は、いずれも制御装置30が主体として行うものとして説明する。
【0060】
制御装置30は、
図20の処理を開始すると(スタート)、まずステップS31において、入出力装置12に対する操作入力この場合客Cからの注文を受けたか否かを判断する。入出力装置12が操作入力を受けていない場合(ステップS31でNO)、制御装置30は、入出力装置12が操作入力を受けるまで待機する。そして、入出力装置12が操作入力を受けると(ステップS31でYES)、制御装置30は、ステップS32へ処理を移行させる。
【0061】
制御装置30は、ステップS32において注ぎ元容器設定処理及び注ぎ重量設定処理を実行し、入出力装置12に入力された指示内容に基づいて、対象とする注ぎ元容器91を設定するとともに、注ぎ重量Wdを設定する。次に、制御装置30は、ステップS33において、注ぎ元容器取得処理を実行し、
図13に示すように、ロボット20を動作させて保管棚81から設定された注ぎ元容器91を取り出す。次に、制御装置30は、ステップS34において、現在重量取得処理を実行し、ステップS33で取り出した注ぎ元容器91の現在重量W11を、第1重量計131を用いて計測しその結果を取得する。また、制御装置30は、ステップS35において、注ぎ先容器92の現在重量W21を、第2重量計132を用いて計測しその結果を取得する。
【0062】
次に、制御装置30は、ステップS36において開始角度設定処理を実行し、注ぎ元容器の種類、及び注ぎ元容器91の現在重量W11に基づいて相関データから開始角度θsを計算し設定する。また、制御装置30は、ステップS37において目標角度設定処理を実行し、注ぎ元容器の種類、注ぎ元容器91の現在重量W11、及び注ぎ重量Wdに基づいて相関データから目標角度θeを計算し設定する。
【0063】
その後、制御装置30は、ステップS38~S40において注ぎ処理を実行する。この場合、制御装置30は、まずステップS38において、ロボット20を動作させて、
図15に示すように注ぎ元容器91の注ぎを行う位置まで移動させる。次に制御装置30は、ステップS39において、
図16に示すように、0度から開始角度θsまで第1速度V1で注ぎ元容器91を傾けていく。そして、注ぎ元容器91の角度が開始角度θsに到達すると、制御装置30は、開始角度θsから目標角度θeまで、第1速度V1よりも遅い第2速度V2で注ぎ元容器91を傾けていく。これにより、
図16から
図17にかけて示すように、注ぎ元容器91内の内容物Mが注ぎ先容器92内に注がれる。
【0064】
その後、制御装置30は、ステップS41において注ぎ先容器92の重量W22を、第2重量計132を用いて計測し取得する。そして、制御装置30は、ステップS42において判定処理を実行し、注ぎ先容器92の注ぎ後重量W22が、注ぎ先容器92の注ぎ前の重量W21及び注ぎ重量Wdの合計と一致しているか判定する。注ぎ後重量W22と、注ぎ先容器92の注ぎ前の重量W21及び注ぎ重量Wdの合計とが一致していなかった場合(ステップS42でNO)、制御装置30は、注ぎ処理が失敗したと判断し、ステップS43へ処理を移行する。そして、制御装置30は、入出力装置12等を用いてエラーを報知する。なお、ステップS35において、第2重量計132に注ぎ先容器92を載せた状態で0点補正を行い、ステップS41及びステップS42において、注ぎ先容器92の増加重量と注ぎ量Wdとを比較する構成としても良い。
【0065】
また、注ぎ後重量W22と、注ぎ先容器92の注ぎ前の重量W21及び注ぎ重量Wdの合計とが一致していた場合(ステップS42でNO)、制御装置30は、注ぎ処理が成功したと判断し、ステップS44へ処理を移行する。そして、制御装置30は、ステップS44において復帰処理を実行し、注ぎ元容器91の傾きを戻すとともに注ぎ元容器91を保管棚81の所定位置に戻し、その後、ステップS31へ処理を戻す。そして、制御装置30は、ステップS31以降の処理を繰り返す。
【0066】
以上説明したロボットシステム10は、ロボット20と、相関データ記憶部301と、注ぎ重量設定処理部35と、現在重量取得処理部36と、目標角度設定処理部38と、注ぎ処理部39と、を備える。ロボット20は、アーム21の先端に取り付けられ対象とする注ぎ元容器91を保持可能な保持部22を有する。相関データ記憶部301は、例えば
図10に示す相関データを記憶している。相関データは、保持部22で保持した注ぎ元容器91を傾けた場合の傾け角度θxと、注ぎ元容器91に満量まで内容物Mが充填されている場合を基準として傾け角度θxにおける内容物Mを含む注ぎ元容器91の重量との相関を示すデータである
【0067】
注ぎ重量設定処理部35は、注ぎ重量設定処理を実行可能である。注ぎ重量設定処理は、注ぎ元容器91の内容物Mが注がれる重量である注ぎ重量Wdを設定する処理を含む。現在重量取得処理部36は、現在重量取得処理を実行可能である。現在重量取得処理は、内容物Mを含む注ぎ元容器91の現在の重量である現在重量W11を取得する処理を含む。目標角度設定処理部38は、目標角度設定処理を実行可能である。目標角度設定処理は、現在重量W11から注ぎ重量Wdを引いた値を注ぎ後の注ぎ元容器の重量である注ぎ後重量W12として計算し、相関データに基づいて注ぎ後重量W12から注ぎ元容器91を傾ける角度を目標角度θeとして設定する処理を含む。注ぎ処理部39は、注ぎ処理を実行可能である。注ぎ処理は、ロボット20を動作させて保持部22で注ぎ元容器91を保持した状態で注ぎ元容器91が目標角度θeとなるまで傾けて注ぎ元容器91内の内容物Mを注ぐ処理を含む。
【0068】
ここで、注ぎ元容器91から注ぎ先容器92へ液体等の内容物Mを注ぐ場合、例えば注ぎ元容器91から流出する内容物Mの量を逐次計測したり、注ぎ元容器91や注ぎ先容器92の重量の変化を逐次計測したりして、指定量に達したら注ぎ元容器91の傾けを戻すようないわゆるフィードバック制御が考えられる。しかし、フィードバック制御では、重量計131、132等からの測定結果を受けてロボット20を動作させるため、注ぎ重量を正確に制御しようとすると動作が遅くなり、注ぐ動作を速く行おうとするとオーバーシュートが発生し易くなる。
【0069】
これに対し、本実施形態によれば、ロボットシステム10は、注ぎ処理によって注ぐ動作を行う際には重量計131、132等他の機器からのフィードバックを必要としないため、比較的速く動作を行うことができる。そして、ロボットシステム10は、目標角度θeまで傾けるだけで良いため、オーバーシュートも発生し難く、したがって比較的正確に指定された注ぎ重量Wdを注ぐことができる。このように、本実施形態によれば、注ぎ元容器91内の内容物Mを素早くかつ比較的正確に注ぐことができる。
【0070】
また、ロボットシステム10は、開始角度設定処理部37を更に備えている。開始角度設定処理部37は、開始角度設定処理を実行可能である。開始角度設定処理は、注ぎ元容器91を傾けた場合に注ぎ元容器91から注ぎ元容器91内の内容物Mの流出が開始する角度を開始角度θsとして取得する処理を含む。そして、この場合、注ぎ処理は、注ぎ元容器91を傾ける際の速度に関し、注ぎ元容器91が注ぎ処理の実行前の状態から開始角度θsに至るまでの期間における速度V1を、開始角度θsから目標角度θeに至るまでの期間における速度V2よりも速くする処理を含む。
【0071】
すなわち、0度の状態から開始角度θsまでは注ぎ元容器91を傾けても内容物Mが流出しない又は流出し難いため、比較的速い第1速度V1で注ぎ元容器91を傾けることで、注ぎ処理にかかる時間を短縮することができる。そして、開始角度θsから目標角度θeまでは、第1速度V1よりも遅い第2速度V2で注ぎ容器91を傾けることで、注ぎ元容器91の内容物Mが暴れて飛び散ることを抑制できる。これにより、注ぎ元容器91内の内容物Mを更に素早くかつ正確に注ぐことができる。
【0072】
また、ロボットシステム10は、注ぎ元容器設定処理部33を更に備えている。注ぎ元容器設定処理部33は、注ぎ元容器設定処理を実行可能である。注ぎ元容器設定処理は、注ぎ処理の対象となる注ぎ元容器91の種類を設定する注ぎ元容器設定処理を含む。また、相関データ記憶部301は、複数種類の注ぎ元容器91についての相関データを記憶している。そして、目標角度設定処理は、注ぎ元容器設定処理で設定された注ぎ元容器91の種類に対応した相関データを用いて目標角度θeを設定する処理を含む。
【0073】
これによれば、ロボットシステム10は、複数種類の注ぎ元容器91について注ぎ処理を行うことができるため、利便性の向上を図ることができる。
【0074】
また、ロボットシステム10は、注ぎ元容器91内の内容物Mとともに注ぎ元容器91の重量を計測可能な第1重量計131を更に備えている。そして、現在重量取得処理は、注ぎ処理の前に実行され、第1重量計131計で計測した注ぎ元容器91の重量を現在重量W11として取得する処理を含む。これによれば、ロボットシステム10は、注ぎ元容器91の現在重量W11を実測値とすることで正確な現在重量W11を取得することができる。これにより、現在重量W11と注ぎ重量Wdとに基づき相関データから算出される目標角度θeも正確の値とすることができる。その結果、このロボットシステム10によれば、比較的素早い動作で、かつ、注ぎ元容器91の内容物Mをより精密につまり、注ぎ元容器91から実際に注がれた内容物Mの重量を、指定された注ぎ重量Wdにより近いものとすることができる。
【0075】
(第2実施形態)
次に、
図21から
図23を参照して第2実施形態について説明する。第2実施形態では、制御装置30が
図21に示す目標角度記憶処理部42を更に備えている点、及び現在重量取得処理が注ぎ元容器91の実測値ではなく前回の目標角度からの推定値である点で異なっている。
【0076】
目標角度記憶処理部42は、目標角度記憶処理を実行可能である。目標角度記憶処理は、
図22に示すように、注ぎ処理で用いられた目標角度θeつまり前回の目標角度θeを注ぎ処理が実行された注ぎ元容器91と紐づけて記憶する処理を含む。前回の目標角度θeと注ぎ元容器91とを紐づけしたデータは、例えば制御部31が有する記憶領域312や外部ストレージ等に記憶される。
【0077】
例えば第1注ぎ元容器911に対して前回実行された注ぎ処理における目標角度θeが64度である場合、
図22の「第1注ぎ元容器」の欄に示すように「64度」が記憶される。また、例えば第2注ぎ元容器912に対して注ぎ処理が一度も実行されていない場合、つまり第2注ぎ容器912が新品である場合、
図22の「第2注ぎ元容器」の欄に示すように「なし」が記憶される。
【0078】
また、本実施形態の通常運転における制御内容は、
図23に示すように、上記第1実施形態に対して、
図20のステップS34に代えてステップS51の処理を有している点、及びステップS52の処理を更に備えている点で異なる。この場合、ステップS51の処理は、現在重量取得処理の一例である。また、ステップS52の処理は、目標角度記憶処理の一例である。
【0079】
制御装置30は、ステップS51の処理において、目標角度記憶処理で記憶されたデータの中からステップS32で設定された注ぎ元容器91に紐づけされた前回の目標角度θeを取得する。そして、制御装置30は、相関データから前回の目標角度θeに対応する注ぎ元容器91の重量の値を現在重量W11として推定する。例えば
図22の第1注ぎ元容器の欄に示すように前回の目標角度θeが64度である場合、制御装置30は、
図12の相関データに基づいて、傾け角度θxが64度のときの第1注ぎ元容器911の重量490gを、第1注ぎ元容器911の現在重量W11であると推定する。また、例えば
図22の第2注ぎ元容器の欄に示すように前回の目標角度θeが「なし」である場合、目標角度θeは0度から開始角度θsの初期値の範囲とすることができる。
【0080】
また、制御装置30は、ステップS52において、現在の目標角度θeを記憶する。ステップS52の処理は、ステップS37からステップS44の範囲内であればどのタイミングで実行されても良い。
【0081】
本実施形態によれば、ロボットシステム10は、目標角度記憶処理部42を更に備えている。目標角度記憶処理部42は、目標角度記憶処理を実行可能である。目標角度記憶処理は、注ぎ処理で用いられた目標角度θeを注ぎ処理が実行された注ぎ元容器91と紐づけて記憶する処理を含む。また、現在重量取得処理は、目標角度記憶処理で記憶された、注ぎ元容器91に対して実行された前回の注ぎ処理における目標角度θeから相関データに基づいて現在重量W11を取得する処理を含む。
【0082】
これによれば、上記第1実施形態と同様の作用効果が得られる。更に、本実施形態によれば、注ぎ元容器91の現在重量W11を取得する際に、注ぎ元容器91を第1重量計131に置いて実測する必要がない。このため、注ぎ元容器91を第1重量計131に置いて計測する期間を短縮することができるため、注ぎ元容器の内容物Mを注ぐ動作をより素早く行うことができる。
【0083】
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、あるいは拡張することができる。
上記各実施形態で示した数値などは例示であり、それに限定されるものではない。
また、上記各実施形態は、適宜組み合わせることができる。
【0084】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【0085】
10…ロボットシステム、20…ロボット、21…アーム、22…保持部、30…制御装置、301…相関データ記憶部、311…CPU、33…元容器設定処理部、35…重量設定処理部、36…現在重量取得処理部、37…開始角度設定処理部、38…目標角度設定処理部、42…目標角度記憶処理部、91、911、912、913…注ぎ元容器、131…第1重量計(重量計)、132…第2重量計(重量計)、M…内容物