Japanese subtitles

← 03ps-12 Final Solution

dummy description

Get Embed Code
2 Languages

Showing Revision 1 created 10/30/2014 by Udacity.

  1. 完全な粒子フィルタを実装するためには
    measurement_prob関数が欠けています
  2. これは少し複雑です
    なぜならロボットの粒子に対して
  3. 正確な観測と検出した値を比較し
  4. 正確な観測値とここで検出した値の差の確率を
    計算しなければなりません
  5. sense関数を利用して
    predicted_measurementsを計算します
  6. 私が定義したフラグです
  7. 0にセットするとsense関数はノイズなしとなり
    観測モデルを完成させることができます
  8. ここを削除しても答えは出るはずですが
    この方がより正確な答えを得られます
  9. ランドマークへの正確な方位を
    計算できるようになります
  10. 次にpredicted_measurementsと定義した
    正確な方位値をmeasurement_probと比較します
  11. ここにある残差を計算するルーチンで行います
  12. ここではすべての観測の回数分
    方位の残差を2ステップで計算します
  13. まずはmeasurement引く
    predicted_measurementの絶対差を求めます
  14. 終わりには[i]があります ここです
  15. そしてこの残差は-piから+piの
    範囲外にあるものと思われます
  16. この行はそれをゼロから2piまでの
  17. サイクリックな空間における
    最小可能値に戻すだけです
  18. このようにpiを加え
  19. さらに負荷2.0*piを加えてから
    ここで再びpiを引きます
  20. すると-piと+piの間の値が得られます
  21. 次にerror_bearingをガウス値に取り込みます
    これがガウス値でerror_bearingを2乗しています
  22. それをbearing_noiseの2乗で割り
    expを計算します
  23. 正規化群を使用しますが実装には必要ありません
  24. 重みは自己正規化されるためここは省略できます
  25. 私は残したので これはまぎれもないガウス値です
  26. このガウス値を取り出して掛け
    error関数に取り込んでいます
  27. それぞれの観測値にガウス値を1回掛けます
  28. 最終的なガウス値が重要であり
    この関数で返されます
  29. 少し難しい実装でしたが
    正しく理解できたでしょうか
  30. 下にスクロールすると
    粒子フィルタが実装されています
  31. 1,000個の粒子を使用しています
  32. 以前に使用したのとまったく同じルーチンです
    ここで最初の粒子を生成します
  33. 粒子のノイズとして
  34. bearing_noise、steering_noise、
    distance_noiseを設定します
  35. 観測値生成ステップはコメントアウトせず
    入力値を取り出しています
  36. さらにスクロールすると以前使用したのと
    まったく同じ粒子フィルタがあります
  37. 動作更新と観測更新があり
    ここには再サンプリングステップがあります
  38. すべて以前使ったものと同じです
  39. 最後にget_positionの結果だけを出力します
  40. 実行してみると取得した位置がここに表示されます
  41. このRobot座標を
    コメントアウトし忘れていたようです
  42. しかしこの値を見れば7.0055は
    結果として出力された8に近い値であり
  43. 49は48と 4.31も4.35と
    ほぼ同じような値であることがわかります
  44. この粒子フィルタが
    前方位置の推定に関して機能した証拠です