JP2008052473A - Operation control method and device for underwater robot, program and its recording medium - Google Patents
Operation control method and device for underwater robot, program and its recording medium Download PDFInfo
- Publication number
- JP2008052473A JP2008052473A JP2006227431A JP2006227431A JP2008052473A JP 2008052473 A JP2008052473 A JP 2008052473A JP 2006227431 A JP2006227431 A JP 2006227431A JP 2006227431 A JP2006227431 A JP 2006227431A JP 2008052473 A JP2008052473 A JP 2008052473A
- Authority
- JP
- Japan
- Prior art keywords
- underwater robot
- action
- obstacle
- value
- transition destination
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000009471 action Effects 0.000 claims abstract description 180
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000013459 approach Methods 0.000 claims abstract description 4
- 238000011156 evaluation Methods 0.000 claims abstract description 4
- 230000007704 transition Effects 0.000 claims description 94
- 238000004364 calculation method Methods 0.000 claims description 92
- 238000000605 extraction Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 32
- 238000006073 displacement reaction Methods 0.000 description 30
- 230000001133 acceleration Effects 0.000 description 14
- 238000005259 measurement Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000009194 climbing Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- DEFLNOSTNCSZRB-IDTAVKCVSA-N 9-[(2r,3r,4r,5r)-3,4-dimethoxy-5-(methoxymethyl)oxolan-2-yl]-n-methoxypurin-6-amine Chemical compound CO[C@@H]1[C@H](OC)[C@@H](COC)O[C@H]1N1C2=NC=NC(NOC)=C2N=C1 DEFLNOSTNCSZRB-IDTAVKCVSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
本発明は、未知障害物の存在する環境において、劣駆動型自律ロボットに実時間での障害物回避の行動をさせる動作制御方法、装置、プログラム及びその記録媒体に関する。 The present invention relates to an operation control method, apparatus, program, and recording medium for causing an underactuated autonomous robot to perform obstacle avoidance behavior in real time in an environment where an unknown obstacle exists.
従来、以下に説明するマルコフ状態遷移モデルを利用した自律ロボットの動作計画法が提案されている(例えば、非特許文献1参照。)。
マルコフ状態遷移モデルを利用した自律ロボットの動作計画法を説明する前に、まず、前提知識となるマルコフ状態遷移モデル及びマルコフ状態遷移モデルを用いた動作計画法について説明する。
Conventionally, an autonomous robot motion planning method using a Markov state transition model described below has been proposed (see Non-Patent
Before describing the autonomous robot motion planning method using the Markov state transition model, first, the Markov state transition model and the motion planning method using the Markov state transition model as prerequisite knowledge will be described.
環境を以下のようにモデル化したものが、マルコフ状態遷移モデルである。環境のとりうる離散的な状態の集合をS={s 1,s2,…,sn}、行動主体が取り得る行動の集合をA={a1,a2,…al}と表す。環境中のある状態 s ∈ Sにおいて、行動主体がある行動 a を 実行すると、環境は確率的に状態 s' ∈Sへ遷移する。その遷移確率を
Pa ss’=Pr{st+1=s’|st=s,at=a}
により表す。このとき環境から行動主体へ報酬rが確率的に与えられるが、その期待値を
Ra ss’=E{rt |st=s, at=a,st+1=s’}
とする。行動主体の各時刻における意志決定は方策関数
π(s,a)=Pr{at=a|st=s}
によって表される。π(s,a)は、全状態s,全行動aにおいて定義される。方策関数π(s,a)は、単に方策π とも呼ばれる。
The Markov state transition model is a model of the environment as follows. Possible discrete S = the set of states of the environment {s 1, s 2, ... , s n}, action A = the set of entities can take action {a 1, a 2, ... a l} expressed as . When an action subject executes an action a in a state s ∈ S in the environment, the environment probabilistically transitions to the state s ′ ∈ S. The transition probability
P a ss ′ = Pr {s t + 1 = s ′ | s t = s, a t = a}
Is represented by At this time, the reward r is given probabilistically from the environment to the action subject, but the expected value is
R a ss ′ = E {r t | s t = s, a t = a, st +1 = s ′}
And Decision making at each time of action subject is a policy function
π (s, a) = Pr {a t = a | s t = s}
Represented by π (s, a) is defined in all states s and all actions a. The policy function π (s, a) is also simply referred to as policy π.
ある時間ステップtで選択した行動が、その後の報酬獲得にどの程度貢献したのかを評価するため、その後得られる報酬の時系列を考える。報酬の時系列評価は価値Qと呼ばれる。行動主体の目標は、価値Qを最大化することである。価値は、時間の経過とともに報酬を割引率γ(0≦γ<1)で割引いて合計される。
すべての状態s、行動a、遷移先の状態s’の組み合わせについてのPa ss’とRa 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は劣駆動ロボットである。
In order to evaluate how much the action selected at a certain time step t contributed to the subsequent reward acquisition, a time series of rewards obtained thereafter is considered. The time series evaluation of reward is called value Q. The goal of the action subject is to maximize the value Q. The value is totaled by discounting the reward with a discount rate γ (0 ≦ γ <1) over time.
If the values of P a ss ′ and R a ss ′ for all combinations of state s, action a, and transition destination state s ′ are determined, the value function Q (s, a) and policy π can be calculated (see, for example, Sadayoshi Mikami, Masaaki Minagawa co-translation, RSSutton, AGBarto, “Reinforcement Learning” Morikita Publishing, 1998, pp.94-118).
The action subject of the motion planning method according to the conventional example is the
以下、図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)(以下、サージ速度とする)である。
Hereinafter, with reference to FIG. 13, an example of a functional configuration of an apparatus for realizing an underwater robot motion control method according to a conventional example and a processing example thereof will be described. FIG. 13 is a diagram illustrating a configuration example of a motion control apparatus for an underwater robot according to a conventional example.
The underwater robot
The target
水中ロボット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に出力する。
The space in which the
For example, the target
この実施例では、説明の簡略化のために、行動aが−1,0,1の何れかの値を取るとし、行動aが1の場合には、上記式(2)に従い、水中ロボットの旋回速度ψ’は一定加速度αで加速され、行動aが0の場合には、水中ロボットの旋回速度ψ’は維持され、行動aが−1の場合には、水中ロボットの旋回速度ψ’は一定加速度αで減速されるものとする。
In this embodiment, for simplification of explanation, it is assumed that the action a takes a value of -1, 0, or 1. When the action a is 1, the underwater robot is in accordance with the above formula (2). The turning speed ψ ′ is accelerated at a constant acceleration α. When the action a is 0, the turning speed ψ ′ of the underwater robot is maintained, and when the action a is −1, the turning speed ψ ′ of the underwater robot is It is assumed that the vehicle is decelerated at a constant acceleration α.
例えば、時刻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の位置変化の誤差にのみ現れるようにすることができるのである。
For example, 1 is selected as the action at the
Note that this example of action a is an example. That is, a may take a value of -10, 0, 10 or may take five values of -1, -0.5, 0, 0.5, 1 and the like. Furthermore, an action that changes the speed and acceleration of the underwater robot during each action time may be selected.
In this way, by giving the target behavior to the
また、水中ロボットは、その運動のイナーシャが高く、運動が海流による影響を受けやすいという性質があり、舵の切り角に対する旋回速度のステップ応答は遅く、舵を切って即、旋回速度が希望の値になることが望めないことがある。しかし、上記の式(2)により、水中ロボット1の加速度制限値を考慮した目標速度の設定をすることができるため、追従可能な動作計画を行うことができるのである。
変位量計算部104は、状態sにある水中ロボット1が、想定される海流下fx、fyにおいて、各行動aに従って航行した場合、水中ロボットの世界座標系における水平面内位置のX座標,Y座標,方位角ψ,旋回速度ψ’がそれぞれどれくらい変位するのかを計算する。これらの変位を求めることにより、後述するように、状態sにいる水中ロボットが、行動aを選択した場合に、次に、どの状態s’にどのくらいの確率で遷移するのかを計算することができるのである。
水中ロボット1の水平面内位置のX座標の変位量をDX(ψ0,a)、Y座標の変位量をDY(ψ0,a)、方位角ψの変位量をDψ(ψ0,a)、旋回速度ψ’の変位量をDψ’(ψ0,a)とすると、それぞれの変位量は、次式にように与えられる(図14を参照のこと)。
In addition, underwater robots have the property that their inertia is high and their motion is easily affected by ocean currents, and the step response of the turning speed to the turning angle of the rudder is slow. Sometimes it can't be expected to be a value. However, since the target speed can be set in consideration of the acceleration limit value of the
Displacement
The displacement amount of the X coordinate at the position in the horizontal plane of the
変位量計算部104は、目標速度計算部が出力した各時刻tにおける水中ロボットの旋回速度ψ’τとサージ速度vxwτ、想定海流速度値入力部で入力されたfxとfyを用いて、水中ロボットの水平面内位置のX座標の変位量DX(ψ0,a)、Y座標の変位量DY(ψ0,a)、方位角ψの変位量Dψ(ψ0,a)、旋回速度ψ’の変位量Dψ’(ψ0,a)を上記式に基づいてそれぞれ計算して、その計算結果を状態遷移確率計算部105に出力する。
Displacement
状態遷移確率計算部105は、水中ロボット1の水平面内位置のX座標の変位量DX(ψ0,a)、Y座標の変位量DY(ψ0,a)、方位角ψの変位量Dψ(ψ0,a)、旋回速度ψ’の変位量Dψ’(ψ0,a)に基づいて、状態遷移確率Pa ss’を計算する。すなわち、これらの変位量を用いて、すべての状態sと状態s’と行動aの組み合わせについて、状態sにいる水中ロボットが行動aを選択した場合に、状態s’へ遷移する確率を計算する。
まず、状態sが、水中ロボット1の水平面内位置のX座標,Y座標,方位角ψ,旋回速度ψ’の4つの軸から構成される4次元の格子で示されるとし、その格子をR(s)と定義する(図15を参照のこと)。そして、その格子R(s)を、上記各変位量から構成される変位量ベクトル(DX(ψ0,a),DY(ψ0,a),Dψ(ψ0,a),Dψ’(ψ0,a))で、平行移動したものをRt(s)と定義する。
ここで、水中ロボット1が状態sにあるときは、水中ロボット1は、その状態sを表わす4次元の格子R(s)の各点の何れかに、等しい確率で存在するものと仮定する。この仮定の下では、状態遷移確率Pa ss’は、Rt(s)と各R(s’)の重なった部分の体積に比例してそれぞれ求めることができる。ここで、R(s’)は、Rt(s)と重なった格子である。すなわち、R(s’)は、状態sにおいてある行動aを取ったときの遷移先の候補の状態s’に対応した4次元の格子である。Rt(s)は最大で8つのR(s’)と重なる可能性がある。
The state transition
First, it is assumed that the state s is represented by a four-dimensional grid composed of four axes of the X coordinate, the Y coordinate, the azimuth angle ψ, and the turning speed ψ ′ of the position in the horizontal plane of the
Here, when the
状態遷移確率Pa ss’は、Rt(s)とあるR(s’)の重なった部分の体積をV0(s,s’,a)、Rt(s)とすべてのR(s’)との重なった部分の体積をΣs’V0(s,s’,a)とすると、次式により求めることができる。 The state transition probability P a ss ′ is the volume of the overlapping portion of R t (s) and a certain R (s ′) as V 0 (s, s ′, a), R t (s) and all R (s If the volume of the portion overlapping with ') is Σ s' V 0 (s, s', a), it can be obtained by the following equation.
傾斜角差計算部107が、地形モデル保存部106に保存された地形モデルを参照して、状態sにおける地形の傾斜角θsteep(s)と、その状態においてある行動aを取ったときの遷移先の状態s’における地形の傾斜角θsteep(s’)の差の絶対値dθsteep(s’,s)を求める。計算されたdθsteep(s’,s)は、報酬決定部109に出力される。
すなわち、状態間の傾斜角差dθsteep(s’,s)は下記の式により定義される(図16を参照のこと)。
Inclination angle
That is, the inclination angle difference d [theta] steep between states (s', s) is (see FIG. 16) that is as defined by the following formula.
登坂角度計算部108が、ある状態sから別の状態s’に遷移するときの水中ロボットの最大登坂角度dθmax(s,s’)を計算する。計算された水中ロボットの最大登坂角度dθmax(s,s’)は、報酬決定部109に出力される。
vz(s)を状態sにおけるピッチ角の変化速度、ahを水中ロボットのピッチ角変化の加速度の最大値、fxbを海流の機軸方向の対機体速度とし、登坂角度は限りなく小さく、上下方向には海流がないものとすると、水中ロボットの最大登坂角度dθmax(s,s’)は、以下のように定義される。
The uphill
V z (s) is the change speed of the pitch angle in the state s, a h is the maximum value of the acceleration of the change of the pitch angle of the underwater robot, and fxb is the speed of the aircraft in the direction of the axis of the ocean current. Assuming that there is no ocean current in the vertical direction, the maximum climbing angle dθ max (s, s ′) of the underwater robot is defined as follows.
具体的には、報酬決定部109は、状態間の傾斜角差dθsteep(s’,s)の方が大きい場合には、その状態s、行動a、遷移先の状態s’各組み合わせについての報酬Ra ss’を−1に設定する。状態間の傾斜角差dθsteep(s’,s)の方が大きい場合には、水中ロボット1が、その遷移先の状態s’に移行することは不可能であり、かかる遷移先の状態sは障害物とみなすことができるためである。
また、報酬決定部109は、遷移先の状態s’が到達点を含む場合には報酬Ra ss’を1に設定し、その他の場合には報酬Ra ss’を0に設定する。
なお、報酬決定部109は、dθmax(s,s’)と状態間の傾斜角差dθsteep(s’,s)の比較をしないで、報酬を決定しても良い。具体的には、報酬決定部109は、地形モデル保存部106に保存された地形データを参照して、遷移先の状態s’が到達点を含む場合には報酬Ra ss’を1に設定し、遷移先の状態s’が障害物を含む場合には報酬Ra ss’を−1に設定し、その他の場合には報酬Ra ss’を0に設定する。
Specifically,
Further,
Incidentally, reward determination unit 109, dθ max (s, s ' ) and the inclination angle difference d [theta] steep between states (s', s) without the comparison may determine the compensation. Specifically,
また、先に述べたように、この{1,0,−1}の何れかの報酬を与えるという決定方法は一例に過ぎず、到達点を含む場合の報酬>その他の場合の報酬>障害物である場合の報酬という関係が成り立っている限り、報酬の値はどのような値でも良い。
動作計画部110は、状態遷移確率計算部105が計算した状態遷移確率Pa ss’と、報酬決定部109が計算した報酬Ra ss’を用いて、ダイナミックプログラミング法により、価値関数Q(s,a)を計算し、これを価値関数保存部111に格納する。
先に述べたように、すべての状態s、行動a、遷移先の状態s’の組み合わせについてのPa ss’とRa ss’の値がそれぞれ定まっていれば、ダイナミックプログラミング(Dynamic Programming)法により、価値関数Q(s,a)を計算することができる。
Q(s,a)は、各状態sにおいて、行動aを選択した結果、将来水中ロボットが受ける報酬の推定量を示すものであり、各状態sにおいて、Q(s,a)の値を最大化する行動aを選択することが最適な行動方策となる。
Further, as described above, the determination method of giving a reward of any of {1, 0, -1} is merely an example, and reward when including a reaching point> reward in other cases> obstacle As long as the relationship of reward is established, the value of reward may be any value.
As described above, if the values of P a ss ′ and R a ss ′ for all combinations of the state s, the action a, and the transition destination state s ′ are determined, the dynamic programming method is used. Thus, the value function Q (s, a) can be calculated.
Q (s, a) indicates the estimated amount of reward that the future underwater robot will receive as a result of selecting the action a in each state s. The value of Q (s, a) is maximized in each state s. Selecting the action a to be converted is the optimum action policy.
以上に説明したQ(s,a)の値を利用して、実際の任務行動における自律水中ロボットの制御が行われる。すなわち、行動単位時間Tおきに、水中ロボットは、Q(s,a)の値を最大化する行動aを選択する。ただし、この手法は、任務環境における海流速度fx、fyが、動作計画時に想定していた場合と等しいときのみに利用することができる手法である。任意環境における海流速度が想定していた値と異なる場合には、以下に示す行動選択手法を利用する。
海流差計測部6が、各行動単位時間毎に、動作計画時に予測した海流の速度fx,fyと、実際の海流の速度の実測値fxa,fyaの差dfx,dfyを計測する。ここで、dfx=fx−fxa,dfy=fy−fyaである。計測された海流の速度差dfx,dfyは、遷移先予測部213に出力される。
位置計測部7が、各行動単位時間毎に、水中ロボットの位置X,Y、方位角ψ、旋回速度ψ’を計測する。計測結果は、遷移先予測部213に出力される。
遷移先予測部213が、海流差計測部6が出力した海流の速度差dfx,dfyと、位置計測部7が出力した水中ロボットの位置X,Y、方位角ψ、旋回速度ψ’を用いて、状態sにいる水中ロボットが、各行動aを取った場合に、次にどの状態に遷移するのかを予測し、その予測される遷移先の状態seをそれぞれ求める。各行動aごとに求められた予想される遷移先の状態seは、価値関数値計算部214に出力される。
具体的には、遷移先予測部213はまず、ある行動aについて、
The autonomous underwater robot is controlled in the actual mission behavior using the value of Q (s, a) described above. That is, at every action unit time T, the underwater robot selects an action a that maximizes the value of Q (s, a). However, this method is a method that can be used only when the ocean current speeds fx and fy in the mission environment are equal to those assumed when the operation is planned. If the ocean current velocity in an arbitrary environment is different from the expected value, the action selection method shown below is used.
The ocean current
The
Transition
Specifically, the transition
価値関数値計算部214が、価値関数保存部111を参照して、遷移後の状態seにおける行動a’を変化させたときのQ(se,a’)の最大値Qmax(se(a))を、遷移前の状態sにおける各行動aごとに求める。Qmax(se(a))は、動作選択部215に出力される。
動作選択部215が、価値関数値計算部214が計算したQmax(se(a))の大小関係を比較して、Qmax(se(a))を最大にする遷移前状態sでの行動aを選択する。そして、その行動により決定される目標速度を式(2)から再計算する。再計算された目標速度は、フィードバック制御部216に出力される。
Value function value calculation unit 214, with reference to the value function storage unit 111, the maximum value Qmax (s e of 'Q when changing the (s e, a' action a in state s e after the transition) ( a)) is obtained for each action a in the state s before the transition. Qmax (s e (a)) is output to the
The
フィードバック制御部216は、再計算された目標速度を維持することができるように、主推進器力、舵角度を調整する。
以上が、従来例による自律ロボットの動作制御方法の説明である(例えば、非特許文献5参照。)。
The above is description of the operation control method of the autonomous robot by a prior art example (for example, refer nonpatent literature 5).
従来技術では、自律ロボットが航行する環境についての障害物に関する情報を事前に知っておく必要があり、その情報が得られていない場合には、動作計画及びその動作計画を用いた動作制御を行うことができないという問題があった。また、マルコフ状態遷移モデルを利用した動作計画は時間がかかるため、自律ロボットが航行中に、障害物の情報を取得して、マルコフ状態遷移モデルを利用した動作計画及びその動作計画を用いた動作制御を実時間で行うことができないという問題があった。 In the prior art, it is necessary to know in advance information about obstacles about the environment in which the autonomous robot navigates. If that information is not available, the action plan and action control using the action plan are performed. There was a problem that I could not. In addition, since an operation plan using a Markov state transition model takes time, an autonomous robot acquires information on an obstacle while navigating, and an operation plan using the Markov state transition model and an operation using the operation plan. There was a problem that control could not be performed in real time.
本発明によれば、原点を目標到達位置とし、水中ロボットが原点に到達するときの報酬>その他の場合の報酬として、マルコフ状態遷移モデルにおける動作計画法に基づいて生成された価値関数が価値関数保存手段に保存されており、環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する。軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する。軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける。障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する。行動選択手段が、軌道追従計算ステップで付けられた優先順位の高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを順次判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す。フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御する。 According to the present invention, the value function generated based on the motion planning method in the Markov state transition model is a value function as a reward when the origin is the target arrival position and the reward when the underwater robot reaches the origin> the reward in other cases Each time the environmental model generation unit detects a new obstacle, the position of the obstacle is obtained and stored in the obstacle information storage unit. The trajectory generation means generates a target trajectory position at each time step until it reaches the target arrival position without hitting the obstacle read from the obstacle information storage means, and stores it in the target trajectory position storage means. The trajectory tracking calculation means evaluates numerically how close the target trajectory position read from the target trajectory position storage means can be when each action of the underwater robot is taken. Prioritize The obstacle avoidance calculation means calculates the likelihood of hitting the obstacle when the underwater robot takes each action. The action selection means, in the order of actions with the highest priority given in the trajectory follow-up calculation step, is determined to be easy to collide with the obstacle when taking the action obtained in the obstacle avoidance calculation step. Whether it is smaller than the threshold value is sequentially determined, and if it is determined to be small, the process of selecting the action is repeated until an action determined to be small is found. The feedback control means controls the underwater robot to operate according to the action selected in the action selection step.
未知の障害物が存在する環境においても、自律ロボットが障害物に衝突せずに目標位置に到達することができるように制御することができる。 Even in an environment where an unknown obstacle exists, control can be performed so that the autonomous robot can reach the target position without colliding with the obstacle.
本発明による制御の対象となる水中ロボット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から構成される。
An
For example, as shown in FIG. 1, the
For example, as shown in FIG. 18, the
For example, as shown in FIG. 4, the trajectory generation unit 20 includes a target trajectory
For example, as shown in FIG. 8, the trajectory tracking
For example, as shown in FIG. 9, the obstacle avoidance calculation unit 40 includes a relative position determination unit 401, a transition
<ステップ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における行動a1 (m)(m=1,…,M)ごとに計算された価値関数Q(s,a)は、価値関数保存部70に格納される。
Q(s,a)は、各状態sにおいて、行動aを選択した結果、将来水中ロボットが受ける報酬の推定量を示すものであり、各状態sにおいて、Qの値を最大化するaを選択することにより最適な行動方策を選ぶことができる。
<Step S0>
The
The
The
The
a) is determined. The value function Q (s, a) calculated for each action a 1 (m) (m = 1,..., M) in the state s before the transition is stored in the value
Q (s, a) indicates the estimated amount of reward that the future underwater robot will receive as a result of selecting the action a in each state s, and in each state s, select a that maximizes the value of Q. By doing so, you can choose the best action strategy.
なお、上記式(2’)では、水流の速度(fx,fy)の方向や速さ及び旋回速度Ψ’が異なっても、水中ロボットの位置(X,Y)は、水流の速度(fx,fy)を行動単位時間Tで積分した値だけが変化し、方位角Ψは、旋回速度Ψ’を行動単位時間Tだけ積分した値だけ変化すると仮定している。しかし、上記の仮定は、水中ロボットの形状やその他の要因を考慮すると、現実の世界においては必ずしも成り立つとは限らない。したがって、上記式(2’)を用いる代わりに、想定される水流を発生させた水槽の中に水中ロボットを入れて、Dx(Ψ0,a),Dy(Ψ0,a),DΨ,DΨ’の値を実際に測定しても良い。すなわち、いわゆる水槽試験等の手法により、Dx(Ψ0,a),Dy(Ψ0,a),DΨ,DΨ’を直接計測しても良い。
なお、本発明では、原点(0,0)を目標到達位置、水中ロボットが目標到達位置に到達するときの報酬>その他の場合の報酬を0として、障害物の位置を考慮しないで生成された価値関数Q(s,a)に基づいて、下記に述べる処理を行う点が重要であり、価値関数Q(s,a)の生成手段であるダイナミックプログラミング部は、必須の構成要件ではない点に留意する。
In the above formula (2 ′), even if the direction and speed of the water flow velocity (fx, fy) and the turning speed ψ ′ are different, the position (X, Y) of the underwater robot is the water flow velocity (fx, fx). It is assumed that only the value obtained by integrating fy) by the action unit time T changes, and the azimuth angle ψ changes by a value obtained by integrating the turning speed ψ ′ by the action unit time T. However, the above assumption does not always hold true in the real world, considering the shape of the underwater robot and other factors. Therefore, instead of using the above equation (2 ′), an underwater robot is placed in a water tank in which an assumed water flow is generated, and Dx (Ψ 0 , a), Dy (Ψ 0 , a), DΨ, DΨ. You may actually measure the value of '. That is, Dx (Ψ 0 , a), Dy (Ψ 0 , a), DΨ, DΨ ′ may be directly measured by a technique such as a so-called water tank test.
In the present invention, the origin (0, 0) is set as the target arrival position, the reward when the underwater robot reaches the target arrival position> the reward in other cases is set as 0, and is generated without considering the position of the obstacle. It is important that the processing described below is performed based on the value function Q (s, a), and the dynamic programming unit that is a means for generating the value function Q (s, a) is not an essential component. pay attention to.
<ステップ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)
として求めることができる。ここで、超音波測距センサが取り付けられた位置と水中ロボットの位置を定める際の基準となる点は、十分に近いものとする。
<Step S1>
Every time a new obstacle is detected, the environmental model generation unit 10 obtains the position of the obstacle and stores it in the obstacle
Among these ultrasonic distance measuring sensors, the position (Xok, Yok) of the
Xo = X + rk × cos (Ψ + θk)
Yo = Y + rk × sin (Ψ + θk)
Can be obtained as Here, it is assumed that the reference point for determining the position where the ultrasonic distance measuring sensor is attached and the position of the underwater robot is sufficiently close.
なお、障害物情報データの更新は、例えば、行動単位時間Tごとに行うことができるが、必ずしも行動単位時間Tごとに行う必要はない。例えば、行動単位時間Tよりも短い間隔で行っても良い。これにより、障害物の検知率が上がり、水中ロボットが障害物にぶつかる可能性を低くすることができる。 The obstacle information data can be updated every action unit time T, for example. However, it is not always necessary to update the obstacle information data every action unit time T. For example, it may be performed at intervals shorter than the action unit time T. This increases the obstacle detection rate and reduces the possibility of the underwater robot hitting the obstacle.
<ステップS2>
軌道生成部20は、障害物情報保存部101から読み出した障害物の位置情報を基にして、水中ロボットの現在位置から目標位置に至るまでの、障害物と接触しない目標軌道位置を計算する。障害物の位置情報のみを考慮した目標軌道位置の計算方法としては既出の方法が多数ある。本実施形態では、例えば以下のようにして、目標軌道位置を求める。
図4は、軌道生成部20の機能構成を例示する図である。図5は、軌道生成部20の処理を例示する図である。
まず、現時点での水中ロボットの位置を含む格子をs0とする。そして、目標位置を含む格子をsdとする。1時刻ステップごとに、つまり、行動単位時間Tごと、水中ロボットは、隣り合う格子の何れかに等しい確率で移動するものとする。「隣り合う」とは、格子が辺を介して隣り合う場合だけではなく、格子が頂点を介して隣り合う場合をも意味する点に注意する。すなわち、水中ロボットの運動学的特性を考慮せずに、水中ロボットが自機を囲む8つのどの格子にも移動可能であると仮定する。
<Step S2>
The trajectory generation unit 20 calculates a target trajectory position that does not contact the obstacle from the current position of the underwater robot to the target position based on the position information of the obstacle read from the obstacle
FIG. 4 is a diagram illustrating a functional configuration of the trajectory generation unit 20. FIG. 5 is a diagram illustrating processing of the trajectory generation unit 20.
First, s0 is a grid that includes the current position of the underwater robot. And let sd be the grid containing the target position. It is assumed that the underwater robot moves with a probability equal to one of the adjacent grids every time step, that is, every action unit time T. Note that “adjacent” means not only when the grids are adjacent via edges, but also when the grids are adjacent via vertices. In other words, it is assumed that the underwater robot can move to any of the eight lattices surrounding itself without considering the kinematic characteristics of the underwater robot.
例えば、図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)。
For example, as shown in FIG. 6, when an underwater robot is in a grid with black circles at a certain time step, the underwater robot moves with a probability equal to one of the grids drawn with white circles at the next time step. It shall be. Specifically, in the example of FIG. 6, the underwater robot exists with a probability of 1 in the grid with the black circles drawn, so after the action unit time T has elapsed, It is assumed that it exists with a probability of 1/8.
Let P (s, t) be the probability that an underwater robot is present in the grid s at each time step t. Then, at
The initial
任意の時刻ステップ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 8(1/8)×P(sp’,t−1)
となる。
軌道生成部20の存在確率計算部203が、上記式(5)に基づいて各時刻ステップにおける水中ロボットの存在確率を計算する(ステップS22)。
P (s, t) at an arbitrary time step t can be calculated by the following equation.
P (s, t) = Σ s ′ (1/8) × P (s ′, t−1) (5)
In the above formula, s ′ is eight lattices adjacent to the lattice s, in other words, eight lattices that do not include s around the lattice s. In the above equation, Σ is the sum for s ′. For example, as shown in FIG. 7, there are eight lattices s1 ′,... S8 ′ around the lattice s, and the underwater robot moves to the lattice sp ′ (p = 1,..., 8) at time step t−1. , And P (sp ′, t−1) respectively. At this time, from the above assumption, the underwater robot moves to the lattice s with a probability of 1/8 from each lattice of sp ′ (p = 1,..., 8). The probability P (s, t) that exists is
P (s, t) = Σ p = 1 8 (1/8) × P (sp ′, t−1)
It becomes.
The existence probability calculation unit 203 of the trajectory generation unit 20 calculates the existence probability of the underwater robot at each time step based on the above equation (5) (step 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)。
If the grid contains obstacles, the underwater robot cannot enter the grid. For this reason, the
The calculated probability P (s, t) that the underwater robot exists in each grid at each time step is stored in the existence
The
軌道生成部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)。
上記の計算方法は、既出の手法に比べて計算負担が少ない。このため、計算の実時間性を担保することができる。
The
The
By repeating this process from t = td to t = 1, the
The calculation method described above has less calculation burden than the above-described method. For this reason, the real-time property of calculation can be secured.
なお、上記実施形態では、その格子が障害物を含むか含まないかを問わず、すべての格子について、水中ロボットがその格子に存在する確率を求めたのちに、その格子が障害物を含むかどうかを判断し、その格子が障害物を含む場合には、水中ロボットがその格子に存在する確率を0とした。しかし、障害物を含む格子については、水中ロボットがその格子に存在する確率を求めずに、常に、その格子に存在する確率を0としても良い。
また、軌道生成部20は、障害物情報保存部101から読み出した障害物の位置情報を参照して、障害物の位置を構成する格子空間(X,Yで構成される)を利用して、いわゆる動的計画法により、目標軌道位置を求めても良い。
In the above embodiment, whether or not the lattice includes an obstacle after the probability that the underwater robot exists in the lattice is obtained for all lattices regardless of whether or not the lattice includes an obstacle. In the case where the grid includes an obstacle, the probability that the underwater robot exists in the grid is set to zero. However, for a lattice including an obstacle, the probability that the underwater robot exists in the lattice may be always set to 0 without obtaining the probability that the underwater robot exists in the lattice.
Further, the trajectory generation unit 20 refers to the obstacle position information read from the obstacle
<ステップS3>
軌道追従計算部30は、各行動a1 (m)(m=1,…,M)を取ったときに、どの程度目標軌道位置τ(i)(i=0,1,…,td)に近づくことができるのかを値で評価し、その評価値により、各行動a1 (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))を求める。
<Step S3>
The trajectory follow-up
The relative position determination unit 301 of the trajectory tracking
軌道追従計算部30の遷移先予測部213は、(Xτ(i),Yτ(i))に位置する水中ロボットが、各行動a1 (m)(m=1,…,M)を取ったときの遷移先の状態s(τi,a1 (m))を求める。行動a1 (m)(m=1,…,M)を第一の行動と呼ぶ。すなわち、時刻t=0における水中ロボットの方位角をΨ、旋回速度をΨ’とすると、位置(Xτ(i)+Dxa(s,a),Yτ(i)+Dya(s,a),DΨ+DΨ,DΨ’+DΨ’)が含まれる状態s(τi,a1 (m))を求める。遷移先予測部213、海流差計測部6、位置計測部7の処理は、従来例と同様であるため説明を省略する。
軌道追従計算部30の最大値抽出部303は、遷移先の状態s(τi,a1 (m))において、水中ロボットが各行動a2 (n)(n=1,…,N)を取ったときのQ(s(τi,a1 (m)),a2 (n))の最大値Qmax(τi,a1 (m))を求める。
行動a2 (n)(n=1,…,N)を第二の行動と呼ぶ。すなわち、遷移先の状況s(τi,a1 (m))において、水中ロボットが各行動a2 (n)を取ったときにQ(s(τi,a1 (m)),a2 (n))が定まるが、これらの各行動a2 (n)ごとに求まった報酬Q(s(τi,a1 (m)),a2 (n))のうち、最大のものQmax(τi,a1 (m))を求める。
In the transition
The maximum value extraction unit 303 of the trajectory follow-up
Action a 2 (n) (n = 1,..., N) is referred to as a second action. That is, in the transition destination situation s (τi, a 1 (m) ), when the underwater robot takes each action a 2 (n) , Q (s (τi, a 1 (m) ), a 2 (n ) ) Is determined, but among the rewards Q (s (τi, a 1 (m) ), a 2 (n) ) determined for each of these actions a 2 (n) , the maximum one Qmax (τi, a 1 (m) ).
相対位置決定部301と遷移先予測部213と最大値抽出部303は、上記の処理を行うことにより、τiとa1 (m)のすべての組について、Qmax(τi,a1 (m))を求める。
軌道追従計算部30の加算部304は、すべてのτiについての、τiとa1 (m)の各組ごとに求まったQmax(τi,a1 (m))の和を求める。すなわち、
Qmax(a1 (m))=Σi=0 tdQmax(τi,a1 (m))
を計算する。
Qmax(a1 (m))は、行動a1 (m)を選択した水中ロボットが、将来的に、目標軌道上に乗っている可能性の大きさを示す指標となる。なぜなら、上記したように、価値関数Q(s,a)は、状態sにある自機が、価値関数Q(s,a)を最大にする行動aを選択することにより、原点に最も効率良く近づくことができるように設計されており、かつ、上記相対位置決定部301の処理により、原点が目標軌道τiに置き換えられているためである。
軌道追従計算部30の順序決定部305は、行動a1 (m)を序列化する。具体的には、Qmax(a1 (m))の値が大きい順に、行動a1 (m)(m=1,…,M)を並び替えて、a1’,a2’,…,aM’とすることにより優先順位を付ける。am’(m=1,…,M)は、行動選択部50に出力される。
The relative position determination unit 301 and the transition
The adder 304 of the trajectory follow-up
Qmax (a 1 (m) ) = Σ i = 0 td Qmax (τi, a 1 (m) )
Calculate
Qmax (a 1 (m) ) is an index indicating the possibility that the underwater robot that has selected the action a 1 (m) is on the target trajectory in the future. Because, as described above, the value function Q (s, a) is most efficiently at the origin by selecting the action a that maximizes the value function Q (s, a). This is because it is designed to be able to approach, and the origin is replaced with the target trajectory τi by the processing of the relative position determination unit 301.
The order determination unit 305 of the trajectory tracking
なお、上記最大値抽出部303に替えて、以下に説明する平均値抽出部306を設けても良い。
軌道追従計算部30の平均値抽出部306は、遷移先の状態s(τi,a1 (m))において、水中ロボットが各行動a2 (n)(n=1,…,N)を取ったときの報酬Q(s(τi,a1 (m)),a2 (n))の平均値Qave(τi,a1 (m))を求める。すなわち、遷移先の状況s(τi,a1 (m))において、水中ロボットが各行動a2 (n)を取ったときに報酬Q(s(τi,a1 (m)),a2 (n))が定まるが、これらの各行動a2 (n)ごとに求まった報酬Q(s(τi,a1 (m)),a2 (n))の平均値Qave(τi,a1 (m))を求める。
この場合には、加算部304は、Qmax(τi,a1 (m))ではなく、Qave(τi,a1 (m))についての和を取る。すなわち、
Qave(a1 (m))=Σi=0 tdQave(τi,a1 (m))
を計算する。
そして、順序決定部305は、Qave(a1 (m))の値が大きい順に、行動a1 (m)(m=1,…,M)を並び替えて、a1’,a2’,…,aM’とする。
Instead of the maximum value extraction unit 303, an average value extraction unit 306 described below may be provided.
The average value extraction unit 306 of the trajectory follow-up
In this case, the adding unit 304, Qmax (τi, a 1 ( m)) , rather than the sum of the Qave (τi, a 1 (m )). That is,
Qave (a 1 (m) ) = Σ i = 0 td Qave (τi, a 1 (m) )
Calculate
Then, the order determining unit 305 rearranges the actions a 1 (m) (m = 1,..., M) in descending order of the value of Qave (a 1 (m) ), and a 1 ′, a 2 ′, ..., aM '.
<ステップ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))に位置する水中ロボットが、各行動a1 (m)(m=1,…,M)を取ったときの遷移先の状態s(obj,a1 (m))を求める。行動a1 (m)(m=1,…,M)を第一の行動と呼ぶ。すなわち、時刻t=0における水中ロボットの方位角をΨ、旋回速度をΨ’とすると、位置(Xob(j)+Dxa(s,a),Yob(j)+Dya(s,a),DΨ+DΨ,DΨ’+DΨ’)が含まれる状態s(obj,a1 (m))を求める。遷移先予測部213、海流差計測部6、位置計測部7の処理は、従来例と同様であるため説明を省略する。
<Step S4>
The relative position determination unit 401 of the obstacle avoidance calculation unit 40 is currently underwater with respect to the position ob (j) (j = 1, 2,..., J) of the obstacle read from the obstacle information recording unit of the environmental model creation unit. The relative position of the robot is obtained as (Xob (j), Yob (j)). That is, (Xob (j), Job (j)) is obtained as the current position of the underwater robot when the position ob (j) (j = 1, 2,..., J) of the obstacle is the origin.
The transition
障害物回避計算部40の最大値抽出部403は、遷移先の状態s(obj,a1 (m))において、水中ロボットが各行動a2 (n)(n=1,…,N)を取ったときの報酬Q(s(obj,a1 (m)),a2 (n))の最大値Qobmax(obj,a1 (m))を求める。行動a2 (n)(n=1,…,N)を第二の行動と呼ぶ。すなわち、遷移先の状況s(obj,a1 (m))において、水中ロボットが各行動a2 (n)を取ったときに報酬Q(s(obj,a1 (m)),a2 (n))が定まるが、これらの各行動a2 (n)ごとに求まった報酬Q(s(obj,a1 (m)),a2 (n))のうち、最大のものQobmax(obj,a1 (m))を求める。Qobmax(obj,a1 (m))は、最大値選択部404とリスク計算部405に出力される。
相対位置決定部401と遷移先予測部213と最大値抽出部403は、上記の処理を行うことにより、objとa1 (m)のすべての組について、Qobmax(obj,a1 (m))を求める。
障害物回避計算部40の最大値選択部404は、各障害物の位置ob(j)ごとに、Qobmax(obj,a1 (m))を最大にする行動a1 (m)を選択する。選択されたa1 (m)は、amax(j)としてリスク計算部405に出力される。
The maximum value extraction unit 403 of the obstacle avoidance calculation unit 40 causes the underwater robot to perform each action a 2 (n) (n = 1,..., N) in the transition destination state s (obj, a 1 (m) ). The maximum value Qobmax (obj, a 1 (m) ) of the reward Q (s (obj, a 1 (m) ), a 2 (n) ) when it is taken is obtained. Action a 2 (n) (n = 1,..., N) is referred to as a second action. That is, in the situation s (obj, a 1 (m) ) of the transition destination, when the underwater robot takes each action a 2 (n) , reward Q (s (obj, a 1 (m) ), a 2 ( n) ) is determined, but among the rewards Q (s (obj, a 1 (m) ), a 2 (n) ) determined for each of these actions a 2 (n) , the largest one Q maxmax (obj, a 1 (m) ) is obtained. Qobmax (obj, a 1 (m) ) is output to the maximum
The relative position determination unit 401, the transition
The maximum
リスク計算部405は、障害物の位置ob(j)(j=1,2,…,J)を、amax(j)の値が同じもの同士でグループ分けする。そして、それぞれのグループ内における、Qobmax(obj,amax(j))の最大値をQrisk(s,a1 (n))とする。すなわち、
リスク計算部405は、
Qrisk(s,a1 (m))=max{Qobmax(obj,a1 (m))|amax(j)=a1 (m)}
を計算する。
Qrisk(s,a1 (m))は、行動a1 (m)を選択した水中ロボットが、将来的に、障害物にぶつかる可能性の大きさを示す指標となる。なぜなら、上記したように、価値関数Q(s,a)は、状態sにある自機が、価値関数Q(s,a)を最大にする行動aを選択することにより、原点に最も効率良く近づくことができるように設計されており、かつ、上記相対位置決定部401の処理により、原点が障害物の位置ob(j)に置き換えられているためである。各行動a1 (m)ごとに求まったQrisk(s,a1 (m))は、行動選択部50に出力される。
なお、最大値抽出部403に替えて、以下に説明する平均値抽出部406を設けても良い。
The risk calculation unit 405 groups obstacle positions ob (j) (j = 1, 2,..., J) with the same value of amax (j). Then, the maximum value of Qobmax (obj, amax (j)) in each group is defined as Qrisk (s, a 1 (n) ). That is,
The risk calculator 405
Qrisk (s, a 1 (m) ) = max {Qobmax (obj, a 1 (m) ) | amax (j) = a 1 (m) }
Calculate
Qrisk (s, a 1 (m) ) is an index indicating the magnitude of the possibility that the underwater robot that has selected the action a 1 (m) will hit an obstacle in the future. Because, as described above, the value function Q (s, a) is most efficiently at the origin by selecting the action a that maximizes the value function Q (s, a). This is because the origin is replaced with the position ob (j) of the obstacle by the processing of the relative position determination unit 401. Qrisk (s, a 1 (m) ) obtained for each action a 1 (m) is output to the
In place of the maximum value extraction unit 403, an average value extraction unit 406 described below may be provided.
障害物回避計算部40の平均値抽出部406は、遷移先の状態sob(j,a1 (m))において、水中ロボットが各行動a2 (n)(n=1,…,N)を取ったときの報酬Q(s(obj,a1 (m)),a2 (n))の平均値Qave(obj,a1 (m))を求める。すなわち、遷移先の状況sob(j,a1 (m))において、水中ロボットが各行動a2 (n)を取ったときに報酬Q(s(obj,a1 (m)),a2 (n))が定まるが、これらの各行動a2 (n)ごとに求まった報酬Q(s(obj,a1 (m)),a2 (n))の平均値Qave(obj,a1 (m))を求める。計算された平均値Qave(obj,a1 (m))は、最大値選択部404とリスク計算部405に出力される。
この場合には、最大値選択部404は、各障害物の位置ob(j)ごとに、Qobmax(obj,a1 (m))ではなく、Qave(obj,a1 (m))を最大にする行動a1 (m)を選択する。選択されたa1 (m)は、amax(j)としてリスク計算部405に出力される。
リスク計算部405は、障害物の位置ob(j)(j=1,2,…,J)を、amax(j)の値が同じもの同士でグループ分けする。そして、それぞれのグループ内における、Qave(obj,amax(j))の最大値をQrisk(s,a1 (n))とする。すなわち、
リスク計算部405は、
Qrisk(s,a1 (m))=max{Qobave(obj,a1 (m))|amax(j)=a1 (m)}
を計算する。
The average value extraction unit 406 of the obstacle avoidance calculation unit 40 causes the underwater robot to perform each action a 2 (n) (n = 1,..., N) in the transition destination state sob (j, a 1 (m) ). reward when taken Q (s (obj, a 1 (m)), a 2 (n)) obtaining an average value Qave of (obj, a 1 (m) ). That is, in the transition destination situation sob (j, a 1 (m) ), when the underwater robot takes each action a 2 (n) , reward Q (s (obj, a 1 (m) ), a 2 ( n)) but is determined, the average value of each of these actions a 2 (n) by the Motoma' compensation Q (s (obj, a 1 (m)), a 2 (n)) Qave (obj, a 1 ( m) Obtain). The calculated average value Qave (obj, a 1 (m) ) is output to the maximum
In this case, the maximum
The risk calculation unit 405 groups obstacle positions ob (j) (j = 1, 2,..., J) with the same value of amax (j). The maximum value of Qave (obj, amax (j)) in each group is defined as Qrisk (s, a 1 (n) ). That is,
The risk calculator 405
Qrisk (s, a 1 (m) ) = max {Qaveve (obj, a 1 (m) ) | amax (j) = a 1 (m) }
Calculate
<ステップS5>
行動選択部50は、軌道追従計算部30が求めたa1’,a2’,…,aM’と、障害物回避計算部40が求めたQrisk(s,a1 (m))を利用して、最適な行動を決定する。図10は、行動選択部50の処理を例示した図である。
ここで、Qthreshを水中ロボットの安全性を保障する一定の閾値とする。すなわち、Qrisk(s,a)<Qthreshであれば、その行動aを取る水中ロボットが障害物にぶつからないことが保障される。例えば、rを水中ロボットが目標位置に着いたときに得られる報酬、γを割引率、nを行動ステップの数とすると、Qthreshとしては、n行動ステップ後にロボットが障害物にぶつかる場合のQ値の値にすることができる。すなわち、Qthresh=r×γnにすることができる。ここで、nは、ロボットの旋回半径を考慮して、2〜4の値にすると望ましい。
行動選択部50は、まず、Qrisk(s,a1’)とQthreshの大小関係を比較する(ステップS51)。その結果、Qrisk(s,a1’)<Qthreshであれば、行動a1’を最適な行動として選択する(ステップS51’)。Qrisk(s,a1’)>Qthreshであれば、Qrisk(s,a2’)とQthreshの大小関係を比較する(ステップS52)。その結果、Qrisk(s,a2’)<Qthreshであれば、行動a2’を最適な行動として選択する(ステップS52’)。Qrisk(s,a2’)>Qthreshであれば、Qrisk(s,a3’)とQthreshの大小関係を比較する(ステップS53)。その結果、Qrisk(s,a3’)<Qthreshであれば、行動a3’を最適な行動として選択する(ステップS53’)。Qrisk(s,a3’)>Qthreshであれば、Qrisk(s,a4’)とQthreshの大小関係を比較する。
<Step S5>
The
Here, let Qthresh be a certain threshold value that ensures the safety of the underwater robot. That is, if Qrisk (s, a) <Qthresh, it is ensured that the underwater robot taking the action a does not hit an obstacle. For example, if r is the reward obtained when the underwater robot reaches the target position, γ is the discount rate, and n is the number of action steps, Qthresh is the Q value when the robot hits an obstacle after n action steps. The value can be That is, it is possible to Qthresh = r × γ n. Here, n is preferably set to a value of 2 to 4 in consideration of the turning radius of the robot.
The
上記の処理を、行動が選択されるまで、又は、Qrisk(s,aM’)>Qthreshと判断されるまで繰り返す(ステップS5M)。
このように、目標軌道に到達する可能性が高い行動a1’,a2’,…,aM’の順番で、その行動を取ったときの障害物へのぶつかりやすさQrisk(s,a)が、水中ロボットの安全性を保障する一定の閾値を下回っているかどうかを検証することにより、障害物にぶつからない行動の中で最も軌道追従性の高い行動を選択することができる。
The above processing is repeated until an action is selected or until it is determined that Qrisk (s, a M ′)> Qthresh (step S5M).
In this way, the risk of hitting an obstacle when taking the actions in the order of actions a 1 ′, a 2 ′,..., A M ′ that are likely to reach the target trajectory Qrisk (s, a ) Is below a certain threshold that ensures the safety of the underwater robot, it is possible to select the action with the highest trajectory tracking ability among the actions that do not hit the obstacle.
<ステップ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)等を用いることができる。
<Step S6>
The
By repeating the above processing every action unit time T, it is possible to perform obstacle avoidance control of the underwater robot in the presence of unknown ocean current disturbance and unknown obstacle.
The above is the outline of the motion control device for the underwater robot according to the present invention.
The processing function of the motion control device of the underwater robot can be realized by a computer. In this case, the content of the processing function of the motion control device of the underwater robot is described by a program. Then, by executing this program on a computer as shown in FIG. 19, for example, each processing function of the motion control device for the underwater robot shown in FIG. 1 is realized on the computer.
The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is provided for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、水中ロボットの動作制御装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
以上の各実施形態の他、本発明である水中ロボットの動作制御方法、装置、プログラム及びその記録媒体は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
In this embodiment, the operation control device for the underwater robot is configured by executing a predetermined program on the computer. However, at least a part of these processing contents may be realized by hardware. Good.
In addition to the above-described embodiments, the operation control method, apparatus, program, and recording medium for the underwater robot according to the present invention are not limited to the above-described embodiments, and may be changed as appropriate without departing from the spirit of the present invention. Is possible.
Claims (9)
環境モデル生成手段が、新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成ステップと、
軌道生成手段が、上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成ステップと、
軌道追従計算手段が、水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算ステップと、
障害物回避計算手段が、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算ステップと、
行動選択手段が、軌道追従計算ステップで付けられた優先順位が高い行動の順番で、上記障害物回避計算ステップで求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを順次判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択ステップと、
フィードバック制御手段が、行動選択ステップで選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御ステップと、
を有する水中ロボットの動作制御方法。 The value function generated based on the motion planning method in the Markov state transition model is stored in the value function storage means as a reward when the origin is the target arrival position, and the reward when the underwater robot reaches the origin> other cases And
Each time the environmental model generation means detects a new obstacle, an environment model generation step for obtaining the position of the obstacle and storing it in the obstacle information storage means;
The trajectory generating means generates a target trajectory position at each time step until reaching the target arrival position without hitting the obstacle read from the obstacle information storage means, and stores the target trajectory position in the target trajectory position storage means Generation step;
The trajectory tracking calculation means evaluates numerically how close the target trajectory position read out from the target trajectory position storage means when the underwater robot takes each action, Orbit following calculation step to prioritize
An obstacle avoidance calculating means for calculating an obstacle avoidance calculating step for calculating the ease of hitting the obstacle when the underwater robot takes each action;
The action selection means is the order of actions with the highest priority given in the trajectory follow-up calculation step, and the likelihood of hitting the obstacle when taking the action determined in the obstacle avoidance calculation step is constant. An action selection step that sequentially determines whether or not the threshold is smaller than the threshold, and repeats the process of selecting the action when it is determined to be small until an action determined to be small is found,
A feedback control step in which the feedback control means controls the underwater robot to operate according to the behavior selected in the behavior selection step;
An underwater robot motion control method.
上記軌道生成ステップは、
初期値設定手段が、水中ロボットの現在位置が含まれる格子に水中ロボットが時刻ステップ0において存在する確率を1とし、その他の格子に存在する確率を0とする初期値設定ステップと、
存在確率計算手段が、水中ロボットが時刻ステップt−1において格子sの周りに存在する格子s’に存在する確率に1/8を乗算したものを各格子s’ごとに求め、この格子s’ごとに求まった乗算結果を加算することによって、水中ロボットが時刻ステップtにおいて格子sに存在する確率を計算する存在確率計算ステップと、
確率補正手段が、上記存在確率計算ステップで求まった、上記障害物情報保存手段から読み出した各障害物が存在している各格子についての存在確率を0とする確率補正ステップと、
制御手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になるまで、上記存在確率計算ステップと上記確率補正ステップの処理を繰り返すように制御する制御ステップと、
軌道決定手段が、上記存在確率計算ステップで求まった、目標到達位置を含む格子についての存在確率が0でない値になったときの時刻ステップをtdとし、時刻ステップtdにおける目標軌道位置τ(td)とし、水中ロボットが時刻ステップt−1において目標到達位置τ(t)の周りの格子に存在する確率を最も大きくする格子を目標軌道位置(τ−1)とする処理を繰り返すことによって、各時刻ステップにおける目標軌道位置を求めて目標軌道位置保存手段に格納する軌道決定ステップと、
から構成される、
ことを特徴とする水中ロボットの動作制御方法。 The operation control method of the underwater robot according to claim 1,
The trajectory generation step includes
An initial value setting step in which an initial value setting means sets the probability that an underwater robot exists in a grid including the current position of the underwater robot at time step 0 to 1 and sets the probability of existing in another grid to 0;
The existence probability calculating means obtains, for each lattice s ′, a value obtained by multiplying the probability that the underwater robot exists in the lattice s ′ existing around the lattice s at time step t−1 by 1/8, and this lattice s ′. An existence probability calculating step of calculating a probability that the underwater robot exists in the lattice s at time step t by adding the multiplication results obtained for each time;
A probability correction step in which the probability correction means determines the existence probability for each lattice in which each obstacle read from the obstacle information storage means is found in the existence probability calculation step;
Control for controlling the control means to repeat the processing of the existence probability calculation step and the probability correction step until the existence probability for the lattice including the target arrival position obtained in the existence probability calculation step becomes a non-zero value. Steps,
The trajectory determining means obtains the time step when the existence probability for the lattice including the target arrival position, which is obtained in the existence probability calculation step, becomes a non-zero value, td, and the target trajectory position τ (td) at the time step td. By repeating the process of setting the lattice that maximizes the probability that the underwater robot exists in the lattice around the target arrival position τ (t) at time step t−1 as the target trajectory position (τ−1), A trajectory determination step for obtaining the target trajectory position in the step and storing it in the target trajectory position storage means;
Composed of,
A motion control method for an underwater robot.
上記軌道追従計算ステップは、
相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
加算手段が、上記最大値抽出ステップで求まった最大値の、上記各目標軌道位置についての和を取る加算ステップと、
順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
から構成される、
ことを特徴とする水中ロボットの動作制御方法。 In the operation control method of the underwater robot according to claim 1 or 2,
The trajectory tracking calculation step is as follows:
A relative position determining step for determining, for each target trajectory position, a relative position of the underwater robot with respect to each target trajectory position read from the target trajectory position storing means;
Transition destination prediction step in which the transition destination prediction means obtains the state of the transition destination for each first action when the underwater robot located at each relative position obtained in the relative position determination step takes the first action. When,
The maximum value extraction means refers to the value function storage means, and the value of the value function given when the underwater robot in the transition destination state determined in the transition destination prediction step takes each second action. A maximum value extraction step for obtaining a maximum value;
An adding step in which the adding means takes the sum of the maximum values obtained in the maximum value extracting step with respect to each target trajectory position;
An order determining step for prioritizing the first actions in descending order of the addition value obtained in the adding step;
Composed of,
A motion control method for an underwater robot.
上記軌道追従計算ステップは、
相対位置決定手段が、上記目標軌道位置保存手段から読み出した各目標軌道位置に対する水中ロボットの相対位置を各目標軌道位置ごとに求める相対位置決定ステップと、
遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の行動を取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
加算手段が、上記平均値抽出ステップで求まった平均値の、上記各目標軌道位置についての和を取る加算ステップと、
順序決定手段が、上記加算ステップで求まった加算値が大きい順に、上記第一の各行動に優先順位を付ける順序決定ステップと、
から構成される、
ことを特徴とする水中ロボットの動作制御方法。 In the operation control method of the underwater robot according to claim 1 or 2,
The trajectory tracking calculation step is as follows:
A relative position determining step for determining, for each target trajectory position, a relative position of the underwater robot with respect to each target trajectory position read from the target trajectory position storing means;
Transition destination prediction step in which the transition destination prediction means obtains the state of the transition destination for each first action when the underwater robot located at each relative position obtained in the relative position determination step takes the first action. When,
The average value extraction means refers to the value function storage means, and the value function value given when the underwater robot in the transition destination state obtained in the transition destination prediction step takes each second action. An average value extraction step for obtaining an average value;
An adding step in which the adding means takes the sum of the average values obtained in the average value extracting step for each of the target trajectory positions;
An order determining step for prioritizing the first actions in descending order of the addition value obtained in the adding step;
Composed of,
A motion control method for an underwater robot.
上記障害物回避計算ステップは、
相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の各行動を取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
最大値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の最大値を求める最大値抽出ステップと、
最大値選択手段が、上記最大値抽出ステップで求まった最大値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
から構成される、
ことを特徴とする水中ロボットの動作制御方法。 In the operation control method of the underwater robot according to any one of claims 1 to 4,
The obstacle avoidance calculation step is
A relative position determining step for obtaining a relative position of the underwater robot for each obstacle position for each obstacle position;
Transition destination prediction in which the transition destination prediction means obtains the state of the transition destination for each first action when the underwater robot located at each relative position obtained in the relative position determination step takes the first action. Steps,
The maximum value extraction means refers to the value function storage means, and the value of the value function given when the underwater robot in the transition destination state determined in the transition destination prediction step takes each second action. A maximum value extraction step for obtaining a maximum value;
A maximum value selection means for determining a first action for maximizing the maximum value obtained in the maximum value extraction step for each position of each obstacle; and
The risk calculation means divides the position of each obstacle into groups of the same first action determined in the maximum value selection step, and the largest value among the maximum values determined in the maximum value extraction step for each group. A risk calculation step for calculating the likelihood of hitting an obstacle when the underwater robot takes each action by selecting a larger one,
Composed of,
A motion control method for an underwater robot.
上記障害物回避計算ステップは、
相対位置決定手段が、各障害物の位置に対する水中ロボットの相対位置を各障害物の位置ごとに求める相対位置決定ステップと、
遷移先予測手段が、上記相対位置決定ステップで求まった各相対位置に位置する水中ロボットが、第一の各行動を取ったときの遷移先の状態を第一の各行動ごとに求める遷移先予測ステップと、
平均値抽出手段が、価値関数保存手段を参照して、上記遷移先予測ステップで求まった遷移先の状態にある水中ロボットが、第二の各行動を取ったときに与えられる価値関数の値の平均値を求める平均値抽出ステップと、
最大値選択手段が、上記平均値値抽出ステップで求まった平均値を最大にする第一の行動を各障害物の位置ごとに求める最大値選択ステップと、
リスク計算手段が、各障害物の位置を、最大値選択ステップで求まった第一の行動が同じもの同士でグループ分けし、上記各グループごとに最大値抽出ステップで求まった最大値の中で最も大きいものを選ぶことにより、水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算するリスク計算ステップと、
から構成される、
ことを特徴とする水中ロボットの動作制御方法。 In the operation control method of the underwater robot according to any one of claims 1 to 4,
The obstacle avoidance calculation step is
A relative position determining step for obtaining a relative position of the underwater robot for each obstacle position for each obstacle position;
Transition destination prediction in which the transition destination prediction means obtains the state of the transition destination for each first action when the underwater robot located at each relative position obtained in the relative position determination step takes the first action. Steps,
The average value extraction means refers to the value function storage means, and the value function value given when the underwater robot in the transition destination state obtained in the transition destination prediction step takes each second action. An average value extraction step for obtaining an average value;
A maximum value selection means for determining a first action for maximizing the average value obtained in the average value extraction step for each obstacle position;
The risk calculation means divides the position of each obstacle into groups of the same first action determined in the maximum value selection step, and the largest value among the maximum values determined in the maximum value extraction step for each group. A risk calculation step for calculating the likelihood of hitting an obstacle when the underwater robot takes each action by selecting a larger one,
Composed of,
A motion control method for an underwater robot.
新たな障害物を検出するごとに、その障害物の位置を求めて、障害物情報保存手段に格納する環境モデル生成手段と、
上記障害物情報保存手段から読み出した障害物にぶつからずに目標到達位置に到達するまでの、各時刻ステップにおける目標軌道位置を生成して、目標軌道位置保存手段に格納する軌道生成手段と、
水中ロボットが各行動を取ったときに、上記目標軌道位置保存手段から読み出した目標軌道位置にどの程度近づくことができるのかを数値で評価し、その評価値により、各行動に優先順位を付ける軌道追従計算手段と、
水中ロボットが各行動を取ったときの障害物へのぶつかりやすさを計算する障害物回避計算手段と、
軌道追従計算手段で付けられた優先順位の高い行動の順番で、上記障害物回避計算手段で求められた、その行動を取ったときの障害物へのぶつかりやすさが一定の閾値よりも小さいかどうかを判定し、小さいと判定された場合にはその行動を選択する処理を、小さいと判定される行動が見つかるまで繰り返す行動選択手段と、
行動選択手段で選択された行動に従って、水中ロボットが動作をするように制御するフィードバック制御手段と、
を有する水中ロボットの動作制御装置。 Value function storage means for storing the value function generated based on the motion planning method in the Markov state transition model, with the origin as the target arrival position and the reward when the underwater robot reaches the origin> the reward in other cases;
Each time a new obstacle is detected, the position of the obstacle is obtained and stored in the obstacle information storage means.
A trajectory generating means for generating a target trajectory position at each time step until reaching the target reaching position without hitting the obstacle read from the obstacle information storing means, and storing the target trajectory position in the target trajectory position storing means;
When an underwater robot takes each action, it evaluates numerically how much it can approach the target trajectory position read from the target trajectory position storage means, and the trajectory prioritizes each action based on the evaluation value Tracking calculation means;
Obstacle avoidance calculation means for calculating the ease of hitting an obstacle when the underwater robot takes each action;
In the order of actions with the highest priority given by the trajectory tracking calculation means, whether or not the obstacle avoidance calculation means obtained by the obstacle avoidance calculation means is less than a certain threshold A behavior selection means for repeating the process of selecting the behavior when it is determined to be small until the behavior determined to be small is found,
Feedback control means for controlling the underwater robot to operate according to the action selected by the action selection means;
A motion control apparatus for an underwater robot.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006227431A JP4495703B2 (en) | 2006-08-24 | 2006-08-24 | Operation control method, apparatus and program for underwater robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006227431A JP4495703B2 (en) | 2006-08-24 | 2006-08-24 | Operation control method, apparatus and program for underwater robot |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008052473A true JP2008052473A (en) | 2008-03-06 |
JP4495703B2 JP4495703B2 (en) | 2010-07-07 |
Family
ID=39236477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006227431A Active JP4495703B2 (en) | 2006-08-24 | 2006-08-24 | Operation control method, apparatus and program for underwater robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4495703B2 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295103A (en) * | 2008-06-09 | 2009-12-17 | Nippon Telegr & Teleph Corp <Ntt> | Motion planning device, method, and program for autonomously moving robot, recording medium, and motion control device and method for autonomously moving robot |
JP2010165050A (en) * | 2009-01-13 | 2010-07-29 | Nippon Telegr & Teleph Corp <Ntt> | Operation planning device, method and program for autonomous mobile robot, and recording medium and operation control device and method for autonomous mobile robot |
JP2015201068A (en) * | 2014-04-09 | 2015-11-12 | 日本電信電話株式会社 | Behavior control device and program |
CN107577158A (en) * | 2017-09-22 | 2018-01-12 | 哈尔滨工程大学 | Underwater operation level ROV navigation simulation system and its control method |
JP2018181166A (en) * | 2017-04-20 | 2018-11-15 | 株式会社Ihi | Mobile body control method and mobile body control system |
CN109417477A (en) * | 2016-01-05 | 2019-03-01 | ***梅隆大学 | Security architecture for automated vehicle |
CN109506651A (en) * | 2017-09-15 | 2019-03-22 | 中国科学院光电研究院 | Stratosphere super-pressure balloon Three-Dimensional Path Planning Method |
CN109557917A (en) * | 2018-12-04 | 2019-04-02 | 南京邮电大学 | The method of the autonomous line walking of underwater robot and monitor surface |
JP2019106049A (en) * | 2017-12-13 | 2019-06-27 | 株式会社豊田中央研究所 | Vehicle control device, risk map generation device, and program |
JP6644191B1 (en) * | 2018-12-26 | 2020-02-12 | 三菱電機株式会社 | Robot control device, robot control learning device, and robot control method |
CN111694355A (en) * | 2020-06-02 | 2020-09-22 | 武汉理工大学 | Ship formation navigation control method, system and storage medium |
JP2021034050A (en) * | 2019-08-21 | 2021-03-01 | 哈爾浜工程大学 | Auv action plan and operation control method based on reinforcement learning |
CN115182408A (en) * | 2022-08-10 | 2022-10-14 | 江苏科技大学 | Obstacle avoidance method and autonomous moving method for inland river water area cleaner |
CN115494733A (en) * | 2022-10-27 | 2022-12-20 | 南方电网调峰调频发电有限公司储能科研院 | Underwater robot self-adaptive control method based on gazebo |
CN116360462A (en) * | 2023-04-26 | 2023-06-30 | 青岛森科特智能仪器有限公司 | Obstacle avoidance method of netting cleaning robot |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6388603A (en) * | 1986-10-02 | 1988-04-19 | Agency Of Ind Science & Technol | Traveling control method for marine robot |
JPH0850548A (en) * | 1994-08-05 | 1996-02-20 | Nikon Corp | Method and device for learning path |
JPH1111394A (en) * | 1997-06-23 | 1999-01-19 | Nec Corp | Control device for underwater cruiser |
JPH11249734A (en) * | 1998-03-03 | 1999-09-17 | Mitsubishi Heavy Ind Ltd | Autonomous guidance device |
-
2006
- 2006-08-24 JP JP2006227431A patent/JP4495703B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6388603A (en) * | 1986-10-02 | 1988-04-19 | Agency Of Ind Science & Technol | Traveling control method for marine robot |
JPH0850548A (en) * | 1994-08-05 | 1996-02-20 | Nikon Corp | Method and device for learning path |
JPH1111394A (en) * | 1997-06-23 | 1999-01-19 | Nec Corp | Control device for underwater cruiser |
JPH11249734A (en) * | 1998-03-03 | 1999-09-17 | Mitsubishi Heavy Ind Ltd | Autonomous guidance device |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009295103A (en) * | 2008-06-09 | 2009-12-17 | Nippon Telegr & Teleph Corp <Ntt> | Motion planning device, method, and program for autonomously moving robot, recording medium, and motion control device and method for autonomously moving robot |
JP2010165050A (en) * | 2009-01-13 | 2010-07-29 | Nippon Telegr & Teleph Corp <Ntt> | Operation planning device, method and program for autonomous mobile robot, and recording medium and operation control device and method for autonomous mobile robot |
JP2015201068A (en) * | 2014-04-09 | 2015-11-12 | 日本電信電話株式会社 | Behavior control device and program |
US10962972B2 (en) | 2016-01-05 | 2021-03-30 | Carnegie Mellon University | Safety architecture for autonomous vehicles |
CN109417477A (en) * | 2016-01-05 | 2019-03-01 | ***梅隆大学 | Security architecture for automated vehicle |
JP2019509541A (en) * | 2016-01-05 | 2019-04-04 | カーネギー−メロン ユニバーシティCarnegie−Mellon University | Safety architecture for autonomous vehicles |
CN109417477B (en) * | 2016-01-05 | 2021-12-21 | ***梅隆大学 | Safety architecture for automated vehicles |
JP2018181166A (en) * | 2017-04-20 | 2018-11-15 | 株式会社Ihi | Mobile body control method and mobile body control system |
CN109506651A (en) * | 2017-09-15 | 2019-03-22 | 中国科学院光电研究院 | Stratosphere super-pressure balloon Three-Dimensional Path Planning Method |
CN107577158A (en) * | 2017-09-22 | 2018-01-12 | 哈尔滨工程大学 | Underwater operation level ROV navigation simulation system and its control method |
JP7020097B2 (en) | 2017-12-13 | 2022-02-16 | 株式会社豊田中央研究所 | Vehicle control device, risk map generator, and program |
JP2019106049A (en) * | 2017-12-13 | 2019-06-27 | 株式会社豊田中央研究所 | Vehicle control device, risk map generation device, and program |
CN109557917A (en) * | 2018-12-04 | 2019-04-02 | 南京邮电大学 | The method of the autonomous line walking of underwater robot and monitor surface |
JP6644191B1 (en) * | 2018-12-26 | 2020-02-12 | 三菱電機株式会社 | Robot control device, robot control learning device, and robot control method |
JP2021034050A (en) * | 2019-08-21 | 2021-03-01 | 哈爾浜工程大学 | Auv action plan and operation control method based on reinforcement learning |
CN111694355A (en) * | 2020-06-02 | 2020-09-22 | 武汉理工大学 | Ship formation navigation control method, system and storage medium |
CN115182408A (en) * | 2022-08-10 | 2022-10-14 | 江苏科技大学 | Obstacle avoidance method and autonomous moving method for inland river water area cleaner |
CN115182408B (en) * | 2022-08-10 | 2024-03-15 | 江苏科技大学 | Obstacle avoidance method and autonomous movement method for inland water area cleaner |
CN115494733A (en) * | 2022-10-27 | 2022-12-20 | 南方电网调峰调频发电有限公司储能科研院 | Underwater robot self-adaptive control method based on gazebo |
CN116360462A (en) * | 2023-04-26 | 2023-06-30 | 青岛森科特智能仪器有限公司 | Obstacle avoidance method of netting cleaning robot |
CN116360462B (en) * | 2023-04-26 | 2023-09-26 | 青岛森科特智能仪器有限公司 | Obstacle avoidance method of netting cleaning robot |
Also Published As
Publication number | Publication date |
---|---|
JP4495703B2 (en) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4495703B2 (en) | Operation control method, apparatus and program for underwater robot | |
JP4406436B2 (en) | Autonomous mobile robot motion planning method, autonomous mobile robot control method using autonomous mobile robot motion planning method, autonomous mobile robot motion planning device, autonomous mobile robot motion planning program and its recording medium, autonomous mobile robot control program | |
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 | |
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 | |
US20190018412A1 (en) | Control Method for Autonomous Vehicles | |
Deraj et al. | Deep reinforcement learning based controller for ship navigation | |
JP5079602B2 (en) | Autonomous mobile robot operation planning apparatus, method, program and recording medium, and autonomous mobile robot operation control apparatus and method | |
Raj et al. | Dynamically feasible trajectory planning for anguilliform-inspired robots in the presence of steady ambient flow | |
CN116047886B (en) | Pipeline submarine robot control method and system based on neural network | |
NO20221206A1 (en) | Ship maneuver calculation device | |
CN114609925B (en) | Training method of underwater exploration strategy model and underwater exploration method of bionic machine fish | |
Serigstad | Hybrid collision avoidance for autonomous surface vessels | |
Wilson et al. | UAV rendezvous: From concept to flight test | |
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 | |
Kinjo et al. | Trajectory tracking of a fully-actuated surface vessel using nonlinear model predictive control: Experimental results | |
JP4964255B2 (en) | Autonomous mobile robot operation planning apparatus, method, program and recording medium, and autonomous mobile robot operation control apparatus and method | |
CN117234217B (en) | Three-dimensional time-space domain-based water surface unmanned ship track tracking guidance method and system | |
CN112965484B (en) | Control system and method for stabilizing ship | |
Petiteville et al. | 2D visual servoing for a long range navigation in a cluttered environment | |
Ginerica et al. | A vision-dynamics learning approach to prediction-based control in autonomous vehicles |
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 |