JP6216700B2 - 行動制御装置、方法及びプログラム - Google Patents
行動制御装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6216700B2 JP6216700B2 JP2014177471A JP2014177471A JP6216700B2 JP 6216700 B2 JP6216700 B2 JP 6216700B2 JP 2014177471 A JP2014177471 A JP 2014177471A JP 2014177471 A JP2014177471 A JP 2014177471A JP 6216700 B2 JP6216700 B2 JP 6216700B2
- Authority
- JP
- Japan
- Prior art keywords
- action
- control
- value
- target
- control object
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 73
- 230000009471 action Effects 0.000 claims description 318
- 230000006870 function Effects 0.000 claims description 133
- 239000011800 void material Substances 0.000 claims description 73
- 230000006399 behavior Effects 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 description 18
- 230000015572 biosynthetic process Effects 0.000 description 13
- 238000010187 selection method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 6
- 230000002787 reinforcement Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
Description
[理論的背景]
まず、行動制御装置及び方法の理論的背景について説明する。以下、行動制御の対象である制御対象物が、ロボットである場合を例に挙げて説明するが、制御対象物は、制御の対象となり得るものであれば、ロボット以外であってもよい。
0: 静止
1: 二次元平面上で右方向に1格子だけ移動する
2: 二次元平面上で上方向に1格子だけ移動する
3: 二次元平面上で左方向に1格子だけ移動する
4: 二次元平面上で下方向に1格子だけ移動する
N台あるすべてのロボットは、この状態変数を引数とした入口位置の数と同じM個の価値関数Qj(L,a)(j=1,2,…,M)を共有する。すなわち、各時刻ステップにおける価値関数Qj(L,a)の更新は、N台の各ロボットが同じ価値関数を各々の経験によって更新する(すなわち、1時刻ステップでN回の更新を行う)。更新式は以下の通りである。
(Xre[i],Yre[i])∈G …(3)
として、各ロボットはG内の全ての全ての位置を自由に目標位置とすることができるものとする。つまり、Gをちょうど流体を注ぐ器のようなものとして扱う。すなわち、各ロボットは、Gの境界上にある決められた位置からGに入ることが可能であるが、一度G内に入ったロボットは、Gを出る行動をとることができないものとする。また、強化学習時における報酬の設定については、G内の境界上に複数の入口位置Pe[j]=(Xpe[j],Ype[j]) (j=1,2,…,M)を設定し、ロボットがPe[j]からG内に入ったときのみ、Qj(L,a)の値の更新時に、高報酬であるr=1を与え、それ以外の経験については、すべてr=0を与えるものとする。Pe[j]の位置はGの内部であって、Gの境界上であればどこでも構わないが、ロボットの開始位置から近い位置を選ぶのがロボットの動作をスムーズにするうえで効果的である。Pe[j]の位置を入口位置と呼ぶ。ここで、さらにM個の入口位置のうち、一つを最終入口位置と定義し、Pe[j_last]とする。
(1)L=Pe[j]のときに値0を返し、それ以外のLの値の場合(L≠Pe[j]のとき)には、入口位置Pe[j]からの縦方向の距離と、横方向の距離の差の和を返す距離関数Dist(L,j)を用意する。例えば、図7の太枠のマスを入口位置Pe[j]とした場合、Dの位置にて、Dist(L,j)の値は、X方向の距離が3、Y方向の距離が2なので、3+2=5となる。
(2)Gに接するG外の全ての位置をEtCandidate[j][h]((h=1,2,…,Hmax(Hmaxは、Gに接するG外の位置の総数))とし、以下の(3)〜(6)のプロセスを繰り返す。
(3)h←1とする。
(4)Dを位置を表す変数D=(x,y)とし、位置DをEtCandidate[j][h]の位置とする。つまり、D←EtCandidate[j][h]。
(5)位置Dに上下左右で隣接する4つの位置(x+1,y),(x,y+1),(x-1,y),(x,y-1)の中に、まず、((i-a)入口位置Pe[j]である位置)がある場合、その位置をDに代入する。続いて、位置Dに上下左右で隣接する4つの位置(x+1,y),(x,y+1),(x-1,y),(x,y-1)の中に((i-b)G外の位置かつ障害物位置ではない位置であって、さらに、(ii)その位置での距離関数Distの値が、位置Dでの距離関数Dist(D,j)の値より小さい位置)がある場合、その位置をDに代入する。さらに、(6)を実行する。位置Dに上下左右で隣接する4つの位置の何れもが、(i-a)または、((i-b)かつ(ii))のいずれをも満たさなければ、EtCandidate[j][h]は経由位置Etに含まれないこととする。h=Hmaxでなければ、hをインクリメントの後、(4)を実行する。h=Hmaxであれば、入口位置Pe[j]に対する経由位置Et[j][h]は全て得られたと判断し、入口位置Pe[j]に対する経由位置Et[j][h]の算出を終了する。
(6)位置Dが入口位置Pe[j]に一致するかを判定し、一致しないならば、(5)に戻る。一致するならば、EtCandidate[j][h]は経由位置Et[j][h]に含まれることとする。h=Hmaxでなければ、hをインクリメントの後、(4)を実行する。h=Hmaxであれば、入口位置Pe[j]に対する経由位置Et[j][h]の算出を終了する。
経由位置Et[j][h]を判定するために使用する価値関数Qet_j(L,a)(j=1,2,…,M)を各入口位置Pe[j]ごとに用意し、学習において、価値関数Qj(L,a)の更新と同じタイミングにて、同様に式(1)を使用して価値関数Qet_j(L,a)を更新する。Qet_jとQjでは、報酬の与え方も同じである。Qet_jとQjの学習で異なるのは、経由位置Et[j][h]を経由しないでロボットがG内に入った場合でも、Qet_jの場合は、式(1)による値の更新を行う点である。各位置Lにおいて、Qet_j(L,a)の値の最大値を返す関数をQet_j_max(L)としたとき、上記、(1)〜(6)のプロセスにおけるDist(L,j)関数をQet_j_max(L)関数に置き換えた以下の処理によっても、同様にEt[j][h]の計算を行うことができる。この手法でEt[j][h]の計算をする場合は、学習プロセス中の各時刻ステップ毎に、Et[j][h]の更新を行う。
(1)Gに接するG外の全ての位置をEtCandidate[j][h]((h=1,2,…,Hmax(Hmaxは、Gに接するG外の位置の総数))とし、以下の(3)〜(6)のプロセスを繰り返す。
(2)h←1とする。
(3)Dを位置を表す変数D=(x,y)とし、位置DをEtCandidate[j][h]の位置とする。
(4)Dに上下左右で隣接する4点の中に、まず、((i-a)入口位置Pe[j]である位置)である位置が存在する場合、その位置をDに代入する。続いて、Dに上下左右で隣接する4点の中に((i-b)G外であって障害物位置ではない位置であって、かつ、(ii)その位置でのQet_j_max関数の値が、位置DでのQet_j_max関数の値より大きい位置がある)場合、その位置をDに代入する。さらに、(5)を実行する。位置Dに上下左右で隣接する4つの位置の何れもが、(i-a)、または、((i-b)かつ(ii))のいずれをも満たさなければ、EtCandidate[j][h]は経由位置Etに含まれないこととする。h=Hmaxでなければ、hをインクリメントの後、(3)を実行する。h=Hmaxであれば、入口位置Pe[j]に対する経由位置Et[j][h]の算出を終了する。
(5)位置Dが入口位置Pe[j]に一致するかを判定し、一致しないならば、(4)に戻る。一致するならば、EtCandidate[j][h]は経由位置Et[j][h]に含まれることとする。h=Hmaxでなければ、hをインクリメントの後、(3)を実行する。h=Hmaxであれば、入口位置Pe[j]に対する経由位置Et[j][h]の算出を終了する。
または、Qj(L,a)の状態Lでの最大値をQj_max(L)関数とし、上記(4)(5)の項を以下のように置き換えてもよい。
次にG内での行動選択について述べる。G内においてもGの外部と同様に、包摂構造による行動選択を行うが、Qxthモジュールの動作がGの内部では異なる。G内部では、Qxthモジュールは、まずロボット位置Lの隣の位置(xr[i]+1,yr[i])、(xr[i],yr[i]+1)、(xr[i]-1,yr[i])、(xr[i],yr[i]-1)にある各ボイドについてQj_last値を最大化する行動が、ボイドを現在のロボット位置に向かわせるようになっているボイドを、候補ボイドとして複数選択する。つづいて、それらの候補ボイドの中から、Qmaxの値(式(1)で定義されるQ関数の最大値)をx番目に小さくするものをターゲットボイドとして一つ選択し、選択したターゲットボイドにロボットを向かわせる行動の値を出力する。このようにすることで、ロボットを動かして適切にボイドを最終入口位置Pe[j_last]に誘導し、常に後からGに入ってこようとするロボットに入口を空いた状態に確保することができる。
図を参照して、行動制御装置及び方法の例について説明する。この行動制御装置及び方法は、複数の制御対象物を所定の入口位置を含む目標位置の集合に移動させるための行動制御を行うものである。
入力部11には、N台のロボットのそれぞれの初期位置(xr0[i],yr0[i])及び目標位置(Xre[i],Yre[i])が入力される。ここで、i=1,2,…,Nとする。N個の目標位置の集合は、G={(Xre[1],Yre[1]),(Xre[2],Yre[2]),…,(Xre[N],Yre[N])}として記憶部2に記憶される。
経由位置計算部111では、上述の経由位置の求め方1、2−1及び2−2の何れかによって経由位置Et[j][h]を計算し、計算結果を記憶部2に記憶する。
記憶部2には、M個の入口位置Pe[j]、最終入口位置Pe[j_last]、位置L及びa∈{0,1,2,3,4}の組み合わせのそれぞれについてのQ関数Qj(L,a)、各位置Lについての方策πj (L)の初期値が記憶されているとする。経由位置の求め方2−1、2−2により経由位置を求める場合には、Q関数Qet_j(L,a)の初期値が記憶されているとする。Q関数の初期値は、例えば0を設定すればよい。経由位置計算部111で求めた経由位置Et[j][h]=(Xet[j][h],Yet[j][h])の値も記憶されているものとする。Lの取りうる範囲は、対象となる二次元平面上の領域内の全ての座標である。ただし、Lが障害物位置と合致する場合は、Q(L,a)=0と設定してもよい。
行動割当部12による行動割当処理は、各ロボットについて順次実行される。行動割当部12は、第1割当部12−1,第2割当部12−2,…,第i割当部12−i,…,第N割当部12−Nを例えば備えている。
位置判定部12−i−1は、記憶部2からi番目のロボットの位置(xr[i],yr[i])を読み込み、読み込んだ位置(xr[i],yr[i])が目的位置の集合G内に含まれるか否かを判定する。言い換えれば、位置判定部12−i−1は、ロボットが目標位置に位置するか判定する(ステップA1)。
第j目的領域外行動決定部12−i−2−jの構成の例を図4に示す。
領域外Q関数更新部12−i−2−j−1は、1時刻ステップ前のi番目のロボット位置をL=(xr[i],yr[i])とし、現在のi番目のロボット位置をL‘=(xr’[i],yr’[i])とし、記憶部2に記憶されたQj(L,a)とQj(L’,a)を参照して、1時刻ステップ前のロボットの行動aについて、式(1)によりQj(L,a)を求め、求めたQj(L,a)の値で記憶部2に記憶されたQj(L,a)の値を更新する。また、領域外Q関数更新部12−i−2−j−1は、更新前のQj(L,a)の値と更新後のQj(L,a)の値を制御部14へ出力する。
第1領域外行動候補決定部は、L=(xr[i],yr[i])として、記憶部2に記憶されたQj(L,1),Qj(L,2),Qj(L,3),Qj(L,4)のうちの最大値をとるaの値を第1領域外行動候補値として出力する。
第1領域外包摂制御部12−i−2−j−3は、第1領域外行動候補決定部12−i−2−j−2で決定された第1領域外行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか否かを判定する。
第2領域外行動候補決定部12−i−2−j−4は、L=(xr[i],yr[i])として、記憶部2に記憶されたQj(L,1),Qj(L,2),Qj(L,3),Qj(L,4)のうちの2番目に大きな値をとるaの値を第2領域外行動候補値として出力する。
第2領域外包摂制御部12−i−2−j−5は、第2領域外行動候補決定部12−i−2−j−4で決定された第2領域外行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか否かを判定する。
第3領域外行動候補決定部12−i−2−j−6は、L=(xr[i],yr[i])として、記憶部2に記憶されたQj(L,1),Qj(L,2),Qj(L,3),Qj(L,4)のうちの3番目に大きな値をとるaの値を第3領域外行動候補値として出力する。
第3領域外包摂制御部12−i−2−j−7は、第3領域外行動候補決定部12−i−2−j−6で決定された第3領域外行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか否かを判定する。
第4領域外行動候補決定部12−i−2−j−8は、L=(xr[i],yr[i])として、記憶部2に記憶されたQj(L,1),Qj(L,2),Qj(L,3),Qj(L,4)のうちの4番目に大きな値をとる(つまり、最小値をとる)aの値を第4領域外行動候補値として出力する。
第4領域外包摂制御部12−i−2−j−9は、第4領域外行動候補決定部12−i−2−j−8で決定された第4領域外行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k])(i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか否かを判定する。
目標入口位置決定部12−i−4は、M個の第j目的領域外行動決定部12−i−2−jからそれぞれ第j入口位置用行動値a_gate[i][j]を受け取る。また、各ロボットの位置情報を受け取り、ロボットにより占拠されていない入口位置の情報を求める。なお、ロボットにより占拠されていない入口の番号の集合を、非占拠入口集合Pe_not_occupied∈{0,1,…}とする。例えば、各ロボットの位置情報と記憶部2に格納されている入口位置Pe[j]とが一致するか否かにより、容易に非占拠入口集合Pe_not_occupiedを求めることができる。ここで、最終入口位置j_lastを常に非占拠入口集合Pe_not_occuppiedに含めるようにしてもよい。このような構成とすることで、全ての入口位置が占拠されている場合であっても各ロボットは、行き先を失わずに、効率的に行動を選択することができる。続いて、Pe_not_occupiedに含まれている入口位置に向かうための行動値a_gate[i][j]の中で、Qj(L,a_gate[i][j])が最大となる行動値a_gate[i][j]を選択して、ロボットiの行動a[i]として決定し、出力する。
目的領域内行動決定部12−i−3の詳細構成を図5に示す。
領域内Q関数更新部12−i−31は、1ステップ前のi番目のロボットの位置(xr[i],yr[i])をLとし、現在のi番目のロボット位置をL’として、以下の処理を行う。
(1)もし、LがG外の場合には、各入口位置j用価値関数Qj(L,a)について、Lが第j入口位置用の経由位置Et[j][h](h=1,2,…,Hj)のいずれかの位置と一致するか否かを判定し、一致する場合のみ、記憶部2に記憶されたQj(L,a)とQj(L’a)を参照して、1時刻ステップ前のロボットの行動aについて、式(1)によりQj(L,a)を求め、求めたQj(L,a)の値で記憶部2に記憶されたQj(L,a)の値を更新する。なお、Lが第j入口位置用の経由位置Et[j][h]のいずれとも一致しない場合には、Qj(L,a)の値を更新しない。
(2)もし、LがG内の場合には、各入口位置j用価値関数Qj(L,a)について、記憶部2に記憶されたQj(L,a)とQj(L’a)を参照して、1時刻ステップ前のロボットの行動aについて、式(1)によりQj(L,a)を求め、求めたQj(L,a)の値で記憶部2に記憶されたQj(L,a)の値を更新する。
候補ボイド集合生成部12−i−32は以下の(1)から(3)の処理を行う。
第1領域内行動候補決定部12−i−33は、「候補ボイド集合」から候補ボイドQ関数値が最小となる候補ボイドQ関数値に対応する候補ボイド位置L’を「第1ターゲット位置」として決定する。
第1領域内包摂制御部12−i−34は、第1領域内行動候補決定部12−i−33で決定された第1領域内行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか、位置(xr’[i],yr’[i])がGの外部であるか否かを判定する。
第2領域内行動候補決定部12−i−35は、「候補ボイド集合」から候補ボイドQ関数値が2番目に小さな値をとる候補ボイドQ関数値に対応する候補ボイド位置L’を「第2ターゲット位置」として決定する。
第2領域内包摂制御部12−i−36は、第2領域内行動候補決定部12−i−35で決定された第2領域内行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか、位置(xr’[i],yr’[i])がGの外部であるか否かを判定する。
第1領域内行動候補決定部12−i−37は、「候補ボイド集合」から候補ボイドQ関数値が3番目に小さな値をとる候補ボイドQ関数値に対応する候補ボイド位置L’を「第3ターゲット位置」として決定する。
第3領域内包摂制御部12−i−38は、第3領域内行動候補決定部12−i−37で決定された第3領域内行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか、位置(xr’[i],yr’[i])がGの外部であるか否かを判定する。
第4領域内行動候補決定部12−i−39は、「候補ボイド集合」から候補ボイドQ関数値が4番目に小さな値をとる候補ボイドQ関数値に対応する候補ボイド位置L’を「第4ターゲット位置」として決定する。
第4領域内包摂制御部12−i−310は、第4領域内行動候補決定部12−i−39で決定された第4領域内行動候補値に従ってi番目のロボットが移動すると仮定したときの移動後の位置(xr’[i],yr’[i])に他のロボットが存在するか否かを判定する。つまり、(xr’[i],yr’[i])=(xr[k],yr[k]) (i≠k)となるkが存在するか否かを判定する。さらに、位置(xr’[i],yr’[i])に障害物が存在するか、位置(xr’[i],yr’[i])がGの外部であるか否かを判定する。
位置更新部13は、各i=1,2,…,Nについて、i番目のロボットの現在の位置(xr[i],yr[i])において、行動割当部12から出力された行動値a[i]に対応する行動をとった場合のロボットの移動後(行動後)の位置(xr’[i],yr’[i])を計算し、計算された(xr’[i],yr’[i])で記憶部2に格納されたi番目のロボットの位置を更新する。言い換えれば、位置更新部13は、行動割当部12によって決定された行動に基づいて例えばロボットである制御対象物のそれぞれの位置を更新する(ステップA4)。更新後の位置の系列{(xr’[1],yr’[1]),(xr’[2],yr’[2]),…,(xr’[N],yr’[N])}は、制御部14に入力される。
制御部14は、行動割当部12と位置更新部13との処理を繰り返し行うように制御する(ステップA5)。
スケジューリング部3は、以上の学習部1の処理により得られたQ関数と方策とを用いて、N台の実ロボットが初期位置から目的の隊列を形成するための各ロボットの行動計画を決定する。スケジューリング部の詳細構成を図6に示す。スケジューリング部3は、初期状態入力部31と行動割当部32と位置更新部33と目標位置到達判定部34とを含む。
初期状態入力部31には、N台のロボットのそれぞれの初期位置(xr0[i], yr0[i])[i=1,2,…,N]が入力される。
行動割当部32の処理は学習部1の行動割当部12と同様である。i=1,2,…,Nとして、第i割当部32−iは、学習部1の行動割当部12の第i割当部12−iと同様である。
位置更新部33の処理は、学習部1の位置更新部13と同様である。すなわち、位置更新部33は、行動割当部32によって決定された行動に基づいて例えばロボットである制御対象物のそれぞれの位置を更新する(ステップB4)。
目標位置到達判定部34は、各i=1,2,…,Nについて、位置更新部33から出力された更新後の位置(xr’[i],yr’[i])∈Gであるか否かを判定し、全てのiについて(xr’[i],yr’[i])∈Gである場合には、現在記憶部2に記憶されている行動系列A[i]={a1[i],a2[i],…,at−1[i],at[i]}をスケジューリング結果として出力する。少なくとも1つ以上のiについて(xr’[i],yr’[i])∈Gを満たさない場合には、目標位置到達判定部34は、行動割当部32及び位置更新部33を再度実行するよう制御する(ステップB5)。
このような構成とすることで、ボイド制御により、任意形状の隊列制御が可能となる。また、M個の価値関数のみで制御対象物を制御することができるため、計算負荷を従来よりも低くすることができる。さらに、経由位置から目標位置への進入を可能とすることで、目標位置に入ろうとするロボットが入口位置に集中して渋滞を起こすことを低減することができる。
なお、行動制御装置は、制御対象物の何れかに実装してもよいし、他の装置(サーバ)に実装してもよい。また、学習部1とスケジューリング部3とを別々の装置に実装し、学習部1での処理の結果を、スケジューリング部3を備える装置の記憶部内に記憶してもよい。また、前述の通り、制御対象物は、制御の対象となり得るものであればよく、例えば、仮想的なものであってもよい。例えば、行動制御装置をコンピュータ上に実装し、同じコンピュータ上で動く仮想的なロボットに対して、本実施形態の処理を実行する。つまり、仮想的なロボットに対して、学習部1及びスケジューリング部3の処理を行う。その結果得られるN個の行動系列A[i]={a1[i],a2[i],…,at−1[i],at[i]}を記憶部2から取り出し、実体のN個のロボットにその行動系列A[i]に沿った行動を実行させてもよい。
2 記憶部
3 スケジューリング部
11 入力部
111 経由位置計算部
12 行動割当部
12−i−1 位置判定部
12−i−2−j 第j目的領域外行動決定部
12−i−3 目的領域内行動決定部
13 位置更新部
14 制御部
31 初期状態入力部
32 行動割当部
33 位置更新部
34 目標位置到達判定部
Claims (7)
- Mを1以上の整数とし、複数の制御対象物を所定のM個の入口位置を含む目標位置の集合中のいずれかの位置に移動させるための行動制御を行う行動制御装置であって、
前記制御対象物は、当該制御対象物がその制御対象物の現在の位置Lにおいて各行動aを取ったときの適切さを表すM個の価値関数に基づいて行動制御が行われるとして、
前記価値関数は、マルコフ状態空間を前記入口位置の個数であるMと同じ個数の制御対象物の状態変数のみで構成し、前記入口位置のいずれかから目標位置の集合内に入る行動に高い報酬が与えられるよう学習されたものであり、
(1)各前記制御対象物の位置が前記目標位置の集合内に含まれるか判定する位置判定部と、(2)m=1,2,…,Mとし、制御対象物の位置が前記目標位置の集合内に含まれないと判定された前記制御対象物について、当該制御対象物がm番目の入口位置に向かうことを理想的な状態として当該制御対象物の現在の位置に基づいて前記m番目の入口位置に対応するm個目の価値関数を更新し、当該制御対象物が移動可能な位置の中で前記更新後の価値関数の値が最も大きい位置に移動する行動を当該制御対象物の行動として決定するM個の目的領域外行動決定部と、(3)制御対象物の位置が前記目標位置の集合内に含まれると判定された前記制御対象物について、当該制御対象物がM個の入口位置の内の1つであって、当該制御対象物よりも後に前記目標位置の集合内に入る制御対象物のために空けておかれる入口位置である最終入口位置を占拠しないように移動する行動を当該制御対象物の行動として決定する目的領域内行動決定部と、を含む行動割当部と、
前記決定された行動に基づいて前記各制御対象物の位置を更新する位置更新部と、
前記行動割当部と位置更新部との処理を繰り返し行うように制御する制御部と、
を含み、
前記M個の入口位置の各々について、当該入口位置ごとに対応する経由位置が複数設定されているものとして、当該各入口位置には当該入口位置に対応する経由位置のいずれかからのみ入ることができるという条件で前記M個の価値関数を学習したときに、前記M個の価値関数の学習の結果それぞれ得られたM個の行動方策関数と、前記目的領域外行動決定部の行動選択方法を使用して制御対象物が行動選択をするものとし、
制御対象物が目標位置の集合の外部から目標位置の集合の内部に入る行動をとった際の前記M個の価値関数の値の更新は、この経由位置を経由した場合においてのみ行われ、それ以外の位置を経由した場合には行われないものとする、
行動制御装置。 - 請求項1の行動制御装置であって、
前記Mは2以上の整数であり、
前記行動割当部は、
制御対象物の位置が前記目標位置の集合内に含まれないと判定された前記制御対象物について、他の制御対象物により占拠されていない入口位置の各々に向かう行動の中で、価値関数の値が最も大きくなる行動を当該制御対象物の行動として決定する目標入口位置決定部を含む、
行動制御装置。 - 請求項1または請求項2の行動制御装置であって、
前記目的領域内行動決定部は、制御対象物の位置が前記目標位置の集合に含まれると判定された前記制御対象物について、当該制御対象物の移動に伴ってその制御対象物と位置が入れ替わる仮想的な存在であるボイドが前記最終入口位置に向かうことを理想的な状態として前記ボイドの現在の位置に基づいて前記最終入口位置に対応する価値関数を更新し、当該制御対象物の現在の位置Lに移動可能な位置であるボイド位置の中で前記更新後の価値関数の値を最大にする行動が前記位置Lに移動する行動である位置を候補ボイド位置とし、その最大にする行動に対応する前記更新後の価値関数の値を候補ボイドQ関数値として、前記候補ボイド位置の中で当該制御対象物が移動可能な位置であり候補ボイドQ関数値が最小である位置に移動する行動を当該制御対象物の行動として決定する、
行動制御装置。 - Mを1以上の整数とし、行動制御装置を用いて、複数の制御対象物を所定のM個の入口位置を含む目標位置の集合中のいずれかの位置に移動させるための行動制御を行う行動制御方法であって、
前記制御対象物は、当該制御対象物がその制御対象物の現在の位置Lにおいて各行動aを取ったときの適切さを表すM個の価値関数に基づいて行動制御が行われるとして、
前記価値関数は、マルコフ状態空間を前記入口位置の個数であるMと同じ個数の制御対象物の状態変数のみで構成し、前記入口位置のいずれかから目標位置の集合内に入る行動に高い報酬が与えられるよう学習されたものであり、
(1)各前記制御対象物の位置が前記目標位置の集合内に含まれるか判定する位置判定ステップと、(2)m=1,2,…,Mとし、制御対象物の位置が前記目標位置の集合内に含まれないと判定された前記制御対象物について、当該制御対象物がm番目の入口位置に向かうことを理想的な状態として当該制御対象物の現在の位置に基づいて前記m番目の入口位置に対応するm個目の価値関数を更新し、当該制御対象物が移動可能な位置の中で前記更新後の価値関数の値が最も大きい位置に移動する行動を当該制御対象物の行動として決定するM個の目的領域外行動決定ステップと、(3)制御対象物の位置が前記目標位置の集合内に含まれると判定された前記制御対象物について、当該制御対象物がM個の入口位置の内の1つであって、当該制御対象物よりも後に前記目標位置の集合内に入る制御対象物のために空けておかれる入口位置である最終入口位置を占拠しないように移動する行動を当該制御対象物の行動として決定する目的領域内行動決定ステップと、を含む行動割当ステップと、
前記決定された行動に基づいて前記各制御対象物の位置を更新する位置更新ステップと、
前記行動割当ステップと位置更新ステップとの処理を繰り返し行うように制御する制御ステップと、
を含み、
前記M個の入口位置の各々について、当該入口位置ごとに対応する経由位置が複数設定されているものとして、当該各入口位置には当該入口位置に対応する経由位置のいずれかからのみ入ることができるという条件で前記M個の価値関数を学習したときに、前記M個の価値関数の学習の結果それぞれ得られたM個の行動方策関数と、前記目的領域外行動決定ステップの行動選択方法を使用して制御対象物が行動選択をするものとし、
制御対象物が目標位置の集合の外部から目標位置の集合の内部に入る行動をとった際の前記M個の価値関数の値の更新は、この経由位置を経由した場合においてのみ行われ、それ以外の位置を経由した場合には行われないものとする、
行動制御方法。 - 請求項4の行動制御方法であって、
前記Mは2以上の整数であり、
前記行動割当ステップは、
制御対象物の位置が前記目標位置の集合内に含まれないと判定された前記制御対象物について、他の制御対象物により占拠されていない入口位置の各々に向かう行動の中で、価値関数の値が最も大きくなる行動を当該制御対象物の行動として決定する目標入口位置決定ステップを含む、
行動制御方法。 - 請求項4または請求項5の行動制御方法であって、
前記目的領域内行動決定ステップは、制御対象物の位置が前記目標位置の集合に含まれると判定された前記制御対象物について、当該制御対象物の移動に伴ってその制御対象物と位置が入れ替わる仮想的な存在であるボイドが前記最終入口位置に向かうことを理想的な状態として前記ボイドの現在の位置に基づいて前記最終入口位置に対応する価値関数を更新し、当該制御対象物の現在の位置Lに移動可能な位置であるボイド位置の中で前記更新後の価値関数の値を最大にする行動が前記位置Lに移動する行動である位置を候補ボイド位置とし、その最大にする行動に対応する前記更新後の価値関数の値を候補ボイドQ関数値として、前記候補ボイド位置の中で当該制御対象物が移動可能な位置であり候補ボイドQ関数値が最小である位置に移動する行動を当該制御対象物の行動として決定する、
行動制御方法。 - 請求項1から請求項3の何れかの行動制御装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014177471A JP6216700B2 (ja) | 2014-09-01 | 2014-09-01 | 行動制御装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014177471A JP6216700B2 (ja) | 2014-09-01 | 2014-09-01 | 行動制御装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016051400A JP2016051400A (ja) | 2016-04-11 |
JP6216700B2 true JP6216700B2 (ja) | 2017-10-18 |
Family
ID=55658834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014177471A Active JP6216700B2 (ja) | 2014-09-01 | 2014-09-01 | 行動制御装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6216700B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7069896B2 (ja) * | 2018-03-16 | 2022-05-18 | 株式会社豊田中央研究所 | 制御装置、移動体、自律分散制御プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018490A (ja) * | 2005-02-23 | 2007-01-25 | Sony Corp | 行動制御装置および行動制御方法、並びに、プログラム |
JP2007176355A (ja) * | 2005-12-28 | 2007-07-12 | Matsushita Electric Ind Co Ltd | 自動運転制御装置、及びそれを搭載した車両 |
JP5931685B2 (ja) * | 2012-10-12 | 2016-06-08 | 日本電信電話株式会社 | ロボット協調搬送計画装置、方法、プログラム |
-
2014
- 2014-09-01 JP JP2014177471A patent/JP6216700B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016051400A (ja) | 2016-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6189784B2 (ja) | 行動制御装置、方法及びプログラム | |
JP7429372B2 (ja) | 動作環境におけるルートプランを最適化するためのシステム及び方法 | |
US20210103286A1 (en) | Systems and methods for adaptive path planning | |
Wu et al. | The cooperative sorting strategy for connected and automated vehicle platoons | |
Kiranyaz et al. | Multi-dimensional particle swarm optimization in dynamic environments | |
Faridi et al. | Multi-robot multi-target dynamic path planning using artificial bee colony and evolutionary programming in unknown environment | |
Ha et al. | A decision model to determine the number of shuttles in a tier-to-tier SBS/RS | |
Godoy et al. | Adaptive learning for multi-agent navigation | |
CN105808852A (zh) | 一种基于元胞自动机的室内行人微观仿真方法 | |
JP2014211667A (ja) | ロボット協調搬送計画装置、方法及びプログラム | |
KR20150137166A (ko) | 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법 | |
KR102451123B1 (ko) | 다중 로봇의 엘리베이터 승하차 방법 및 장치 | |
Kirik et al. | The shortest time and/or the shortest path strategies in a CA FF pedestrian dynamics model | |
Guy et al. | Guide to anticipatory collision avoidance | |
Godoy et al. | ALAN: adaptive learning for multi-agent navigation | |
JP6216700B2 (ja) | 行動制御装置、方法及びプログラム | |
Zhu et al. | A hybrid navigation strategy for multiple mobile robots | |
Bruneau et al. | Eacs: Effective avoidance combination strategy | |
JP6285849B2 (ja) | 行動制御システム、その方法及びプログラム | |
WO2023136020A1 (en) | Pathfinding apparatus, pathfinding method, and non-transitory computer-readable storage medium | |
Zhang et al. | Intelligent scheduling of public traffic vehicles based on a hybrid genetic algorithm | |
CN111125886A (zh) | 一种基于三种不同行为的人群疏散仿真系统及仿真方法 | |
EP3637256A1 (en) | Exploring an unexplored domain by parallel reinforcement | |
KR102479404B1 (ko) | 모바일 엣지 컴퓨팅 환경에서 효율적인 서비스 마이그레이션을 위한 서비스 소비 계획을 제공하는 컴퓨터 시스템 및 그의 방법 | |
Mu et al. | Optimizing pedestrian simulation based on expert trajectory guidance and deep reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6216700 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |