JP2024031308A - 情報処理装置、情報処理方法、プログラム、及びロボット - Google Patents

情報処理装置、情報処理方法、プログラム、及びロボット Download PDF

Info

Publication number
JP2024031308A
JP2024031308A JP2022134791A JP2022134791A JP2024031308A JP 2024031308 A JP2024031308 A JP 2024031308A JP 2022134791 A JP2022134791 A JP 2022134791A JP 2022134791 A JP2022134791 A JP 2022134791A JP 2024031308 A JP2024031308 A JP 2024031308A
Authority
JP
Japan
Prior art keywords
value
information
shape
estimated
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022134791A
Other languages
English (en)
Inventor
アーノード ソービ
Solvi Arnold
公俊 山崎
Kimitoshi Yamazaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shinshu University NUC
Original Assignee
Shinshu University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shinshu University NUC filed Critical Shinshu University NUC
Priority to JP2022134791A priority Critical patent/JP2024031308A/ja
Publication of JP2024031308A publication Critical patent/JP2024031308A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】変形可能な物体の素材特性を精度よく推定することができる情報処理装置を提供すること。【解決手段】情報処理装置は、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが初期形状を目標形状へ変形させる1以上の動作をロボットに行わせるための制御値を含む第1入力情報に基づいて、物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる制御部を備える。【選択図】図8

Description

