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

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

▶ 株式会社デンソーウェーブの特許一覧

<>
  • 特開-機械学習装置及びロボットシステム 図1
  • 特開-機械学習装置及びロボットシステム 図2
  • 特開-機械学習装置及びロボットシステム 図3
  • 特開-機械学習装置及びロボットシステム 図4
  • 特開-機械学習装置及びロボットシステム 図5
  • 特開-機械学習装置及びロボットシステム 図6
  • 特開-機械学習装置及びロボットシステム 図7
  • 特開-機械学習装置及びロボットシステム 図8
  • 特開-機械学習装置及びロボットシステム 図9
  • 特開-機械学習装置及びロボットシステム 図10
  • 特開-機械学習装置及びロボットシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022162857
(43)【公開日】2022-10-25
(54)【発明の名称】機械学習装置及びロボットシステム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20221018BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021067894
(22)【出願日】2021-04-13
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【弁理士】
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【弁理士】
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】山本 洋介
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707DS01
3C707ES03
3C707ET08
3C707KS03
3C707KS07
3C707KS08
3C707KS34
3C707KS36
3C707KT01
3C707KT06
3C707KX08
3C707LT12
3C707LV07
3C707LV10
3C707LW12
3C707LW15
3C707NS26
(57)【要約】
【課題】低反力且つ不定形となる対象物を適切に把持可能なロボットシステムを実現すること。
【解決手段】ロボットシステムは、一組の可動爪が設けられたハンド部を有し、ワークをそれら可動爪によって挟むことにより把持するロボット20と、ロボット20を制御する制御装置70とを備えている。制御装置70には、把持位置へハンド部を配置する配置動作及び当該把持位置にて可動爪を互いに近づく側に変位させる把持動作が実行されるようにロボット20を制御する上位コントローラ80と、ワークを把持する場合に設定された停止基準データ、把持位置に配置されたハンド部の各可動爪とワークとの距離を示す距離データ、把持動作前後でのワークの変形量を示す比較データを各々取得し、それら停止基準データ、距離データ及び比較データを用いた機械学習により把持動作の動作態様の設定に用いられるモデルを構築する機械学習装置90とが設けられている。
【選択図】 図5
【特許請求の範囲】
【請求項1】
一組の可動爪が設けられた把持部を有し、対象物をそれら可動爪によって挟むことにより把持するロボットと、
前記一組の可動爪の間に前記対象物が位置することとなる所定位置へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置と
を備え、
前記制御装置は、前記把持動作中に前記対象物からの反力が基準値となった場合又は前記一組の可動爪の相対距離が基準値となった場合に前記一組の可動爪の前記変位を停止させるように構成されているロボットシステムであって、
前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整する調整動作を実行可能となっており、
前記把持動作を停止させる前記基準値は、可変値であり、
前記対象物を把持する場合に設定された前記基準値を示す停止基準データと、前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データとを取得し、それら停止基準データ、距離データ及び比較データを用いた機械学習により前記調整動作及び前記把持動作を含む所定動作の動作態様の設定に用いられるモデルを構築するモデル構築部を備え、
前記制御装置は、
前記把持部が前記所定位置に配置された場合に、当該把持部の各可動爪と前記対象物との距離を示す前記距離データを取得する取得部と、
前記ロボットの前記所定動作の動作態様を設定する設定部と
を有し、
前記設定部は、前記取得部により取得された前記距離データと、前記モデル構築部により構築された前記モデルとに基づいて前記所定動作の動作態様を設定可能となっているロボットシステム。
【請求項2】
前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状と当該把持動作が行われた後と当該対象物の形状との違いを示すデータを前記比較データとして取得する請求項1に記載のロボットシステム。
【請求項3】
前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状を示す形状データと、前記対象物の基準方向と前記一組の可動爪が当該対象物を挟む方向との関係を示す方向データとを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記形状データと、前記方向データとを関連付けて前記機械学習を行う請求項1又は請求項2に記載のロボットシステム。
【請求項4】
前記一組の可動爪において前記対象物に当たる部分は面状をなしており、
前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状を示す形状データと、前記対象物を把持している状態での前記一組の可動爪と前記対象物との接触面積を示す接触面積データとを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記形状データと、前記接触面積データとを関連付けて前記機械学習を行う請求項1乃至請求項3のいずれか1つに記載のロボットシステム。
【請求項5】
前記制御装置は、前記把持動作を実行する場合に、設定された速度となるようにして前記一組の可動爪を変位させる構成となっており、
前記速度は、可変値であり、
前記モデル構築部は、前記対象物に向けて各前記可動爪が変位する際の変位速度を示す速度データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記速度データとを関連付けて前記機械学習を行う請求項1乃至請求項4のいずれか1つに記載のロボットシステム。
【請求項6】
前記モデル構築部は、前記把持動作が実行される前の前記対象物の位置を示す位置データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記位置データとを関連付けて前記機械学習を行う請求項1乃至請求項5のいずれか1つに記載のロボットシステム。
【請求項7】
前記モデル構築部は、前記対象物を把持する際の前記ロボットの姿勢を示す姿勢データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記姿勢データとを関連付けて前記機械学習を行う請求項1乃至請求項6のいずれか1つに記載のロボットシステム。
【請求項8】
前記モデル構築部は、前記ロボットの周辺の環境を示す環境データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記環境データとを関連付けて前記機械学習を行う請求項1乃至請求項7のいずれか1つに記載のロボットシステム。
【請求項9】
前記設定部は、前記取得部により取得された前記距離データが前記モデルにより規定されている範囲内の距離を示すデータである場合には、前記一組の可動爪と前記対象物との相対位置を調整することなく当該対象物を把持するように動作態様を設定し、前記取得部により取得された前記距離データが前記モデルにより規定されている範囲外の距離を示すデータである場合には、前記一組の可動爪と前記対象物との相対位置を調整した後に当該対象物を把持するように動作態様を設定する構成となっている請求項1乃至請求項8のいずれか1つに記載のロボットシステム。
【請求項10】
一組の可動爪が設けられた把持部を有し、対象物をそれら可動爪によって挟むことにより把持するロボットと、
前記一組の可動爪の間に前記対象物が位置することとなる所定位置へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置と
を備えているロボットシステムであって、
前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整可能となっており、
前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データとを取得し、それら距離データ及び比較データを用いた機械学習により前記所定位置における前記把持部の位置調整の態様の設定に用いられるモデルを構築するモデル構築部を備え、
前記制御装置は、
前記把持部が前記所定位置に配置された場合に、当該把持部の各可動爪と前記対象物との距離を示す前記距離データを取得する取得部と、
前記取得部により取得された前記距離データと、前記モデル構築部により構築された前記モデルとに基づいて前記位置調整の態様を設定する設定部と
を有しているロボットシステム。
【請求項11】
一組の可動爪が設けられた把持部を有し、対象物をそれら可動爪によって挟むことにより把持するロボットと、前記一組の可動爪の間に前記対象物が位置することとなる所定位置へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置とを備え、前記制御装置は、前記把持動作中に前記対象物からの反力が基準値となった場合又は前記一組の可動爪の相対距離が基準値となった場合に前記一組の可動爪の前記変位を停止させるように構成され、前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整可する調整動作を実行可能なロボットシステムに適用される機械学習装置であって、
前記把持動作を停止させる前記基準値は、可変値であり、
前記対象物を把持する場合に設定された前記基準値を示す停止基準データと、前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データとを取得し、それら停止基準データ、距離データ及び比較データを用いた機械学習により前記調整動作及び前記把持動作を含む所定動作の動作態様の設定に用いられるモデルを構築するモデル構築部を備えている機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置及びロボットシステムに関する。
【背景技術】
【0002】
ロボットシステムには、ロボットのアームの先端に設けられた一組の可動爪(把持部)によって対象物(ワーク)を挟み込むことにより当該対象物を把持可能としているものがある。この種のロボットシステムにおいては、例えば可動爪用のモータの電流値の変化や対象物からの反力等を検出し、検出した値が予め設定された基準値に達した場合に可動爪を停止させるように構成したものが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2014-24134号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、対象物としてシュークリーム、大福、パン等の食品を想定した場合には、対象物として金属や合成樹脂からなる工業製品を想定した場合よりも、対象物の形状のばらつきが大きく(不定形)且つ把持した際の対象物からの反力が小さくなる(低反力)。上述の如く一組の可動爪により対象物を挟み込むようにして把持する場合には、1の可動爪が他の可動爪よりも先に対象物に当たることで対象物に加わる圧力が局所的に高くなったり、1の可動爪に押された対象物が当該対象物の載置面上を摺動したりし得る。特にシュークリーム等の対象物については形状のばらつきが大きいため、画像等から特定した対象物の位置に応じて把持部を配置した際に、各可動爪と対象物との距離に差が生じやすくなると想定される。このような差が生じた場合には、各可動爪が対象物に当たるタイミングがずれることとなる。そして、シュークリーム等の対象物については軟らかいため、例えば可動爪に押されて変形を伴いながら載置面上を摺動することで損傷(過度の変形を含む)する可能性が高くなり得る。このようして対象物が損傷することは製造工程等における歩留まりを低下させる要因となり、ロボットシステムの適用によって製造効率の向上等を図る上で妨げになると懸念される。このように、低反力且つ不定形となる対象物を適切に把持する上でロボットシステムに係る構成に未だ改善の余地がある。
【0005】
本発明は、上記事情に鑑みてなされたものであり、その主たる目的は、低反力且つ不定形となる対象物を適切に把持可能なロボットシステムを実現することにある。
【課題を解決するための手段】
【0006】
以下、上記課題を解決するための手段について記載する。
【0007】
第1の手段.一組の可動爪(可動爪38a,38b)が設けられた把持部(ハンド部38)を有し、対象物(ワークW)をそれら可動爪によって挟むことにより把持するロボット(ロボット20)と、
前記一組の可動爪の間に前記対象物が位置することとなる所定位置(把持位置)へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置(制御装置70)と
を備え、
前記制御装置は、前記把持動作中に前記対象物からの反力が基準値となった場合又は前記一組の可動爪の相対距離が基準値となった場合に前記一組の可動爪の前記変位を停止させるように構成されているロボットシステムであって、
前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整する調整動作を実行可能となっており、
前記把持動作を停止させる前記基準値は、可変値であり、
前記対象物を把持する場合に設定された前記基準値を示す停止基準データと、前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データ(例えばワークWの変形量)とを取得し、それら停止基準データ、距離データ及び比較データを用いた機械学習により前記調整動作及び前記把持動作を含む所定動作の動作態様の設定に用いられるモデル(動作設定モデル)を構築するモデル構築部(機械学習装置90)を備え、
前記制御装置は、
前記把持部が前記所定位置に配置された場合に、当該把持部の各可動爪と前記対象物との距離を示す前記距離データを取得する取得部(データ取得部85)と、
前記ロボットの前記所定動作の動作態様を設定する設定部(制御部84)と
を有し、
前記設定部は、前記取得部により取得された前記距離データと、前記モデル構築部により構築された前記モデルとに基づいて前記所定動作の動作態様を設定可能となっているロボットシステム。
【0008】
一組の可動爪により対象物(シュークリーム、大福、パン等)を把持する構成においては、可動爪の間に対象物が位置するようにして把持部を配置した場合に、各可動爪と対象物との距離に差が生じ得る。このような差は形状のばらつきが大きい対象物(不定形の対象物)にて顕著となる。そして、このような差が生じた場合には、各可動爪が対象物に当たるタイミングがずれる。ここで、対象物が軟らかい場合、すなわち反力が小さい場合には、そのようなタイミングのずれによって対象物が損傷する可能性が高くなると懸念される。ここで、本手段においては、停止基準データと、距離データと、比較データとを用いた機械学習により調整動作及び把持動作を含む所定動作の動作態様の設定に用いられるモデルが構築される。このような構成とすれば、最適な基準値を設定可能となるだけでなく、把持部の配置状況に応じて可動爪の位置が適切に調整される構成を実現可能となる。つまり、上記タイミングのずれに起因した対象物の損傷を抑制し、低反力且つ不定形の対象物を適切に把持可能なロボットシステムの実現に寄与できる。なお、対象物の損傷については上述したタイミングのずれる場合以外に、基準値が適正に設定されていない場合等にも発生し得る一方、上記比較データから損傷の要因を特定することは困難であると想定される。そこで、停止基準データ、距離データ、比較データの各データを機械学習用の入力データとすることにより所定動作(調整動作、把持動作)の適正化に好適に寄与できる。
【0009】
因みに、「比較データ」については、対象物の損傷の度合いを特定することができるのであれば任意であり、例えば形状の変化を示すデータや重量の変化を示すデータとするとよい。
【0010】
また、本手段に示す「所定動作の動作態様」については、調整動作の可否の設定や調整時の可動爪の変位量の設定を含む。
【0011】
第2の手段.前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状と当該把持動作が行われた後と当該対象物の形状との違いを示すデータを前記比較データとして取得する。
【0012】
低反力の対象物が損傷する場合には、重量の変化や形状の変化が生じる。このうち、重量の変化が生じる場合の多くは併せて形状も変化することとなるため、比較対象を形状とすることで対象物の損傷の度合いを機械学習に適切に反映させることができる。
【0013】
第3の手段.前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状を示す形状データと、前記対象物の基準方向(例えば対象物の画像にて最長となる2点を結ぶ方向:長手方向)と前記一組の可動爪が当該対象物を挟む方向との関係を示す方向データとを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記形状データと、前記方向データとを関連付けて前記機械学習を行う。
【0014】
低反力且つ不定形の対象物を把持する場合には、どの方向から挟むかによって上記タイミングのずれや荷重の影響が異なる可能性がある。言い換えれば、挟み方向によって調整不要となる対象物と各可動爪との位置関係等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに形状データ及び方向データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0015】
第4の手段.前記一組の可動爪において前記対象物に当たる部分は面状をなしており、
前記モデル構築部は、前記把持動作が実行される前の前記対象物の形状を示す形状データと、前記対象物を把持している状態での前記一組の可動爪と前記対象物との接触面積を示す接触面積データとを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記形状データと、前記接触面積データとを関連付けて前記機械学習を行う。
【0016】
低反力且つ不定形の対象物を把持する場合には、接触面積によって対象物への影響に差が生じる可能性がある。言い換えれば、接触面積によって調整不要となる対象物と各可動爪との位置関係等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに形状データ及び接触面積データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0017】
第5の手段.前記制御装置は、前記把持動作を実行する場合に、設定された速度となるようにして前記一組の可動爪を変位させる構成となっており、
前記速度は、可変値であり、
前記モデル構築部は、前記対象物に向けて各前記可動爪が変位する際の変位速度を示す速度データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記速度データとを関連付けて前記機械学習を行う。
【0018】
上述したタイミングのずれが発生する場合には、可動爪の変位速度によって対象物への影響に差が生じる可能性がある。言い換えれば、変位速度によって調整不要となる対象物と各可動爪との位置関係等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに速度データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0019】
第6の手段.前記モデル構築部は、前記把持動作が実行される前の前記対象物の位置を示す位置データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記位置データとを関連付けて前記機械学習を行う。
【0020】
ロボットシステムについては供給される対象物の位置についてある程度の許容範囲を設けることで当該システムの利便性を向上させることができる。但し、このような範囲を設けた場合には、当該範囲内のどの位置に対象物が供給されるかによって、当該対象物の把持動作を実行する場合の可動爪の当たり方等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに位置データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0021】
第7の手段.前記モデル構築部は、前記対象物を把持する際の前記ロボットの姿勢を示す姿勢データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記姿勢データとを関連付けて前記機械学習を行う。
【0022】
ロボットについては、対象物を把持する際の姿勢によって、対象物に対する可動爪の当たり方等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに姿勢データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0023】
第8の手段.前記モデル構築部は、前記ロボットの周辺の環境を示す環境データを取得し、前記停止基準データと、前記距離データと、前記比較データと、前記環境データとを関連付けて前記機械学習を行う。
【0024】
シュークリーム、大福、パン等の低反力且つ不定形の対象物については、温度や湿度等の環境条件に応じて固さが変化し得る。言い換えれば、環境条件によって調整不要となる対象物と各可動爪との位置関係等に違いが生じる可能性がある。そこで、本手段に示すように、第1の手段等に示した各種データに環境データを加えて機械学習を行う構成とすれば、第1の手段に示した効果を一層好適に発揮させることができる。
【0025】
第9の手段.前記設定部は、前記取得部により取得された前記距離データが前記モデルにより規定されている範囲内の距離を示すデータである場合には、前記一組の可動爪と前記対象物との相対位置を調整することなく当該対象物を把持するように動作態様を設定し、前記取得部により取得された前記距離データが前記モデルにより規定されている範囲外の距離を示すデータである場合には、前記一組の可動爪と前記対象物との相対位置を調整した後に当該対象物を把持するように動作態様を設定する構成となっている。
【0026】
機械学習によって位置調整の要否の見極めの適正化が期待できる。これは、対象物の損傷を抑制しつつ、ロボットシステムによる対象物の搬送効率等を向上させる上で好ましい。
【0027】
第10の手段.一組の可動爪(可動爪38a,38b)が設けられた把持部(ハンド部38)を有し、対象物(ワークW)をそれら可動爪によって挟むことにより把持するロボット(ロボット20)と、
前記一組の可動爪の間に前記対象物が位置することとなる所定位置(把持位置)へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置(制御装置70)と
を備えているロボットシステムであって、
前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整可能となっており、
前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データ(例えばワークWの変形量)とを取得し、それら距離データ及び比較データを用いた機械学習により前記所定位置における前記把持部の位置調整の態様の設定に用いられるモデルを構築するモデル構築部(機械学習装置90)を備え、
前記制御装置は、
前記把持部が前記所定位置に配置された場合に、当該把持部の各可動爪と前記対象物との距離を示す前記距離データを取得する取得部(データ取得部85)と、
前記取得部により取得された前記距離データと、前記モデル構築部により構築された前記モデルとに基づいて前記位置調整の態様を設定する設定部と
を有しているロボットシステム。
【0028】
一組の可動爪により対象物(シュークリーム、大福、パン等)を把持する構成においては、可動爪の間に対象物が位置するようにして把持部を配置した場合に、各可動爪と対象物との距離に差が生じ得る。このような差は形状のばらつきが大きい対象物(不定形の対象物)ほど顕著となる。このような差が生じた場合には、各可動爪が対象物に当たるタイミングがずれる。ここで、対象物が軟らかい場合、すなわち反力が小さい場合には、そのようなタイミングのずれによって対象物が損傷する可能性が高くなると懸念される。ここで、本手段においては、距離データ及び比較データを用いた機械学習により位置調整の態様の設定に用いられるモデルが構築される。このような構成とすれば、把持部の配置状況に応じて可動爪の位置が適切に調整される構成を実現可能となる。つまり、上記タイミングのずれに起因した対象物の損傷を抑制し、低反力且つ不定形の対象物を適切に把持可能なロボットシステムの実現に寄与できる。
【0029】
第11の手段.一組の可動爪(可動爪38a,38b)が設けられた把持部(ハンド部38)を有し、対象物(ワークW)をそれら可動爪によって挟むことにより把持するロボット(ロボット20)と、前記一組の可動爪の間に前記対象物が位置することとなる所定位置(把持位置)へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置(制御装置70)とを備え、前記制御装置は、前記把持動作中に前記対象物からの反力が基準値となった場合又は前記一組の可動爪の相対距離が基準値となった場合に前記一組の可動爪の前記変位を停止させるように構成され、前記所定位置に前記把持部が配置されている状況下にて、前記把持部を変位させることで前記対象物に対する前記一組の可動爪の位置を調整可する調整動作を実行可能なロボットシステムに適用される機械学習装置であって、
前記把持動作を停止させる前記基準値は、可変値であり、
前記対象物を把持する場合に設定された前記基準値を示す停止基準データと、前記所定位置に配置された前記把持部の各可動爪と前記対象物との距離を示す距離データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データ(例えばワークWの変形量)とを取得し、それら停止基準データ、距離データ及び比較データを用いた機械学習により前記調整動作及び前記把持動作を含む所定動作の動作態様の設定に用いられるモデルを構築するモデル構築部(機械学習装置90)を備えている機械学習装置。
【0030】
本手段に示す構成によれば、停止基準データと、距離データと、比較データとを用いた機械学習により所定動作(調整動作、把持動作)の動作態様の設定に用いられるモデルが構築される。このような構成とすれば、最適な基準値を設定可能となるだけでなく、把持部の配置状況に応じて可動爪の位置が適切に調整される構成を実現可能となる。つまり、各可動爪が対象物に当たるタイミングのずれに起因した対象物の損傷を抑制し、低反力且つ不定形の対象物を適切に把持可能な構成の実現に寄与できる。なお、対象物の損傷については上述したタイミングのずれ以外にも基準値が適正に設定されていない場合等にも発生し得る一方、上記比較データから損傷の要因を特定することは困難であると想定される。そこで、停止基準データ、距離データ、比較データの各データを機械学習用の入力データとすることにより把持動作の適正化に好適に寄与できる。
【0031】
第12の手段.一組の可動爪(可動爪38a,38b)が設けられた把持部(ハンド部38)を有し、対象物(ワークW)をそれら可動爪によって挟むことにより把持するロボット(ロボット20)と、
前記一組の可動爪の間に前記対象物が位置することとなる所定位置(把持位置)へ前記把持部を配置する配置動作及び当該所定位置にてそれら可動爪を互いに近づく側に変位させる把持動作が実行されるように前記ロボットを制御する制御装置(制御装置70)と
を備え、
前記制御装置は、前記把持動作中に前記対象物からの反力が基準値となった場合又は前記一組の可動爪の相対距離が基準値となった場合に前記一組の可動爪の前記変位を停止させるように構成されているロボットシステムであって、
前記把持動作にて前記一組の可動爪が変位する方向である挟み方向を調整可能となっており、
前記把持動作を停止させる前記基準値は、可変値であり、
前記対象物を把持する場合に設定された前記基準値を示す停止基準データと、前記把持動作を行う前の前記対象物の形状を示す形状データと、前記対象物の基準方向(例えば対象物の画像にて最長となる2点を結ぶ方向:長手方向)と前記挟み方向との関係を示す方向データと、前記把持動作の実行前の前記対象物の状態と当該把持動作が行われた後と当該対象物の状態との違いを示す比較データ(例えばワークWの変形量)とを取得し、それら停止基準データ、形状データ、方向データ及び比較データを用いた機械学習により前記配置動作及び前記把持動作の各動作態様の設定に用いられるモデルを構築するモデル構築部(機械学習装置90)を備え、
前記制御装置は、前記把持動作の実行前の前記対象物の前記形状データを取得する取得部を有し、前記取得部により取得された前記形状データと前記モデル構築部により構築された前記モデルとに基づいて前記配置動作及び前記把持動作の各動作態様を設定可能となっているロボットシステム。
【0032】
本手段においては、停止基準データと、形状データと、方向データと、比較データとを用いた機械学習により挟み方向の設定に用いられるモデルが構築される。このような構成とすれば、最適な基準値を設定可能となるだけでなく、対象物の形状に応じて挟み方向が適切に調整される構成を実現可能となる。つまり、対象物の損傷を抑制し、低反力且つ不定形の対象物を適切に把持可能なロボットシステムの実現に寄与できる。なお、対象物の損傷については挟み方向が適正に設定されていない場合だけでなく基準値が適正に設定されていない場合等にも発生し得る一方、上記比較データから損傷の要因を特定することは困難であると想定される。そこで、停止基準データ、形状データ、方向データ、比較データの各データを機械学習用の入力データとすることにより配置動作及び把持動作の適正化に好適に寄与できる。
【図面の簡単な説明】
【0033】
図1】第1の実施形態におけるロボットを示す概略図。
図2】ロボットシステムの電気的構成を示すブロック図。
図3】ロボットの動作態様を示す概略図。
図4】ハンド部を把持位置へ配置する際の流れを示す概略図。
図5】メイン制御装置の機能ブロック図。
図6】インプットデータの種類を示す概略図。
図7】動作設定モデル構築用のニューラルネットワークを示す概略図。
図8】(a)上位コントローラのCPUにて実行される動作態様設定処理を示すフローチャート、(b)上位コントローラのCPUにて実行される位置調整処理を示すフローチャート。
図9】機械学習装置のCPUにて実行される学習処理を示すフローチャート。
図10】第4の実施形態におけるインプットデータを示す概略図。
図11】第5の実施形態におけるインプットデータを示す概略図。
【発明を実施するための形態】
【0034】
<第1の実施形態>
以下、食品工場などで用いられるロボットシステムに具現化した第1の実施形態について図面を参照しつつ説明する。
【0035】
図1に示すように、ロボットシステム10は、垂直多関節型の産業用ロボットであるロボット20と、当該ロボット20を制御するモーションコントローラ60とを備え、それらロボット20及びモーションコントローラ60が相互に通信可能となるように接続されてなる。ロボット20は、ロボット本体30と当該ロボット本体30に付属するサーボアンプ50とで構成されている。
【0036】
ロボット本体30は、床等に固定されるベース部31と、ベース部31により支持されているショルダ部32と、ショルダ部32により支持されている下アーム部33と、下アーム部33により支持されている第1上アーム部34と、第1上アーム部34により支持されている第2上アーム部35と、第2上アーム部35により支持されている手首部36と、手首部36により支持されているフランジ部37とを有している。
【0037】
ベース部31及びショルダ部32には、それらベース部31及びショルダ部32を連結する第1関節部J1が形成されており、ショルダ部32は第1関節部J1の連結軸AX1を中心として水平方向に回動可能となっている。ショルダ部32及び下アーム部33には、それらショルダ部32及び下アーム部33を連結する第2関節部J2が形成されており、下アーム部33は第2関節部J2の連結軸AX2を中心として上下方向に回動可能となっている。下アーム部33及び第1上アーム部34には、それら下アーム部33及び第1上アーム部34を連結する第3関節部J3が形成されており、第1上アーム部34は第3関節部J3の連結軸AX3を中心として上下方向に回動可能となっている。第1上アーム部34及び第2上アーム部35には、それら第1上アーム部34及び第2上アーム部35を連結する第4関節部J4が形成されており、第2上アーム部35は第4関節部J4の連結軸AX4を中心として捻り方向に回動可能となっている。第2上アーム部35及び手首部36には、それら第2上アーム部35及び手首部36を連結する第5関節部J5が形成されており、手首部36は第5関節部J5の連結軸AX5を中心として上下方向に回動可能となっている。手首部36及びフランジ部37には、それら手首部36及びフランジ部37を連結する第6関節部J6が形成されており、フランジ部37は第6関節部J6の連結軸AX6を中心として捻り方向に回動可能となっている。
【0038】
ショルダ部32、下アーム部33、第1上アーム部34、第2上アーム部35、手首部36、フランジ部37は一連となるように配列されることでロボット本体30におけるアームを構成しており、当該アームの先端部であるフランジ部37にはエンドエフェクタであるハンド部38が取り付けられている。なお、上記連結軸AX1,AX4,AX6はアームの長手方向に対して平行となっており、連結軸AX2,AX3,AX5は当該長手方向と直交している。
【0039】
各関節部J1~J6にはそれら関節部J1~J6を回動させる駆動部としてモータ41(具体的にはサーボモータ)が各々配設されている。モータ41はサーボアンプ50に接続されており、当該サーボアンプ50は上述したモーションコントローラ60から受信した指令に基づいてモータ41の駆動制御を行う。
【0040】
ここで、図2を参照して、ロボットシステム10の電気的構成について補足説明する。ロボットシステム10には、モーションコントローラ60とともに「制御装置」又は「制御手段」を構成するメイン制御装置70が含まれている。メイン制御装置70は、モーションコントローラ60に対して動作指示を行う上位コントローラ80と、ワークWの形状や配置等の各種条件に応じて適正な把持動作等を学習(所謂機械学習)する機械学習装置90とで構成されている。上位コントローラ80には、CPU81と、各種の制御プログラムや固定値データを記憶したROM及び制御プログラムの実行に際して各種のデータ等を一時的に記憶可能なRAMを有するメモリ82とが設けられている。機械学習装置90についても、上位コントローラ80と同様にCPU91やメモリ92等のハードウェアが設けられている。メモリ92には、学習用のソフトウェアである学習アルゴリズム等を記憶するROMと、学習用の各種インプットデータを記憶するRAMとが含まれている。
【0041】
モーションコントローラ60は、メイン制御装置70に設けられた上位コントローラ80からの動作指示を受けてプログラム記憶部から当該動作指示に対応した動作プログラムを読み込み且つ読み込んだ動作プログラムから動作目標位置(以下、目標位置又は制御点という)を特定する。その後は、特定した目標位置とロボット20のアーム(各可動部)の現在の位置とを滑らかに繋ぐ目標軌道を生成し、当該目標軌道を細分化した位置である補間位置をサーボアンプ50に順次送信する。
【0042】
サーボアンプ50には、位置制御部、速度制御部、電流制御部及び各種情報を記憶する記憶部が設けられている。位置制御部にはモータ41に付属のエンコーダ42が接続されている。位置制御部ではエンコーダ値に基づいてモータ41の回転位置(すなわちアームの姿勢)を検出する。位置制御部及び速度制御部においては、検出した回転位置とモーションコントローラ60から受信した指令に含まれる補間位置との偏差に基づいて各モータ41の目標トルク及び目標回転速度を算出する。電流制御部は、算出された目標トルク及び目標回転速度に基づいて各モータ41に供給する電力(電流、電圧、パルス)を決定し、各モータ41に電力供給を行う。
【0043】
次に、図3を参照して、ロボット20の基本動作について説明する。ロボット20はコンベアS1とともに食品工場における製造ラインの一部を構成している。コンベアS1には、製造工程(加工工程)を通過した食品、具体的にはシュークリームやエクレア等の柔らかくて形のばらつきが大きい製品(以下、ワークWという)が流れており、ロボット20はそれらの製品を箱詰めする箱詰め工程を担っている。具体的には、コンベアS1にはテーブルS2が並設されており、このテーブルS2にはワークWを収容可能なケースCが配設されている。コンベアS1は、製造工程を通過したワークWをロボット20の正面の所定エリアに移動させ、当該ワークWがロボット20によってワークWがケースCに搬送された場合に、次のワークWを当該所定エリアに送る構成となっている。本実施形態では、ワークWが「対象物」又は「把持対象」に相当する。
【0044】
ロボットシステム10は、建物の天井部に固定されたカメラ65(図1参照)を有してなり、カメラ65によって撮影された画像は上位コントローラ80に送信される。上位コントローラ80では画像解析によって上記所定エリアに配置されたワークWを特定した場合に、当該ワークWを把持可能となる把持位置(「所定位置」に相当)にハンド部38を配置すべくロボット20の姿勢を変更する(「配置動作」に相当)。このようにしてハンド部38が把持位置に配置されることで、当該ハンド部38の可動爪38a,38bの間にワークWが位置することとなる(図3(a)参照)。
【0045】
図3(a)→図3(b)に示すように、把持位置への配置後は、ハンド部38の両可動爪38a,38bが互いに近づく側へ各々変位する。可動爪38a,38bにはワークWからの反力を検出する力センサ45(例えば圧力センサ)が配設されており(図1参照)、当該力センサ45により検出された反力は上位コントローラ80に送信される。力センサ45によって検出された反力が基準(後述する停止基準反力)に達した場合に可動爪38a,38bの変位が停止し、ワークWの挟み込みが完了する。ワークWの挟み込みが完了した後は、図3(b)→図3(c)に示すように、ワークWを把持したままロボット20の姿勢が変更され当該ワークWがケースCへ搬送される。ケースCにワークWを収容した後は、図3(c)→図3(d)に示すように、各可動爪38a,38bを初期位置へ変位(復帰)させてワークWをリリースし、ロボット20が待機位置へ復帰する。
【0046】
ここで、図4を参照して、ハンド部38を把持位置に配置する場合の流れについて補足説明する。所定エリアに新たにワークWが供給されたタイミングにて所定エリアが撮影される。この画像データは上位コントローラ80に送信され、上位コントローラ80は取得した画像データに基づいてワークWの外形を抽出し、抽出した外形からワークWの仮想中心(仮中心)を上記目標位置の1つである目標位置TPとして設定する。そして、ハンド部38を配置するためのロボット側の基準である基準点CPが目標位置TPと一致するようにロボット20の動作態様(各種制御点)を設定する。この設定された動作態様はモーションコントローラ60に送信され、モーションコントローラ60ではこの動作態様及びロボット20の現在の姿勢に基づいて当該ロボット20の動作軌道を決定する。
【0047】
なお、可動爪38a,38bにて相対向している対向面については何れも可動爪38a,38bの開閉方向に直交する平面状をなしており、基準点CPについては両可動爪38a,38b(対向面)からの距離が等距離となる位置となるように規定されている。
【0048】
ここで、本実施形態にて想定しているワークWは、シュークリームやエクレア等の食品であり、工業製品と比べて形状のばらつきが大きい。そして、基準点CPから外周までの距離についても様々となり得る。このため、ロボット20の姿勢を変更し基準点CPと目標位置TPとを一致させることで両可動爪38a,38bの間にワークWが位置することとなる把持位置へハンド部38を配置したとしても、一方の可動爪38aからワークWまでの距離Xaと、他方の可動爪38bからワークWまでの距離Xbとが一致するとは限らない。
【0049】
図4(b)に示す例では、可動爪38bからワークWまでの距離Xbが可動爪38aからワークWまでの距離Xaよりも短くなるようにしてハンド部38が偏倚している。この状態から各可動爪38a,38bを互いに近づける側へ変位させた場合には、可動爪38aがワークWに当たるタイミングと、可動爪38bがワークWに当たるタイミングとが相違する。具体的には、図4(c)に示すように、可動爪38aがワークWに当たる前に可動爪38bがワークWに当たる。
【0050】
ワークWについては反力が小さいため、可動爪38bがワークWに当たることで大きく変形したり、可動爪38bに押されることでコンベアS1の載置面上を可動爪38a側へ摺動したりすると想定される。このような事象については、ワークWの損傷(過度な変形を含む)を招く要因となり得る。これは、製造工程における歩留まりの低下を招き、ロボットシステム10によって製造効率の向上を図る上で妨げになると懸念される。本実施形態では、機械学習によってワークWを適正に把持可能とすることでそのような懸念を払しょくしていることを特徴の1つとしている。以下、図5及び図6を参照して、本実施形態における特徴的な構成について説明する。図5はメイン制御装置70の機能を示す機能ブロック図、図6は機械学習装置90へ入力されるインプットデータを示す概略図である。
【0051】
上位コントローラ80には、メモリ82に記憶されている制御用プログラムを実行する制御部84と、ロボット20やカメラ65から各種データを取得するデータ取得部85とが設けられている。データ取得部85は、カメラ65から上記所定エリアの画像を取得する画像データ取得部86と、エンコーダ42からロボット20の姿勢(例えば把持動作前の姿勢やワークWを把持する際の姿勢)を示す姿勢データを取得する姿勢データ取得部87と、各可動爪38a,38bに設けられた距離センサ46(図1参照)からハンド部38が把持位置に配置された状態(後述する調整前)におけるワークWと各可動爪38a,38bとの各距離を示す距離データを取得する距離データ取得部88と、力センサ45からハンド部38によってワークWを把持する際のワークWからの反力を示す反力データを取得する反力データ取得部89とを含む。
【0052】
制御部84は、画像データ取得部86が取得した画像データから上記所定エリアにおいてワークWが配置された位置(目標位置TP)を特定し、その位置をワーク位置データとしてメモリ82に記憶する。また、把持動作前に取得された画像データからワークWの把持動作前の形状を抽出して当該形状を形状データとしてメモリ82に記憶し、把持動作後(リリース後)に取得した画像データからワークWの把持動作後(リリース後)の形状を抽出して当該形状を形状データとしてメモリ82に記憶する。把持動作後の画像データの取得タイミングについては、ワークWをリリースしてから所定時間(例えばワークWの自力での復元が期待できる時間)を経過したタイミングであるが、この所定時間についても機械学習によって推定可能としてもよい。
【0053】
また、把持動作前の形状データからワークWの種別(シュークリーム、エクレア等)を特定し、特定した種別を種別データとしてメモリ82に記憶する。上位コントローラ80では、これらのデータの一部を用いてロボット20を制御し、それらのデータの一部をインプットデータとして機械学習装置90へ提供する。機械学習装置90へ提供されるインプットデータについては状態データとラベルデータとに大別される。
【0054】
機械学習装置90には、上位コントローラ80から各種状態データとして、ワーク位置データと、ワークWを把持する際(把持位置に配置された状態)の姿勢データと、把持前後の各形状データと、種別データとを取得する状態観測部97が設けられている。これらのデータについては、学習部94のデータ記憶部95に記憶される。また、状態観測部97では、把持動作前の形状データ及び把持動作後(リリース後)の形状データをテンプレートマッチングにより比較して把持動作を契機としたワークWの変形量(ダメージ)を算出する。その変形量を示すデータ(比較データ)についても学習部94のデータ記憶部95に記憶される。なお、本実施形態では、機械学習装置90が比較データを自身で算出→記憶する構成としたが、これに限定されるものではない。比較データについては、ユーザが機械学習装置90に提供(入力)する構成とすることも可能である。また、機械学習装置90には、上位コントローラ80から各種ラベルデータを取得するラベルデータ取得部98が設けられている。ラベルデータ取得部98は、停止基準として設定された基準反力を示す停止基準データ及び上記距離データを取得し、データ記憶部95に記憶する。
【0055】
なお、機械学習装置90に入力される各種インプットデータの入手先については上位コントローラ80に限定されるものではない。例えば、上位コントローラ80を経由することなくロボット20やカメラ65からインプットデータを直接入手する構成とすることも可能である。
【0056】
機械学習装置90の学習部94は、上記各種状態データ及びラベルデータを関連付けて学習し、その学習によって状態データとラベルデータとの相関性を表すモデル(動作設定モデル)が構築される。この動作設定モデルについては学習部94の学習モデル記憶部96に記憶されており、新たに取得したインプットデータに基づいて更新される。動作設定モデルの更新を繰り返すことにより、把持(搬送)の成功確率が高く且つワークWのダメージ(変形量)が小さくなる停止基準反力や位置調整基準距離が状況に応じて学習される。そして、学習が進みまとまった数のデータが動作設定モデルに反映された場合に当該動作設定モデルの使用が許可される構成となっている。
【0057】
機械学習装置90の結果出力部99では、使用が許可された動作設定モデルとロボット20の動作制御用のデータ(ワーク位置データ、把持動作前の姿勢データ、把持動作前の形状データ、種別データ)とに基づいて適正な停止基準反力の推定結果を上位コントローラ80に提示したり、使用が許可された動作設定モデルとロボット20の動作制御用のデータ(ワーク位置データ、ワークWを把持する際の姿勢データ、把持動作前の形状データ、種別データ)とに基づいて適正な位置調整基準距離を上位コントローラ80に提示したりする。ここで、本実施形態に示す適正な停止基準反力とは、ワークWを把持可能であって且つ把持動作によるワークWのダメージ(変形量)を最小限に抑えることができる最小の推定値であり、適正な位置調整基準距離とは、当たりタイミングのずれの影響(ダメージ)が0又はほぼ0になる各可動爪38a,38bからワークWまでの距離の差の推定値である。
【0058】
なお、本実施形態では、ワークWの把持に成功した場合の各種インプットデータについてはデータ記憶部95に蓄積される一方、ワークWの把持に失敗した場合の各種インプットデータについてはデータ記憶部95に記憶されることなく消去される。
【0059】
以上詳述した機械学習装置90については、学習部94にて実行される学習のアルゴリズムとして所謂教師あり学習が適用されている。教師あり学習は、実行条件とそれに対応する実行結果との既知のデータセット(所謂教師データ)から実行条件と実行結果との相関性を暗示する特徴を識別することで、新たな実行条件に対する実行結果を推定するためのモデルを学習する手法である。
【0060】
この教師あり学習においては、動作設定モデルの構築にニューラルネットワークが用いられる。以下、図7を参照してニューラルネットワークの概要について説明する。なお、図7においては便宜上、インプットデータの種類が4つ、アウトプットデータの種類が3つである三層のニューラルネットワークを例示しているが、インプットデータの数、アウトプットデータの数、中間層の数についてはこれに限定されるものではない。
【0061】
ニューラルネットワークは、多数のノードNの集合体である。各ノードNは他の複数のノードNと接続されており、接続されたノードN間には重みwが設定されている。ノードの集合体は、各種インプットデータの入力を受ける入力層D1として機能する集合体(ノードN11~N14)、重みw2を用いて演算を実行する中間層D2として機能する集合体(ノードN21~N23)、アウトプットデータを出力する出力層D3として機能する集合体(ノードN31~N33)とに大別される。入力層D1のノード数は、インプットデータxの種類に応じて設定され、出力層D3のノード数は、アウトプットデータyの種類に応じて設定されている。
【0062】
本実施形態に示す機械学習装置90においては、ワーク位置データ、把持動作前の姿勢データ、ワークWを把持する際の姿勢データ、把持動作前の形状データ、種別データ、比較データ、停止基準データ、距離データの各データをインプットデータxとして、学習部94が上記ニューラルネットワークに従う多層構造の演算を行うことで、適正なアウトプットデータyとして適正な停止基準反力及び位置調整基準距離を推定する。なお、ニューラルネットワークの動作モードには、上述した学習を行う学習モードと、価値予測モードとがあり、例えば学習モードで重みwを学習し、学習した重みwを用いて価値予測モードで行動の価値を判断することができる。
【0063】
次に、図8を参照して、上位コントローラ80のCPU81にて定期的に実行される動作態様設定処理及び位置調整用処理について説明する。
【0064】
動作態様設定処理においては先ず、カメラ65から画像データを取得し(ステップS11)、取得した画像データから把持動作前のワークWの形状データを作成(抽出)する(ステップS12)。次に、形状データからワークWの位置データ、すなわち目標位置TPを設定する(ステップS13)。その後は、待機中(配置動作前)のロボット20の姿勢データを取得し(ステップS14)、目標位置TP及び姿勢データに基づいて動作軌道生成用の制御点を設定する(ステップS15)。その後は、画像データから識別したワークWの種別を示す種別データを取得し(ステップS16)、その種別データに基づいて上記停止基準反力を設定する(ステップS17)。ステップS17の処理では、動作設定モデルの使用が許可されている場合には当該動作設定モデルに基づいて停止基準反力を決定し、動作設定モデルの使用が許可されていない場合には予め設定されている候補範囲から停止基準反力を決定(選択)する。
【0065】
位置調整用処理においては先ず、ハンド部38が把持位置に配置されたタイミングであるか否かを判定する(ステップS21)。把持位置に配置されたタイミングではない場合にはそのまま本位置調整用処理を終了する。ハンド部38が把持位置に配置されている場合には、ロボット20の姿勢を示す姿勢データと、ワークWと各可動爪38a,38bとの各距離を示す距離データを取得する(ステップS22)。その後は、動作設定モデルの使用が許可されているか否かを判定する(ステップS23)。動作設定モデルの使用が許可されていない場合には、そのまま本位置調整用処理を終了する。つまり、動作設定モデルの使用が許可されていない場合には位置調整が回避される。動作設定モデルの使用が許可されている場合には、位置調整の要否を確認する(ステップS24)。今回の距離の差が位置調整基準距離を超えていない場合には位置調整を行わない旨の判定をして(ステップS25:NO)、そのまま本位置調整用処理を終了する。今回の距離の差が位置調整基準距離を超えている場合には位置調整を行う旨の判定をして(ステップS25:YES)、位置調整の詳細を決定する(ステップS26)。具体的には、ワークWと各可動爪38a,38bとの各距離の差が0となるようにハンド部38の位置を調整すべく、当該ハンド部38を変位させる方向と、その変位量を決定する。この決定された方向及び変位量を踏まえて、動作軌道修正処理を実行する。具体的には、ロボット20の動作軌道を位置調整を踏まえた動作軌道に修正すべく各制御点を再設定する。再設定された制御点はモーションコントローラ60に送信される。
【0066】
次に、図9のフローチャートを参照して、機械学習装置90のCPU91により定期的に実行される学習処理について説明する。
【0067】
学習処理においては先ず、ワークWのケースCへの搬送動作の全工程が完了して待機姿勢に復帰したタイミングであるか否かを判定する(ステップS31)。このタイミングではない場合には、そのまま本学習処理終了する。このタイミングである場合には、上位コントローラ80から各種状態データを取得する(ステップS32)。具体的には、ワーク位置データ、把持動作前の姿勢データ、ワークWを把持する際の姿勢データ、把持動作前の形状データ、種別データ、把持動作後の所定エリアの画像データを取得する。次に、上位コントローラ80から各種ラベルデータを取得する(ステップS33)。具体的には、停止基準データ及び距離データを取得する。
【0068】
その後は、把持動作後の所定エリアの画像を解析して、当該所定エリアにワークWが残っているか否か、すなわちワークWの運搬(把持)に成功したか否かを判定する(ステップS34)。ワークWの運搬に失敗した場合には、取得した各種インプットデータをデータ記憶部95に記憶することなく、すなわち機械学習のインプットデータとして活用することなく消去して、本学習処理を終了する。
【0069】
これに対して、ワークWの運搬(把持)に成功した場合には、ワークWの変形量を算出する。具体的には、把持動作前のワークWの形状データと、把持動作後(リリース後)のワークWの形状データとを比較して、ワークWの変形量(ダメージ)を算出して比較データを作成する(ステップS35)。その後、ワーク位置データ、姿勢データ、形状データ、種別データ、比較データ、停止基準データ、距離データをデータ記憶部95に保存し、新たに取得したデータを踏まえて動作設定モデルを更新する。以降は、少なくとも上述した使用が許可されるまでデータを蓄積し、動作設定モデルの更新を繰り返す。なお、動作設定モデルの更新についてはデータを新たに取得する都度実行する必要は必ずしもなく、蓄積されたデータ量が基準量に達した場合に動作設定モデルを更新(構築)する構成としてもよい。
【0070】
以上詳述した第1の実施形態によれば、以下の優れた効果が期待できる。
【0071】
本実施形態においては、停止基準データ、距離データ、比較データを含む各種インプットデータを用いた機械学習によりロボット20の動作(位置調整動作及び把持動作)の動作態様の設定に用いられる動作設定モデルが構築される。このような構成とすれば、可動爪38a,38bに係る適正な停止基準を設定可能となるだけでなく、ハンド部38の配置状況に応じて当該ハンド部38の位置が適正に調整される構成を実現可能となる。つまり、ワークWに各可動爪38a,38bが当たるタイミングのずれに起因したワークWの損傷を抑制し、低反力且つ不定形のワークWを適切に把持可能なロボットシステムの実現に寄与できる。
【0072】
低反力のワークWが損傷する場合には、重量の変化や形状の変化が生じる。このうち、重量の変化が生じる場合の多くは併せて形状も変化することとなるため、把持動作の前後で比較する対象を形状とすることでワークWの損傷の度合いを機械学習に適切に反映させることができる。
【0073】
ロボットシステム10については供給されるワークWの位置についてある程度の許容範囲(上記所定エリア)を設けることで当該システムの利便性を向上させることができる。但し、このような範囲を設けた場合には、当該範囲内のどの位置にワークWが供給されるかによって、当該ワークWの把持動作を実行する場合の可動爪38a,38bの当たり方等に違いが生じる可能性がある。また、ロボット20については、ワークWを把持する際の姿勢によって、ワークWに対する可動爪38a,38bの当たり方等に違いが生じる可能性がある。そこで、ワークWの位置を示すワーク位置データやロボット20の姿勢を示す姿勢データをインプットデータに加えて機械学習を行う構成とすれば、低反力且つ不定形のワークWを適切に把持可能なロボットシステムの実現に寄与できる。
【0074】
<第2の実施形態>
上記第1の実施形態では教師あり学習によって動作設定モデルを構築する構成について例示したが、動作設定モデルを構築するための学習方式を強化学習とすることも可能である。
【0075】
強化学習によって動作設定モデルを構築する場合には、把持動作前のワークWの形状と把持動作後(リリース後)のワークWの形状との差が基準量(本実施形態では5%)以内であれば報酬を増やし、基準量を超えている場合には報酬を減らす構成とするとよい。また、上記第2の実施形態では、ワークWの把持に成功した場合のデータのみを学習用のインプットデータとしたが、把持の成否についても報酬を設定し、失敗時のデータについてもインプットデータとする構成とすることも可能である。この場合、例えばワークWの把持に成功した場合には報酬を増やし、ワークWの把持に失敗した場合には報酬を減らす構成とするとよい。ワークWの把持に成功した場合の報酬については、形状の差が基準量以内の場合に付与される報酬よりも多くすることで、把持の成功が優先される構成を実現できる。
【0076】
上述した位置調整を行う場合には、位置調整を行わない場合と比べて僅かながら搬送効率が低下する。また、位置調整を行う場合にはハンド部38の変位量が大きくなるほど搬送効率が低下する。そこで、強化学習の適用によって搬送効率に係る報酬を設定することで、ワークWの保護と搬送効率の向上とを両立させることができる。例えば、位置調整を行う場合のハンド部38の変位量が小さくなるほど報酬を増やし、大きくなるほど報酬を減らす構成とすることにより、位置調整が必要な場合であってもハンド部38の変位量を必要最小限に抑えることが可能となる。なお、これに代えて、ロボット20の動作開始から動作終了までの所要時間データをインプットデータとして追加し、所要時間が短くなるほど報酬を増やし、所要時間が長くなるほど報酬を減らす構成とすることも可能である。
【0077】
<第3の実施形態>
上記第1の実施形態等では、力センサ45により検出された反力が停止基準に達した場合に可動爪38a,38bを停止させる構成とした。ワークWの反力が小さくなれば小さくなるほど、反力を上手く検出することが困難になり得る。そこで、極めて反力が小さいワークWについては、可動爪38a,38bを停止させる基準を反力から両可動爪38a,38bの相対距離(間隔又は幅)、すなわち挟み方向への両可動爪38a,38bの変位量とするとよい。
【0078】
このような構成とする場合には、動作設定モデルの使用が許可されている場合には各種データと当該動作設定モデルとを用いて停止基準となる基準相対距離を設定し、動作設定モデルの使用が許可されていない場合には予め設定されている候補範囲から停止基準反力を決定(選択)するとよい。そして、学習中は把持動作を行った際の相対距離を示すデータを上記停止基準データとし、当該相対距離を学習用のインプットデータとするとよい。
【0079】
<第4の実施形態>
上記第1の実施形態等に示したワークW(特にシュークリームや大福)については、形状が不定形であり、当該ワークWをどの方向から挟み込むかによって把持終了後のワークWの復元力に差が生じる可能性がある。つまり、どの方向から挟むかによって上記タイミングのずれや荷重の影響が異なる可能性がある。言い換えれば、挟み方向によって調整不要となる対象物と各可動爪38a,38bとの位置関係等に違いが生じる可能性がある。また、ある方向にて挟み込んだ場合と比べて別の方向から挟み込んだ場合の方が変形量(ダメージ)が少なくなる可能性もある。本実施形態では、このような事情に配慮して、インプットデータに挟み方向を示す挟み方向データを追加していることを特徴の1つとしている。以下、図10を参照して、当該インプットデータについて説明する。なお、挟み方向とは、把持動作において可動爪38a,38bが変位する方向である。
【0080】
所定エリアに配置されたワークWを撮影した画像については、カメラ65から上位コントローラ80に入力される。上位コントローラ80では、この撮影した画像から作成(抽出)されたワークWの外形を示す形状データを参照し、ワークWにおける基準方向を設定する。具体的には、外形線上の2つの点のうち距離が最大となるものを決定し、それら2つの点を結んだ直線の方向を基準方向として設定する。学習中は、この基準方向に対して今回の挟み方向がどのような関係となっているかを示すデータとして挟み方向データを取得する。詳しくは、挟み方向データは、基準方向に対する挟み方向の角度を示すデータである。このようにして、インプットデータに挟み方向を加えることにより、構築される動作設定モデルには挟み方向の影響が反映されることとなる。故に、方向データ及び動作設定モデルに基づいて動作態様を決定した場合には、設定される停止基準反力や位置調整基準距離が挟み方向を加味したものとなる。
【0081】
なお、本実施形態では、外形線上の2つの点のうち距離が最大となるものを決定し、それら2つの点を結んだ直線の方向を基準方向として設定したが、これに代えて、外形線上の2つの点のうち距離が最小となるものを決定し、それら2つの点を結んだ直線の方向を基準方向として設定することも可能である。
【0082】
因みに、上記第4の実施形態では、挟み方向を加味して停止基準反力や位置調整基準距離が設定されることとなるが、これに代えて、動作設定モデルの使用が許可されている場合には各種データ(ワークWの形状データ)と当該動作設定モデルとを用いて挟み方向を設定する構成としてもよい。つまり、停止基準反力が小さく且つ位置調整基準距離が大きくできる挟み方向となるようにハンド部38の向きを設定する構成としてもよい。
【0083】
<第5の実施形態>
上記第1の実施形態等に示したワークWについては、形状のばらつきが大きく且つ反力が小さい。このようなワークWを把持する場合には、ワークWと可動爪38a,38bの接触面積によってワークWへの影響に差が生じる可能性がある。言い換えれば、接触面積によって調整不要となるワークWと各可動爪38a,38bとの位置関係等に違いが生じる可能性がある。また、接触面積の大小によってワークWの変形量(ダメージ)が少なくなる可能性もある。本実施形態では、このような事情に配慮して、インプットデータに接触面積を示す接触面積データを追加していることを特徴の1つとしている。以下、図11を参照して、当該インプットデータについて説明する。
【0084】
可動爪38a,38bにおける対向面には、シート状の接触センサ47a,47bが各々配設されている。接触センサ47a,47bによる検出結果については上位コントローラ80に送信され、上位コントローラ80ではこの検出結果に基づいてワークWと可動爪38a,38bとの接触面積を特定する。同じ強さでワークWを挟み込んだ場合には、接触面積が大きくなるほど、ワークWにおける局所負荷を軽減することができる。つまり、接触面積が大きいほどワークWを好適に保護し得る。
【0085】
接触面積を示す接触面積データは機械学習装置90に提供され、機械学習装置90はこの接触面積データをインプットデータとしてデータ記憶部95に保存し、当該接触面積データを用いて動作設定モデルを構築する。ワークWの形状と接触面積との関係が機械学習によって特定されることにより、動作設定モデル及びワークWの形状から接触面積を推定し、その推定した接触面積に基づいて停止基準反力や位置調整基準距離を設定可能となる。
【0086】
因みに、上記第5の実施形態では、推定される接触面積を加味して停止基準反力や位置調整基準距離が設定されることとなるが、これに代えて、動作設定モデルの使用が許可されている場合には各種データ(ワークWの形状データ)と当該動作設定モデルとを用いて接触面積が適正となる挟み方向(第4の実施形態参照)を設定する構成としてもよい。つまり、停止基準反力が小さく且つ位置調整基準距離が大きくできる挟み方向となるようにハンド部38の向きを設定する構成としてもよい。
【0087】
<その他の実施形態>
なお、上述した各実施形態の記載内容に限定されず例えば次のように実施してもよい。ちなみに、以下の各構成を個別に上記各実施形態に対して適用してもよく、一部又は全部を組み合わせて上記各実施形態に対して適用してもよい。また、上記各実施形態に示した各種構成の全て又は一部を任意に組み合わせることも可能である。この場合、組み合わせの対象となる各構成の技術的意義(発揮される効果)が担保されることが好ましい。
【0088】
・上記各実施形態に示した動作設定モデルを、位置調整用のモデル(位置調整モデル)と停止基準設定用のモデル(把持モデル)とに分けて個別に構築することも可能である。
【0089】
なお、上記各実施形態では、ロボット20の動作の一部である把持動作及び位置調整動作を「所定動作」として、当該所定動作を設定するためのモデルを機械学習によって構築する構成としたが、これを変更し、ハンド部38の配置動作、ハンド部38の位置調整動作、ワークWの把持動作を含むロボット20の動作の全体を設定するためのモデルを機械学習によって構築する構成とすることも可能である。
【0090】
・上記各実施形態では、ワークWの把持の成否や損傷度合いをロボットシステム10に監視する構成としたが、これに限定されるものでは無い。例えば、作業者が把持の成否や損傷度合いを監視し、その監視結果を機械学習装置90に入力する構成とすることも可能である。
【0091】
・ロボット20の周辺の環境を示す環境データ(温度データや湿度データ)を学習用のインプットデータに加えてもよい。シュークリーム等の低反力且つ不定形の把持対象については、温度や湿度等の環境条件に応じて固さが変化し得る。言い換えれば、環境条件によって調整不要となる把持対象と各可動爪38a,38bとの位置関係等に違いが生じる可能性がある。そこで、本変形例に示すように、各実施形態に示した各種インプットデータに環境データを加えて機械学習を行う構成とすれば、位置調整動作や把持動作の更なる適正化が期待できる。
【0092】
・上記各実施形態では、把持動作を実行する際の可動爪38a,38bの変位速度を一定としたが、これに限定されるものではない。変位速度を可変パラメータとして、ワークWを把持する際に変位速度を示す速度データを学習用のインプットデータに加えてもよい。上述したタイミングのずれが発生する場合には、可動爪38a,38bの変位速度によって把持対象への影響に差が生じる可能性がある。言い換えれば、変位速度によって調整不要となる対象物と各可動爪38a,38bとの位置関係等に違いが生じる可能性がある。そこで、本変形例に示すように、各実施形態に示した各種インプットデータに速度データを加えて機械学習を行う構成とすれば、把持動作の更なる適正化が期待できる。
【0093】
・把持動作前のワークWの形状を示す形状データと、設定した目標位置TPを示すワーク位置データと、ハンド部38を把持位置に配置した場合の各可動爪38a,38bとワークWとの距離を示す距離データとに基づく機械学習によって目標位置TPの設定に用いられる目標点設定モデルを構築する構成を付加してもよい。目標位置TPの設定精度が高くなれば、上述した位置調整の機会を減らすことができ、搬送効率の向上に寄与できる。
【0094】
・上記各実施形態では、位置調整を行う場合には把持部を移動させる構成としたが、これに限定されるものでは無い。例えば、ワークWとの距離が大きい方の可動爪をワークWに近づけて距離を揃える構成としたり、ワークWとの距離が小さい方の可動爪をワークWから遠ざけて距離を揃える構成としたりすることも可能である。但し、このような構成では、ワークWが一方の可動爪側に偏倚した位置で把持された状態となり得る。これは、把持機能の安定化や、ケースCへの配置作業の効率化を図る上で好ましくない。つまり、上記各実施形態に示したように、可動爪38a,38bではなくハンド部38を移動させることで位置調整を行う構成とすることには技術的意義がある。
【0095】
・上記各実施形態では、把持動作前のワークWの形状データと把持動作後のワークWの形データとの比較によりワークWの形状の変化量(ダメージ)を特定する構成について例示したが、これに限定されるものではない。これに代えて又は加えて、重量センサ等を用いてワークWの重量を監視し、把持動作前のワークWの重量と把持動作後のワークWの重量との比較によりワークWの重量の変化量を特定する構成とすることも可能である。つまり、機械学習装置90へのインプットデータである比較データについては、重量差を示すデータとすることをも可能である。
【0096】
・上記各実施形態では、カメラ65を工場の天井部に固定する構成としたが、当該カメラ65をロボット本体30(例えばアーム)に取り付ける構成とすることも可能である。
【0097】
・上記各実施形態では、2つの可動爪38a,38bによってワークWを把持する構成としたが、可動爪の数については任意である。例えば、3つとしてもよいし、4つ以上としてもよい。
【0098】
・上記各実施形態では、上位コントローラ80及び機械学習装置90によってメイン制御装置70を構成したが、これら上位コントローラ80及び機械学習装置90については個別に設けてもよい。また、機械学習装置90に相当する構成をクラウド上に設けてもよい。
【0099】
・上記各実施形態では、シュークリームやエクレアをロボット20の把持対象として例示したが、これに限定されるものではない。反力が小さく且つ形状のばらつきの大きい他の食品、例えば大福やパンをロボット20の把持対象とすることも可能である。また、把持対象については加工食品に限定されるものではなく、ミカンやトマト等の青果を把持対象とした場合であっても、それら把持対象を好適に保護できる。
【符号の説明】
【0100】
10…ロボットシステム、20…ロボット、38…ハンド部、38a,38b…可動爪、42…エンコーダ、45…力センサ、46…距離センサ、65…カメラ、70…制御装置、80…上位コントローラ、81…CPU、90…機械学習装置、91…CPU、92…メモリ、CP…基準点、TP…目標位置、Xa,Xb…距離、W…ワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11