JP4495703B2 - 水中ロボットの動作制御方法、装置及びプログラム - Google Patents

水中ロボットの動作制御方法、装置及びプログラム Download PDF

Info

Publication number
JP4495703B2
JP4495703B2 JP2006227431A JP2006227431A JP4495703B2 JP 4495703 B2 JP4495703 B2 JP 4495703B2 JP 2006227431 A JP2006227431 A JP 2006227431A JP 2006227431 A JP2006227431 A JP 2006227431A JP 4495703 B2 JP4495703 B2 JP 4495703B2
Authority
JP
Japan
Prior art keywords
underwater robot
action
obstacle
value
probability
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
Application number
JP2006227431A
Other languages
English (en)
Other versions
JP2008052473A (ja
Inventor
洋 川野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006227431A priority Critical patent/JP4495703B2/ja
Publication of JP2008052473A publication Critical patent/JP2008052473A/ja
Application granted granted Critical
Publication of JP4495703B2 publication Critical patent/JP4495703B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、未知障害物の存在する環境において、劣駆動型自律ロボットに実時間での障害物回避の行動をさせる動作制御方法、装置、プログラム及びその記録媒体に関する。
従来、以下に説明するマルコフ状態遷移モデルを利用した自律ロボットの動作計画法が提案されている(例えば、非特許文献1参照。)。
マルコフ状態遷移モデルを利用した自律ロボットの動作計画法を説明する前に、まず、前提知識となるマルコフ状態遷移モデル及びマルコフ状態遷移モデルを用いた動作計画法について説明する。
環境を以下のようにモデル化したものが、マルコフ状態遷移モデルである。環境のとりうる離散的な状態の集合をS={s ,s,…,s}、行動主体が取り得る行動の集合をA={a,a,…a}と表す。環境中のある状態 s ∈ Sにおいて、行動主体がある行動 a を 実行すると、環境は確率的に状態 s' ∈Sへ遷移する。その遷移確率を

ss’=Pr{st+1=s’|s=s,a=a}

により表す。このとき環境から行動主体へ報酬rが確率的に与えられるが、その期待値を

ss’=E{rt |s=s, a=a,st+1=s’}

とする。行動主体の各時刻における意志決定は方策関数

π(s,a)=Pr{a=a|s=s}

によって表される。π(s,a)は、全状態s,全行動aにおいて定義される。方策関数π(s,a)は、単に方策π とも呼ばれる。
ある時間ステップtで選択した行動が、その後の報酬獲得にどの程度貢献したのかを評価するため、その後得られる報酬の時系列を考える。報酬の時系列評価は価値Qと呼ばれる。行動主体の目標は、価値Qを最大化することである。価値は、時間の経過とともに報酬を割引率γ(0≦γ<1)で割引いて合計される。
すべての状態s、行動a、遷移先の状態s’の組み合わせについてのP ss’とR ss’の値が定まっていれば、ダイナミックプログラミング(Dynamic Programming)法により、価値関数Q(s,a)及び方策πを計算することができる(例えば、三上 貞芳、皆川 雅章 共訳、R.S.Sutton、A.G.Barto 原著「強化学習」森北出版、1998、pp.94-118参照)。
従来例による動作計画法の行動主体は、図17に例示される水中ロボット1である。図17は、上から見た水中ロボット1の概念図である。水中ロボット1は、舵8、主推進器3、海流差計測部6、位置計測部7を有する。この水中ロボット1は、真横方向に直接移動することができない。すなわち、搭載アクチュエータである舵8、主推進器3が制御可能な運動自由度よりも、水中ロボットの運動自由度が高いので、この水中ロボット1は劣駆動ロボットである。
以下、図13を参照して、従来例による水中ロボットの動作制御方法を実現するための装置の機能構成例及びその処理例について説明する。図13は、従来例による水中ロボットの動作制御装置の構成例を示す図である。
水中ロボットの動作計画装置100は、最大加速度設定部112、目標速度計算部102、想定海流速度値入力部103、変位量計算部104、状態遷移確率計算部105、地形モデル保存部106、傾斜角差計算部107、登坂角度計算部108、報酬決定部109、動作計画部110、価値関数保存部111、海流差計測部6、位置計測部7、遷移先予測部213、価値関数値計算部214、動作選択部215、フィードバック制御部216から構成される。
目標速度計算部102が、マルコフ状態遷移モデルの各状態sにおいてある行動aを取ったときの目標速度を決定する。この実施例では、水中ロボット目標速度は、対水機体座標に基づいて、かつ、飛行船の最大加速度を考慮して設定される。また、目標速度は、例えば、劣駆動水中ロボットの旋回速度ψ τ(t)と飛行船の機軸方向の速度vxwτ(t)(以下、サージ速度とする)である。
水中ロボット1が航行する空間はマルコフ遷移状態モデルにより離散的にモデル化されており、その状態sは、水中ロボット1の水平面内位置のX座標,Y座標,方位角ψ,旋回速度ψ’の4つのパラメータ・軸から構成される。各軸は、水中ロボットに搭載可能なセンサーの精度を考慮して離散化されている。例えば、状態sを構成する格子の一辺の長さが5〜10mになるように、X軸方向,Y軸方向に離散化される。また、格子の一辺の長さが、水中ロボットの大きさとほぼ同じになるように、X軸方向,Y軸方向に離散化しても良い。方位角Ψは、5〜10度ごとに離散化される。旋回速度Ψ’は、1度/秒ごとに離散化される。
例えば、目標速度計算部102は、最大加速度設定部112において予め設定された水中ロボット1の旋回加速度αを読み出し、各行動aについて、下記の式に従って水中ロボット1の旋回速度ψ τ(t)とサージ速度vxwτ(t)を水中ロボット1の目標速度として定め、変位量計算部104に出力する。
Figure 0004495703
ここで、ψ τ(t)は水中ロボット1の目標旋回速度、aはマルコフ状態遷移モデルの各状態sにおける行動、αは水中ロボット1の旋回加速度、tは各行動aの開始時からの経過時間、ψ τ0は各状態sの開始時における水中ロボットの旋回速度、vxwτ(t)は水中ロボット1の目標対水機体速度(以下、目標サージ速度とする)、vx0は正の一定値とした場合である。ここで、αは、水中ロボットの最大加速度を超えないように設定される。また、この実施例では、計算量を少なくするためにvx0を正の一定値として扱ったが、より精度の高い動作計画を行うためにvx0の値を行動として選択することができるようにしても良い。
この実施例では、説明の簡略化のために、行動aが−1,0,1の何れかの値を取るとし、行動aが1の場合には、上記式(2)に従い、水中ロボットの旋回速度ψ’は一定加速度αで加速され、行動aが0の場合には、水中ロボットの旋回速度ψ’は維持され、行動aが−1の場合には、水中ロボットの旋回速度ψ’は一定加速度αで減速されるものとする。
例えば、時刻0の時の状態において行動として1を選択し、時刻Tの状態において行動として0を選択し、時刻2Tの時の状態において行動1、時刻3Tの時の状態において行動1、時刻4Tの時の状態において行動0、時刻5Tの時の状態において行動−1、時刻6Tの時の状態において行動−1、時刻7Tの時の状態において1を選択した場合には、水中ロボットの旋回速度ψ’は、図12に示すように変化する。
なお、この行動aの例は一例であることに注意する。すなわち、aは、−10,0,10の値を取っても良いし、−1,―0.5,0,0.5,1の5つの値等を取っても良い。さらには、各行動時間中に水中ロボットの速度・加速度が変わるような行動を選択することができるようにしても良い。
このように、目標軌道や対地世界座標に基づく目標速度ではなく、対水機体座標に基づく目標速度の形で、目標となる行動を水中ロボット1に与えることにより、未知海流の外乱等により水中ロボットの水平面内の位置がずれた場合であっても、動作計画が破綻しないというメリットがある。すなわち、もし、目標軌道や対地世界座標で目標速度を設定した場合、任意環境において未知の強い海流の外乱があったときに、水中ロボットのアクチュエータ力では海流に対抗しきれず、目標軌道又は対地世界座標で表現された目標速度を大きく外れて航行してしまう可能性があった。本発明においては、上記のように、対水機体座標で目標速度を記述し、それを追従することで、海流による追従制御への影響を最小限とすることができる。また、これにより、海流外乱による影響を水中ロボット1の位置変化の誤差にのみ現れるようにすることができるのである。
また、水中ロボットは、その運動のイナーシャが高く、運動が海流による影響を受けやすいという性質があり、舵の切り角に対する旋回速度のステップ応答は遅く、舵を切って即、旋回速度が希望の値になることが望めないことがある。しかし、上記の式(2)により、水中ロボット1の加速度制限値を考慮した目標速度の設定をすることができるため、追従可能な動作計画を行うことができるのである。
変位量計算部104は、状態sにある水中ロボット1が、想定される海流下f、fにおいて、各行動aに従って航行した場合、水中ロボットの世界座標系における水平面内位置のX座標,Y座標,方位角ψ,旋回速度ψ’がそれぞれどれくらい変位するのかを計算する。これらの変位を求めることにより、後述するように、状態sにいる水中ロボットが、行動aを選択した場合に、次に、どの状態s’にどのくらいの確率で遷移するのかを計算することができるのである。
水中ロボット1の水平面内位置のX座標の変位量をD(ψ,a)、Y座標の変位量をD(ψ,a)、方位角ψの変位量をDψ(ψ,a)、旋回速度ψ’の変位量をDψ’(ψ,a)とすると、それぞれの変位量は、次式にように与えられる(図14を参照のこと)。
Figure 0004495703
ここで、ψは各状態sの開始時の方位角、Tは状態sから次の状態s’に遷移するまでの時間(以下、行動単位時間とする)、fは想定される海流の速度の世界座標系におけるX軸方向の成分、fは想定される海流の速度の世界座標系におけるY軸方向の成分である。なお、方位角ψの変位量Dψ(ψ,a)と、旋回速度ψ’の変位量Dψ’(ψ,a)については、旋回速度ψ’の制御を行うことになるため、風の影響による補正は行わない。行動単位時間は例えば15秒とすることができる。
変位量計算部104は、目標速度計算部が出力した各時刻tにおける水中ロボットの旋回速度ψ’τとサージ速度vxwτ、想定海流速度値入力部で入力されたfとfを用いて、水中ロボットの水平面内位置のX座標の変位量D(ψ,a)、Y座標の変位量D(ψ,a)、方位角ψの変位量Dψ(ψ,a)、旋回速度ψ’の変位量Dψ’(ψ,a)を上記式に基づいてそれぞれ計算して、その計算結果を状態遷移確率計算部105に出力する。
状態遷移確率計算部105は、水中ロボット1の水平面内位置のX座標の変位量D(ψ,a)、Y座標の変位量D(ψ,a)、方位角ψの変位量Dψ(ψ,a)、旋回速度ψ’の変位量Dψ’(ψ,a)に基づいて、状態遷移確率P ss’を計算する。すなわち、これらの変位量を用いて、すべての状態sと状態s’と行動aの組み合わせについて、状態sにいる水中ロボットが行動aを選択した場合に、状態s’へ遷移する確率を計算する。
まず、状態sが、水中ロボット1の水平面内位置のX座標,Y座標,方位角ψ,旋回速度ψ’の4つの軸から構成される4次元の格子で示されるとし、その格子をR(s)と定義する(図15を参照のこと)。そして、その格子R(s)を、上記各変位量から構成される変位量ベクトル(D(ψ,a),D(ψ,a),Dψ(ψ,a),Dψ’(ψ,a))で、平行移動したものをR(s)と定義する。
ここで、水中ロボット1が状態sにあるときは、水中ロボット1は、その状態sを表わす4次元の格子R(s)の各点の何れかに、等しい確率で存在するものと仮定する。この仮定の下では、状態遷移確率P ss’は、R(s)と各R(s’)の重なった部分の体積に比例してそれぞれ求めることができる。ここで、R(s’)は、R(s)と重なった格子である。すなわち、R(s’)は、状態sにおいてある行動aを取ったときの遷移先の候補の状態s’に対応した4次元の格子である。R(s)は最大で8つのR(s’)と重なる可能性がある。
状態遷移確率P ss’は、R(s)とあるR(s’)の重なった部分の体積をV(s,s’,a)、R(s)とすべてのR(s’)との重なった部分の体積をΣs’(s,s’,a)とすると、次式により求めることができる。
Figure 0004495703
このように状態遷移確率P ss’を計算することにより、最大8つの遷移先の状態s’についてのみ0でない状態遷移確率P ss’を与え、他のすべての状態s’については0の状態遷移確率P ss’を与えることになるため、後述するダイナミックプログラミング(DP)法による計算量を削減することができる。
傾斜角差計算部107が、地形モデル保存部106に保存された地形モデルを参照して、状態sにおける地形の傾斜角θsteep(s)と、その状態においてある行動aを取ったときの遷移先の状態s’における地形の傾斜角θsteep(s’)の差の絶対値dθsteep(s’,s)を求める。計算されたdθsteep(s’,s)は、報酬決定部109に出力される。
すなわち、状態間の傾斜角差dθsteep(s’,s)は下記の式により定義される(図16を参照のこと)。
Figure 0004495703
地形モデルは、位置(X,Y)と方位角のすべての組み合わせについての傾斜角のデータと、障害物の位置が登録されているデータベースである。水中ロボットの動作計画を行う前に、実際に水中ロボットを航行させる予定の地形についての地形モデルを予め取得し、地形モデル保存部106に格納しておく必要がある。
登坂角度計算部108が、ある状態sから別の状態s’に遷移するときの水中ロボットの最大登坂角度dθmax(s,s’)を計算する。計算された水中ロボットの最大登坂角度dθmax(s,s’)は、報酬決定部109に出力される。
(s)を状態sにおけるピッチ角の変化速度、aを水中ロボットのピッチ角変化の加速度の最大値、fxbを海流の機軸方向の対機体速度とし、登坂角度は限りなく小さく、上下方向には海流がないものとすると、水中ロボットの最大登坂角度dθmax(s,s’)は、以下のように定義される。
Figure 0004495703
報酬決定部109が、状態s、行動a、遷移先の状態s’の各組み合わせについて、それぞれ、水中ロボットの最大登坂角度dθmax(s,s’)と状態間の傾斜角差dθsteep(s’,s)の大小関係を調べて、報酬を決定する。
具体的には、報酬決定部109は、状態間の傾斜角差dθsteep(s’,s)の方が大きい場合には、その状態s、行動a、遷移先の状態s’各組み合わせについての報酬R ss’を−1に設定する。状態間の傾斜角差dθsteep(s’,s)の方が大きい場合には、水中ロボット1が、その遷移先の状態s’に移行することは不可能であり、かかる遷移先の状態sは障害物とみなすことができるためである。
また、報酬決定部109は、遷移先の状態s’が到達点を含む場合には報酬R ss’を1に設定し、その他の場合には報酬R ss’を0に設定する。
なお、報酬決定部109は、dθmax(s,s’)と状態間の傾斜角差dθsteep(s’,s)の比較をしないで、報酬を決定しても良い。具体的には、報酬決定部109は、地形モデル保存部106に保存された地形データを参照して、遷移先の状態s’が到達点を含む場合には報酬R ss’を1に設定し、遷移先の状態s’が障害物を含む場合には報酬R ss’を−1に設定し、その他の場合には報酬R ss’を0に設定する。
また、先に述べたように、この{1,0,−1}の何れかの報酬を与えるという決定方法は一例に過ぎず、到達点を含む場合の報酬>その他の場合の報酬>障害物である場合の報酬という関係が成り立っている限り、報酬の値はどのような値でも良い。
動作計画部110は、状態遷移確率計算部105が計算した状態遷移確率P ss’と、報酬決定部109が計算した報酬R ss’を用いて、ダイナミックプログラミング法により、価値関数Q(s,a)を計算し、これを価値関数保存部111に格納する。
先に述べたように、すべての状態s、行動a、遷移先の状態s’の組み合わせについてのP ss’とR ss’の値がそれぞれ定まっていれば、ダイナミックプログラミング(Dynamic Programming)法により、価値関数Q(s,a)を計算することができる。
Q(s,a)は、各状態sにおいて、行動aを選択した結果、将来水中ロボットが受ける報酬の推定量を示すものであり、各状態sにおいて、Q(s,a)の値を最大化する行動aを選択することが最適な行動方策となる。
以上に説明したQ(s,a)の値を利用して、実際の任務行動における自律水中ロボットの制御が行われる。すなわち、行動単位時間Tおきに、水中ロボットは、Q(s,a)の値を最大化する行動aを選択する。ただし、この手法は、任務環境における海流速度fx、fyが、動作計画時に想定していた場合と等しいときのみに利用することができる手法である。任意環境における海流速度が想定していた値と異なる場合には、以下に示す行動選択手法を利用する。
海流差計測部6が、各行動単位時間毎に、動作計画時に予測した海流の速度f,fと、実際の海流の速度の実測値fxa,fyaの差df,dfを計測する。ここで、df=f−fxa,df=f−fyaである。計測された海流の速度差df,dfは、遷移先予測部213に出力される。
位置計測部7が、各行動単位時間毎に、水中ロボットの位置X,Y、方位角ψ、旋回速度ψ’を計測する。計測結果は、遷移先予測部213に出力される。
遷移先予測部213が、海流差計測部6が出力した海流の速度差df,dfと、位置計測部7が出力した水中ロボットの位置X,Y、方位角ψ、旋回速度ψ’を用いて、状態sにいる水中ロボットが、各行動aを取った場合に、次にどの状態に遷移するのかを予測し、その予測される遷移先の状態sをそれぞれ求める。各行動aごとに求められた予想される遷移先の状態sは、価値関数値計算部214に出力される。
具体的には、遷移先予測部213はまず、ある行動aについて、
Figure 0004495703
上記式(3)を用いて、海流の速度差dfを考慮したときの水中ロボットのX軸方向の変位量DXa(ψ,a)、海流の速度差dfを考慮したときの水中ロボットのY軸方向の変位量DYa(ψ,a)をそれぞれ求める。その後、
Figure 0004495703
上記式(4)を用いて、その行動aを取ったときの予想遷移先状態sを求める。ここで、X(s,a),Y(s,a)、ψ(s,a)、ψ’(s,a)は、状態sにある水中ロボットがある行動aを取ったときの予想される遷移先の状態sの位置、方位角、旋回速度である。これを、すべての行動aについて行い、各行動aごとにそれぞれ予想される遷移先の状態sを求める。各行動aごとに求められた予想される遷移先の状態sは、価値関数値計算部214に出力される。
価値関数値計算部214が、価値関数保存部111を参照して、遷移後の状態sにおける行動a’を変化させたときのQ(s,a’)の最大値Qmax(s(a))を、遷移前の状態sにおける各行動aごとに求める。Qmax(s(a))は、動作選択部215に出力される。
動作選択部215が、価値関数値計算部214が計算したQmax(s(a))の大小関係を比較して、Qmax(s(a))を最大にする遷移前状態sでの行動aを選択する。そして、その行動により決定される目標速度を式(2)から再計算する。再計算された目標速度は、フィードバック制御部216に出力される。
フィードバック制御部216は、再計算された目標速度を維持することができるように、主推進器力、舵角度を調整する。
以上が、従来例による自律ロボットの動作制御方法の説明である(例えば、非特許文献5参照。)。
T. Yamasaki and N. Goto:"identification of Blimp Dynamics by Flight Tests",Transactions of JSASS,Vol.43,pp.195-205,2003. T. Yamasaki and N. Goto:"identification of Blimp Dynamics by Flight Tests",Transactions of JSASS,Vol.43,pp.195-205,2003. 中村仁彦「非ホロノミックロボットシステム 第2回 幾何学的な非ホロノミック拘束の下での運動計画」日本ロボット学会誌 Vol.11 No.5,pp.655〜662,1993 川野洋「未知不均一潮流中での航行を考慮した劣駆動水中ロボットの動作計画と制御」,JSAI2005,人工知能学会(第19回),1D1-04,2005年 川野洋「未知外乱中を航行する自律飛行船の三次元障害物回避」、日本機械学会ロボティクスメカトロニクス講演会2006講演予稿集、2006年5月26日
従来技術では、自律ロボットが航行する環境についての障害物に関する情報を事前に知っておく必要があり、その情報が得られていない場合には、動作計画及びその動作計画を用いた動作制御を行うことができないという問題があった。また、マルコフ状態遷移モデルを利用した動作計画は時間がかかるため、自律ロボットが航行中に、障害物の情報を取得して、マルコフ状態遷移モデルを利用した動作計画及びその動作計画を用いた動作制御を実時間で行うことができないという問題があった。
本発明によれば、原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数が価値関数保存手段に保存されており、環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する。軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する。軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける。障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する。行動選択手段が、軌道追従計算ステップで付けられた優先順位の高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す。フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御する。
未知の障害物が存在する環境においても、自律ロボットが障害物に衝突せずに目標位置に到達することができるように制御することができる。
本発明による制御の対象となる水中ロボット1’を、図11に例示する。水中ロボット1’は、例えば、超音波測距センサ2、主推進器3、海流差計測部6、位置計測部7、舵8、動作制御部1000を有する。
動作制御部1000は、例えば、図1に示すように、環境モデル生成部10、軌道生成部20、実時間制御部90、フィードバック制御部60、価値関数保存部70、ダイナミックプログラミング部80から構成される。
ダイナミックプログラミング部80は、例えば、図18に示すように、最大加速度設定部112、目標速度計算部102、想定海流速度値入力部103、変位量計算部104、状態遷移確率計算部105、報酬決定部109’、動作計画部110から構成される。
軌道生成部20は、例えば、図4に示すように、目標軌道位置保存部201、初期値設定部202、存在確率計算部203、確率補正部204、存在確率記憶部205、制御部206、軌道決定部207から構成される。
軌道追従計算部30は、例えば、図8に示すように、相対位置決定部301、遷移先予測部213、最大値抽出部303、加算部304、順序決定部305、平均値抽出部306から構成される。
障害物回避計算部40は、例えば、図9に示すように、相対位置決定部401、遷移先予測部213、最大値抽出部403、最大値選択部404、リスク計算部405、平均値抽出部406から構成される。
<ステップS0>
ダイナミックプログラミング部80は、原点(0,0)を目標到達位置、水中ロボットが目標到達位置に到達するときの報酬を1、その他の場合の報酬を0として、障害物の位置を考慮しないで価値関数Q(s,a)を生成する。
ダイナミックプログラミング部80は、最大加速度設定部112、目標速度計算部102、想定海流速度値入力部103、変位量計算部104、状態遷移確率計算部105、報酬決定部109’、動作計画部110を有する。最大加速度設定部112、目標速度計算部102、想定海流速度値入力部103、変位量計算部104、状態遷移確率計算部105、動作計画部110の処理は、従来技術と同じであるためその説明を省略する。
報酬決定部109’は、障害物の有無を考慮せずに、原点(0,0)を目標到達位置、水中ロボットが目標到達位置に到達するときの報酬>その他の場合の報酬とする。例えば、水中ロボットが目標到達位置に到達するときの報酬を1、その他の場合の報酬決定された報酬を0とする。決定された報酬は、動作計画部110に出力される。この報酬決定部109’の処理のみが、従来技術とは異なる。ダイナミックプログラミング部80の他の処理は、従来技術と同様である。
動作計画部110は、報酬決定部109’が決定した報酬に基づいて価値関数Q(s,
a)を求める。遷移前の状態sにおける行動a (m)(m=1,…,M)ごとに計算された価値関数Q(s,a)は、価値関数保存部70に格納される。
Q(s,a)は、各状態sにおいて、行動aを選択した結果、将来水中ロボットが受ける報酬の推定量を示すものであり、各状態sにおいて、Qの値を最大化するaを選択することにより最適な行動方策を選ぶことができる。
なお、上記式(2’)では、水流の速度(fx,fy)の方向や速さ及び旋回速度Ψ’が異なっても、水中ロボットの位置(X,Y)は、水流の速度(fx,fy)を行動単位時間Tで積分した値だけが変化し、方位角Ψは、旋回速度Ψ’を行動単位時間Tだけ積分した値だけ変化すると仮定している。しかし、上記の仮定は、水中ロボットの形状やその他の要因を考慮すると、現実の世界においては必ずしも成り立つとは限らない。したがって、上記式(2’)を用いる代わりに、想定される水流を発生させた水槽の中に水中ロボットを入れて、Dx(Ψ,a),Dy(Ψ,a),DΨ,DΨ’の値を実際に測定しても良い。すなわち、いわゆる水槽試験等の手法により、Dx(Ψ,a),Dy(Ψ,a),DΨ,DΨ’を直接計測しても良い。
なお、本発明では、原点(0,0)を目標到達位置、水中ロボットが目標到達位置に到達するときの報酬>その他の場合の報酬を0として、障害物の位置を考慮しないで生成された価値関数Q(s,a)に基づいて、下記に述べる処理を行う点が重要であり、価値関数Q(s,a)の生成手段であるダイナミックプログラミング部は、必須の構成要件ではない点に留意する。
<ステップS1>
環境モデル生成部10は、新たな障害物を検出するごとに、その障害物の位置を求めて、環境モデル生成部10の障害物情報保存部101に格納する。障害物の検出及び障害物の位置の計算には、例えば、超音波測距センサを用いる。例えば、超音波測距センサは、水中ロボットの進行方向に対して−ω〜+ω度の範囲を等間隔に分けるように3〜5つ程度設けることができる。ここで、ω=45〜60度である。図3は、超音波測距センサが、水中ロボット1の前方に5つ設けられている例である。
これらの超音波測距センサのうち、k番目の超音波測距センサ2が検出した障害物9の位置(Xok,Yok)は、水中ロボット1の位置を(X,Y)、水中ロボット1の方位角をΨ、k番目の超音波測距センサとk番目の超音波測距センサが検出したその超音波測距センサと障害物の距離をrk、水中ロボットの進行方向に対する超音波測距センサ2の角度をθkとすると、方位角Ψが、X軸の正方向からの方位角として定義されている場合には、
Xo=X+rk×cos(Ψ+θk)
Yo=Y+rk×sin(Ψ+θk)
として求めることができる。ここで、超音波測距センサが取り付けられた位置と水中ロボットの位置を定める際の基準となる点は、十分に近いものとする。
なお、障害物情報データの更新は、例えば、行動単位時間Tごとに行うことができるが、必ずしも行動単位時間Tごとに行う必要はない。例えば、行動単位時間Tよりも短い間隔で行っても良い。これにより、障害物の検知率が上がり、水中ロボットが障害物にぶつかる可能性を低くすることができる。
<ステップS2>
軌道生成部20は、障害物情報保存部101から読み出した障害物の位置情報を基にして、水中ロボットの現在位置から目標位置に至るまでの、障害物と接触しない目標軌道位置を計算する。障害物の位置情報のみを考慮した目標軌道位置の計算方法としては既出の方法が多数ある。本実施形態では、例えば以下のようにして、目標軌道位置を求める。
図4は、軌道生成部20の機能構成を例示する図である。図5は、軌道生成部20の処理を例示する図である。
まず、現時点での水中ロボットの位置を含む格子をs0とする。そして、目標位置を含む格子をsdとする。1時刻ステップごとに、つまり、行動単位時間Tごと、水中ロボットは、隣り合う格子の何れかに等しい確率で移動するものとする。「隣り合う」とは、格子が辺を介して隣り合う場合だけではなく、格子が頂点を介して隣り合う場合をも意味する点に注意する。すなわち、水中ロボットの運動学的特性を考慮せずに、水中ロボットが自機を囲む8つのどの格子にも移動可能であると仮定する。
例えば、図6に示すように、ある時刻ステップで水中ロボットが黒丸が描かれた格子にいる場合には、次に時刻ステップにおいて水中ロボットは白丸で描かれた格子の何れかに等しい確率で移動するものとする。具体的には、図6の例では、水中ロボットは、黒丸が描かれた格子に1の確率で存在しているため、行動単位時間Tの経過後には、白丸が描かれた格子のそれぞれに1/8の確率で存在するものとする。
各時刻ステップtで、水中ロボットが格子sに存在する確率をP(s,t)とする。そうすると、時刻ステップ0において、水中ロボットが格子s0に位置する確率P(s0,0)=1であり、時刻ステップ0において、水中ロボットが格子s0以外の格子に位置する確率P(s(s!=s0),0)=0である。ここで、「s!=s0」は、格子s0以外の格子を意味する。
軌道生成部20の初期値設定部202が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率P(s0,0)を1とし、その他の格子に存在する確率P(s(s!=s0),0)を0に設定する(ステップS21)。
任意の時刻ステップtにおけるP(s,t)は、下記の式で計算することができる。
P(s,t)=Σs’(1/8)×P(s’,t−1) …(5)
上記式中のs’は、格子sに隣り合う8つ格子、言い換えると、格子sの周りのsを含まない8つの格子のことである。上記式中のΣは、このs’についての和を取るものである。例えば、図7に示すように、格子sの周りにs1’,…s8’の8つの格子があり、水中ロボットは、時刻ステップt−1において格子sp’(p=1,…,8)に、それぞれP(sp’,t−1)の確率で存在しているものとする。このとき、上記の仮定より、水中ロボットは、sp’(p=1,…,8)の各格子から1/8の確率で格子sに移動するため、水中ロボットが時刻ステップtにおいて格子sに存在する確率P(s,t)は、
P(s,t)=Σp=1 (1/8)×P(sp’,t−1)
となる。
軌道生成部20の存在確率計算部203が、上記式(5)に基づいて各時刻ステップにおける水中ロボットの存在確率を計算する(ステップS22)。
格子が障害物を含む場合には、水中ロボットはその格子に侵入することはできない。このため、軌道生成部20の確率補正部204が、障害物の位置についての情報を障害物情報保存部101から読み出し、上記存在確率計算部203で求まった存在確率のうち、各障害物が存在している格子についての存在確率を0とする(ステップS23)。
計算された各時刻ステップにおける水中ロボットが各格子に存在する確率P(s,t)は、存在確率記憶部205に保存される。また、存在確率記憶部205から読み出した一時刻ステップ前の確率P(s,t−1)に基づいて、次の時刻ステップにおける確率P(s,t)は計算される。
軌道生成部20の制御部206は、水中ロボットが目標到達位置sdを含む格子に存在する確率P(sd,t)が0でない値になるまで、存在確率計算部203と確率補正部204の処理を繰り返すように制御する。制御部206は、P(sd,t)が0でない値になった場合には、そのときの時刻ステップtdを、軌道生成部20の軌道決定部207に出力する(ステップS24)。
軌道生成部20の軌道決定部207は、まず、時刻ステップtdに対応した目標軌道位置τ(td)を、τ(td)=sdとして、軌道生成部20内の目標軌道位置保存部201に格納する(ステップS25)。
軌道決定部207は、水中ロボットが時刻ステップt−1において、目標軌道位置τ(t)の周りにある各格子に存在している確率を存在確率記憶部205から読み出す。そして、それらの確率を最も大きくする格子をτ(t−1)として、目標軌道位置保存部201に格納する(ステップS26)。
この処理をt=tdからt=1まで繰り返すことによって、軌道決定部207は、最終的に、各時刻ステップにおける目標軌道位置τ(td),τ(td−1),…,τ(1),τ(0)を求める(ステップS27)。
上記の計算方法は、既出の手法に比べて計算負担が少ない。このため、計算の実時間性を担保することができる。
なお、上記実施形態では、その格子が障害物を含むか含まないかを問わず、すべての格子について、水中ロボットがその格子に存在する確率を求めたのちに、その格子が障害物を含むかどうかを判断し、その格子が障害物を含む場合には、水中ロボットがその格子に存在する確率を0とした。しかし、障害物を含む格子については、水中ロボットがその格子に存在する確率を求めずに、常に、その格子に存在する確率を0としても良い。
また、軌道生成部20は、障害物情報保存部101から読み出した障害物の位置情報を参照して、障害物の位置を構成する格子空間(X,Yで構成される)を利用して、いわゆる動的計画法により、目標軌道位置を求めても良い。
<ステップS3>
軌道追従計算部30は、各行動a (m)(m=1,…,M)を取ったときに、どの程度目標軌道位置τ(i)(i=0,1,…,td)に近づくことができるのかを値で評価し、その評価値により、各行動a (m)(m=1,…,M)に優先順位を付ける。図8は、軌道追従計算部30の機能構成を例示した図である。
軌道追従計算部30の相対位置決定部301は、目標軌道位置τ(i)(i=0,1,…,td)に対する現時点における水中ロボットの相対位置を(Xτ(i),Yτ(i))を求める。すなわち、目標軌道位置τ(i)(i=0,1,…,td)を原点としたときの、現時点における水中ロボットの位置を(Xτ(i),Yτ(i))を求める。
軌道追従計算部30の遷移先予測部213は、(Xτ(i),Yτ(i))に位置する水中ロボットが、各行動a (m)(m=1,…,M)を取ったときの遷移先の状態s(τi,a (m))を求める。行動a (m)(m=1,…,M)を第一の行動と呼ぶ。すなわち、時刻t=0における水中ロボットの方位角をΨ、旋回速度をΨ’とすると、位置(Xτ(i)+Dxa(s,a),Yτ(i)+Dya(s,a),DΨ+DΨ,DΨ’+DΨ’)が含まれる状態s(τi,a (m))を求める。遷移先予測部213、海流差計測部6、位置計測部7の処理は、従来例と同様であるため説明を省略する。
軌道追従計算部30の最大値抽出部303は、遷移先の状態s(τi,a (m))において、水中ロボットが各行動a (n)(n=1,…,N)を取ったときのQ(s(τi,a (m)),a (n))の最大値Qmax(τi,a (m))を求める。
行動a (n)(n=1,…,N)を第二の行動と呼ぶ。すなわち、遷移先の状況s(τi,a (m))において、水中ロボットが各行動a (n)を取ったときにQ(s(τi,a (m)),a (n))が定まるが、これらの各行動a (n)ごとに求まった報酬Q(s(τi,a (m)),a (n))のうち、最大のものQmax(τi,a (m))を求める。
相対位置決定部301と遷移先予測部213と最大値抽出部303は、上記の処理を行うことにより、τiとa (m)のすべての組について、Qmax(τi,a (m))を求める。
軌道追従計算部30の加算部304は、すべてのτiについての、τiとa (m)の各組ごとに求まったQmax(τi,a (m))の和を求める。すなわち、
Qmax(a (m))=Σi=0 tdQmax(τi,a (m)
を計算する。
Qmax(a (m))は、行動a (m)を選択した水中ロボットが、将来的に、目標軌道上に乗っている可能性の大きさを示す指標となる。なぜなら、上記したように、価値関数Q(s,a)は、状態sにある自機が、価値関数Q(s,a)を最大にする行動aを選択することにより、原点に最も効率良く近づくことができるように設計されており、かつ、上記相対位置決定部301の処理により、原点が目標軌道τiに置き換えられているためである。
軌道追従計算部30の順序決定部305は、行動a (m)を序列化する。具体的には、Qmax(a (m))の値が大きい順に、行動a (m)(m=1,…,M)を並び替えて、a’,a’,…,a’とすることにより優先順位を付ける。a’(m=1,…,M)は、行動選択部50に出力される。
なお、上記最大値抽出部303に替えて、以下に説明する平均値抽出部306を設けても良い。
軌道追従計算部30の平均値抽出部306は、遷移先の状態s(τi,a (m))において、水中ロボットが各行動a (n)(n=1,…,N)を取ったときの報酬Q(s(τi,a (m)),a (n))の平均値Qave(τi,a (m))を求める。すなわち、遷移先の状況s(τi,a (m))において、水中ロボットが各行動a (n)を取ったときに報酬Q(s(τi,a (m)),a (n))が定まるが、これらの各行動a (n)ごとに求まった報酬Q(s(τi,a (m)),a (n))の平均値Qave(τi,a (m))を求める。
この場合には、加算部304は、Qmax(τi,a (m))ではなく、Qave(τi,a (m))についての和を取る。すなわち、
Qave(a (m))=Σi=0 tdQave(τi,a (m)
を計算する。
そして、順序決定部305は、Qave(a (m))の値が大きい順に、行動a (m)(m=1,…,M)を並び替えて、a’,a’,…,a’とする。
<ステップS4>
障害物回避計算部40の相対位置決定部401は、環境モデル作成部の障害物情報記録部から読み出した障害物の位置ob(j)(j=1,2,…,J)に対する現時点における水中ロボットの相対位置を(Xob(j),Yob(j))を求める。すなわち、障害物の位置ob(j)(j=1,2,…,J)を原点としたときの、現時点における水中ロボットの位置を(Xob(j),Yob(j))を求める。
障害物回避計算部40の遷移先予測部213は、(Xob(j),Yob(j))に位置する水中ロボットが、各行動a (m)(m=1,…,M)を取ったときの遷移先の状態s(obj,a (m))を求める。行動a (m)(m=1,…,M)を第一の行動と呼ぶ。すなわち、時刻t=0における水中ロボットの方位角をΨ、旋回速度をΨ’とすると、位置(Xob(j)+Dxa(s,a),Yob(j)+Dya(s,a),DΨ+DΨ,DΨ’+DΨ’)が含まれる状態s(obj,a (m))を求める。遷移先予測部213、海流差計測部6、位置計測部7の処理は、従来例と同様であるため説明を省略する。
障害物回避計算部40の最大値抽出部403は、遷移先の状態s(obj,a (m))において、水中ロボットが各行動a (n)(n=1,…,N)を取ったときの報酬Q(s(obj,a (m)),a (n))の最大値Qobmax(obj,a (m))を求める。行動a (n)(n=1,…,N)を第二の行動と呼ぶ。すなわち、遷移先の状況s(obj,a (m))において、水中ロボットが各行動a (n)を取ったときに報酬Q(s(obj,a (m)),a (n))が定まるが、これらの各行動a (n)ごとに求まった報酬Q(s(obj,a (m)),a (n))のうち、最大のものQobmax(obj,a (m))を求める。Qobmax(obj,a (m))は、最大値選択部404とリスク計算部405に出力される。
相対位置決定部401と遷移先予測部213と最大値抽出部403は、上記の処理を行うことにより、objとa (m)のすべての組について、Qobmax(obj,a (m))を求める。
障害物回避計算部40の最大値選択部404は、各障害物の位置ob(j)ごとに、Qobmax(obj,a (m))を最大にする行動a (m)を選択する。選択されたa (m)は、amax(j)としてリスク計算部405に出力される。
リスク計算部405は、障害物の位置ob(j)(j=1,2,…,J)を、amax(j)の値が同じもの同士でグループ分けする。そして、それぞれのグループ内における、Qobmax(obj,amax(j))の最大値をQrisk(s,a (n))とする。すなわち、
リスク計算部405は、
Qrisk(s,a (m))=max{Qobmax(obj,a (m))|amax(j)=a (m)
を計算する。
Qrisk(s,a (m))は、行動a (m)を選択した水中ロボットが、将来的に、障害物にぶつかる可能性の大きさを示す指標となる。なぜなら、上記したように、価値関数Q(s,a)は、状態sにある自機が、価値関数Q(s,a)を最大にする行動aを選択することにより、原点に最も効率良く近づくことができるように設計されており、かつ、上記相対位置決定部401の処理により、原点が障害物の位置ob(j)に置き換えられているためである。各行動a (m)ごとに求まったQrisk(s,a (m))は、行動選択部50に出力される。
なお、最大値抽出部403に替えて、以下に説明する平均値抽出部406を設けても良い。
障害物回避計算部40の平均値抽出部406は、遷移先の状態sob(j,a (m))において、水中ロボットが各行動a (n)(n=1,…,N)を取ったときの報酬Q(s(obj,a (m)),a (n))の平均値Qave(obj,a (m))を求める。すなわち、遷移先の状況sob(j,a (m))において、水中ロボットが各行動a (n)を取ったときに報酬Q(s(obj,a (m)),a (n))が定まるが、これらの各行動a (n)ごとに求まった報酬Q(s(obj,a (m)),a (n))の平均値Qave(obj,a (m))を求める。計算された平均値Qave(obj,a (m))は、最大値選択部404とリスク計算部405に出力される。
この場合には、最大値選択部404は、各障害物の位置ob(j)ごとに、Qobmax(obj,a (m))ではなく、Qave(obj,a (m))を最大にする行動a (m)を選択する。選択されたa (m)は、amax(j)としてリスク計算部405に出力される。
リスク計算部405は、障害物の位置ob(j)(j=1,2,…,J)を、amax(j)の値が同じもの同士でグループ分けする。そして、それぞれのグループ内における、Qave(obj,amax(j))の最大値をQrisk(s,a (n))とする。すなわち、
リスク計算部405は、
Qrisk(s,a (m))=max{Qobave(obj,a (m))|amax(j)=a (m)
を計算する。
<ステップS5>
行動選択部50は、軌道追従計算部30が求めたa’,a’,…,a’と、障害物回避計算部40が求めたQrisk(s,a (m))を利用して、最適な行動を決定する。図10は、行動選択部50の処理を例示した図である。
ここで、Qthreshを水中ロボットの安全性を保障する一定の閾値とする。すなわち、Qrisk(s,a)<Qthreshであれば、その行動aを取る水中ロボットが障害物にぶつからないことが保障される。例えば、rを水中ロボットが目標位置に着いたときに得られる報酬、γを割引率、nを行動ステップの数とすると、Qthreshとしては、n行動ステップ後にロボットが障害物にぶつかる場合のQ値の値にすることができる。すなわち、Qthresh=r×γにすることができる。ここで、nは、ロボットの旋回半径を考慮して、2〜4の値にすると望ましい。
行動選択部50は、まず、Qrisk(s,a’)とQthreshの大小関係を比較する(ステップS51)。その結果、Qrisk(s,a’)<Qthreshであれば、行動a’を最適な行動として選択する(ステップS51’)。Qrisk(s,a’)>Qthreshであれば、Qrisk(s,a’)とQthreshの大小関係を比較する(ステップS52)。その結果、Qrisk(s,a’)<Qthreshであれば、行動a’を最適な行動として選択する(ステップS52’)。Qrisk(s,a’)>Qthreshであれば、Qrisk(s,a’)とQthreshの大小関係を比較する(ステップS53)。その結果、Qrisk(s,a’)<Qthreshであれば、行動a’を最適な行動として選択する(ステップS53’)。Qrisk(s,a’)>Qthreshであれば、Qrisk(s,a’)とQthreshの大小関係を比較する。
上記の処理を、行動が選択されるまで、又は、Qrisk(s,a’)>Qthreshと判断されるまで繰り返す(ステップS5M)。
このように、目標軌道に到達する可能性が高い行動a’,a’,…,a’の順番で、その行動を取ったときの障害物へのぶつかりやすさQrisk(s,a)が、水中ロボットの安全性を保障する一定の閾値を下回っているかどうかを検証することにより、障害物にぶつからない行動の中で最も軌道追従性の高い行動を選択することができる。
<ステップS6>
フィードバック制御部60は、水中ロボットが、行動選択部50が選択した行動aに従った動作をするように、舵の切り角δや、推進気力器力Mthを制御する。
以上の処理を、行動単位時間T単位ごとに繰り返すことにより、未知海流外乱と未知障害物が存在する中での水中ロボットの障害物回避制御が可能となる。
以上が、本発明による水中ロボットの動作制御装置の概要である。
水中ロボットの動作制御装置の処理機能をコンピュータによって実現することができる。この場合、水中ロボットの動作制御装置の処理機能の内容はプログラムによって記述される。そして、このプログラムを、図19に示すようなコンピュータで実行することにより、例えば、図1に示す水中ロボットの動作制御装置の各処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、水中ロボットの動作制御装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
以上の各実施形態の他、本発明である水中ロボットの動作制御方法、装置、プログラム及びその記録媒体は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
本発明による水中ロボットの動作制御部1000の機能構成を例示する図。 本発明による水中ロボットの動作制御部1000の処理を例示した図。 障害物の位置の求め方の説明を補助する図。 軌道生成部20の機能構成を例示する図。 軌道生成部20の処理を例示する図。 目標軌道位置の求め方の説明を補助する図。 確率P(s,t)の計算の説明を補助する図。 軌道追従計算部30の機能構成を例示した図。 障害物回避計算部40の機能構成を例示した図。 行動選択部50の処理を例示した図。 本発明による動作制御の対象となるロボットを例示した図。 時間に応じて変化する目標旋回速度の様子を例示した図。 従来例による自律ロボットの動作制御装置の機能構成を例示した図。 ロボットの位置の変位量の説明を補助する図。 状態遷移確率の計算の説明を補助する図。 状態sと遷移先の状態s’の傾斜角差を表わす図。 従来例による動作制御の対象となるロボットを例示した図。 ダイナミックプログラミング部80の機能構成を例示する図。 本発明による水中ロボットの動作制御装置をコンピュータで実施するときの機能構成を例示した図。

Claims (9)

  1. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数が価値関数保存手段に保存されており、
    環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成ステップと、
    軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成ステップと、
    軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算ステップと、
    障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算ステップと、
    行動選択手段が、軌道追従計算ステップで付けられた優先順位が高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択ステップと、
    フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御ステップと、
    を有し、
    上記軌道生成ステップは、
    初期値設定手段が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定ステップと、
    存在確率計算手段が、水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算ステップと、
    確率補正手段が、上記存在確率計算ステップで求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正ステップと、
    制御手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算ステップと上記確率補正ステップの処理を繰り返すように制御する制御ステップと、
    軌道決定手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定ステップと、
    から構成され、
    上記軌道追従計算ステップは、
    相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
    加算手段が、上記最大値抽出ステップで求まった最大値の、上記各目標軌道位置についての和を取る加算ステップと、
    順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
    から構成され、
    上記障害物回避計算ステップは、
    相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
    最大値選択手段が、上記最大値抽出ステップで求まった最大値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
    リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
    から構成される、
    ことを特徴とする水中ロボットの動作制御方法。
  2. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数が価値関数保存手段に保存されており、
    環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成ステップと、
    軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成ステップと、
    軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算ステップと、
    障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算ステップと、
    行動選択手段が、軌道追従計算ステップで付けられた優先順位が高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択ステップと、
    フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御ステップと、
    を有し、
    上記軌道生成ステップは、
    初期値設定手段が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定ステップと、
    存在確率計算手段が、水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算ステップと、
    確率補正手段が、上記存在確率計算ステップで求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正ステップと、
    制御手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算ステップと上記確率補正ステップの処理を繰り返すように制御する制御ステップと、
    軌道決定手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定ステップと、
    から構成され、
    上記軌道追従計算ステップは、
    相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
    加算手段が、上記最大値抽出ステップで求まった最大値の、上記各目標軌道位置についての和を取る加算ステップと、
    順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
    から構成され、
    上記障害物回避計算ステップは、
    相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
    最大値選択手段が、上記平均値抽出ステップで求まった平均値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
    リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
    から構成される、
    ことを特徴とする水中ロボットの動作制御方法。
  3. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数が価値関数保存手段に保存されており、
    環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成ステップと、
    軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成ステップと、
    軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算ステップと、
    障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算ステップと、
    行動選択手段が、軌道追従計算ステップで付けられた優先順位が高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択ステップと、
    フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御ステップと、
    を有し、
    上記軌道生成ステップは、
    初期値設定手段が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定ステップと、
    存在確率計算手段が、水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算ステップと、
    確率補正手段が、上記存在確率計算ステップで求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正ステップと、
    制御手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算ステップと上記確率補正ステップの処理を繰り返すように制御する制御ステップと、
    軌道決定手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定ステップと、
    から構成され、
    上記軌道追従計算ステップは、
    相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
    加算手段が、上記平均値抽出ステップで求まった平均値の、上記各目標軌道位置についての和を取る加算ステップと、
    順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
    から構成され、
    上記障害物回避計算ステップは、
    相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
    最大値選択手段が、上記最大値抽出ステップで求まった最大値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
    リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
    から構成される、
    ことを特徴とする水中ロボットの動作制御方法。
  4. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数が価値関数保存手段に保存されており、
    環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成ステップと、
    軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成ステップと、
    軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算ステップと、
    障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算ステップと、
    行動選択手段が、軌道追従計算ステップで付けられた優先順位が高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択ステップと、
    フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御ステップと、
    を有し、
    上記軌道生成ステップは、
    初期値設定手段が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定ステップと、
    存在確率計算手段が、水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算ステップと、
    確率補正手段が、上記存在確率計算ステップで求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正ステップと、
    制御手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算ステップと上記確率補正ステップの処理を繰り返すように制御する制御ステップと、
    軌道決定手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定ステップと、
    から構成され、
    上記軌道追従計算ステップは、
    相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
    加算手段が、上記平均値抽出ステップで求まった平均値の、上記各目標軌道位置についての和を取る加算ステップと、
    順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
    から構成され、
    上記障害物回避計算ステップは、
    相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
    遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
    平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
    最大値選択手段が、上記平均値抽出ステップで求まった平均値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
    リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
    から構成される、
    ことを特徴とする水中ロボットの動作制御方法。
  5. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数を保存する価値関数保存手段と、
    新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成手段と、
    上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成手段と、
    水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算手段と、
    水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算手段と、
    軌道追従計算手段で付けられた優先順位の高い行動の順番で、上記障害物回避計算手段で求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択手段と、
    行動選択手段で選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御手段と、
    を有し、
    上記軌道生成手段は、
    水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定手段と、
    水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算手段と、
    上記存在確率計算手段で求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算手段と上記確率補正手段の処理を繰り返すように制御する制御手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定手段と、
    を有し、
    上記軌道追従計算手段は、
    上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出手段と、
    上記最大値抽出手段で求まった最大値の、上記各目標軌道位置についての和を取る加算手段と、
    上記加算手段で求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定手段と、
    を有し、
    上記障害物回避計算手段は、
    各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出手段と、
    上記最大値抽出手段で求まった最大値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択手段と、
    各障害物の位置を、最大値選択手段で求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出手段で求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算手段と、
    を有する、
    水中ロボットの動作制御装置。
  6. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数を保存する価値関数保存手段と、
    新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成手段と、
    上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成手段と、
    水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算手段と、
    水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算手段と、
    軌道追従計算手段で付けられた優先順位が高い行動の順番で、上記障害物回避計算手段で求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択手段と、
    行動選択手段で選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御手段と、
    を有し、
    上記軌道生成手段は、
    水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定手段と、
    水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算手段と、
    上記存在確率計算手段で求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算手段と上記確率補正手段の処理を繰り返すように制御する制御手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定手段と、
    を有し、
    上記軌道追従計算手段は、
    上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出手段と、
    上記最大値抽出手段で求まった最大値の、上記各目標軌道位置についての和を取る加算手段と、
    上記加算手段で求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定手段と、
    を有し、
    上記障害物回避計算手段は、
    各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出手段と、
    上記平均値抽出手段で求まった平均値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択手段と、
    各障害物の位置を、最大値選択手段で求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出手段で求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算手段と、
    を有する、
    水中ロボットの動作制御装置。
  7. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数を保存する価値関数保存手段と、
    新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成手段と、
    上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成手段と、
    水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算手段と、
    水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算手段と、
    軌道追従計算手段で付けられた優先順位の高い行動の順番で、上記障害物回避計算手段で求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択手段と、
    行動選択手段で選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御手段と、
    を有し、
    上記軌道生成手段は、
    水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定手段と、
    水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算手段と、
    上記存在確率計算手段で求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算手段と上記確率補正手段の処理を繰り返すように制御する制御手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定手段と、
    を有し、
    上記軌道追従計算手段は、
    上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出手段と、
    上記平均値抽出手段で求まった平均値の、上記各目標軌道位置についての和を取る加算手段と、
    上記加算手段で求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定手段と、
    を有し、
    上記障害物回避計算手段は、
    各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出手段と、
    上記最大値抽出手段で求まった最大値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択手段と、
    各障害物の位置を、最大値選択手段で求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出手段で求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算手段と、
    を有する、
    水中ロボットの動作制御装置。
  8. 原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、障害物の位置を考慮しないで遷移前の状態における行動ごとに計算された価値関数を保存する価値関数保存手段と、
    新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成手段と、
    上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成手段と、
    水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算手段と、
    水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算手段と、
    軌道追従計算手段で付けられた優先順位が高い行動の順番で、上記障害物回避計算手段で求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択手段と、
    行動選択手段で選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御手段と、
    を有し、
    上記軌道生成手段は、
    水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定手段と、
    水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算手段と、
    上記存在確率計算手段で求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算手段と上記確率補正手段の処理を繰り返すように制御する制御手段と、
    上記存在確率計算手段で求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置をτ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置τ(t−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定手段と、
    を有し、
    上記軌道追従計算手段は、
    上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出手段と、
    上記平均値抽出手段で求まった平均値の、上記各目標軌道位置についての和を取る加算手段と、
    上記加算手段で求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定手段と、
    を有し、
    上記障害物回避計算手段は、
    各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定手段と、
    上記相対位置決定手段で求まった各相対位置に位置する水中ロボットが、第一の行動を現時点で取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測手段と、
    価値関数保存手段を参照して、上記遷移先予測手段で求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出手段と、
    上記平均値抽出手段で求まった平均値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択手段と、
    各障害物の位置を、最大値選択手段で求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出手段で求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算手段と、
    を有する、
    水中ロボットの動作制御方法。
  9. 請求項1からの何れかに記載の水中ロボットの動作制御方法の各ステップをコンピュータに実行させるための水中ロボットの動作制御プログラム。
JP2006227431A 2006-08-24 2006-08-24 水中ロボットの動作制御方法、装置及びプログラム Active JP4495703B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006227431A JP4495703B2 (ja) 2006-08-24 2006-08-24 水中ロボットの動作制御方法、装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006227431A JP4495703B2 (ja) 2006-08-24 2006-08-24 水中ロボットの動作制御方法、装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008052473A JP2008052473A (ja) 2008-03-06
JP4495703B2 true JP4495703B2 (ja) 2010-07-07

Family

ID=39236477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006227431A Active JP4495703B2 (ja) 2006-08-24 2006-08-24 水中ロボットの動作制御方法、装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4495703B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5079602B2 (ja) * 2008-06-09 2012-11-21 日本電信電話株式会社 自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法
JP4964255B2 (ja) * 2009-01-13 2012-06-27 日本電信電話株式会社 自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法
JP6189784B2 (ja) * 2014-04-09 2017-08-30 日本電信電話株式会社 行動制御装置、方法及びプログラム
JP2019509541A (ja) * 2016-01-05 2019-04-04 カーネギー−メロン ユニバーシティCarnegie−Mellon University 自律走行車両のための安全性アーキテクチャ
JP6953773B2 (ja) * 2017-04-20 2021-10-27 株式会社Ihi 移動体の制御方法および移動体制御システム
CN109506651B (zh) * 2017-09-15 2022-11-01 山东科技大学 平流层超压气球三维航迹规划方法
CN107577158A (zh) * 2017-09-22 2018-01-12 哈尔滨工程大学 水下作业级rov的导航仿真系统及其控制方法
JP7020097B2 (ja) * 2017-12-13 2022-02-16 株式会社豊田中央研究所 車両制御装置、リスクマップ生成装置、及びプログラム
CN109557917A (zh) * 2018-12-04 2019-04-02 南京邮电大学 水下机器人自主巡线及水面监控的方法
WO2020136769A1 (ja) * 2018-12-26 2020-07-02 三菱電機株式会社 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
CN110333739B (zh) * 2019-08-21 2020-07-31 哈尔滨工程大学 一种基于强化学习的auv行为规划及动作控制方法
CN111694355B (zh) * 2020-06-02 2022-11-04 武汉理工大学 船舶编队航行控制方法、系统和存储介质
CN115182408B (zh) * 2022-08-10 2024-03-15 江苏科技大学 一种内河水域清理器避障方法及自主移动方法
CN116360462B (zh) * 2023-04-26 2023-09-26 青岛森科特智能仪器有限公司 一种网衣清洗机器人的避障方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6388603A (ja) * 1986-10-02 1988-04-19 Agency Of Ind Science & Technol 海中ロボツトの走行制御方法
JPH0850548A (ja) * 1994-08-05 1996-02-20 Nikon Corp 経路学習方法及び装置
JP2947341B2 (ja) * 1997-06-23 1999-09-13 日本電気株式会社 水中航走体の制御装置
JPH11249734A (ja) * 1998-03-03 1999-09-17 Mitsubishi Heavy Ind Ltd 自律誘導装置

Also Published As

Publication number Publication date
JP2008052473A (ja) 2008-03-06

Similar Documents

Publication Publication Date Title
JP4495703B2 (ja) 水中ロボットの動作制御方法、装置及びプログラム
JP4406436B2 (ja) 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作計画プログラム及びその記録媒体、自律移動ロボットの制御プログラム
Candeloro et al. A Voronoi-diagram-based dynamic path-planning system for underactuated marine vessels
US11340621B2 (en) Obstacle avoiding method in state-time space, recording medium storing program for executing same, and computer program stored in recording medium for executing same
Wang et al. Roboat II: A novel autonomous surface vessel for urban environments
Zeng et al. Efficient path re-planning for AUVs operating in spatiotemporal currents
US20200174482A1 (en) Online bidirectional trajectory planning method in state-time space, recording medium storing program for executing same, and computer program stored in recording medium for executing same
JP4746349B2 (ja) ロボット行動選択装置及びロボット行動選択方法
JP5391164B2 (ja) 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作制御装置、自律移動ロボットの動作計画プログラム、自律移動ロボットの制御プログラム
EP3722911B1 (en) A system and method of planning a path for an autonomous vessel
Havenstrøm et al. Deep reinforcement learning controller for 3D path following and collision avoidance by autonomous underwater vehicles
Deraj et al. Deep reinforcement learning based controller for ship navigation
JP5079602B2 (ja) 自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法
Raj et al. Dynamically feasible trajectory planning for anguilliform-inspired robots in the presence of steady ambient flow
CN116047886B (zh) 一种基于神经网络的管道潜航机器人控制方法及系统
CN114609925B (zh) 水下探索策略模型的训练方法及仿生机器鱼水下探索方法
Serigstad Hybrid collision avoidance for autonomous surface vessels
Huang et al. Efficient trajectory planning and control for usv with vessel dynamics and differential flatness
Vanneste et al. Safety aware autonomous path planning using model predictive reinforcement learning for inland waterways
Miotto et al. UUV on-board path planning in a dynamic environment for the Manta test vehicle
Vanegas Alvarez Uncertainty based online planning for UAV missions in GPS-denied and cluttered environments
Kinjo et al. Trajectory tracking of a fully-actuated surface vessel using nonlinear model predictive control: Experimental results
JP4964255B2 (ja) 自律移動ロボットの動作計画装置、方法、プログラム及び記録媒体並びに自律移動ロボットの動作制御装置及び方法
Alagić et al. Design of mobile robot motion framework based on modified vector field histogram
CN112965484B (zh) 变稳船的控制系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100308

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: 20100330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100409

R150 Certificate of patent or registration of utility model

Ref document number: 4495703

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350