(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-07
(45)【発行日】2024-11-15
(54)【発明の名称】移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置
(51)【国際特許分類】
G05D 1/43 20240101AFI20241108BHJP
【FI】
G05D1/43
(21)【出願番号】P 2021161960
(22)【出願日】2021-09-30
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】松▲崎▼ 燦心
(72)【発明者】
【氏名】長谷川 雄二
【審査官】牧 初
(56)【参考文献】
【文献】特開2010-055498(JP,A)
【文献】国際公開第2016/104265(WO,A1)
【文献】米国特許出願公開第2019/0361452(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00- 1/87
G01C 21/00-21/36
G01C 23/00-25/00
B25J 1/00-21/02
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
少なくとも自移動体の周辺の他の移動体の位置情報および前記自移動体の移動方向を示す情報をモデルに入力することで、前記モデルが出力した出力結果に基づいて、前記自移動体の周辺に存在する
前記他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定する経路決定部と、
前記経路決定部により決定された経路に沿って前記自移動体を移動させる制御部と、を備え、
前記モデルは、前記自移動体と他の移動体のそれぞれの移動動作をシミュレートした処理結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価した評価結果に基づいて学習することで、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価するモデルである、
移動体制御装置。
【請求項2】
前記経路決定部は、複数の前記他の移動体の移動ベクトルの変化の合計を低減するように前記自移動体の経路を決定する、
請求項1に記載の移動体制御装置。
【請求項3】
前記経路決定部は、前記他の移動体の移動ベクトルの変化を独立変数として持つ報酬関数の値が良好な値となるように前記自移動体の経路を決定する、
請求項1または2記載の移動体制御装置。
【請求項4】
前記経路決定部は、前記他の移動体の移動ベクトルの向く方向に大きく、前記他の移動体の移動ベクトルの向く方向の側方および反対方向に小さい領域に進入しないように前記自移動体の経路を決定する、
請求項1から3のうちいずれか1項記載の移動体制御装置。
【請求項5】
請求項1から4のうちいずれかに記載の移動体制御装置と、
周辺環境を検知する周辺検知装置と、
ユーザへ所定のサービスを提供するための作業部と、
前記移動体制御装置によって制御され、移動体を移動させる駆動部と、
を備え、
前記移動体制御装置は、前記周辺環境に基づく他の移動体の状態を入力することで、前記移動体を移動させる制御パラメータを出力する、
移動体。
【請求項6】
コンピュータが、
少なくとも自移動体の周辺の他の移動体の位置情報および前記自移動体の移動方向を示す情報をモデルに入力することで、前記モデルが出力した出力結果に基づいて、前記自移動体の周辺に存在する
前記他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定し、
前記経路に沿って前記自移動体を移動させ、
前記モデルは、前記自移動体と他の移動体のそれぞれの移動動作をシミュレートした処理結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価した評価結果に基づいて学習することで、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価するモデルである、
移動体制御方法。
【請求項7】
コンピュータに、
少なくとも自移動体の周辺の他の移動体の位置情報および前記自移動体の移動方向を示す情報をモデルに入力することで、前記モデルが出力した出力結果に基づいて、前記自移動体の周辺に存在する
前記他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定させ、
前記経路に沿って前記自移動体を移動させることを行わせ、
前記モデルは、前記自移動体と他の移動体のそれぞれの移動動作をシミュレートした処理結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価した評価結果に基づいて学習することで、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価するモデルである、
プログラム。
【請求項8】
自移動体と他の移動体のそれぞれの移動動作をシミュレートするシミュレーション部と、
前記シミュレーション部の処理結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価する評価部と、
前記評価部の評価結果に基づいて学習する学習部と、を備え、
前記評価部は、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価する、
学習装置。
【請求項9】
前記評価部は、前記自移動体が、前記他の移動体の移動ベクトルの向く方向に大きく、前記他の移動体の移動ベクトルの向く方向の側方および反対方向に小さい領域に進入した場合、前記自移動体の移動動作を低く評価する、
請求項8記載の学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置に関する。
【背景技術】
【0002】
近年、AI(人工知能)の発展に従い、自律的移動体が人間と混在する環境において、強化学習によって経路を決定する研究が行われている。しかし、人混みが存在する交通環境において、ロボットと歩行者の干渉状態が頻発している。
【0003】
これに関連し、人の移動に対して安全・安心な回避行動を取るために、自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が目的地までの交通環境に存在する条件下で決定する経路決定装置の発明が開示されている(特許文献1参照)。この経路決定装置は、所定の予測アルゴリズムを用いて、ロボットと交通参加者との干渉が回避されるように、ロボットの経路の予測値である予測経路を決定する予測経路決定部と、ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路を決定する経路決定部と、を備える。
【0004】
また、非特許文献1には、報酬関数に関して、周囲の人との協調性を向上するため、横切り、対向、追い抜きの三つのパターンを考慮した上、報酬関数を作成し、所定のアルゴリズムを用いてロボットに学習させるということについて記載されている。
【0005】
また、非特許文献2には、報酬関数に関して、ロボットおよび人のそれぞれの進行方向に沿って重なる領域において、移動している人の数を巡って、報酬関数を作成し、所定のアルゴリズムを用いてロボットに学習させるということについて記載されている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【文献】”Socially Aware Motion Planning with Deep Reinforcement Learning”, Yu Fan Chen, Michael Everett, Miao Liu, Jonathan P.How, 2017.3.26, <<https://arxiv.org/pdf/1703.08862.pdf>>
【文献】” Mapless Navigation among Dynamics with Social-safety-awareness:a reinforcement learning approach from 2D laser scans”, Jun Jin, Nhat M. Nguyen, Nazmus Sakib, Daniel Graves, Hengshuai Yao, and Martin Jagersand, 2020.3.5., <<https://arxiv.org/pdf/1911.03074.pdf>>
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記従来の技術では、移動体が周囲の他の移動体の行動に与える影響が考慮されていないため、周囲の他の移動体に対して親和性の高い行動をとることができない場合があった。また、特許文献1に記載の技術では他の移動体の動作(ロボットの経路)を予測しているが、他の移動体の動作を精度良く予測するのは現在の技術でも困難である。
【0009】
本発明は、このような事情を考慮してなされたものであり、周囲の他の移動体の将来の動作を予測することなく、周囲の他の移動体に対して親和性の高い行動を移動体にとらせることができる移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置を提供することを目的の一つとする。
【課題を解決するための手段】
【0010】
この発明に係る移動体制御装置、移動体、移動体制御方法、プログラム、または学習装置は、以下の構成を採用した。
(1):この発明の一態様に係る移動体制御装置は、自移動体の周辺に存在する他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定する経路決定部と、前記経路決定部により決定された経路に沿って前記自移動体を移動させる制御部と、を備える移動体制御装置である。
【0011】
(2):上記(1)の態様において、前記経路決定部は、複数の前記他の移動体の移動ベクトルの変化の合計を低減するように前記自移動体の経路を決定するものである。
【0012】
(3):上記(1)または(2)の態様において、前記経路決定部は、前記他の移動体の移動ベクトルの変化を独立変数として持つ報酬関数の値が良好な値となるように前記自移動体の経路を決定するものである。
【0013】
(4):上記(1)から(3)のうち、いずれかの態様において、前記経路決定部は、前記他の移動体の移動ベクトルの向く方向に大きく、前記他の移動体の移動ベクトルの向く方向の側方および反対方向に小さい領域に進入しないように前記自移動体の経路を決定するものである。
【0014】
(5):本発明の他の態様に係る移動体は、上記(1)から(4)のうちいずれかに記載の移動体制御装置と、周辺環境を検知する周辺検知装置と、ユーザへ所定のサービスを提供するための作業部と、前記移動体制御装置によって制御され、移動体を移動させる駆動部とを備え、前記移動体制御装置は、前記周辺環境に基づく他の移動体の状態を入力することで、前記移動体を移動させる制御パラメータを出力する、移動体である。
【0015】
(6):本発明の他の態様に係る移動体制御方法は、コンピュータが、自移動体の周辺に存在する他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定し、前記経路決定部により決定された経路に沿って前記自移動体を移動させる移動体制御方法である。
【0016】
(7):本発明の他の態様に係るプログラムは、コンピュータに、自移動体の周辺に存在する他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定させ、前記経路決定部により決定された経路に沿って前記自移動体を移動させることを行わせるプログラムである。
【0017】
(8):本発明の他の態様に係る学習装置は、自移動体と他の移動体のそれぞれの移動動作をシミュレートするシミュレーション部と、前記シミュレーション部の処理結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価する評価部と、前記評価部の評価結果に基づいて(前記自移動体の好適な移動動作を)学習する学習部とを備え、前記評価部は、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価する学習装置である。
【0018】
(9):上記(8)の態様において、前記評価部は、前記自移動体が、前記他の移動体の移動ベクトルの向く方向に大きく、前記他の移動体の移動ベクトルの向く方向の側方および反対方向に小さい領域に進入した場合、前記自移動体の移動動作を低く評価するものである。
【発明の効果】
【0019】
上記(1)~(3)、(5)~(7)の態様によれば、周囲の他の移動体の将来の動作を予測することなく、他の移動体の移動をなるべく阻害しないように移動体を移動させることができる。この結果、周囲の他の移動体に対して親和性の高い行動を移動体にとらせることができる。
上記(4)の態様によれば、パーソナルスペースを考慮して移動体の経路を決定することができる。
これらより、上記(1)~(7)の態様によれば、周囲の他の移動体の将来の動作を予測することなく、周囲の他の移動体に対して更に親和性の高い行動を、移動体にとらせることができる。
上記(8)の態様によれば、周囲の他の移動体の将来の動作を予測することなく、他の移動体の移動をなるべく阻害しないように学習することができる。この結果、周囲の他の移動体に対して親和性の高い行動を移動体にとらせることができるポリシーを生成することができる。
上記(9)の態様によれば、パーソナルスペースを考慮して学習することができる。
これらより、上記(8)~(9)の態様によれば、周囲の他の移動体の将来の動作を予測することなく、周囲の他の移動体に対して更に親和性の高い行動を、移動体にとらせるための学習を行うことができる。
【図面の簡単な説明】
【0020】
【
図1】実施形態のシステム構成を示す概略図である。
【
図3】報酬関数R
3について説明するための図である。
【
図4】報酬関数R
4について説明するための図である。
【
図5】学習装置100が行う強化学習の学習過程の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照し、本発明の移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置の実施形態について説明する。
【0022】
[学習装置]
図1は、実施形態のシステム構成を示す概略図である。移動体制御システム1は、学習装置100と、移動体200とを備える。学習装置100は、一以上のプロセッサにより実現される。学習装置100は、複数の移動体についてコンピュータシミュレーションにより行動を決定し、その行動によって生じた環境の変化等に基づく報酬を導出または取得し、報酬を最大化する行動(動作)を学習する装置である。動作とは、例えば、シミュレーション空間内での移動である。移動以外の動作が学習対象とされてもよいが、以下の説明では動作とは移動を意味するものとする。移動を決定するシミュレータ(後述するシミュレーション部)は、学習装置100と異なる装置において実行されてもよいが、以下の説明ではシミュレータは学習装置100が実行するものとする。学習装置100は、地図情報などの、シミュレーションの前提となる環境情報を予め記憶している。学習装置100の学習結果は、行動決定モデルMDとして移動体200に搭載される。
【0023】
図2は、学習装置100の構成図である。学習装置100は、例えば、学習部110と、シミュレーション部120と、評価部130とを備える。学習装置100は、自エージェント(移動体200において自移動体となるもの)が、ある目的地に到着するため生成した動作目標と、他エージェント(他の移動体)の位置、移動方向、および移動速度などとをポリシーに入力し、その結果として生じた状態変化(環境の変化)を評価した結果に基づいて、ポリシーを更新する強化学習を行い、学習済のポリシーを出力する装置である。
【0024】
自エージェントとは、ロボットや車両などの移動体を想定した仮想的な動作主体である。他エージェントも同様に、ロボットや車両などの移動体を想定した仮想的な動作主体である。他エージェントの動作決定にもポリシーが用いられるが、他エージェントのポリシーは更新されてもよいし、更新されなくてもよい。
【0025】
学習部110と、シミュレーション部120と、評価部130とは、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性記憶媒体)に格納されていてもよいし、DVD(Digital Versatile Disc)やCD-ROM(Read Only Memory)などの着脱可能な記憶媒体(非一過性記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0026】
学習部110は、シミュレーション部120により生成された状態変化を評価部130が評価した評価結果、および衝突判定結果に基づいて各種強化学習アルゴリズムに従ってポリシーを更新する。学習部110は、更新したポリシーをシミュレーション部120に出力することを、学習が完了するまで繰り返し実行する。
【0027】
シミュレーション部120は、動作目標と、前回の状態(シミュレーションの開始直後であれば初期状態)とをポリシーに入力し、自エージェントと他エージェントの動作の結果である状態変化を導出する。ポリシーは、例えば、DNN(Deep Neural Network)であるが、ルールベースのポリシーなど、他の態様のポリシーであってもよい。ポリシーは、想定される複数種類の動作のそれぞれについて、発生確率を導出するものである。例えば、簡単な例では、想定平面が上下左右に広がるものとして、右移動80%、左移動10%、上移動10%、下移動0%といった結果を出力する。シミュレーション部120は、この結果に乱数を作用させて、乱数値が0%以上、80%未満であれば右移動、乱数値が80%以上、90%未満であれば左移動、乱数値が90%以上であれば上移動というようにエージェントの状態変化を導出する。
【0028】
評価部130は、シミュレーション部120が出力した自エージェントの状態変化を評価する報酬関数Rの値(報酬関数値)を計算し、自エージェントの動作を評価する。
【0029】
報酬関数Rは、式(1)に示されるように、自エージェントが目的地に到着した場合に与えられる報酬関数R1と、自エージェントがスムーズに移動を達成した場合に与えられる報酬関数R2と、自エージェントが他エージェントの移動ベクトルに変化を及ぼした場合に小さくなる報酬関数R3と、他エージェントの向く方向に応じて、自エージェントが他エージェントに接近する時に保持すべき距離を可変にした報酬関数R4とを含む。報酬関数R3は、第1の報酬関数の一例であり、報酬関数R4は、第2の報酬関数の一例である。
【0030】
【0031】
報酬関数R1は、目的地に到達した場合に正の固定値、目的地に到達していない場合に目的地までの距離変化に比例した値(距離変化が減少方向であれば正、増加方向であれば負)となる関数である。
【0032】
報酬関数R2は、エージェントの二次元平面における位置の三回微分すなわちジャーク(躍度)が小さいほど大きい値となる関数である。
【0033】
図3は、報酬関数R
3について説明するための図である。時刻(制御サイクル)tにおいて計算される報酬関数R
3は、時刻t-1の他エージェントの状態から時刻tまでの他エージェントの移動ベクトルa´
i,
t(自エージェントが存在しないと仮定した場合に他エージェントの移動ベクトル)と、時刻t-1の他エージェントの状態から時刻tまでの他エージェントの移動ベクトル(自エージェントが存在した前提での他エージェントの移動ベクトル)a
i,
tとを比較し、これらの差分が大きいほど、結果的な評価値が小さい値となる関数である。つまり、報酬関数R
3は、自エージェントが周辺の他エージェントの移動ベクトルに変化を及ぼさないほど、自エージェントの動作を高く評価するものである。報酬関数R
3は、他エージェントの移動ベクトルの変化を独立変数として持つ目的関数であり、例えば値が大きい程、良好な値であることを示すものである。評価部130は、時刻t-1の他エージェントの状態から自エージェントが存在しないと仮定した場合に想定される時刻tまでの他エージェントの移動ベクトルa´
i,
tを自ら導出してもよいし、シミュレーション部120に導出を依頼してもよい。
【0034】
【0035】
式(2)におけるWは、負の係数、あるいはΣ以降の値が大きいほど低い評価値を返す関数である。ai,tは時刻t-1から時刻tまでの(自エージェントが存在する前提での)各他エージェントの移動ベクトルであり、a´i,tは時刻t-1から時刻tまでの(自エージェントが存在しないと仮定した場合)の各他エージェントの移動ベクトルである。iは他エージェントの識別番号であり、Nは全部の存在する他エージェントの数である。
【0036】
図3において、エージェントHは自エージェントであり、エージェントA1~A5は他エージェントである。例えば、時刻tにおいて、他エージェントA1はa
1,tの移動ベクトルで移動し、他エージェントA2はa
2,tの移動ベクトルで移動し、他エージェントA3はa
3,tの移動ベクトルで移動し、他エージェントA4はa
4,tの移動ベクトルで移動し、他エージェントA5はa
5,tの移動ベクトルで移動している。これに対し、時刻t-1の状態に戻り、導出される自エージェントHが存在しないと仮定した場合の移動ベクトルは、他エージェントA1についてはa´
1,t、他エージェントA2についてはa´
2,t、他エージェントA3についてはa´
3,t、他エージェントA4についてはa´
4,t、他エージェントA5についてはa´
5,tで表される。
【0037】
図4は、報酬関数R
4について説明するための図である。報酬関数R
4は、自エージェントが所定領域に進入した場合に低い評価値を返す関数である。他エージェントAの周辺の領域は、以下の4つの領域(空間)に分けられると考えられている。例えば、境界線D1で囲まれる密接空間、境界線D1と境界線D2で囲まれる個人空間(パーソナルスペース)、境界線D2と境界線D3で囲まれる社会空間、および境界線D3と境界線D4で囲まれる公衆空間に分けられると想定される。
【0038】
本実施形態において、例えば、報酬関数R4は、これらのうち個人空間の外部境界線であるD2に進入した場合に低い評価値を返すものである。個人空間は、社会空間、公衆空間と同様に、他エージェントAを基準として、他エージェントAが向いている(あるいは移動している)向き(F)に関して広く、それ以外の向きに関して狭くなっている。これによって、他エージェントAにとって目の前を通過するような行動に対しては低い評価が、側方や背後を通過するような行動に対しては余り低くない評価が与えられる。
【0039】
評価部130は、自エージェントと他エージェントの座標が一致した場合、自エージェントと他エージェントとが衝突したと判定してもよいし、自エージェントが他エージェントの個人空間に進入した場合、自エージェントと他エージェントとが衝突したと判定してもよい。衝突したと判定した場合、評価部130は、その回のエピソードを終了し、各エージェントの状態を初期化して次のエピソードが開始される。評価部130は、衝突判定結果および動作評価結果を学習部110に出力する。詳しくはフローチャートで説明する。
【0040】
図5は、学習装置100が行う強化学習の学習過程の処理の一例を示すフローチャートである。
【0041】
まず、シミュレーション部120は、自エージェントの動作目標を学習装置100から受け付ける(ステップS200)。次に、学習装置100は、動作目標を入力の一つとして、1サイクル分の各エージェントの動作をシミュレートする(ステップS202)。
【0042】
次に、評価部130は、自エージェントと他エージェントとが衝突したか否かを判定する(ステップS204)。自エージェントと周辺の他エージェントとが衝突していないと判定した場合、評価部130は、報酬関数Rを用いて自エージェントの動作を評価し(ステップS206)、評価した結果を学習部110に出力する。
【0043】
次に、学習部110は、評価部130の評価結果に基づき、強化学習アルゴリズムに従ってポリシーを更新する(ステップS208)。学習部110が更新したポリシーをシミュレーション部120に出力し、シミュレーション部120は、受け付けたポリシーを用いて次回のサイクルの各エージェンの動作をシミュレーションする。
【0044】
次に、学習装置100は、自エージェントと他エージェントの動作の結果である状態変化に基づいて、毎回のポリシーのパラメータの更新量が閾値以下であるか否かを判定する(ステップS210)。ここでのパラメータの更新量とは、例えば、第n回の自エージェンの移動ベクトル等のパラメータが第n-1回の自エージェンの移動ベクトル等のパラメータと比較して変化した量であり、パラメータの変化量の絶対値の総和等である。ポリシーのパラメータ更新量がある閾値m以下である、すなわち、ポリシーのパラメータが余り変化していない場合、学習装置100は、学習過程の処理を終了する。ポリシーのパラメータ更新量がある閾値m以下でない場合、学習装置100は、ステップS202に戻る。これに代えて、所定サイクル数の処理を終了したときに学習過程の処理を終了するようにしてもよい。
【0045】
ステップS204において、自エージェントと周辺の他エージェントとが衝突したと判定した場合、評価部130は、その判定結果を学習部110に出力し、報酬関数の評価値を下げる(ステップS212)。そして、評価部130がその評価結果を学習部110に出力し、学習部110は、評価部130の評価結果に基づきポリシーを更新する(ステップS214)。更に、学習装置100は、各エージェントの状態を初期化し、ステップS202に戻る。
【0046】
以上説明した学習装置100によれば、周囲の他の移動体の行動をなるべく阻害しないように、強化学習によって行動決定モデル(ポリシー)を生成することができる。これよって、行動決定モデルを採用した移動体制御装置250では、周囲の他の移動体の行動に対して親和性の高い行動を、移動体200にとらせることができる。
【0047】
[移動体]
図6は、移動体200の構成図である。移動体200は、例えば、移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とを備える。移動体200は、車両であってもよいし、ロボット等のような装置であってもよい。移動体制御装置250と、周辺検知装置210と、移動体センサ220と、作業部230と、駆動装置240とは、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。
【0048】
周辺検知装置210は、移動体200の周辺の環境や周辺の他の移動体の動作を検知するための装置である。周辺検知装置210は、例えば、GPS受信機や地図情報などを含む測位装置と、レーダー装置やカメラなどの物体認識装置とを備える。測位装置は、移動体200の位置を測位し、位置を地図情報とマッチングする。レーダー装置は、移動体200の周辺にミリ波などの電波を放射すると共に、物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。レーダー装置は、物体の位置および移動ベクトルを検出してもよい。カメラは、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子を利用したデジタルカメラであり、撮像画像から物体の位置を認識する画像処理装置が付設されている。周辺検知装置210は、移動体200の地図上の位置や移動体200の周辺に存在する物体(前述した他エージェントに相当する他の移動体を含む)の位置等の情報を移動体制御装置250に出力する。
【0049】
移動体センサ220は、例えば、移動体200の速度を検出する速度センサ、加速度を検出する加速度センサ、鉛直軸回りの角速度を検出するヨーレートセンサ、移動体200の向きを検出する方位センサ等を含む。移動体センサ220は、検出した結果を移動体制御装置250に出力する。
【0050】
作業部230は、例えば、ユーザへ所定のサービスを提供する装置である。ここでのサービスとは、例えば、貨物などを輸送機器への積み込みや荷下ろし等の作業である。作業部230は、例えば、マジックアーム、荷台、マイクやスピーカなどのHMI(Human machine Interface)などを含む。作業部230は、移動体制御装置250から指示された内容に従って動作する。
【0051】
駆動装置240は、移動体200を所望の方向に移動させるための装置である。移動体200がロボットである場合、駆動装置240は例えば二以上の脚部とアクチュエータを含む。移動体200が車両やマイクロモビ、或いは車輪で移動するロボットである場合、駆動装置240は車輪(操舵輪、駆動輪)と車輪を回転させるためのモータやエンジン等を含む。
【0052】
移動体制御装置250は、例えば、経路決定部252と、制御部254と、記憶部256とを備える。経路決定部252と制御部254のそれぞれは、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。プログラムは、予めHDDやフラッシュメモリなどの記憶装置(非一過性記憶媒体)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。これらの構成要素のうち一部または全部は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0053】
記憶部256は、例えば、HDDやフラッシュメモリ、RAM、ROM等である。記憶部256には、例えば、行動決定モデルMD256A等の情報が格納されている。行動決定モデルMD256Aは、学習装置100によって生成された、学習段階の処理の最終時点のポリシーに基づくものである。
【0054】
経路決定部252は、例えば、周辺検知装置210により検知された、移動体200の地図上の位置や移動体200の周辺に存在する物体の位置等の情報(物体の状態)、更にユーザにより入力された目的地の情報を行動決定モデルMD256Aに入力することで、移動体200が次に進むべき位置を決定する。経路決定部252は、これを繰り返すことで、移動体200の経路を順次決定する。
【0055】
制御部254は、経路決定部252により決定された経路を移動体200が移動するように、駆動装置240を制御する。
【0056】
以上説明した移動体制御装置250によれば、周囲の他の移動体の行動をなるべく阻害しないように強化学習によって生成された行動決定モデル(ポリシー)に基づいて移動体200の経路を生成し、経路に沿って移動体200を移動させるため、周囲の他の移動体の行動に対して親和性の高い行動を、移動体200にとらせることができる。
【0057】
本実施形態において、ポリシーの更新は学習段階でのみ行われ、移動体に搭載された後には行われないと想定するが、移動体に搭載された後も学習が継続されてよい。
【0058】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0059】
上記実施形態は、以下のように表現することができる。
プログラムを格納した記憶装置と、
前記記憶装置に接続されたハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記プログラムを実行することにより、
自移動体の周辺に存在する他の移動体の移動ベクトルの変化を低減するように前記自移動体の経路を決定し、
前記決定された経路に沿って前記自移動体を移動させる、
移動体制御装置。
【0060】
上記実施形態は、以下のように表現することもできる。
プログラムを格納した記憶装置と、
前記記憶装置に接続されたハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記プログラムを実行することにより、
自移動体と他の移動体のそれぞれの移動動作をシミュレートし、
前記シミュレーションの結果に報酬関数を適用し、少なくとも前記自移動体の移動動作を評価し、
前記評価の結果に基づいて学習し、
前記評価する際に、前記他の移動体の移動ベクトルの変化が小さい程、前記自移動体の移動動作を高く評価する、
学習装置。
【符号の説明】
【0061】
100 学習措置
110 学習部
120 シミュレーション部
130 評価部
200 移動体
210 周辺検知装置
230 作業部
240 駆動装置
250 移動体制御装置
252 経路決定部
254 制御部
256 記憶部
256A 行動決定モデルMD