移動ロボットの経路計画 (7) --- MDP ベースの経路計画 MDP ベースの計画

目次

1 MDP ベースの計画とは

2 非決定的モデルの最悪ケースの分析

3 予想コスト計画

4 リアルタイム動的プログラミング(RTDP)


1 MDP ベースの計画とは

        開始点から終了点まで実行可能なパスが多数あり、実行時の環境の変化に応じて最適なパスを選択できます。

        これまで、ロボットは理想的な条件下で計画を立てていると仮定してきました (ロボットの実行は完璧で、ロボットの推定は完璧です)。

        上の 2 つの写真を使用して、ある場所から別の場所までのルートを計画します。ロボットにグリッドを歩かせると、ロボットはグリッドを歩くことになると仮定します。右の図では、環境を正確に反映していると仮定し、姿勢を推定した後、ロボットが正確に終了位置に到達し、予期せぬ事態が発生しないと仮定しています。

        実際にはそうではありません。

        実際のアプリケーションでは、実行とステータスは完璧ではありません。

         • 実行の不確実性: 滑り、荒れた地形、風、空気抵抗、制御エラーなど。

         • 状態推定の不確実性: センサーノイズ、キャリブレーションエラー、不完全な推定、部分的な可観測性など。

        不確実性はロボットの観点から 2 つのカテゴリに分類でき、ロボットがどれだけの情報を利用できるかを示します。

        不確実性モデル

        • 非決定性: ロボットは、その動作 (次のステップ) にどのような種類の不確実性や外乱が追加されるかを知りません。 (オフセット目標点は自然環境の影響を大きく受けます)

         • 確率的: ロボットは、統計データの観察と収集を通じて、不確実性について一定の推定値を持っています。 (邪魔になるまでパートを実行した後)

        この概念を正式に説明するには、まず 2 人の意思決定者を導入して不確実性の生成をシミュレートし、次に不確実性を伴う計画の種類をシミュレートします。

        意思決定者 (ゲーム参加者):

         • ロボット が主な意思決定者であり、完全に既知の状態と完璧な実行に基づいて計画を立てます。

         • 自然は、ロボットが作成する計画に不確実性を加えますが、これはロボットにとって予測不可能です。

        形式化-7.1: 自然とのゲーム (独立したゲーム)
• 空でない集合 U はロボットの行動空間と呼ばれます。それぞれの u ∈ U はロボット アクションと呼ばれます。
• 空でない集合 Θ は、自然作用空間と呼ばれます。あらゆる θ ∈ Θ は自然作用と呼ばれます。
• 関数 L: U × Θ → R ∪ {∞}。コスト関数または負の報酬関数と呼ばれます。

        形式化-7.2: 自然はロボットの行動を理解する (依存ゲーム)
        • 空でない集合 U はロボット行動空間と呼ばれます。それぞれの u ∈ U はロボット アクションと呼ばれます。
        • 各 u ∈ U に対して、自然作用空間と呼ばれる空ではない集合 Θ(u) が存在します。
        • 関数 L: U × Θ → R ∪ {∞}。コスト関数または負の報酬関数と呼ばれます。
        ロボットが自然とゲームをするとき、ロボットにとって最善の決断は何でしょうか?

        ワンステップのワーストケース分析
        • 非決定性モデルでは、独立ゲームの P(θ) と依存ゲームの P(θ|u_k) は不明です。< /span>最悪のシナリオを想定して決定を下すのは合理的です。         • したがって、
        • ロボットは自然の挙動を予測できず、コストを可能な限り高くする行動を悪意を持って選択すると想定します。

        自然な行動空間を徹底的に調べ尽くし、最も不利な状況を選択し、最も不利な状況を最小限に抑えるためにロボットにこの行動を実行させます。

        • 確率モデルでは、独立ゲームの P(θ) と依存ゲームの P(θ|u_k) が既知です。
        • アプリケーションが観察されたと仮定します。自然の行​​動、自然は行動を選択するときにランダム化戦略を使用します。
        • そこで、平均コスト(平均して受け取るコスト)を求める最適化を行います。

        ロボットが行動を起こすたびに、環境は調整してさまざまな影響を与えますが、さまざまな影響の期待値を調べて、期待値が最小となる行動を選択しましょう。

        複数のステップがある状況ではどうなるでしょうか?

        形式化-7.2: 性質を利用した離散プログラミング
1. 初期状態 x_s と目標集合 X_F ⊂ X を持つ空でない状態空間 X。
2. 各状態 x ∈ X に対して、有限で空ではないロボットのアクション空間 U(x) が存在します。すべての x ∈ X および u ∈ U(x) に対して、有限で空ではない自然な作用空間 Θ(x, u) が存在します。

 3. 各 x ∈ X、u ∈ U、θ ∈ Θ(x, u) の状態遷移関数 f (x, u, θ):

