(57)【特許請求の範囲】
【請求項１】
不定の流速の流れがある流体の中で出発点に位置する自律移動ロボットを到達点に到達させるための動作計画を行う自律移動ロボットの動作計画装置において、
想定される流速よりも速い流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第一状態遷移確率を計算する第一状態遷移確率計算部と、
各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第一報酬を、障害物を含む状態に遷移する場合に得られる第一報酬が障害物を含まない状態に遷移する場合に得られる第一報酬よりも低く又は高くなるように定める第一報酬決定部と、
上記第一状態遷移確率及び上記第一報酬を用いて、マルコフ決定過程における動的計画法に基づき、上記自律移動ロボットの障害物へのぶつかりやすさを表す第一指標を状態ごとに求める第一動的計画部と、
上記想定される流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第二状態遷移確率を計算する第二状態遷移確率計算部と、
各状態にある上記自律移動ロボットが各行動を取り上記到達点を含む状態に遷移する場合に得られる第二報酬が最も高くなるように定めると共に、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも高くなるように定められている場合には、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第二報酬を、遷移先の状態についての上記第一指標の値の大小を反転した値に応じて定め、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも低くなるように定められている場合には、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる上記第二報酬を、遷移先の状態についての上記第一指標の値の大小に応じて定める第二報酬決定部と、
上記第二状態遷移確率及び上記第二報酬を用いて、マルコフ決定過程における動的計画法に基づき、上記自律移動ロボットの上記到達点への到達しやすさを表す第二指標を状態ごとに求める第二動的計画部と、
を含む自律移動ロボットの動作計画装置。
【請求項２】
請求項１に記載の自律移動ロボットの動作計画装置において、
地形モデルを参照して、ある状態における地形の傾斜角と、その状態においてある行動を選択した後の遷移先の状態における地形の傾斜角との差の絶対値を計算する傾斜角差計算部と、
想定される流速よりも速い流速の下で、上記ある状態から上記遷移先の状態に遷移するときの、上記自律移動ロボットの最大登坂角度を計算する登坂角度計算部と、
上記傾斜角の差の絶対値と上記最大登坂角度とを比較して、上記傾斜角の差の絶対値が大きければ、その遷移先の状態は障害物を含むと判断する障害物判断部と、
を更に含むことを特徴とする自律移動ロボットの動作計画装置。
【請求項３】
請求項１又は２に記載の自律移動ロボットの動作計画装置において、
上記想定される流速よりも速い流速は、上記想定される流速の中で最も速い流速である、ことを特徴とする自律移動ロボットの動作計画装置。
【請求項４】
請求項１から３の何れかに記載の自律移動ロボットの動作計画装置において、
上記想定される流速よりも速い流速は、上記出発点から上記到達点に向かう方向において、上記想定される流速よりも速い、
ことを特徴とする自律移動ロボットの動作計画装置。
【請求項５】
請求項１から４の何れかに記載の自律移動ロボットの動作計画装置で決まった動作計画に基づき、不定の流速の下で上記出発点に位置する上記自律移動ロボットを上記到達点に到達するように制御する自律移動ロボットの動作制御装置において、
上記想定される流速と、流速の実測値との差である流速差を求める流速差取得部と、
上記自律移動ロボットが各行動を取った場合の遷移先の状態を、上記自律移動ロボットの位置を上記流速差の分だけ移動させることにより求める遷移先予測部と、
上記遷移先予測部が求めた遷移先の状態についての上記第二指標を互いに比較して、上記到達点に最も到達しやすい行動を決定する行動決定部と、
上記自律移動ロボットが上記決定された行動に従って移動するように、上記自律移動ロボットを制御する制御部と、
を含む自律移動ロボットの動作制御装置。
【請求項６】
不定の流速の流れがある流体の中で出発点に位置する自律移動ロボットを到達点に到達させるための動作計画を行う自律移動ロボットの動作計画方法において、
第一状態遷移確率計算部が、想定される流速よりも速い流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第一状態遷移確率を計算する第一状態遷移確率計算ステップと、
第一報酬決定部が、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第一報酬を、障害物を含む状態に遷移する場合に得られる第一報酬が障害物を含まない状態に遷移する場合に得られる第一報酬よりも低く又は高くなるように定める第一報酬決定ステップと、
第一動的計画部が、上記第一状態遷移確率及び上記第一報酬を用いて、マルコフ決定過程における動的計画法に基づき、上記自律移動ロボットの障害物へのぶつかりやすさを表す第一指標を状態ごとに求める第一動的計画ステップと、
第二状態遷移確率計算部が、上記想定される流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第二状態遷移確率を計算する第二状態遷移確率計算ステップと、
第二報酬決定部が、各状態にある上記自律移動ロボットが各行動を取り上記到達点を含む状態に遷移する場合に得られる第二報酬が最も高くなるように定めると共に、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも高くなるように定められている場合には、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第二報酬を、遷移先の状態についての上記第一指標の値の大小を反転した値に応じて定め、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも低くなるように定められている場合には、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる上記第二報酬を、遷移先の状態についての上記第一指標の値の大小に応じて定める第二報酬決定ステップと、
第二動的計画部が、上記第二状態遷移確率及び上記第二報酬を用いて、マルコフ決定過程における動的計画法に基づき、上記自律移動ロボットの上記到達点への到達しやすさを表す第二指標を状態ごとに求める第二動的計画ステップと、
を含む自律移動ロボットの動作計画方法。
【請求項７】
請求項６に記載の自律移動ロボットの動作計画方法において、
傾斜角差計算部が、地形モデルを参照して、ある状態における地形の傾斜角と、その状態においてある行動を選択した後の遷移先の状態における地形の傾斜角との差の絶対値を計算する傾斜角差計算ステップと、
登坂角度計算部が、想定される流速よりも速い流速の下で、上記ある状態から上記遷移先の状態に遷移するときの、上記自律移動ロボットの最大登坂角度を計算する登坂角度計算ステップと、
障害物判断部が、上記傾斜角の差の絶対値と上記最大登坂角度とを比較して、上記傾斜角の差の絶対値が大きければ、その遷移先の状態は障害物を含むと判断する障害物判断ステップと、
を更に含むことを特徴とする自律移動ロボットの動作計画方法。
【請求項８】
請求項６又は７に記載の自律移動ロボットの動作計画方法で決まった動作計画に基づき、不定の流速の下で上記出発点に位置する上記自律移動ロボットを上記到達点に到達するように制御する自律移動ロボットの動作制御方法において、
流速差取得部が、上記想定される流速と、流速の実測値との差である流速差を求める流速差取得ステップと、
遷移先予測部が、上記自律移動ロボットが各行動を取った場合の遷移先の状態を、上記自律移動ロボットの位置を上記流速差の分だけ移動させることにより求める遷移先予測ステップと、
行動決定部が、上記遷移先予測部が求めた遷移先の状態についての上記第二指標を互いに比較して、上記到達点に最も到達しやすい行動を決定する行動決定ステップと、
制御部が、上記自律移動ロボットが上記決定された行動に従って移動するように、上記自律移動ロボットを制御する制御ステップと、
を含む自律移動ロボットの動作制御方法。
【請求項９】
請求項１から５の何れかに記載の自律移動ロボットの動作計画装置の各部をコンピュータに実行させるための自律移動ロボットの動作計画プログラム。
【請求項１０】
請求項９記載の自律移動ロボットの動作計画プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法に関する。
【背景技術】
【０００２】
イナーシャ（慣性）が高く劣駆動型の自律移動ロボットの動作計画を行う技術として、マルコフ決定過程における動作計画法を利用した技術が知られている（例えば、特許文献１及び非特許文献１参照。）。
【０００３】
この技術においては、想定される流速の下、各状態ｓ∈｛ｓ１，…，ｓＮ｝にある自律移動ロボットが各行動ａ∈｛ａ１，…，ａＭ｝を取った場合に各状態ｓ’∈｛ｓ１，…，ｓＮ｝に遷移する状態遷移確率Ｐａｓｓ’と、そのときに得られる報酬Ｒａｓｓ’とをまず求める。例えば、到達点を含む状態ｓ’に遷移するときに与えられる報酬を１、障害物を含む状態ｓ’に遷移するときに与えられる報酬を−１、障害物を含まない状態ｓ’に遷移するときに与えられる報酬Ｒａｓｓ’を一律０とする。
【０００４】
そして、状態遷移確率Ｐａｓｓ’と、そのときに得られる報酬Ｒａｓｓ’とを用いて、マルコフ決定過程における動的計画法に基づき、状態価値関数Ｖπ（ｓ）を求める。そして、想定される流速と実際の流速の流速差を考慮しつつ、状態価値関数Ｖπ（ｓ）を最大にする行動ａを選択し、その選択された行動ａに従って自律移動ロボットを制御する。
【特許文献１】特開２００７−３１７１６５号公報
【非特許文献１】H.Kawano, “Three Dimensional Obstacle Avoidance of Autonomous Blimp Flying in Unknown Disturbance”, Proceeding of 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.123-130, October, 2006
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非特許文献１及び特許文献１においては、障害物を含まない状態ｓ’に遷移するときに与えられる報酬Ｒａｓｓ’を一律０としており、障害物を含まない遷移先の状態ｓ’における障害物へのぶつかりやすさを考慮していない。このため、想定よりも流速が速い場合に、動作計画が破綻しやすいという問題があった。
【０００６】
この発明は、上記問題に鑑みて、より動作計画が破綻しづらい自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
不定の流速の流れがある流体の中で出発点に位置する自律移動ロボットを到達点に到達させるための動作計画を行うために、想定される流速よりも速い流速の下で、各状態にある自律移動ロボットが各行動を取った場合に各状態に遷移する第一状態遷移確率を計算する。各状態にある自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第一報酬を、障害物を含む状態に遷移する場合に得られる第一報酬が障害物を含まない状態に遷移する場合に得られる第一報酬よりも低く又は高くなるように定める。第一状態遷移確率及び第一報酬を用いて、マルコフ決定過程における動的計画法に基づき、自律移動ロボットの障害物へのぶつかりやすさを表す第一指標を状態ごとに求める。想定される流速の下で、各状態にある自律移動ロボットが各行動を取った場合に各状態に遷移する第二状態遷移確率を計算する。各状態にある上記自律移動ロボットが各行動を取り上記到達点を含む状態に遷移する場合に得られる第二報酬が最も高くなるように定めると共に、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも高くなるように定められている場合には、各状態にある自律移動ロボットが各行動を取り各状態に遷移する場合に得られる第二報酬を、遷移先の状態についての第一指標の値の大小を反転した値に応じて定め、障害物を含む状態に遷移する場合に得られる上記第一報酬が、障害物を含まない状態に遷移する場合に得られる上記第一報酬よりも低くなるように定められている場合には、各状態にある上記自律移動ロボットが各行動を取り各状態に遷移する場合に得られる上記第二報酬を、遷移先の状態についての上記第一指標の値の大小に応じて定める。第二状態遷移確率及び第二報酬を用いて、マルコフ決定過程における動的計画法に基づき、自律移動ロボットの到達点への到達しやすさを表す第二指標を状態ごとに求める。
【０００８】
動作計画に基づき、不定の流速の下で出発点に位置する自律移動ロボットを到達点に到達するように制御するために、想定される流速と、流速の実測値との差である流速差を求める。自律移動ロボットが各行動を取った場合の遷移先の状態を、自律移動ロボットの位置を流速差の分だけ移動させることにより求める。遷移先予測部が求めた遷移先の状態についての第二指標を互いに比較して、到達点に最も到達しやすい行動を決定する。自律移動ロボットが決定された行動に従って移動するように、自律移動ロボットを制御する。
【発明の効果】
【０００９】
障害物を含まない遷移先の状態ｓ’における障害物へのぶつかりやすさを考慮して報酬を決定し、その際、想定される流速よりも速い流速を想定している。このため、動作計画がより破綻しづらくなる。
【発明を実施するための最良の形態】
【００１０】
［マルコフ決定過程］
まず、この発明の技術的意義を把握するための基礎知識である強化学習（Reinforcement Learning）におけるマルコフ決定過程（Markov decision Process）の概略を説明する。
【００１１】
環境を構成する離散的な状態の集合をＳ＝｛ｓ１，ｓ２，…，ｓＮ｝、行動主体が取り得る行動の集合をＡ＝｛ａ１，ａ２，…ａＭ｝と表す。環境中のある状態ｓ∈Ｓにおいて、行動主体がある行動ａ∈Ａを実行すると、環境は確率的に状態ｓ’∈Ｓへ遷移する。その遷移確率を
Ｐａｓｓ’＝Ｐｒ｛ｓｔ＋１＝ｓ’｜ｓｔ＝ｓ，ａｔ＝ａ｝
により表す。このとき環境から行動主体へ報酬ｒが確率的に与えられるが、その期待値を
Ｒａｓｓ’＝Ｅ｛ｒｔ｜ｓｔ＝ｓ，ａｔ＝ａ，ｓｔ＋１＝ｓ’｝
とする。
【００１２】
なお、状態ｓ’に附されている記号’は、状態ｓとの識別を図るための記号である。時間微分を表す記号として記号’を用いることがあるが、記号’が附された対象がマルコフ状態遷移モデルの状態であるか否かで記号’の意味を容易に識別できるので、以降の説明でもこの記法に従うとする。
【００１３】
ある時間ステップｔで行った行動が、その後の報酬獲得にどの程度貢献したのかを評価するため、その後得られる報酬の時系列を考える。報酬の時系列評価は価値と呼ばれる。行動主体の目標は、価値を最大化すること、又は、価値を最大にする方策π（ｓ，ａ）を求めることである。方策π（ｓ，ａ）は、状態ｓにおいて行動ａを取ることを意味し、状態ｓと行動ａの各組み合わせについて定義される。価値は、時間の経過とともに報酬を割引率γ（０≦γ＜１）で割引いて合計される。すなわち、ある方策πの下での状態ｓの価値である状態価値関数Ｖπ（ｓ）は、以下のように定義される。Ｅπは期待値を求める関数である。
【００１４】
【数１】
0005079602.tif 000002
ここでは価値関数として方策πの下での状態ｓの価値である状態価値関数Ｖπ（ｓ）を採用したが、方策πの下で状態ｓにおいて行動ａを採ることの価値である行動価値関数Ｑπ（ｓ，ａ）を採用することもできる。
【００１５】
【数２】
0005079602.tif 000003
【００１６】
行動主体の目標は、最適な方策πを求めること、つまり任意の状態ｓについて価値関数（上記の例では状態価値関数Ｖπ（ｓ）である。）が他の方策πを採った場合よりも劣るものではない方策πを求めることである。この方策πの探求は、Ｂｅｌｌｍａｎ方程式で表され、状態ｓと行動ａと遷移先の状態ｓ’との各組み合わせについてのＰａｓｓ’とＲａｓｓ’の値が定まっていれば、動的計画法（ダイナミックプログラミング法）により、最適な、状態価値関数Ｖπ（ｓ）、行動価値関数Ｑπ（ｓ）及び方策πを計算することができる（例えば、三上  貞芳、皆川  雅章  共訳、R.S.Sutton、A.G.Barto  原著「強化学習」森北出版、1998、pp.94-118参照。）。動的計画法の処理は、周知技術であるため説明は省略する。
【００１７】
［自律移動ロボットの動作計画装置及び方法］
自律移動ロボットの動作計画装置及び方法の実施形態について説明する。
【００１８】
この発明は、動的計画法による計算を２回行うことを特徴とする。１回目の動的計画法による計算により、障害物を含まない状態における将来の障害物へのぶつかりやすさを計算する（ステップＳ１からステップＳ３）。そして、そのぶつかりやすさをその状態に遷移するときに与えられる報酬として２回目の動的計画法に用いる（ステップＳ５）。これにより、障害物を含まない遷移先の状態ｓ’における障害物へのぶつかりやすさを考慮することができ、より動作計画が破綻しづらい動作計画を行うことができる。
【００１９】
この実施形態では、行動主体は、図４に例示される飛行船形の自律移動ロボットである。自律移動ロボットは、舵２、主推進器３、上下方向推進器４、ゴンドラ５、流速差取得部２１、位置計測部２５を有する。この自律移動ロボットは、真横方向に直接移動することができない。搭載アクチュエータである舵２、主推進器３、上下方向推進器４が制御可能な運動自由度よりも自律移動ロボットの運動自由度は高いので、この自律移動ロボットは劣駆動ロボットである。この実施形態では、自律移動ロボットとして飛行船タイプのものを採用しているが、水中無人探索機のような水中ロボットを採用してもよい。
【００２０】
自律移動ロボットは、不定の流速の流れがある流体で満たされた空間を航行する。その空間は、マルコフ遷移状態モデルにより離散的にモデル化されており、自律移動ロボットの水平方向の位置のＸ座標、Ｙ座標、方位角ψ及び旋回速度ψ’の４つ次元から構成される。各次元は、その次元の物理量を測定するセンサの分解能に応じて離散化されている。
【００２１】
予め定められた出発点を含む状態に位置する自律移動ロボットは、予め定められた行動の集合の中から１つの行動を選択する。そして、予め定められた行動単位時間Ｔだけその行動に従って移動して、遷移先の状態に移動する。この遷移先の状態において、再び、予め定められた行動の集合の中から１つの行動を選択して、行動単位時間Ｔだけその行動に従って移動して、遷移先の状態に移動する。この行動の選択と状態の遷移を繰り返すことにより、初めは出発点を含む状態に位置している自律移動ロボットは、予め定められた到達点を含む状態に移動しようとする。自律移動ロボットの動作計画装置は、そのための動作計画を行う。
【００２２】
＜ステップＳ１（図８）＞
第一状態遷移確率計算部１０（図１）は、想定される流速よりも速い流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第一状態遷移確率を計算する（ステップＳ１）。すなわち、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第一状態遷移確率Ｐａｓｓ’を計算する。計算された第一状態遷移確率Ｐａｓｓ’は、第一動的計算部１２に送られる。
【００２３】
第一状態遷移確率Ｐａｓｓ’の計算方法の例について説明する。この例では、第一状態遷移確率計算部１０は、図２に例示するように、目標速度計算部１０１、変位量計算部１０２及び確率計算部１０３を含む。
【００２４】
≪ステップＳ１１≫
第一状態遷移確率計算部１０の目標速度計算部１０１は、自律移動ロボットが各状態ｓにおいてある各行動ａを取ったときの目標速度を決定する（ステップＳ１１）。目標速度は、変位量計算部１０２に送られる。例えば、各行動ａについて、下記の式に従って自律移動ロボットの旋回速度ψ’τ（ｔ）と前後方向の速度ｖｘｗτ（ｔ）を自律移動ロボットの目標速度として定める。（ｂ１，ｂ２）はマルコフ状態遷移モデルの各状態ｓにおける行動ａに対応する二次元ベクトル、αは予め定められた旋回加速度αであり、βは予め定められた前後方向の加速度であり、ｔは各行動ａの開始時からの経過時間、ψ’τ０は行動ａの開始時における自律移動ロボットの旋回速度、ｖｘ０は行動ａの開始時における自律移動ロボットの旋回速度である。
【００２５】
【数３】
0005079602.tif 000004
【００２６】
ここで、旋回加速度α及び前後方向の加速度βは、自律移動ロボットの性能の限界を超えないように設定される。また、前後方向の速度ｖｚｗτ（ｔ）及び前後方向の加速度βは、それぞれ対流体機体速度及び対流体機体加速度として記述される。
【００２７】
動作計画を行うために、想定される流速及び想定される流速よりも速い流速が予め設定されて、記憶部１９に格納されている。［自律移動ロボットの動作制御方法］の欄で後述するように想定される流速と流速の実測値とが異なる場合には適宜補正されるため、想定される流速は厳密な流速である必要はなく、おおよその流速でよい。もっとも、想定される流速が流速の実測値と近いほど、この動作計画及びこれに基づく動作制御の精度が増す。
【００２８】
≪ステップＳ１２≫
変位量計算部１０２は、各状態ｓにある自律移動ロボットが、想定される流速よりも速い流速の下において、各行動ａに従って移動した場合の、自律移動ロボットの世界座標系における水平面内位置のＸ座標，Ｙ座標，方位角ψ及び旋回速度ψ’がそれぞれどれくらい変位するのか計算する（ステップＳ１２）。計算された変位量は確率計算部１０３に送られる。
【００２９】
想定される流速よりも速い流速の下で計算を行うことにより、より安全な動作計画を行うことができる。想定される流速よりも速い流速は、例えば、想定される流速の中で最も速い流速とする。最も速い流速を用いることにより、最も安全な動作計画を行うことができる。
【００３０】
自律移動ロボットの水平面内位置のＸ座標の変位量をＤＸ（ψ０，ａ）、Ｙ座標の変位量をＤＹ（ψ０，ａ）、方位角ψの変位量をＤψ（ψ０，ａ）、旋回速度ψ’の変位量をＤψ’（ψ０，ａ）とすると、それぞれの変位量は、次式にように与えられる（図５を参照のこと）。
【００３１】
【数４】
0005079602.tif 000005
【００３２】
ここで、ψ０は各状態ｓの開始時の方位角、Ｔは状態ｓから次の状態ｓ’に遷移するまでの時間（以下、行動単位時間とする）、ｆｍｘは想定される流速よりも速い流速のＸ座標の成分、ｆｍｙは想定される流速よりも速い流速のＹ座標の成分である。なお、方位角ψの変位量Ｄψ（ψ０，ａ）と、旋回速度ψ’の変位量Ｄψ’（ψ０，ａ）については、旋回速度ψ’の制御を行うことになるため、風の影響による補正は行わない。行動単位時間は例えば１５秒とすることができる。
【００３３】
≪ステップＳ１３≫
確率計算部１０３は、自律移動ロボットの水平面内位置のＸ座標の変位量ＤＸ（ψ０，ａ）、Ｙ座標の変位量ＤＹ（ψ０，ａ）、方位角ψの変位量Ｄψ（ψ０，ａ）及び旋回速度ψ’の変位量Ｄψ’（ψ０，ａ）に基づいて、第一状態遷移確率Ｐａｓｓ’を計算する（ステップＳ１３）。
【００３４】
まず、状態ｓが、自律移動ロボットの水平面内位置のＸ座標、Ｙ座標、方位角ψ及び旋回速度ψ’の４つの次元で構成される格子で示されるとし、その格子をＲ（ｓ）と定義する（図６を参照のこと）。そして、その格子Ｒ（ｓ）を、上記各変位量から構成される変位量ベクトル（ＤＸ（ψ０，ａ），ＤＹ（ψ０，ａ），Ｄψ（ψ０，ａ），Ｄψ’（ψ０，ａ））で、平行移動したものをＲｔ（ｓ）と定義する。
【００３５】
ここで、自律移動ロボットが状態ｓにあるときは、自律移動ロボットは、その状態ｓを表わす４次元の格子Ｒ（ｓ）の各点の何れかに、等しい確率で存在するものと仮定する。この仮定の下では、第一状態遷移確率Ｐａｓｓ’は、Ｒｔ（ｓ）と各Ｒ（ｓ’）の重なった部分の体積に比例してそれぞれ求めることができる。ここで、Ｒ（ｓ’）は、Ｒｔ（ｓ）と重なった格子である。すなわち、Ｒ（ｓ’）は、状態ｓにおいてある行動ａを取ったときの遷移先の候補の状態ｓ’に対応した４次元の格子である。Ｒｔ（ｓ）は最大で８つのＲ（ｓ’）と重なる可能性がある。
【００３６】
第一状態遷移確率Ｐａｓｓ’は、Ｒｔ（ｓ）とあるＲ（ｓ’）の重なった部分の体積をＶ０（ｓ，ｓ’，ａ）、Ｒｔ（ｓ）とすべてのＲ（ｓ’）との重なった部分の体積をΣｓ’Ｖ０（ｓ，ｓ’，ａ）とすると、次式により求めることができる。
【００３７】
【数５】
0005079602.tif 000006
【００３８】
ステップＳ１１からステップＳ１３の処理を適宜繰り返すことにより、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第一状態遷移確率Ｐａｓｓ’を求める。
【００３９】
＜ステップＳ２＞
第一報酬決定部１１（図１）は、各状態ｓにある自律移動ロボットが各行動ａを取り各状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’を、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’が障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’よりも高くなるように定める（ステップＳ２）。定められた第一報酬Ｒａｓｓ’は、第一動的計画部１２に送られる。
【００４０】
例えば、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’を１として、障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’を０とする。
【００４１】
状態ｓ（遷移先の状態ｓ’も状態ｓであることに変わりはない。）が障害物を含むかどうかは例えば下記の２つの方法によって判断される。
【００４２】
〔第一の方法〕
地形モデル保存部１３には、各状態ｓが障害物を含むかどうかの情報を含む地形モデルが記憶されている。第一報酬決定部１１は、地形モデル保存部１３に記憶された地形モデルを参照して、遷移先の状態ｓ’が障害物を含むかどうかを判断する。
【００４３】
〔第二の方法〕
この方法では、図３に例示するように、第一報酬決定部１１は、傾斜角差計算部１１１、登坂角度計算部１１２及び障害物判断部１１３を含む。また、地形モデル保存部１３には、位置（Ｘ，Ｙ）と方位角ψの各組合せについての傾斜角データが記憶されている。
【００４４】
図３の傾斜角差計算部１１１が、状態ｓにおける地形の傾斜角θｓｔｅｅｐ（ｓ）と、遷移先の状態ｓ’の傾斜角θｓｔｅｅｐ（ｓ’）との差の絶対値ｄθｓｔｅｅｐ（ｓ’，ｓ）を計算する。傾斜角の差の絶対値ｄθｓｔｅｅｐ（ｓ’，ｓ）は下式により定義される（図７を参照のこと）。計算された傾斜角の差の絶対値ｄθｓｔｅｅｐ（ｓ’，ｓ）は、障害物判断部１１３に送られる。
【００４５】
【数６】
0005079602.tif 000007
登坂角度計算部１１２が、状態ｓから遷移先の状態ｓ’に遷移するときの自律移動ロボットの最大登坂角度ｄθｍａｘ（ｓ’，ｓ）を計算する。計算された最大登坂角度ｄθｍａｘ（ｓ’，ｓ）は、障害物判断部１１３に送られる。
【００４６】
ｖｚ（ｓ）を状態ｓにおけるピッチ角の変化速度、ａｈを自律移動ロボットのピッチ角変化の加速度の最大値、ｆｘｂを風の前後方向の対機体速度とし、登坂角度は十分に小さく、上下方向には風は吹かないものとすると、最大登坂角度ｄθｍａｘ（ｓ’，ｓ）は、以下のように定義される。最大登坂角度ｄθｍａｘ（ｓ’，ｓ）は、自律移動ロボットが一回の行動で、どれだけ登坂角度を変化させることができるかということを表す。
【００４７】
【数７】
0005079602.tif 000008
【００４８】
障害物判断部１１３は、傾斜角の差の絶対値ｄθｓｔｅｅｐ（ｓ’，ｓ）と、最大登坂角度ｄθｍａｘ（ｓ’，ｓ）とを比較して、上記傾斜角の差の絶対値ｄθｓｔｅｅｐ（ｓ’，ｓ）が大きければ、その遷移先の状態ｓ’は障害物を含むと判断する。
【００４９】
第一報酬決定部１１は、障害物判断部１１３が出力した遷移先の状態ｓ’が障害物を含むかどうかの判断に基づいて、第一報酬を決定する。
【００５０】
＜ステップＳ３＞
第一動的計画部１２は、第一状態遷移確率Ｐａｓｓ’及び第一報酬Ｒａｓｓ’を用いて、マルコフ決定過程における動的計画法に基づき、自律移動ロボットの障害物へのぶつかりやすさを表す第一指標を状態ごとに求める（ステップＳ３）。求まった第一指標は、第二報酬決定部１５に送られる。この例では、第一指標として、状態価値関数Ｖπ（ｓ）を用いる。
【００５１】
上述の通り、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第一状態遷移確率Ｐａｓｓ’及び第一報酬Ｒａｓｓ’が計算されていれば、動的計画法に基づいて、状態価値関数Ｖπ（ｓ）を計算することができる。
【００５２】
＜ステップＳ４＞
第二状態遷移確率計算部１４は、想定される流速の下で、各状態にある上記自律移動ロボットが各行動を取った場合に各状態に遷移する第二状態遷移確率Ｐａｓｓ’を計算する。すなわち、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第二状態遷移確率Ｐａｓｓ’を計算する。計算された第二状態遷移確率Ｐａｓｓ’は、第二動的計算部１６に送られる。
【００５３】
第一状態遷移確率計算部１０は、想定される流速よりも速い流速の下で第一状態遷移確率Ｐａｓｓ’を計算するのに対して、第二状態遷移確率計算部１４は、想定される流速の下で第二状態遷移確率Ｐａｓｓ’を計算する。この２回目の動作計画においては、自律移動ロボットを高精度で到達点に誘導するために、発生確率が高い流速を想定することが望ましいのである。この相違点を除き、第二状態遷移確率計算部１４における第二状態遷移確率Ｐａｓｓ’の計算方法は、第一状態遷移確率計算部１０における第一状態遷移確率Ｐａｓｓ’の計算方法と同様である。
【００５４】
すなわち、例えば、第二状態遷移確率計算部１４は、第一状態遷移確率計算部１０と同様に（図２参照）、目標速度計算部１０１、変位量計算部１０２及び確率計算部１０３を有しており、これらの各部が想定される流速の下で第二状態遷移確率Ｐａｓｓ’を計算する。この場合、目標速度、方位角ψの変位量Ｄψ（ψ０，ａ）、旋回速度ψ’の変位量Ｄψ’（ψ０，ａ）及び旋回速度ψ’の変位量Ｄψ’（ψ０，ａ）は流速に依存しないため、第一状態遷移確率計算部１０におけるこれらの計算結果を、第二状態遷移確率計算部１４において再利用することにより、計算の重複を省いてもよい。
【００５５】
＜ステップＳ５＞
第二報酬決定部１５は、各状態ｓにある上記自律移動ロボットが各行動ａを取り各状態ｓ’に遷移する場合に得られる第二報酬Ｒａｓｓ’を、遷移先の状態ｓ’についての第一指標に応じて定めると共に、到達点を含む状態に遷移する場合に得られる第二報酬が最も高くなるように定める（ステップＳ５）。定められた報酬は、第二動的計画部１６に送られる。
【００５６】
この例では、ステップＳ２において、第一報酬決定部１１は、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’が障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’よりも高くなるように定めている。このため、したがって、第一指標であるＶπ（ｓ）の値が大きければ大きい程、その状態ｓおいて自律移動ロボットは障害物へぶつかりやすくなる。
【００５７】
したがって、例えば、第一指標である状態価値関数Ｖπ（ｓ’）の符号を反転させたものを、第二報酬Ｒａｓｓ’とする。
Ｒａｓｓ’＝−Ｖπ（ｓ’）  …（１）
また、到達点を含む状態ｓ’に遷移する場合に得られる第二報酬Ｒａｓｓ’を１とする。
【００５８】
＜ステップＳ６＞
第二動的計画部１６は、第二状態遷移確率Ｐａｓｓ’及び第二報酬Ｒａｓｓ’を用いて、マルコフ決定過程における動的計画法に基づき、自律移動ロボットの到達点への到達しやすさを表す第二指標を計算する（ステップＳ６）。求まった第二指標は、第二指標記憶部１７に格納される。この例では、第二指標として、状態価値関数Ｖπ（ｓ）を用いる。
【００５９】
上述の通り、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第二状態遷移確率Ｐａｓｓ’及び第一報酬Ｒａｓｓ’が計算されていれば、動的計画法に基づいて、状態価値関数Ｖπ（ｓ）を計算することができる。
【００６０】
このように、１回目の動的計画法による計算により、障害物を含まない状態における将来の障害物へのぶつかりやすさを計算し（ステップＳ１からステップＳ３）、そのぶつかりやすさをその状態に遷移するときに与えられる報酬として２回目の動的計画法に用いる（ステップＳ５）。これにより、障害物を含まない遷移先の状態ｓ’における障害物へのぶつかりやすさを考慮することができ、より動作計画が破綻しづらい動作計画を行うことができる。
以上が、自律移動ロボットの動作計画装置及び方法の実施形態について説明である。
【００６１】
［自律移動ロボットの動作制御装置及び方法］
以下、図９及び図１０を参照して、自律移動ロボットの動作制御装置及び方法の実施形態について説明する。
【００６２】
＜ステップＳ２１（図１０）＞
流速差取得部２１（図９）は、動作計画時に予想した流速である想定される流速と、流速の実測値との差である流速差を求める（ステップＳ２１）。求まった流速差は、遷移先予測部２２に送られる。想定される流速のＸ成分をｆｘ、Ｙ成分をｆｙとし、実際の流速のＸ成分をｆｘａ、Ｙ成分をｆｙａとすると、流速差ｄｆｘ，ｄｆｙは、それぞれ下記のように表される。
【００６３】
ｄｆｘ＝ｆｘ−ｆｘａ
ｄｆｙ＝ｆｙ−ｆｙａ
【００６４】
＜ステップＳ２２＞
遷移先予測部２２は、自律移動ロボットが各行動を取った場合の遷移先の状態ｓ’を、自律移動ロボットの位置を流速差ｄｆｘ，ｄｆｙの分だけ移動させることにより求める（ステップＳ２２）。求まった遷移先の状態ｓ’は、行動決定部２３に送られる。
【００６５】
遷移先の状態ｓ’の求め方の例を述べる。
流速差ｄｆｘを考慮したときの自律移動ロボットのＸ軸方向の位置の変位量ＤＸａ（ψ０，ａ）と、流速差ｄｆｙを考慮したときの自律移動ロボットのＹ軸方向の位置の変位量ＤＹａ（ψ０，ａ）とは、それぞれ以下のように示される。
【００６６】
【数８】
0005079602.tif 000009
【００６７】
遷移先予測部２２は、まず、上記式により、すなわち自律移動ロボットの位置を流速差ｄｆｘ，ｄｆｙの分だけ移動させることにより、実際のＸ軸方向の位置の変位量ＤＸａ（ψ０，ａ）及び実際のＹ軸方向の位置の変位量ＤＹａ（ψ０，ａ）を求める。
【００６８】
遷移先予測部２２は、次に、下記式により、行動ａを取った場合の遷移先の状態ｓ’を求める。具体的には、行動ａの開始時における、Ｘ軸方向の位置Ｘ（ｓ）に、Ｙ軸方向の位置Ｙ（ｓ）、方位角ψ０（ｓ）及び旋回速度ψ０（ｓ）に、それぞれ実際のＸ軸方向の位置の変位量ＤＸａ（ψ０，ａ）、実際のＹ軸方向の位置の変位量ＤＹａ（ψ０，ａ）、方位角の変位量Ｄψ（ψ０，ａ）及び旋回速度ψ’の変位量Ｄψ’（ψ０，ａ）を加算することにより遷移先の状態ｓ’を求める。
【００６９】
【数９】
0005079602.tif 000010
【００７０】
Ｘ軸方向の位置Ｘ（ｓ）に、Ｙ軸方向の位置Ｙ（ｓ）、方位角ψ０（ｓ）及び旋回速度ψ０（ｓ）については、位置計測部２５が測定したものを用いる。ＤＸ（ψ０，ａ）及びＤＹ（ψ０，ａ）については、動作計画時に計算したＤＸ（ψ０，ａ）及びＤＹ（ψ０，ａ）を再利用してもよい。この場合、図示していない記憶部にＤＸ（ψ０，ａ）及びＤＹ（ψ０，ａ）が記憶され、遷移先予測部２２が適宜これらを読み込む。もちろん、遷移先予測部２２がこれらを再度計算してもよい。
【００７１】
＜ステップＳ２３＞
行動決定部２３は、遷移先予測部２２が求めた、状態ｓにおいて取り得る各行動ａに従って移動した場合の遷移先の状態ｓ’についての第二指標を比較して、到達点に最も到達しやすい行動ａを決定する（ステップＳ２３）。決定された行動ａは、制御部２４に送られる。
【００７２】
この例では、第二指標として状態価値関数Ｖπ（ｓ）を用いており、かつ、到達点を含む状態に遷移する場合に得られる報酬が最も高くなるように第二報酬が決定されているため、状態価値関数Ｖπ（ｓ）の値を最も大きくする行動ａが、到達点に最も到達しやすい行動となる。
【００７３】
したがって、行動決定部２３は、第二指標記憶部１７を参照して、状態ｓにおいて取り得る各行動ａに従って移動した場合の遷移先の状態ｓ’における状態価値関数Ｖπ（ｓ’）をそれぞれ求め、比較することにより、状態価値関数Ｖπ（ｓ’）の値を最も大きくする行動ａを決定する。
【００７４】
＜ステップＳ２４＞
制御部２４は、決定された行動ａに従って移動するように、自律移動ロボットを制御する（ステップＳ２４）。具体的には、行動ａに対応する目標速度を維持することができるように、自律移動ロボットの主推進器３及び舵２を制御する。
【００７５】
［変形例等］
出発点と到達点との間に障害物があり、出発点から到達点に向かう方向における流速が想定される流速よりも速い場合には、障害物との衝突が起こりやすい。想定される流速と流速の実測値との流速差の分だけ、自律ロボットが障害物に近づいてしまうためである。一方、出発点から到達点に向かう方向とは反対側の方向（到達点から出発点に向かう方向）における流速が速い場合には、障害物との衝突が起こりづらい。想定される流速と流速の実測値との流速差の分だけ、自律ロボットは障害物から遠ざかるためである。
【００７６】
したがって、想定される流速よりも速い流速として、出発点から到達点に向かう方向において、想定される流速よりも速い流速を選択してもよい。これにより、より安全な動作計画を行うことができる。
【００７７】
ここで、出発点から到達点に向かう方向において流速が速いとは、その流速のベクトルと出発点から到達点に向かうベクトルとの内積が０より大ということに等しい。
【００７８】
上記の実施形態では、第一報酬決定部１１（図１）のステップＳ２（図８）の処理において、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’を１として、障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’を０としたが、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’＞障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’となるように、第一報酬Ｒａｓｓ’を定めてもよい。
【００７９】
また、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’＜障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’となるように、第一報酬Ｒａｓｓ’を定めてもよい。例えば、障害物を含む状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’＝０、障害物を含まない状態ｓ’に遷移する場合に得られる第一報酬Ｒａｓｓ’＝１とする。この場合、第一動的計画部１２が求める第一指標であるＶπ（ｓ）は、その値が小さければ小さい程、その状態ｓにおいて自律移動ロボットは障害物へぶつかりやすくなることを表す。したがって、第二報酬Ｒａｓｓ’を定める際に、状態価値関数Ｖπ（ｓ）の符号を反転させる必要はない。例えば、下記式のように、状態価値関数Ｖπ（ｓ’）の値をそのまま第二報酬Ｒａｓｓ’として用いる。
【００８０】
Ｒａｓｓ’＝Ｖπ（ｓ’）  …（２）
単調増加関数ｆを用いて、第二報酬を第一指標に応じて定めてもよい。上記（１）式に代えて、下記式を用いる。
【００８１】
Ｒａｓｓ’＝−ｆ（Ｖπ（ｓ’））
また、上記（２）式に代えて、下記式を用いる。
【００８２】
Ｒａｓｓ’＝ｆ（Ｖπ（ｓ’））
上記実施形態では、第二報酬決定部１５（図１）のステップＳ５（図８）の処理において、到達点を含む状態に遷移する場合に得られる第二報酬Ｒａｓｓ’が最も高くなるように第二報酬Ｒａｓｓ’を定めるたが、到達点を含む状態に遷移する場合に得られる第二報酬Ｒａｓｓ’が最も低くなるように第二報酬Ｒａｓｓ’を定めてもよい。この場合、第二動的計画部１６が求める第二指標は、その値が小さければ小さい程、その状態に位置する自律移動ロボットは到達点へ到達しやすいことを意味する。したがって、行動決定部２３（図９）はステップＳ２４（図１０）の処理において、第二指標を最も小さくする行動を選択すればよい。
【００８３】
第二指標として、行動価値関数Ｑπ（ｓ，ａ）を用いてもよい。この場合、第二動的計画部１６（図１）はステップＳ６の処理において、状態ｓ、行動ａ及び遷移先の状態ｓ’の各組合せについての第二状態遷移確率Ｐａｓｓ’及び第一報酬Ｒａｓｓ’を用いて、動的計画法に基づいて、行動価値関数Ｑπ（ｓ，ａ）を計算する。そして、行動決定部２３（図９）はステップＳ２３の処理において、第二指標である行動価値関数Ｑπ（ｓ，ａ）を比較して、到達点に最も到達しやすい行動を決定する。具体的には、行動価値関数Ｑπ（ｓ，ａ）がその値が大きい程到達点に到達しやすいことを表すように定められている場合には、遷移前の状態ｓにおいて取り得る行動を行動ａ、遷移先の状態ｓ’において取り得る行動を行動ａ’として、ｍａｘａ’Ｑπ（ｓ’，ａ’）を比較して、ｍａｘａ’Ｑπ（ｓ’，ａ’）を最大にする行動ａを選択する。
【００８４】
上記自律移動ロボットの動作計画装置及び上記自律移動ロボットの動作制御装置における処理機能は、コンピュータによって実現することができる。この場合、これらの装置がそれぞれ有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これらの装置における各処理機能が、コンピュータ上で実現される。
【００８５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００８６】
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００８７】
【図１】自律移動ロボットの動作計画装置の例の機能ブロック図。
【図２】第一状態遷移確率計算部の例のブロック図。
【図３】第一報酬決定部の例のブロック図。
【図４】自律移動ロボットの模式図。
【図５】水平方向の位置の変位量を説明するための図。
【図６】状態ｓと遷移先の状態ｓ’の傾斜角差を表した図。
【図７】状態遷移確率の計算を説明するための図。
【図８】自律移動ロボットの動作計画方法の例を示す流れ図。
【図９】自律移動ロボットの動作制御装置の例の機能ブロック図。
【図１０】自律移動ロボットの動作制御方法の例を示す流れ図。
【符号の説明】
【００８８】
１０   第一状態遷移確率計算部
１１   第一報酬決定部
１２   第一動的計画部
１３   地形モデル保存部
１４   第二状態遷移確率計算部
１５   第二報酬決定部
１６   第二動的計画部
１７   第二指標記憶部
２１   流速差取得部
２２   遷移先予測部
２３   行動決定部
２４   制御部
２５   位置計測部
１１１ 傾斜角差計算部
１１２ 登坂角度計算部
１１３ 障害物判断部
【図１】
0005079602.tif 000011
【図２】
0005079602.tif 000012
【図３】
0005079602.tif 000013
【図４】
0005079602.tif 000014
【図５】
0005079602.tif 000015
【図６】
0005079602.tif 000016
【図７】
0005079602.tif 000017
【図８】
0005079602.tif 000018
【図９】
0005079602.tif 000019
【図１０】
0005079602.tif 000020