(57)【要約】      （修正有）【課題】ロボットハンドによるワークの把持・運搬動作の自動化を簡略な構成で実現すること。【解決手段】１又は複数のワークＷのうちいずれかを把持するシミュレータ２上のロボットハンドが把持動作を経て把持を成功させるときのロボットハンドの１又は複数の３次元座標データと、１又は複数のワークＷをシミュレータ２上の２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットをシミュレータ２から取得して複数組記憶するデータセット記憶部３２と、１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習する学習部３３と、学習部３３によって学習された学習モデルを記憶する学習済モデル記憶部３４と、を備える。【選択図】図１
2020082322.tif 000002
【特許請求の範囲】
【請求項１】
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された前記１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータから取得して複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項２】
シミュレータと、機械学習装置とを備える機械学習システムであって：
前記シミュレータが、所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、
前記機械学習装置が、前記シミュレータから前記学習用データセットを複数組取得して記憶するデータセット記憶部と；前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習する学習部と；前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習システム。
【請求項３】
所定領域内に配置された１又は複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項４】
所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像を取得する取得部と；
請求項１乃至請求項３のいずれか１項に記載の機械学習装置によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像を入力することで、ロボットハンドの３次元座標を推論する推論部と；を備える、
データ処理システム。
【請求項５】
前記推論部において、３次元座標が複数推論された場合に、前記複数の３次元座標のうちの所定の一の３次元座標を特定する特定部を更に備える、
請求項４に記載のデータ処理システム。
【請求項６】
コンピュータを用いた機械学習方法であって：
所定領域内に配置された１又は複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを複数組記憶するステップと；
前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。
【請求項７】
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータから取得して複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標及び角度を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項８】
シミュレータと、機械学習装置とを備える機械学習システムであって：
前記シミュレータが、所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、
前記機械学習装置が、前記シミュレータから前記学習用データセットを複数組取得して記憶するデータセット記憶部と；前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標及び角度を推論する学習モデルを学習する学習部と；前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習システム。
【請求項９】
所定領域内に配置された１又は複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標及び角度を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項１０】
所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データを取得する取得部と；
請求項７乃至請求項９のいずれか１項に記載の機械学習装置によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像データを入力することで、ロボットハンドの３次元座標及び角度を推論する推論部と；を備える、
データ処理システム。
【請求項１１】
前記推論部において、３次元座標及び角度が複数推論された場合に、前記複数の３次元座標及び角度のうちの所定の一の３次元座標及び角度を特定する特定部を更に備える、
請求項１０に記載のデータ処理システム。
【請求項１２】
コンピュータを用いた機械学習方法であって：
所定領域内に配置された１又は複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データ及び角度と、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するステップと；
前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標及び前記角度を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乱雑に配置された１又は複数のワークの取り出し動作を学習する機械学習装置、機械学習システム及び機械学習方法と、これらの機械学習装置、機械学習システム及び機械学習方法によって得られた学習済モデルを利用した、データ処理システムに関するものである。
【背景技術】
【０００２】
従来から、箱型のトレー内に乱雑に配置（いわゆる「バラ積み」を含む）された所定形状のワークを、ロボットハンド（マニプレータ）を用いて把持し運搬する試みが行われている。そして、例えば特許文献１のように、このような動作を人の手（例えば制御情報の入力動作）を介在することなく自動で実行するべく、機械学習装置を用いる試みも行われている。特許文献１に記載された機械学習装置は、複数台のカメラ等からなる３次元計測器を用いてワークの３次元マップを形成し、この３次元マップと、ロボットによるワークの取り出し動作結果と、ロボットに対する指令データとを用いて機械学習を行うものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０３０１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したとおり、特許文献１に記載された機械学習装置は、機械学習に際し複数台のカメラ等からなる３次元計測器を用いてワークの３次元マップを取得することを必須の要件としている。しかし、３次元計測器は複数台のカメラを要する等、一般的な２次元撮像装置（カメラ）に比べて部品点数が多く複雑な装置であり、ひいては当該機械学習装置を実現することはコスト面において課題がある。
【０００５】
本発明は上述の点に鑑み、ロボットハンドによるワークの把持・運搬動作の自動化を簡略な構成で実現し、ひいては当該実現に要するコストを抑えることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の態様に係る機械学習装置３は、例えば図１及び図５に示すように、シミュレータ２の所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持する前記シミュレータ２上のロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの１又は複数の３次元座標データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された前記１又は複数のワークＷを前記シミュレータ上の２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を含む学習用データセットを前記シミュレータから取得して複数組記憶するデータセット記憶部３２と；前記学習用データセットを複数組入力することで、現実世界における所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドＲの３次元座標を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【０００７】
このように構成すると、この機械学習装置により得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、この機械学習に際してはシミュレータを用いるため、機械学習のための学習用データセットの収集を短期間で且つ安定して実現できる。
【０００８】
本発明の第２の態様に係る機械学習システム３は、例えば図１及び図５に示すように、シミュレータ２と、機械学習装置３とを含み：前記シミュレータ２が、所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持する前記シミュレータ上のロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの１又は複数の３次元座標データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークＷを前記シミュレータ２上の２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、前記機械学習装置３が、前記シミュレータ２から前記学習用データセットを複数組取得して記憶するデータセット記憶部３２と；前記学習用データセットを複数組入力することで、現実世界における所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドＲの３次元座標を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【０００９】
このように構成すると、この機械学習システムにより得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、この機械学習に際してはシミュレータを用いるため、機械学習のための学習用データセットの収集を短期間で且つ安定して実現できる。
【００１０】
本発明の第３の態様に係る機械学習装置は、例えば図１及び図５に示すように、所定領域ＲＷＡ内に配置された１又は複数のワークのうちいずれかを把持するロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの３次元座標データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部３２と；前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【００１１】
このように構成すると、この機械学習装置により得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。
【００１２】
本発明の第４の態様に係るデータ処理システム１００は、例えば図５に示すように、所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像を取得する取得部１１０と；上記第１乃至３の態様の機械学習装置３によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像を入力することで、ロボットハンドの３次元座標を推論する推論部１４０と；を含む。
【００１３】
このように構成すると、構造が単純で比較的安価な２次元撮像装置が撮像した画像データのみからワークを把持可能なロボットハンドの３次元座標を推論することができるため、人手を要することのないバラ積みピッキングを簡略な構成で、ひいては低コストで実現することができる。
【００１４】
本発明の第５の態様に係るデータ処理システム１００Ｂは、例えば図１３に示すように、推論部１４０において、３次元座標が複数推論された場合に、複数の３次元座標のうちの所定の一の３次元座標を特定する特定部１５０を更に含む。
【００１５】
このように構成すると、推論部１４０により推論された複数の３次元座標の中から一の３次元座標を選定することができ、より精度の高い把持動作を実行することができる。
【００１６】
本発明の第６の態様に係る機械学習方法は、例えば図４に示すように、コンピュータを用い：所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持するロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの３次元座標データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＶＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを複数組記憶するステップと；前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標を推論する学習モデルを学習するステップＳ２４と；学習された前記学習モデルを記憶するステップＳ２６と；を含む。
【００１７】
このように構成すると、この機械学習方法により得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。
【００１８】
本発明の第７の態様に係る機械学習装置３Ａは、例えば図７及び図５に示すように、シミュレータ２Ａの所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持する前記シミュレータ２Ａ上のロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＶＷＡ内に配置された１又は複数のワークＷを前記シミュレータ上の２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータ２Ａから取得して複数組記憶するデータセット記憶部３２と；前記学習用データセットを複数組入力することで、現実世界における所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドＲの３次元座標及び角度を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【００１９】
このように構成すると、この機械学習装置により得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、この機械学習に際してはシミュレータを用いるため、機械学習のための学習用データセットの収集を短期間で且つ安定して実現できる。さらに、学習済モデルが３次元座標データのみならず角度データをも出力するため、ロボットハンドの形状に関わらず常に高精度にワークの把持を実現することができる。
【００２０】
本発明の第８の態様に係る機械学習システム１Ａは、例えば図７及び図５に示すように、シミュレータ２Ａと、機械学習装置３Ａとを備え：前記シミュレータ２Ａが、所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持する前記シミュレータ２Ａ上のロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＶＷＡ内に配置された１又は複数のワークＷを前記シミュレータ２Ａ上の２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、前記機械学習装置３Ａが、前記シミュレータ２Ａから前記学習用データセットを複数組取得して記憶するデータセット記憶部３２と；前記学習用データセットを複数組入力することで、現実世界における所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドＲの３次元座標及び角度を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【００２１】
このように構成すると、この機械学習システムにより得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、この機械学習に際してはシミュレータを用いるため、機械学習のための学習用データセットの収集を短期間で且つ安定して実現できる。さらに、学習済モデルが３次元座標データのみならず角度データをも出力するため、ロボットハンドの形状に関わらず常に高精度にワークの把持を実現することができる。
【００２２】
本発明の第９の態様に係る機械学習装置は、例えば図７及び図５に示すように、所定領域ＲＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持するロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの３次元座標データ及び角度データと、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部３１と；前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標及び角度を推論する学習モデルを学習する学習部３３と；前記学習部３３によって学習された前記学習モデルを記憶する学習済モデル記憶部３４と；を含む。
【００２３】
このように構成すると、この機械学習装置により得られる学習済モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、学習済モデルが３次元座標データのみならず角度データをも出力するため、ロボットハンドの形状に関わらず常に高精度にワークの把持を実現することができる。
【００２４】
本発明の第１０の態様に係るデータ処理システムは、例えば図７及び図５に示すように、所定領域ＲＷＡ内に配置された１又は複数のワークＷを２次元撮像装置によって所定画角から撮像した２次元撮像画像データを取得する取得部１１０と；上記第７乃至９の態様の機械学習装置によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像データを入力することで、ロボットハンドの３次元座標及び角度を推論する推論部１４０と；を含む。
【００２５】
このように構成すると、構造が単純で比較的安価な２次元撮像装置が撮像した画像データのみからワークを把持可能なロボットハンドの３次元座標及び角度を推論することができるため、簡略な構成で且つ高精度に人手を要することのないバラ積みピッキングを実現することができる。
【００２６】
本発明の第１１の態様に係るデータ処理システム１００Ｂは、例えば図１３に示すように、推論部１４０において、３次元座標及び角度が複数推論された場合に、複数の３次元座標及び角度のうちの所定の一の３次元座標及び角度を特定する特定部１５０を更に含む。
【００２７】
このように構成すると、推論部１４０により推論された複数の３次元座標の中から一の３次元座標を選定することができ、より精度の高い把持動作を実行することができる。
【００２８】
本発明の第１２の態様に係る機械学習方法は、例えば図９に示すように、コンピュータを用い：所定領域ＶＷＡ内に配置された１又は複数のワークＷのうちいずれかを把持するロボットハンドＲが把持動作を経て把持を成功させるときの前記ロボットハンドＲの３次元座標データ及び角度と、前記ロボットハンドＲが把持を成功させるときの前記把持動作の前に前記所定領域ＶＷＡ内に配置された１又は複数のワークＷを２次元撮像装置ＩＤによって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するステップと；前記学習用データセットを複数組入力することで、前記２次元撮像画像から、前記３次元座標及び前記角度を推論する学習モデルを学習するステップＳ５４と；学習された前記学習モデルを記憶するステップＳ５６と；を含む。
【００２９】
このように構成すると、この機械学習方法により得られる学習（済）モデルをバラ積みピッキングにおけるデータ処理に適用することにより、３次元計測器等の複雑な装置を要することなく、バラ積みピッキング作業の自動化を実現することができる。また、学習（済）モデルが３次元座標データのみならず角度データをも出力するため、ロボットハンドの形状に関わらず常に高精度にワークの把持を実現することができる。
【発明の効果】
【００３０】
本発明によれば、機械学習によって得られる学習済モデルは、その入力層に対応付けられる（入力される）状態変数が２次元撮像画像データのみであるから、３次元計測器等の複雑な装置を要することなく、簡略な構成によってバラ積みピッキング作業の自動化を実現することができる。これにより、本発明を適用する際のコストを抑えることができる。また、本発明の機械学習に際してシミュレータを利用すれば、機械学習のための学習用データセットの収集を短期間で且つ安定して実現できる。さらに、機械学習を経て生成された学習済モデルが出力するデータを、３次元座標データに加えて角度データを含むものとすれば、ロボットハンドの形状に関わらず常に高精度にワークの把持が実現可能な学習済みモデルを提供することができるようになる。さらにまた、機械学習に際し、１つの２次元撮像画像データに対して複数の３次元座標データ（及び角度データ）を関連付けてデータセットを作成すれば、把持動作の成功が最も期待できる３次元座標を選択することが可能となり、高精度で且つ自由度の高いデータ処理を実現することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】図１は、本発明の第１の実施の形態に係る機械学習システムを示す概略図である。
【図２】図２は、本発明の第１の実施の形態に係るシミュレータのシミュレート演算工程を示すフローチャートである。
【図３】図３は、本発明の第１の実施の形態に係る機械学習装置において実施される教師あり学習のためのニューラルネットワークモデルの例を示す図である。
【図４】図４は、本発明の第１の実施の形態に係る機械学習方法を示すフローチャートである。
【図５】図５は、本発明の第１の実施の形態に係るデータ処理システムが適用される現実の作業領域を示した概略図である。
【図６】図６は、本発明の第１の実施の形態に係る現実の作業領域におけるバラ積みピッキング工程を示すフローチャートである。
【図７】図７は、本発明の第２の実施の形態に係る機械学習システムを示す概略図である。
【図８】図８は、本発明の第２の実施の形態に係るシミュレータのシミュレート演算工程を示すフローチャートである。
【図９】図９は、本発明の第２の実施の形態に係る機械学習方法を示すフローチャートである。
【図１０】図１０は、本発明の第３の実施の形態に係る機械学習システムを示す概略図である。
【図１１】図１１は、本発明の第３の実施の形態に係るシミュレータで生成された２次元撮像画像データの一例を示す概略図である。
【図１２】図１２は、本発明の第３の実施の形態に係るシミュレータのシミュレート演算工程を示すフローチャートである。
【図１３】図１３は、本発明の第３の実施の形態に係るデータ処理システムが適用される現実の作業領域を示した概略図である。
【図１４】図１４は、本発明の第３の実施の形態に係る現実の作業領域におけるバラ積みピッキング工程を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、図面を参照して本発明を実施するための各実施の形態について説明する。なお、以下では本発明の目的を達成するための説明に必要な範囲を模式的に示し、本発明の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【００３３】
初めに、本発明の実施の形態に係る学習対象としての、いわゆるバラ積みピッキングについて簡単に説明を行う。バラ済みピッキングとは、例えば図５に記載されているように、箱状のトレーＴＲ内に複数のワークＷが乱雑に積み重ねられ（バラ積みされ）、これを２次元撮像装置ＩＤからの情報等に基づいてロボットハンドＲによって１個（場合によっては複数個）ずつ把持・運搬するものである。このバラ積みピッキングに際しては、ロボットハンドＲによってどのワークＷのどの位置を把持するのかが、ピッキング作業を成功させるための極めて重要な要素である。そのため、当該位置を特定するために、従来から、例えば特許文献１に記載されたような３次元計測器を利用する等、様々な手法が検討されている。
【００３４】
本発明者らは、上記バラ積みピッキングを、人手を要することなく実現するに際し、複雑で高コストな設備を新たに要することなく機械学習を実行する方法を種々検討した結果、構造が単純で安価な２次元撮像装置で取得可能な２次元撮像画像データを利用した機械学習に想到し、本発明に至ったものである。
【００３５】
ところで、例えば特許文献１に記載された機械学習装置は、ワークの配置やロボットの動作を実際に行うことで機械学習のための学習用データセット（以下、単に「データセット」ともいう。）を収集している。しかし、この方法では１つのデータセットを得るために、その都度一連の準備を必要とし、またロボットアームＲの動作時間も必要であることから、比較的多くの時間を要する。データセットは複数個準備する必要があることから、結果として、十分な機械学習を実行するための準備に要する時間が長期となる傾向にある。本発明においても、既存の機械学習装置と同様、一般に学習用データセットの量に比例して高い精度の推論が可能な学習モデルが得られることから、このような高精度の推論が可能な学習モデルを得るためには学習用データセットはできるだけ多い方が好ましい。そこで、本発明の第１の実施の形態においては、この課題を解決する手段として、機械学習に際してシミュレータを用いる構成をさらに採用している。ただし、下記本発明の実施の形態において用いられるシミュレータを使用することなく、実際にワークの配置やロボットハンドの動作を実行することで複数のデータセットを取得するようにしても、本発明の主たる課題（ロボットハンドによるワークの把持・運搬動作の自動化を簡略な構成で実現すること）を解決できることは、当業者であれば容易に理解できることである。したがって、本発明においてはシミュレータの使用は任意である。
【００３６】
＜機械学習システム＞
図１は、本発明の第１の実施の形態に係る機械学習システムを示す概略図である。この機械学習システム１は、シミュレータ２と、機械学習装置３とを含む。なお、シミュレータ２と機械学習装置３とは別々のコンピュータ等に内蔵されていても良いし、異なるコンピュータ等に内蔵されていても良い。
【００３７】
＜シミュレータ＞
シミュレータ２は、ユーザ等により予め指定された所定の条件の下でバラ積みピッキングを実施した場合の各種情報を得るための装置である。このシミュレータ２は、情報処理部２１と、条件記憶部２２と、二次元撮像画像データ取得部２３と、３次元座標データ取得部２４と、データセット生成部２５と、送信部２６とを含む。
【００３８】
情報処理部２１は、後述する条件記憶部２２に記憶された各種条件に基づいて３次元で構成される仮想の作業領域ＶＷＡを生成し、この仮想の作業領域ＶＷＡ内に形成されたワークＷ及びロボットハンドＲ等の３次元のグラフィックモデルを内部で動作させることにより、バラ積みピッキングのシミュレート演算を実行するものである。仮想の作業領域ＶＷＡの設定条件は、この仮想の作業領域ＶＷＡが、後述する機械学習装置３により生成される学習済モデルが実際に適用される作業環境、例えば図５に示すような現実の作業領域ＲＷＡと同様の領域となるよう、設定されている。なお、具体的な演算手法自体についてはシミュレータの技術分野において実施されている周知の方法を用いることができるので、ここでは詳細な説明を省略する。また、図１においては、理解を容易にする目的で、情報処理部２１において仮想される仮想の作業領域ＶＷＡを示している。このような仮想の作業領域ＶＷＡの３次元モデルは、必要に応じ、図示しない表示手段等を介してユーザに対して視認可能とすることができる。なお、シミュレーションの具体的な方法については上記の方法に限らず、シミュレータの技術分野において周知である他の方法を採用することも可能である。
【００３９】
条件記憶部２２は、仮想の作業領域ＶＷＡを構築するための各種条件、例えばロボットハンドＲの構造やワークＷの形状、２次元撮像装置ＩＤの画角等の情報を記憶するための記憶領域である。この条件記憶部２２に記憶された各種条件は、ユーザ（オペレータ）により図示しない入力手段等を介して任意に設定されるものである。
【００４０】
２次元撮像画像データ取得部２３は、仮想の作業領域ＶＷＡ内に設置された２次元撮像装置ＩＤの３次元モデルによって撮像される２次元撮像画像データを取得するものである。ここで、２次元撮像装置ＩＤの３次元モデルは、条件記憶部２２に記憶された条件に基づいて配置や画角が定められており、例えば図１に示されているように、仮想の作業領域ＶＷＡの上方に、複数のワークＷがバラ積みされたトレーＴＲの内部全体が漏れなく視認可能な画角で支持されている。本発明においては、２次元撮像装置ＩＤ（の３次元モデル）により取得されるデータが、特許文献１に記載されているような３次元計測器を用いた３次元データ等ではなく、構造が単純で比較的安価な１つのカメラ等でも取得可能な２次元撮像画像データである点が特徴的な構成の１つである。このように構造が単純で比較的安価なカメラ等からなる２次元撮像装置ＩＤを１つのみ用いることで、簡単な構成によりバラ積みピッキングを実現でき、また、このような２次元撮像装置ＩＤであれば既存の作業領域においても通常備えていることが多いため、これらを流用することが可能となり、結果、ほとんどの場合において、既存の作業領域内に本発明の技術を導入しようとする際には別途の設備投資を伴うことがない。
【００４１】
３次元座標データ取得部２４は、仮想の作業領域ＶＷＡ内のロボットハンドＲの３次元モデルが、同じく仮想の作業領域ＶＷＡ内のワークＷの１つ（場合によっては複数）の把持に成功したときのロボットハンドＲの把持位置を表す３次元の座標データを取得するものである。ここで、３次元座標データとは、図１等に示すように、ロボットハンドＲの前後方向をｘ、左右方向をｙ、上下方向をｚとした場合の（ｘ、ｙ、ｚ）座標を示すものである。なお、この座標表記の基準となる座標系としてはどのようなものを採用しても良く、例えばベース座標系や、ワールド座標系、カメラ座標系等を採用することができる。
【００４２】
データセット生成部２５は、２次元撮像画像データ取得部２３及び３次元座標データ取得部２４がそれぞれ取得した２次元撮像画像データ及び３次元座標データを、共通するシミュレート演算結果として出力されたもの同士を１つのデータセットとして関連付けるためのものである。このデータセット生成部２５は、データセットの生成のみならず、生成したデータセットの一時的な記憶等を行えるものとしても良い。
【００４３】
送信部２６は、データセット生成部２５によって生成されたデータセットを、後述する機械学習装置３のデータセット取得部３１へ送信するためのものである。この送信の具体的な方法は、シミュレータ２と機械学習装置３との接続状態に合わせて適宜調整することができる。また、送信のタイミングについても、随時あるいは生成されたデータセットの数が所定数に達した時等、適宜設定することが可能である。
【００４４】
次に、図２を参照し、上述したシミュレータ２による一連のシミュレート演算の工程について以下に説明する。図２は、本発明の第１の実施の形態に係るシミュレータ２のシミュレート演算工程を示すフローチャートである。図２に示す通り、本発明の第１の実施の形態に係るシミュレータ２は、以下の工程を実行する。
【００４５】
シミュレータ２が起動しシミュレート演算の動作が開始すると、先ず、条件記憶部２２に記憶された条件に基づいて、情報処理部２１にてロボットハンドＲの３次元グラフィックモデル等を含む仮想の作業領域ＶＷＡを生成する。そして、仮想の作業領域ＶＷＡ内に予め定められた位置及び画角で設置された２次元撮像装置ＩＤから撮像した２次元撮像画像データを生成する（ステップＳ１１）。ここで生成された２次元撮像画像データは撮像データ取得部２３で取得され（一時的に）格納される。２次元撮像画像データが生成されると、次に、この撮像されたトレーＴＲ内のワークＷに対してロボットハンドＲの３次元モデルを動作させて、ワークＷの把持動作に係るシミュレート演算を実行する（ステップＳ１２）。ここで行われるシミュレート演算に際しては、バラ積みピッキングの技術分野において採用されている種々の方法を適用することが可能であることは特に留意すべき点である。詳しく言えば、例えば仮想の作業領域ＶＷＡ内に特許文献１に記載されたような３次元計測器を配置し、当該３次元計測器の３次元データを利用したり、図示しない入力手段を利用したオペレータによるティーチングを部分的に利用したり、あるいは種々のセンサを利用したりすることが許容される。要するに、このシミュレータ２によるシミュレート演算工程において重要なことは、撮像されたトレーＴＲ内にバラ積みされたワークＷの把持に成功した際の各種データを取得することであるため、その手法は何ら限定されない。
【００４６】
上述した把持動作の結果、把持が失敗した場合（ステップＳ１３でＮｏ）には、当該２次元撮像画像データは消去され（ステップＳ１４）、再び２次元撮像画像データが生成し直される（ステップＳ１１）。ステップＳ１４において２次元撮像画像データが消去されるのと同じタイミングで、バラ積みされたワークＷの配置をランダムに変更することができる。これにより、種々の配置のワークＷに対するデータを取得することができる。なお、本実施例においては把持が失敗する毎に直近の２次元撮像画像データを削除した上、２次元撮像画像データを生成し直すこととしたが、２次元撮像画像データを削除及び生成し直すことなく（つまり、ステップＳ１４及びその後のステップＳ１１に示す処理を実行することなく）、シミュレート演算（ステップＳ１２）を繰り返し実行しても良い。すなわち、把持動作が失敗した場合に、仮想の作業領域ＶＷＡにおけるワークＷの配置を、直近に生成された２次元撮像画像データで撮像されたワークＷの配置に戻したのち、引き続き把持動作を実行しても良い。
【００４７】
上述した把持動作の結果、把持が成功した場合（ステップＳ１３でＹｅｓ）には、次に、把持した時点のロボットハンドＲの３次元座標データを取得する（ステップＳ１５）。３次元座標データを取得するロボットハンドＲの具体的な部位は、任意に決定することが可能であるが、例えばロボットハンドＲのエンドエフェクタ５４（図５参照。）の重心位置Ｐ（図５参照。）の位置座標を、この３次元座標データとして取得することが可能である。
【００４８】
次に、データセット生成部２５により、ステップＳ１５で取得した３次元座標データと、ステップＳ１１において２次元撮像画像データ取得部２３で取得され格納された直近の２次元撮像画像データとを、１つのデータセットとして特定する（ステップＳ１６）。これにより、ワークＷの把持動作が成功した際のロボットハンドＲの３次元座標データと、この把持動作が成功した際の把持動作開始前のワークＷの状態を示す２次元撮像画像データとが１対１の関係で関連付けられ、データセットが生成される。そして、特定されたデータセットは、送信部２６により機械学習装置３へ送信される（ステップＳ１７）。
【００４９】
上述した一連のシミュレート演算工程は、後述する機械学習装置３において必要とされるデータセットの量に至るまで繰り返し実行される。しかし、一連のシミュレート演算工程はシミュレータ２内で実行される工程であるため、実際にロボットハンドＲを動作させてデータセットを収集する場合に比べて極めて短時間で所望の数のデータセットの収集が可能である。また、シミュレータ２内のロボットハンドＲ等の３次元モデルは当然ながら経年劣化しないため、安定した環境でデータの収集を実施することができる。
【００５０】
＜機械学習装置＞
次に、シミュレータ２により生成されたデータセットを用いて機械学習を行う機械学習装置３について、以下説明を行う。機械学習装置３は、図１に示すように、データセット取得部３１と、データセット記憶部３２と、学習部３３と、学習済モデル記憶部３４とを含む。
【００５１】
データセット取得部３１は、シミュレータ２の送信部２６から送信されたデータセットを取得するものである。送信部２６とデータセット取得部３１との接続関係については適宜変更可能であり、有線又は無線通信を介してローカルに、あるいはインターネットを介して接続していても良いし、携帯可能な記憶媒体を介してデータ送信が行われるものであってもよい。
【００５２】
データセット記憶部３２は、データセット取得部３１で取得したデータセットを記憶するための記憶領域である。
【００５３】
学習部３３は、データセット記憶部３２に記憶された複数組のデータセットを教師データとして機械学習を実行するものである。また、学習済モデル記憶部３４は、学習部３３で生成された学習済モデルを記憶するための記憶領域である。学習部３３で実行される機械学習について、以下に説明する。
【００５４】
図３は、本発明の第１の実施の形態に係る機械学習装置において実施される教師あり学習のためのニューラルネットワークモデルの例を示す図である。図３に示すニューラルネットワークモデルにおけるニューラルネットワークは、入力層にあるｌ個のニューロン（ｘ１〜ｘｌ）、第１中間層にあるｍ個のニューロン（ｙ１１〜ｙ１ｍ）、第２中間層にあるｎ個のニューロン（ｙ２１〜ｙ２ｎ）、及び出力層にある３個のニューロン（ｚ１〜ｚ３）から構成されている。第１中間層及び第２中間層は、隠れ層とも呼ばれており、ニューラルネットワークとしては、第１中間層及び第２中間層の他に、さらに複数の隠れ層を有するものであってもよく、あるいは第１中間層のみを隠れ層とするものであってもよい。
【００５５】
また、入力層と第１中間層との間、第１中間層と第２中間層との間、第２中間層と出力層との間には、層間のニューロンを接続するノードが張られており、それぞれのノードには、重みｗｉ（ｉは自然数）が対応づけられている。
【００５６】
本実施の形態に係るニューラルネットワークモデルにおけるニューラルネットワークは、データセット記憶部３２内に記憶された複数組のデータセットを用いて、２次元撮像画像データと３次元座標データとの相関関係を学習する。具体的には、２次元撮像画像データを複数のデータに分割し、分割した複数のデータを状態変数として、各状態変数と入力層のニューロンを対応付け、出力層にあるニューロンの値を、一般的なニューラルネットワークの出力値の算出方法、つまり、出力側のニューロンの値を、当該ニューロンに接続される入力側のニューロンの値と、出力側のニューロンと入力側のニューロンとを接続するノードに対応づけられた重みｗｉとの乗算値の数列の和として算出することを、入力層にあるニューロン以外の全てのニューロンに対して行う方法を用いることで、算出する。なお、状態変数を入力層のニューロンに対応付けるに際し、状態変数として取得した情報をどのような形式として対応付けるかは、生成される学習済モデルの精度等を考慮して適宜設定することができる。例えば、２次元撮像画像データを状態変数として入力層に対応付けるに際し、画像データをビット単位で分割した上で、分割された各ビットの色値（例えばＲＧＢ値）情報を入力層にそれぞれ対応付けることができる。
【００５７】
そして、算出された出力層にある３つのニューロンｚ１〜ｚ３の値、すなわち本実施の形態においてはロボットハンドＲの３次元座標データと、データセット内の、同じくロボットハンドＲの３次元座標データからなる教師データｔ１〜ｔ３とを、それぞれ比較して誤差を求め、求められた誤差が小さくなるように、各ノードに対応づけられた重みｗｉを調整する（バックプロバケーション）ことを反復する。
【００５８】
そして、上述した一連の工程を所定回数反復実施すること、あるいは前記誤差が許容値より小さくなること等の所定の条件が満たされた場合には、学習を終了して、そのニューラルネットワークモデル（のノードのそれぞれに対応づけられた全ての重みｗｉ）を学習済モデルとして学習済モデル記憶部３４に記憶する。
【００５９】
学習済モデル記憶部３４に記憶された学習済モデルは、要求に応じて、インターネット等の通信手段や記憶媒体を介して実システムへ適用される。実システム（データ処理システム）に対する学習済モデルの具体的な適用態様については、後に詳述する。
【００６０】
＜機械学習方法＞
上述の機械学習装置３に関連して、本発明は、機械学習方法をも提供する。図４は、本発明の第１の実施の形態に係る機械学習方法を示すフローチャートである。この機械学習方法はコンピュータを用いることで実現されるものであるが、コンピュータとしてはパーソナルコンピュータやサーバ装置等、種々のものが適用可能である。
【００６１】
本発明に係る機械学習方法としての教師あり学習を実行する場合には、先ず、任意の初期値の重みを備えた学習前モデルを準備する（ステップＳ２１）。次いで、データセット記憶部３２に記憶された複数組のデータセットのうちの１つを取得し（ステップＳ２２）、取得したデータセットのうちの２次元撮像画像データを学習前モデルの入力層ｘ１〜ｘｌ（図３参照。）に対応付けて出力層ｚ１〜ｚ３（図３参照。）を生成する（ステップＳ２３）。
【００６２】
ここで、ステップＳ２３において生成された出力層を構成する３次元座標データは、学習前モデルによって生成されたものであるため、ほとんどの場合、ユーザの要求を満たす、すなわちワークＷを把持できるような座標データではない。そこで、次に、ステップＳ２２において取得された１つのデータセットのうちの３次元座標データとステップＳ２３において生成された出力層を構成する３次元座標データとを用いて、機械学習を実施する（ステップＳ２４）。ここで行う機械学習とは、データセットのうちの３次元座標データと出力層を構成する３次元座標データとを比較し、両者の誤差を検出し、この誤差が小さくなるような出力層が得られるよう、学習前モデル内の各ノードに対応付けられた重みを調整することによる機械学習（バックプロバケーション）を実施するものである。
【００６３】
ステップＳ２４において機械学習が実施されると、さらに機械学習を継続する必要があるか否かを特定し（ステップＳ２５）、機械学習を継続する場合（ステップＳ２５でＮｏ）にはステップＳ２２に戻り、機械学習を終了する場合（ステップＳ２５でＹｅｓ）には、ステップＳ２６に移る。機械学習を継続する場合（ステップＳ２５でＮｏ）には、上述したステップＳ２２〜Ｓ２４の工程を複数回、例えばデータセット記憶部３２内に記憶された全てのデータセットの数と同じ回数実施することとなる。通常は、その回数に比例して、最終的に生成される学習済モデルの精度は高くなる。
【００６４】
機械学習を終了する場合（ステップＳ２５でＹｅｓ）には、学習モデルの各ノードに対応付けられた重みが一連の工程によって調整され生成されたニューラルネットワークを学習済モデルとして学習済モデル記憶部３４に記憶し（ステップＳ２６）、一連の学習プロセスを終了する。ここで記憶された学習済モデルが、後述する種々のデータ処理システムに適用され使用される。
【００６５】
上述した機械学習装置の学習プロセス及び機械学習方法においては、１つの学習済モデルを生成するために、１つのニューラルネットワーク（学習前モデル）に対して複数回の機械学習処理を繰り返し実行することで学習モデルを学習し、データ処理システムに適用可能な程度までその精度を向上させた学習済モデルを生成するものを説示しているが、本発明はこのような取得方法に限定されない。例えば、所定回数の機械学習を実施した学習済モデルを一候補として複数個学習済モデル記憶部３４に格納しておき、この複数個の学習済モデル群に、妥当性判断用のデータセットを入力して（対応付けて）出力層（のニューロンの値）を生成し、出力層で特定された３次元座標データとデータセット内の３次元座標データとを比較検討して、データ処理システムに適用する最良の学習済モデルを１つ選定するようにしてもよい。なお、ここで用いられる妥当性判断用のデータセットは、学習に用いたデータセットと同様に２次元撮像画像データと３次元座標データを有し、且つ異なるデータからなるものであればよい。
【００６６】
以上説明した通り、上述した機械学習装置３の学習プロセス及び機械学習方法により生成された学習済モデルは、一連の工程から理解できるとおり、２次元撮像装置ＩＤにより撮像された２次元撮像画像データが入力されると、ロボットハンドＲの１つの３次元座標データを出力することができる。つまり、この学習済モデルを用いて、バラ積みピッキングを人手を要することなく実現可能なデータ処理システムを提供する際には、入力層への入力データは２次元撮像画像データのみでよい。したがって、この学習済モデルを用いたデータ処理システムにあっては、３次元計測器等の複雑な装置を要しないため、バラ積みピッキングを簡略な構成で実現でき、ひいては低コストで技術導入を実現できる。また、機械学習に用いるデータセットの生成にシミュレータ２を用いることで、大量のデータセットを短期間で収集することが可能となり、所望の学習済モデルを短時間で生成することができる。
【００６７】
なお、学習済モデルの入力層に対応付ける状態変数を２次元撮像画像データのみと述べたが、この２次元撮像画像データをどのような形式で入力層に対応付けるかについては適宜調整が可能である。例えば２次元撮像装置ＩＤによる撮像された２次元撮像画像データの原データを、入力層に対応付けるために所定の前処理を実行して適宜調整することが可能である。また、本発明の機械学習装置における状態変数は、生成される学習済モデルに直接影響する重要な要素であるが、本発明の機械学習装置等における状態変数を、上述の２次元撮像画像データのみに特定し、他のデータの利用を完全に排除することを意図しているわけではない。例えば、生成される学習済モデルへの影響が、上述の実施の形態において採用したデータに比して十分に小さいデータが状態変数として追加された機械学習装置等は、実質的に本発明の技術思想を逸脱するものではないから、本発明の技術的範囲に包含されるといえる。
【００６８】
さらに、本実施の形態に係る機械学習方法は、当該機械学習方法により得られる学習済モデルを適用する現実の作業領域の変更に伴って逐次実行することが好ましい。バラ積みピッキングの把持成功率はワークの形状や２次元撮像装置の画角、ロボットハンドの機能等に大きく依存するものであり、例えばワークの形状のみが変更した場合でも変更前後で学習済モデルを変更しないと把持成功率は著しく低下する場合が多いためである。この場合においても、本発明の第１の実施の形態に係る機械学習システムはシミュレータを用いるため、新たな学習済モデルを生成する際にはシミュレータ及び機械学習装置を再度動作させるだけでよい。したがって、ユーザは新たな学習済モデルを得るための時間やコストを気にすることなく機械学習による学習済モデルの生成を実施することができ、最適な学習済モデルを常に短時間且つ低コストで利用することが可能となる。
【００６９】
＜データ処理システム＞
次に、本発明の第１の実施の形態に係るデータ処理システムについて説明を行う。このデータ処理システムは、上述した機械学習システム、機械学習装置あるいは機械学習方法により生成された学習済モデルを用いて、現実の作業領域におけるバラ積みピッキングを、人手を要することなく実現するためのシステムを構成している。当該データ処理システムは、具体的には、図５に記載されているようなロボットハンドＲ等を制御するためのロボットコントローラ１００に適用される。
【００７０】
図５は、本発明の第１の実施の形態に係るデータ処理システムが適用される現実の作業領域を示した概略図である。図５に示す通り、現実の作業領域ＲＷＡにおける各種構成の構造及び配置については、上述したシミュレータ内で生成される仮想の作業領域ＶＷＡで規定されている構造及び配置と同一であることは特に留意すべきである。これらが同一であることは、機械学習システム１を用いて機械学習を行う際に、現実の作業領域ＲＷＡに関する情報を収集し、この情報をシミュレータ２における条件として取得し、条件記憶部２２内に記憶して、仮想の作業領域ＶＷＡを生成する際に参照したことに起因する。このように現実の作業領域ＲＷＡと仮想の作業領域ＶＷＡとを同一とすることによって、仮想の作業領域ＲＷＡを基準として機械学習が行われて生成された学習済モデルが、現実の作業領域ＲＷＡにおいて極めて有効に動作できるものとなる。
【００７１】
現実の作業領域ＲＷＡには、主に、トレーＴＲと、複数個のワークＷと、２次元撮像装置ＩＤと、ロボットハンドＲと、ロボットコントローラ１００とが配されている。
【００７２】
トレーＴＲは、箱型の形状からなり、内部に複数個のワークＷを収容し、上部に形成された開口からワークＷへのアクセスが可能となったものである。なお、トレーＴＲの形状については何ら限定されるものではなく、例えば周壁が上方に向かって広がるテーパ形状となっているものや、周壁がワークＷと比較して十分に低いもの等が採用できる。
【００７３】
複数個のワークＷは、所定の形状を備え、トレーＴＲ内に乱雑に配置されている。ワークＷとしては、種々の機械部品等が適用できるため、その形状についても種々の形状が想定できるが、図５においては直方体形状を備えたワークＷを例示している。
【００７４】
２次元撮像装置ＩＤは、２次元撮像画像データで取得可能な撮像装置であって、例えばネットワークに接続して撮影した２次元撮像画像データを当該ネットワークへ送出することができる１台のＷＥＢカメラによって実現されるものである。この２次元撮像装置ＩＤは、トレーＴＲの斜め上方位置に固定され且つトレーＴＲの内部全体が漏れなく撮像できる画角に設定されている。
【００７５】
ロボットハンドＲは、トレーＴＲの近傍に配置され、トレーＴＲ内のワークＷを把持するものである。本実施の形態においてはロボットハンドＲの一例として垂直多関節ロボットについて説明を行うが、ロボットの種類については何ら限定されるものではない。例えば水平多関節ロボットやパラレルリンクロボット、直交座標ロボット、円筒座標ロボット等、バラ積みピッキングに適用可能なロボットであれば適宜採用することができる。
【００７６】
このロボットハンドＲは、ベース５１と、下リンクアーム５２と、上リンクアーム５３と、エンドエフェクタ５４と、複数のジョイント５５〜５７とから構成される。これらで構成されるロボットハンドＲは、軸数が６（ベース部５１の旋回θ１、各ジョイント５５〜５７の回転θ２〜θ４、上リンクアームの旋回θ５及びエンドエフェクタ５４の旋回θ６）である。また、エンドエフェクタ５４には、例えばグリッパを適用することが可能であるが、ワークＷの形状等を考慮して適宜変更することができ、例えば多指ハンドや吸着タイプのもの等を採用することも可能である。その他、ロボットハンドＲの詳細な構成については、周知の垂直多関節ロボットの構成を採用可能であるので、ここでは説明を省略する。
【００７７】
ロボットコントローラ１００は、ロボットハンドＲ及び２次元撮像装置ＩＤに接続されてこれらを制御するためのものである。このロボットコントローラ１００は、２次元撮像装置制御部１１０と、ロボットハンド制御部１２０と、主記憶部１３０と、推論部１４０とを含む。
【００７８】
２次元撮像装置制御部１１０は、本発明のデータ処理システムにおける取得部に対応する構成であって、２次元撮像装置ＩＤを制御して所望のタイミングで２次元撮像画像データを取得するためのものである。この２次元撮像装置制御部１１０により取得された２次元撮像画像データは、後述する推論部１２０に送られて学習済モデルの入力層に対応付けられる。
【００７９】
ロボットハンド制御部１２０は、後述する推論部１４０により特定された３次元座標データに基づいてロボットハンドＲの各軸を動作させることで、ワークＷの把持を行うべくロボットハンドＲを制御するためのものである。
【００８０】
主記憶部１３０は、現実の作業領域ＲＷＡにおいてワークＷのピッキング作業を実現するための種々のデータを格納しておくための記憶領域であり、その内部には少なくとも学習済モデル格納部１３１を備えている。学習済モデル格納部１３１は、上述した本発明の第１の実施の形態に係る機械学習システム、機械学習装置及び機械学習方法を経て生成された学習済モデルを格納するための記憶領域である。この学習済モデル格納部１３１内には、現実の作業領域ＲＷＡの環境変化に合わせて逐次作成された複数の学習済モデルが格納されていることが好ましく、この場合には、後述する推論部１４０においては、現実の作業領域ＲＷＡの状況に合わせてこれら複数の学習済モデルから適当なものを選択・使用することができる。
【００８１】
推論部１４０は、２次元撮像装置制御部１１０により取得された２次元撮像画像データと、学習済モデル格納部１３１内の１つの学習済モデルとを用いて、ロボットハンドＲの所望の３次元座標データを推論するものである。詳しくは、現実の作業領域ＲＷＡの状況に則した学習済モデルを学習済モデル格納部１３１内から参照し、２次元撮像装置制御部１１０により取得された２次元撮像画像データを、この参照した１つの学習済モデルの入力層に対応付けることで、出力層にワークＷを把持可能なロボットハンドＲの３次元座標データを出力するものである。
【００８２】
以上の構成を備えるロボットコントローラ１００を制御してワークＷのピッキングを行う場合の一連の工程について、図５及び図６を参照して以下に説明する。図６は、本発明の第１の実施の形態に係る現実の作業領域におけるバラ積みピッキング工程を示すフローチャートである。
【００８３】
図５に示す現実の作業領域ＲＷＡにおいて、バラ積みピッキング動作が開始されると、初めに、２次元撮像装置制御部１１０により撮像装置ＩＤが動作されてトレーＴＲ内を撮像した２次元撮像画像データが取得される（ステップＳ３１）。次いで、推論部１４０が、図示しない入力手段からのオペレータによる入力情報や、主記憶部１３０に格納された２次元撮像装置ＩＤ及びロボットハンドＲに関する機能情報等に基づいて、学習済モデル格納部１３１に格納された１乃至複数の学習済モデルから１つの学習済モデルを特定する（ステップＳ３２）。
【００８４】
学習済モデルが特定されると、推論部１４０はこの特定された学習済モデルを参照し、当該学習済モデルの入力層に、ステップＳ３１において２次元撮像装置制御部１１０が取得した２次元撮像画像データを対応付け、学習済モデルを用いた推論（データ処理）を実行し、出力層としてワークＷを把持可能なロボットハンドＲの一の３次元座標データを出力する（ステップＳ３３）。この出力された３次元座標データはロボットハンド制御部１２０に送られ、ロボットハンド制御部１２０はこの３次元座標データが示す位置にロボットハンドＲの所定部位（例えばエンドエフェクタ５４の重心位置Ｐ）を位置させるべく、ロボットハンドの６つの軸を駆動させてワークＷの把持を試みる（ステップＳ３４）。なお、ワークＷを把持した後にどのような動作（運搬等）を行うかについては、その制御自体は比較的簡単なものであるため、ロボットハンド制御部１２０に適宜設定しておけば機械学習等を要することなく実現できる。よって本発明においてはワークＷを把持した後の作業については説明を省略する。
【００８５】
以上説明した通り、本発明の第１の実施の形態に係るデータ処理システムを適用したバラ積みピッキングにおいては、単純な構造のカメラ等からなる２次元撮像装置ＩＤが撮像した画像データのみからワークＷを把持可能なロボットハンドＲの３次元座標データを推論することができるため、人手を要することのないバラ積みピッキングを簡略な構成で実現することができる。なお、上記第１の実施の態様において、ステップＳ３４において把持を試みた結果を認識し、当該結果とその時に推論部１４０において用いた２次元撮像画像データと推論部１４０が出力した３次元座標データとを、学習用データセットとして活用すると更に好ましい。この場合は、ロボットコントローラ１００の内部あるいは外部に上述した機械学習装置３を設け、この機械学習装置３で前記学習用データセットを用いて機械学習を実行し、結果として得られた学習済モデルに学習済モデル格納部１３１内のデータを更新すればよい。このようにすれば、仮想の作業領域ＶＷＡを用いた把持結果のみならず、現実の作業領域ＲＷＡでの把持結果をも学習に用いることができ、学習済モデルの精度をさらに向上させることができる。
【００８６】
＜第２の実施の形態＞
上述した第１の実施の形態においては、学習済モデルの出力層は３次元座標データを出力するものについて説明を行った。しかし、ロボットハンドＲの形状（特にエンドエフェクタ５４の形状）によっては、３次元座標データのみではワークＷの把持に失敗する場合がある。すなわち、例えばロボットハンドＲが図５に例示された垂直多関節ロボットのように自由度の高いロボットであって、且つエンドエフェクタ５４の横方向あるいは上下方向の長さが（上リンクアーム５２の横方向あるいは上下方向に比して）長尺な外形形状をしている場合等には、ロボットハンドＲが学習済モデルが出力した３次元座標データへ移動する途中で、この長尺なエンドエフェクタ５４の一部がワークＷに接触してワークＷの配置が変化し、結果、ワークＷの把持が失敗するという状況が起こることが想定できる。
【００８７】
以上の点に鑑み、以下には、エンドエフェクタの形状等に関わらずワークの把持を実現するべく、本発明の第２の実施の形態として、その出力層が出力するデータとして、３次元座標データに加えてロボットハンドＲの角度データをも出力できるようにした、機械学習システム、機械学習装置、機械学習方法及びデータ処理システムについて、説明を行う。図７は、本発明の第２の実施の形態に係る機械学習システムを示す概略図である。なお、以下に示す第２の実施の形態に係る機械学習システム、機械学習装置、機械学習方法及びデータ処理システムについては、上述した第１の実施の形態と異なる点を中心に説明し、第１の実施の形態と共通する構成等については同一の符号を付してその説明を省略するものとする。
【００８８】
本願の第２の実施の形態に係る機械学習システム１Ａは、図７に示すように、シミュレータ２Ａと、機械学習装置３Ａとを含む。そして、シミュレータ２Ａは、第１の実施の形態に係るシミュレータ２が備える一連の構成に加えて、さらに角度データ取得部２７を備えている。
【００８９】
角度データ取得部２７は、仮想の作業領域ＶＷＡ内のロボットハンドＲの３次元モデルが、同じく仮想の作業領域ＶＷＡ内のワークＷの１つ（場合によっては複数）の把持に成功したときのロボットハンドＲの手元部分（エンドエフェクタ５４と場合によっては上リンクアーム５２で構成される部分）の角度（姿勢）データを取得するためのものである。ここで、角度データとは、図７に示すｘ軸に対するロボットハンドＲの手元部分のなす角度ＲＸ、以下同様に、ｙ軸に対するロボットハンドＲの手元部分のなす角度ＲＹ、ｚ軸に対するロボットハンドＲの手元部分のなす角度ＲＺとした場合の（ＲＸ、ＲＹ、ＲＺ）からなるものである。なお、本実施の形態においては角度データを（ＲＸ、ＲＹ、ＲＺ）からなるものとして説明するが、このような３次元の角度データに代えて、２次元（例えば、ＲＸ、ＲＹのみ）、あるいは１次元（例えば、ＲＸのみ）の角度データを採用することも可能である。角度データとして規定する数値の数を減らすと、後述する機械学習において、十分な精度を有する学習済モデルを得るために必要なデータセット数を減らすことができる。また、本実施の形態においては角度データを（ＲＸ、ＲＹ、ＲＺ）と規定しているが、当該データはロボットの各軸（θ１〜θ６）のなす角度によって特定されるものであるため、この（ＲＸ、ＲＹ、ＲＺ）で表記される角度データに代えて、ロボットハンドＲの所定数の軸のなす角度を用いることも可能である。
【００９０】
次に、図８を参照し、上述したシミュレータ２Ａによる一連のシミュレート演算の工程について以下に説明する。図８は、本発明の第２の実施の形態に係るシミュレータ２Ａのシミュレート演算工程を示すフローチャートである。図８に示す通り、本発明の第２の実施の形態に係るシミュレータ２Ａは、以下の工程を実行する。
【００９１】
シミュレータ２Ａが起動しシミュレート演算の動作が開始すると、先ず、条件記憶部２２に記憶された条件に基づいて、情報処理部２１にてロボットハンドＲの３次元グラフィックモデル等を含む仮想の作業領域ＶＷＡを生成する。そして、仮想の作業領域ＶＷＡ内に予め定められた位置及び画角で設置された２次元撮像装置ＩＤから撮像した２次元撮像画像データを生成する（ステップＳ４１）。ここで生成された２次元撮像画像データは撮像データ取得部２３で取得され（一時的に）格納される。２次元撮像画像データが生成されると、次に、この撮像されたトレーＴＲ内のワークＷに対してロボットハンドＲの３次元モデルを動作させて、ワークＷの把持動作に係るシミュレート演算を実行する（ステップＳ４２）。
【００９２】
上述した把持動作の結果、把持が失敗した場合（ステップＳ４３でＮｏ）には、直近に生成された２次元撮像画像データは消去され（ステップＳ４４）、ステップＳ４１において再び２次元撮像画像データが生成し直される。また、上述した把持動作の結果、把持が成功した場合（ステップＳ４３でＹｅｓ）には、次に、把持した時点のロボットハンドＲの３次元座標データと角度データとを取得する（ステップＳ４５及びＳ４６）。なおステップＳ４５とステップＳ４６の実行タイミングについては、何れが先でも、あるいは同時であっても良い。また、３次元座標データ及び角度データを取得するロボットハンドＲの具体的な部位は、エンドエフェクタ５４の任意の位置（例えば図５に示すエンドエフェクタ５４の重心位置Ｐ）とすると良い。さらに、上記第１の実施の形態と同様、ステップＳ４４及びその後のステップＳ４１については、省略することが可能である。
【００９３】
ワークＷを把持した時点のロボットハンドＲの３次元座標データ及び角度データを取得すると、データセット生成部２５が、ステップＳ４５で取得した３次元座標データ及びステップＳ４６で取得した角度データと、ステップＳ４１において２次元撮像画像データ取得部２３で取得され格納された直近の２次元撮像画像データとを、１つのデータセットとして特定する（ステップＳ４７）。これにより、ワークＷの把持動作が成功した際のロボットハンドＲの３次元座標データ及び角度データと、この把持動作が成功した際の把持動作開始前のワークＷの状態を示す２次元撮像画像データとが１対１対１の関係で関連付けられ、データセットが生成される。そして、特定されたデータセットは、送信部２６により機械学習装置３Ａへ送信される（ステップＳ４８）。
【００９４】
次に、シミュレータ２Ａにより生成されたデータセットを用いて機械学習を行う機械学習装置３Ａについて、以下説明を行う。機械学習装置３Ａが備える構成については、図７を見ればわかるとおり、上述した第１の実施の形態に係る機械学習装置３と同様であり、機械学習の内容及びそれに関連するデータの内容のみが第１の実施の形態とは異なっている。
【００９５】
図９は、本発明の第２の実施の形態に係る機械学習方法を示すフローチャートである。ここに示す機械学習方法はコンピュータを用いることで実現されるものであり、また、上述した第２の実施の形態に係る機械学習装置３Ａによって実施されるものでもある。
【００９６】
第２の実施の形態に係る機械学習方法は、図９に示すように、先ず、任意の初期値の重みを備えた学習前モデルを準備する（ステップＳ５１）。次いで、データセット記憶部３２に記憶された複数組のデータセットのうちの１つを取得し（ステップＳ５２）、取得したデータセットのうちの２次元撮像画像データを学習前モデルの入力層に対応付けて出力層を生成する（ステップＳ５３）。
【００９７】
次に、ステップＳ５２において取得された１つのデータセットのうちの３次元座標データ及び角度データとステップＳ５３において生成された出力層を構成する３次元座標データ及び角度データとを用いて、機械学習を実施する（ステップＳ５４）。ステップＳ５４において機械学習が実施されると、さらに機械学習を継続する必要があるか否かを特定する（ステップＳ５５）。特定の結果、機械学習を継続する場合（ステップＳ５５でＮｏ）には、上述したステップＳ５２〜Ｓ５４の工程を複数回実施する。また、機械学習を終了する場合（ステップＳ５５でＹｅｓ）には、学習モデルの各ノードに対応付けられた重みが一連の工程によって調整され生成されたニューラルネットワークモデルを学習済モデルとして学習済モデル記憶部３４に記憶し（ステップＳ５６）、一連の学習プロセスを終了する。
【００９８】
以上説明した通り、本発明の第２の実施の形態に係る機械学習システム、機械学習装置及び機械学習方法においては、上記第１の実施の形態に係る機械学習システム、機械学習装置及び機械学習方法が奏する効果に加えて、以下の効果をさらに奏する。すなわち、これらの機械学習システム、機械学習装置及び機械学習方法は、３次元座標データに加えて角度データをも出力することが可能な学習済モデルを生成することができるため。ロボットハンドの形状を問わずに精度の高い把持動作を実現することができ、広範な種類の作業領域に適応可能な機械学習システム、機械学習装置及び機械学習方法を提供することができる。
【００９９】
最後に、上述した第２の実施の形態に係る機械学習システム、機械学習装置あるいは機械学習方法により生成された学習済モデルを用いるデータ処理システムによって実現されるバラ積みピッキングについて、簡単に説明を行う。本実施の形態に係るデータ処理システムによるバラ積みピッキングの一連のデータ処理の流れについては、図６に示す工程と同様であるが、図６のステップＳ３３において推論部１４０により出力されるデータが３次元座標データのみならず角度データをも出力する点が、第１の実施の形態に係るデータ処理システムとは異なる。そして、これに付随して、図６のステップＳ３４に示すロボットハンドＲの制御プロセスに際しても、３次元座標データに加えて角度データも参照され、当該３次元座標データが示す位置に、当該角度データが示す角度（姿勢）で位置するよう、ロボットハンドＲの６つの軸を駆動させてワークＷの把持を試みる。
【０１００】
以上説明した通り、本発明の第２の実施の形態に係るデータ処理システムを適用したバラ積みピッキングにおいては、複雑な構成を有しない２次元撮像装置ＩＤが撮像した画像データのみからワークＷを把持可能なロボットハンドＲの３次元座標データ及び角度データを推論することができるため、上述した第１の実施の形態に係るデータ処理システムと同様に、人手を要することのないバラ積みピッキングを簡単な構成を用いて実現することができる。さらに、これに加えて、ロボットハンドＲの角度データをも参照することにより、ロボットハンドＲの形状、特にエンドエフェクタ５４の形状に関わらず常に高精度にワークＷの把持が実現できる。
【０１０１】
＜第３の実施の形態＞
上記第１及び第２の実施の形態においては、シミュレータ２、２Ａで生成されるデータセットとして、３次元座標データと２次元撮像画像データを１対１の関係で関連付けたもの、あるいは３次元座標データと角度データと２次元撮像画像データを１対１対１の関係で関連付けたものについて説示を行った。しかし、バラ積みピッキングは、ワークがトレー内に複数配されているのが前提であるため、トレー内のワークのうちのいくつかが把持可能な状態である場合や、単一のワークに対しても複数把持可能なポイントが存在する場合が生じ得る。したがって、一の２次元撮像画像データに関連付けられる３次元座標データは１つではなく複数存在する場合が多い。そこで、以下には、本発明の第３の実施の態様として、データセットが一の２次元撮像画像データと複数の３次元座標データ（あるいは複数の３次元座標データ及び角度データのセット）とにより生成される機械学習システム、機械学習装置、機械学習方法及びデータ処理システムについて、説明を行う。
【０１０２】
図１０は、本発明の第３の実施の形態に係る機械学習システムを示す概略図である。なお、以下に示す第３の実施の形態に係る機械学習システム、機械学習装置、機械学習方法及びデータ処理システムについては、上述した第１の実施の形態と異なる点を中心に説明し、第１の実施の形態と共通する構成等については同一の符号を付してその説明を省略するものとする。
【０１０３】
本願の第３の実施の形態に係る機械学習システム１Ｂは、図１０に示すように、シミュレータ２Ｂと、機械学習装置３Ｂとを含む。そして、シミュレータ２Ｂは、第１の実施の形態に係るシミュレータ２が備える一連の構成に加えて、更に２次元撮像画像データ分割部２８を備えている。
【０１０４】
２次元撮像画像データ分割部２８は、情報処理部２１の一部を構成しており、２次元撮像画像データ取得部２３が取得した２次元撮像画像データを、複数の領域に分割するものである。図１１は、本発明の第３の実施の形態に係るシミュレータで生成された２次元撮像画像データの一例を示す概略図である。なお、図１１では、説明を容易にするため、２次元撮像画像データ内にワークＷが２つのみ配されているものを示している。
【０１０５】
図１１に示す２次元撮像画像データに対し、２次元撮像画像データ分割部２８は、ワークＷが配されるトレーＴＲ内の領域を所定の分割領域に区画する。図１１においては、４行×４列で格子状に分割し、均等な大きさの計１６個の分割領域ＤＡ１〜ＤＡ１６を区画形成した場合を例示している。なお、この分割領域の大きさや数については適宜調整可能である。
【０１０６】
次に、図１２を参照し、上述したシミュレータ２Ｂによる一連のシミュレート演算の工程について以下に説明する。図１２は、本発明の第３の実施の形態に係るシミュレータ２Ｂのシミュレート演算工程を示すフローチャートである。図１２に示す通り、本発明の第３の実施の形態に係るシミュレータ２Ｂは、以下の工程を実行する。
【０１０７】
シミュレータ２Ｂが起動しシミュレート演算の動作が開始すると、先ず、条件記憶部２２に記憶された条件に基づいて、情報処理部２１にてロボットハンドＲの３次元グラフィックモデル等を含む仮想の作業領域ＶＷＡを生成する。そして、仮想の作業領域ＶＷＡ内に予め定められた位置及び画角で設置された２次元撮像装置ＩＤから撮像した２次元撮像画像データを生成する（ステップＳ６１）。ここで生成された２次元撮像画像データは撮像データ取得部２３で取得され（一時的に）格納される。２次元撮像画像データが生成されると、この生成された２次元撮像画像データを、２次元撮像画像データ分割部２８により、図１１に示すように、所定の領域に分割して複数の分割領域ＤＡ１〜ＤＡ１６を形成する（ステップＳ６２）。
【０１０８】
次に、この撮像されたトレーＴＲ内のワークＷに対してロボットハンドＲの３次元モデルを動作させて、ワークＷの把持動作に係るシミュレート演算を実行するのであるが、本実施の形態において、このシミュレート演算の実行は、形成された分割領域ＤＡ１〜ＤＡ１６のうちの一の分割領域についてのみ実行する（ステップＳ６３）。具体的に言えば、前記一の分割領域として、分割領域ＤＡ１が選定された場合は、分割領域ＤＡ１内の領域に対してのみロボットハンドＲの３次元モデルによるワークＷの把持動作が実行され、当該分割領域ＤＡ１以外の領域に対してはワークＷの把持動作を行わない。
【０１０９】
上述した把持動作は、種々の方法を用いて複数回行われる。その上で、把持が成功した場合（ステップＳ６４でＹｅｓ）には、把持した時点のロボットハンドＲの３次元座標データを取得する（ステップＳ６５）。また、把持が失敗した場合（ステップＳ６４でＮｏ）には、ここでシミュレート演算の対象とした分割領域には把持できる箇所がないと判断し、３次元座標データは取得しない。上記の例に示した一の分割領域として分割領域ＤＡ１が選定された場合は、図１１を見ると分かるとおり、分割領域ＤＡ１にはそもそもワークＷが存在していないから、ステップＳ６４においては把持が失敗したと判断され（ステップＳ６４でＮｏ）、分割領域ＤＡ１内にはワークを把持できる３次元座標が存在しないと特定されることとなる。なお、シミュレート演算において実行される把持動作は複数回実行されるが、ワークＷの配置は常に同一である。したがって、把持動作の度にシミュレータ２Ｂ内でワークＷを元の配置に戻す制御が実行される必要があるが、２次元撮像画像データを生成し直す必要はない。
【０１１０】
上述した把持動作が完了すると、シミュレート動作が終了できるかどうかが特定される（ステップＳ６６）。詳しくは、ステップＳ６２において分割された複数の分割領域ＤＡ１〜１６の全てがシミュレート演算の対象として選定されたか否かを特定する。その結果、シミュレート演算の対象となっていない分割領域が存在する場合（ステップＳ６６でＮｏ）には、ステップＳ６７に移行し、シミュレート演算の対象となっていない分割領域が存在しない場合（ステップＳ６６でＹｅｓ）には、ステップＳ６８に移行する。ステップＳ６７では、シミュレート演算の対象となっていない分割領域のうちの１つが選定され且つ当該選定された分割領域が次のシミュレート演算の対象と特定された後、ステップＳ６３に戻る。
【０１１１】
複数の分割領域に対するシミュレート演算が全て完了すると、ステップＳ６８において、データセット生成部２５により、ステップＳ６５で取得した３次元座標データと、ステップＳ６１において２次元撮像画像データ取得部２３で取得され格納された２次元撮像画像データとが、１つのデータセットとして特定される。ここで、図１１に示す２次元撮像画像データのものを例にとると、複数の分割領域ＤＡ１〜ＤＡ１６のうち、その領域内にワークＷが存在しているのは分割領域ＤＡ６、ＤＡ７、ＤＡ１０、ＤＡ１１の４つのみであり、他の分割領域を対象としたシミュレート演算では把持が成功しないことは明らかである。そして、この４つの分割領域ＤＡ６、ＤＡ７、ＤＡ１０、ＤＡ１１に対して把持動作のシミュレート演算を実行した結果、把持が成功した領域が領域ＤＡ７、ＤＡ１０、ＤＡ１１の３つであったと仮定する。この場合、ステップＳ６３〜Ｓ６７の各工程を経て得られた３次元座標データは、この３つの領域ＤＡ７、ＤＡ１０、ＤＡ１１においてそれぞれ取得された３つの３次元座標データとなる。よって、この３つの３次元座標データとステップＳ６１において取得され格納された２次元撮像画像データとが、データセット生成部２５において関連付けられ、１つのデータセットとして特定される。そして、特定されたデータセットは、送信部２６により機械学習装置３Ｂへ送信される（ステップＳ６９）。
【０１１２】
上述した一連のシミュレート演算は、ワークＷの配置を変更する毎に複数回、具体的には機械学習装置３Ｂにおいて必要とされるデータセットの量に至るまで実行される。上述した方法によるシミュレート演算によれば、データセットとして一の２次元撮像画像データと関連付けられる３次元座標データは、最大で（分割領域の数と同数の）１６個である。そして、機械学習装置３Ｂに送信され格納されたデータセットが含む３次元座標データの数は、１〜１６個の範囲内で種々存在し得ることとなる。
【０１１３】
次に、シミュレータ２Ｂにより生成されたデータセットを用いて機械学習を行う機械学習装置３Ｂ及びこの機械学習装置３Ｂにより実施される機械学習方法について、以下説明を行う。先ず、機械学習装置３Ｂが備える構成については、図１０を見ればわかるとおり、上述した第１の実施の形態に係る機械学習装置３と同様である。
【０１１４】
機械学習装置３Ｂにより実施される機械学習方法についても、基本的な工程は図４に示す工程と同様である。しかし、本実施の形態に係る機械学習方法においては、学習部３３内の学習モデルが出力する３次元座標データの数も、データセット記憶部３２内に記憶されたデータセット同様、１つに限られない。ただし、単に出力する３次元座標データの数を制限しなければ、特に学習初期の学習モデルにあっては多量の３次元座標データを出力する可能性があるため、学習モデルが出力できる３次元座標データの最大値を事前に定めておくことが好ましい。この最大値としては、シミュレータ２Ｂの２次元撮像画像データ分割部２８にて規定される２次元撮像画像データの分割数と同数とすることが好ましいが、例えば２次元撮像画像データを分析することによって更にその数値を限定する等、種々の方法により特定でき、本発明はその特定方法については限定されない。
【０１１５】
また、学習モデルが出力する３次元座標データが複数存在する場合、データ毎の正確性（把持が成功する確率）は一様でないのが通常である。また、機械学習装置３Ｂによって生成された学習済モデルをデータ処理システムに適用した場合、実際にロボットハンドＲを制御する際には、出力された複数の３次元座標データの中から最適な一の３次元座標データを選定する必要がある。そこで、本実施の形態に係る学習モデルにあっては、３次元座標データを出力する際、この３次元座標データの確からしさ、すなわちデータの信用度（ｃｏｍｆｉｄｅｎｃｅ）を合わせて出力するように設定される。この信用度は、例えば割合（％）や０〜１の間で示される数値データである。そして、この信用度は、例えば、入力層に対応付けられた２次元画像撮像データを含むデータセット内の、教師データとしての３次元座標データの座標やデータ数に加えて、２次元撮像画像データ分割部２８における分割数、及び３次元座標データが取得されなかった分割領域の情報等を総合的に考慮して学習を行った学習済みモデルを用いて推論を行うことで推定することができ、当該推定結果に基づいて特定される。なお、信用度の詳細な数値の特定方法については把持が成功する確率が推定できる方法であれば任意であるため、ここでは詳細な説明は省略する。
【０１１６】
次に、本発明の第３の実施の形態に係るデータ処理システムについて説明を行う。このデータ処理システムは、上述した機械学習システム１Ｂ、機械学習装置３Ｂあるいは機械学習方法により生成された学習済モデルを用いて、現実の作業領域におけるバラ積みピッキングを人手を要することなく実現するためのシステムを構成している。当該データ処理システムは、具体的には、図１３に記載されているようなロボットハンドＲ等を制御するためのロボットコントローラ１００Ｂに適用される。
【０１１７】
図１３は、本発明の第３の実施の形態に係るデータ処理システムが適用される現実の作業領域を示した概略図である。図１３に示す通り、本実施の形態に係る現実の作業領域ＲＷＡにおける各種構成の構造及び配置については、図５に示すものと同様である。また、ロボットコントローラ１００Ｂは、第１の実施の形態に係るロボットコントローラ１００が備える一連の構成に加えて、更に特定部１５０を備えている。
【０１１８】
特定部１５０は、推論部１４０で出力された３次元座標データが複数個存在している場合に、出力された複数個の３次元座標データの中から最適な一の３次元座標データを特定するものである。この特定に際しては、出力された３次元座標データ毎に関連付けられた信用度の数値を参酌し、例えば、この信用度の数値が最も大きい３次元座標データを最適な一の３次元座標データと特定する。
【０１１９】
以上の構成を備えるロボットコントローラ１００Ｂを制御してワークＷのピッキングを行う場合の一連の工程について、図１３及び図１４を参照して以下に説明する。図１４は、本発明の第３の実施の形態に係る現実の作業領域におけるバラ積みピッキング工程を示すフローチャートである。
【０１２０】
図１３に示す現実の作業領域ＲＷＡにおいて、バラ積みピッキング動作が開始されると、初めに、２次元撮像装置制御部１１０により撮像装置ＩＤが動作されてトレーＴＲ内を撮像した２次元撮像画像データが取得される（ステップＳ７１）。次いで、推論部１４０が、図示しない入力手段からのオペレータによる入力情報や、主記憶部１３０に格納された２次元撮像装置ＩＤ及びロボットハンドＲに関する機能情報等に基づいて、学習済モデル格納部１３１に格納された１乃至複数の学習済モデルから１つの学習済モデルを特定する（ステップＳ７２）。
【０１２１】
学習済モデルが特定されると、推論部１４０はこの特定された学習済モデルを参照し、当該学習済モデルの入力層に、ステップＳ７１において２次元撮像装置制御部１１０が取得した２次元撮像画像データを対応付け、学習済モデルを用いた推論（データ処理）を実行し、出力層としてワークＷを把持可能なロボットハンドＲの３次元座標データを出力する（ステップＳ７３）。このとき、第３の実施の形態に係る機械学習システム１Ｂ、機械学習装置３Ｂ及び機械学習方法によって生成された学習済モデルにおいては、ほとんどの場合、３次元座標データは複数個出力される。そこで、推論部１４０が複数の３次元座標データを出力した後、特定部１５０により、複数の３次元座標データそれぞれに関連付けられた信用度の数値を参酌し、例えば最も高い信用度に関連付けられた３次元座標データを、実際にロボットハンドＲの制御に使用する一の３次元座標データとして特定する（ステップＳ７４）。そして、この特定された一の３次元座標データがロボットハンド制御部１２０に送られ、ロボットハンド制御部１２０はこの３次元座標データが示す位置にロボットハンドＲの所定部位（例えばエンドエフェクタ５４の重心位置Ｐ）を位置させるべく、ロボットハンドＲの６つの軸を駆動させてワークＷの把持を試みる（ステップＳ７５）。なお、ステップＳ７３において出力された３次元座標データが１つのみであった場合には、特定部１５０で特定する必要はないから、出力された３次元座標データをロボットハンド制御部１２０にそのまま送ればよい。
【０１２２】
以上説明した通り、本発明の第３の実施の形態に係るデータ処理システムを適用したバラ積みピッキングにおいては、単純な構造のカメラ等からなる２次元撮像装置ＩＤが撮像した画像データのみからワークＷを把持可能なロボットハンドＲの３次元座標データを推論することができ、人手を要することのないバラ積みピッキングを簡略な構成で実現することができる。また、２次元撮像画像データから複数の３次元座標データを推論した上で、最適な一の３次元座標データを特定し、ロボットハンドＲの制御に採用するため、信頼度の高い、言い換えればより把持が成功する可能性の高い３次元座標データを用いることができ、より精度の高い把持動作を実現できるようになる。
【０１２３】
なお、上記第３の実施の形態に係るデータ処理システムにおいて、上記第２の実施の形態に示したような、学習済モデルの出力層が、３次元座標データに加えてロボットハンドＲの角度データをも出力できるようにすることが可能である。なお、その場合、角度データは３次元座標データと１対１の関係で特定されるものであるから、シミュレータ３Ｂで生成されるデータセットにおいては３次元座標データと角度データとは常に同数であり、また、特定部１５０においては、３次元座標データを特定することで対応する角度データをも特定されることは、当業者であれば容易に理解できるであろう。
【０１２４】
本発明は上述した実施の形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本発明の技術思想に含まれるものである。
【符号の説明】
【０１２５】
１、１Ａ、１Ｂ  機械学習システム
２、２Ａ、２Ｂ  シミュレータ
３、３Ａ、３Ｂ  機械学習装置
２１  情報処理部
２３  ２次元撮像画像データ取得部
２４  ３次元座標データ取得部
２５  データセット生成部
２７  角度データ取得部
２８  ２次元撮像画像データ分割部
３１  データセット取得部
３２  データセット記憶部
３３  学習部
３４  学習済モデル記憶部
１００、１００Ｂ  ロボットコントローラ（データ処理システム）
１１０  ２次元撮像装置制御部（取得部）
１２０  ロボットハンド制御部
１３０  主記憶部
１３１  学習済モデル格納部
１４０  推論部
１５０  特定部
Ｒ  ロボットハンド
Ｗ  ワーク
ＩＤ  ２次元撮像装置
ＴＲ  トレー
ＲＷＡ  現実の作業領域（現実世界における所定領域）
ＶＷＡ  仮想の作業領域（シミュレータの所定領域）
【図１】
2020082322.tif 000003
【図２】
2020082322.tif 000004
【図３】
2020082322.tif 000005
【図４】
2020082322.tif 000006
【図５】
2020082322.tif 000007
【図６】
2020082322.tif 000008
【図７】
2020082322.tif 000009
【図８】
2020082322.tif 000010
【図９】
2020082322.tif 000011
【図１０】
2020082322.tif 000012
【図１１】
2020082322.tif 000013
【図１２】
2020082322.tif 000014
【図１３】
2020082322.tif 000015
【図１４】
2020082322.tif 000016
【手続補正書】
【提出日】令和1年12月23日(2019.12.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された前記１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータから取得して複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項２】
シミュレータと、機械学習装置とを備える機械学習システムであって：
前記シミュレータが、所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、
前記機械学習装置が、前記シミュレータから前記学習用データセットを複数組取得して記憶するデータセット記憶部と；前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習する学習部と；前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習システム。
【請求項３】
所定領域内に配置された複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、複数のワークを含む２次元撮像画像から、前記ロボットハンドの前記２次元撮像画像中の複数のワークのうちのいずれかを把持するための１又は複数の３次元座標を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項４】
所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像を取得する取得部と；
請求項１乃至請求項３のいずれか１項に記載の機械学習装置によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像を入力することで、ロボットハンドの３次元座標を推論する推論部と；を備える、
データ処理システム。
【請求項５】
前記推論部において、３次元座標が複数推論された場合に、前記複数の３次元座標のうちの所定の一の３次元座標を特定する特定部を更に備える、
請求項４に記載のデータ処理システム。
【請求項６】
コンピュータを用いた機械学習方法であって：
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを前記シミュレータから取得して複数組記憶するステップと；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。
【請求項７】
コンピュータを用いた機械学習方法であって：
所定領域内に配置された複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを複数組記憶するステップと；
前記学習用データセットを複数組入力することで、複数のワークを含む２次元撮像画像から、前記ロボットハンドの前記２次元撮像画像中の複数のワークのうちのいずれかを把持するための１又は複数の３次元座標を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。
【請求項８】
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータから取得して複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標及び角度を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項９】
シミュレータと、機械学習装置とを備える機械学習システムであって：
前記シミュレータが、所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データとを備える学習用データセットを生成する機能を有し、
前記機械学習装置が、前記シミュレータから前記学習用データセットを複数組取得して記憶するデータセット記憶部と；前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標及び角度を推論する学習モデルを学習する学習部と；前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習システム。
【請求項１０】
所定領域内に配置された複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データ及び角度データと、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するデータセット記憶部と；
前記学習用データセットを複数組入力することで、複数のワークを含む２次元撮像画像から、前記ロボットハンドの前記２次元撮像画像中の複数のワークのうちのいずれかを把持するための１又は複数の３次元座標及び角度を推論する学習モデルを学習する学習部と；
前記学習部によって学習された前記学習モデルを記憶する学習済モデル記憶部と；を備える、
機械学習装置。
【請求項１１】
所定領域内に配置された１又は複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データを取得する取得部と；
請求項８乃至請求項１０のいずれか１項に記載の機械学習装置によって生成された学習済モデルに、前記取得部が取得した前記２次元撮像画像データを入力することで、ロボットハンドの３次元座標及び角度を推論する推論部と；を備える、
データ処理システム。
【請求項１２】
前記推論部において、３次元座標及び角度が複数推論された場合に、前記複数の３次元座標及び角度のうちの所定の一の３次元座標及び角度を特定する特定部を更に備える、
請求項１１に記載のデータ処理システム。
【請求項１３】
コンピュータを用いた機械学習方法であって：
シミュレータの所定領域内に配置された１又は複数のワークのうちいずれかを把持する前記シミュレータ上のロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの１又は複数の３次元座標データ及び角度と、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された１又は複数のワークを前記シミュレータ上の２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを前記シミュレータから取得して複数組記憶するステップと；
前記学習用データセットを複数組入力することで、現実世界における所定領域内に配置された１又は複数のワークを２次元撮像装置によって前記所定画角と同じ画角から撮像した２次元撮像画像から、現実世界におけるロボットハンドの３次元座標及び角度を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。
【請求項１４】
コンピュータを用いた機械学習方法であって：
所定領域内に配置された複数のワークのうちいずれかを把持するロボットハンドが把持動作を経て把持を成功させるときの前記ロボットハンドの３次元座標データ及び角度と、前記ロボットハンドが把持を成功させるときの前記把持動作の前に前記所定領域内に配置された複数のワークを２次元撮像装置によって所定画角から撮像した２次元撮像画像データと、を備える学習用データセットを複数組記憶するステップと；
前記学習用データセットを複数組入力することで、複数のワークを含む２次元撮像画像から、前記ロボットハンドの前記２次元撮像画像中の複数のワークのうちのいずれかを把持するための１又は複数の３次元座標及び角度を推論する学習モデルを学習するステップと；
学習された前記学習モデルを記憶するステップと；を備える、
機械学習方法。