IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社DeepXの特許一覧

<>
  • 特許-制御装置 図1
  • 特許-制御装置 図2
  • 特許-制御装置 図3
  • 特許-制御装置 図4
  • 特許-制御装置 図5
  • 特許-制御装置 図6
  • 特許-制御装置 図7
  • 特許-制御装置 図8
  • 特許-制御装置 図9
  • 特許-制御装置 図10
  • 特許-制御装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-15
(45)【発行日】2023-02-24
(54)【発明の名称】制御装置
(51)【国際特許分類】
   B25J 13/00 20060101AFI20230216BHJP
【FI】
B25J13/00 Z
【請求項の数】 11
(21)【出願番号】P 2021527320
(86)(22)【出願日】2019-12-09
(86)【国際出願番号】 JP2019048097
(87)【国際公開番号】W WO2020261601
(87)【国際公開日】2020-12-30
【審査請求日】2021-10-29
(31)【優先権主張番号】P 2019122084
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】518317052
【氏名又は名称】株式会社DeepX
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100154748
【弁理士】
【氏名又は名称】菅沼 和弘
(72)【発明者】
【氏名】那須野 僚輔
(72)【発明者】
【氏名】森 昭斗
(72)【発明者】
【氏名】那須野 薫
【審査官】仁木 学
(56)【参考文献】
【文献】特開2019-025646(JP,A)
【文献】特開2018-153884(JP,A)
【文献】特開2019-126876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ー 21/02
(57)【特許請求の範囲】
【請求項1】
非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体をアームで把持する制御を実行する制御装置であって、
前記物体のうち、所定の把持重量分を把持対象として、前記物体を把持する際の前記アームで囲われる領域の体積を所定体積にし、かつ、前記領域の密度を一定又は所定範囲内にするために圧力を所定圧力にしたうえで、当該把持対象を把持する制御を実行する、
把持制御手段、
を備える制御装置。
【請求項2】
前記物体の前記把持重量の変動要素となる外的要因を、物理的及びアルゴリズム的のうち少なくとも1つの方針により排除する外乱排除手段、
をさらに備える、
請求項1に記載の制御装置。
【請求項3】
前記外乱排除手段は、
前記把持制御手段により前記制御が実行される前に、前記物体の状態を維持する制御を実行することで、前記外的要因を物理的に排除する第1外乱排除手段、
を有する、
請求項に記載の制御装置。
【請求項4】
前記外乱排除手段は、
前記把持制御手段により前記制御が実行されている最中に、前記外的要因を排除する第2外乱排除手段、
を有する、
請求項2又は3に記載の制御装置。
【請求項5】
前記第2外乱排除手段は、
前記アームによる把持の動作中に、当該アームに把持されている前記把持重量分の前記把持対象のうち目標となる重量を超えた分を、当該アームによる把持の状態から解除させる制御を実行することで、前記外的要因を物理的に排除する、
請求項に記載の制御装置。
【請求項6】
前記第2外乱排除手段は、
前記アームによる把持の動作後に、当該アームに付着された物体を前記アームから解除させる制御を実行することで、前記制御における前記外的要因を物理的に排除する、
請求項4又は5に記載の制御装置。
【請求項7】
前記把持制御手段は、
前記制御に用いるマシンパラメータを決定するマシンパラメータ決定手段と、
決定された前記マシンパラメータに基づいて、前記アームによる把持の動作を制御する把持動作制御手段と、
を有する、
請求項1乃至のうち何れか1項に記載の制御装置。
【請求項8】
前記把持制御手段は、
前記把持動作制御手段の制御により前記アームに把持された前記把持対象の実重量を確認する重量確認手段、
をさらに有し、
前記マシンパラメータ決定手段は、
前記重量確認手段により確認された前記実重量を取得して、前記実重量に基づいて、次回以降の前記制御に用いるマシンパラメータを決定する、
請求項に記載の制御装置。
【請求項9】
前記把持制御手段による前記制御がなされる前に、当該制御の対象となる前記物体を認識し、その認識の結果に基づいて前記把持対象を含む領域を選定する領域選定手段、
をさらに備える、
請求項1乃至のうち何れか1項に記載の制御装置。
【請求項10】
前記把持制御手段による前記制御がなされた後に、前記アームにより把持されていた前記把持対象を、所定場所に排出する制御を実行する排出手段、
をさらに備える、
請求項1乃至のうち何れか1項に記載の制御装置。
【請求項11】
前記排出手段は、
前記所定場所が存在する座標を取得して、当該座標に前記把持対象を排出する前記制御を実行する、
請求項10に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に関する。
【背景技術】
【0002】
近年、労働人口減少等に対応するため、自然人により行われていた作業を代わりに行う産業用ロボットの開発が盛んである。
例えば、マニピュレータ等からなる物品把持機構を用いて段ボール箱等を把持し、積みつける技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-176313号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の特許文献1の記載の技術において把持される物品は、段ボール箱である。即ち、上述の特許文献1に記載の技術を含む従来技術のみでは、定型の物品を把持することはできたものの、例えば非定型の物品を安定して把持することは十分に行われているとは言えなかった。
即ち例えば、非定型、軟体物、粘着力といった要素を有する物体を把持することは難しかった。ここで、非定型といった要素を有する物体とは、物体の一つひとつの大きさや形が同じではないといった物体である。また、軟体物といった要素を有する物体とは、少しの力で形が変化する物体である。また、粘着力といった要素を有する物体とは、粘着性がある物体である。
【0005】
本発明は、このような状況を鑑みてなされたものであり、非定型、軟体物、粘着力といった要素を有する物体を把持することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の制御装置は、
非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体をアームで把持する制御を実行する制御装置であって、
前記物体のうち、所定の把持重量分を把持対象として、前記物体を把持する際の前記アームで囲われる領域の体積を考慮して、当該把持対象を把持する制御を実行する、
把持制御手段、
を備える。
【発明の効果】
【0007】
本発明によれば、非定型、軟体物、粘着力といった要素を有する物体を把持することが可能な技術を提供することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態に係る制御装置及びアームを含む把持システムの外観構成の一例の概要を説明する図である。
図2図1のアームが備える把持部の一例を示す図である。
図3図1の制御装置の制御フローの一例を示す図である。
図4図1のアームにより把持される食品を格納するバット等の一例を示す図である。
図5図4のバットにおけるスパゲティの高さ分布の一例を示す図である。
図6図5の分布に基づいて食品を把持する動作の一例を示す図である。
図7図6の動作により把持された食品を排出する動作の一例を示す図である。
図8図1の把持システムのうち、図1の制御装置を含む情報処理システムの部分の構成の例を示す図である。
図9図8の情報処理システムのうち制御装置のハードウェア構成の一例を示すブロック図である。
図10図9の制御装置の機能的構成の一例を示す機能ブロック図である。
図11図10の機能的構成を有する制御装置が実行する、把持処理の流れの一例を説明するフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施形態について説明する。
【0010】
本発明の制御装置は制御装置、非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体を、アームに把持させる制御を実行することができる。
具体的には例えば、以下に示す実施形態では、非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体として、スパゲティが対象として制御を実行されている。
即ち、本発明の実施形態に係る制御装置は、多くのスパゲティが入ったバットから、所定の目標重量のスパゲティをアームに把持させた後、皿や弁当箱に排出させる制御を実行することができる。なお、目標重量とは、アームにより把持されて所定場所(ここでは皿や弁当箱)に排出される物体(ここではスパゲティ)の重量として、制御の目標となる重量のことを言う。
【0011】
図1は、本発明の一実施形態に係る制御装置及びアームを含む把持システムの外観構成の一例の概要を説明する図である。
【0012】
図1に示す把持システムは、食品工場のうち、バットに入れられたスパゲティを皿や弁当箱に排出するラインに設置される。この把持システムは、本発明の一実施形態に係る制御装置1と、アームAと、カメラC1,C2とを備える。
【0013】
制御装置1は、アームAの制御として、バットBに格納されたスパゲティSのうち、目標重量分のスパゲティSを把持させて、皿D1や皿D2に排出させる制御を実行する。なお、以下、皿D1及びD2を個々に区別する必要がない場合、「皿D」と呼ぶ。
アームAは、所謂マニピュレータであって、多ジョイント構造の先端に把持部A1を有する。即ち、アームAは、把持部A1の位置決めを目的としたリンクとジョイントとの相互結合体である腕側と、把持部A1とを有する。
【0014】
制御装置1は、スパゲティSが把持されたアームAの把持部A1により囲われる領域の体積と、アームAの把持部A1により囲われたスパゲティSの密度とをパラメータとして、当該把持部A1にスパゲティSを把持させる制御を実行する。
【0015】
即ち、下記式(1)に示すように、スパゲティSの実際の把持重量Mは、アームAで囲われる領域の体積Vと、当該領域に含まれるスパゲティSの密度ρと、外的要因Cにより定まる。
【0016】
【数1】
・・・(1)
【0017】
ここで、外的要因Cとは、同様のアームAの制御を実行したにもかかわらず生じるばらつきをいう。例えば、図1のアームAにより把持されるスパゲティSの性質の変化や、把持されたスパゲティSがアームAで囲われる領域の外に絡みついたさらなるスパゲティSといった要因が、外的要因Cの一例である。
【0018】
上述をまとめると、基本的に、把持重量Mは、アームAの把持部A1で囲われる領域の体積V及び密度ρにより決定される。逆に言えば、把持対象の物品の把持重量Mとして目標重量を確保するためには、原則として、囲われる領域の体積V及び密度ρを制御すればよい。しかしながら、把持対象の物品の把持重量Mとして目標重量を精度良く確保するためには、囲われる領域の体積V及び密度ρのみならず、外的要因Cも考慮した制御が必要になる。
そこで、制御装置1は、囲われる領域の体積V及び密度ρを可変制御することを基本としつつ、さらに、外的要因Cによる影響を減少させる制御を実行している。これにより、目標重量通りのスパゲティSが適切に皿Dに排出されることが実現可能になる。
制御装置1による体積V及び密度ρの可変制御並びに外的要因Cによる影響を減少させる制御の詳細は、後述する。
【0019】
スパゲティSは、アームAにより把持される対象の物体である。具体的にはスパゲティSは、食品工場のうち図示せぬ工程により茹でられた、非定型、軟体物、及び粘着力といった要素を有する物体の一例である。
バットBは、スパゲティSを格納する容器である。詳しくは後述するが、バットBは、スパゲティSの配置を整えることができる構造を有する。
カメラC1は、バットB及びバットBに格納されたスパゲティSを被写体として撮像する。カメラC1により撮像された結果得られる撮像画像のデータは、制御装置1に提供される。
ここで、カメラC1は、図1においては1台のみが図示されているが、実際には2台以上存在する。当該2台以上のカメラC1の夫々により撮像された撮像画像のデータに基づき、(カメラC1から)被写体までの距離(深度)の演算が画素単位で可能になる。
【0020】
制御装置1は、このようにしてカメラC1から提供された撮像画像のデータや目標重量に基づいて、アームAやバットBを制御する。これにより、バットBに格納されたスパゲティSのうち目標重量分のスパゲティSの排出が可能になる。
このような制御装置1による制御の概要は、以下の通りである。
【0021】
まず、スパゲティSは、アームAの把持部A1により把持されてバットBから取り出されることになるため、制御装置1は、バットB内のスパゲティSの配置を把握して把持する領域を選定する。
即ち、制御装置1は、カメラC1からの撮像画像のデータに基づいて、バットBやスパゲティSの各深度の情報を取得する。更に、制御装置1は、バットBやスパゲティSの各深度の情報に基づいて、バットBの中から、スパゲティSを把持する領域を選定する。
ここで、制御装置1は、所定の目標重量分のスパゲティSを把持できないと判断した場合や、実際に目標重量分のスパゲティSを把持できなかった場合、外的要因Cを低減させる制御のひとつとして、バットBの動作を制御することにより、スパゲティSの配置を整えることができる。
【0022】
次に、制御装置1は、バットBのうち、選定された領域のスパゲティSをアームAに把持させるため、把持部A1の位置を変更させる制御を実行する。これにより、アームAの把持部A1は、バットBのうち選定された領域のスパゲティSを把持する動作をする。
【0023】
上述をまとめると、バットB及びそのバットBに格納されたスパゲティSの配置は、変化する。そこで、制御装置1は、アームAの把持部A1により把持する領域を変更させたり、バットBに格納されたスパゲティSの配置を整えたりするための制御を実行することで、所定の目標重量分のスパゲティSをアームAに適切に把持させることができる。
【0024】
即ち、これまで、ポテトチップス等固形であって粘着力の要素を有さない食品については、定量で取り分けるための技術は存在していた。
しかしながら、スパゲティSといった非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する食品では、従来技術が適用できなかった。即ち、多くの食品工場のラインは、機械化すら進んでおらず、労働集約的であった。つまり、非定型、軟体物、及び粘着力といった要素を有する食品を定量で取り分ける作業は、完全には自動化できておらず、人の作業員が欠かせなかった。
そこで、本実施形態の制御装置1が採用された。これにより、制御装置1は、産業用ロボット(アームA)を自動操作し、バットBに盛られたスパゲティSから定量(目標重量分)をピックアップし容器(皿D)に移すことができる。即ち、非定型、軟体物、及び粘着力といった要素を有する食品を定量で取り分ける作業の自動化が可能となる。更に言えば、将来的な人口減少による労働力不足を補うための一助となる。
【0025】
ここで、ベルトコンベヤLは、皿D1,D2を搬送物として搬送する。
皿D1は、既に排出された所定の目標重量分のスパゲティSの排出先である。
皿D2は、これから把持される目標重量分のスパゲティSの排出先である。
このようにベルトコンベヤLは、既に排出された所定の目標重量分のスパゲティSが載った皿D1を移動させ、目標重量分のスパゲティSの次の排出先である皿D2を移動させる。このようにして、ベルトコンベヤLは、スパゲティの次の排出先をアームAに提供する。
【0026】
カメラC2は、次の排出先である皿D2を被写体として撮像する。
カメラC2により撮像された結果得られる撮像画像のデータは、制御装置1に提供される。
ここで、カメラC2は、上述のカメラC1と基本的に同様のカメラである。即ち、当該2以上のカメラC2の夫々により撮像された撮像画像のデータに基づき、(カメラC2から)被写体までの距離(深度)の演算が画素単位で可能になる。
【0027】
制御装置1は、このようにしてカメラC2から提供された撮像画像のデータや当該データを解析して得られた排出先の位置座標である排出座標に基づいて、アームAやそのアームAの把持部A1を制御する。これにより、皿Dの上や皿Dの所定の位置といった、排出座標へのスパゲティSの排出が可能になる。
このような制御装置1による制御の概要は、以下の通りである。
まず、スパゲティSを排出する先である皿Dは、毎回完全に同一の位置に配置されるとは限らない。そこで、制御装置1は、皿Dの深度の情報に基づいて、把持されたスパゲティSを排出するべき座標を把握する。
【0028】
次に、制御装置1は、把握された座標に、把持されたスパゲティSを排出する制御を実行する。
上述をまとめると、スパゲティSを排出する先の皿Dの位置は、変化し得る。そこで、制御装置1は、皿Dの深度の情報に基づいて、スパゲティSを排出するべき排出座標を解析したり、当該排出座標に排出するようアームAの制御を実行したりすることで、所定の目標重量分のスパゲティSを適切に排出することができる。
【0029】
以上、図1を用いて、本発明の制御装置の一実施形態に係る制御装置1により制御されるアームAにより実現される食品工場の例について説明した。
以下、図2乃至7を用いて、図1の把持システムの構成の夫々や動作等について説明する。
【0030】
まず、図2に示すA状態及びB状態を用いて、図1のアームAの把持部A1の構造や動作について説明する。
なお、詳細は後述するが、図2に示すA状態には、図1のアームAのうち、把持動作前の把持部A1が図示されている。また、図2に示すB状態には、図1のアームAのうち、把持動作後の把持部A1が図示されている。図2に示すA状態と、図2に示すB状態とを個々に区別する必要がない場合、これらをまとめて「図2」と呼ぶ。
図2は、図1のアームが備える把持部の一例を示す図である。ここで、図2のアームAの把持部A1は、図1に示すようにスパゲティSが格納されたバットBの上に配置されているものとして説明する。
【0031】
なお、図2におけるアームAの把持部A1の説明では、特に断りのない限り、次のように定義する方向を用いるものとする。
即ち、以下、重力が働く方向と垂直な面を、軸Xa及び軸YaからなるXa-Ya平面と呼ぶ。ここで、アームAの把持部A1は、Xa-Ya平面(以下、「水平面」と適宜呼ぶ)に設置されたスパゲティSを把持するように設置されているものとして説明する。
ここで、Xa-Ya平面において、スパゲティSを把持する場合における、アームAの把持部A1からみてアームAの腕側と接続されている方向に、軸Xaをとるものとする。この場合における、アームAの把持部A1からみて、アームAの腕側が接続されている方向を「軸Xaが正の方向」と呼び、この反対方向を「軸Xaが負の方向」と呼ぶものする。
また、重力が働く方向と逆の方向に軸Za及びその方向をとものとする。即ち、スパゲティSが配置されたXa-Ya平面(水平面)に対して高さが高くなる方向を、「軸Zaが正の方向」と呼び、この反対方向を「軸Zaが負の方向」と呼ぶものとする。
また、軸Xa、軸Ya、及び軸Zaからなる3次元直交座標系が右手系となるよう軸Yaを定め、夫々の方向を「軸Yaが正の方向」及び「軸Yaが負の方向」と呼ぶ。
【0032】
図2に示すA状態には、図1のアームAのうち、把持動作前の把持部A1が図示されている。
図2に示すA状態のように、アームAの把持部A1は、面A11と、面A12と、面A13と、面A14とから構成されている。
即ち、アームAの把持部A1は、軸Ya-Za平面と平行に、面A11及び面A13を備える。また、把持部A1の面A11は、把持部A1の面A13からみて軸Xaが正の方向に備えられている。
また、アームAの把持部A1は、軸Xa-Ya平面と平行に、面A12及び面A14を備える。また、把持部A1の面A12は、把持部A1の面A14からみて軸Xaが正の方向に備えられている。
【0033】
面A11及び面A12は、面A11を構成する辺のうち軸Zaが正の方向の辺と、面A12を構成する辺のうち軸Xaが正の方向の辺とが接するように接続されている。
面A12及び面A13は、面A12を構成する辺のうち軸Xaが負の方向の辺と、面A13を構成する辺のうち軸Zaが正の方向の辺とが接するように接続されている。
面A13及び面A14は、面A13を構成する辺のうち軸Zaが負の方向の辺と、面A14を構成する辺のうち軸Xaが負の方向の辺とが接するように接続されている。なお、面A13及び面A14は、接する辺において、蝶番を有している。即ち、面A14は、Ya-Za平面と平行な角度に可変である。また、アームAの把持部A1からみて軸Zaが負の方向に配置されたスパゲティSに差し込まれる(軸Zaが負の方向に移動させられる)場合、当該角度は制御装置1により制御される。即ち、アームAの把持部A1が差し込まれる際には、面A14はYa-Za平面と平行な角度に制御される。また、アームAの把持部A1が差し込まれた後には、面A14は、Xa-Ya平面と平行な角度に制御される。
また、図2に示すA状態のように、面A12の軸Xaが負の方向の辺から、面A12が面A11と接する辺までの長さは、長さL1である。また、面A13の軸Zaが負の方向の辺から、面A13が面A12と接する辺までの長さは、長さL2である。
【0034】
図2に示すB状態には、図1のアームAのうち、把持動作後の把持部A1が図示されている。なお、理解を簡単にするため、図2に示すB状態に示す把持動作後の把持部A1は、把持対象となったスパゲティSは図示していない。
図2に示すB状態に示す面A11は、図2に示すA状態に示す面A11と異なり、面A12乃至面A14の位置が異なることにより、面A14と略接触した状態となっている。
図2に示すB状態に示す面A12は、図2に示すA状態に示す面A12と異なり、面A11と接する位置が、面A12を構成する辺のうち軸Xaが正の方向の辺ではない。即ち、図2に示すB状態のように、面A12の軸Xaが負の方向の辺から、面A12が面A11と接する辺までの長さは、長さL3である。この時、長さL3は、長さL1と比較して短い。
図2に示すB状態に示す面A13は、図2に示すA状態に示す面A13と異なり、面A12と接する位置が、面A13を構成する辺のうち軸Zaが正の方向の辺ではない。即ち、図2に示すB状態のように、面A13の軸Zaが負の方向の辺から、面A13が面A12と接する辺までの長さは、長さL4である。この時、長さL4は、長さL2と比較して短い。
【0035】
図1で説明した通り、制御装置1は、アームAの把持部A1で囲われる領域の体積及び密度を制御することにより、把持重量を制御することができる。
一定の目標重量のスパゲティSを皿Dに排出する場合、制御装置1は、囲われる領域の体積に再現性高くスパゲティSを閉じ込める必要がある。即ち、制御装置1は、囲われる領域の密度が一定となるようにパスタを閉じ込める必要がある。ここで密度は、体積当たりの質量である。また、非定型、軟体物、及び粘着力といった要素を有する物体であっても、一定の圧力を与えることにより、密度を一定の範囲内に制御することができる。
【0036】
ここで、以下、非定型、軟体物、及び粘着力といった要素を有する物体であっても、一定の圧力を与えることにより、密度を一定の範囲内に制御することができることについて、説明する。
例えば、バットB等に入れられた非定型、軟体物、及び粘着力といった要素を有する物体を所定の体積の容器ですくって取り分けた場合、当該物体の質量には複数回の間でばらつきが発生する。
具体的には例えば、非定型といった要素を有する物体を所定の体積の容器ですくって取り分けた場合、当該物体の形状のばらつき等の理由により、当該物体同士の間に空間(当該物体が存在しない空間)が存在する。また例えば、軟体物といった要素を有する物体を所定の体積の容器ですくって取り分けた場合、当該物体の形状が一定ではない(変形する)等の理由により、当該物体同士の間に空間(当該物体が存在しない空間)が存在する。また例えば、粘着力といった要素を有する物体を所定の体積の容器ですくって取り分けた場合、当該物体同士や当該物体と当該容器との間の粘着等の理由により、当該物体同士の間に空間(当該物体が存在しない空間)が存在する。
更に言えば、上述の当該物体が存在しない空間は、複数回の間でばらつきが生じる。つまり、当該空間の大きさがばらつくことにより、所定の容積に含まれる物体の質量が変動してしまっていた。
【0037】
しかしながら、制御装置及びアームAを含む把持システムが採用された場合、非定型、軟体物、及び粘着力といった要素を有する物体であっても、一定の圧力を与えることにより、密度を一定の範囲内に制御することができる。
即ち例えば、アームAで物体を把持する際に、当該物体に対して所定の圧力が発生する。圧力を加えられた非定型、軟体物、及び粘着力といった要素を有する物体は、当該物体同士の間の空間が減るような配置となる。
具体的には例えば、非定型といった要素を有する物体に圧力を加えた場合、当該物体の形状のばらつきである凹部や凸部は、圧力を加えられることではまり込む等することで、当該物体同士の間の空間が減るような配置となる。また例えば、軟体物といった要素を有する物体に圧力を加えた場合、当該物体は変形等することで、当該物体同士の間の空間が減るような配置となる。また例えば、粘着力といった要素を有する物体に圧力を加えた場合、当該物体は当該物体同士や当該物体と当該容器との間の粘着を剥がしたり滑らせたりすることで、当該物体同士の間の空間が減るような配置となる。
このように、アームAを含む把持システムが採用された場合、把持する際に、非定型、軟体物、及び粘着力といった要素を有する物体に一定の圧力を与えることができる。また、一定の圧力を与えられた非定型、軟体物、及び粘着力といった要素を有する物体は、当該物体同士の空間が減るような配置となる。この結果、非定型、軟体物、及び粘着力といった要素を有する物体の密度は一定の範囲内となる。
【0038】
更に言えば、アームAを含む把持システムが採用された場合、当該アームを用いて非定型、軟体物、及び粘着力といった要素を有する物体を把持するときには、アームAの把持部A1で囲われる領域の体積及び密度を制御することができる。これにより、制御装置1及びアームAを含む把持システムは、物体の把持重量を制御することができる。
そこで、図2のアームAの把持部A1は以下のような構造と制御により、囲われる領域の体積及び密度を制御することができる。
【0039】
図2のアームAの把持部A1は、面A11乃至A14により囲われた体積Vにより、スパゲティSを把持することができる。即ち、制御装置1は、このような把持部A1を備えるアームAを制御することにより、スパゲティSを把持することができる。
具体的には例えば、制御装置1は、以下のような制御を実行する。まず、このような把持部A1は、軸Zaが負の方向に移動され、スパゲティSに差し込まれる。次に、把持部A1は、長さL1を長さL3に、長さL2を長さL4に変更する。また、把持部A1は、面A11乃至面A14の相互の位置を異ならせることにより、面A14と略接触させる。このようにして、体積VにスパゲティSを把持する。
このとき、制御装置1は、面A12が面A11と接する辺の位置や、面A13が面A12と接する辺の位置を変更することができる。また、制御装置1は、面A11乃至面A14の相互の位置を異ならせる力を変化させることができる。これにより、スパゲティSを把持する体積Vや、圧力を変化させることができる。
【0040】
また、圧力を変化させる場合、制御装置1縦方向(重力方向)と横方向の圧力を一定にして把持する必要がある。
また、制御装置1は、密度が一定の状態でスパゲティSを把持するために、以下のような制御を実行する。
【0041】
即ち、制御装置1は、スパゲティSの状態の維持をする。具体的には例えば、スパゲティSの茹で加減や茹でてからの時間等により、スパゲティSの弾性や粘着性の強さ等は変化する。この場合、スパゲティSを把持する際の圧力と密度の関係性は変化する。そこで、制御装置1は、スパゲティSの状態を維持するよう制御する。
また、制御装置1は、スパゲティSを把持する場所の選定をする。即ち例えば、図1の説明で上述したように、カメラC1により撮像された結果得られる撮像画像のデータに基づいて、例えば、スパゲティSが少なくなっていない山型の配置となっている領域を把持対象の領域として選定する。
【0042】
また、制御装置1は、重力方向の力を制御する。即ち例えば、図2のアームAの把持部A1の面A12の位置を制御することにより、重力方向の力を制御する。
また、制御装置1は、横方向の力を制御する。即ち例えば、図2のアームAの把持部A1の面A11の角度や、面A13の位置を制御することにより、横方向の力を制御する。
【0043】
なお、スパゲティSを把持する把持部A1の構造は、図2に限定されず、任意の構造を採用することができる。即ち、把持部A1の構造は、把持対象の物体を把持する体積Vや圧力を変化させることができれば足りる。
制御装置1は、把持対象の物品を所定の目標重量分だけ把持するために、把持対象の物体を把持する体積Vや圧力を変化させる。これにより、制御装置1は、非定型、軟体物、及び粘着力といった要素を有する物体を、把持対象の物品を所定の目標重量分だけ把持することができる。
【0044】
以上、図2を用いて、図1のアームAの把持部A1の構造や動作について説明した。
以下、図3を用いて、図1に示す食品工場において、どのように把持対象の物品を所定の目標重量分だけ把持するかについて説明する。
【0045】
図3は、図1の制御装置の制御フローの一例を示す図である。
図3の上部における、横方向に示す複数の白抜き矢印の連続は、制御装置1の制御の工程のうち、スパゲティSを把持する工程を示している。即ち、複数の白抜きの矢印の夫々は、スパゲティSを盛付けするまでの各工程を示している。1つの白抜き矢印の内部の文字列は、当該白抜き矢印が示す工程の名称が記載されている。
具体的には、スパゲティSを把持する工程には、「事前準備」、「認識」、「把持」、及び「盛付け」の夫々の工程が存在する。
【0046】
事前準備の工程ST1は、把持対象となるスパゲティSを用意する工程である。
認識の工程ST2は、把持対象となるスパゲティSの配置を認識する工程である。
把持の工程ST3は、所定の目標重量分だけスパゲティSを実際に把持する工程である。
盛付けの工程ST4は、所定の目標重量分のスパゲティSを皿Dに排出(盛付け)する工程である。
【0047】
図3の下部における、横方向に示す複数の白抜き矢印の連続は、上述のスパゲティSを排出(盛付け)するまでの各工程における具体的なステップを示している。即ち、図3の下部の複数の白抜きの矢印の夫々は、スパゲティSが把持されて排出(盛付け)られるまでの具体的な各ステップを示している。1つの白抜き矢印の内部の文字列は、当該白抜き矢印が示すステップの名称が記載されている。
【0048】
具体的には、スパゲティSを盛付けするまでの工程の具体的なステップとして、「状態維持」、「把持領域選定」、「マシンパラメータ決定」、「食品把持」、「外乱排除」、「重量確認」及び「排出」の夫々のステップが存在する。
【0049】
事前準備の工程ST1に対応するステップとして、状態維持のステップST11が存在する。
即ち、状態維持のステップST11において、制御装置1は、把持対象のスパゲティSの状態を維持する。
例えば、バットBに格納されたスパゲティSの配置は、前回の把持等により違いが生じる。即ち例えば、スパゲティSは、バットBにおける領域毎に、違った量が配置されていることがある。また例えば、前回の把持によりスパゲティSが取り出され、前回のスパゲティSの配置と異なることもある。このような、バットBに格納されたスパゲティSの配置の違いは、把持対象のスパゲティSの状態の変化ということができる。即ち、詳しくは後述するが、状態維持のステップST11において、制御装置1は、把持対象のスパゲティSの状態を維持するため、バットBに格納されたスパゲティSの配置を整えることができる。即ち、状態維持のステップST11において、制御装置1は、目標重量分のスパゲティSの把持に係る外的要因を物理的に排除することができる。
【0050】
認識の工程ST2に対応するステップとして、把持領域選定のステップST21が存在する。即ち、把持領域選定のステップST21において、制御装置1は、把持対象のスパゲティSが格納されたバットBのうち、いずれの領域のスパゲティSを把持するかを選定する。詳しくは後述するが、例えば、前回の把持の工程において把持された領域にはスパゲティSは少ないことがある。そこで、制御装置1は、カメラC1により撮像された結果得られる撮像画像のデータに基づいて、スパゲティSが少なくなっていない、更に言えば山型の配置となっている領域を把持対象の領域として選定する。即ち、把持領域選定のステップST21において、制御装置1は、後述する把持の工程ST3の前に、スパゲティSの状態を維持する制御を実行することで、目標重量分のスパゲティSの把持に係る外的要因を物理的に排除することができる。
【0051】
把持の工程ST3に対応するステップとして、マシンパラメータ決定のステップST31、食品把持のステップST32、外乱排除のステップST33、及び重量確認のステップST34が存在する。
【0052】
まず、マシンパラメータ決定のステップST31において、制御装置1は、所定の目標重量分のスパゲティSを把持するためのマシンパラメータを決定する。即ち例えば、制御装置1は、指定の体積分だけスパゲティが把持部A1の体積Vに入るように差し込む深さを決定する。また例えば、制御装置1は、所定の目標重量分のスパゲティSを把持するための把持部A1の体積Vや圧力を決定する。
【0053】
次に、食品把持のステップST32において、制御装置1は、マシンパラメータ決定のステップST31において決定されたマシンパラメータに基づき、所定の目標重量分のスパゲティSを把持する制御を実行する。即ち例えば、制御装置1は、把持部A1の位置を変更したり、把持部A1の体積Vや圧力を変更したりすることで、スパゲティSを把持する制御を実行する。即ち、食品把持のステップST32において、制御装置1は、スパゲティSを把持する制御が実行されている最中に、目標重量分のスパゲティSの把持に係る外的要因を物理的に排除することができる。
【0054】
次に、食品把持のステップST33において、制御装置1は、食品把持のステップST32において把持されたスパゲティSのうち、絡まったり粘着したりすることにより目標重量よりも多く把持されたスパゲティSを解除させる制御を実行する。即ち例えば、制御装置1は、アームAの把持部A1を揺らしたり、アームAの把持部A1の面A11乃至面A14の相互の位置を異ならせることによりスパゲティSの把持を緩めたりすることにより、目標重量よりも多く把持されたスパゲティSを解除させることができる。即ち、食品把持のステップST33において、制御装置1は、アームAによる把持の動作中に、アームAに把持されているスパゲティSのうち目標重量を超えた分を、アームAによる把持の状態から解除させる制御を実行することで、目標重量分のスパゲティSの把持に係る外的要因を物理的に排除することができる。
【0055】
次に、重量確認のステップST34において、制御装置1は、外乱排除のステップST33の後において把持されているスパゲティSの重量を確認する。即ち例えば、制御装置1は、アームAの把持部A1の体積Vを変更する際に要する圧力等に基づいて、スパゲティSがどの程度把持されているのかを推定する。即ち例えば、制御装置1は、アームAの把持部A1の体積Vを変更することでどのように圧力が変化するかと、スパゲティSが実際に把持されているかとの関係性に基づき、実際に把持されたスパゲティSの重量を推定することができる。
また例えば、制御装置1は、図示せぬ重量計に実際に把持されたスパゲティSを載せることで、実際に把持されたスパゲティSの重量を測定してもよい。また例えば、図示はしないが、アームAはばねばかりといった重量計を具備し、制御装置1は、当該重量計により測定されたスパゲティSの重量を取得し、スパゲティSの重量を確認してもよい。
なお、実重量の確認の方法は、重量計を利用した実重量計測ではなく、体積Vと圧力の関係等に基づいて推定する方が好適である。即ち、重量計を採用した場合、重量計の数値が安定するまで時間がかかったりしてしまう。しかしながら、体積Vと圧力の関係等に基づいて推定する場合、把持の制御とほぼ同時に実重量を推定することができる。つまり、体積Vと圧力の関係等に基づいて推定することにより、処理全体における処理時間が短縮される。
また、重量確認のステップST34において、確認された実際に把持されたスパゲティSの重量が、所定の目標重量に基づいて決められる所定の範囲内に収まっていない場合、NGと判定されて、前述したステップST31の処理が再度実行される。即ち、制御装置1は、実際に把持されたスパゲティSをバットBに戻す等の制御を実行した後、再度マシンパラメータを決定し、スパゲティSを把持する制御を実行する。
また、重量確認のステップST34において、確認された実際に把持されたスパゲティSの重量が、所定の目標重量に基づいて決められる所定の範囲内に収まっている場合、OKと判定されて、後述するステップST41の処理が実行される。
即ち、確認された実際に把持されたスパゲティSの重量が、所定の目標重量に基づいて決められる所定の範囲内に収まるまで、ステップST31乃至ST34は繰り返し実行される。
【0056】
盛付けの工程ST4に対応するステップとして、排出のステップST41が存在する。即ち、排出のステップST41において、制御装置1は、皿D1,D2を含むベルトコンベヤLの深度の情報に基づいて、スパゲティSの排出するべき座標を把握して、排出する制御を実行する。また例えば、制御装置1は、スパゲティSを排出する際に、アームAの把持部A1を揺らすことにより、アームAに付着されたスパゲティSをアームAから解除させる制御を実行することで、把持したスパゲティSの全てを物理的に排除することができる。即ち、制御装置1は、把持されたスパゲティSのうち、アームAに粘着しているスパゲティSを可能な限り解除することで、排出先の皿Dに目標重量分のスパゲティSを排出することができる。
【0057】
以上、図3を用いて、図1に示す食品工場において、どのように把持対象の物品を所定の目標重量分だけ把持するかについて説明した。
以下、図4及び図5を用いて、図3に示す把持領域選定のステップST21において、どのようにスパゲティSを把持する領域を選定するかについて説明する。
【0058】
図3の説明で上述したように、把持領域選定のステップST21において、制御装置1は、把持対象のスパゲティSが格納されたバットBのうち、スパゲティSを把持する領域を選定する。
図4は、図1のアームにより把持される食品を格納するバット等の一例を示す図である。
図4には、スパゲティSと、スパゲティSが格納されたバットBと、カメラC1とが、図示されている。
図4のバットBは、受皿部B1と、押込部B2とを有する。
図4の例のバットBは、直方体構造のうち上面以外の5つの面により構成されている。スパゲティSは、バットBの上面から格納される。バットBの受皿部B1は、バットBを構成する5つの面のうち、3つの側面と底面とからなる。また、バットBの押込部B2は、バットBを構成する5つの面のうち1つの側面と、当該側面を対向する側面に近づける方向に押込む棒とを有する。バットBの押込部B2が有する棒は、所定の機構によりバットBの押込部B2が有する面を押したり引いたりすることができる。
【0059】
なお、図4及び図5におけるバットBの説明では、特に断りのない限り、次のように定義する方向を用いるものとする。
即ち、以下、重力が働く方向と垂直な面を、軸Xb及び軸YbからなるXb-Yb平面と呼ぶ。ここで、バットBは、Xb-Yb平面(以下、「水平面」と適宜呼ぶ)に設置され、スパゲティSを乗せて設置されているものとして説明する。
ここで、Xb-Yb平面において、上述のバットBの押込部B2が有する面の移動する方向に、軸Xbをとるものとする。この場合における、押し込まれる前のバットBの押込部B2が有する面からみて、押し込まれた後のバットBの押込部B2が有する面がある方向を「軸Xbが正の方向」と呼び、この反対方向を「軸Xbが負の方向」と呼ぶものする。
また、重力が働く方向と逆の方向に軸Zb及びその方向をとものとする。即ち、バットBが配置されたXb-Yb平面(水平面)に対して高さが高くなる方向を、「軸Zbが正の方向」と呼び、この反対方向を「軸Zbが負の方向」と呼ぶものとする。
また、軸Xb、軸Yb、及び軸Zbからなる3次元直交座標系が右手系となるよう軸Ybを定め、夫々の方向を「軸Ybが正の方向」及び「軸Ybが負の方向」と呼ぶ。
【0060】
図4には、図1のバットBとカメラC1とが図示されている。
図4に示すように、バットBは、受皿部B1と、押込部B2とから構成されている。
バットBは、軸Xb、軸Yb、及び軸Zbに平行な辺からなる直方体構造であって、軸Zbが正の方向の面を有しない構造である。また、バットBの押込部B2は、軸Xbが負の方向の面を押込むことで、軸Xbが正の方向の面と軸Xbが負の方向の面との距離を短くすることができる。即ち、バットBの押込部B2は、軸Xbが負の方向の面を押込むことで、スパゲティSが存在する領域を狭くすることで、スパゲティSを集めることができる。
【0061】
カメラC1は、上述したように、バットB及びバットBに格納されたスパゲティSを被写体として撮像する。即ち、スパゲティSが少なくなっていない、更に言えば山型の配置となっている領域を把持対象の領域として選定する。
図4の例において、バットBに格納されたスパゲティSのうち、軸Xbが正の方向且つ軸Ybが負の方向である二点鎖線で示される領域RにのみスパゲティSが多い。
即ち、カメラC1により撮像された結果得られる撮像画像のデータに基づくスパゲティSの配置は、例えば図5に示すような情報として取得される。
【0062】
図5は、図4のバットにおけるスパゲティの高さ分布の一例を示す図である。
図5に示すA状態は、図4のカメラC1により撮像された結果得られる撮像画像のデータに基づく高さ(軸Zbの方向の座標)をXb-Yb平面における各領域(メッシュ)の夫々について示した分布の一例を示す図である。
【0063】
図5に示すA状態の各領域のうち、軸Xbが正の方向から1つめの列(軸Ybが一定の領域)と、軸Xbが負の方向から2つ目の列と、軸Ybが正の方向から1つめの行(軸Xbが一定の領域)と、軸Ybが負の方向から1つめの行とは、全て高さが15である。この高さが15は、バットBの軸Zbの方向の高さが15であることを表している。即ち、この高さが15の領域の内側の領域の数値は、スパゲティSの高さの数値である。
このように、カメラC1により撮像された結果得られる撮像画像のデータに基づく高さは、Xb-Yb平面における各領域の高さの分布として表すことができる。
【0064】
図5に示すB状態は、図5に示すA状態の高さの分布の各領域を荒く演算した分布の一例を示す図である。
即ち例えば、Xb-Yb平面における各領域の高さの分布は、平均値をとることにより、領域の数を減らすことができる。図5に示すB状態の各領域のうち、高さが8.75の領域と、高さが3.75の領域と、高さが2.25の領域と、高さが2.00の領域のうち、高さが8.75の領域のスパゲティSが、一番高さが大きい。そこで、制御装置1は、これに基づいて高さが8.75の領域を把持領域として、把持する制御を実行することができる。
また例えば、把持領域として選定するのに適する領域が無い場合、上述したように、バットBの押込部B2は、軸Xbが負の方向の面を押込むことで、スパゲティSが存在する領域を狭くすることで、スパゲティSを集めることができる。これにより、例えば、図5に示すC状態に示す高さの分布のように、スパゲティSを集めることができる。
【0065】
図5に示すC状態は、図5に示すB状態の高さの分布のスパゲティSを、図4に示すバットBの押込部B2により集めた場合における、スパゲティSの高さの分布の例を示す図である。
即ち例えば、制御装置1は、Xb-Yb平面上において、スパゲティSが存在する領域を半分に押し込むことにより、スパゲティSを集めることができる。
このように、制御装置1は、カメラC1により撮像された結果得られる撮像画像のデータに基づくスパゲティSの配置を取得する。また、制御装置1は、バットBの押込部B2を制御することにより、スパゲティSの配置を集める等、変更することができる。即ち、制御装置1は、このような制御により、スパゲティSを定量把持する制御を実行することができる。
【0066】
以上、図4及び図5を用いて、図3に示す把持領域選定のステップST21において、どのようにスパゲティSを把持する領域を選定するかについて説明した。
以下、図6を用いて、図3に示す外乱排除のステップST33において、どのようにスパゲティSを把持する際の外乱を排除するかについて説明する。
【0067】
図6は、図5の分布に基づいて食品を把持する動作の一例を示す図である。
図6に示すA状態は、アームAの把持部A1により、バットBに格納されたスパゲティSのうち一部が把持されることにより、アームAの把持部A1により囲われた領域にスパゲティHSが存在する状態を示す図である。
図6に示すA状態の状態は、制御装置1の制御により、図4で説明した把持領域RのスパゲティSを把持した状態である。ここで、図6に示すA状態の状態において、アームAで囲われる領域の外に、さらなるスパゲティHS1が絡みついている。この状態において、制御装置1は、アームAを揺らすことにより、絡まったり粘着したりすることにより目標重量よりも多く把持されたスパゲティHS1を解除させる制御を実行することができる。
【0068】
図6に示すB状態は、制御装置1の制御により、アームAを揺らす制御が実行された結果、さらなるスパゲティHS1がバットBに落ちた状態の例を示す図である。このように、制御装置1は、アームAを揺らす制御を実行することにより、スパゲティSが非定型、軟体物、及び粘着力といった要素を有することにより発生する、他のスパゲティSと絡まったり粘着したりするという外乱を排除することができる。
以上、図6を用いて、図3に示す外乱排除のステップST33において、どのようにスパゲティSを把持する際の外乱を排除するかについて説明した。
以下、図7を用いて、図3に示す排出のステップST41において、どのようにスパゲティSを排出する際の外乱を排除するかについて説明する。
【0069】
図7は、図6の動作により把持された食品を排出する動作の一例を示す図である。
図7に示すA状態は、アームAの把持部A1により把持されたスパゲティHSを、皿Dに排出する前の状態を示す図である。
図7に示すA状態には、皿Dと、スパゲティHSを把持するアームAと、カメラC2とが図示されている。上述したように、カメラC2は、次の排出先である皿D2を被写体として撮像する。制御装置1は、カメラC2により撮像された結果得られる撮像画像のデータに基づいて、把持されたスパゲティSを排出するべき座標を把握する。図7に示すA状態の皿Dに描かれている一点鎖線は、制御装置1により把握されたスパゲティSを排出するべき排出座標Tである。制御装置1は、スパゲティHSを排出した際に、スパゲティHSが排出座標Tに排出される位置(例えば、スパゲティHSが真下に排出される場合、排出座標Tの真上)に、アームAを移動する制御を実行する。その後、制御装置1は、スパゲティHSを排出する制御を実行する。
【0070】
図7に示すB状態は、アームAにより把持されたスパゲティHSを皿Dに排出した後の状態を示す図である。
図7に示すB状態には、皿Dに排出されたスパゲティHSと、スパゲティHSと一緒に排出されず、アームAに付着したスパゲティHS2とが図示されている。即ち、非定型、軟体物、及び粘着力といった要素を有するスパゲティHS2は、アームAに付着されている。制御装置1は、アームAに付着された物体をアームAから解除させる制御を実行することで、スパゲティSを把持する制御における外的要因を物理的に排除することができる。即ち例えば、制御装置1は、アームAを振動させることにより、付着されたスパゲティHS2をアームAから解除させることができる。
以上、図7を用いて、図3に示す排出のステップST41において、どのようにスパゲティSを排出する際の外乱を排除するかについて説明した。
以下、図8乃至図11を用いて、上述の制御を実行する制御装置1を含む把持システムや、制御装置1の部分の構成等について説明する。
【0071】
図8は、図1の把持システムのうち、図1の制御装置を含む情報処理システムの部分の構成の例を示す図である。
図8に示す情報処理システムは、制御装置1と、モデルDB2と、学習装置3とを含むように構成される。
【0072】
制御装置1は、学習装置3により学習された結果得られる(又は更新される)モデルをモデルDB2から取得して、スパゲティSを把持する際の体積及び密度を決定する。また、制御装置1は、そのモデルを用いて、把持されたスパゲティSの体積や密度に基づいて実際に把持された重量を予測する。また、制御装置1は、学習装置3により学習された結果得られる(又は更新される)モデルをモデルDB2から取得して、把持されたスパゲティSの予測された重量と、目標重量との差分を補正するパラメータを決定する。
学習装置3は、その結果把持されたスパゲティSの実際の把持重量や推定された把持重量からスパゲティSを把持する際の体積、密度及び圧力との関係性について機械学習を行うことで、モデルを生成又は更新して、モデルDB2に格納する。
【0073】
図9は、図8の情報処理システムのうち制御装置のハードウェア構成の一例を示すブロック図である。
【0074】
図9は、図8の情報処理システムのうち制御装置1のハードウェア構成の一例を示すブロック図である。
【0075】
制御装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、バス14と、入出力インターフェース15と、出力部16と、入力部17と、記憶部18と、通信部19と、ドライブ20とを備えている。
CPU11は、ROM12に記録されているプログラム、又は、記憶部18からRAM13にロードされたプログラムに従って各種の処理を実行する。
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0076】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、出力部16、入力部17、記憶部18、通信部19、及びドライブ20が接続されている。
出力部16は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
入力部17は、キーボードやマウス等で構成され、ユーザの指示操作に応じて各種情報を入力する。
記憶部18は、ハードディスク等で構成され、各種情報のデータを記憶する。
【0077】
通信部19は、ネットワークを介して他の端末(例えば図8のアームAやモデルDB2)との間で行う通信を制御する。
ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア31が適宜装着される。ドライブ20によってリムーバブルメディア31から読み出されたプログラムは、必要に応じて記憶部18にインストールされる。また、リムーバブルメディア31は、記憶部18に記憶されている各種データも、記憶部18と同様に記憶することができる。
【0078】
なお、図示はしないが、図8の情報処理システムの学習装置3は図9に示すハードウェア構成と基本的に同様の構成を有している。
また、説明の便宜上、学習装置3は、制御装置1とは別途設けるものとしたが、特にこれに限定されず、学習装置3と、制御装置1との各機能を1台の情報処理装置に集約してもよい。
【0079】
図10は、図9の制御装置の機能的構成の一例を示す機能ブロック図である。
【0080】
図10sに示すように、制御装置1のCPU11においては、領域選定部111と、把持制御部112と、外乱排除部113とが機能する。また、記憶部18の一領域には、モデルDB2が設けられている。
【0081】
ここで、モデルDB2は、上述したように、学習装置3により学習された結果得られる(又は更新される)モデルを格納している。なお、以下、説明の簡単のため、モデルDB2は、制御装置1の記憶部18に設けられているものとして説明する。
ただし、モデルDB2は、制御装置1に設けられず、例えば、学習装置3にモデルが格納されて、制御装置1にモデルのコピーが格納されていてもよい。即ち、モデルDB2の設けられる情報処理装置は、任意である。
【0082】
カメラC1は、上述したように、バットB及びバットBに格納されたスパゲティSを被写体として撮像する。カメラC1により撮像された結果得られる撮像画像のデータは、制御装置1に提供される。
【0083】
領域選定部111は、図3の把持領域選定のステップST21において、把持制御部112によるスパゲティSを把持する制御がなされる前に、当該制御の対象となるスパゲティSを認識し、その認識の結果に基づいて把持対象となるスパゲティSを含む領域を選定する。即ち、領域選定部111は、カメラC1により撮像された結果得られる撮像画像のデータに基づいて、バットB及びそのバットBに格納されたスパゲティSの配置等を認識し、その認識の結果に基づいて、把持対象となるスパゲティSを含む領域を選定する。
具体的には例えば、領域選定部111は、図4及び図5で上述したように、スパゲティSが多い領域や、目標重量分だけのスパゲティSを把持しやすい領域を選定する。
【0084】
把持制御部112は、バットBに格納されたスパゲティSのうち、把持重量分を把持対象として、スパゲティSを把持する際のアームAで囲われる領域の体積を考慮して、当該把持対象を把持する制御を実行する。また、把持制御部112は、バットBに格納されたスパゲティSのうち、所定の把持重量分を把持対象として、スパゲティSを把持する際のアームAの内部のスパゲティSの密度を考慮して、把持対象を把持する制御を実行する。
【0085】
把持制御部112には、マシンパラメータ決定部121と、把持動作制御部122と、排出制御部124と、重量確認部123とが設けられる。
【0086】
マシンパラメータ決定部121は、スパゲティSを把持する制御に用いるマシンパラメータを決定する。
また、マシンパラメータ決定部121は、重量確認部123により確認されたスパゲティSの実重量を取得して、当該実重量に基づいて、次回以降の制御に用いるマシンパラメータを決定する、ことができる。
ここで、マシンパラメータ決定部121により決定されるパラメータは、以下のようなパラメータである。即ち例えば、図2のアームAの把持部A1の面A12や面A13の位置、アームAの把持部A1をスパゲティSに差し込む角度、アームAの把持部A1の面A11乃至面A14の相互の位置を異ならせる力、面A11乃至A14がスパゲティSを押さえる圧力、アームAの把持部A1をスパゲティSに差し込む深さ等が、存在する。
なお、マシンパラメータ決定部121は、モデルDB2からマシンパラメータの決定に係るモデルを取得して、マシンパラメータを決定する。
【0087】
把持動作制御部122は、マシンパラメータ決定部121により決定されたマシンパラメータに基づいて、アームAによる把持の動作を制御する。
把持動作制御部122は、重力方向制御部131と、横方向制御部132とを有する。
【0088】
重力方向制御部131は、マシンパラメータ決定部121により決定されたマシンパラメータに基づいて、アームAの把持部A1の面A12及び面A14によりスパゲティSを挟む方向の制御を実行する。
【0089】
横方向制御部132は、マシンパラメータ決定部121により決定されたマシンパラメータに基づいて、アームAの把持部A1の面A11及び面A13によりスパゲティSを挟む方向の制御を実行する。
【0090】
重量確認部133は、把持動作制御部122の制御によりアームAに把持された把持対象の実重量を確認する。
即ち例えば、重量確認部133は、アームAの把持部A1を制御することにより、把持されたスパゲティSの体積と圧力の関係を取得する。更に言えば、重量確認部133は、把持されたスパゲティSの体積を縮小させ、その際の圧力を取得する。重量確認部133は、このように取得された、把持されたスパゲティSの体積と圧力の関係に基づき、把持されたスパゲティSの実重量を推定することにより、確認する。なお、この場合、重量確認部133は、モデルDB2からスパゲティSの実重量の推定に係るモデルを、モデルDB2から取得して、スパゲティSの実重量を推定する。
また例えば、重量確認部133は、把持されたスパゲティSを図示せぬ重量計に排出し、当該重量計により取得された排出されたスパゲティSの重量を取得する。即ち、重量確認部133は、図示せぬ重量計の測定結果に基づいて把持されたスパゲティSの実重量を確認する。
【0091】
重量確認部133により確認された実重量が目標重量に基づいて定められる所定の範囲に含まれていない場合、後述する外乱排除部113は、外乱の排除を実行する。
【0092】
排出制御部124は、皿Dの排出座標Tを取得して、把持制御部112による制御がなされた後に、アームAにより把持されていた把持対象を、皿Dの排出座標Tに排出する制御を実行する。
ここで、カメラC2は、上述したように、次の排出先である皿D2を撮像する。カメラC2により撮像された結果得られる撮像画像のデータは、後述する排出制御部124に提供される。即ち、排出制御部124は、カメラC2により撮像された結果得られる撮像画像のデータに基づいて、皿D上の排出座標Tを取得して、アームAにより把持されていた把持対象を、皿Dの排出座標Tに排出する制御を実行する。なお、この際、排出制御部124は、モデルDB2から、皿D上の排出座標Tの推定に係るモデルを、モデルDB2から取得して、皿D上の排出座標Tを推定することができる。
【0093】
外乱排除部113は、スパゲティSの把持重量の変動要素となる外的要因を、物理的及びアルゴリズム的のうち少なくとも1つの方針により排除する。
【0094】
外乱排除部113には、把持制御前外乱排除部141と、把持制御時外乱排除部142とが設けられる。
【0095】
把持制御前外乱排除部141は、把持制御部112により把持対象を把持する制御を実行される前に、スパゲティSの状態を維持する制御を実行することで、外的要因を物理的に排除する。即ち例えば、把持制御前外乱排除部141は、図4のバットBに格納されたスパゲティSの配置といった状態を維持する制御を実行することで、外的要因を物理的に排除する。なお、この場合、把持制御前外乱排除部141は、モデルDB2からスパゲティSの状態と把持重量との関係に基づくスパゲティSの状態の推定に係るモデルを、モデルDB2から取得して、スパゲティSの状態を推定することができる。このように推定されたスパゲティSの状態に基づき、把持制御前外乱排除部141は、スパゲティSの状態を維持する制御を実行する。
【0096】
把持制御時外乱排除部142は、把持制御部112により制御が実行されている最中に、前記外的要因を排除する。
即ち例えば、把持制御時外乱排除部142は、アームAによる把持の動作中に、アームAに把持されているスパゲティSのうち目標重量を超えた分を、アームAによる把持の状態から解除させる制御を実行することで、前記外的要因を物理的に排除する。即ち例えば、後述する把持動作制御部122の制御によりスパゲティSを目標重量より把持しすぎた場合、把持制御時外乱排除部142は、スパゲティSを把持した状態においてアームAを揺らすことにより、粘着力により付着しているスパゲティS同士のうち一部又は全部を落とす。これにより、把持制御時外乱排除部142は、アームAに把持されているスパゲティSのうち目標重量を超えた分を、アームAによる把持の状態から解除させる。この時、把持制御時外乱排除部142は、上述の重量確認部133により確認された実重量に基づいて、アームAに把持されているスパゲティSのうち目標重量を超えた分がどの程度なのかを取得することができる。
また例えば、把持制御時外乱排除部142は、アームAによる把持の動作後に、アームAに付着されたスパゲティSをアームAから解除させる制御を実行することで、スパゲティSを把持する制御における外的要因を物理的に排除する。即ち例えば、排出制御部124の制御により、皿Dに把持されたスパゲティSを排出した後に、スパゲティSの粘着力の要素により付着されたスパゲティSをアームAから解除させる制御を実行する。具体的には例えば、把持制御時外乱排除部142は、皿Dの上でアームAを揺らす制御を実行することにより、アームAに付着されたスパゲティSをアームAから解除させる。
【0097】
図11は、図10の機能的構成を有する制御装置が実行する、把持処理の流れの一例を説明するフローチャートである。
スパゲティSを排出するべき次の皿Dが提供されると、把持処理が開始されて、次のようなステップS1乃至S12の処理が実行される。
【0098】
即ち、ステップS1において、把持制御前外乱排除部141は、状態の維持をする。即ち、ステップS1において、把持制御前外乱排除部141は、把持制御部112により把持対象を把持する制御を実行される前に、スパゲティSの状態を維持する制御を実行することで、外的要因を物理的に排除する。
【0099】
ステップS2において、領域選定部111は、把持領域を選定する。即ち、ステップS1において、把持制御部112によるスパゲティSを把持する制御がなされる前に、当該制御の対象となるスパゲティSを認識し、その認識の結果に基づいて把持対象となるスパゲティSを含む領域を選定する。
【0100】
ステップS3において、マシンパラメータ決定部121は、把持パラメータを決定する。即ち、ステップS3において、マシンパラメータ決定部121は、スパゲティSを把持する制御に用いるマシンパラメータを決定する。
【0101】
ステップS4において、把持制御前外乱排除部141は、把持領域を整える。即ち、把持制御前外乱排除部141は、図4のバットBに格納されたスパゲティSの配置や茹で加減といった状態を維持する制御を実行することで、外的要因を物理的に排除する。
【0102】
ステップS5において、把持制御部112は、把持処理において、把持の制御が試行内で1回目であるか否かを判定する。
ここで、「試行内で1回目」とは、皿DにスパゲティSを排出するための把持の動作の試行のうち1回目をいう。即ち、詳しくは後述するが、把持されたスパゲティSの重量予測結果が範囲内ではない場合等に、把持の動作を再度実行する。この場合、試行内で2回目や3回目と回数が増える。
試行内で1回目である場合、ステップS5の処理においてYESであると判定されて、処理はステップS7に進む。
試行内で1回目でない場合、ステップS5の処理においてNOであると判定されて、処理はステップS6に進む。処理がステップS6に進んだ場合、ステップS6の処理の後に処理はステップS7に進む。そこで、以下、ステップS5の処理においてNOであると判定されたものとして説明する。
【0103】
ステップS6において、マシンパラメータ決定部121は、把持パラメータの補正をする。即ち、マシンパラメータ決定部121は、重量確認部123により確認されたスパゲティSの実重量を取得して、当該実重量に基づいて、次回以降の制御に用いるマシンパラメータを決定する。ここで、次回以降とは、後述する把持されたスパゲティSの重量予測結果が範囲内ではない場合等に把持の動作を再度実行する回や、スパゲティSを皿Dに排出した後、次の皿Dに排出するための制御を実行する回を含む。
【0104】
ステップS7において、重力方向制御部131は、重力方向の力を制御する。即ち、重力方向制御部131は、マシンパラメータ決定部121により決定されたマシンパラメータに基づいて、アームAの把持部A1の面A12及び面A14によりスパゲティSを挟む方向の制御を実行する。
【0105】
ステップS8において、横方向制御部132は、横方向の力を制御する。即ち、横方向制御部132は、マシンパラメータ決定部121により決定されたマシンパラメータに基づいて、アームAの把持部A1の面A11及び面A13によりスパゲティSを挟む方向の制御を実行する。
【0106】
ステップS9において、重量確認部123は、重量予測結果が範囲内か否かを判定する。
確認された重量予測結果が範囲内である場合、ステップS9の処理においてYESと判定され、処理は終了する。
確認された重量予測結果が範囲内でない場合、ステップS9の処理においてNOと判定され、処理はステップS10に進む。以下、ステップS9の処理においてNOと判定されたものとして説明する。
【0107】
ステップS10において、把持制御時外乱排除部142は、調整可能か否かを判定する。
調整可能であると判定された場合、ステップS10の処理においてYESと判定され、処理はステップS11に進む。
調整可能でないと判定された場合、ステップS10の処理においてNOと判定され、処理はステップS5に進む。即ち、調整可能でない場合、把持制御時外乱排除部142は、把持されたスパゲティSをバットBに排出し、ステップS5の処理に進む。
以下、ステップS10の処理においてYESと判定されたものとして説明する。
【0108】
ステップS11において、排出制御部は、付着分を解除する。即ち例えば、ステップS11において、排出制御部124は、皿Dに把持されたスパゲティSを排出した後に、スパゲティSの粘着力の要素により付着されたスパゲティSをアームAから解除させる制御を実行する。
【0109】
ステップS12において、重量確認部123は、排出された重量が所定の範囲内か否かを判定する。即ち例えば、重量確認部123は、アームAに備えられた重量センサにより取得された排出の前後における重量の差分に基づき、排出されたスパゲティSの重量が所定の範囲内か否かを判定する。
排出された重量が所定の範囲内であると判定された場合、ステップS12の処理においてYESと判定され、処理は終了する。
排出された重量が所定の範囲内でないと判定された場合、ステップS12の処理においてNOと判定され、処理はステップS5に進む。即ち例えば、排出された重量が所定の範囲内でない場合、皿Dに排出されたスパゲティSは目標重量に基づく所定の範囲内でないため、製品としては不良品であると判定される。
なお、排出されたスパゲティSの重量は、排出されたスパゲティSを含む皿Dの重量の測定や、スパゲティSを排出した後のアームAの状態といった各種各様な情報に基づいて判定されてよい。
【0110】
以上、図11を用いて、図10の機能的構成を有する制御装置が実行する、把持処理の流れの一例を説明するフローチャートについて説明した。
【0111】
以上、本発明が適用される把持システムの実施形態を説明してきた。しかしながら、本発明が適用される実施形態は、例えば次のようなものであってもよい。
【0112】
本実施形態では、スパゲティSの把持重量の変動要素となる外的要因を排除するため、以下のような制御を実行したが、特にこれに限定されない。
【0113】
即ち例えば、本実施形態では、制御装置1は、把持対象の物品を所定の目標重量分だけ把持するために、把持対象の物体を把持する体積V及び密度を変化させるものとしたが特にこれに限定されない。即ち、制御装置1は、把持対象の物品を所定の目標重量分だけ把持するために、把持対象の物体を把持する体積V及び密度のうち少なくとも1方を変化させれば足りる。即ち、非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体は、体積V又は圧力をパラメータとして制御することで、一定の重量分だけ把持することができる。即ち、制御端末1は、所定の目標重量分だけ把持するためには、体積V及び密度のうち少なくとも1方を制御すれば足りる。
なお、制御端末1は、把持対象の物体(ここではスパゲティS)を把持する圧力について、各種の条件を満たすように決定や変化させるのが好適である。具体的には例えば、スパゲティSを把持する圧力は、スパゲティSが切断されない圧力かつ、スパゲティSを持ち上げることができる圧力が好適である。
【0114】
また、本実施形態では、スパゲティSの把持重量の変動要素となる外的要因を排除するため、以下のような制御を実行したが、特にこれに限定されない。
【0115】
また例えば、本実施形態では、バットBに格納されたスパゲティSを寄せることによりスパゲティSの把持重量の変動要素となる外的要因を排除するものとしたが、特にこれに限定されない。即ち例えば、押込部B2を有しないバットBであって、当該バットBは、全体を揺らす制御が実行されてもよい。これにより、バットBに格納されたスパゲティSを均一にならすことができる。即ち、バットBのスパゲティSの配置を変更可能であれば足りる。
【0116】
また例えば、本実施形態では、制御端末1は、バットBにおけるスパゲティSの高さの分布に基づいて把持領域を決定するとしたが、特にこれに限定されない。即ち例えば、制御端末1は、カメラC1により撮像された結果得られる撮像画像のデータに基づいて、スパゲティSの粗密を判定し、当該粗密の情報に基づいて、把持領域を決定してもよい。この場合であっても、目標重量分の把持対象を排出する制御における外的要因を排除することができる。即ち、制御端末1は、把持対象の配置に基づいて把持領域を選定できれば足りる。
更に言えば、本実施形態では、図4に示すようにXb-Yb平面に平行な領域Rが把持領域として選定されたが、特にこれに限定されない。即ち例えば、所定の高さの領域Rが把持領域として選定されてもよい。具体的には例えば、領域選定部111は、把持領域として、バットBにおけるXb-Yb平面上の位置と、更に軸Zb上の位置の3次元的な把持領域を選定してもよい。
また例えば、把持領域は、以下のようなアルゴリズムにより、選定されてもよい。即ち例えば、スパゲティSの配置に基づく粗密を判定するのではなく、夫々の位置における高さに基づいてスパゲティSの山の形状を判定し、当該山の形状を積分することにより、スパゲティSの体積を計算して、3次元的な把持領域を選定してもよい。
即ち、把持領域の選定のアルゴリズムには、把持領域の選定に係る情報処理の量やカメラC1の精度といった様々な条件により、各種各様なアルゴリズムが採用されてよい。
【0117】
なお、スパゲティSには、以下のような外的要因が考えられる。具体的には例えば、麺同士の絡まりにより、アームに接していない部分で麺が余分に取れる。また例えば、密度を保ったまま持ち上げることができず、密度が疎となる。また例えば、茹でたてと、時間が経った状態で麺の重量や粘着力が異なる。また例えば、麺の高さが低いと、十分な力で押さえつけることができない。そこで、制御端末1は、これらの外的要因を排除するべく、スパゲティSを把持する制御が実行される前、把持の動作中、及び把持の動作後のうち何れか1つのステップにおいて、外的要因を排除すれば、把持重量を目標重量に近づけることができる。
【0118】
また例えば、本実施形態では、非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体としてスパゲティを採用して説明したが、例えば以下のような物体を対象とすることができる。即ち例えば、非定型、軟体物、及び粘着力といった要素を有する食品は、上述のスパゲティSといった麺類だけでなく、ひじき等の惣菜や肉等幅広い。例えば、本実施形態が適用された食品工場において、以下の食品の把持が可能となる。即ち、麺類(ラーメン、パスタ、うどん等)や、傷つきやすい青果(トマト、モモ、イチゴ等)、細かい惣菜(ひじき、切り干し大根、おかか等)、個々に異なる大きさとなる食品(ハンバーグ、焼き魚、パン等)の把持が可能となる。更に言えば、例えば、工業製品等であってもよい。即ち、本発明は、食品工場以外のあらゆる分野に適用が可能である。
【0119】
また例えば、本実施形態では、アームAの把持部A1は、図2を用いて構造や動作を説明したが、特にこれに限定されない。アームAの把持部A1は、アームAの把持部A1で囲われる領域の体積や密度を制御することができる構造であれば足りる。
【0120】
また、制御装置1は、所定の目標重量分のスパゲティSを把持できないと判断した場合や、実際に目標重量分のスパゲティSを把持できなかった場合、バットBの動作を制御することにより、スパゲティSの配置を整えることができるとしたが、特にこれに限定されない。即ち、制御装置1がバットBの動作を制御してスパゲティSの配置を整えるのは、上述の場合に限定されない。具体的には例えば、制御装置1は、バットBの中からスパゲティSを把持する領域を選定する前に、毎回バットBの動作を制御してスパゲティSの配置を整えてもよい。
【0121】
また、状態維持のステップST11や把持制御前外乱排除部141の説明において、制御装置1は、把持対象のスパゲティSの状態を維持するものとして説明したが、スパゲティSの状態は、バットBに格納されたスパゲティSの配置に限定されない。具体的には例えば、制御装置1は、以下のように、スパゲティSの状態を維持することもできる。
例えば、同じ体積Vや圧力で把持した場合であっても、茹ですぎたスパゲティSは、適正な茹で加減のスパゲティSと異なる重量分だけ把持される。制御装置1は、実際に把持されたスパゲティSの重量を確認し、制御装置は、確認したその重量に基づいて、スパゲティSの状態が維持されているか否かを検出する。スパゲティSの状態が維持されていない場合、制御装置1は、図1に示す把持システムの前段の工程に「スパゲティSの状態が維持されていない」という情報をフィードバックする。具体的には例えば、スパゲティSの弾力がなくなっている状態の場合、弾力があるという状態が維持されていない原因は、スパゲティSを茹ですぎたという理由と判定できる。この場合、制御装置1は、当該理由の情報もフィードバックする。これにより、把持システムの前の工程において、スパゲティSを茹でる時間を短縮する等の調整がされる。この結果、ステップST11において、制御装置1は、スパゲティSの状態が維持されていると検出されるようになる。このように状態維持のステップST11が繰り返されることにより、スパゲティSの状態は維持される。
即ち、状態維持のステップST11において、制御装置1は、把持対象のスパゲティSについて、バットBにおける配置や茹で時間や油量といったスパゲティSの品質といった各種各様な状態を維持する制御を行うことができる。
【0122】
即ち例えば、スパゲティSの状態が維持されていない理由として、茹ですぎを例にあげたが、制御端末1は、他の理由を発見し、把持システムの前の工程に当該理由をフィードバックするものであってよい。即ち、制御端末1は、各種各様な把持対象の状態が維持されていない理由を発見することができると好適である。なお、単にスパゲティSの状態が維持されていないという情報が把持システムの管理者等に通知されるのみであっても、精度よく目標重量分のスパゲティSを排出するためには有益である。
【0123】
また、マシンパラメータ決定部121は、モデルDB2からマシンパラメータの決定に係るモデルを取得して、マシンパラメータを決定するとしたが、特にこれに限定されない。即ち例えば、複数回の把持の繰り返しにおいて、制御端末1は、把持の結果(把持の制御に係るパラメータとその把持重量の確認結果)を用いて、モデルを更新してもよい。また、この時、制御端末は、更新されたモデルに基づき、次の把持の制御を実行する。このように複数回の把持の繰り返しによりモデルを更新することにより、以下のような効果を奏する。
即ち、状態の維持による外的要因の排除により、スパゲティSの状態は維持される。しかしながら、スパゲティSの茹で時間や茹でてからの経過時間、まぶされた油の量等の状態の変化は、少なからず発生する。そこで、複数回の把持の繰り返しにおける把持の結果をモデルに適用してモデルを更新することにより、制御端末1は、最新のスパゲティSの状態に適応した把持の制御を実行することができる。
なお、モデルの更新の処理は、制御端末1から学習装置3に把持の結果の情報が提供されることにより、学習装置3におけるディープラーニングの手法の実行により、行われてもよい。この場合、モデルの更新に係るCPU等の負荷は、制御端末1ではなく学習装置3により提供される点で好適である。
【0124】
また例えば、本実施形態の説明において、図11のステップS6において、マシンパラメータ決定部121は、把持パラメータの補正をするとしたが、以下のように補正をすることができる。
即ち例えば、把持パラメータの補正は、モデルDB2から把持パラメータの補正に係るモデルを取得して、把持パラメータ(マシンパラメータ)を決定することができる。具体的には例えば、まず、重量確認部123は、補正前のマシンパラメータとそのモデルや把持されたスパゲティSの体積と圧力の関係に基づき、把持されたスパゲティSの実重量を予想する。マシンパラメータ決定部121は、把持パラメータの補正として、予想された実重量に対して目標重量との差分を補正するアームパラメータを決定することができる。
また、図11のステップS6において補正される把持パラメータは、体積Vや圧力、アームAの把持部A1をスパゲティSに差し込む角度等、各種各様なパラメータであってよい。具体的には例えば、補正される把持パラメータには、体積Vや密度(制御においては圧力)が考えられる。しかしながら、体積V及び密度のうち、把持重量に対する関係性の誤差は、体積Vの方が少ない。このため、補正される把持パラメータは、体積Vが好適である。
【0125】
また例えば、上述の説明において、カメラC2は、次の排出先である皿D2を被写体として撮像するものとした。また、制御装置1は、カメラC2から提供された撮像された撮像画像のデータや当該データを解析して得られた排出先の位置座標である排出座標に基づいて、アームAやそのアームAの把持部A1を制御するものとしたが、特にこれに限定されない。即ち例えば、排出座標は、事前に指定された排出先の位置座標であってよい。具体的には例えば、皿D2は、ベルトコンベヤL等により、一定の位置に搬送されるようにしてもよい。この場合、皿D2が搬送される一定の位置座標が、排出座標として予め入力されていてもよい。
【0126】
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、上述の機能的構成は例示に過ぎず、特に限定されない。
即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に限定されない。また、機能ブロックの存在場所も、特に限定されず、任意でよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0127】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0128】
このようなプログラムを含む記録媒体は、ユーザ等にプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザ等に提供される記録媒体等で構成される。
【0129】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0130】
以上を換言すると、本発明が適用される制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
【0131】
即ち、本発明が適用される制御装置(例えば図1図10の制御装置1)は、
非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体(例えば、図1のスパゲティS)をアーム(例えば、図1のアームA)で把持する制御を実行する制御装置であって、
前記物体のうち、所定の目標重量分を把持対象(例えば、図6の把持されたスパゲティHS)として、前記物体を把持する際の前記アームで囲われる領域の体積(例えば、図2の体積V)を考慮して、当該把持対象を把持する制御を実行する、
把持制御手段(例えば、図10の把持制御部112)、
を備える制御装置であれば足りる。
【0132】
これにより、把持対象である非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体の実際に把持される体積を変化させることができる。即ち、把持された物体の重量を可変させる要素の1つである体積を変化させることができる。これにより、本発明は目標重量分を把持対象として把持する制御を実行することができる。
【0133】
また、本発明が適用される制御装置(例えば図1図10の制御装置1)は、
非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体(例えば、図1のスパゲティS)をアーム(例えば、図1のアームA)で把持する制御を実行する制御装置であって、
前記物体のうち、所定の目標重量分を把持対象(例えば、図6の把持されたスパゲティHS)として、前記物体を把持する際の前記アームの内部の前記物体の密度(例えば、図2の体積を変化させた際の力に対応する圧力)を考慮して、当該把持対象を把持する制御を実行する、
把持制御手段(例えば、図10の把持制御部112)、
を備える制御装置であれば足りる。
【0134】
これにより、把持対象である非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体の実際に把持される圧力を変化させることができる。即ち、把持された物体の重量を可変させる要素の1つである圧力を変化させることができる。これにより、本発明は目標重量分を把持対象として把持する制御を実行することができる。
【0135】
更に、前記把持制御手段は、
さらに、前記物体を把持する際の前記アームで囲われる領域の体積(例えば、図2の体積)を考慮して、当該把持対象を把持する制御を実行する、ことができる。
【0136】
これにより、把持対象である非定型、軟体物、及び粘着力のうち少なくとも1つの要素を有する物体の実際に把持される体積及び密度を変化させることができる。即ち、把持された物体の重量を可変させる要素である体積と密度の積を変化させることができる。これにより、本発明はより精度よく、目標重量分を把持対象として把持する制御を実行することができる。
【0137】
更に、前記物体の前記把持重量の変動要素となる外的要因を、物理的及びアルゴリズム的のうち少なくとも1つの方針により排除する外乱排除手段(例えば、図10の外乱排除部113)、
をさらに備える、ことができる。
【0138】
これにより、把持する制御が実行される前、把持の動作中、及び把持の動作後といった様々なタイミングにおける外的要因を排除することができる。
【0139】
更に、前記外乱排除手段は、
前記把持制御手段により前記制御が実行される前に、前記物体の状態(例えば、図4のバットBに格納されたスパゲティSの配置や茹で加減)を維持する制御を実行することで、前記外的要因を物理的に排除する第1外乱排除手段(例えば、図10の把持制御前外乱排除部141)、
を有する、ことができる。
【0140】
これにより、把持対象の把持する前における状態(例えば、茹ですぎの有無や配置の違い)といった物理的な理由による把持の制御の結果のずれを低減や排除することができる。
【0141】
更に、前記外乱排除手段は、
前記把持制御手段により前記制御が実行されている最中に、前記外的要因を排除する第2外乱排除手段(例えば、図10の把持制御時外乱排除部142)、
を有する、ことができる。
【0142】
これにより、把持対象の把持する最中における状態(例えば、把持対象の物体の粘着や絡みつきによる把持のし過ぎの状態や、把持対象の物体の粘着により排出しきれないという状態)といった物理的な理由による把持の制御の結果のずれを排除することができる。
【0143】
更に、前記第2外乱排除手段は、
前記アームによる把持の動作中に、当該アームに把持されている前記把持重量分の前記把持対象のうち前記目標重量を超えた分を、当該アームによる把持の状態から解除させる制御を実行することで、前記外的要因を物理的に排除する、ことができる。
【0144】
これにより、把持対象の把持の動作中における状態(例えば、把持対象の物体の粘着や絡みつきによる把持のし過ぎの状態)といった物理的な理由による把持の制御の結果のずれを排除することができる。
【0145】
更に、前記第2外乱排除手段は、
前記アームによる把持の動作後に、当該アームに付着された物体を前記アームから解除させる制御を実行することで、前記制御における前記外的要因を物理的に排除する、ことができる。
【0146】
これにより、把持対象の把持の動作後における状態(例えば、把持対象の物体の粘着により排除しきれないという状態)といった物理的な理由による把持の制御の結果のずれを排除することができる。
【0147】
更に、前記把持制御手段は、
前記制御に用いるマシンパラメータを決定するマシンパラメータ決定手段(例えば、図10のマシンパラメータ決定部121)と、
決定された前記マシンパラメータに基づいて、前記アームによる把持の動作を制御する把持動作制御手段(例えば、図10の把持制御部112)と、
を有する、ことができる。
【0148】
これにより、制御手段は、実際にアームをどのように制御するかのマシンパラメータを決定し、当該マシンパラメータに基づいてアームを制御することができる。
【0149】
更に、前記把持制御手段は、
前記把持手段の制御により前記アームに把持された前記把持対象の実重量を確認する重量確認手段(例えば、図10の重量確認部123)、
をさらに有し、
前記マシンパラメータ決定手段は、
前記重量確認手段により確認された前記実重量を取得して、前記実重量に基づいて、次回以降の前記制御に用いるマシンパラメータを決定する、ことができる。
【0150】
これにより、制御装置は、実重量に基づいて再度マシンパラメータを決定して把持の制御を再度実行したり、最新の把持の結果に基づいて、次の把持の制御のマシンパラメータを決定したりすることができる。
【0151】
更に、前記把持制御手段による前記制御がなされる前に、当該制御の対象となる前記物体を認識し、その認識の結果に基づいて前記把持対象を含む領域を選定する領域選定手段(例えば、図10領域選定部111)、
をさらに備える、ことができる。
【0152】
これにより、制御装置は、把持前の制御の対象となる前記物体の配置等に基づいて、把持の制御を実行することができる。
【0153】
更に、前記把持制御手段による前記制御がなされた後に、前記アームにより把持されていた前記把持対象を、所定場所に排出する制御を実行する排出手段(例えば、図10の排出制御部124)、
をさらに備える、ことができる。
【0154】
これにより、制御装置は、アームの制御により、把持した物体を所定場所に排出することができる。即ち、把持して排出する一連の処理が可能となる。
【0155】
更に、前記排出手段は、
前記所定場所が存在する座標を取得して、当該座標に前記把持対象を排出する前記制御を実行する、ことができる。
【0156】
これにより、制御装置は、アームの制御により、排出先の座標に的確に排出する制御を実行することができる。
【符号の説明】
【0157】
1・・・制御装置、11・・・CPU、18・・・記憶部、111・・・領域選定部、112・・・把持制御部、113・・・外乱排除部、121・・・マシンパラメータ決定部、122・・・把持動作制御部、123・・・重量確認部、124・・・排出制御部、131・・・重力方向制御部、132・・・横方向制御部、141・・・把持制御前外乱排除部、142・・・把持制御時外乱排除部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11