この発明は、情報処理装置、情報処理方法、プログラム、及びロボットに関する。
布等の変形可能な物体を変形させる動作を行うロボットの制御についての研究、開発が行われている。
これに関し、畳み込みニューラルネットワークを用いた操作方法生成システムであって、対象となる変形可能な物体の開始状態をシステムに入力する手段と、当該物体の目標状態をシステムに入力する手段と、畳み込みニューラルネットワークの畳み込み層により、当該物体の開始状態を符号化する手段と、畳み込みニューラルネットワークの全結合ネットワークに、当該物体に対する操作パラメータを付加する手段と、畳み込みニューラルネットワークの復号化層により、全結合ネットワークにより操作パラメータが付加された当該物体を復号化し、操作後状態を出力する手段と、を備える操作方法生成システムが知られている(特許文献1参照)。
特開2019-049904号公報
ここで、特許文献1に記載されたような操作方法生成システムは、予め決められた素材特性を有する物体を、対象となる変形可能な物体として選択し、選択した物体についての操作後状態の予測と目標状態との差に基づく誤差逆伝播法により、操作後状態の予測と目標状態との差が小さくなる操作パラメータを生成することができる。このようにして生成された操作パラメータは、選択した物体についての操作後状態の予測と目標状態とを小さくすることができる。しかしながら、当該操作パラメータは、予め決められた素材特性と異なる素材特性の物体についての操作後状態の予測と目標状態とを小さくすることができないことがある。これは、当該操作方法生成システムにおける操作パラメータの生成過程において、対象となる変形可能な物体の素材特性を推定することができず、その結果、対象となる変形可能な物体の素材特性が考慮することができていないことが原因である。なお、ここで、物体の素材特性は、例えば、曲げ易さ、伸び易さ等のことである。
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、変形可能な物体の素材特性を精度よく推定することができる情報処理装置、制御装置、情報処理方法、プログラム、及びロボットを提供する。
本発明の一態様は、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる制御部を備える、情報処理装置である。
また、本発明の他の態様は、情報処理装置において、前記機械学習モデルは、前記物体の形状を示す形状情報と前記制御値と前記1種類以上の素材特性値とを含む第2入力情報が入力された場合、前記1以上の動作のそれぞれによって変形させられた後の前記物体の形状として最も尤もらしいと推定される推定形状を示す推定形状情報を出力するように学習済みであり、前記第1入力情報は、前記制御値と、前記初期形状を示す初期形状情報と、前記1種類以上の素材特性値とを含む、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記制御部は、前記1以上の動作のそれぞれについての前記物体の途中形状を示す途中形状情報と前記第1入力情報と前記機械学習モデルとに基づいて、前記1種類以上の素材特性値の推定値を前記機械学習モデルに推定させる、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記機械学習モデルは、ニューラルネットワークを含む、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記制御部は、前記第1入力情報を用いた誤差逆伝播法により、前記機械学習モデルに前記1種類以上の素材特性値の推定値を推定させる、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記第2入力情報は、前記1以上の動作毎の前記制御値と、前記形状情報と、前記1種類以上の素材特性値の初期値とを含む、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記制御部は、前記形状情報と、前記制御値と、前記1種類以上の素材特性値の初期値とを含む第3入力情報と、前記目標形状を示す目標形状情報とを用いた誤差逆伝播法により、前記制御値として最も尤もらしい値を前記制御値の推定値として前記機械学習モデルに推定させ、推定させた前記制御値の推定値と前記形状情報とを含む前記第2入力情報を生成する、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記形状情報と前記初期形状情報と前記推定形状情報とのそれぞれは、前記物体のメッシュモデルを示す情報である、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記1種類以上の素材特性値は、前記物体の曲がり易さを示す値と、前記物体の伸び易さを示す値と、前記物体の重厚さを示す値と、前記物体の滑り易さを示す値との少なくとも1つである、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記1種類以上の素材特性値は、確率分布によって表された値である、構成が用いられてもよい。
また、本発明の他の態様は、情報処理装置において、前記1種類以上の素材特性値は、予め決められた範囲内に含まれる中心値と、前記中心値周りの分布の幅とによって表された値である、構成が用いられてもよい。
また、本発明の他の態様は、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる、情報処理方法である。
また、本発明の他の態様は、コンピューターに、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる、プログラムである。
また、本発明の他の態様は、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットであって、前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる制御部を備える、ロボットである。
本発明によれば、変形可能な物体の素材特性を精度よく推定することができる。
ロボットシステム1の構成の一例を示す図である。 平置きされているTシャツの形状の一例を示す図である。 略半分に畳まれているTシャツの形状の一例を示す図である。 第1基準軌道TR1及び第2基準軌道TR2それぞれの一例を示す図である。 第1基準軌道TR1及び第2基準軌道TR2のそれぞれの一例を示す側面図である。 図5に示した第1基準軌道TR1及び第2基準軌道TR2のそれぞれを示す上面図である。 情報処理装置30のハードウェア構成の一例を示す図である。 情報処理装置30の機能構成の一例を示す図である。 機械学習モデルMDの構成の一例を示す図である。 操作モジュールMnの構成の一例を示す図である。 情報処理装置30が機械学習モデルMDを利用する場合におけるデータフローの一例を示す図である。 情報処理装置30が機械学習モデルMDに学習させる処理の流れの一例を示す図である。 情報処理装置30が制御値mの推定値を推定する処理の流れの一例を示す図である。 情報処理装置30が素材特性値Mtの推定値を推定する処理の流れの一例を示す図である。 情報処理装置30により推定された素材特性値Mtを例示する図である。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。
<情報処理装置の概要>
まず、実施形態に係る情報処理装置の概要について説明する。
実施形態に係る情報処理装置は、変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが初期形状を目標形状へ変形させる1以上の動作をロボットに行わせるための制御値を含む第1入力情報に基づいて、物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させ、推定させた1種類以上の素材特性値の推定値に応じた出力情報を出力する制御部を備える。これにより、情報処理装置は、変形可能な物体の素材特性を精度よく推定することができる。
以下では、実施形態に係る情報処理装置の構成と、当該情報処理装置が行う処理とについて詳しく説明する。
<情報処理装置の構成>
以下、図1に示したロボットシステム1が備える情報処理装置30を例に挙げて、実施形態に係る情報処理装置の構成について説明する。なお、以下では、一例として、ある物体の形状を示す形状情報が、当該物体のメッシュモデルを示す情報である場合について説明する。
図1は、ロボットシステム1の構成の一例を示す図である。ロボットシステム1は、撮像部10と、ロボット20と、情報処理装置30を備える。図1に示した例では、ロボットシステム1では、撮像部10と、ロボット20と、情報処理装置30とのそれぞれが別体に構成されている。しかしながら、ロボットシステム1において、撮像部10と、ロボット20と、情報処理装置30とのうちの一部又は全部は、一体に構成されてもよい。また、ロボットシステム1は、撮像部10を備えない構成であってもよい。また、ロボットシステム1は、撮像部10と、ロボット20と、情報処理装置30とに加えて、他の装置を備える構成であってもよい。
撮像部10は、被写体の三次元形状を示す情報を含む撮像画像を撮像可能なカメラである。以下では、一例として、撮像部10が、2つの撮像光学系を備え、これら2つの撮像光学系によってステレオ撮像可能なカメラである場合について説明する。ここで、このようなカメラは、撮像素子として、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を備えるが、他の種類の撮像素子を備える構成であってもよい。また、撮像部10は、ロボット20が作業を行うことが可能な作業領域を含む範囲を撮像可能な位置に設けられる。なお、撮像部10は、静止画像を撮像する構成であってもよく、動画像を撮像する構成であってもよい。また、撮像部10は、このようなステレオ撮像可能なカメラに代えて、例えば、赤外パルスによって三次元形状を示す情報を含む撮像画を撮像可能なカメラ、ライトフィールドカメラ等の、被写体の三次元形状を示す情報を含む撮像画像を撮像可能な他の種類のカメラであってもよい。また、撮像部10は、被写体の色情報を含む撮像画像を撮像可能なカメラであってもよい。これは、被写体の色情報を含む撮像画像に基づいて、被写体の形状を示す形状情報として、メッシュモデルを示す情報を生成することが可能だからである。以下では、説明の便宜上、撮像部10により1回の撮像毎に撮像される2枚の撮像画像を、まとめてステレオ撮像画像と称して説明する。
撮像部10は、情報処理装置30により制御される。このため、撮像部10は、有線又は無線によって情報処理装置30と通信可能に接続される。
ロボット20は、第1アームと第2アームとを備えた双腕ロボットである。なお、ロボット20は、第1アームと第2アームとのうちのいずれか一方を備えた単腕ロボットであってもよく、3本以上のアームを備えた多腕ロボットであってもよい。また、ロボット20は、スカラロボットであってもよく、ガントリ等の直交座標型のロボットであってもよい。
第1アームは、垂直多関節型の第1マニピュレータと、物体を把持可能な第1エンドエフェクタとにより構成される。ここで、第1エンドエフェクタは、第1マニピュレータの先端に取り付けられる。なお、第1エンドエフェクタと第1マニピュレータとの間には、第1エンドエフェクタに加わる外力と、第1エンドエフェクタに加わるモーメントとのうちの少なくとも一方を検出可能な力センサが設けられていてもよく、当該力センサが設けられていなくてもよい。
第2アームは、垂直多関節型の第2マニピュレータと、物体を把持可能な第2エンドエフェクタとにより構成される。ここで、第2エンドエフェクタは、第2マニピュレータの先端に取り付けられる。なお、第2エンドエフェクタと第2マニピュレータとの間には、第2エンドエフェクタに加わる外力と、第2エンドエフェクタに加わるモーメントとのうちの少なくとも一方を検出可能な力センサが設けられていてもよく、当該力センサが設けられていなくてもよい。
図1に示した例では、第1エンドエフェクタと第2エンドエフェクタとのそれぞれは、ロボット20が作業を行う対象となる物体Oの一部を把持している。ここで、物体Oは、変形可能な物体であり、例えば、布である。なお、物体Oは、布に代えて、フィルム等のシート状の物体であってもよく、コード等の紐状の物体であってもよく、他の変形可能な物体であってもよい。以下では、説明の便宜上、物体Oが有する位置のうち、第1エンドエフェクタにより把持される位置を、第1把持位置g1と称して説明する。また、以下では、説明の便宜上、物体Oが有する位置のうち、第2エンドエフェクタにより把持される位置を、第2把持位置g2と称して説明する。
ロボット20は、情報処理装置30により制御される。このため、ロボット20は、有線又は無線によって情報処理装置30と通信可能に接続される。
情報処理装置30は、撮像部10を制御し、撮像部10が撮像可能な範囲を撮像部10に撮像させる。情報処理装置30は、撮像部10が撮像したステレオ撮像画像を撮像部10から取得する。
情報処理装置30は、N個の動作をロボット20が順に行うようにロボット20を制御し、ロボット20に予め決められた作業Wを行わせる。Nは、1以上の整数であれば、如何なる整数であってもよい。作業Wは、物体Oの初期形状を予め決められた目標形状へ変形させる作業である。以下では、物体OがTシャツである場合について説明する。この場合、物体Oの初期形状は、例えば、図2に示したように、平置きされている状態のTシャツの形状である。図2は、平置きされているTシャツの形状の一例を示す図である。また、この場合、物体Oの目標形状は、図3に示したように、略半分に畳まれているTシャツの形状である。図3は、略半分に畳まれているTシャツの形状の一例を示す図である。すなわち、本実施形態では、作業Wは、平置きされたTシャツを半分に折り畳む作業である場合について説明する。また、作業Wは、平置きされたTシャツを半分に折り畳む作業に代えて、物体Oの初期形状を目標形状へ変形させる他の作業であってもよい。なお、図2及び図3に描かれた三次元座標系は、図2及び図3における方向を示す。そして、図2及び図3に描かれた三次元座標系のZ軸の負方向は、図2及び図3における重力方向と一致している。また、図2及び図3には、第1把持位置g1と第2把持位置g2とのそれぞれの一例が示されている。すなわち、ロボット20は、例えば、図2及び図3に示した第1把持位置g1を第1エンドエフェクタによって把持し、図2及び図3に示した第2把持位置g2を第2エンドエフェクタによって把持しながら、平置きされたTシャツを半分に折り畳む作業Wを行う。
情報処理装置30は、このようなロボット20の制御を行うため、ロボット20に行わせるN個の動作を示す制御値mを生成する。N個の動作を示す制御値mは、すなわち、N個の動作によって第1制御点及び第2制御点のそれぞれが移動する軌道を示す。また、N個の動作を示す制御値mは、物体Oの素材特性を示す1種類以上の素材特性値に応じて生成される。何故なら、N個の動作は、物体Oの素材特性に応じて変わらなければ、作業Wを精度よく行うことができないことがあるためである。また、N個の動作を示す制御値mには、N個の動作それぞれの動作を示す制御値が含まれている。そこで、以下では、説明の便宜上、N個の動作のうちのn番目の動作を示す制御値を、制御値mnと称して説明する。nは、1以上N以下の範囲内に含まれるいずれかの整数のことである。すなわち、N個の動作を示す制御値mには、N個の動作のうちの1番目の動作を示す制御値m1から、N個の動作のうちのN番目の動作を示す制御値mNまでのN個の制御値が含まれている。
ここで、物体Oの素材特性を示す1種類以上の素材特性値は、物体Oの曲がり易さを示す値と、物体Oの伸び易さを示す値と、物体Oの重厚さを示す値と、物体Oの滑り易さを示す値との4種類の素材特性値のうちの少なくとも1つである。なお、物体Oの重厚さを示す値は、物体Oの重さを示す値と、物体Oの厚さを示す値との少なくとも一方により表される。また、物体Oの滑り易さを示す値は、例えば、物体Oの摩擦係数であるが、これに限られるわけではない。以下では、一例として、当該1種類以上の素材特性値が、これら4種類の素材特性値である場合について説明する。これら4種類の素材特性値のそれぞれは、確率分布によって表された値である。より具体的には、これら4種類の素材特性値のそれぞれは、予め決められた範囲内に含まれる中心値と、中心値周りの分布の幅によって表された値である。以下では、一例として、当該予め決められた範囲が0以上1以下の範囲である場合について説明する。当該予め決められた範囲は、0以上1以下の範囲に代えて、他の範囲であってもよい。これら4種類の素材特性値のそれぞれを0以上1以下の範囲内の値として表す方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、中心値周りの分布の幅は、中心値を含む誤差範囲によって表される。この場合、例えば、これら4種類の素材特性値のうちのある素材特性値についての知識が得られていない場合、当該素材特性値は、中心値が0.5であり、分布の幅が1(すなわち、0.5を中心とした±0、5の範囲)によって表される。なお、これら4種類の素材特性値のうちの一部又は全部は、他の方法により表されてもよい。以下では、説明の便宜上、これら4種類の素材特性値のそれぞれを、まとめて素材特性値Mtと称して説明する。
制御値mの生成において、情報処理装置30は、学習済みの機械学習モデルMDを用いる。機械学習モデルMDの学習には、物体Oの初期形状を示す初期形状情報P0と、制御値m1~制御値mNのN個の制御値と、N個の動作のうちの1番目の動作についての途中形状情報P1~N個の動作のうちのN番目の動作についての途中形状情報PNのN個の途中形状情報と、素材特性値Mtとのそれぞれを含む入力情報DT0が用いられる。ここで、n番目の動作についての途中形状情報Pnは、N個の動作のうちのn番目の動作を行った後の物体Oの形状を示す情報のことである。また、情報処理装置30は、機械学習モデルMDの学習を、複数の入力情報DT0を用いて行う。これら複数の入力情報DT0には、N個の制御値として互いに異なる制御値が含まれている。また、これら複数の入力情報DT0には、N個の途中形状情報として、互いに異なる途中形状情報が含まれている。これら複数の入力情報DT0は、シミュレーション等によって予め生成される。なお、これら複数の入力情報DT0の生成方法は、既知の方法であってもよく、これから開発される方法であってもよい。情報処理装置30は、1~Nまでの値のうちの1つをiとしてランダムに選択する。この際、情報処理装置30は、複数の入力情報DT0のうちの1つをランダムに選択する。その後、情報処理装置30は、選択した入力情報DT0に基づいて、i+1番目の動作を行った後の物体Oの形状として尤もらしいと推定される推定形状を示す推定形状情報~N番目の動作を行った後の物体Oの形状として尤もらしいと推定される推定形状を示す推定形状情報を機械学習モデルMDに推定させる。そして、情報処理装置30は、推定させたこれらの推定形状情報の誤差が小さくなるように、機械学習モデルMDの重み及びバイアスを更新する。情報処理装置30は、このようなiとする値、及び、入力情報DT0のランダムな選択から機械学習モデルMDの重み及びバイアスの更新までの処理を繰り返し行うことにより、機械学習モデルMDを学習させることができる。これにより、機械学習モデルMDは、初期形状を示す初期形状情報P0と制御値mと素材特性値Mtとを含む入力情報DT1が入力された場合、初期形状の物体OがN個の動作のそれぞれによって変形させられた後の物体Oの形状として最も尤もらしいと推定される推定形状を示す推定形状情報を出力するように学習される。機械学習モデルMDは、このように学習済みの機械学習モデルであれば、如何なる機械学習モデルであってもよい。以下では、一例として、機械学習モデルMDが、ニューラルネットワークを含む場合について説明する。なお、機械学習モデルMDの構成の詳細については、後述する。また、上記のような複数の入力情報DT0のそれぞれは、操作事例と称されることもある。
制御値mを生成するため、情報処理装置30は、ユーザからの操作に応じて、初期形状情報P0と、制御値mの初期値と、素材特性値Mtの初期値とを含む入力情報DT2を受け付ける。情報処理装置30は、受け付けた入力情報DT2と目標形状情報Gと機械学習モデルMDとを用いた誤差逆伝播法により、制御値mとして最も尤もらしい値を制御値mの推定値として機械学習モデルMDに推定させる。ここで、制御値mの初期値は、第1制御点及び第2制御点のそれぞれが移動する軌道として予め決められた基準となる軌道を示す制御値mのことである。また、素材特性値Mtの初期値は、物体Oについて予め知っている知識に応じてユーザにより与えられる値である。このため、物体Oの4種類の素材特性についての知識をユーザがすべて知らない場合、これら4種類の素材特性値はすべて、中心値が0.5であり、分布の幅が1(すなわち、0.5を中心とした±0、5の範囲)によって表される。
このようにして推定された制御値mの推定値は、素材特性値Mtの初期値に応じた制御値mの推定値である。しかしながら、素材特性値Mtの初期値は、物体Oの4種類の素材特性のそれぞれを示していないことがある。例えば、前述した通り、これら4種類の素材特性のうちの一部又は全部についての知識をユーザが知らない場合、推定された制御値mの推定値は、精度の高い推定値とはなり得ない。そこで、制御値mの推定値を推定した後、情報処理装置30は、推定した制御値mの推定値と、初期形状情報P0と、素材特性値Mtの初期値とを含む入力情報DT3を生成する。そして、情報処理装置30は、生成した入力情報DT3と、前述の途中形状情報P1~途中形状情報PNのN個の途中形状情報とを用いた誤差逆伝播法により、機械学習モデルMDに素材特性値Mtの推定値を推定させる。このようにして推定された素材特性値Mtの推定値は、制御値mの推定値に基づくN個の動作によってロボット20が作業Wを精度よく行うことができるように推定された推定値である。なお、ここでの素材特性値Mtの推定処理の説明は、あくまで概略的な説明である。素材特性値Mtの推定処理の詳細な説明は、後述する。
情報処理装置30は、上記において説明した素材特性値Mtの推定値の推定と、上記において説明した制御値mの推定値の推定とを交互に繰り返すことにより、素材特性値Mtの推定値と制御値mの推定値とのそれぞれの推定精度を向上させることができる。また、情報処理装置30は、推定した素材特性値Mtの推定値に応じた出力情報を出力する構成であってもよい。これにより、情報処理装置30は、物体Oの素材特性に応じた制御値mを、精度よく推定させることができる。
また、情報処理装置30は、このようにして機械学習モデルMDに推定させた制御値mの推定値に基づいて、ロボット20に作業Wを精度よく行わせることができる。これにより、情報処理装置30は、物体Oの素材特性が予め分からなかったとしても、機械学習モデルMDを用いて推定された素材特性値Mtの推定値及び制御値mの推定値に基づいて、精度の高い作業Wをロボット20に行わせることができる。
<情報処理装置による第1制御点及び第2制御点の設定>
ここで、情報処理装置30による第1制御点及び第2制御点の設定について説明する。第1制御点は、第1エンドエフェクタを制御するための制御点であり、例えば、第1アームについてのTCP(Tool Center Point)である。また、第2制御点は、第2エンドエフェクタを制御するための制御点であり、例えば、第2アームについてのTCPである。なお、第1制御点及び第2制御点のうちのいずれか一方又は両方は、TCPに代えて、他の種類の制御点であってもよい。
まず、情報処理装置30は、ロボット20が第1エンドエフェクタ及び第2エンドエフェクタそれぞれの位置及び姿勢を表すための基準となる三次元直交座標系を、ロボット20の予め決められた位置にロボット座標系として設定する。ロボット20の予め決められた位置は、例えば、ロボット20の基台の重心の位置であるが、これに代えて、ロボット20に応じた他の位置であってもよい。
次に、情報処理装置30は、第1エンドエフェクタの予め決められた位置に、第1エンドエフェクタとともに動く仮想的な第1制御点を設定する。第1エンドエフェクタの予め決められた位置は、例えば、第1エンドエフェクタの重心の位置であるが、これに限られるわけではない。
第1制御点には、第1制御点の位置を示す情報である第1制御点位置情報と、第1制御点の姿勢を示す情報である第1制御点姿勢情報とが対応付けられている。なお、第1制御点には、これらに加えて、他の情報が対応付けられる構成であってもよい。情報処理装置30は、第1制御点位置情報及び第1制御点姿勢情報のそれぞれを指定(決定)した場合、第1マニピュレータが有する複数の関節のうちの少なくとも1つを動作させることによって、指定した第1制御点位置情報が示す位置に第1制御点の位置を一致させるとともに、指定した第1制御点姿勢情報が示す姿勢に第1制御点の姿勢を一致させる。すなわち、情報処理装置30は、第1制御点位置情報及び第1制御点姿勢情報を指定することにより、ロボット20を動作させる。以下では、説明の便宜上、第1制御点位置情報が示す位置を、第1目標位置と称して説明する。また、以下では、説明の便宜上、第1制御点姿勢情報が示す姿勢を、第1目標姿勢と称して説明する。
この一例において、第1制御点の位置は、第1制御点座標系の原点のロボット座標系における位置によって表される。また、第1制御点の姿勢は、第1制御点座標系の各座標軸のロボット座標系における方向によって表される。第1制御点座標系は、第1制御点とともに動くように第1制御点に対応付けられた三次元直交座標系である。なお、この一例において、第1エンドエフェクタの位置及び姿勢は、第1制御点の位置及び姿勢によって表される。
また、情報処理装置30は、第2エンドエフェクタの予め決められた位置に、第2エンドエフェクタとともに動く仮想的な第2制御点を設定する。第2エンドエフェクタの予め決められた位置は、例えば、第2エンドエフェクタの重心の位置であるが、これに限られるわけではない。
第2制御点には、第2制御点の位置を示す情報である第2制御点位置情報と、第2制御点の姿勢を示す情報である第2制御点姿勢情報とが対応付けられている。なお、第2制御点には、これらに加えて、他の情報が対応付けられる構成であってもよい。情報処理装置30は、第2制御点位置情報及び第2制御点姿勢情報のそれぞれを指定(決定)した場合、第2マニピュレータが有する複数の関節のうちの少なくとも1つを動作させることによって、指定した第2制御点位置情報が示す位置に第2制御点の位置を一致させるとともに、指定した第2制御点姿勢情報が示す姿勢に第2制御点の姿勢を一致させる。すなわち、情報処理装置30は、第2制御点位置情報及び第2制御点姿勢情報を指定することにより、ロボット20を動作させる。以下では、説明の便宜上、第2制御点位置情報が示す位置を、第2目標位置と称して説明する。また、以下では、説明の便宜上、第2制御点姿勢情報が示す姿勢を、第2目標姿勢と称して説明する。
この一例において、第2制御点の位置は、第2制御点座標系の原点のロボット座標系における位置によって表される。また、第2制御点の姿勢は、第2制御点座標系の各座標軸のロボット座標系における方向によって表される。第2制御点座標系は、第2制御点とともに動くように第2制御点に対応付けられた三次元直交座標系である。なお、この一例において、第2エンドエフェクタの位置及び姿勢は、第2制御点の位置及び姿勢によって表される。
情報処理装置30は、このようにして設定した第1制御点及び第2制御点を移動させることによって第1アーム及び第2アームを動かし、予め決められた作業Wをロボット20に行わせる。
<制御値mの初期値の構成の具体例>
次に、制御値mの初期値の構成の具体例について説明する。
前述の制御値mの初期値を生成するため、情報処理装置30は、ユーザからの操作に応じて、第1把持位置g1を把持した第1エンドエフェクタを実際に移動させる軌道を生成するために用いる基準となる第1基準軌道TR1を示す第1基準軌道情報と、第2把持位置g2を把持した第2エンドエフェクタを実際に移動させる軌道を生成するために用いる基準となる第2基準軌道TR2を示す第2基準軌道情報とを受け付ける。なお、第1基準軌道TR1及び第2基準軌道TR2のそれぞれは、単純な軌道であることが望ましい。以下では、一例として、第1基準軌道TR1及び第2基準軌道TR2が、図4に示したように、ある共通の軸を回転軸とする略半円弧の軌道である場合について説明する。図4は、第1基準軌道TR1及び第2基準軌道TR2それぞれの一例を示す図である。図4では、第1基準軌道TR1及び第2基準軌道TR2は、共通の軸Tを回転軸とする略半円弧の軌道である。この場合、ロボット20は、第1把持位置g1を把持した第1エンドエフェクタをある角速度で第1基準軌道TR1に沿って移動させ、且つ、第2把持位置g2を把持した第2エンドエフェクタを当該角速度で第2基準軌道TR2に沿って移動させることにより、図2に示した初期形状の物体Oを、図3に示した目標形状の物体Oへ変形させることができると推定される。なお、図4では、軸Tは、Y軸と平行な方向に延伸する軸であるため、点によって示されている。
ここで、制御値mの初期値に含まれる制御値m1~制御値mNのN個の制御値のそれぞれには、第1基準軌道TR1及び第2基準軌道TR2に応じて決められる複数の制御パラメータが含まれている。この一例において、第1基準軌道TR1及び第2基準軌道TR2のそれぞれは、前述した通り、共通の軸Tを回転軸とする略半円弧の軌道である。この場合、情報処理装置30は、図5及び図6に示したように、ロボット座標系における点aの位置を示す位置ベクトルAと、点aを原点とする三次元局所極座標系における原点から中点cまでの距離rと、当該三次元局所極座標系における原点から中点cまでの仰角θと、当該三次元局所極座標系における原点から中点cまでの方位角φとの4つのパラメータを、前述の複数の制御パラメータとして用いる。ただし、中点cは、第1制御点と第2制御点との間の中点のことである。また、点aは、軸T上の点であり、中点cの回転中心の位置を示す点である。
図5及び図6は、第1基準軌道TR1及び第2基準軌道TR2に応じて決められる4つの制御パラメータを説明するための図である。より具体的には、図5は、第1基準軌道TR1及び第2基準軌道TR2のそれぞれの一例を示す側面図である。また、図6は、図5に示した第1基準軌道TR1及び第2基準軌道TR2のそれぞれを示す上面図である。なお、図5及び図6に描かれた三次元座標系は、図5及び図6における方向を示す。そして、図5及び図6に描かれた三次元座標系のZ軸の負方向は、図5及び図6における重力方向と一致している。また、図6では、第1基準軌道TR1及び第2基準軌道TR2のそれぞれは、直線状の軌道として見えている。また、図5及び図6では、図を簡略化するため、物体Oが省略されている。
図5及び図6に示したように、第1把持位置g1は、第1基準軌道TR1の始点である。また、第2把持位置g2は、第2基準軌道TR2の始点である。第1把持位置g1と第1制御点の位置とが一致し、且つ、第2把持位置g2と第2制御点の位置とが一致している場合、中点cは、図5及び図6に示したように、第1把持位置g1と第2把持位置g2との間の中点の位置に位置している。そして、中点cは、ある角速度で第1把持位置が第1基準軌道TR1に沿って移動し、且つ、当該角速度で第2把持位置が第2基準軌道TR2に沿って移動する場合、図5及び図6に示したように、第1基準軌道TR1及び第2基準軌道TR2の回転軸を示す軸Tを回転軸とする略半円弧の形状の軌道TRCに沿って当該角速度で移動する。ここで、第1基準軌道TR1に沿って移動する第1制御点の位置と、第2基準軌道TR2に沿って移動する第2制御点の位置とは、軌道TRCに沿って移動する中点cの位置に基づいて算出可能である。このため、情報処理装置30は、第1制御点の位置と中点cの位置との間の相対的な位置関係を示す情報と、第2制御点の位置と中点cの位置との間の相対的な位置関係を示す情報とを予め記憶しておくことにより、中点cの位置を指定することで、第1制御点及び第2制御点それぞれの位置を指定することができる。このため、この一例では、情報処理装置30は、前述の位置ベクトルA、距離r、仰角θ、方位角φの4つのパラメータを、前述の複数の制御パラメータとして採用することができる。なお、第1基準軌道TR1と第2基準軌道TR2との両方には、ランダムなノイズが含まれる構成であってもよい。この場合であっても、中点cの位置を指定することで、第1制御点及び第2制御点それぞれの位置を指定することができる。このため、この場合であっても、情報処理装置30は、前述の位置ベクトルA、距離r、仰角θ、方位角φの4つのパラメータを、前述の複数の制御パラメータとして採用することができる。
これら4つの制御パラメータの初期値を特定するため、情報処理装置30は、ユーザからの操作に応じて、初期条件を示す初期条件情報を受け付ける。初期条件情報は、例えば、ロボット座標系における第1把持位置g1と、ロボット座標系における第2把持位置g2と、作業Wにおいてロボット座標系のXY平面上を中点cが移動する移動量及びその方向を示すベクトルDと、作業Wにおいて第1エンドエフェクタ及び第2エンドエフェクタに物体Oを離させる高さhとを含む情報である。これにより、情報処理装置30は、例えば、第1把持位置g1と第2把持位置g2とに基づいて、軌道TRCの始点の位置、すなわちベクトルDの基点の位置を特定することができる。また、情報処理装置30は、ベクトルDの基点の位置と、ベクトルDとに基づいて、点aの位置を示す位置ベクトルAを特定することができる。また、情報処理装置30は、ベクトルDの基点の位置と、ベクトルDと、点aの位置を示す位置ベクトルAとに基づいて、ベクトルDと直交し、当該XY平面と平行であり、点aを通る仮想的な軸Tを特定することができる。その結果、情報処理装置30は、4つの制御パラメータの初期値を特定することができる。
ここで、情報処理装置30は、第1エンドエフェクタ及び第2エンドエフェクタを移動させて作業Wをロボット20が行う動作を、前述のN個の動作に分割する。このため、情報処理装置30は、4つの制御パラメータの初期値に基づいて、第1エンドエフェクタ及び第2エンドエフェクタに物体Oを把持させる。その後、情報処理装置30は、N個の動作を順にロボット20に行わせることにより、第1エンドエフェクタ及び第2エンドエフェクタを移動させて作業Wをロボット20に行わせる。以下では、説明の便宜上、N個の動作のうちのn番目の動作を、第n動作と称して説明する。この場合、第0動作は、4つの制御パラメータの初期値に基づいて、第1エンドエフェクタ及び第2エンドエフェクタに物体Oを把持させる動作を示す。また、この場合、制御値mに含まれる制御値mnは、第n動作を示す制御値である。情報処理装置30は、第0動作を行った後、第1動作、第2動作、…、第N動作の順にN個の動作をロボット20に行わせることにより、作業Wをロボット20に行わせる。この場合、制御値m1~制御値mNのN個の制御値のそれぞれが示す動作には、動作に応じた4つの制御パラメータが対応付けられる。例えば、第n動作には、第n-1動作の結果として移動した後の中点cの位置からの移動先を示す4つの制御パラメータが対応付けられる。すなわち、第n動作を示す制御値mnには、第n-1動作の結果として移動した後の中点cの位置からの変化分を示す4つの制御パラメータが含まれている。そして、これら4つの制御パラメータには、位置ベクトルAの変化分ΔAと、距離rの変化分Δrと、仰角θの変化分Δθと、方位角φの変化分Δφとが含まれている。情報処理装置30は、4つの制御パラメータの初期値と、軌道TRC上の位置のうち、第n動作によって中点cを位置させる位置とに基づいて、第n動作を示す制御値mnの初期値に含まれるべき4つの制御パラメータを算出することができる。なお、Nは、この一例における作業Wを行う場合、シミュレーションの結果を鑑みると、15程度であることが望ましいと推定されている。また、制御値mnに含まれている4つの制御パラメータを第1制御点位置情報、第1制御点姿勢情報、第2制御点位置情報、第2制御点姿勢情報のそれぞれに変換する方法は、既知の方法であってもよく、これから開発される方法であってもよい。以下では、説明の便宜上、第0動作によって第1エンドエフェクタ及び第2エンドエフェクタが物体Oを把持した場合における4つの制御パラメータを、第0位置姿勢パラメータPg0と称して説明する。すなわち、第0位置姿勢パラメータは、作業Wにおける第1制御点及び第2制御点それぞれの初期位置及び初期姿勢を示すパラメータである。また、以下では、第n動作によって中点cが位置する位置を、第n位置姿勢と称して説明する。また、以下では、一例として、第n位置姿勢も、位置ベクトルA、距離r、仰角θ、方位角φの4つのパラメータによって表される場合について説明する。このため、以下では、説明の便宜上、第n位置姿勢を示す4つのパラメータを、第n位置姿勢パラメータPgnと称して説明する。例えば、情報処理装置30は、第0位置姿勢パラメータPg0と、第1動作を示す制御値m1に含まれる4つの制御パラメータとによって第1位置姿勢を算出することができる。また、例えば、情報処理装置30は、第n-1位置姿勢パラメータPgn-1と、第n動作を示す制御値mに含まれる4つの制御パラメータとによって第n位置姿勢を算出することができる。
なお、情報処理装置30は、前述した通り、このようにして生成される制御値mの初期値に基づく機械学習モデルMDを用いた誤差逆伝播法により、制御値mの推定値を推定する。この制御値mの推定値が示す軌道は、一般的に、軌道TRCと異なる軌道となっている。このため、例えば、図6に示したベクトルDは、方位角φが0以外の値となることにより、例えば、図6に示したベクトルD’のように点a周りに方位角φだけ回転することがある。この場合、前述の軸Tは、図6に示した軸T’のように点a周りに方位角φだけ回転する。なお、図5及び図6に示した点g1’は、このようにしてベクトルD及び軸Tが回転している場合における第n動作によって移動した後の第1制御点の位置の一例を示している。また、図5及び図6に示した点g2’は、当該場合における第n動作によって移動した後の第2制御点の位置の一例を示している。このため、図6に示した軌道TRC’は、この制御値mの推定値が示す軌道の一例である。すなわち、図6に示した軌道TR1’は、当該場合において第1制御点が移動する軌道の一例である。また、図6に示した軌道TR2’は、当該場合において第2制御点が移動する軌道の一例である。
<情報処理装置のハードウェア構成>
以下、図7を参照し、情報処理装置30のハードウェア構成について説明する。図7は、情報処理装置30のハードウェア構成の一例を示す図である。
情報処理装置30は、例えば、プロセッサ31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。情報処理装置30が備えるこれらの機能部は、バスを介して相互に通信可能に接続されている。また、情報処理装置30は、通信部34を介して撮像部10、ロボット20のそれぞれと通信を行う。
プロセッサ31は、例えば、CPU(Central Processing Unit)である。なお、プロセッサ31は、CPUに代えて、FPGA(Field Programmable Gate Array)等の他のプロセッサであってもよい。プロセッサ31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)等を含む記憶装置である。なお、記憶部32は、情報処理装置30に内蔵されるものに代えて、USB(Universal Serial Bus)等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部32は、情報処理装置30が処理する各種の情報、各種の画像、各種のプログラム等を記憶する。
入力受付部33は、例えば、キーボード、マウス、タッチパッド等を含む入力装置である。なお、入力受付部33は、表示部15と一体に構成されたタッチパネルであってもよい。
通信部34は、例えば、USB等のデジタル入出力ポート、イーサネット(登録商標)ポート、無線による通信用のアンテナ等を含んで構成される通信装置である。
表示部35は、例えば、液晶ディスプレイパネル、有機EL(ElectroLuminescence)ディスプレイパネル等を含む表示装置である。
<情報処理装置の機能構成>
以下、図8を参照し、情報処理装置30の機能構成について説明する。図8は、情報処理装置30の機能構成の一例を示す図である。
情報処理装置30は、記憶部32と、入力受付部33と、通信部34と、表示部35と、制御部36を備える。
制御部36は、情報処理装置30の全体を制御する。制御部36は、撮像制御部361と、取得部362と、推定部363と、表示制御部364と、学習部365と、ロボット制御部366を備える。制御部36が備えるこれらの機能部は、例えば、プロセッサ31が、記憶部32に記憶された各種のプログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部361は、撮像部10を制御する。
取得部362は、撮像部10が撮像したステレオ撮像画像を撮像部10から取得する。
推定部363は、情報処理装置30が行う各種の推定を行う。
表示制御部364は、受け付けた操作に応じて、各種の画像を生成する。また、表示制御部364は、生成した画像を表示部35に表示させる。
学習部365は、機械学習モデルMDの学習を行う。
ロボット制御部366は、ロボット20を制御する。
<形状情報について>
ここで、初期形状情報P0、途中形状情報P1~途中形状情報PN、N個の推定形状情報のそれぞれについて説明する。以下では、説明の便宜上、初期形状情報P0、途中形状情報P1~途中形状情報PN、N個の推定形状情報のそれぞれを、まとめて形状情報と称して説明する。これらの形状情報は、物体Oのメッシュモデルを示す情報である。以下では、一例として、物体Oのメッシュモデルのトポロジーを示す情報が情報処理装置30に予め記憶されている場合について説明する。情報処理装置30は、例えば、これらの形状情報のうちの初期形状情報P0を、撮像部10等の撮像装置によって物体Oが撮像されたステレオ撮像画像に基づいて生成する。なお、初期形状情報P0は、情報処理装置30と異なる装置により生成されてもよい。また、メッシュモデルを生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、情報処理装置30は、途中形状情報P1~途中形状情報PNのそれぞれを、初期形状情報P0と同様の方法により生成する。
初期形状情報P0、途中形状情報P1~途中形状情報PNのそれぞれが物体Oのメッシュモデルを示す情報であるため、情報処理装置30は、推定形状情報として、メッシュモデルを示す情報を生成する。このため、機械学習モデルMDは、物体Oのメッシュモデルを構成する頂点の位置を、確率分布によって表す。具体的には、機械学習モデルMDは、物体Oのメッシュモデルを構成する頂点の位置を、ロボット座標系における中心値の位置を示す3つの座標μと、それら3つの座標μそれぞれについての分散σとの6つのパラメータによって表す。ただし、情報処理装置30は、計算量の増大を抑制するため、共分散行列が対角行列である場合において、物体Oのメッシュモデルを構成する頂点の位置を、これら6つのパラメータによって表す。このため、当該3つの座標μは、ロボット座標系におけるX軸方向の座標μxと、ロボット座標系におけるY軸方向の座標μyと、ロボット座標系におけるZ軸方向の座標μzのそれぞれのことである。また、当該3つの座標μそれぞれについての分散σは、当該X軸方向の分散σxと、当該Y軸方向の分散σyと、当該Z軸方向の分散σzのそれぞれのことである。
なお、形状情報のそれぞれは、物体Oのメッシュモデルを示す情報に代えて、物体Oのボクセルモデルを示す情報であってもよい。ただし、形状情報のそれぞれは、物体Oのメッシュモデルを示す情報である方が、情報処理装置30による推定精度が高くなるため、望ましい。
<機械学習モデルの構成の具体例>
以下、図9を参照し、機械学習モデルMDの構成の具体例について説明する。図9は、機械学習モデルMDの構成の一例を示す図である。
前述した通り、この一例において、機械学習モデルMDは、ニューラルネットワークを含んでいる。より具体的には、機械学習モデルMDは、例えば、符号化モジュールEと、操作モジュールMと、復号化モジュールDEとの3種類のモジュールにより構成されたニューラルネットワークを含んでいる。
符号化モジュールEは、MLP(Multi Layer Perceptron)のエンコーダであり、入力された形状情報を潜在変数C0へ符号化し、符号化した潜在変数C0を出力する。例えば、符号化モジュールEは、形状情報のうちの初期形状情報P0が入力された場合、入力された初期形状情報P0を潜在変数C0へ符号化し、符号化した潜在変数C0を出力する。なお、符号化モジュールEは、入力された形状情報を潜在変数C0へ符号化可能なモジュールであれば、他の構成のモジュールであってもよい。符号化モジュールEでは、例えば、入力層から出力層に向かって、1350ニューロン(ノード)を有する層と、2048ニューロンを有する層と、1024ニューロンを有する層と、512ニューロンを有する層とが、1350ニューロン(ノード)を有する層、2048ニューロンを有する層、1024ニューロンを有する層、512ニューロンを有する層の順に配置される。そして、これら4つの層のうちの互いに隣り合う任意の2つの層は、互いに全結合されている。また、符号化モジュールEにおける活性化関数は、例えば、双曲線正接関数であるが、これに代えて、他の種類の活性化関数であってもよい。
操作モジュールMは、潜在変数Cnが入力され、且つ、潜在変数Cn+1を出力する全結合ネットワークとして構成されるモジュールである。
また、操作モジュールMには、第n動作を示す制御値mnが入力(付加)される。以下では、説明の便宜上、制御値mnが入力される場合の操作モジュールMを、操作モジュールMnと称して説明する。また、操作モジュールMnには、素材特性値Mtが入力(付加)される。また、操作モジュールMnには、第n-1位置姿勢パラメータPgn-1が入力(付加)される。図9では、操作モジュールMに入力されるこれら3つのパラメータを、「制御値」、「素材特性値」、「位置姿勢パラメータ」のそれぞれによって示している。
ここで、操作モジュールM1には、制御値m1と、素材特性値Mtと、第0位置姿勢パラメータPg0とともに、符号化モジュールEから出力された潜在変数C0が入力される。操作モジュールM1は、制御値m1と、素材特性値Mtと、第0位置姿勢パラメータPg0と、潜在変数C0とに基づいて、潜在変数C1を出力する。潜在変数C1は、第1動作によって変形された後の物体Oの形状が符号化された潜在変数として最も尤もらしい潜在変数のことである。すなわち、操作モジュールM1は、制御値m1と、素材特性値Mtと、第0位置姿勢パラメータPg0と、潜在変数C0とに基づいて、第1動作によって変形された後の物体Oの形状が符号化された潜在変数として最も尤もらしい潜在変数を潜在変数C1として推定し、推定した潜在変数C1を出力する。
一方、n>1の場合の操作モジュールMnには、制御値mnと、素材特性値Mtと、第n-1位置姿勢パラメータPgn-1とともに、操作モジュールMn-1から出力された潜在変数Cn-1が入力される。操作モジュールMnは、制御値mnと、素材特性値Mtと、第n-1位置姿勢パラメータPgn-1と、潜在変数Cn-1とに基づいて、潜在変数Cnを出力する。潜在変数Cnは、第n動作によって変形された後の物体Oの形状が符号化された潜在変数として最も尤もらしい潜在変数のことである。すなわち、操作モジュールMnは、制御値mnと、素材特性値Mtと、第n-1位置姿勢パラメータPgn-1と、潜在変数Cn-1とに基づいて、第n動作によって変形された後の物体Oの形状が符号化された潜在変数として最も尤もらしい潜在変数を潜在変数Cnとして推定し、推定した潜在変数Cnを出力する。
このように、情報処理装置30は、操作モジュールM1~操作モジュールMNのN個の操作モジュールMとして1個の操作モジュールMを繰り返し利用する。なお、機械学習モデルMDは、1つの操作モジュールMに代えて、操作モジュールM1~操作モジュールMNのN個の操作モジュールMを備える構成であってもよい。操作モジュールMは、このような繰り返しの利用により、N個の動作のそれぞれを順に物体Oへ行った場合における潜在変数C0の変化を、物体Oの素材特性を示す素材特性値Mtに応じて推定する。例えば、操作モジュールMnは、図10に示したように、潜在変数Cnが入力され、且つ、入力層から出力層に向かって順に全結合された複数の第1層L1と、複数の第1層L1のそれぞれへ、制御値mn、素材特性値Mt、第n-1位置姿勢パラメータPgn-1のそれぞれを付加する複数の第2層L2とにより構成される。図10は、操作モジュールMnの構成の一例を示す図である。図1に示した例では、操作モジュールMnは、6つの第1層L1と、5つの第2層L2とにより構成される。図10に示した例では、6つの第1層L1は、入力側から出力側に向かって順に、第1層L11、第1層L12、第1層L13、第1層L14、第1層L15、第1層L16によって示されている。また、当該例では、5つの第2層L2は、入力側から出力側に向かって順に、第2層L21、第2層L22、第2層L23、第2層L24、第2層L25によって示されている。また、当該例では、第1層L1同士は、全結合されている。また、6つの第1層L1のうちのj番目の第1層1jは、第1層L1j-1から入力された活性化ベクトルを活性化関数により活性化した新たな活性化ベクトルを第1層1j+1へ伝達する。ただし、0番目の第1層L10から入力される活性化ベクトルは、操作モジュールMnへ入力された潜在変数Cnそのものである。なお、jは、0~5のうちのいずれかである。図10では、このような伝達を、「コピー」によって示している。また、当該例では、第1層L1と第2層L2との間も、全結合されている。一方、当該例では、第2層L2同士は、入力された制御値mn、素材特性値Mt、第n-1位置姿勢パラメータPgn-1のそれぞれを順に伝達するように結合される。ここで、6つの第1層L1のそれぞれは、例えば、512ニューロン(ノード)を有する層であるが、これに限られるわけではない。また、5つの第2層L2のそれぞれは、制御値mn、素材特性値Mt、第n-1位置姿勢パラメータPgn-1のそれぞれの自由度と同じ数のニューロンを有する層であるが、これに限られるわけではない。また、N個の操作モジュールMそれぞれにおける活性化関数は、例えば、双曲線正接関数であるが、これに代えて、他の種類の活性化関数であってもよい。
復号化モジュールDEは、MLPのデコーダであり、入力された潜在変数を、前述の推定形状情報へ復号化する。以下では、説明の便宜上、潜在変数Cnが入力される場合の復号化モジュールDEを、復号化モジュールDEnと称して説明する。なお、復号化モジュールDEは、入力された潜在変数を推定形状情報へ復号化可能なモジュールであれば、他の構成のモジュールであってもよい。復号化モジュールDEでは、例えば、入力層から出力層に向かって、512ニューロンを有する層と、1024ニューロンを有する層と、2048ニューロンを有する層と、2700ニューロン(ノード)を有する層とが、512ニューロンを有する層、1024ニューロンを有する層、2048ニューロンを有する層、2700ニューロン(ノード)を有する層の順に配置される。そして、これら4つの層のうちの互いに隣り合う任意の2つの層は、互いに全結合されている。また、復号化モジュールDEにおける出力層以外の層の活性化関数は、例えば、双曲線正接関数であるが、これに代えて、他の種類の活性化関数であってもよい。また、復号化モジュールDEにおける出力層に含まれるニューロンのうち3つの座標μを出力するニューロンの活性化関数は、恒等関数である。また、復号化モジュールDEにおける出力層に含まれるニューロンのうち3つの分散σを出力するニューロンの活性化関数は、以下の式(1)に示すような関数である。
Figure 2024031308000002
なお、上記の式(1)において、εは、10-4である。
ここで、復号化モジュールDEnは、潜在変数Cnが入力された場合、入力された潜在変数Cnを推定形状情報Qnへ復号化し、復号化した推定形状情報Qnを出力する。
以上のような構成の機械学習モデルMDを利用し、情報処理装置30は、図11に示すようなデータフローを実現させる。図11は、情報処理装置30が機械学習モデルMDを利用する場合におけるデータフローの一例を示す図である。
図11では、符号化モジュールEには、初期形状情報P0が入力されている。この場合、符号化モジュールEは、初期形状情報P0を潜在変数C0へ符号化し、符号化した潜在変数C0を出力する。その後、符号化モジュールEから出力された潜在変数C0は、操作モジュールM1として利用される操作モジュールMへ入力される。操作モジュールM1として利用される操作モジュールMには、符号化モジュールEから出力された潜在変数C0とともに、制御値m1と、素材特性値Mtと、第0位置姿勢パラメータPg0とのそれぞれが入力される。操作モジュールM1は、入力されたこれらのパラメータに基づいて、潜在変数C1を推定し、推定した潜在変数C1を出力する。
操作モジュールM1として利用された操作モジュールMから潜在変数C1が出力された後、操作モジュールMは、操作モジュールM2~操作モジュールMNのそれぞれとして繰り返し利用される。そして、操作モジュールMnとして利用される操作モジュールMには、操作モジュールMn-1から出力された潜在変数Cn-1と、制御値mnと、素材特性値Mtと、第n位置姿勢パラメータPgnとのそれぞれが入力される。そして、操作モジュールMnは、入力されたこれらのパラメータに基づいて、潜在変数Cnを推定し、推定した潜在変数Cnを出力する。
操作モジュールMnとして利用された操作モジュールMnから潜在変数Cnが出力された後、復号化モジュールDEは、復号化モジュールDEnとして利用される。そして、復号化モジュールDEnは、操作モジュールMnから出力された潜在変数Cnを推定形状情報Qnに復号化し、復号化した推定形状情報Qnを出力する。ここで、推定形状情報Qnは、復号化モジュールDE1から出力される推定形状情報Q1~復号化モジュールDENから出力される推定形状情報QNのうちのn番目の推定形状情報のことである。
<機械学習モデルに学習させる処理>
以下、図12を参照し、情報処理装置30が機械学習モデルMDに学習させる処理について説明する。図12は、情報処理装置30が機械学習モデルMDに学習させる処理の流れの一例を示す図である。以下では、一例として、図12に示したステップS110の処理が行われるよりも前のタイミングにおいて、機械学習モデルMDに学習させる処理を情報処理装置30に開始させる操作を情報処理装置30が受け付けている場合について説明する。また、以下では、一例として、当該タイミングにおいて、前述の複数の入力情報DT0のそれぞれが記憶部32に記憶されている場合について説明する。なお、情報処理装置30は、図12に示したフローチャートの処理を行わない構成であってもよい。この場合、機械学習モデルMDは、情報処理装置30と異なる装置により学習される。ここで、記憶部32に予め記憶された複数の入力情報DT0のそれぞれに含まれる制御値m(すなわち、機械学習モデルMDの学習段階において利用される制御値m)は、測定、シミュレーション等の何らかの方法によって真値として生成された制御値である。このような真値として制御値mを生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、記憶部32に予め記憶された複数の入力情報DT0のそれぞれに含まれる素材特性値Mt(すなわち、機械学習モデルMDの学習段階において利用される素材特性値Mt)は、測定、シミュレーション等の何らかの方法によって真値として生成された素材特性値である。このような真値として素材特性値Mtを生成する方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、このような真値としての素材特性値Mtも、確率分布によって表される。
学習部365は、処理を行った回数を格納する変数Kを生成する。そして、学習部365は、生成した変数Kに格納されている値を、1に初期化する(ステップS110)。図11では、ステップS110の処理を「K=1」によって示している。
次に、学習部365は、1~Nまでの値のうちの1つをiとしてランダムに選択し、且つ、複数の入力情報DT0のうちの1つをランダムに選択する(ステップS120)。
次に、学習部365は、ステップS120において選択した入力情報DT0に基づいて、i+1番目の動作を行った後の物体Oの形状として尤もらしいと推定される推定形状を示す推定形状情報Qi+1~N番目の動作を行った後の物体Oの形状として尤もらしいと推定される推定形状を示す推定形状情報QNを機械学習モデルMDに推定させる(ステップS130)。ここで、ステップS130において、学習部365は、操作モジュールMを(N-(i+1))回繰り返し利用する。また、ステップS130において、学習部365は、記憶部32に予め記憶された初期形状情報P0、素材特性値Mtのそれぞれを読み出し、読み出した初期形状情報P0、素材特性値Mtのそれぞれと、ステップS120において値をランダムに選択した制御値m1~制御値mNとを用いて推定形状情報Qi+1~推定形状情報QNのそれぞれを機械学習モデルMDに推定させる。なお、ステップS130の処理において、操作モジュールMnへ付加する第n-1位置姿勢パラメータPgn-1は、学習部365により算出される構成であってもよく、機械学習モデルMDにより算出される構成であってもよい。また、ステップS130の処理において、操作モジュールMnへの制御値mn、素材特性値Mt、第n-1位置姿勢パラメータPgn-1それぞれの付加方法は、既知の方法であってもよく、これから開発される方法であってもよい。当該付加方法の既知の方法としては、例えば、特開2019-049904号公報等に記載された方法が挙げられる。このため、本実施形態において、当該付加方法の既知の方法については、詳細な説明を省略する。
次に、学習部365は、記憶部32から途中形状情報Pi+1~途中形状情報PNのそれぞれを読み出す。そして、学習部365は、推定形状情報Qi+1と途中形状情報Pi+1との差、推定形状情報Qi+2と途中形状情報Pi+2との差、…、推定形状情報QNと途中形状情報PNとの差のそれぞれが小さくなるように、符号化モジュールE、操作モジュールM、復号化モジュールDEそれぞれの重み及びバイアスを機械学習モデルMDに更新させる(ステップS140)。
次に、学習部365は、変数Kに格納されている値が予め決められた閾値Th1以上であるか否かを判定する(ステップS150)。
学習部365は、変数Kに格納されている値が予め決められた閾値Th1未満であると判定した場合(ステップS150-NO)、変数Kに格納されている値に1を加算する(ステップS160)。図12では、ステップS160の処理を「K=K+1」によって示している。その後、学習部365は、ステップS120に遷移し、1~Nまでの値のうちの1つをiとしてランダムに再び選択する。
一方、学習部365は、変数Kに格納されている値が予め決められた閾値Th1以上であると判定した場合(ステップS150-YES)、機械学習モデルMDの学習が完了したと判定し、図12に示したフローチャートの処理を終了させる。
以上のように、情報処理装置30は、初期形状を示す初期形状情報P0と制御値mの初期値と素材特性値Mtの初期値とを含む入力情報DT1が入力された場合、初期形状の物体OがN個の動作のそれぞれによって変形させられた後の物体Oの形状として最も尤もらしいと推定される推定形状を示す推定形状情報、すなわち、推定形状情報Q1~推定形状情報QNのそれぞれを出力するように学習する。これにより、情報処理装置30は、以下において説明するように、このようにして学習された後の機械学習モデルMDを用いて、制御値mの推定値、素材特性値Mtの推定値のそれぞれを推定することができる。
<制御値の推定値を推定する処理>
以下、図13を参照し、情報処理装置30が制御値mの推定値を推定する処理について説明する。図13は、情報処理装置30が制御値mの推定値を推定する処理の流れの一例を示す図である。以下では、一例として、図13に示したステップS210の処理が行われるよりも前のタイミングにおいて、図12に示したフローチャートの処理によって機械学習モデルMDが学習済みである場合について説明する。また、以下では、一例として、当該タイミングにおいて、制御値mの推定値を推定する処理を情報処理装置30に開始させる操作を情報処理装置30が受け付けている場合について説明する。また、以下では、一例として、当該タイミングにおいて、初期形状情報P0と、物体の目標形状を示す目標形状情報Gと、制御値mの初期値と、素材特性値Mtの初期値とが記憶部32に記憶されている場合について説明する。なお、情報処理装置30は、図13に示したフローチャートの処理を行わない構成であってもよい。この場合、制御値mの推定値は、情報処理装置30と異なる装置により推定される。また、図13に示したフローチャートの処理において、記憶部32に予め記憶された初期形状情報P0として利用する形状情報は、後述する図14に示したフローチャートの処理において初期形状情報P0として利用する形状情報と異なる形状情報であってもよい。これは、制御値mの推定において初期形状情報P0として利用する形状情報が示す形状は、必ずしも初期形状である必要がないためである。すなわち、制御値mの推定は、如何なる形状からスタートしてもよい。
推定部363は、処理を行った回数を格納する変数Kを生成する。そして、学習部365は、生成した変数Kに格納されている値を、1に初期化する(ステップS210)。図13では、ステップS210の処理を「K=1」によって示している。なお、推定部363は、ステップS210において変数Kを新たに生成せず、図12に示したステップS110の処理において生成された変数Kを再利用する構成であってもよい。
次に、推定部363は、記憶部32に予め記憶された初期形状情報P0、制御値mの初期値、素材特性値Mtの初期値のそれぞれを読み出し、読み出した初期形状情報P0、制御値mの初期値、素材特性値Mtの初期値のそれぞれを含む入力情報DT2を生成する(ステップS220)。
次に、推定部363は、ステップS220において生成した入力情報DT2を機械学習モデルMDへ入力する(ステップS230)。これにより、機械学習モデルMDは、入力された入力情報DT2に応じた推定形状情報QNを出力する。ここで、推定部363は、ステップS230において、復号化モジュールDEを復号化モジュールDENとしてのみ利用する。このため、ステップS230では、機械学習モデルMDは、入力された入力情報DT2に応じた推定形状情報QNを出力する。なお、ステップS230の処理において、操作モジュールMnへ付加する第n-1位置姿勢パラメータPgn-1は、学習部365により算出される構成であってもよく、機械学習モデルMDにより算出される構成であってもよい。また、ステップS230の処理において、操作モジュールMnへの制御値mnの初期値、素材特性値Mtの初期値、第n-1位置姿勢パラメータPgn-1それぞれの付加方法は、既知の方法であってもよく、これから開発される方法であってもよい。また、Nの値は、固定値であってもよく、固定値ではなくてもよい。Nの値が固定値ではない場合、Nの値は、制御値mから算出される。これは、制御値mが示す起動の終点にたどり着くまでの動作の回数が、制御値mの値に応じて変化しうるからである。ここで、このようなNの値の算出方法は、既知の方法であってもよく、これから開発される方法であってもよい。
次に、推定部363は、ステップS230において機械学習モデルMDから出力された推定形状情報QNを取得する(ステップS240)。
次に、推定部363は、機械学習モデルMDを用いた誤差逆伝播法により、ステップS240において取得した推定形状情報QNが示す推定形状と、記憶部32に予め記憶された目標形状情報Gが示す目標形状との差が小さくなるように制御値mの推定値の候補となる制御値mの推定値候補を機械学習モデルMDに推定させる(ステップS250)。
次に、推定部363は、ステップS250において機械学習モデルMDにより推定された制御値mの推定値候補を記憶部32に記憶させる(ステップS260)。この際、推定部363は、ステップS240において取得した推定形状情報QNが示す推定形状と、記憶部32に予め記憶された目標形状情報Gが示す目標形状との差を示す差分値を、当該制御値mの推定値候補に対応付ける。
次に、推定部363は、初期形状情報P0と、素材特性値Mtの初期値とともに、ステップS250において機械学習モデルMDにより推定された制御値mの推定値候補とのそれぞれを含む新たな入力情報DT2を生成する(ステップS270)。
次に、推定部363は、変数Kに格納されている値が予め決められた閾値Th2以上であるか否かを判定する(ステップS280)。
推定部363は、変数Kに格納されている値が予め決められた閾値Th2未満であると判定した場合(ステップS280-NO)、変数Kに格納されている値に1を加算する(ステップS300)。図12では、ステップS300の処理を「K=K+1」によって示している。その後、推定部363は、ステップS230に遷移し、ステップS220において生成された入力情報DT2に代えて、ステップS270において新たに生成した入力情報DT2を機械学習モデルMDへ入力する。このようなステップS230~ステップS270の繰り返しの実行により、機械学習モデルMDは、推定形状情報QNが示す推定形状と目標形状情報Gが示す目標形状との差を小さくする制御値mとして最も尤もらしい制御値mの推定値を推定することができる。なお、閾値Th2は、例えば、事前に行う実験、シミュレーション等において、制御値mの推定精度が高くなるように決められるが、これに代えて、他の方法により決められてもよい。
一方、推定部363は、変数Kに格納されている値が予め決められた閾値Th2以上であると判定した場合(ステップS280-YES)、記憶部32に記憶された制御値mの推定値候補のうち、最小の差分値が対応付けられた制御値mの推定値候補を、推定形状情報QNが示す推定形状と目標形状情報Gが示す目標形状との差を小さくする制御値mとして最も尤もらしい制御値mの推定値として推定し(ステップS290)、図13に示したフローチャートの処理を終了させる。
以上のように、情報処理装置30は、初期形状情報P0と、制御値mの初期値と、素材特性値Mtの初期値とを含む入力情報DT2と、目標形状情報Gとを用いた誤差逆伝播法により、制御値mとして最も尤もらしい値を制御値mの推定値として機械学習モデルMDに推定させ、推定させた制御値mの推定値と初期形状情報P0とを含む前記第2入力情報を生成する。これにより、情報処理装置30は、推定形状情報QNが示す推定形状と目標形状情報Gが示す目標形状との差を小さくする制御値mとして最も尤もらしい制御値mの推定値を推定することができる。
<素材特性値の推定値を推定する処理>
以下、図14を参照し、情報処理装置30が素材特性値Mtの推定値を推定する処理について説明する。図14は、情報処理装置30が素材特性値Mtの推定値を推定する処理の流れの一例を示す図である。以下では、一例として、図14に示したステップS310の処理が行われるよりも前のタイミングにおいて、図12に示したフローチャートの処理によって機械学習モデルMDが学習済みである場合について説明する。また、以下では、一例として、当該タイミングにおいて、素材特性値Mtの推定値を推定する処理を情報処理装置30に開始させる操作を情報処理装置30が受け付けている場合について説明する。また、以下では、一例として、当該タイミングにおいて、初期形状情報P0と、制御値mと、素材特性値Mtの初期値とが記憶部32に記憶されている場合について説明する。ここで、図14に示したフローチャートの処理において、記憶部32に予め記憶されている制御値mは、実際にロボット20の制御に利用する制御値であってもよく、図13に示したフローチャートの処理によって推定された制御値mの推定値であってもよい。
推定部363は、処理を行った回数を格納する変数Kを生成する。そして、学習部365は、生成した変数Kに格納されている値を、予め決められた閾値Th3に初期化する(ステップS310)。図13では、ステップS310の処理を「K=Th3」によって示している。なお、推定部363は、ステップS310において変数Kを新たに生成せず、図11に示したステップS110又は図12に示したステップS210の処理において生成された変数Kを再利用する構成であってもよい。また、閾値Th3は、2以上であれば、如何なる整数であってもよい。
次に、推定部363は、記憶部32に予め記憶された初期形状情報P0、制御値m、素材特性値Mtの初期値のそれぞれを読み出し、読み出した初期形状情報P0、制御値m、素材特性値Mtの初期値のそれぞれを含む入力情報DT3を生成する(ステップS320)。
次に、推定部363は、ステップS320において生成した入力情報DT3を機械学習モデルMDへ入力し、機械学習モデルMDから推定形状情報Q1~推定形状情報QKのK個の推定形状情報を取得する(ステップS330)。ここで、ステップS330において、推定部363は、操作モジュールMを操作モジュールM1~操作モジュールMKのそれぞれとして繰り返し利用し、復号化モジュールDEを復号化モジュールDE1~復号化モジュールDEKのそれぞれとして繰り返し利用する。これにより、推定部363は、当該K個の推定形状情報を取得する。なお、図14では、ステップS330の処理を「推定形状情報Q1~QKの取得」によって示している。
次に、推定部363は、ステップS330において取得した推定形状情報Q1~推定形状情報QKのK個の推定形状情報と、記憶部32に予め記憶された途中形状情報P1~途中形状情報PKのK個の途中形状情報と、機械学習モデルMDとを用いた誤差逆伝播法により、素材特性値Mtの推定値を機械学習モデルMDに推定させる(ステップS340)。より具体的には、推定部363は、ステップS340において、当該誤差逆伝播法により、推定形状情報Q1と途中形状情報P1との差、推定形状情報Q2と途中形状情報P2との差、…、推定形状情報QKと途中形状情報PKとの差のK個の差のそれぞれが小さくなるように素材特性値Mtの推定値を機械学習モデルMDに推定させる。このように複数の差に基づく誤差逆伝播法を行うため、推定部363は、ステップS310~ステップS330の処理により、K個の推定形状情報を取得する。従って、前述の閾値Th3は、この誤差逆伝播法を実行可能な程度の推定形状情報の個数に応じて決められる。ここで、記憶部32に予め記憶された途中形状情報P1~途中形状情報PKのK個の途中形状情報は、実際に制御値m1~制御値mKのK個の制御値によって第1動作~第K動作のそれぞれを行う毎に撮像部10により物体Oが撮像されたステレオ撮像画像に基づいて生成された途中形状情報であってもよい。この場合、情報処理装置30は、ロボット20に作業Wを行わせながら、図14に示したフローチャートの処理を並列に実行することができる。また、記憶部32に予め記憶された途中形状情報P1~途中形状情報PKのK個の途中形状情報は、シミュレーションによって得られた途中形状情報であってもよく、他の方法によって得られた途中形状情報であってもよい。また、推定部363は、目標形状情報Gを途中形状情報PNとして利用してもよい。
次に、推定部363は、変数Kに格納されている値に1を加算する(ステップS350)。図13では、ステップS350の処理を「K=K+1」によって示している。
次に、推定部363は、初期形状情報P0と、制御値mと、ステップS340において推定された素材特性値Mtの推定値とのそれぞれを含む新たな入力情報DT3を生成する(ステップS360)。
次に、推定部363は、ステップS320において生成した入力情報DT3を機械学習モデルMDへ入力し、機械学習モデルMDから推定形状情報Q1~推定形状情報QKのK個の推定形状情報を取得する(ステップS370)。図14では、ステップS370の処理を「推定形状情報Q1~QKの取得」によって示している。
次に、推定部363は、ステップS370において取得した推定形状情報Q1~推定形状情報QKのK個の推定形状情報と、記憶部32に予め記憶された途中形状情報P1~途中形状情報PKのK個の途中形状情報と、機械学習モデルMDとを用いた誤差逆伝播法により、素材特性値Mtの推定値を機械学習モデルMDに推定させる(ステップS380)。より具体的には、推定部363は、ステップS380において、当該誤差逆伝播法により、推定形状情報Q1と途中形状情報P1との差、推定形状情報Q2と途中形状情報P2との差、…、推定形状情報QKと途中形状情報PKとの差のK個の差のそれぞれが小さくなるように素材特性値Mtの推定値を機械学習モデルMDに推定させる。
次に、推定部363は、変数Kに格納されている値がN以上であるか否かを判定する(ステップS390)。
推定部363は、変数Kに格納されている値がN未満であると判定した場合(ステップS390-NO)、ステップS350に遷移し、変数Kに格納されている値に1を再び加算する。
一方、推定部363は、変数Kに格納されている値がN以上であると判定した場合(ステップS390-YES)、素材特性値Mtの推定値の推定が完了したと判定し、図14に示したフローチャートの処理を終了させる。
以上のように、情報処理装置30は、変形可能な物体Oの初期形状を予め決められた目標形状へ変形させるロボット20が初期形状を目標形状へ変形させるN個の動作をロボット20に行わせるための制御値mを含む入力情報DT3に基づいて、物体Oの素材特性を示す素材特性値Mtの推定値を機械学習モデルMDに推定させる。これにより、情報処理装置30は、変形可能な物体Oの素材特性に応じた制御値mを、精度よく推定させることができる。
なお、情報処理装置30は、途中形状情報P1~途中形状情報PN-1の(N-1)個の途中形状情報のうちの一部又は全部を用いずに、素材特性値Mtの推定値を機械学習モデルMDに推定させる構成であってもよい。特に、途中形状情報P1~途中形状情報PN-1の(N-1)個の途中形状情報の全部を用いずに、素材特性値Mtの推定値を機械学習モデルMDに推定させる場合、情報処理装置30は、素材特性値Mtの推定値を機械学習モデルMDに推定させる誤差逆伝播法において、推定形状情報QNと目標形状情報Gとの差が小さくなるように、素材特性値Mtの推定値を機械学習モデルMDに推定させる。
ここで、図15は、情報処理装置30により推定された素材特性値Mtを例示する図である。図15に示した4つのグラフのそれぞれは、物体Oについての情報処理装置30による素材特性値Mtの推定結果の一例を示す。
グラフGR11は、物体Oの曲がり易さを示す値についてのグラフである。また、グラフGR11の縦軸は、当該値を示す。また、グラフGR11の横軸は、情報処理装置30による当該値の推定回数を示す。また、グラフGR11上にプロットされた点線は、当該値の測定値(真値)MV11を示す。また、グラフGR11上にプロットされた実線CV11は、情報処理装置30により推定された当該値の中心値を示す。また、グラフGR11上にプロットされた実線UB11は、情報処理装置30により推定された当該値の分布の幅に基づく上限値を示す。また、グラフGR11上にプロットされた実線LB11は、情報処理装置30により推定された当該値の分布の幅に基づく下限値を示す。グラフGR11では、当該値は、情報処理装置30による素材特性値Mtの当該値の推定回数が増えるほど、測定値MV11に略収束していることが分かる。これは、情報処理装置30による当該値についての推定精度が高いことを示している。すなわち、情報処理装置30は、物体Oについての当該値が示す素材特性を、精度よく推定することができる。
グラフGR12は、物体Oの滑り易さを示す値についてのグラフである。また、グラフGR12の縦軸は、当該値を示す。また、グラフGR12の横軸は、情報処理装置30による当該値の推定回数を示す。また、グラフGR12上にプロットされた点線は、当該値の測定値(真値)MV12を示す。また、グラフGR12上にプロットされた実線CV12は、情報処理装置30により推定された当該値の中心値を示す。また、グラフGR12上にプロットされた実線UB12は、情報処理装置30により推定された当該値の分布の幅に基づく上限値を示す。また、グラフGR12上にプロットされた実線LB12は、情報処理装置30により推定された当該値の分布の幅に基づく下限値を示す。グラフGR12では、当該値は、情報処理装置30による素材特性値Mtの当該値の推定回数が増えるほど、測定値MV12に略収束していることが分かる。これは、情報処理装置30による当該値についての推定精度が高いことを示している。すなわち、情報処理装置30は、物体Oについての当該値が示す素材特性を、精度よく推定することができる。
グラフGR13は、物体Oの伸び易さを示す値についてのグラフである。また、グラフGR13の縦軸は、当該値を示す。また、グラフGR13の横軸は、情報処理装置30による当該値の推定回数を示す。また、グラフGR13上にプロットされた点線は、当該値の測定値(真値)MV13を示す。また、グラフGR13上にプロットされた実線CV13は、情報処理装置30により推定された当該値の中心値を示す。また、グラフGR13上にプロットされた実線UB13は、情報処理装置30により推定された当該値の分布の幅に基づく上限値を示す。また、グラフGR13上にプロットされた実線LB13は、情報処理装置30により推定された当該値の分布の幅に基づく下限値を示す。グラフGR13では、当該値は、情報処理装置30による素材特性値Mtの当該値の推定回数が増えるほど、測定値MV13に略収束していることが分かる。これは、情報処理装置30による当該値についての推定精度が高いことを示している。すなわち、情報処理装置30は、物体Oについての当該値が示す素材特性を、精度よく推定することができる。
そして、グラフGR14は、物体Oの重厚さを示す値についてのグラフである。また、グラフGR14の縦軸は、当該値を示す。また、グラフGR14の横軸は、情報処理装置30による当該値の推定回数を示す。また、グラフGR14上にプロットされた点線は、当該値の測定値(真値)MV14を示す。また、グラフGR14上にプロットされた実線CV14は、情報処理装置30により推定された当該値の中心値を示す。また、グラフGR14上にプロットされた実線UB14は、情報処理装置30により推定された当該値の分布の幅に基づく上限値を示す。また、グラフGR14上にプロットされた実線LB14は、情報処理装置30により推定された当該値の分布の幅に基づく下限値を示す。グラフGR14では、当該値は、情報処理装置30による素材特性値Mtの当該値の推定回数が増えても、測定値MV14に収束しているとは言い難いかもしれない。しかしながら、グラフGR14では、当該値は、初期値と比べて分布の幅が小さくなっている。このことから、情報処理装置30は、当該値の推定回数をより多くすることにより、当該値が測定値MV1に略収束させることができると考えられる。
以上のように、情報処理装置30は、物体Oの素材特性値Mtを推定することができる。すなわち、情報処理装置30は、このようにして推定された素材特性値Mtに基づいて、変形可能な物体Oの素材特性に応じた制御値mを、精度よく推定させることができる。
なお、情報処理装置30は、上記において説明した素材特性値Mtの推定値の推定と、制御値mの推定値の推定とを組み合わせることにより、制御値mが示す軌道を更新しながら、ロボット20に作業Wを行わせることができる。この場合、途中形状情報P1~途中形状情報PN-1のそれぞれは、例えば、前述した通り、撮像部10により物体Oが撮像されたステレオ撮像画像に基づいて生成される。
また、上記において説明した事項は、ロボットシステム1、撮像部10、ロボット20、情報処理装置30それぞれの機能を損なわない限りにおいて、如何様に組み合わされてもよい。
以上説明したように、実施形態に係る情報処理装置(上記において説明した例では、情報処理装置30)は、変形可能な物体(上記において説明した例では、物体O)の初期形状を予め決められた目標形状へ変形させるロボット(上記において説明した例では、ロボット20)が初期形状を目標形状へ変形させる1以上の動作(上記において説明した例では、N個の動作)をロボットに行わせるための制御値(上記において説明した例では、制御値m)を含む第1入力情報(上記において説明した例では、入力情報DT3)に基づいて、物体の素材特性を示す1種類以上の素材特性値(上記において説明した例では、素材特性値Mt)の推定値を機械学習モデル(上記において説明した例では、機械学習モデルMD)に推定させる制御部(上記において説明した例では、制御部36)を備える。これにより、情報処理装置は、変形可能な物体の素材特性に応じた制御値を、精度よく推定させることができる。
また、情報処理装置では、機械学習モデルは、物体の形状を示す形状情報と制御値と1種類以上の素材特性値とを含む第2入力情報(上記において説明した例では、入力情報DT1)が入力された場合、1以上の動作のそれぞれによって変形させられた後の物体の形状として最も尤もらしいと推定される推定形状を示す推定形状情報(上記において説明した例では、推定形状情報Q1~推定形状情報QN)を出力するように学習済みであり、第1入力情報は、制御値と、初期形状を示す初期形状情報と、1種類以上の素材特性値とを含む、構成が用いられてもよい。
また、情報処理装置では、制御部は、1以上の動作のそれぞれについての物体の途中形状を示す途中形状情報(上記において説明した例では、途中形状情報P1~途中形状情報PN、目標形状情報G)と第1入力情報と機械学習モデルとに基づいて、1種類以上の素材特性値の推定値を機械学習モデルに推定させる、構成が用いられてもよい。
また、情報処理装置では、機械学習モデルは、ニューラルネットワークを含む、構成が用いられてもよい。
また、情報処理装置では、制御部は、第1入力情報を用いた誤差逆伝播法により、機械学習モデルに1種類以上の素材特性値の推定値を推定させる、構成が用いられてもよい。
また、情報処理装置では、第2入力情報は、1以上の動作毎の制御値と、形状情報と、1種類以上の素材特性値の初期値とを含む、構成が用いられてもよい。
また、情報処理装置では、制御部は、形状情報と、制御値と、1種類以上の素材特性値の初期値とを含む第3入力情報(上記において説明した例では、入力情報DT2)と、1以上の動作のそれぞれについての途中形状情報とを用いた誤差逆伝播法により、制御値として最も尤もらしい値を制御値の推定値として機械学習モデルに推定させ、推定させた制御値の推定値と形状情報とを含む第2入力情報を生成する、構成が用いられてもよい。
また、情報処理装置では、形状情報と初期形状情報と推定形状情報とのそれぞれは、物体のメッシュモデルを示す情報である、構成が用いられてもよい。
また、情報処理装置では、1種類以上の素材特性値は、物体の曲がり易さを示す値と、物体の伸び易さを示す値と、物体の重厚さを示す値と、物体の滑り易さを示す値との少なくとも1つである、構成が用いられてもよい。
また、情報処理装置では、1種類以上の素材特性値は、確率分布によって表された値である、構成が用いられてもよい。
また、情報処理装置では、1種類以上の素材特性値は、予め決められた範囲内に含まれる中心値と、中心値周りの分布の幅によって表された値である、構成が用いられてもよい。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、撮像部10、ロボット20、情報処理装置30等)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)-ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
1…ロボットシステム、10…撮像部、15…表示部、20…ロボット、30…情報処理装置、31…プロセッサ、32…記憶部、33…入力受付部、34…通信部、35…表示部、36…制御部、361…撮像制御部、362…取得部、363…推定部、364…表示制御部、365…学習部、366…ロボット制御部