4. 一連のフェーズ (ロボットは 1 つのフェーズだけで表されるわけではありません)。各フェーズは k で示され、k = 1 から始まり無限に継続するか、最大フェーズ k = K + 1 = F で終了します。

5. 1 段階で重畳された コスト関数 L。 xə F、ũ k、θə K が、K 段階までの状態、ロボットの動作、および自然の動作の履歴を表すものとします。

        マルコフ決定プロセス (MDP)
        学習分野では、MDP は 4 タプル (S、A、P、R) であり、計画分野では (X 、U、P、L):
        • S または X は状態空間です。
        • A または U は (ロボットの) アクション空間です。
        • P(x_k+1 |x_k, u_k) は確率モデルの下での状態遷移関数であり、非決定的モデルの下では集合 X_k+1 (x_k, u_k) に縮退します。         不確実性に直面して計画を立てる際の最初の困難は、MDP モデルを使用して問題を適切に形式化することです。
        • R(x_k, x_k+1) は即時報酬、または u, θ が x_k から x_k+1 に遷移することによる負の 1 ステップコスト −l(x_k, u_k, θ_k) です。

        ロボットが x_I から x_G に移動すると、状態空間は黒い点でいっぱいの領域になります。アクションスペースは5種類(その場に留まる、上下左右)あります。

        自然の活動空間:

        1. ロボットがランダムなガウス誤差を伴う Xのk 位置で イギリス アクションを実行したと仮定します。 (継続)

        2. 自然のアクション空間を離散化します。ロボットは アクションに加えて、 Xのk の位置で追加のアクションを実行しました。 (離散)イギリス

        コスト関数 l: 次の状態と現在の状態の間の距離の差。

        パス(最小のコストで目的の場所に移動する)を見つけたいと考えています。

        \pi は、状態空間からアクション空間へのマッピングです。 は、どの状態でどのようなアクションを実行するかを指定し、離散セットの形式になります。

        ポリシーの品質を測定する変数を定義します。

33

2 非決定的モデルの最悪ケースの分析

        具体的な例を見てみましょう。

        ステップ K+1 に進む最適コストはすでにわかっています。現在は現在の状態です。Xのkロボットは特徴的なアクションを実行しました。イギリス、ロボットがこの Xのk から転送できる特定の x_{k+1} は、 \シータ_k によって決まります。単一ステップのコストに K+1 のコストを加えたものを 1 つ\シータ_k、最大のものを\シータ_k見つけて、コストが最小のものを選択します。 イギリス

        終点までのコストは 0 とし、その他の場所は不明です。 S3 の場合、移動コストは 0+1 です。 s1 の場合、u は 1 つだけですが、\シータ は 2 つあります。1 つは単一のステップ 2 + エンドポイント 0 で、もう 1 つの分岐は 2 + s2 の移動コストです (計算されていません)。まだ)。

        終点から始点まで反復的に解決します。

        例として:

        まず、G(x_F) \leftarrow 0 を設定し、その他を無限大に設定し、オープンリストを S_g に初期化します。

        次の拡張ステータスはS_gです。次のステップは、その先行ノードを見つけることです。

        对于s_3,计算G(x_k = s_3) = 1 + G(x_{k+1} = s_g),openlist添加s_3

        对于s_1G^{*}_{k}(x_k=s_1) = 最小 \{最大 \{2+0,2+inf \} \}(inf.....不能更新,无法放入openlist),G^{*}_{k}(x_k=s_3) = 分\{ 1+0 \}

        s4も同様です。

        s2 についても同様です。ただし、 2 つの先行ノードS_s,s_1があります。最初に S1 を処理します:

        最終更新 Ss:

        長所短所:

 

3 予想コスト計画

        それで、ここに問題がありますか?

        を見てみましょう。アルゴリズムの説明:

        例を挙げる:

        まず、G\値 を 0 に初期化します。反復順序s_1 -> s_2 ->s_3->s_4->s_5を選択します。       

        まずs_1 のアップデートを見てみましょう:

        アップデートを探していますs_2:

        アップデートを探していますs_3:

        アップデートを探していますs_4:

        最終更新日:s_s:

        1ラウンド終了後はGです。次に、2 番目の反復に進みます。

        。 。 。 。 3回目の反復

        収束をどう判断するか?境界条件? ?改善方法? ?反復順序を改善するにはどうすればよいでしょうか? ?

        メリットとデメリット:

        1.平均レベルを反映

        2.必ずしも最高であるとは限らない

4 リアルタイム動的プログラミング(RTDP)

        実際の例を見てください。

        は、s_g までの各ノードの番号に基づいて更新されます。

おすすめ

転載: blog.csdn.net/qq_41694024/article/details/134578821