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

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

▶ 国立大学法人信州大学の特許一覧 ▶ トヨタ自動車株式会社の特許一覧

<>
  • 特開-判定方法 図1
  • 特開-判定方法 図2A
  • 特開-判定方法 図2B
  • 特開-判定方法 図2C
  • 特開-判定方法 図3
  • 特開-判定方法 図4
  • 特開-判定方法 図5
  • 特開-判定方法 図6
  • 特開-判定方法 図7
  • 特開-判定方法 図8
  • 特開-判定方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022087106
(43)【公開日】2022-06-09
(54)【発明の名称】判定方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20220602BHJP
   G06T 7/00 20170101ALI20220602BHJP
【FI】
B25J13/08 A
G06T7/00 350B
【審査請求】有
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2022039854
(22)【出願日】2022-03-15
(62)【分割の表示】P 2017241555の分割
【原出願日】2017-12-18
(71)【出願人】
【識別番号】504180239
【氏名又は名称】国立大学法人信州大学
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】山崎 公俊
(72)【発明者】
【氏名】佐野 知樹
(72)【発明者】
【氏名】出村 聡規
(72)【発明者】
【氏名】中島 渉
(72)【発明者】
【氏名】竹下 佳佑
(57)【要約】
【課題】折り畳まれて積み重ねられた状態の柔軟物に対する適切な把持位置を判別する。
【解決手段】把持装置1は、物体を撮像した画像データを取得する画像データ取得部16と、物体を把持するロボットアーム11と、ロボットアーム11の動作を制御する制御部12と、画像データ取得部16が取得した、折り畳まれ積み重ねられた状態の柔軟物が撮像された画像データを用いて、当該画像データに写っている柔軟物の部位が把持に適した部位であるか否かを判定する把持位置判定部18とを有する。制御部12は、最上段にある柔軟物の上面の端を変形させるようロボットアーム11を制御する。把持位置判定部18は、上面の端が変形された柔軟物が撮像された画像データを用いて、把持に適した部位であるか否かを判定する。
【選択図】図3
【特許請求の範囲】
【請求項1】
物体を撮像した画像データを取得する画像データ取得部と、物体を把持する把持部と、前記把持部の動作を制御する制御部と、前記画像データ取得部が取得した、折り畳まれ積み重ねられた状態の柔軟物が撮像された前記画像データを用いて、当該画像データに写っている前記柔軟物の部位が把持に適した部位であるか否かを判定する把持位置判定部と、を有する把持装置による判定方法であって、
前記制御部が、最上段にある前記柔軟物の上面の端を変形させるよう前記把持部を制御し、
前記把持位置判定部が、前記把持部の制御により前記上面の端が変形された前記柔軟物が撮像された前記画像データを用いて、把持に適した部位であるか否かを判定する
判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は把持装置、学習装置、学習済みモデル、把持システム、判定方法、及び学習方法に関する。
【背景技術】
【0002】
機械学習を用いて、物体を把持する技術が知られている。例えば、非特許文献1では、把持装置は、グリッパと物体の点群が接触し、かつ、物体点群が十分にグリッパの間にあるような把持姿勢の候補を生成する。そして、この把持装置は、CNN(畳み込みニューラルネットワーク:Convolutional Neural Network)を利用して、生成した把持姿勢の候補が把持に適しているか否かを判別する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Marcus Gualtieri, Andreas ten Pas, Kate Saenko, and Robert Platt, “High precision grasp pose detection in dense clutter”, arXiv preprint arXiv:1603.01564, 2016.
【発明の概要】
【発明が解決しようとする課題】
【0004】
折り畳まれて積み重ねられた状態の柔軟物の把持位置の決定のために画像データを用いた機械学習を利用する場合、適切な把持位置を判別することが難しい場合がある。発明者等は、上記状態の柔軟物の側面には規則的な積層パターン形状が現れており、把持に適した部位の画像と把持に適さない部位の画像に十分な差がないため、適切な把持位置を判別することが難しいことを見出した。
【課題を解決するための手段】
【0005】
上記目的を達成するための本発明の一態様は、物体を撮像した画像データを取得する画像データ取得部と、物体を把持する把持部と、前記把持部の動作を制御する制御部と、前記画像データ取得部が取得した、折り畳まれ積み重ねられた状態の柔軟物が撮像された前記画像データを用いて、当該画像データに写っている前記柔軟物の部位が把持に適した部位であるか否かを判定する把持位置判定部と、を有し、前記制御部は、最上段にある前記柔軟物の上面の端を変形させるよう前記把持部を制御し、前記把持位置判定部は、前記上面の端が変形された前記柔軟物が撮像された前記画像データを用いて、把持に適した部位であるか否かを判定する把持装置である。
この把持装置では、把持部により柔軟物の上面の端が変形させられる。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、把持に適した部位の画像と把持に適さない部位の画像に十分な差が生じる。このため、この把持装置によれば、適切な把持位置を判別することが可能である。
【0006】
上記の一態様において、前記画像データ取得部が取得した、前記上面の端が変形される前の前記柔軟物が撮像された前記画像データを用いて、前記上面の端の変形のための、前記柔軟物における前記把持部との接触位置を決定する接触位置決定部をさらに有し、前記上面の端を変形させるために、前記制御部は、前記接触位置決定部により決定された前記接触位置において、前記把持部が前記柔軟物を変位させるよう制御してもよい。
このような構成によれば、柔軟物の上面の端を変形させるための制御を自律的に行うことができる。
【0007】
上記の一態様において、前記制御部は、前記把持部が前記柔軟物を押すことにより前記上面の端を変形させるよう前記把持部を制御してもよい。
このような構成によれば、容易に上面の端を変形させることができる。
【0008】
また、上記目的を達成するための本発明の一態様は、物体を撮像した画像データを含む訓練データを取得する訓練データ取得部と、前記訓練データ取得部が取得した前記訓練データを用いて機械学習の演算を行う学習演算部と、を有し、前記画像データは、折り畳まれ積み重ねられた状態の柔軟物であって、当該柔軟物の上面の端が規則的な積層パターン形状から変形した状態の柔軟物が写っている第1の画像データ及び第2の画像データを含み、前記第1の画像データは、前記上面の端が折り畳みにより1つに纏められた端である画像データであり、前記第2の画像データは、前記上面の端が折り畳みにより1つに纏められていない端である画像データであり、前記学習演算部は、前記訓練データを用いて、柔軟物における把持に適した部位を学習する演算を行う学習装置である。
この学習装置では、規則的な積層パターン形状から変形した状態の柔軟物についての画像を用いて学習が行われる。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、学習に利用する上で十分な差がある第1の画像データと第2の画像データを用いた学習が可能となる。したがって、この学習装置によれば、適切な把持位置の学習を行うことができる。
【0009】
また、上記目的を達成するための本発明の一態様は、物体を撮像した画像データに基づいて、当該物体の部位に対する把持の適否を定量化した値として出力するよう、コンピュータを機能させるための学習済みモデルであって、前記学習済みモデルを構成するニューラルネットワークの重み付け係数は、物体を撮像した画像データを含む訓練データを用いて学習されており、前記訓練データに含まれる前記画像データは、折り畳まれ積み重ねられた状態の柔軟物であって、当該柔軟物の上面の端が規則的な積層パターン形状から変形した状態の柔軟物が写っている第1の画像データ及び第2の画像データを含み、前記第1の画像データは、前記上面の端が折り畳みにより1つに纏められた端である画像データであり、前記第2の画像データは、前記上面の端が折り畳みにより1つに纏められていない端である画像データであり、前記学習済みモデルは、前記ニューラルネットワークの入力層に入力された、折り畳まれ積み重ねられた状態の柔軟物が写っている画像データに対し、前記重み付け係数に従った演算を実行させ、前記画像データに写っている前記柔軟物の部位が把持に適しているか否かを前記ニューラルネットワークの出力層から出力させるよう、コンピュータを機能させる学習済みモデルである。
このモデルは、規則的な積層パターン形状から変形した状態の柔軟物についての画像を用いた学習が行われている。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、第1の画像データと第2の画像データには、学習に利用する上で十分な差がある。したがって、この学習済みモデルによれば、適切な把持位置を判別することが可能である。
【0010】
また、上記目的を達成するための本発明の一態様は、周囲の物体を撮像する撮像装置と、前記撮像装置による画像データを取得する画像データ取得部と、物体を把持する把持部と、前記把持部の動作を制御する制御部と、前記画像データ取得部が取得した、折り畳まれ積み重ねられた状態の柔軟物が撮像された前記画像データを用いて、当該画像データに写っている前記柔軟物の部位が把持に適した部位であるか否かを判定する把持位置判定部と、を有し、前記制御部は、前記柔軟物の上面の端を変形させるよう前記把持部を制御し、前記把持位置判定部は、前記上面の端が変形された前記柔軟物が撮像された前記画像データを用いて、把持に適した部位であるか否かを判定する把持システムである。
この把持システムでは、把持部により柔軟物の上面の端が変形させられる。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、把持に適した部位の画像と把持に適さない部位の画像に十分な差が生じる。このため、この把持システムによれば、適切な把持位置を判別することが可能である。
【0011】
また、上記目的を達成するための本発明の一態様は、折り畳まれ積み重ねられた状態の複数の柔軟物の上面の端を変形させるよう把持部を制御し、前記上面の端が変形された前記柔軟物が撮像された画像データを用いて、当該画像データに写っている前記柔軟物の部位が把持に適した部位であるか否かを判定する判定方法である。
この判定方法では、把持部により柔軟物の上面の端が変形させられる。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、把持に適した部位の画像と把持に適さない部位の画像に十分な差が生じる。このため、この判定方法によれば、適切な把持位置を判別することが可能である。
【0012】
また、上記目的を達成するための本発明の一態様は、物体を撮像した画像データを含む訓練データを取得し、取得した前記訓練データを用いて、柔軟物における把持に適した部位を判定するための機械学習の演算を行い、前記画像データは、折り畳まれ積み重ねられた状態の柔軟物であって、当該柔軟物の上面の端が規則的な積層パターン形状から変形した状態の柔軟物が写っている第1の画像データ及び第2の画像データを含み、前記第1の画像データは、前記上面の端が折り畳みにより1つに纏められた端である画像データであり、前記第2の画像データは、前記上面の端が折り畳みにより1つに纏められていない端である画像データである学習方法である。
この学習方法では、規則的な積層パターン形状から変形した状態の柔軟物についての画像を用いて学習が行われる。1つに纏められた端と、そのような端ではない端とでは、変形の態様が異なるため、学習に利用する上で十分な差がある第1の画像データと第2の画像データを用いた学習が可能となる。したがって、この学習方法によれば、適切な把持位置の学習を行うことができる。
【発明の効果】
【0013】
本発明によれば、折り畳まれて積み重ねられた状態の柔軟物に対する適切な把持位置を判別することができる把持装置、学習装置、学習済みモデル、把持システム、判定方法、及び学習方法を提供することができる。
【図面の簡単な説明】
【0014】
図1】折り畳まれた柔軟物の外観の一例を示す模式図である。
図2A】折り畳まれて積み重ねられた状態の柔軟物について示す図である。
図2B】折り畳まれて積み重ねられた状態の柔軟物について示す図である。
図2C】折り畳まれて積み重ねられた状態の柔軟物について示す図である。
図3】実施形態に係る把持装置の概略的な構成を示すブロック図である。
図4】ロボットアームの概略的な構成を示すブロック図である。
図5】実施形態に係る把持装置による学習処理の流れを示すフローチャートである。
図6】実施形態に係る把持装置が把持対象物を把持する際の処理の流れを示すフローチャートである。
図7図6に示すS21(接触位置の決定)の詳細を示すフローチャートである。
図8】エンドエフェクタにより柔軟物が押される様子を示す図である。
図9】撮像装置と、サーバと、把持装置とを有する把持システムについて示す模式図である。
【発明を実施するための形態】
【0015】
実施の形態にかかる把持装置1は、布製品や紙製品などの形状変化し易い物体である柔軟物の把持を行う。特に、把持装置1は、折り畳まれて積み重ねられた状態の複数の柔軟物のうち、最上段に積まれている柔軟物の把持を行う。このとき把持装置1により把持される部位によっては、柔軟物の外観の状態が、折り畳まれた状態から折り畳まれていない状態へと変化してしまう。つまり、把持する位置が適切でない場合、折り畳まれた状態を維持したまま持ち上げることができない。
【0016】
図1は、折り畳まれた柔軟物90の外観の一例を示す模式図である。なお、図1では、一例として四つ折りにされた柔軟物90の外観を示している。図1に示されるように、柔軟物90の4辺の端は特徴が異なっている。端91は、折り畳みにより1つに纏められた端であるが、他の端は折り畳みにより1つに纏められていない端である。つまり、端91は外観に1つの折り目が現れる端であるのに対し、他の端は複数の折り目が現れる端又は折り目が現れない端である。換言すると、端91は外観に1つのエッジが現れる端であるのに対し、他の端は2以上のエッジ(図1のような四つ折りの場合、具体的には2つ又は4つのエッジ)が現れる端である。さらに換言すると、端91は閉じた端であるのに対し、端91以外の端は開口した端である。
【0017】
把持位置が端91の近傍である場合、折り畳まれた状態を維持して柔軟物90を持ち上げることが比較的容易であるが、把持位置が端91以外の端の近傍である場合、折り畳まれた状態を維持して柔軟物90を持ち上げることは比較的困難である。例えば、柔軟物90の横側からエンドエフェクタを挿入し、折り畳まれた柔軟物の上側及び下側を挟んで掴む場合、把持位置が端91の近傍であれば、折り畳まれて複数枚となったシート群を全て掴むことが容易であるが、把持位置が端91以外の端の近傍であると、シート群の一部だけ掴んでしまう恐れがある。シート群の一部だけを掴んで持ち上げてしまうと、折り畳みがほどけてしまう。このように、折り畳まれた状態を維持して柔軟物を持ち上げるためには、適切な把持位置を選択する必要がある。本実施の形態では、画像に示される柔軟物の部位が適切な把持位置、すなわち、折り畳みにより1つに纏められた端の近傍であるか否かを、画像を用いた機械学習により識別する。このような手法により識別を行う場合、次のような課題がある。
【0018】
図2A図2Cは、折り畳まれて積み重ねられた状態の柔軟物について示す図である。図2A図2Cでは、具体的には、折り畳まれた複数の布タオル92が積み重ねられた様子を示している。ここで、図2Aでは、印92aにより、折り畳みにより1つに纏められた端が示されており、図2B及び図2Cでは、印92b、92cにより、開口した端(折り畳みにより1つに纏められていない端)が示されている。図2A図2Cのいずれも、類似した規則的な積層パターンが現れている。このため、図2Aに示される端と、図2B若しくは図2Cに示される端とを区別することが難しい。このため、適切な把持位置の認識が難しい。つまり、把持装置が、折り畳みを維持したまま最上段に積まれている柔軟物を持ち上げることは容易ではない。そこで、本実施の形態では、折り畳まれた柔軟物の折り畳みを維持したまま持ち上げるための以下のような技術について開示する。なお、以下の実施の形態において、柔軟物は、1つに纏められた端を有するように折り畳まれている。例えば、柔軟物は、二つ折り、四つ折り、八つ折りなど、半分に折ることが1回以上繰り返されて折り畳まれていてもよい。この場合、n+1回目の折りの際に、n回目の折りにおいて発生する折り目と直交する折り目が発生するよう折られてもよいし、平行するよう折られてもよい。なお、ここで説明した柔軟物の折り方は一例であり、これらに限定されない。
【0019】
以下、図面を参照して実施の形態について説明する。
図3は、実施形態に係る把持装置1の概略的な構成を示すブロック図である。把持装置1は、図3に示した構成により、[1]柔軟物についての画像データに基づいて学習済みモデルを生成する学習処理と、[2]学習済みモデルを用いて、把持に適した部位についての判定を行う判定処理と、を実行する。なお、学習処理を行う装置として把持装置1を捉えた場合、把持装置1は学習装置とも称すことが可能である。
【0020】
把持装置1は、撮像装置10と、ロボットアーム11と、制御部12と、訓練データ取得部13と、学習演算部14と、モデル記憶部15と、画像データ取得部16と、接触位置決定部17と、把持位置判定部18とを備えている。
【0021】
撮像装置10は、周囲の物体を撮像する装置であり、本実施の形態では、より詳細には、3次元画像情報を生成する装置である。撮像装置10の具体的な構成としては、任意の構成が採用できる。例えば、撮像装置10はステレオカメラであってもよい。また、撮像装置10は、レーザレンジファインダなどのTime-of-Flight方式の距離センサを備えていてもよいし、ドットパターンを投光して距離を測定するLight Coding方式などの距離センサを備えていてもよい。このように、撮像装置10の具体的な構成は任意であり、いずれかの技術による構成に限定されない。
【0022】
ロボットアーム11は、物体を把持する把持部の一具体例である。図4に示すように、ロボットアーム11は、例えば、複数のリンク111と、各リンク111を回動可能に連結する関節部(手首関節、肘関節、肩関節など)112と、対象物を把持するエンドエフェクタ113と、を有する。
【0023】
各関節部112には、各関節部112の回転情報を検出するエンコーダなどの回転センサ114と、各関節部112を駆動するサーボモータなどのアクチュエータ115と、各関節部112の操作力を検出する力センサ116と、が設けられている。力センサ116は、例えば、各関節部112のトルクを検出するトルクセンサなどである。各関節部112には、減速機構が設けられている。エンドエフェクタ113は、例えば、複数の指部などで構成され、指部で挟み込むことで対象物を把持することができる。エンドエフェクタ113には、エンドエフェクタ113を駆動するアクチュエータ117と、エンドエフェクタ113の操作力を検出する力センサ118と、が設けられている。
【0024】
制御部12は、ロボットアーム11の動作を制御する。制御部12は、接触位置決定部17による処理結果、又は把持位置判定部18による処理結果に基づいて、ロボットアーム11の軌道を計算する。また、制御部12は、計算された軌道に従って、ロボットアーム11を動かす。具体的には、例えば、制御部12は、回転センサ114、力センサ116、118からの出力に基づいて、アクチュエータ115、117を制御することで、ロボットアーム11をフィードバック制御する。
【0025】
訓練データ取得部13は、物体を撮像した画像データを含む訓練データを取得する。訓練データ取得部13は、把持装置1のメモリなどの記憶装置に予め記憶された訓練データを読み込んで取得してもよいし、他の装置から送信された訓練データを取得してもよい。学習演算部14は、訓練データ取得部13が取得した訓練データを用いて機械学習の演算を行う。訓練データに含まれる画像データは、例えば2次元画像データであるが、3次元画像データであってもよい。
【0026】
ここで、本実施の形態で用いられる訓練データについて説明する。本実施の形態において、訓練データに含まれる画像データは、折り畳まれ積み重ねられた状態の柔軟物が写っている画像データであり、特に、柔軟物の上面の端が規則的な積層パターン形状から変形した状態の柔軟物が写っている画像データである。より詳細には、本実施の形態では、最上段に積まれた柔軟物の上面の端が側面方向から押された様子が撮像された画像データが用いられる。また、訓練データに用いられる画像データは、そのような画像データとして、次のような2種類の画像データを含む。なお、これら2種類の画像データの一方を第1の画像データと称し、他方を第2の画像データと称すこととする。
【0027】
第1の画像データは、撮像されている変形した端が、折り畳みにより1つに纏められた端である画像データである。つまり、第1の画像データは、折り畳みにより1つに纏められた端において、側面方向からの押圧による変形が生じている様子が撮像された画像データである。訓練データにおいて、第1の画像データに対しては、把持に適した部位についての画像であることを示すラベルが対応づけられている。第2の画像データは、撮像されている変形した端が、折り畳みにより1つに纏められていない端である画像データである。つまり、第2の画像データは、折り畳みにより1つに纏められた端以外の端において、側面方向からの押圧による変形が生じている様子が撮像された画像データである。訓練データにおいて、第2の画像データに対しては、把持に適さない部位についての画像であることを示すラベルが対応づけられている。なお、第1の画像データ及び第2のデータは、画像データから切り出された部分画像データであってもよい。
【0028】
学習演算部14は、このような訓練データを用いて、柔軟物における把持に適した部位を学習する演算を行う。本実施の形態では、機械学習モデルとして、CNN(畳み込みニューラルネットワーク:Convolutional Neural Network)を用いる。より具体的には、把持に適した部位又は把持に適さない部位の画像内の座標位置とともに、把持の適否を出力可能なCNN YOLO v2を機械学習モデルとして用いる。なお、物体を撮像した画像データに基づいて、当該物体の部位に対する把持の適否を定量化した値として出力することが可能な他のニューラルネットワークが用いられてもよいし、その他の機械学習モデルが用いられてもよい。本実施の形態では、学習演算部14は、訓練データを用いて、具体的には、ニューラルネットワークの重み付け係数といったパラメータの値を計算する。学習演算部14は、訓練データを用いた演算処理の終了後、学習済みのモデルを、モデル記憶部15に記憶させる。
【0029】
したがって、モデル記憶部15には、物体を撮像した画像データに基づいて、当該物体の部位に対する把持の適否を定量化した値として出力するよう、コンピュータを機能させるための次のような学習済みモデルが記憶される。すなわち、この学習済みモデルを構成するニューラルネットワークの重み付け係数は、物体を撮像した画像データを含む訓練データを用いて学習されている。なお、この画像データは、上述の第1の画像データ及び第2の画像データを含む。そして、この学習済みモデルは、ニューラルネットワークの入力層に入力された、折り畳まれ積み重ねられた状態の柔軟物が写っている画像データに対し、重み付け係数に従った演算を実行させ、この画像データに写っている柔軟物の部位が把持に適しているか否かをニューラルネットワークの出力層から出力させるよう、コンピュータを機能させる。なお、入力層には、折り畳まれ積み重ねられた状態の柔軟物が写っていない画像データが入力される場合もある。このように、モデル記憶部15に記憶される学習済みモデルは、プログラムモジュールとして利用される。
【0030】
画像データ取得部16は、物体を撮像した画像データを取得する。画像データ取得部16は、例えば、折り畳まれ積み重ねられた状態の柔軟物が撮像された画像データを取得する。本実施の形態では、画像データ取得部16は、撮像装置10により撮像された画像データを取得するが、把持装置1のメモリなどの記憶装置に予め記憶された画像データを読み込んで取得してもよいし、他の装置から送信された画像データを取得してもよい。なお、本実施の形態では、ロボットアーム11の制御を行うために3次元画像データが取得されるが、単に適切な把持位置の判定を行う上では、必ずしも3次元画像データを必要としない。すなわち、2次元画像データであっても、学習済みモデルによる、適切な把持位置の判定は可能である。
【0031】
接触位置決定部17は、把持対象物である柔軟物をロボットアーム11(より詳細にはエンドエフェクタ113)により変形させるための接触位置を決定する。より、詳細には、接触位置決定部17は、積み上げられた柔軟物の上面の端の変形のための接触位置を決定する。つまり、接触位置決定部17は、ロボットアーム11が把持対象物に変位を付与する際の把持対象物におけるロボットアーム11との接触位置を決定する。本実施の形態は、変位は、把持対象物をロボットアーム11(エンドエフェクタ113)が押すことにより付与される。このため、本実施の形態では、接触位置決定部17は、ロボットアーム11が把持対象物である柔軟物を押すための接触位置を決定する。接触位置決定部17は、画像データ取得部16が取得した画像データであって、上面の端がロボットアーム11により変形される前の柔軟物が撮像された画像データを用いて、接触位置を決定する。なお、接触位置の決定の詳細については、フローチャートを用いて後述する。
【0032】
把持位置判定部18は、画像データ取得部16が取得した画像データを用いて、当該画像データに写っている柔軟物の部位が把持に適した部位であるか否かを判定する。すなわち、把持位置判定部18は、折り畳まれ積み重ねられた状態の柔軟物が撮像された画像データを用いて、当該画像データに写っている柔軟物の一部分が、把持に適した部位であるか否かを判定する。ここで、把持位置判定部18は、より詳細には、上面の端に対する変形が行われた柔軟物が撮像された画像データを用いて判定を行う。また、その際、把持位置判定部18は、モデル記憶部15に記憶された学習済みモデルを用いる。すなわち、本実施の形態の把持位置判定部18は、画像データ取得部16が取得した画像データに対し、予め重み付け係数を含むパラメータが設定された上述のCNNを適用し、把持に適した領域及び把持に適さない領域を判別し、把持に適した領域を出力する。
【0033】
制御部12は、上述の通り、ロボットアーム11を制御する。特に、制御部12は、把持位置の判定の際、最上段にある柔軟物の上面の端を変形させるようロボットアーム11を制御する。具体的には、制御部12は、接触位置決定部17により決定された接触位置においてロボットアーム11が柔軟物を所定の力で押すことにより柔軟物の端を変形させるようロボットアーム11を制御する。本実施の形態では、制御部12は、接触位置決定部17により決定された接触位置である、最上段の柔軟物の上面の端を、側面方向からロボットアーム11のエンドエフェクタ113により押すよう制御する。変形を発生させるための動作が単に押す動作であるため容易に変形を実現することができる。
【0034】
なお、本実施の形態では、このように柔軟物の端を横方向から押すが、把持位置の判定の際、他の位置に対してロボットアーム11が変位を付与してもよい。例えば、制御部12は、最上段の柔軟物の上面において、端から所定の距離だけ離れた位置を上側から押すよう制御してもよい。また、本実施の形態では、制御部12は接触位置において柔軟物を押すよう制御するが、制御部12は、柔軟物の端を変形させるために、このような動作に限らず、ロボットアーム11の他の動作により柔軟物を変位させてもよい。例えば、接触位置決定部17により決定された接触位置において柔軟物を引っ張るなどといった、他の動作による変位の付与によって、柔軟物の端の変形が行われてもよい。なお、学習済みモデルを作成するために用いられる訓練データ(学習演算部14で用いられる訓練データ)に含まれる画像データは、把持位置の判定の際に行われるロボットアーム11による変形方法と同じ変形方法により変形された柔軟物の画像データである。
【0035】
また、制御部12は、把持位置判定部18により把持に適した領域であると判定された部位を把持位置として、把持対象の柔軟物を把持するようロボットアーム11を制御する。本実施の形態では、制御部12は、把持に適した領域であると判定された端を、横方向から掴んで柔軟物を把持するようにロボットアーム11を制御するが、把持に適すると判定された端の近傍を、任意の方向から掴んで柔軟物を把持してもよい。
【0036】
制御部12、訓練データ取得部13、学習演算部14、画像データ取得部16、接触位置決定部17、及び、把持位置判定部18は、例えば、把持装置1が備えるメモリなどの記憶装置に記憶された種々の命令を含むプログラムが、把持装置1が備えるプロセッサにより実行されることにより実現される。また、モデル記憶部15は、把持装置1が備えるメモリなどの記憶装置により構成される。ここで、プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、又はGPU(Graphics Processing Unit)であってもよいし、他の種類のプロセッサであってもよい。メモリは、揮発性メモリであってもいし、不揮発性メモリであってもよい。
【0037】
次に、把持装置1の動作について、フローチャートを用いて説明する。
図5は、把持装置1による学習処理の流れを示すフローチャートである。
学習処理では、まず、ステップ10(S10)において、訓練データ取得部13が訓練データを取得する。ステップ10で取得される訓練データは、ラベル付けが行われた上述の第1の画像データ及び第2の画像データを含む。
次にステップ11(S11)において、学習演算部14が、ステップ10で取得された訓練データを用いて、把持に適した部位を判定するCNNの学習のための所定の演算処理を行う。
次に、ステップ12(S12)において、モデル記憶部15は、ステップ11の演算処理の完了によりパラメ-タの値が決定された学習済みモデルを記憶する。
【0038】
図6は、把持装置1が把持対象物を把持する際の処理の流れを示すフローチャートである。
把持の実行の際は、まず、ステップ20(S20)において、画像データ取得部16が、撮像装置10により物体が撮像された画像データを取得する。
次に、ステップ21(S21)において、接触位置決定部17が、把持対象物である柔軟物を変形させるための接触位置を決定する。本実施の形態では、接触位置決定部17は、具体的には、図7のフローチャートに示す処理により、接触位置を決定する。
【0039】
以下、図7のフローチャートを参照して、接触位置決定部17の処理の詳細について説明する。
まず、ステップ210(S210)において、接触位置決定部17は、把持対象物である柔軟物が置かれている平面を検出する。すなわち、接触位置決定部17は、画像データ取得部16により取得された画像データに対して、所定の画像解析処理を行って、平面を検出する。
次に、ステップ211(S211)において、接触位置決定部17は、ステップ210で検出された平面より上側に画像内において存在する塊を所定の画像解析処理を行って検出し、当該画像から切り出す。
次に、ステップ212(S212)において、接触位置決定部17は、ステップ211で切り出した塊の画像に対して所定のエッジ検出処理を行う。このエッジ検出処理により検出されたエッジは、把持対象物(積み上げられた柔軟物)の輪郭に相当する。
次に、ステップ213(S213)において、接触位置決定部17は、積み上げられた柔軟物の上面の端を、接触位置として決定する。これを実現するために、具体的には、接触位置決定部17は、ステップ212で検出されたエッジのうち最も高い位置(最も上側の位置)に存在するエッジの位置を接触位置として決定する。
【0040】
以上のようにして、接触位置が決定されると、処理はステップ22(図5参照)へ移行する。
ステップ22(S22)において、把持対象物の端を変形させるため、制御部12は、ステップ21で決定した接触位置をエンドエフェクタ113により横方向から押すようロボットアーム11を制御する(図8参照)。
次に、ステップ23(S23)において、画像データ取得部16が、撮像装置10により物体が撮像された画像データを取得する。なお、ステップ23で取得される画像データには、ステップ22による変形が生じている把持対象物が撮像されている。布製品などでは、エンドエフェクタ113を離した後も、押されたことによる変形が維持される。このため、ステップ23では、エンドエフェクタ113を柔軟物から離した状態で撮像された画像データが取得されてもよい。
ステップ24(S24)において、把持位置判定部18は、把持に適した位置についての判定処理を行う。すなわち、把持位置判定部18は、ステップ23で取得された画像データに写っている把持対象物の部位が把持に適した部位であるか否かを、学習済みモデルを用いて判定する。把持に適した位置が発見された場合(ステップ25(S25)でYes)、処理は、ステップ26へ移行する。把持に適した位置が発見されなかった場合(ステップ25でNo)、処理はステップ20に戻る。処理がステップ20に戻った場合、例えば、前回とは異なる方向から撮影された画像データについて、ステップ20以降の処理が繰り返されることとなる。これにより、他の端についても、同様に、把持に適した位置についての判定処理が行われる。
ステップ26(S26)において、把持対象物を把持するため、制御部12は、ステップ24で把持に適すると判定された位置をエンドエフェクタ113により横方向から掴むようロボットアーム11を制御する。
【0041】
このように構成された把持装置1によれば、把持位置の判定の際、ロボットアーム11により柔軟物の上面の端が変形させられる。1つに纏められた端と、そのような端ではない端とでは、変形の態様は異なる。つまり、把持位置判定部18は、把持に適するか部位か否かによって態様の異なる画像を用いて判定を行うこととなる。このため、把持位置判定部18は、適切な把持位置を判別することが可能である。また、把持装置1は、上述した接触位置決定部17を有する。このため、変形を発生させるための接触位置を自律的に決定することができる。すなわち、把持装置1では、制御部12が接触位置決定部17により決定された接触位置に従って制御を行うので、把持装置1に自律的に柔軟物を変形させることができる。
【0042】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記の実施の形態では、把持装置1が図3に示した全ての構成要素を含んだが、これらのうち一部が他の装置に含まれてもよい。例えば、図9に示すようなシステムが構築されてもよい。
【0043】
図9は、撮像装置10と、サーバ3と、把持装置4とを有する把持システム2について示す模式図である。図9に示す把持システム2は、撮像装置10が把持装置4ではなく、空間内に設置されている。また、図3に示した構成要素のうち、訓練データ取得部13、学習演算部14、モデル記憶部15、及び、把持位置判定部18をサーバ3が備え、その他の構成要素を把持装置4が備えている。この場合、制御部12、画像データ取得部16、及び接触位置決定部17は、例えば、把持装置4が備えるメモリなどの記憶装置に記憶された種々の命令を含むプログラムが、把持装置4が備えるプロセッサにより実行されることにより実現される。また、訓練データ取得部13、学習演算部14及び、把持位置判定部18は、例えば、サーバ3が備えるメモリなどの記憶装置に記憶された種々の命令を含むプログラムが、サーバ3が備えるプロセッサにより実行されることにより実現される。また、モデル記憶部15は、サーバ3が備えるメモリなどの記憶装置により構成される。撮像装置10と把持装置4との間では、画像データの送受信が行われる。すなわち、把持装置4の画像データ取得部16は、撮像装置10から送信され、把持装置4により受信された画像データを取得する。また、サーバ3と把持装置4との間では、把持位置判定部18の処理に必要な画像データの送受信及び把持位置判定部18による処理結果の送受信が行われる。
【0044】
なお、図9は分散処理の一例であり、他の組み合わせ、又は他の装置により、分散処理が行われてもよい。図3に示した構成例及び図9に示した構成例に限らず、例えば、学習演算部14による処理をサーバが実行し、把持位置判定部18による処理を把持装置により行うようシステムが構成されてもよいし、逆に、学習演算部14による処理を把持装置が実行し、把持位置判定部18による処理をサーバにより行うようシステムが構成されてもよい。
【0045】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0046】
1 把持装置
2 把持システム
3 サーバ
4 把持装置
10 撮像装置
11 ロボットアーム
12 制御部
13 訓練データ取得部
14 学習演算部
15 モデル記憶部
16 画像データ取得部
17 接触位置決定部
18 把持位置判定部
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
図9