Claims (14)

  1. 変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる制御部を備える、
    情報処理装置。
  2. 前記機械学習モデルは、前記物体の形状を示す形状情報と前記制御値と前記1種類以上の素材特性値とを含む第2入力情報が入力された場合、前記1以上の動作のそれぞれによって変形させられた後の前記物体の形状として最も尤もらしいと推定される推定形状を示す推定形状情報を出力するように学習済みであり、
    前記第1入力情報は、前記制御値と、前記初期形状を示す初期形状情報と、前記1種類以上の素材特性値とを含む、
    請求項1に記載の情報処理装置。
  3. 前記制御部は、前記1以上の動作のそれぞれについての前記物体の途中形状を示す途中形状情報と前記第1入力情報と前記機械学習モデルとに基づいて、前記1種類以上の素材特性値の推定値を前記機械学習モデルに推定させる、
    請求項2に記載の情報処理装置。
  4. 前記機械学習モデルは、ニューラルネットワークを含む、
    請求項2に記載の情報処理装置。
  5. 前記制御部は、前記第1入力情報を用いた誤差逆伝播法により、前記機械学習モデルに前記1種類以上の素材特性値の推定値を推定させる、
    請求項4に記載の情報処理装置。
  6. 前記第2入力情報は、前記1以上の動作毎の前記制御値と、前記形状情報と、前記1種類以上の素材特性値の初期値とを含む、
    請求項2に記載の情報処理装置。
  7. 前記制御部は、前記形状情報と、前記制御値と、前記1種類以上の素材特性値の初期値とを含む第3入力情報と、前記目標形状を示す目標形状情報とを用いた誤差逆伝播法により、前記制御値として最も尤もらしい値を前記制御値の推定値として前記機械学習モデルに推定させ、推定させた前記制御値の推定値と前記形状情報とを含む前記第2入力情報を生成する、
    請求項3に記載の情報処理装置。
  8. 前記形状情報と前記初期形状情報と前記推定形状情報とのそれぞれは、前記物体のメッシュモデルを示す情報である、
    請求項2に記載の情報処理装置。
  9. 前記1種類以上の素材特性値は、前記物体の曲がり易さを示す値と、前記物体の伸び易さを示す値と、前記物体の重厚さを示す値と、前記物体の滑り易さを示す値との少なくとも1つである、
    請求項1に記載の情報処理装置。
  10. 前記1種類以上の素材特性値は、確率分布によって表された値である、
    請求項1に記載の情報処理装置。
  11. 前記1種類以上の素材特性値は、予め決められた範囲内に含まれる中心値と、前記中心値周りの分布の幅とによって表された値である、
    請求項10に記載の情報処理装置。
  12. 変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる、
    情報処理方法。
  13. コンピューターに、
    変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットが前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる、
    プログラム。
  14. 変形可能な物体の初期形状を予め決められた目標形状へ変形させるロボットであって、
    前記初期形状を前記目標形状へ変形させる1以上の動作を前記ロボットに行わせるための制御値を含む第1入力情報に基づいて、前記物体の素材特性を示す1種類以上の素材特性値の推定値を機械学習モデルに推定させる制御部を備える、
    ロボット。
