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

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

2026-28544情報処理装置、情報処理方法、及び情報処理プログラム
<>
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図1
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図2
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図3
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図4
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図5
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図6
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図7
  • -情報処理装置、情報処理方法、及び情報処理プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2026028544
(43)【公開日】2026-02-20
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20260213BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024131042
(22)【出願日】2024-08-07
(71)【出願人】
【識別番号】515086908
【氏名又は名称】株式会社トヨタプロダクションエンジニアリング
(71)【出願人】
【識別番号】302066869
【氏名又は名称】株式会社ネクストシステム
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】金武 完明
(72)【発明者】
【氏名】藤田 義生
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707AS11
3C707AS13
3C707BS10
3C707JS03
3C707LS09
3C707LS11
3C707LS15
3C707LS20
3C707LV05
3C707LW12
(57)【要約】
【課題】 強化学習を用いてシミュレーション時のロボットモデルに効率のより良い行動をさせることができる。
【解決手段】 情報処理装置は、シミュレーションにおけるロボットモデルの先端部の目標位置及び目標位置における先端部の目標角度を目標情報として取得する目標情報取得部と、現在の先端部の位置及び先端部の角度を現在情報として取得する現在情報取得部と、ロボットモデルが行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部の位置から目標位置までの距離と、現在の先端部の角度と目標位置における先端部の目標角度との角度差と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する中間報酬算出部と、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する強化学習部と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置であって、
前記シミュレーションにおける前記ロボットモデルの先端部の目標位置及び前記目標位置における前記先端部の目標角度を目標情報として取得する目標情報取得部と、
現在の前記先端部の位置及び前記先端部の角度を現在情報として取得する現在情報取得部と、
前記ロボットモデルが行動する度に前記エージェントに付与される報酬を即時報酬値として、現在の前記先端部の位置から前記目標位置までの距離と、現在の前記先端部の角度と前記目標位置における前記先端部の目標角度との角度差と、に基づいて算出し、前記シミュレーションの開始から現在までの前記即時報酬値の積算値を中間報酬値として算出する中間報酬算出部と、
前記シミュレーションの終了時の前記中間報酬値が最大となるように前記学習モデルを学習する強化学習部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記即時報酬値は、前記距離と前記角度差とに加えて、更に前記ロボットモデルのタスク達成時間の短縮に基づいて算出されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ロボットモデルの行動の最終結果に基づいて前記エージェントに付与される報酬を最終報酬値として決定する最終報酬決定部と、
を更に備え、
前記強化学習部は、前記シミュレーションの終了時における、前記中間報酬値と前記最終報酬値との合計値が最大となるように前記学習モデルを学習することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記最終報酬決定部は、前記最終結果において、所定制限時間内に前記先端部が前記目標位置に到達するとともに、前記目標位置における前記先端部の角度が目標角度に到達した場合に、前記最終報酬値を最大値に決定することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記最終報酬決定部は、前記シミュレーションの途中で前記先端部が被加工物モデルに接触した場合に、前記最終報酬値を最小値に決定することを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記最終報酬決定部は、所定制限時間内に前記先端部が前記目標位置における前記目標角度に到達しなかった場合に、前記最終報酬値を最小値に決定することを特徴とする請求項3に記載の情報処理装置。
【請求項7】
前記距離及び前記角度差は正規化されて用いられることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記ロボットモデルはアームを複数備える多関節ロボットである請求項1に記載の情報処理装置。
【請求項9】
シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置に用いられる制御方法であって、
前記情報処理装置の演算部は、
前記シミュレーションにおける前記ロボットモデルの先端部の目標位置及び前記目標位置における前記先端部の目標角度を目標情報として取得する目標情報取得ステップと、
現在の前記先端部の位置及び前記先端部の角度を現在情報として取得する現在情報取得ステップと、
前記ロボットモデルが行動する度に前記エージェントに付与される報酬を即時報酬値として、現在の前記先端部の位置から前記目標位置までの距離と、現在の前記先端部の角度と前記目標位置における前記先端部の目標角度との角度差と、に基づいて算出し、前記シミュレーションの開始から現在までの前記即時報酬値の積算値を中間報酬値として算出する中間報酬算出ステップと、
前記シミュレーションの終了時の前記中間報酬値が最大となるように前記学習モデルを学習する強化学習ステップと、
を実施することを特徴とする情報処理方法。
【請求項10】
シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置に用いられる制御プログラムであって、
前記情報処理装置の演算部に、
前記シミュレーションにおける前記ロボットモデルの先端部の目標位置及び前記目標位置における前記先端部の目標角度を目標情報として取得する目標情報取得機能と、
現在の前記先端部の位置及び前記先端部の角度を現在情報として取得する現在情報取得機能と、
前記ロボットモデルが行動する度に前記エージェントに付与される報酬を即時報酬値として、現在の前記先端部の位置から前記目標位置までの距離と、現在の前記先端部の角度と前記目標位置における前記先端部の目標角度との角度差と、に基づいて算出し、前記シミュレーションの開始から現在までの前記即時報酬値の積算値を中間報酬値として算出する中間報酬算出機能と、
前記シミュレーションの終了時の前記中間報酬値が最大となるように前記学習モデルを学習する強化学習機能と、
を発揮させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関し、特に強化学習に用いられる情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、オフラインティーチングによるロボットの制御プログラムの作成には、多大な作業数が必要となり長時間を要する。そのため、オフラインティーチングの効率化及び自動化への取り組みにより作業数の削減が行われてきた。
【0003】
近年では、コンピュータ技術の向上によりロボットの動作の3次元のシミュレーションが広く行われている。さらには、機械学習技術の進歩に伴い、ロボットが実際に使われる空間を模した3次元仮想空間における当該ロボットのロボットモデルの動作のシミュレーションを利用して、ロボットの効率の良い制御について人口知能に強化学習することで、オフラインティーチングの手間や時間を省略することが提案された。ここで言うロボット制御の分野における強化学習とは、ロボット制御の学習の主体であるエージェントに対して報酬を付与することで、エージェントにロボットモデルの効率の良い制御を学習させるものである。
【0004】
特許文献1に開示の学習装置は、ロボットアームの行動を学習する学習部を備える。特許文献1に開示の学習装置の学習部は、ロボットアームの動いた軌跡に応じて報酬を計算する報酬計算部を備え、当該報酬計算部はロボットアームの先端部と目標到達位置との距離が短くなるにつれて報酬を高くして計算を行うとしている。
特許文献1に開示の学習装置は、ロボットアームの先端部と目標到達位置との距離が短くなるにつれて報酬を高くするので、目標到達位置へ到達するまでのロボットアームにおける効率のよい行動を学習することができるとしている。
【0005】
しかし、特許文献1に開示の学習装置は、ロボットアームの行動の効率の良さの点では不十分であり、効率のよりよい行動を学習することへの要求が依然としてある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2020-82314号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
そこで、本発明は、強化学習を用いてシミュレーション時のロボットモデルに効率のより良い行動をさせることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
すなわち、第1の態様に係る情報処理装置は、シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置であって、シミュレーションにおけるロボットモデルの先端部の目標位置及び目標位置における先端部の目標角度を目標情報として取得する目標情報取得部と、現在の先端部の位置及び先端部の角度を現在情報として取得する現在情報取得部と、ロボットモデルが行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部の位置から目標位置までの距離と、現在の先端部の角度と目標位置における先端部の目標角度との角度差と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する中間報酬算出部と、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する強化学習部と、を備えることを特徴とする。
【0009】
第2の態様は、第1の態様に係る情報処理装置において、即時報酬値は、距離と角度差とに加えて、更にロボットモデルのタスク達成時間の短縮に基づいて算出されることとしてもよい。
【0010】
第3の態様は、第1の態様に係る情報処理装置において、ロボットモデルの行動の最終結果に基づいてエージェントに付与される報酬を最終報酬値として決定する最終報酬決定部と、を更に備え、強化学習部は、シミュレーションの終了時における、中間報酬値と最終報酬値との合計値が最大となるように学習モデルを学習することとしてもよい。
【0011】
第4の態様は、第3の態様に係る情報処理装置において、最終報酬決定部は、最終結果において、所定制限時間内に先端部が目標位置に到達するとともに、目標位置における先端部の角度が目標角度に到達した場合に、最終報酬値を最大値に決定することとしてもよい。
【0012】
第5の態様は、第3の態様に係る情報処理装置において、最終報酬決定部は、シミュレーションの途中で先端部が被加工物モデルに接触した場合に、最終報酬値を最小値に決定することとしてもよい。
【0013】
第6の態様は、第3の態様に係る情報処理装置において、最終報酬決定部は、所定制限時間内に先端部が目標位置における目標角度に到達しなかった場合に、最終報酬値を最小値に決定することとしてもよい。
【0014】
第7の態様は、第1の態様に係る情報処理装置において、距離及び角度差は正規化されて用いられることとしてもよい。
【0015】
第8の態様は、第1の態様に係る情報処理装置において、ロボットモデルはアームを複数備える多関節ロボットであることとしてもよい。
【0016】
第9の態様に係る情報処理方法は、シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置に用いられる制御方法であって、情報処理装置の演算部は、シミュレーションにおけるロボットモデルの先端部の目標位置及び目標位置における先端部の目標角度を目標情報として取得する目標情報取得ステップと、現在の先端部の位置及び先端部の角度を現在情報として取得する現在情報取得ステップと、ロボットモデルが行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部の位置から目標位置までの距離と、現在の先端部の角度と目標位置における先端部の目標角度との角度差と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する中間報酬算出ステップと、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する強化学習ステップと、を実施することを特徴とする。
【0017】
第10の態様に係る情報処理プログラムは、シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置に用いられる制御プログラムであって、情報処理装置の演算部に、シミュレーションにおけるロボットモデルの先端部の目標位置及び目標位置における先端部の目標角度を目標情報として取得する目標情報取得機能と、現在の先端部の位置及び先端部の角度を現在情報として取得する現在情報取得機能と、ロボットモデルが行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部の位置から目標位置までの距離と、現在の先端部の角度と目標位置における先端部の目標角度との角度差と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する中間報酬算出機能と、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する強化学習機能と、を発揮させることを特徴とする。
【発明の効果】
【0018】
本発明に係る情報処理装置等は、シミュレーションにおけるロボットモデルを担うエージェントが使用する学習モデルを学習する情報処理装置であって、シミュレーションにおけるロボットモデルの先端部の目標位置及び目標位置における先端部の目標角度を目標情報として取得する目標情報取得部と、現在の先端部の位置及び先端部の角度を現在情報として取得する現在情報取得部と、ロボットモデルが行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部の位置から目標位置までの距離と、現在の先端部の角度と目標位置における先端部の目標角度との角度差と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する中間報酬算出部と、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する強化学習部と、を備えることを特徴とするので、強化学習を用いてシミュレーション時のロボットモデルに効率のより良い行動をさせることができる。
【図面の簡単な説明】
【0019】
図1図1は、本実施形態に係るシミュレーションシステムの概略構成図及び情報処理装置のブロック図である。
図2図2は、本実施形態に係るロボットモデルの構成の一例を説明するための図である。
図3図3は、本実施形態に係るロボットモデルの各構成部の連結関係の一例を説明するための図である。
図4図4は、本実施形態に係るロボットモデルの先端部の構成を説明するための図である。
図5図5は、本実施形態に係るロボットモデルの先端部と目標位置及び目標角度との関係を説明するための図である。
図6図6は、本実施形態に係るロボットモデルの先端部と被加工物モデルとの関係を説明するための図である。
図7図7は、本実施形態に係る情報処理プログラムのフローチャートである。
図8図8は、他の実施形態に係る情報処理プログラムのフローチャートである。
【発明を実施するための形態】
【0020】
以下、一実施形態に係る情報処理装置100について、図面を参照しながら詳細に説明する。
情報処理装置100は、シミュレーションにおけるロボットモデル10を担うエージェントが使用する学習モデルを学習し、作業空間300に含まれるロボット20、被加工物22、物体24を、それぞれロボットモデル10、被加工物モデル12、物体モデル14として仮想空間400上に3次元モデルとして再現し、ロボット20の動作のシミュレーションを行う。
なお、図は例示であって、情報処理装置100は、図示したものに限定されない。また、図は概略であって、図におけるロボットモデル10及びロボット20の各構成部の大きさの比率、被加工物モデル12及び被加工物22、並びに、仮想空間400及び作業空間300に存在する物体モデル14及び物体24等の数、位置関係は厳密ではない。
【0021】
<実施の形態>
<システム構成>
図1は、本実施形態に係る情報処理装置100を含むシミュレーションシステム500の概略構成図である。シミュレーションシステム500は、情報処理装置100、アームを複数備える多関節ロボット20、ロボット制御装置200を備える。ロボット20は、ロボット制御装置200の制御を受けて自装置を構成する各アームを駆動し、被加工物22の塗装を行う塗装ロボットである。なお、図1では、スプレーガンを先端部10fに装着した塗装ロボットを一例として示してあるが、ロボットモデル10及びロボット20はこれに限定されず、溶接ロボット、運搬ロボット、ピックアップロボット等であってもよい。ロボットモデル10は、ロボット20と同じように、アームを複数備える多関節ロボットである。
【0022】
ここで、物体24は、ロボット20の周囲に存在する物体であって、他の被加工物、他のロボット、制御機器類等であってよい。シミュレーションを行う仮想空間400は、表示部141に表示される。表示部141は、情報処理装置100から出力された各種の情報を表示する機能を有するモニターであって、例えば、LCD(Liquid Crystal Display)、有機ELディスプレイ等により実現することができる。なお、表示部141としては、例えば、携帯端末のモニターや、タブレット端末のモニターなどを用いることとしてもよい。また、オペレータは、キーボード131や図示しないマウスといった入力装置により、情報処理装置100に対する指示を入力することができる。なお、本実施形態に係る情報処理装置100において、後述する機械学習(強化学習)を実施するにあたり、表示部141は必須ではない。
【0023】
ロボット制御装置200は、情報処理装置100におけるシミュレーションによって出力されるロボットの制御情報に基づいて、ロボット20を駆動させる。制御情報は、例えば、ロボット20を構成する各軸(関節)の目標角度及び角速度、駆動モータのトルク及び駆動電力等の値を含んでよい。なお、図1では、ロボット制御装置200が情報処理装置100に接続された態様を示してあるが、本発明はこれに限定されない。すなわち、ロボット制御装置200は、情報処理装置100とは別個に存在してよい。
【0024】
シミュレーションシステム500において、情報処理装置100は、ロボット20の複数の動作のシミュレーションにおける負荷を低減させ、効率的な機械学習を行う環境を提供する。
【0025】
次に図2及び図3を参照して、ロボットモデル10の構成について説明する。図2は、ロボットモデル10の構成の一例を説明するための図であり、図3はロボットモデル10の各構成部の連結関係の一例を説明するための図である。
ロボットモデル10は多関節6軸のアームロボットである。アームロボットの関節は可動部となり、それぞれ軸を中心に回転する。ロボットモデル10は、台座10a、第1アーム10b、第2アーム10c、第3アーム10d、及びエンドエフェクタ(End Effector)10eを備える。エンドエフェクタ10eの先端には、スプレーガンなどが先端部10fとして装着される。
台座10aは仮想空間400における設置場所に直置きされるロボットモデル10の土台である。第1アーム10bは台座10aに第1軸を介して接続される。第2アーム10cは第2軸を介して第1アーム10bに接続される。第3アーム10dは第3軸及び第4軸を介して第2アーム10cに接続される。エンドエフェクタ10eは、第5軸及び第6軸を介して第3アーム10dに接続される。関節ごとに回転可能角度範囲が設定される。
【0026】
<ハードウェア構成>
以下、詳細に説明する。情報処理装置100は、ハードウェア構成として、演算部110、通信I/F(インタフェース)120、入力I/F130、出力I/F140、及び記憶部170を備える。
【0027】
演算部110は、典型的にはプロセッサであって、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現されてよい。演算部110は、記憶部170に記憶されるプログラムを読み出し、読み出したプログラムに含まれるコード又は命令を実行することによって、各実施形態に示す機能、方法を実行してよい。
【0028】
記憶部170は、情報処理装置100が動作するうえで必要とする各種プログラムや各種データを記憶する。記憶部170は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等を含んでよい。また、記憶部170は、演算部110に対する作業領域を提供するメモリ(RAM(Random Access Memory)、ROM(Read Only Memory)等)を含んでよい。本実施形態に係る情報処理装置100は、演算部110が記憶部170のメモリ上に読み込まれたプログラムを実行することにより、後述する目標情報取得部111、現在情報取得部112、中間報酬算出部113、最終報酬決定部114、及び強化学習部115として機能する。例えば、記憶部170は、仮想空間におけるロボットモデル10の動作をシミュレーションするためのモーション解析ソフトウェアを記憶してよい。
【0029】
記憶部170は、ロボットモデル10を構成する各アームの形状と、アーム間の連結関係と、各アームの可動範囲とを含むロボット構成情報を記憶する。ロボット構成情報とは、ロボットを構成するアームの縦、横、長さ、関節間の距離(有効長)、各アーム間の連結関係と連結する関節の識別情報を含んでよい。例えば、ロボット構成情報は、ロボット20のCAD(Computer Aided Design)データから抽出されてもよい。さらに、ロボット構成情報には、各アームの可動範囲を示す情報として、ソフトリミット値、各関節の回転方向、回転可能角度範囲、含んでよい。なお、これらのデータは、後述する目標情報取得部111が、オペレータが入力装置(キーボード)131を介して入力したデータを受け付けて記憶してよい。また、図1では、記憶部170を情報処理装置100と一体化して示してあるが、記憶部170に記憶されるデータは、情報処理装置100とは別個の独立したデータベースサーバに格納されてもよい。
【0030】
通信I/F120は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装され、例えば、ロボット制御装置200のような外部装置との間で各種データの送受信を行う。
【0031】
入力I/F130は、情報処理装置100に対する各種操作を入力する入力装置との接続インタフェースである。入力装置は、例えば、タッチパネル、キーボード131等のハードウェアキーや、マウス等のポインティングデバイス等を含む。
【0032】
出力I/F140は、情報処理装置100によるシミュレーション結果等の処理結果を出力する出力装置との接続インタフェースである。出力装置は、例えば、表示部(ディスプレイ)141、スピーカ等を含む。
【0033】
<機能構成>
演算部110は、目標情報取得部111、現在情報取得部112、中間報酬算出部113、最終報酬決定部114、及び強化学習部115を備える。
図4及び図5を参照して先端部10fの位置及び角度について説明し、図6を参照して先端部10fと被加工物モデル12との接触について説明する。図4はロボットモデル10の先端部10fの構成を説明するための図であり、図5はロボットモデル10の先端部10fと目標位置11及び目標角度との関係を説明するための図であり、図6はロボットモデル10の先端部10fと被加工物モデル12との関係を説明するための図である。
【0034】
目標情報取得部111は、シミュレーションにおけるロボットモデル10の先端部10fの目標位置11及び目標位置11における先端部10fの目標角度を目標情報として取得する。
先端部10fの基準点10gは、先端部10fの位置の基準となり、先端部10fの目標位置11は基準点10gの目標となる。即ち、ロボットモデル10は、基準点10gが目標位置11に到達するように制御される。
先端部10fの目標角度とは、先端部10fの基準点10gが目標位置11に到達した時点における先端部10fの目標となる角度であり、目標位置11における先端部10fの向くべき方向を規定する。即ち、ロボットモデル10は、基準点10gが目標位置11に到達した時点において、先端部10fの角度が目標角度となるように制御される。
先端部10fの角度とは、先端部10fが向く方向に対する1方向に定められる所定の法線方向(以下、先端部10fの法線方向)10hの角度のことをいう。目標角度は、先端部10fの法線方向10hの角度を用いて設定され、基準点10gが目標位置11に到達した時点における先端部10fの法線方向11a(図5参照)の角度のことをいう。
【0035】
現在情報取得部112は、現在の先端部10fの位置及び先端部10fの角度を現在情報として取得する。
現在の先端部10fの位置とは、現在の基準点10gの位置のことをいい、シミュレーションにおける現時点又は着目している時点における基準点10gの位置のことをいう。
現在の先端部10fの角度とは、現在の先端部10fの法線方向10hの角度のことをいい、シミュレーションにおける現時点又は着目している時点における先端部10fの法線方向10hの角度のことをいう。
【0036】
エージェント(Agent)は学習を行う主体であり、ロボットモデル10を担う。エージェントは状態(State)を受け取り、状態に基づいて行動(Action)を行う。行動は環境(Environment)に対して作用し、その結果として報酬(Reward)を取得する。強化学習ではその状態における行動の評価(報酬)に従って最適な行動を学習していく。
【0037】
本実施形態における状態(State)とは、現在エージェントを取り巻く環境がどのようになっているかを表現する。本実施形態におけるロボットモデル10の姿勢探索においては、先端部10fの現在の基準点10gの位置、現在の先端部10fの角度、目標位置11、及び目標位置11における先端部10fの角度などが含まれる。
【0038】
本実施形態における行動(Action)は、エージェントがある状態のときに行う動作である。本実施形態ではエージェントはロボットモデル10であり、行動はロボットモデル10の各軸のアクチュエータの移動量によって実現される。
【0039】
本実施形態における報酬(Reward)は、エージェントがある状態における行動の評価を表す。本実施形態では行動後にロボットモデル10の先端部10fが目標位置11に近づくよう行動した場合に良い評価として高い即時報酬値を与えるよう設定した。また、エージェントの最終結果についても評価して、その報酬を最終報酬値としてエージェントに付与するように設定した。最終結果とは、エージェント(ロボットモデル10)の先端部10fの角度が、目標位置11における目標角度に到達した、被加工物モデル12に接触した、又は学習を達成せず最大ステップに到達したといったある一定の状態のことをいう。最終結果が得られたとき、その状態を評価し最終報酬値を決定する。本実施形態では、先端部10fの角度が目標位置11における目標角度に到達できない、若しくは先端部10fが被加工物モデル12に接触した場合は評価を低くし、その一方で、先端部10fの角度が目標位置11における目標角度に到達した場合は評価を高くした。
【0040】
以下、表1、式(1)、式(2)、及び式(3)を参照して、報酬値について説明する。
中間報酬算出部113は、ロボットモデル10が行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部10fの位置から目標位置11までの距離15(図5参照)と、現在の先端部10fの角度と目標位置11における先端部10fの目標角度との角度差16(図5参照)と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する。
距離15は、ユークリッド距離として表されてよい。
【0041】
表1の距離評価(Rd)は、現在の先端部10fの位置から目標位置11までの距離15に基づいて算出され、式(1)で表される数式により算出される。式(1)のmaxStepは、強化学習の1エピソードの最大ステップを示す。
距離15及び角度差16は正規化されて用いられ、正規化距離(d)は距離15を正規化した値であり、正規化角度差(a)は角度差16を正規化した値である。
正規化は、機械学習においてデータの前処理の一つであり、学習モデルの学習を効率的に行うため、データを正規化して異なる特徴量のスケールを統一する。本実施形態では、距離15と角度差16とは正規化されることで異なる特徴量のスケールが統一される。
表1の角度評価(Ra)は、現在の先端部10fの角度と目標位置11における先端部10fの目標角度との角度差16に基づいて算出され、式(2)で表される数式により算出される。
距離評価(Rd)及び角度評価(Ra)は、式(1)及び式(2)に示す様に、負の値に設定される。これは、ロボットモデル10の行動の回数が少ないほど評価が高く、与えられる報酬が増大することに基づく。
【0042】
即時報酬値は、距離15と角度差16とに加えて、ロボットモデル10のタスク達成時間の短縮に基づいて算出されてもよい。
タスク達成時間とは、シミュレーションの開始からロボットモデル10の目的を達成するまでの時間のことであり、具体的には、シミュレーションの開始からロボットモデル10の先端部10fの基準点10gが目標位置11に到達した時点において、先端部10fの角度が目標角度に到達するまでのロボットモデル10の行動の回数である。即時報酬値は、シミュレーションの開始からロボットモデル10の目的を達成するまでの当該ロボットモデル10の行動の回数が少ないほど報酬を多く受け取ることができ、具体的には、ロボットモデル10の行動の回数が1回増える度に、(-1/学習最大ステップ数)の値の報酬が減少する。
【0043】
即時報酬全体(R)は、タスク達成時間短縮による即時報酬値、距離評価(Rd)、及び角度評価(Ra)の合計値であり式(3)で表される。
中間報酬値は、シミュレーションの開始からタスク達成までの即時報酬全体(R)の積算値である。
また、即時報酬全体(R)は、距離評価(Rd)及び角度評価(Ra)の合計値で表されてもよい。
【0044】
【表1】
【0045】
【数1】
【0046】
【数2】
【0047】
【数3】
【0048】
最終報酬決定部114は、ロボットモデル10の行動の最終結果に基づいてエージェントに付与される報酬を最終報酬値として決定する。
【0049】
最終報酬決定部114は、最終結果において、所定制限時間内に先端部10fが目標位置11に到達するとともに、目標位置11における先端部10fの角度が目標角度に到達した場合に、最終報酬値を最大値に決定する。この場合、表1のNo.4に示す様に、最終報酬値は1となる。
なお、所定制限時間は、学習における最大ステップ数(maxStep)に達する時間としてもよい。
【0050】
最終報酬決定部114は、シミュレーションの途中で先端部10fが被加工物モデル12に接触した場合に、最終報酬値を最小値に決定する。この場合、表1のNo.6に示す様に、最終報酬値は-1となる。
図6を参照して、先端部10fと被加工物モデル12との接触について説明する。
先端部10fの先端には、「Ray Perception Sensor」が装着される。「Ray Perception Sensor」は、Unity(登録商標)の強化学習フレームワークであるML-Agents(Unity Machine Learning Agents:Unity機械学習エージェント)において、物体の接触判定に使用されるセンサーの一種であり、エージェントであるロボットモデル10から被加工物モデル12までの距離及び被加工物モデル12の種類などの情報を取得する。
先端部10fの先端から延伸する光線17の長さが被加工物モデル12までの距離を表す(図6(a)参照)。先端部10fが被加工物モデル12に接触した状態では、光線17の代わりに接触マーク18が表示される(図6(b)参照)。
【0051】
最終報酬決定部114は、所定制限時間内に先端部10fが目標位置11における目標角度に到達しなかった場合に、最終報酬値を最小値に決定する。この場合、表1のNo.5に示す様に、最終報酬値は-1となる。
【0052】
強化学習部115は、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する。
また、強化学習部115は、シミュレーションの終了時における、中間報酬値と最終報酬値との合計値が最大となるように学習モデルを学習してもよい。
【0053】
(情報処理プログラム及び情報処理方法について)
次に図7を参照して、本開示の一実施形態に係る情報処理プログラムについて、情報処理方法とともに説明する。図7は本実施形態に係る情報処理プログラムのフローチャートである。情報処理方法は、情報処理プログラムに基づいて、情報処理装置100の演算部110により実行される。
【0054】
情報処理プログラムは、目標情報取得ステップS111、現在情報取得ステップS112、中間報酬算出ステップS113、及び強化学習ステップS115などを備える。
情報処理プログラムは、演算部110に対して、目標情報取得機能、現在情報取得機能、中間報酬算出機能、及び強化学習機能などの各種機能を発揮させる。なお、これらの機能は図7のフローチャートに示される順に実行されるが、適宜、順番を入れ替えて実行することもできる。各種機能は前述の情報処理装置100の各種機能部の説明と重複するため、その詳細な説明は省略する。
【0055】
目標情報取得機能は、シミュレーションにおけるロボットモデル10の先端部10fの目標位置11及び目標位置11における先端部10fの目標角度を目標情報として取得する(S111:目標情報取得ステップ)。
【0056】
現在情報取得機能は、現在の先端部10fの位置及び先端部10fの角度を現在情報として取得する(S112:現在情報取得ステップ)。
【0057】
中間報酬算出機能は、ロボットモデル10が行動する度にエージェントに付与される報酬を即時報酬値として、現在の先端部10fの位置から目標位置11までの距離15と、現在の先端部10fの角度と目標位置11における先端部10fの目標角度との角度差16と、に基づいて算出し、シミュレーションの開始から現在までの即時報酬値の積算値を中間報酬値として算出する(S113:中間報酬算出ステップ)。
【0058】
強化学習機能は、シミュレーションの終了時の中間報酬値が最大となるように学習モデルを学習する(S115:強化学習ステップ)。
【0059】
(他の実施形態に係る情報処理プログラム及び情報処理方法)
図8を参照して、他の実施形態に係る情報処理プログラムについて、情報処理方法とともに説明する。図8は他の実施形態に係る情報処理プログラムのフローチャートである。
図8に係る情報処理プログラムは、図7に係る情報処理プログラムに対して最終報酬決定ステップS114が追加された点で異なり、更にこの追加に伴い強化学習ステップS115の処理内容が異なる。
以下、図8に係る情報処理プログラムについて、情報処理方法とともに説明する。
図8に係る情報処理プログラムは、目標情報取得ステップS111、現在情報取得ステップS112、中間報酬算出ステップS113、最終報酬決定ステップS114及び強化学習ステップS115などを備える。
図8に係る情報処理プログラムは、演算部110に対して、目標情報取得機能、現在情報取得機能、中間報酬算出機能、最終報酬決定機能、及び強化学習機能などの各種機能を発揮させる。なお、これらの機能は図8のフローチャートに示される順に実行されるが、適宜、順番を入れ替えて実行することもできる。各種機能は前述の図7に係る情報処理プログラムの説明と重複するため、その重複する説明は省略する。
【0060】
最終報酬決定機能は、ロボットモデル10の行動の最終結果に基づいてエージェントに付与される報酬を最終報酬値として決定する(S114:最終報酬決定ステップ)。
【0061】
強化学習機能は、シミュレーションの終了時における、中間報酬値と最終報酬値との合計値が最大となるように学習モデルを学習する(S115:強化学習ステップ)。
【0062】
上記した本実施形態に係る情報処理装置100によれば、中間報酬値は距離15と角度差16とに基づいて算出されるので、中間報酬値を距離15のみに基づいて算出する場合に比べて、強化学習を用いてロボットモデル10に効率のより良い行動をさせることができる。
【0063】
また、上記した本実施形態に係る情報処理装置100によれば、中間報酬値は、距離15、角度差16、及びロボットモデル10のタスク達成時間の短縮に基づいて算出されるので、中間報酬値を距離15のみに基づいて算出する場合に比べて、強化学習を用いてロボットモデル10に効率のより良い行動をさせることができる。
【0064】
また、上記した本実施形態に係る情報処理装置100によれば、エージェントに付与される報酬値は、中間報酬値及び最終報酬値の合計値であるので、中間報酬値及び最終報酬値の何れか一方の場合に比べて、強化学習を用いてロボットモデル10に効率のより良い行動をさせることができる。
【0065】
なお、本発明は上記した実施形態に係る情報処理装置100、情報処理方法、及び情報処理プログラムに限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の変形例、若しくは応用例により実施可能である。また、上記した実施形態では、「情報」の文言を使用しているが、「情報」の文言は「データ」と言い換えることができ、「データ」の文言は「情報」と言い換えることができる。
【符号の説明】
【0066】
10 ロボットモデル
10a 台座
10b 第1アーム
10c 第2アーム
10d 第3アーム
10e エンドエフェクタ
10f 先端部
10g 基準点
10h 法線方向
11 目標位置
11a 法線方向
12 被加工物モデル
14 物体モデル
15 距離
16 角度差
17 光線
18 接触マーク
20 ロボット
22 被加工物
24 物体
100 情報処理装置
110 演算部
111 目標情報取得部
112 現在情報取得部
113 中間報酬算出部
114 最終報酬決定部
115 強化学習部
120 通信I/F(インタフェース)
130 入力I/F
131 キーボード(入力部)
140 出力I/F
141 表示部
170 記憶部
200 ロボット制御装置
300 作業空間
400 仮想空間
500 シミュレーションシステム
図1
図2
図3
図4
図5
図6
図7
図8