(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124290
(43)【公開日】2024-09-12
(54)【発明の名称】制御装置、制御方法、及び制御プログラム
(51)【国際特許分類】
G06N 3/0985 20230101AFI20240905BHJP
B25J 9/16 20060101ALI20240905BHJP
G06N 3/0442 20230101ALI20240905BHJP
G06N 3/0455 20230101ALI20240905BHJP
【FI】
G06N3/0985
B25J9/16
G06N3/0442
G06N3/0455
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023093498
(22)【出願日】2023-06-06
(31)【優先権主張番号】P 2023031440
(32)【優先日】2023-03-01
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(71)【出願人】
【識別番号】598121341
【氏名又は名称】慶應義塾
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】石川 玲奈
(72)【発明者】
【氏名】矢川 琳翔
(72)【発明者】
【氏名】斎藤 英雄
(72)【発明者】
【氏名】▲濱▼屋 政志
(72)【発明者】
【氏名】橋本 敦史
(72)【発明者】
【氏名】田中 一敏
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS22
3C707BS10
3C707DS01
3C707ES03
3C707ET08
3C707HS27
3C707KS34
3C707KW01
3C707LW12
3C707NS26
(57)【要約】
【課題】本開示の技術は、再利用可能な物体を用いてモデルを学習し、様々な脆弱物体の把持を可能とする。
【解決手段】制御装置は、再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、
前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する、
制御装置。
【請求項2】
前記推定モデルの学習は、前記物体の各々から取得した観測値の時系列データの検出結果を前記学習データとして用いて、時系列ネットワークを用いて推定モデルを事前学習し、前記時系列ネットワークのエンコーダの出力を圧縮した全結合層とし、メタ学習において、前記エンコーダのパラメータを固定して前記全結合層のパラメータを更新する、請求項1に記載の制御装置。
【請求項3】
前記再利用可能な複数の物体として、組み立て直しにより再利用可能な2種以上のブロック、加熱による膨張で形状を戻すことで再利用可能なピンポン玉、加熱して冷やすことにより再利用可能なゼリーを少なくとも用い、前記観測値を前記学習データとして取得する、請求項1に記載の制御装置。
【請求項4】
前記2種以上のブロックは、種類ごとにそれぞれ異なる複数の形状について、前記学習データとして収集する、請求項3に記載の制御装置。
【請求項5】
再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、
前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する、
処理をコンピュータが実行する制御方法。
【請求項6】
再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、
前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する、
処理をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【0002】
ロボットに設けられたグリッパを用いて、対象物に応じて把持力を制御して、対象物の把持を可能とする技術がある。
【0003】
例えば、特許文献1には、柔らかい対象物を把持する場合において、対象物を撮影して得られた画像データから対象物の面積を取得し、取得した面積に応じたエア圧を供給することによって、エア圧に応じて屈折するグリッパを制御してグリッパにおける把持部の間隔、又はグリッパにおける把持力を変化させるロボット制御装置について開示されている。
【0004】
しかしながら、対象物を把持するロボットは、柔らかい対象物を把持するために把持力の制御を行う、及び柔らかい対象物を把持するために専用のグリッパを設ける等、特定の対象物に応じて特化して構成されていることがある。
【0005】
また、対象物に応じて把持力の制御を行う場合において同一の対象物であっても(例えば、野菜及び果物等の熟成具合に応じて)対象物の柔軟性が異なることがある。
【0006】
そのため、専用の柔軟なグリッパなしに、破損を生じさせずに、様々な脆弱物体を把持できなかった。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
本開示の技術は、再利用可能な物体を用いてモデルを学習し、様々な脆弱物体の把持を可能とする制御装置、制御方法、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本開示の第1態様に係る制御装置は、再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する。
【0010】
第2態様に係る制御装置において、前記推定モデルの学習は、前記物体の各々から取得した観測値の時系列データの検出結果を前記学習データとして用いて、時系列ネットワークを用いて推定モデルを事前学習し、前記時系列ネットワークのエンコーダの出力を圧縮した全結合層とし、メタ学習において、前記エンコーダのパラメータを固定して前記全結合層のパラメータを更新する。
【0011】
第3態様に係る制御装置において、前記再利用可能な複数の物体として、組み立て直しにより再利用可能な2種以上のブロック、加熱による膨張で形状を戻すことで再利用可能なピンポン玉、加熱して冷やすことにより再利用可能なゼリーを少なくとも用い、前記観測値を前記学習データとして取得する。
【0012】
第4態様に係る制御装置において、前記2種以上のブロックは、種類ごとにそれぞれ異なる複数の形状について、前記学習データとして収集する。
【0013】
上記目的を達成するために、本開示に係る制御方法は、再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する、処理をコンピュータが実行する。
【0014】
上記目的を達成するために、本開示に係る制御プログラムは、再利用可能な複数の物体を用いて、前記物体の各々の所定の破断過程における観測値を学習データとして取得し、前記学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する、処理をコンピュータに実行させる。
【発明の効果】
【0015】
本開示によれば、再利用可能な物体を用いてモデルを学習し、様々な脆弱物体の把持を可能とする。
【図面の簡単な説明】
【0016】
【
図1】
図1は、再利用可能な複数の物体の一例である。
【
図2】
図2は、本実施形態に係るロボットシステムの構成図である。
【
図3】
図3は、制御装置30に関する機能的な構成図である。
【
図4】
図4は、複数の物体について取得した接触力の時系列データの例である。
【
図5】
図4は、複数の物体について取得した接触力の時系列データの例である。
【
図6】
図6は、推定した接触力の時系列データの一例を示すグラフである。
【
図7】
図7は、エンコーダ・デコーダモデルの一例を示す模式図である。
【
図8】
図8は、制御装置のハードウェア構成を示すブロック図である。
【
図9】
図9は、制御装置による推定モデルを学習する処理の流れを示すフローチャートである。
【
図11】
図11は、再利用可能な物体をそれぞれ把持した際の実ロボットである。
【
図12】
図12は、食品をそれぞれ把持した際の実ロボットである。
【
図13】
図13は、ピッキング成功時のスナップショットを示し、ロボットがどのように食品をピッキングしたかを確認した図である。
【
図14】
図14は、実験に用いたおもちゃのブロックの各形状を示す図である。
【
図15】
図15は、実験に用いたおもちゃのブロックの各形状を示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0018】
まず、本実施形態の概要を説明する。食品は壊れやすいため、ロボットによるピッキングは容易ではない。そのため、食品の物理的特性をプリセットしても、カテゴリ内外の多様性のため、ロボットの制御には有効ではなかった。本出願の発明者らの先行研究では、触覚センサを用いた学習型の破断予測によってこの問題の一部を克服できている。しかし、先行研究の方法では、物体の破断体験によって食品のピッキングを実現できることを明らかにしたが、この方法では、カテゴリ内差異に対応するために食品ごとにモデルを学習させていた。そのため、モデルの学習には、食品ごとにモデルを調整し、カテゴリ内の多くの食品を破断することが必要となり、望ましくない量の食品消費を招くことになる。さらに、学習に必要な食品の消費は、経済的にも環境的にも好ましくない。
【0019】
そこで本実施形態では、食品を消費することなく食品採取タスクを学習するための新しいフレームワークを提案する。本実施形態では、ロボットに複数の未知の食品カテゴリを把持させるために、そのカテゴリの食品を大量に消費して学習させたカテゴリ特化型モデルを用いない手法を提案する。本実施形態の方法はカテゴリに特化したモデルを想定している。本実施形態の提案手法では、食品を用いずに、何度も再利用可能な壊れやすい非食品を用いてモデルを学習し、学習データ集合を得る。このとき、対象となる食品と同様の壊れやすい非食品オブジェクトを見つけることができると仮定する。
【0020】
また、キーとなるアイデアは、ドメイン汎化(DG)によりピッキング能力を物体不変にしながら、実際の食品を消費する代わりに、いくつかの再利用可能な壊れやすい物体の物体破壊経験を活用することである。また、再利用可能な非食品オブジェクトとターゲットとなる実食品オブジェクトの間のギャップを補うために、メタ学習を用いたドメイン汎化の技術を採用できる。ドメイン汎化は多様な学習データの助けを借りてモデルの汎化能力を最大化するので、ネットワークは追加の学習なしに未見の食品物体の破壊を予測することができ、仮定が現実のものとなる。
【0021】
本実施形態では、3つの典型的な破壊タイプ(亀裂、破裂、粉砕)により選択された再利用可能な複数の物体を用いてモデルを学習させた。また、本実施形態の手法のテストでは、4つのカテゴリの実食品物体を用いてモデルをテストしている。テスト用の未知の食品物体としては、豆腐、バナナ、ポテトチップス、トマトを選択した。テストの結果、再利用可能な物体の破壊経験とドメイン汎化の組み合わせにより、ロボットの食品ピッキング作業に有効であることが示された。
【0022】
本実施形態の再利用可能な複数の物体(以下、単に物体とも表記する)としては、例として、ゼリー、2種類のおもちゃのブロック(以下、単にブロックとも表記する)、ピンポン玉を用いた。
図1は、再利用可能な複数の物体の一例である。
図1では、再利用可能な複数の物体を、(a1)破断時と(a2)再生時とを比較して並べており、(ob1)はゼリー、(ob2)及び(ob3)はブロック、(ob4)はピンポン玉である。学習用の物体は、ブロックを組み替えたり、ピンポン玉を加熱したり、ゼリーを溶かして冷やす、等、物体の種類に応じた再生処置を行うことで簡単に再利用できるように形状を復元できる。2種以上のブロックは、組み立て直しにより再利用可能である。ピンポン玉は、加熱による膨張で形状を戻すことで再利用可能である。ゼリーは、加熱して冷やすことにより再利用可能である。
【0023】
(ロボットシステム10に係る構成)
次に、本実施形態のロボットシステムの構成を説明する。
図2は、本実施形態に係るロボットシステム10の構成図である。
図2に示すように、ロボットシステム10は、ロボット20、及び制御装置30を備える。ロボットシステム10は、本実施形態では、物体Tをピッキングするピッキング装置として機能する。なお、後述する推定モデルの学習においては、物体Tは、上述した再利用可能な複数の物体を用いる。
【0024】
ロボット20は、ピッキング動作を行う際の運動制御の対象である機構部分としてのロボットアームARと、ロボットアームARの先端に取り付けられたグリッパGRと、を含む。
【0025】
グリッパGRは、対象物の一例としての物体Tを把持する2つの指F1、及び指F2を備える。なお、本実施形態では指の数が2つの場合について説明するが、指の数は2つに限られるものではなく、3つ以上の指を備えてもよい。また、指F1、F2は、本実施形態では一例として板状の部材で構成されるが、指F1、及び指F2の形状はこれに限られるものではない。
【0026】
また、グリッパGRは、指F1、及び指F2のうち少なくとも1つの指を駆動指として駆動するモータMを備える。モータMは、リニアガイドLGと接続されている。リニアガイドLGは、モータMの回転運動を直線運動に変換する変換機構を含む。ここで、グリッパGR、指F1、及び指F2は、エンドエフェクタが一例である
【0027】
指F1、及び指F2は、リニアガイドLGに取り付けられている。リニアガイドLGは、モータMによって駆動され、モータMのZ軸を回転軸とした回転運動をX軸方向の直線運動に変換する。
【0028】
具体的には、例えばモータMが正転した場合は、リニアガイドLGは、指F1、及び指F2を閉じる方向、すなわち物体Tを把持する方向に駆動する。一方、モータMが逆転した場合は、リニアガイドLGは、指F1、及び指F2を開く方向、すなわち物体Tを放す方向に駆動する。なお、本実施形態では、モータMが回転すると、指F1、及び指F2が同時に駆動される構成の場合について説明するが、指F1、及び指F2のうち何れかの指のみが駆動される構成としてもよい。すなわち、本実施形態では、駆動指が指F1、及び指F2の両方の場合について説明するが、駆動指が指F1、及び指F2の一方のみでもよい。
【0029】
また、グリッパGRは、モータMを駆動するモータ駆動部21を備える(
図2参照)。モータ駆動部21は、後述する制御部35から停止する指示を受信するまでモータMを等速度で駆動する。
【0030】
また、指F1、及び指F2の把持面には、触覚センサS1、及び触覚センサS2が各々設けられている。触覚センサS1、及び触覚センサS2は、指F1、及び指F2が物体Tを把持したときに触覚センサS1、及び触覚センサS2が物体Tから受ける接触力を検出する。
【0031】
なお、本実施形態に係る触覚センサSは、分布型触覚センサである形態について説明するが、これに限定されない。触覚センサSは、単点型の触覚センサであってもよい。また、本実施形態では、指F1、及び指F2の両方に触覚センサSが設けられた構成、すなわち指F1、及び指F2の両方が触覚指である場合について説明するが、これに限定されない。本実施形態は、指F1、及び指F2の何れか一方にのみ触覚センサSが設けられた構成としてもよい。
【0032】
ここで、接触力とは、把持力の反力であり、把持力と向きが反対で大きさは同じである。また、把持力とは、駆動指又は触覚指が物体Tに加える力である。なお、本実施形態では、物体Tを把持せずに指F1、及び指F2同士が直接接触して互いに他方の指に力を加えている場合に他方の指に加える力も把持力と称する。また、把持力は指F1、及び指F2の各々に発生するが、重力の影響を考えない場合は、指F1、及び指F2の把持力は互いに反対向きで同じ大きさとなる。
【0033】
ロボット20は、一例として自由度が6の垂直多関節ロボット、水平多関節ロボット等が用いられるが、ロボットの自由度及び種類はこれらに限られるものではない。
【0034】
(制御装置30に係る構成)
制御装置30は、ロボット20を制御する。一例として
図3に示すように、制御装置30は、機能的には、取得部31、記憶部32、学習部33、推定部34、及び制御部35を備えている。また、推定部34には、破損が生じる時期を推定するための機械学習が行われた推定モデル40が格納される。また、学習部33において、学習用の対象を再利用可能な複数の物体Tを用いてとして、推定モデル40の学習を行う。
【0035】
取得部31は、触覚センサS1、及び触覚センサS2を用いて、複数の物体Tの各々から、当該物体Tから受ける接触力を予め定められた期間毎に取得する。
【0036】
記憶部32は、検出結果として、ロボット20の稼働毎に取得部31が取得した接触力を記憶する。なお、接触力の検出結果は、グリッパGRによって、物体Tの各々を破壊及び変形等の破損させた際に得られた接触力の時系列データの各々である。ここで、検出結果は、「作用結果」の一例であり、物体Tを破壊及び変形等の破損は、「所定の作用」の一例である。
【0037】
図4及び
図5に、複数の物体Tについて取得した接触力の時系列データを例示する。
図4及び
図5に、ロボット20が、(上)食品を壊すとき、(下)再利用可能な物体を壊すとき、の触覚信号の時系列データを示す。横軸は時間、縦軸は3軸の力信号のノルムを示す。時系列データでは、最初の力のピーク(破線)の時刻を破壊時と定義する。(fd1)は豆腐、(fd2)はバナナ、(fd3)はポテトチップス、(fd4)はトマトの時系列データである。また、上下に並べた接触力は対比関係にある。(ob1)のゼリーは豆腐、(ob2)のブロックはバナナ、(ob3)のブロックはポテトチップス、(ob2)のピンポン玉はトマト、に類似する波形の時系列データとなっている。このように、食品の破壊時の波形に類似する時系列データを、再利用可能な物体から取得することにより、様々な食品に対応できる学習データを取得できる。
【0038】
推定モデル40が推定する接触力について例示する。
図6は、推定した接触力の時系列データの一例を示すグラフである。一例として、
図6に示すように、入力データとして、現時点t
nまでの期間wに取得した接触力が入力された場合、推定モデル40は、現時点t
nからδ秒後に得られる接触力(以下、「推定接触力」という。)x
tδ、及び物体Tの状態yを推定する。t
δは先読みの目標時間である。物体Tの状態は、物体Tに破損が生じるか否かである。また、以下では、推定接触力x
tδが得られる現時点t
nからδ秒後の時期を「所定の時期」とする。なお、入力ウィンドウX
tw:tは時間軸に沿ってスライドし、^y
tδを予測する。予測値のy
tはT
p-m≦t
δのとき真である。ここでmはピーク前の実際の破断点をカバーすべき安全マージンを表す。
【0039】
ロボットは破壊の前に停止しなければならない。このため、ロボットはタイムステップTp-mでグリッパGRを閉じるのを停止する。ここで、Tpはピーク時間、mは破断タイミングをカバーすべき安全マージンである。すなわち、Tp-mからTpの間に破断が発生すると仮定する。入力観測の最初のタイムステップをtw=t-wとし、破断予測の目標タイムステップをtδ=t+δとする。そして、破壊予測問題は、ytδ=f(Xtw:t)として定式化され、ここで、Xtw:t={xtw,...,xt}は触覚センサSからの観測値のシーケンスであり、ytδは2値である。ロボットが破断タイミングを超えたかどうかを示す値は、Tp-m≦tδならば真、そうでなければ偽である。ytδが真のとき、ロボットはグリッパGRを閉じるのを止める。
【0040】
学習部33は、学習フェーズにおいて、記憶部32に記憶されている物体Tの各々の検出結果を用いて、破損が生じる時期を推定するための機械学習を行った推定モデル40を学習する。具体的には、学習部33は、検出結果から時系列特徴を検出し、当該時系列特徴が生じる時期を学習させ、推定モデル40を生成する。時系列特徴は、物体Tに破損が生じる、接触力が所定の閾値を超えた後に、最初に検出されたピーク値である。ここで、本実施形態では、複数の触覚センサSを用いていることから複数の検出結果を取得可能である。また、分布型触覚センサは、1回の稼働において複数の接触力を検出可能である。すなわち、学習部33は、1回の稼働において取得した複数の検出結果を用いて、機械学習を実行可能である。
【0041】
例えば、学習部33は、学習データとして、再利用可能な複数の物体の接触力の時系列データ(観測値の時系列データ)を用いる。接触力の時系列データは、所定の期間における複数の接触力、所定の期間からδ秒後の接触力、及び物体Tに対する接触力のピーク値(教師信号)を、学習データとする。学習部33は、学習データを用いて機械学習を実行し、推定モデル40を生成する。ここで、本実施形態では、以下に説明するように、機械学習において、段階的に学習を行い、推定モデル40を学習する。学習部33では、推定モデル40を一度事前学習し、中間層の一部についてドメイン汎化により更新することで学習する。
【0042】
推定モデル40は、エンコーダ・デコーダモデルを用いた時系列ネットワークであるLSTM(Long Short-Term Memory)を用いる。LSTMは、一例として
図7に示すように、入力層、中間層(隠れ層)、及び出力層を備え、中間層において、処理済みのデータを異なるノード41に伝搬して処理を行う。また、エンコーダ・デコーダモデルは、中間層において、入力されたデータから特徴を抽出して予め定められた次元のベクトルに圧縮するエンコード処理と、圧縮された圧縮データに含まれる特徴を復号するデコード処理と、を行う。エンコーダの出力をz
tとし、z
tの圧縮データを全結合層Mとする。エンコーダ・デコーダモデルである推定モデル40は、過去の所定の期間における接触力を用いて、所定の時期における接触力、及び物体Tの状態の判定を推定して出力する。
【0043】
ここで、学習部33は、学習データを入力として、エンコーダ・デコーダを事前学習し、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、全結合層Mを再学習する。ここでメタ学習によるドメイン汎化に対応した機械学習手法は、参考文献1のMAML、MLDGの手法を適用する。
[参考文献1]Li, D., Yang, Y., Song, Y. Z., & Hospedales, T. (2018, April). Learning to generalize: Meta-learning for domain generalization. In Proceedings of the AAAI conference on artificial intelligence(Vol. 32, No. 1).
【0044】
効率的かつ効果的に推定モデル40を学習するために、まず、すべての学習データでモデル全体(EとM)を事前学習する。ここでは、エンコーダをE、全結合層をMとする。その後、Eのパラメータを固定して、全結合層MのパラメータのみをMLDGを用いて更新する。なお、評価段階では、事前学習されたモデル(メタ学習前のモデル)をベースラインとして採用することに留意する。
【0045】
MLDGのメタ学習では、学習対象を以下(1)式のmeta-trainと、(2)式のmeta-testに分割する。ソースドメインをS、ターゲットドメインをTとする。ターゲットドメインTは未知の想定である。また、meta-trainでは、ソースドメインSは、仮想テストドメインとしてS-Vに分割される。学習は、ラベルyに関し、予測された数値の間の損失関数l(^y,y)を想定する。メタ学習によるオーバーフィッティングを避けるため、損失関数lでモデル全体を一度事前学習させている。また、(3)式のようにパラメータΘを更新することで、全結合層Mを更新する。
【数1】
・・・(1)
【数2】
・・・(2)
【数3】
・・・(3)
【0046】
次に、推定モデル40による推定態様の一例を説明する。具体的には、推定モデル40は、入力された複数の接触力を用いて、物体Tから受ける接触力を推定して接触力のピーク値xtpを特定する。推定モデル40は、特定した接触力のピーク値xtpが生じる時期tpを特定し、特定した時期tpを基点として、予め定められたマージンmの範囲を設定する。推定モデル40は、推定接触力xtδが得られる所定の時期tδが、時期tpを基点としたマージンmの範囲に含まれている場合、破損が生じると判定する。換言すると、推定モデル40は、上述の通りTp-m≦tδを満たす場合、所定の時期tδに破損が生じる(y=1)と判定し、満たさない場合、所定の時期tδに破損が生じない(y=0)と判定する。
【0047】
なお、マージンmは、予め定められている形態について説明した。しかし、これに限定されない。物体Tに応じて、マージンmを設定してもよい。例えば、物体Tの質量を計測し、質量に応じて、マージンmを設定してもよいし、物体Tに超音波を射出して得られた結果から密度を算出し、密度に応じてマージンmを設定してもよい。また、物体Tを撮影した画像から物体Tの大きさ、及び材質を推定し、推定した大きさ、及び材質に応じて、マージンmを設定してもよい。ここで、物体Tの質量、密度、大きさ、及び材質は、特徴量の一例である。
【0048】
また、実施形態では、分布型触覚センサである触覚センサS1、及び触覚センサS2を用いているため、1つの物体Tから複数の接触力が得られる。そのため、推定モデル40は、複数の接触力の各々から、それぞれ接触力が閾値を超えた後に最初に検出されたピーク値xtpを推定する。推定モデル40は、推定した複数の接触力のピーク値xtpのうち、最初に検出されたピーク値xtpを用いて、物体Tの状態を判定できる。
【0049】
推定部34は、取得部31が取得した所定の期間における接触力を推定モデル40に入力して、物体Tの状態(所定の時期に破損が生じるか否か)の判定を行う。
【0050】
制御部35は、推定部34によって、所定の時期に破損が生じると判定された場合、モータ駆動部21にモータMを停止する指示を送信して、物体Tに生じる把持力を制御する。
【0051】
次に、
図8を参照して、制御装置30のハードウェア構成について説明する。
図8は、制御装置30のハードウェア構成を示すブロック図である。
【0052】
図8に示すように、制御装置30は、CPU(Central Processing Unit)30A、ROM(Read Only Memory)30B、RAM(Random Access Memory)30C、ストレージ30D、入力部30E、モニタ30F、通信インタフェース(I/F)30Gを有する。各構成は、バス30Hを介して相互に通信可能に接続されている。
【0053】
ストレージ30Dには、制御プログラムが格納されている。CPU30Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU30Aは、ストレージ30Dからプログラムを読み出し、RAM30Cを作業領域としてプログラムを実行する。CPU30Aは、ストレージ30Dに記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0054】
ROM30Bは、各種プログラム及び各種データを格納する。RAM30Cは、作業領域として一時的にプログラム又はデータを記憶する。ストレージ30Dは、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0055】
入力部30Eは、キーボード、及びマウス等のポインティングデバイスを含み、各種の
【0056】
入力を行うために使用される。モニタ30Fは、例えば、液晶ディスプレイであり、対象の物体Tの把持状態等の各種の情報を表示する。モニタ30Fは、タッチパネル方式を採用して、入力部30Eとして機能してもよい。
【0057】
通信I/F30Gは、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
【0058】
図2に示した制御装置30の各機能構成は、CPU30Aがストレージ30Dに記憶された制御プログラムを読み出し、RAM30Cに展開して実行することにより実現される。
【0059】
本実施形態の制御装置30は、再利用可能な複数の物体を用いて、物体の各々の所定の破断過程における観測値の時系列データを学習データとして取得する。また、制御装置30は、学習データを用いて、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、対象物に所定の作用が生じるタイミングを推定するための推定モデルを学習する。
【0060】
次に、
図9及び
図10を参照して、制御装置30の作用について説明する。
【0061】
図9は、制御装置30による推定モデル40を学習する処理の流れを示すフローチャートである。ユーザーが入力部30Eを操作してモデル生成処理の実行を指示すると、CPU30Aがストレージ30Dから制御プログラムを読み出して、RAM30Cに展開し実行することにより、制御方法としてのモデル学習処理が実行される。
【0062】
ステップS100において、CPU30Aは、検出の対象の再利用可能な物体を設定する。なお、物体の入れ替えは手作業で行われるが、自動化してもよい。
【0063】
ステップS102において、CPU30Aは、ロボット20に対象の再利用可能な物体を把持させ、接触を制御する。
【0064】
ステップS104において、CPU30Aは、対象の再利用可能な物体の接触力の検出結果を取得する。
【0065】
ステップS106において、CPU30Aは、全ての再利用可能な物体について検出を終了したか否かを判定する。検出を終了した場合にはステップS108へ移行し、検出を終了していない場合にはステップS100へ戻って次の対象の再利用可能な物体を設定し、検出を繰り返す。
【0066】
ステップS108において、CPU30Aは、再利用可能な物体の各々から検出した検出結果を学習データとして用いて、推定モデル40を事前学習する。
【0067】
ステップS110において、CPU30Aは、事前学習した推定モデル40の全結合層Mを入力として、メタ学習によるドメイン汎化に対応した機械学習手法を適用し、全結合層Mを再学習する。
【0068】
ステップS112において、CPU30Aは、最終的な学習結果として得られた推定モデル40を保存する。
【0069】
以上、本発明の実施形態に係る制御装置30は、再利用可能な物体を用いてモデルを学習し、様々な脆弱物体の把持を可能とすることができる。
【0070】
(実験例)
提案した本実施形態の学習手法を検証するため、実ロボットによるフードピッキングの実演を行い、実際の食品を用いたフードピッキングの成功率を評価した。
図10は、実験に用いた実ロボットである。
図11は、再利用可能な物体をそれぞれ把持した際の実ロボットである。
図12は、食品をそれぞれ把持した際の実ロボットである。
【0071】
ピッキング対象には、物性のカテゴリ間多様性を維持するために、豆腐、ポテトチップス、トマト、バナナを選択した。4つの食品について、それぞれ20回ずつ把持試行を行い、実験を行った。本実施形態で学習した推定モデル40を用いた提案手法と、ベースライン(メタ学習前の推定モデル)とを比較し、メタ学習の効果を検証した。
【0072】
この実験では、同じ初期位置、同じ姿勢で配置することを目指したが、手作業で行ったため、自然なばらつきも含む。食品の形状とポーズについて、より詳しく説明する。豆腐は、高さ(20~30mm)と奥行き(15~20mm)は同じだが、幅が異なる(それぞれ40mmと20mm)立方体と立方体の2種類の形状を用意した。なお、幅×奥行きの面は常に地面を向き、奥行き×高さの面はグリッパに接触している。ポテトチップスについては、上向きに凹んだポーズで配置した。バナナは、厚みが約7~15mmの輪切りになるように形状を固定した。丸い面が正面を向くように(つまり、グリッパが側面に接触するように)配置した。最後に、トマトはヘタ側が後ろに向くように置いた。ただし、ヘタはあらかじめ取り除いておいた。なお、トマトは丸いため少し傾いている場合もあった。これにより、豆腐キューボイド、豆腐キューブ、バナナ、ポテトチップス、トマトの5種類の食品について実験を行った。
【0073】
図13は、ピッキング成功時のスナップショットを示し、ロボットがどのように食品をピッキングしたかを確認した図である。ロボットがグリッパを閉じるのを止め、破断することなく、対象物をつまんでいることがわかる。
【0074】
表1は、5種類の食品に対して、ベースラインと提案手法で行ったピッキングの性能を示したものである。
【表1】
【0075】
実験では、対象物がつぶれたり、割れたり、破れたりすることなくつまむことができた場合のみ成功とし、そうでない場合は失敗とカウントした。なお、実験を通して、失敗のパターンのほとんどは破断によるものであり、ロボットがグリッパを早期に停止させることはなかった。
【0076】
ベースラインモデルは、バナナ、トマト、ポテトチップスで良好な性能を発揮した。これは、再利用可能なオブジェクトの多様性が、すでにそれらの食品オブジェクトをうまくカバーしていることを示している。ここで、提案手法のドメイン汎化は、バナナとポテトチップスの成功率をさらに向上させていることがわかる。豆腐キューボイドと豆腐キューブで大幅に性能が向上したことは、ドメイン汎化によって推定モデル40の汎化能力が拡張されたことを示すものである。
【0077】
なお、実験では推定モデル40の学習には、2種類のおもちゃのブロック、ピンポン玉、ゼリーについて、それぞれ52個、52個、49個の破損体験を収集した。すなわち、合計205個の時間配列となった。収集したおもちゃのブロックの破損体験は、おもちゃのブロック1(ob2)が5形状、おもちゃのブロック2(ob3)が4形状として、種類ごとに異なる複数の形状で構成し、学習データとして収集した。
図14及び
図15は、実験に用いたおもちゃのブロックの各形状を示す図である。このように、おもちゃのブロックの形を変えることで、カテゴリ内差もカバーできる学習が期待できる。
【0078】
なお、上記実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した情報処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、情報処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0079】
また、上記各実施形態では、プログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0080】
10 ロボットシステム
20 ロボット
21 モータ駆動部
30 制御装置
31 取得部
32 記憶部
33 学習部
34 推定部
35 制御部
40 推定モデル
T (再利用可能な)物体