JP2022134791A 2022-08-26 2022-08-26 情報処理装置、情報処理方法、プログラム、及びロボット Pending JP2024031308A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022134791A JP2024031308A (ja) 2022-08-26 2022-08-26 情報処理装置、情報処理方法、プログラム、及びロボット

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022134791A JP2024031308A (ja) 2022-08-26 2022-08-26 情報処理装置、情報処理方法、プログラム、及びロボット

Publications (1)

Publication Number Publication Date
JP2024031308A true JP2024031308A (ja) 2024-03-07

Family

ID=90105786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022134791A Pending JP2024031308A (ja) 2022-08-26 2022-08-26 情報処理装置、情報処理方法、プログラム、及びロボット

Country Status (1)

Country Link
JP (1) JP2024031308A (ja)

Similar Documents

Publication Publication Date Title
JP6546618B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
US11045949B2 (en) Deep machine learning methods and apparatus for robotic grasping
US9149932B2 (en) Robot picking system, control device, and method of manufacturing a workpiece
JP6380828B2 (ja) ロボット、ロボットシステム、制御装置、及び制御方法
JP5261495B2 (ja) 重み行列を用いたリアルタイム自己衝突および障害物回避
JP2019508273A (ja) ロボットの把持のための深層機械学習方法および装置
CN106910223A (zh) 一种基于凸松弛全局优化算法的机器人手眼标定方法
CN111152218A (zh) 一种异构仿人机械臂的动作映射方法及***
JP7517225B2 (ja) 軌道生成システム、軌道生成方法及びプログラム
JP2019155561A (ja) ロボットの動作制御装置
JP7051751B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
Zeller et al. Motion planning of a pneumatic robot using a neural network
US20230115521A1 (en) Device and method for training a machine learning model for recognizing an object topology of an object from an image of the object
CN114494426A (zh) 用于控制机器人来在不同的方位拿起对象的装置和方法
JP2024031308A (ja) 情報処理装置、情報処理方法、プログラム、及びロボット
CN110114195B (zh) 动作转移装置、动作转移方法和存储动作转移程序的非暂时性计算机可读介质
JP7349423B2 (ja) 学習装置、学習方法、学習モデル、検出装置及び把持システム
US20240054393A1 (en) Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program
JP2023036559A (ja) ロボット装置、ロボット制御モデルをトレーニングするコンピュータ実装された方法及びロボット装置を制御する方法
CN113420752A (zh) 基于抓取点检测的三指手势生成方法及***
CN114571454B (zh) 视觉传感器快速标定方法
Cruciani et al. In-hand manipulation of objects with unknown shapes
Junare et al. Deep Learning based end-to-end Grasping Pipeline on a lowcost 5-DOF Robotic arm
JP2023023193A (ja) 制御システム及び制御方法
Zeller et al. Vision-based robot motion planning using a topology representing neural network