Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DronecodeとROSの概要 - シミュレーション環境のセットアップとその内容 #abc2015s #droneoss

18,359 views

Published on

DronecodeのSimulation in the loop(SITL)のセットアップ手順をつまづきそうな箇所を含めて紹介。SITLではXbox360コントローラを使ってドローンを操作できるようにする。また、ROSがSITLでどのように使われているかから始めてROSについても簡単に紹介する。

2015/7/20 ABC2015Summer(T3)
http://abc.android-group.jp/2015s/timetables/
日本Androidの会 ドローンWG

Published in: Technology
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/36cXjBY ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ♥♥♥ http://bit.ly/36cXjBY ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, Copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DronecodeとROSの概要 - シミュレーション環境のセットアップとその内容 #abc2015s #droneoss

  1. 1. Dronecode と ROS の概要 シミュレーション環境のセットアップとその内容 日本 Android の会 ドローン WG くまだす 2015/7/20 ABC2015Summer
  2. 2. 対象 ● Dronecode をほとんど知らないけれど興味がある ● ROS を知らない、触ったことがない ● Linux の基本的なコマンドの扱い方は知っている
  3. 3. 自己紹介 ● くまだす (Hiroshi Sakate) ● 自称 組込み屋さん ● 所属 – 日本 Android の会 ドローン WG – 日本 Android の会 神戸支部 – Yocto Project Japan – Tizen Japan コンソーシアム ● ドローンとの関わり – 触ったことがありません – 学生の時に制御理論の研究室だったので姿勢制御に興味あり
  4. 4. このセッションでできるようになること ● 風の日でも雨の日でもドローンを飛ばせる – ※PC の画面の中で ● シミュレーション環境を整えゲームのコントローラーでドローンを操縦で きる ● ROS がどういったプロジェクトか理解できる ● ROS の簡単なコマンドを操作できる ● 補足 – Dronecode 初心者の私が詰まった箇所も含めて紹介 – Dronecode に興味を持つきっかけの提供
  5. 5. 流れ 1.シミュレーション環境 (SITL) の概要 2.シミュレーション環境のセットアップ 3.デモ 4.ROS の概要 5.SITL の中身を少し覗いてみる
  6. 6. 1. シミュレーション環境( SITL )の概要
  7. 7. Dronecode プロジェクトの全体像 ● 今回見ていくのは たくさんあるうちの ごく一部 ● Off Vehicle の Simulators の中の SITL 引用元: https://www.dronecode.org
  8. 8. PX4 プロジェクトの全体像 ● 大きく 2 つあるプロジェクト のうち PX4 を扱う – もうひとつは APM/ArduPilot ● 実機の代わりにシミュレー ションを使う ● 上位層は MAVLink で通信 ● ROS から飛行指示が可能 引用元: https://www.dronecode.org
  9. 9. SITL と HITL とは ● SITL : Simulation in the loop – ホスト PC 上ですべての計算を実機無しで行う – 新しいアルゴリズムや制御則のテストに向いている – ハードウェアのタイミングや制限(スタックサイズなど)を考慮できない。 ● HITL : Hardware in the loop – SITL と違い実機を使用する。 – シミュレートされたセンサーデータを流し、制御信号を取り出す。 – 通信速度の都合で USB 接続で使用、無線では使用してはいけないと されている。
  10. 10. シミュレーション環境( SITL )の構成 ● ネイティブ環境が推奨されていますが、手軽さを重視して仮想 環境を使用します。 ● 必要な機材 – そこそこの性能の Linux PC – Xbox360 の USB コントローラ ● 使用した主なソフトウェア – Ubuntu – Docker – ROS Host OS : Ubuntu 14.04 Docker Guest OS : Ubuntu 14.04 ROS Gazebo xboxdrv
  11. 11. 2. シミュレーション環境のセットアップ
  12. 12. はじめに ● 以降の手順は下記のページを参考にしたものです。 – Automated SITL setup – https://pixhawk.org/dev/ros/automated_sitl ● OS イメージ、開発環境、ソースコードなどのダウンロードが必 要なため容量制限のある回線では気をつけてください。 ● ゲスト OS は画面なしで起動しますが、 X サーバ使ってホスト 上でウィンドウが開きます。
  13. 13. Docker のインストール ● インストール – 手順通り、といっても 1 行。 http://docs.docker.com/linux/started/ ● $ wget -qO- https://get.docker.com/ | sh – 中でグループを追加しているので、このあとログインしなおし たほうが良いかもしれない。 ● 動作確認 – $ docker run hello-world
  14. 14. X サーバの公開 ● まず X サーバへのアクセスを許可する。 – $ xhost + – 調べるとセキュリティ的にはかなり危ないようなので、自分で 調べてください。 ● X サーバはすぐには使わないですが後々使います。
  15. 15. Docker 上で Ubuntu の立ち上げ ● $ sudo docker run --privileged -v "/tmp/.X11-unix:/tmp/.X11-unix:ro" -e DISPLAY=$DISPLAY --name=sitl -it px4io/px4-ros-full bash – 長いコマンド – イメージのダウンロードとセットアップが走るので結構時間がかかる ● --name=sitl – sitl という名前のコンテナを作る ● px4io/px4-ros-full – dockerhub で公開されている SITL 用のイメージを使用する ● bash – bash を開く
  16. 16. SITL のビルドの前に ● 手順通りに進めると次の手順でゲスト OS 上に unzip が無いと 怒られるので、事前にインストールしておく。 (2015/7/11 現在 ) – # apt-get install unzip
  17. 17. SITL のソース取得・ビルド ● セットアップスクリプトの実行 – # cd /sitl – # ./setup-workspace.bash ● 実行される内容 – 作業ディレクトリの作成 – 使用するリポジトリ (5 個 ) のチェックアウト – ビルド
  18. 18. 参考 :unzip のエラーからの復帰方法 ● unzip が無いと怒られた場合は unzip インストール後に以下を実行してく ださい。 – # export ROS_PARALLEL_JOBS= – # cd /sitl/catkin_ws – # source devel/setup.bash – # catkin_make ● setup-workspace.bash の再実行では下記メッセージで処理が進まない。 – File "/sitl/catkin_ws/src/CMakeLists.txt" already exists ● setup-workspace.bash の最終行の catkin_make で unzip が必要なた め必要な環境変数を設定した上で catkin_make を実行している。
  19. 19. シミュレータの起動 ● ここまでで SITL のセットアップ完了。 ● 起動は下記コマンド – # source devel/setup.bash – # roslaunch px4 gazebo_iris_empty_world.launch ● X サーバを使ってホストのウィンドウとして表示される。 ● ただし、このままではドローンが操作できない。
  20. 20. Xbox360 コントローラの設定 ● ※ このページはホスト環境での作業 ● PPA でドライバをインストール – $ sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv – $ sudo apt-get update && sudo apt-get install ubuntu- xboxdrv ● なぜかこれではうまく認識しないのでデーモンを止めて手動で ドライバ?を起動する – $ sudo service xboxdrv stop – $ sudo xboxdrv
  21. 21. Xbox360 コントローラ認識結果 デーモンを止める前 デーモンを止めた後
  22. 22. 操作方法 ● ARM (プロペラを回す) – 2 本のスティックを→←と内側に倒す ● DISARM (プロペラを止める) – 2 本のスティックを←←と左へ倒す ● 移動 – 右スティック左右:下降・上昇 – 右スティック上下:水平移動 – 左スティック左右:旋回 – 右アナログトリガ:水平移動(えっ?) ● モード切り替え – X :オート?、 A :マニュアル?、 B :マニュアル?
  23. 23. キーアサインの変更 ● 2 つの変更方法 – jstest-gtk を使う – launch ファイルに設定を書いてアサインを変更
  24. 24. ワールドの切り替え ● roslaunch の際に launch ファイルにべつのファイルをシテイす ると機体やワールドが切り替わる – # roslaunch px4 gazebo_ardrone_house_world.launch
  25. 25. 終了と再開 ● 終了(正しくないような気がする) – 3D の絵が出ているウィンドウを × で閉じる – roslaunch したターミナルで Ctr-C してしばらく (5 〜 10 秒くらい ) 待つ – roslaunch したターミナルで Ctr-D で bash を閉じる – $ docker stop sitl ● 再開 – $ docker start sitl – $ docker exec -it sitl bash – # roslaunch px4 gazebo_iris_empty_world.launch
  26. 26. 3. デモ
  27. 27. 4.ROS の概要
  28. 28. ROS について ● ROS : Robot operating system – ロボットのソフト開発のための柔軟なフレームワーク – ハードウェア抽象化、デバイスドライバ、ライブラリ、視覚化ツ ール、メッセージ通信、パッケージ管理などを提供 – BSD ライセンス
  29. 29. catkin_make ● ROS のオフィシャルのビルドシステム – もともと rosbuild だったがこれの後継 ● Catkin : 尾状花序 – 猫のしっぽみたいな形の小さい 花の集まり – ROS の開発をしていた Willows (ヤナギ) Garage 社に ちなんで名付けられた "P3240141". Licensed under CC BY-SA 3.0 via Wikimedia Commons - https://commons.wikimedia.org/wiki/File:P3240141.JPG#/media/File:P3240141.JPG
  30. 30. Roslaunch ● 例: roslaunch px4 gazebo_iris_empty_world.launch ● launch ファイルに記述した設定で起動する ● launch ファイル – XML で記述 – ちゃんと理解できていないけれど、様々なパラメータ(ワール ド、機体、キーマップ)を設定している
  31. 31. 新しいコマンド ● rospack find roscpp – roscpp という名前のパッケージを探す ● roscd roscpp – roscpp パッケージのディレクトリへ移動する ● rosls glog_catkin – glog_catkin パッケージのディレクトリの内容を確認する ● 特徴 – タブ補完ができる – $ROS_PACKAGE_PATH に指定されたパス以下にあれば場所を意識せずに扱える ● /opt/ros/indigo/share/roscpp ● /sitl/catkin_ws/src/glog_catkin
  32. 32. 5.SITL の中身を少し覗いてみる
  33. 33. チェックアウトしたコード( 1/2 ) ● Firmware – PX4 のフライトコアとミドルウェア ● catkin_simple – catkin の便利パッケージみたい – ROS のパッケージでは依存関係について記述する必要があるが、 その記述を簡略化できる ● glog_catkin – Google glog(Google のログ記録用マクロ集 ) を catkin で使用で きるようにしたパッケージ。 – catkin_simple と unzip に依存
  34. 34. チェックアウトしたコード( 2/2 ) ● mav_comm – MAV で使用されるメッセージとサービスが定義するパッケー ジ ● rotors_simulator – MAV gazebo シミュレータの 1 つ。 – いくつかのマルチローターのモデルを提供 – センサーのシミュレーション、実装例としての制御器やワー ルド、ジョイスティックインタフェース、 launch ファイルの例な ども含む
  35. 35. 依存関係の解決 ● rosdep コマンド( ROS の依存解決を行うコマンド)で不足パッ ケージや不足しているシステムのアプリケーションを取得でき る、はず – package.xml に依存関係を記述 – unzip もここに記述されているが、他のパッケージで依存関 係の解決ができずに unzip がインストールされないのだと 考えられる。 – とりあえず unzip を手動でインストールすることで解決
  36. 36. Firmware ● 姿勢推定や制御コードがこの辺りにありそう ● Firmware/src/modules/ – attitude_estimator_ekf – attitude_estimator_q – attitude_estimator_so3 – ekf_att_pos_estimator – mc_att_control – mc_att_control_multiplatform – mc_pos_control – mc_pos_control_multiplatform ● 独自の制御器を実装した場合でもシミュレーションで動作確認ができそう
  37. 37. さいごに ● Dronecode はまだまだ始まったばかり ● シミュレーションから始めて興味のあるところを掘り下げていた だければと思います。

×