JP2023051421A - 移動体制御装置、移動体、学習装置、学習方法、および、プログラム - Google Patents
移動体制御装置、移動体、学習装置、学習方法、および、プログラム Download PDFInfo
- Publication number
- JP2023051421A JP2023051421A JP2021162069A JP2021162069A JP2023051421A JP 2023051421 A JP2023051421 A JP 2023051421A JP 2021162069 A JP2021162069 A JP 2021162069A JP 2021162069 A JP2021162069 A JP 2021162069A JP 2023051421 A JP2023051421 A JP 2023051421A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- simulators
- moving
- agents
- simulator
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000033001 locomotion Effects 0.000 claims abstract description 85
- 238000004088 simulation Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 50
- 230000009471 action Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 17
- 230000001186 cumulative effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 165
- 230000002787 reinforcement Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000036461 convulsion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Feedback Control In General (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】環境の混雑度に応じて適切な移動態様を決定することができる移動体制御装置、移動体、学習装置、学習方法、および、プログラムを提供すること。【解決手段】移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定する経路決定部と、前記経路決定部により決定された経路に沿って前記移動体を移動させる制御部と、を備える移動体制御装置。【選択図】図8
Description
本発明は、移動体制御装置、移動体、学習装置、学習方法、および、プログラムに関する。
近年、機械学習により生成されたAI(人工知能)によって移動体の移動経路を決定しようとする試みがなされている。また、観測値に基づいて行動を決定し、実環境やシミュレータから得らえるフィードバックに基づく報酬を計算してモデルパラメータを最適化する強化学習についても研究および実用化が進められている。
これに関連し、人の移動に対して安全・安心な回避行動を取るために、自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が目的地までの交通環境に存在する条件下で決定する経路決定装置の発明が開示されている(特許文献1参照)。この経路決定装置は、所定の予測アルゴリズムを用いて、ロボットと交通参加者との干渉が回避されるように、ロボットの経路の予測値である予測経路を決定する予測経路決定部と、ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路を決定する経路決定部と、を備える。
また、非特許文献1には、高密度で動的な環境での分散モーションプランニングについて、エージェント数を段階的に増加させていきながら強化学習を行うマルチステージトレーニングについて記載されている。
また、非特許文献2には、移動体の動作を適切に決定することができるポリシーを学習する方法としてマルチシナリオ・マルチステージ・トレーニングフレームワークについて記載されている。
Samaneh Hosseini Semnani, Hugh Liu, Michael Everett, Anton de Ruiter, and Jonathan P How. Multi-agent motion planning for dense and dynamic environments via deep reinforcement learning. IEEE Robotics and Automation Letters, 5(2):3221-3226, 2020.
P. Long, T. Fan, X. Liao, W. Liu, H. Zhang, and J. Pan. Towards optimally decentralized multi-robot collision avoidance via deep reinforcement learning. In 2018 IEEE International Conference on Robotics and Automation (ICRA).
しかしながら、従来の方法では、複雑な環境に対応するためにより多くの移動体が存在する環境を学習した結果、過学習となり、存在する移動体が少ない環境下において適切でない移動経路を決定しまう場合があった。このように、従来技術では、移動経路を環境の混雑度に応じて適切に決定することができない場合があった。
本発明は、このような事情を考慮してなされたものであり、環境の混雑度に応じて適切な移動態様を決定することができる移動体制御装置、移動体、学習装置、学習方法、および、プログラムを提供することを目的の一つとする。
この発明に係る移動体制御装置、移動体、学習装置、学習方法、および、プログラムは、以下の構成を採用した。
(1):この発明の一態様に係る移動体制御装置は、移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定する経路決定部と、前記経路決定部により決定された経路に沿って前記移動体を移動させる制御部と、を備える。
(2):上記(1)の態様において、前記経路決定部は、シミュレータと学習部によって学習された動作のポリシーに基づき移動体の経路を決定し、前記動作のポリシーは、前記シミュレータが障害物の数が異なる複数の環境について同時に前記移動体および前記障害物の動作のシミュレーションを実行し、前記学習部が前記シミュレータの処理結果に報酬関数を適用して得られた報酬が最大化するように更新することによって学習されたものである。
(3):上記(2)の態様において、前記動作のポリシーは、複数の前記シミュレータの処理結果に基づいて学習され、前記環境内の前記障害物の数は複数の前記シミュレータごとに異なり、前記学習部は複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを更新することによって学習されたものである。
(4):この発明の一態様に係る移動体は、上記いずれかの移動体制御装置と、利用者に所定のサービスを提供するための作業部と、自移動体を移動させるための駆動装置と、を備え、前記駆動装置は、前記自移動体が前記移動体制御装置によって決定された移動態様で移動するように駆動するものである。
(5):この発明の一態様に係る学習装置は、移動体の動作のシミュレーションを実行するシミュレータであって、存在する前記移動体または障害物の数が前記シミュレータごとに異なる複数の前記シミュレータと、複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する学習部と、を備える。
(6):上記(5)の態様において、複数の前記シミュレータは、それぞれに対応づけられた別個のプロセッサによって実行されるものである。
(7):上記(5)または(6)の態様において、複数の前記シミュレータには、それぞれ異なる前記移動体または前記障害物の最大数が設定され、複数の前記シミュレータは、規定の最小数からそれぞれの最大数まで段階的に前記移動体または前記障害物の数を増やしながらシミュレーションを実行するものである。
(8):上記(5)から(7)のいずれかの態様において、複数の前記シミュレータは、各段階のシミュレーションにおいて、前記移動体または前記障害物の個数が同じ複数の環境について並列でシミュレーションを実行するものである。
(9):上記(5)から(8)のいずれかの態様において、前記報酬関数は、移動体の目標への到達度、移動体の衝突回数、移動体の移動速度のうち少なくとも一つを変数として含むものである。
(10):上記(5)から(9)のいずれかの態様において、前記報酬関数は、自移動体の周囲に存在する前記移動体または前記障害物の移動ベクトルの変化を独立変数として含むものである。
(11):この発明の一態様に係る学習方法は、コンピュータが、存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行し、複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習するものである。
(12):この発明の一態様に係るプログラムは、コンピュータに、存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行させ、複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習させるものである。
(1)~(4)によれば、移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定する経路決定部と、前記経路決定部により決定された経路に沿って前記移動体を移動させる制御部と、を備えることにより、環境の混雑度に応じて適切な移動態様を決定することができる。
また、(5)~(12)によれば、移動体の動作のシミュレーションを実行するシミュレータであって、存在する前記移動体または障害物の数が前記シミュレータごとに異なる複数の前記シミュレータと、複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する学習部と、を備えることにより、環境の混雑度に応じて適切な移動態様を決定することができる。
以下、図面を参照し、本発明の移動体制御装置、移動体、学習装置、学習方法、および、プログラムの実施形態について説明する。
<第1実施形態>
図1は、実施形態の移動体制御システム1の構成の概略図である。移動体制御システム1は、学習装置100と、移動体200とを備える。学習装置100は、一以上のプロセッサにより実現される。学習装置100は、複数の移動体についてコンピュータシミュレーションにより行動を決定し、その行動によって生じた状態の変化等に基づく報酬を導出または取得し、報酬を最大化する行動(動作)を学習する装置である。動作とは、例えば、シミュレーション空間内での移動である。移動以外の動作が学習対象とされてもよいが、以下の説明では動作とは移動を意味するものとする。移動を決定するシミュレータは、学習装置100と異なる装置において実行されてもよいが、以下の説明ではシミュレータは学習装置100が実行するものとする。学習装置100は、地図情報などの、シミュレーションの前提となる環境情報を予め記憶している。学習装置100の学習結果は、ポリシーPLとして移動体200に搭載される。
図1は、実施形態の移動体制御システム1の構成の概略図である。移動体制御システム1は、学習装置100と、移動体200とを備える。学習装置100は、一以上のプロセッサにより実現される。学習装置100は、複数の移動体についてコンピュータシミュレーションにより行動を決定し、その行動によって生じた状態の変化等に基づく報酬を導出または取得し、報酬を最大化する行動(動作)を学習する装置である。動作とは、例えば、シミュレーション空間内での移動である。移動以外の動作が学習対象とされてもよいが、以下の説明では動作とは移動を意味するものとする。移動を決定するシミュレータは、学習装置100と異なる装置において実行されてもよいが、以下の説明ではシミュレータは学習装置100が実行するものとする。学習装置100は、地図情報などの、シミュレーションの前提となる環境情報を予め記憶している。学習装置100の学習結果は、ポリシーPLとして移動体200に搭載される。
[学習装置]
図2は、実施形態の学習装置100の構成例を示す図である。学習装置100は、例えば、学習部110と、複数のシミュレータ120と、経験蓄積部130とを備える。これらの構成要素は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリ、SSD(Solid State Drive)などの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
図2は、実施形態の学習装置100の構成例を示す図である。学習装置100は、例えば、学習部110と、複数のシミュレータ120と、経験蓄積部130とを備える。これらの構成要素は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリ、SSD(Solid State Drive)などの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
学習部110は、複数のシミュレータ120により生成された状態変化を経験蓄積部130が評価した結果を示す評価情報に基づいて各種強化学習アルゴリズムに従ってポリシーを更新する。学習部110は、更新したポリシーを複数のシミュレータ120に出力することを、学習が完了するまで繰り返し実行する。ポリシーとは、例えばパラメータを有するニューラルネットワーク(以下単に「ネットワーク」ともいう。)であり、環境情報の入力に対してエージェントが取り得るアクション(動作)を確率付きで出力するものである。ここでエージェントとは、シミュレーション空間(環境)内に存在する移動体であって、動作を学習する対象の移動体である。エージェントは「自移動体」の一例である。環境情報は当該環境の状態を示す情報である。ポリシーは、パラメータを有するルールベースの関数であってもよい。学習部110は、評価情報に基づいてパラメータを更新することによりポリシーを更新する。学習部110は更新したパラメータを各シミュレータ120に供給する。
シミュレータ120は、動作目標と、現在の状態(シミュレーションの開始直後であれば初期状態)とをポリシーに入力し、自エージェントと他エージェントの動作の結果である状態変化を導出する。ポリシーは、例えば、DNN(Deep Neural Network)であるが、ルールベースのポリシーなど、他の態様のポリシーであってもよい。ポリシーは、想定される複数種類の動作のそれぞれについて、発生確率を導出するものである。例えば、簡単な例では、想定平面が上下左右に広がるものとして、右移動80%、左移動10%、上移動10%、下移動0%といった結果を出力する。シミュレータ120は、この結果に乱数を作用させて、乱数値が0%以上、80%未満であれば右移動、乱数値が80%以上、90%未満であれば左移動、乱数値が90%以上であれば上移動というようにエージェントの状態変化を導出する。
複数のシミュレータ120は、学習部110によって更新されたポリシー(ネットワーク)を用いて、それぞれエージェント数が異なり、且つ複数のエージェントが存在する環境についてシミュレーションを実行することにより、各環境におけるエージェントの動作を決定する。なお、ここでいう動作の決定とは、エージェントについて上記の状態変化を導出することである。本実施形態では複数のシミュレータ120として例えば4つのシミュレータを想定する。例えば、本実施形態において、第1~第4のシミュレータ120A~120Dは、それぞれ2エージェント、4エージェント、8エージェント、10エージェントの移動を決定するものとする。なお、環境には、エージェント以外のポリシーによらない移動体が含まれてもよい。例えば、環境には、ポリシーに基づいて移動するエージェントのほかに、止まっている移動体や、ポリシーとは異なる動作モデルで動作する移動体などが含まれてもよい。
具体的には、各シミュレータ120は、学習部110から供給されたパラメータでポリシー(ネットワーク)を更新するとともに、前回(1つ前のサンプリング周期)のシミュレーション結果によって得られた現在の状態を更新後のネットワークに入力し、出力結果に対して乱数を適用することにより各エージェントの今回(現在のサンプリング周期)の動作を決定する。各シミュレータ120が、決定した動作を環境EVに入力することにより、環境EVによって更新後の状態と報酬が生成される。報酬は、環境EVが、決定された行動を報酬関数に入力することによって生成される。各シミュレータ120は、各エージェントについて決定した動作に基づく経験情報を経験蓄積部130に供給する。例えば、経験情報には、エージェントについて決定した行動、行動前の状態や行動後の状態、その行動によって得られた報酬の情報が含まれる。
経験蓄積部130は、各シミュレータ120から供給された経験情報を蓄積するとともに、蓄積した経験情報の中から優先度が高いものをサンプリングして学習部110に供給する。優先度は、ネットワークNWの学習における学習効果の高さに基づく優先度であり、例えばTD(Temporal Difference)誤差によって定められる。なお、優先度は、学習部110の学習結果に基づいて適宜更新されてもよい。
学習部110は、経験蓄積部130から供給された経験情報に基づいて、各エージェントの移動によって得られる報酬が最大化されるようにネットワークNWのパラメータを更新する。学習部110は、更新後のパラメータを各シミュレータ120に供給する。各シミュレータ120は、学習部110から供給されたパラメータによりネットワークNWを更新する。
学習部110は、種々の強化学習アルゴリズムのうち任意のものを使用してよい。学習部110は、このようなパラメータの更新を繰り返し実行することにより、複数のエージェントが存在する環境における、エージェントの適切な移動を学習する。このようにして学習されたネットワークはポリシーとして移動体200に供給される。
なお、環境EVが報酬を算出する際に使用する報酬関数は、エージェントがより適切な移動をするほど大きな報酬を与えるものであればどのような関数であってもよい。例えば、式(1)に示されるように、自エージェントが目的地に到着した場合に与えられる報酬関数R1と、自エージェントがスムーズに移動を達成した場合に与えられる報酬関数R2と、自エージェントが他エージェントの移動ベクトルに変化を及ぼした場合に小さくなる報酬関数R3と、他エージェントの向く方向に応じて、自エージェントが他エージェントに接近する時に保持すべき距離を可変にした報酬関数R4とを含む関数Rを報酬関数としてもよい。また、報酬関数Rは、R1、R2、R3、R4のうちの少なくとも1つを含む関数としてもよい。
例えば、報酬関数R1は、目的地に到達した場合に正の固定値となり、目的地に到達していない場合に目的地までの距離変化に比例した値(距離変化が減少方向であれば正、増加方向であれば負)となる関数である。報酬関数R1は「第1の関数」の一例である。
例えば、報酬関数R2は、エージェントの二次元平面における位置の三回微分すなわちジャーク(躍度)が小さいほど大きい値となる関数である。報酬関数R2は「第2の関数」の一例である。
例えば、報酬関数R3は、自エージェントが所定領域に進入した場合に低い評価値を返す関数である。このような報酬関数R3によれば、例えば、自エージェントが他エージェントにとって目の前の領域(所定領域)を通過するような行動に対しては低い評価が、側方や背後を通過するような行動に対しては余り低くない評価が与えられるようにすることができる。報酬関数R3は「第3の関数」の一例である。
図3は、報酬関数R4を説明する図である。図3は、シミュレーション環境の一例として、人P1、P4およびP5と、ロボットR2、R3、R5とが混在する環境を示している。図3において、地点D1~D5は、各移動体の目的地点である。具体的には、地点D1は人P1の目的地点であり、地点D2はロボットR2の目的地点であり、地点D3はロボットR3の目的地点であり、地点D4は人P4の目的地点であり、地点D5は人P5の目的地点である。
ここで、ロボットR5を対象ロボットとして、対象ロボットに人の移動を阻害しないような移動方法を学習させるための報酬関数R4として、例えば以下の(2)式のように定義することができる。
(2)式において、R4は人の移動を阻害しないような移動方法を学習させるための報酬関数であり、人の移動を阻害しない移動ほど大きな報酬を与える関数である。iは、環境に存在する人やロボット等の移動体の識別番号であり、Nはその最大数である。また、aiは、各移動体について、対象ロボットR5を含めた環境の状態により決定される行動(以下「第1の行動」という。)を表し、biは、対象ロボットR5を含めない(無視した場合)環境の状態により決定される行動(以下「第2の行動」という。)を表す。wは、各移動体について第1の行動と第2の行動との差をとり、その総和に応じた値をペナルティとして負の報酬値に変換する係数である。すなわち(2)式は、第1の行動と第2の行動との差が大きいほど小さくなる報酬を算出するものである。このような報酬関数によれば、例えば対象ロボットR5は、自身の行動が他の移動体の移動に影響を与えないような移動方法を学習することができる。報酬関数R4は「第4の関数」の一例である。
以上説明したネットワークの学習動作は、個々のシミュレータ120が所定のエージェント数でのシミュレーションを行うときの動作を説明したものである。本実施形態の学習装置100は、上記の強化学習を、シミュレーションにおけるエージェント数を徐々に増やしながら実行していくことにより、エージェント数の異なる複数の環境における移動体の動作を並列で学習するように構成される。この、エージェント数を徐々に増やしながら最終的なエージェント数の環境のポリシーを学習する方法(以下「段階的強化学習」という。)は、強化学習の精度を高める手法の一つとして知られているものである(例えば非特許文献1参照)。
図4は、段階的強化学習の効果の一例を示す図である。図4において、横軸は各段階における学習の進行度合いを表し、縦軸は学習の精度を表す。図4によれば、最初から10エージェントで学習を進めるよりも、2、4、8、10と段階的にエージェント数を増やしながら学習を進めた方がより高い報酬を得る動作を学習できることが分かる。
しかしながら、複数のエージェントが存在する環境では、10エージェントで学習したポリシーが必ずしもすべての環境において適切な移動を決定するとは限らない。なぜなら、移動の学習においては、他の移動体や障害物等に接触しないような移動先を決定する(すなわち高い報酬が得らえる動作として学習する)ことが優先されるものの、環境の状態(例えば環境に存在するエージェントの密度など)によっては、他の事項の優先度が高くなる場合もあるからである。すなわち、エージェント数がより多い環境での移動の学習結果は、エージェント数が少ない環境での移動を決定するにあたって過学習となる場合がある。
図5および図6は、ポリシーの過学習の一例を示す図である。図5は2エージェントで学習したポリシーに基づく移動の例を示し、図6は10エージェントで学習したポリシーに基づく移動の例を示す。図5および図6は、いずれも1つのエージェントAが出発地点Bから出発して障害物Cを回避しながら目的地Dに到着するために決定した移動経路を示すものである。図5および図6から、2エージェント環境で学習されたポリシーでは、エージェントAは出発地点Bを出発後に速やかに障害物Cの回避行動を開始するのに対して、10エージェント環境で学習されたポリシーでは、エージェントAはより障害物Cに近い位置で回避行動を開始するのが分かる。
このような回避行動の違いは、例えば、エージェント数が多い環境ほど他のエージェントと干渉しやすくなるため、他のエージェントと干渉しないように、より障害物Cに近い位置で回避行動を開始することを学習した結果によるものと考えることができる。また、例えば、このような回避行動の違いは、エージェント数が少ない環境ほど他のエージェントと干渉しにくくなるため、移動の安全性を高めるため、進行方向をより緩やかに変更することを学習した結果によるものと考えることもできる。
いずれにせよ、従来の段階的強化学習では、エージェント数が少ない環境からエージェント数が多い環境まで順次個別に学習を行った場合、ポリシーによる移動態様の決定において最後の学習環境による学習結果が支配的になる。そのため、多くのエージェントが存在する環境での移動を精度良く学習できたとしても、その学習によって生成されたポリシーは多くのエージェントが存在する環境に最適化されたものとなり、異なるエージェント数の環境では適切な行動を決定できない場合があった。そこで、本実施形態の学習装置100では、複数のシミュレータ120を並列で動作させることにより、エージェント数の異なる環境を並列で学習する構成とした。
図7は、学習装置100が複数のシミュレータ120を用いてそれぞれエージェント数が異なる環境について動作を学習する様子を示す図である。上述のとおり、本実施形態の学習装置100において、シミュレータ120A、120B、120C、120Dはそれぞれ2エージェント、4エージェント、8エージェント、10エージェントが存在する環境について各エージェントの動作を決定する。具体的には、各シミュレータ120は、規定の最小数のエージェント数でシミュレーションを開始し、各シミュレータ120の最大数まで徐々にエージェント数を増やしながらシミュレーションを実行していく。
例えば、本実施形態では、シミュレータ120Bは、エージェントの最大数が4であるので、まず2エージェントでシミュレーションを開始し、2エージェントでの学習がある程度進んだところで4エージェントでのシミュレーションに移行する。同様に、シミュレータ120Cは、エージェントの最大数が8であるので、まず2エージェントでシミュレーションを開始し、2エージェントでの学習がある程度進んだところで4エージェントでのシミュレーションに移行し、4エージェントでの学習がある程度進んだところで8エージェントでのシミュレーションに移行する。同様に、シミュレータ120Dは、エージェントの最大数が10であるので、まず2エージェントでシミュレーションを開始し、2エージェントでの学習がある程度進んだところで4エージェントでのシミュレーションに移行し、4エージェントでの学習がある程度進んだところで8エージェントでのシミュレーションに移行し、8エージェントでの学習がある程度進んだところで10エージェントでのシミュレーションに移行する。シミュレータ120B、120C、120Dは、エージェントが最大数に達すると、学習の終了まで最大数でのシミュレーションを継続する。なお、シミュレータ120Aは、エージェントの最大数が2であるので、学習の最初から最後まで2エージェントでシミュレーションを実行する。
なお、図7では、簡単のため、各学習段階で同じエージェント数の環境を同じ状態で表しているが、これは、連続する学習段階で同じエージェント数の環境のシミュレーションが実行されることを意味するものであって、全く同じシミュレーションが繰り返し実行されるということを意味するものではない。また、各シミュレータにおいて、同じエージェント数の環境のシミュレーションが学習段階ごとに表されているのは、同じエージェント数のシミュレーションが連続する学習段階で行われることを意味するものであって、シミュレーションの開始および終了が学習段階ごとに行われることを必ずしも意味しない。エージェント数が変わらない場合、シミュレーションの開始および終了は学習段階ごとに行われてもよいし、連続する学習段階で継続して行われてもよい。
このような構成によれば、エージェント数の異なる環境の学習をまんべんなく進めていくことができるので、どのようなエージェント数の環境にも柔軟に対応することが可能となる。すなわち、このような方法で学習されたポリシーを用いることにより、移動体制御装置250は、移動体200が周囲の移動体の個数に応じて適切な態様で移動するように移動体200を制御することができる。また、このような方法で学習されたポリシーを用いることにより、移動体制御装置250の移動制御部252は、移動体200の周辺に存在する障害物の個数に応じて移動体200の経路を決定することができる。移動制御部252は「経路決定部」の一例である。
具体的には、各シミュレータ120にはそれぞれ異なる最大エージェント数が予め設定され、各シミュレータ120は、少ないエージェント数からそれぞれの最大エージェント数まで段階的にエージェント数を増加させながらシミュレーションを実行していく。なお、学習装置100は、各シミュレータ120に対し計算リソースを時分割で割り当てるように構成されてもよいし、各シミュレータ120が並列で使用可能な計算リソースを割り当てるように構成されてもよい。例えば、学習装置100は、シミュレータ120の数以上のCPUを備え、各シミュレータ120に対して別個のCPUを計算リソースとして割り当てるように構成されてもよい。図7は、シミュレータ120A~120Dに対して第1~第4のCPU#1~#4が割り当てられた例を表している。各シミュレータ120に割り当てる計算リソースは、CPUの物理コア単位であってもよいし、SMT(Simultaneous Multithreading Technology)などの技術により実現される仮想コア単位であってもよい。
以上説明した学習装置100によれば、強化学習によるエージェントの動作の学習を、エージェント数が異なる各環境に対応した複数のシミュレータ120に分散して並列で実施することができる。これによって、学習装置100の学習結果であるポリシーを適用した移動体制御装置250は、環境の混雑度に応じて適切な移動態様を決定することが可能となる。
[移動体]
図8は、移動体200の構成例を示す図である。移動体200は、例えば、移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とを備える。移動体200は、車両であってもよいし、ロボット等のような装置であってもよい。移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とは、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。
図8は、移動体200の構成例を示す図である。移動体200は、例えば、移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とを備える。移動体200は、車両であってもよいし、ロボット等のような装置であってもよい。移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とは、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。
周辺検知装置210は、移動体200の周辺の環境や周辺の他の移動体の動作を検知するための装置である。周辺検知装置210は、例えば、GPS受信機や地図情報などを含む測位装置と、レーダー装置やカメラなどの物体認識装置とを備える。測位装置は、移動体200の位置を測位し、位置を地図情報とマッチングする。レーダー装置は、移動体200の周辺にミリ波などの電波を放射すると共に、物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。レーダー装置は、物体の位置および移動ベクトルを検出してもよい。カメラは、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子を利用したデジタルカメラであり、撮像画像から物体の位置を認識する画像処理装置が付設されている。周辺検知装置210は、移動体200の地図上の位置や移動体200の周辺に存在する物体(前述した他エージェントに相当する他の移動体を含む)の位置等の情報を移動体制御装置250に出力する。
移動体センサ220は、例えば、移動体200の速度を検出する速度センサ、加速度を検出する加速度センサ、鉛直軸回りの角速度を検出するヨーレートセンサ、移動体200の向きを検出する方位センサ等を含む。移動体センサ220は、検出した結果を移動体制御装置250に出力する。
作業部230は、例えば、利用者へ所定のサービスを提供する装置である。ここでのサービスとは、例えば、貨物などを輸送機器への積み込みや荷下ろし等の作業である。作業部230は、例えば、マジックアーム、荷台、マイクやスピーカなどのHMI(Human machine Interface)などを含む。作業部230は、移動体制御装置250から指示された内容に従って動作する。
駆動装置240は、移動体200を所望の方向に移動させるための装置である。移動体200がロボットである場合、駆動装置240は例えば二以上の脚部とアクチュエータを含む。移動体200が車両やマイクロモビ、或いは車輪で移動するロボットである場合、駆動装置240は車輪(操舵輪、駆動輪)と車輪を回転させるためのモータやエンジン等を含む。
移動体制御装置250は、例えば、移動制御部252と、記憶部256とを備える。移動制御部252は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。プログラムは、予めHDDやフラッシュメモリなどの記憶装置(非一過性記憶媒体)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。これらの構成要素のうち一部または全部は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
記憶部256は、例えば、HDDやフラッシュメモリ、RAM、ROM等である。記憶部256には、例えば、ポリシー256A等の情報が格納されている。ポリシー256Aは、学習装置100によって生成されたポリシーPLであり、学習段階の処理の最終時点のポリシーに基づくものである。
移動制御部252は、例えば、周辺検知装置210により検知された、移動体200の地図上の位置や移動体200の周辺に存在する物体の位置等の情報、更に利用者により入力された目的地の情報をポリシー256Aに入力することで、移動体200が次に進むべき位置(移動態様)を決定し、決定した位置を駆動装置240に出力する。この繰り返しにより移動体200の経路が順次決定される。
以上説明した移動体制御装置250によれば、実施形態の学習装置100の学習結果であるポリシーを適用することにより、移動体200を環境の混雑度に応じた態様で移動させながら、利用者に所定のサービスを提供することができる。
<第2実施形態>
第2実施形態の移動体制御システム1は、第1実施形態の移動体制御システム1と同様に、学習装置100が複数のシミュレータ120によりそれぞれエージェント数の異なる環境でエージェントの移動をシミュレーションし、そのシミュレーション結果に基づいて経験蓄積部130が評価情報を生成し、その評価情報に基づいて学習部110がネットワークのパラメータを更新するものである。
第2実施形態の移動体制御システム1は、第1実施形態の移動体制御システム1と同様に、学習装置100が複数のシミュレータ120によりそれぞれエージェント数の異なる環境でエージェントの移動をシミュレーションし、そのシミュレーション結果に基づいて経験蓄積部130が評価情報を生成し、その評価情報に基づいて学習部110がネットワークのパラメータを更新するものである。
一方で、第1実施形態の移動体制御システム1は、学習装置100において、各シミュレータ120が1つの環境で段階的強化学習を実行するものであったのに対して(図7参照)、第2実施形態の移動体制御システム1は、各シミュレータ120が同じエージェント数の複数の環境で各学習段階でのシミュレーションを実行する点で第1実施形態の学習装置100と異なるものである。その他の構成は、第1実施形態の移動体制御システム1と同様である(図1、図2、図7等を参照)。
図9は、第2実施形態の学習装置100において、複数のシミュレータ120が同じエージェント数の複数の環境でシミュレーションを実行する様子を示すイメージ図である。第2実施形態においても、第1実施形態と同様に、各シミュレータ120には同時使用可能な計算リソースとして異なるCPUが割り当てられるものとする。例えば、図9は、1つのCPUで同時並列的に計算することができるエージェント数の最大値(以下「最大並列数」という。)が40である場合の例である。
ここで、第1シミュレータ120Aは、最大エージェント数が2に設定されているため、第1段階から第4段階まで常時2エージェント環境でシミュレーションを実行する。この場合、1CPU当たりの最大並列数が40であるので、第1シミュレータ120Aは、20個の2エージェント環境について並列でシミュレーションを実行する。
同様に、第2シミュレータ120Bは、最大エージェント数が4に設定されているため、まず第1段階では2エージェント環境でのシミュレーションを実行し、第2段階で最大エージェント数の4エージェント環境でのシミュレーションに移行し、第2~第4段階において4エージェント環境でのシミュレーションを実行する。この場合、1CPU当たりの最大エージェント数が40であるので、第2シミュレータ120Bは、第1段階では第1シミュレータ120Aと同様に、20個の2エージェント環境について並列でシミュレーションを実行し、第2~第4段階では9個の4エージェント環境について並列でシミュレーションを実行する。なお、ここでは、イメージをつかみやすくするために9個(=3×3)の4エージェント環境(エージェント総数は36=9×4<40)を示しているが、第2シミュレータ120Bは、最大並列数である10個の4エージェント環境について並列でシミュレーションを実行するように構成されてもよい。
同様に、第3シミュレータ120Cは、最大エージェント数が8に設定されているため、まず第1段階では2エージェント環境でのシミュレーションを実行し、第2段階で4エージェント環境でのシミュレーションに移行し、第3段階で最大エージェント数の8エージェント環境でのシミュレーションに移行し、第3~第4段階において8エージェント環境でのシミュレーションを実行する。この場合、1CPU当たりの最大エージェント数が40であるので、第3シミュレータ120Cは、第1段階では第1シミュレータ120Aと同様に、20個の2エージェント環境について並列でシミュレーションを実行し、第2段階では第2シミュレータ120Bと同様に、10個の4エージェント環境について並列でシミュレーションを実行し、第3~第4段階では4個の8エージェント環境について並列でシミュレーションを実行する。なお、ここでは、イメージをつかみやすくするために4個(=2×2)の8エージェント環境(エージェント総数は32=8×4<40)を示しているが、第3シミュレータ120Cは、最大並列数である5個の8エージェント環境について並列でシミュレーションを実行するように構成されてもよい。
同様に、第4シミュレータ120Dは、最大エージェント数が10に設定されているため、まず第1段階では2エージェント環境でのシミュレーションを実行し、第2段階で4エージェント環境でのシミュレーションに移行し、第3段階で8エージェント環境でのシミュレーションに移行し、第4段階で最大エージェント数の10エージェント環境でのシミュレーションに移行する。この場合、1CPU当たりの最大エージェント数が40であるので、第4シミュレータ120Dは、第1段階では第1シミュレータ120Aと同様に、20個の2エージェント環境について並列でシミュレーションを実行し、第2段階では第2シミュレータ120Bと同様に、9個の4エージェント環境について並列でシミュレーションを実行し、第3段階では第3シミュレータ120Cと同様に、4個の8エージェント環境について並列でシミュレーションを実行し、第4段階では4個の10エージェント環境について並列でシミュレーションを実行する。
なお、図9では、各学習段階において、各CPUが生成する複数の環境のエージェント数は統一されているが、これは必須ではなく、最大並列数を超えず、かつ段階的なエージェント数の増加に適合するものであればエージェント数は複数の環境で統一される必要はない。例えば、学習の最終段階において、CPU#1では各環境の移動体数を2とし、CPU#2では2~6(移動体数を少なくして環境数を多くする)とし、CPU#3では2~6(移動体数を多して環境数を少なくする)とし、CPU#4では2~10(移動体数を多くして環境数を少なくする)としてもよい。
また、図9では、簡単のため、各学習段階において、複数個の同じエージェント数の環境を同じ状態で表しているが、これは、同じエージェント数の環境のシミュレーションが同時に実行されることを意味するものであって、全く同じシミュレーションが同時に実行されるということを意味するものではない。
また、図9では、図7と同様に、簡単のため、各学習段階で同じエージェント数の環境を同じ状態で表しているが、これは、連続する学習段階で同じエージェント数の環境のシミュレーションが実行されることを意味するものであって、全く同じシミュレーションが繰り返し実行されるということを意味するものではない。また、各シミュレータにおいて、同じエージェント数の環境のシミュレーションが学習段階ごとに表されているのは、同じエージェント数のシミュレーションが連続する学習段階で行われることを意味するものであって、シミュレーションの開始および終了が学習段階ごとに行われることを必ずしも意味しない。エージェント数が変わらない場合、シミュレーションの開始および終了は学習段階ごとに行われてもよいし、連続する学習段階で継続して行われてもよい。
このように構成された第2実施形態の移動体制御システム1では、学習装置100が、エージェント数が同じ複数の環境について並列でシミュレーションを実行することができる。このような構成により、実施形態の移動体制御システム1は、複数のエージェントが存在する環境における各エージェントの移動を効率良く学習することができる。
また、第2実施形態の移動体制御システム1では、複数のCPUごとのシミュレータのそれぞれが仮想的に複数の環境を形成し、CPUごとの移動体の合計値が複数のCPUで統一され、環境の数に応じた数のエージェントが各環境に生成される。このような構成によれば、実施形態の移動体制御システム1は、収集される経験においてCPUごとの偏りが出ることを防ぎ、各エージェントの移動をより効率的に学習することができる。
本実施形態において、ポリシーの更新は学習段階でのみ行われ、移動体に搭載された後には行われないと想定するが、移動体に搭載された後も学習が継続されてよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行し、
複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する、
ように構成されている、学習装置。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行し、
複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する、
ように構成されている、学習装置。
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定し、
決定された前記経路に沿って前記移動体を移動させる、
ように構成されている、移動体制御装置。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定し、
決定された前記経路に沿って前記移動体を移動させる、
ように構成されている、移動体制御装置。
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
作業部により、利用者に所定のサービスを提供し、
駆動装置により、自移動体が上記移動体制御装置によって決定された移動態様で移動するように駆動する、
ように構成されている、移動体。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
作業部により、利用者に所定のサービスを提供し、
駆動装置により、自移動体が上記移動体制御装置によって決定された移動態様で移動するように駆動する、
ように構成されている、移動体。
1…移動体制御システム、100…学習装置、110…学習部、120…シミュレータ、120A…第1シミュレータ、120B…第2シミュレータ、120C…第3シミュレータ、120D…第4シミュレータ、130…経験蓄積部、200…移動体、210…周辺検知装置、220…移動体センサ、230…作業部、240…駆動装置、250…移動体制御装置、252…移動制御部、254…制御部、256…記憶部
Claims (12)
- 移動体の周辺に存在する障害物の個数に応じて前記移動体の経路を決定する経路決定部と、
前記経路決定部により決定された経路に沿って前記移動体を移動させる制御部と、
を備える移動体制御装置。 - 前記経路決定部は、
シミュレータと学習部によって学習された動作のポリシーに基づき移動体の経路を決定し、
前記動作のポリシーは、
前記シミュレータが障害物の数が異なる複数の環境について同時に前記移動体および前記障害物の動作のシミュレーションを実行し、前記学習部が前記シミュレータの処理結果に報酬関数を適用して得られた報酬が最大化するように更新することによって学習されたものである、
請求項1に記載の移動体制御装置。 - 前記動作のポリシーは、
複数の前記シミュレータの処理結果に基づいて学習され、
前記環境内の前記障害物の数は複数の前記シミュレータごとに異なり、
前記学習部は複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを更新することによって学習されたものである、
請求項2に記載の移動体制御装置。 - 請求項1から3のいずれか一項に記載の移動体制御装置と、
利用者に所定のサービスを提供するための作業部と、
自移動体を移動させるための駆動装置と、
を備え、
前記駆動装置は、前記自移動体が前記移動体制御装置によって決定された移動態様で移動するように駆動する、
移動体。 - 移動体の動作のシミュレーションを実行するシミュレータであって、存在する前記移動体または障害物の数が前記シミュレータごとに異なる複数の前記シミュレータと、
複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する学習部と、
を備える学習装置。 - 複数の前記シミュレータは、それぞれに対応づけられた別個のプロセッサによって実行される、
請求項5に記載の学習装置。 - 複数の前記シミュレータには、それぞれ異なる前記移動体または前記障害物の最大数が設定され、
複数の前記シミュレータは、規定の最小数からそれぞれの最大数まで段階的に前記移動体または前記障害物の数を増やしながらシミュレーションを実行する、
請求項5または6に記載の学習装置。 - 複数の前記シミュレータは、各段階のシミュレーションにおいて、前記移動体または前記障害物の個数が同じ複数の環境について並列でシミュレーションを実行する、
請求項5から7のいずれか一項に記載の学習装置。 - 前記報酬関数は、移動体の目標への到達度、移動体の衝突回数、移動体の移動速度のうち少なくとも一つを変数として含む、
請求項5から8のいずれか一項に記載の学習装置。 - 前記報酬関数は、自移動体の周囲に存在する前記移動体または前記障害物の移動ベクトルの変化を独立変数として含む、
請求項5から9のいずれか一項に記載の学習装置。 - コンピュータが、
存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行し、
複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習する、
学習方法。 - コンピュータに、
存在する移動体または障害物の数がシミュレータごとに異なる複数の前記シミュレータにより、移動体の動作のシミュレーションを実行させ、
複数の前記シミュレータの各処理結果に報酬関数を適用して得られた各報酬の累積和が最大化するように前記動作のポリシーを学習させる、
プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021162069A JP2023051421A (ja) | 2021-09-30 | 2021-09-30 | 移動体制御装置、移動体、学習装置、学習方法、および、プログラム |
CN202211186077.3A CN115903773A (zh) | 2021-09-30 | 2022-09-26 | 移动体控制装置、移动体、学习装置及方法、及存储介质 |
US17/952,406 US20230098219A1 (en) | 2021-09-30 | 2022-09-26 | Mobile object control device, mobile object, learning device, learning method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021162069A JP2023051421A (ja) | 2021-09-30 | 2021-09-30 | 移動体制御装置、移動体、学習装置、学習方法、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023051421A true JP2023051421A (ja) | 2023-04-11 |
Family
ID=85718429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021162069A Pending JP2023051421A (ja) | 2021-09-30 | 2021-09-30 | 移動体制御装置、移動体、学習装置、学習方法、および、プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230098219A1 (ja) |
JP (1) | JP2023051421A (ja) |
CN (1) | CN115903773A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116878471B (zh) * | 2023-09-06 | 2023-11-10 | 湖南湘船重工有限公司 | 一种水上无人测绘系统 |
-
2021
- 2021-09-30 JP JP2021162069A patent/JP2023051421A/ja active Pending
-
2022
- 2022-09-26 US US17/952,406 patent/US20230098219A1/en active Pending
- 2022-09-26 CN CN202211186077.3A patent/CN115903773A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230098219A1 (en) | 2023-03-30 |
CN115903773A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Surmann et al. | Deep reinforcement learning for real autonomous mobile robot navigation in indoor environments | |
Liu et al. | Robot navigation in crowded environments using deep reinforcement learning | |
US11511420B2 (en) | Machine learning device, robot system, and machine learning method for learning operation program of robot | |
US9384443B2 (en) | Robotic training apparatus and methods | |
JP4803212B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
JP2019109691A (ja) | 移動体挙動予測装置および移動体挙動予測方法 | |
KR102303126B1 (ko) | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 | |
Sahu et al. | An intelligent path planning approach for humanoid robots using adaptive particle swarm optimization | |
Tung et al. | Socially aware robot navigation using deep reinforcement learning | |
JP2023051421A (ja) | 移動体制御装置、移動体、学習装置、学習方法、および、プログラム | |
CN114667494A (zh) | 机器人控制模型学习方法、机器人控制模型学习装置、机器人控制模型学习程序、机器人控制方法、机器人控制装置、机器人控制程序以及机器人 | |
Özaln et al. | An implementation of vision based deep reinforcement learning for humanoid robot locomotion | |
CN114485673A (zh) | 基于深度强化学习的服务机器人人群感知导航方法及系统 | |
CN113988196A (zh) | 一种机器人移动方法、装置、设备及存储介质 | |
EP2898996A1 (en) | Method of controlling a robotic system and a robotic system controller for implementing this method | |
JP2016224680A (ja) | 自己位置推定装置及び自己位置推定装置を備えた移動体 | |
Lemos et al. | Navigation robot training with Deep Q-Learning monitored by Digital Twin | |
Mainampati et al. | Implementation of human in the loop on the TurtleBot using reinforced learning methods and robot operating system (ROS) | |
JP2023051351A (ja) | 移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置 | |
Khaksar et al. | Learning from virtual experience: Mapless navigation with neuro-fuzzy intelligence | |
JP7459238B2 (ja) | ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム | |
Truong et al. | An efficient navigation framework for autonomous mobile robots in dynamic environments using learning algorithms | |
Raj et al. | Dynamic Obstacle Avoidance Technique for Mobile Robot Navigation Using Deep Reinforcement Learning | |
JP7098080B1 (ja) | ロボット制御装置 | |
Lemos et al. | Robot training and navigation through the deep Q-Learning algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231128 |