Japanese subtitles

← 06-08 Your Robot Car

Get Embed Code
6 Languages

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

  1. ではすべてを1つのソフトウェアにまとめましょう
  2. ここまで作るのに1日を要しました
  3. すべての作業を自力で行うかは問いません
  4. ここまでが1日掛かりなので
    まとめにも1時間はかかるでしょう
  5. ただし この講義の内容を1つのシステムに
    まとめることは可能だと思います
  6. ちょっとしたことだけ手助けします
  7. まずこちらに環境を書いて用意しました
  8. これまでに学んだ環境から得たものです
  9. ある種のノイズ特性を持つ
    class robotがあることに気づくでしょう
  10. スクロールしていくと
  11. なじみのある__init__関数があります
  12. 位置を設定するset関数もあります
  13. set_noise関数と確認を行う2つの関数があります
  14. gridと呼ばれる世界との衝突を検出する関数と
  15. 目的地に逹したか確かめるcheck_goal関数です
  16. これは距離の閾値に従います
  17. ここのmove関数はとてもなじみがあるはずです
  18. これは動作指令にノイズを適用します
  19. 以前書いたコードと同じです
  20. これはロボットの(x,y)位置を観測する
    非常に単純なsense関数です
  21. 自動車のGPSに似ていますが
    かなりの観測ノイズがあります
  22. このsense関数と対応した
    measurement_prob関数があります
  23. フィルタ中で使うかもしれません
  24. ロボットの実際の座標について
    ガウス分布を使い観測確立を評価します
  25. 問題はこれらを使えるようにすることです
  26. グリッドを設定して この例を描いてみましょう
  27. 具体的には6列5行のグリッドを設定します
  28. そしてこのように塞がれたセルがいくつかあります
  29. コードを注意深く調べると
    初期位置が左上の角にあり
  30. 目的地が右下の角にあるという情報に
    気づくでしょう
  31. すべてを合わせて自転車モデルによる
    ロボットカーを作りましょう
  32. ロボットは連続する空いたセルを
    通り抜けようとします
  33. 全経路から目的地への最短経路を選ぼうとします
  34. これは私が実装した場合の解決法です
  35. この講義でほとんどの部分を学びます
  36. このセルから始めます 大きな丸は障害物です
  37. 障害物の間の小さな丸が実際の経路です
  38. 必ずしも正確ではありませんが
    実装するには十分です
  39. 同じコードで複数回実行すると
    最適には ほど遠くなります
  40. 制御ノイズや観測ノイズがあるため
    最適ではありません
  41. しかし いずれの場合も空いたセルを通って
    目的地まで無事に着きました
  42. 詳細を調べてみると この解のようになっています
  43. 丸の開き方が一定ではありません
  44. さらに小さな曲がり角があります
  45. これは制御や観測ノイズ
    または不完全な実装の結果です
  46. A*プランナによる滑らかな点が
    制御集合の点となっています
  47. 緑で示されています
  48. 私が実装したバージョンは
    コントローラがかなり異なっています
  49. 制御目標としてatan2関数を使って
  50. 目的地へ直行する経路を選び速さ0.1で実行し
  51. ロボットが動く時は常に衝突を報告します
  52. 出力を見るとロボットの座標と方向が
    表示されています
  53. 目的地へ到達するまでに
    ロボットは頻繁に衝突をしています
  54. 見てみると分かりますが
  55. 最終的に目的地へ到達するまでに
    2つの大きな領域で衝突がありました