O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

ROS2講習会の報告 (瀬戸内ROS勉強会#02にて)

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio

Confira estes a seguir

1 de 26 Anúncio

ROS2講習会の報告 (瀬戸内ROS勉強会#02にて)

Baixar para ler offline

ROS Japan UGのROS2講習会を受講して学んだこと、それを受けて検証した内容(ROS2でのROS間通信と、共有メモリサポート"ノードコンポジション")について、瀬戸内ROS勉強会に持ち帰って発表しました。

ROS Japan UGのROS2講習会を受講して学んだこと、それを受けて検証した内容(ROS2でのROS間通信と、共有メモリサポート"ノードコンポジション")について、瀬戸内ROS勉強会に持ち帰って発表しました。

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Mais recentes (20)

Anúncio

ROS2講習会の報告 (瀬戸内ROS勉強会#02にて)

  1. 1. 2019/06/23 第2回瀬戸内ROS勉強会 ROS Japan UG ROS2講習会の報告 第2回 瀬戸内ROS勉強会 報告 Micchy
  2. 2. 2019/06/23 第2回瀬戸内ROS勉強会 Onomichi Hirokazu • ハンドル : みっちー / Micchy • サークル(趣味) :ロボット研究所 Dream Drive!! • Twitter : Dream_Drive • GitHub : dreamdrive • 活動 • ROBO-ONE 界隈 • レスコン観戦 • メイカー系イベント
  3. 3. 2019/06/23 第2回瀬戸内ROS勉強会 ROS2講習会に参加してきました。 ROS2講習会について
  4. 4. 2019/06/23 第2回瀬戸内ROS勉強会 講師はGeoffrey BIGGS先生 • 横文字の講師で緊張しましたが、安心の日本語講演でした!すごく分かりやすい! 参考資料 <https://twitter.com/TAKASEhideki/status/1129556510596460544> ROS2講習会について
  5. 5. 2019/06/23 第2回瀬戸内ROS勉強会 瀬戸内ROS勉強会も紹介して頂きました! 高瀬先生、ありがとうございます。 ROS2講習会について
  6. 6. 2019/06/23 第2回瀬戸内ROS勉強会 ROS2講習会の内容 • ROS2の紹介 • ROS2のハンズオン • 内容(手順)は今もこちらで参照可能 https://gbiggs.github.io/rosjp_ros2_intro/index.html ROS2講習会について
  7. 7. 2019/06/23 第2回瀬戸内ROS勉強会 ROSのこと(メモ) • 世界で3番目にROSが使われているのが日本 • 南極でも使われている • 宇宙ステーションでも使われている 概念 ロボットは分散システムじゃないといけない • AI/クラウド/モーター制御 etc… • すべて繋いでいくと動くロボットになる ROSで実現していること • ROSに対応すれば移動が抽象化される → navigation stack • 人に理解できないもの(センサ情報)を 可視化 → Rviz • 自動運転で4つのLidarのセンサ情報(30回/sec)のログは、人には理解できない • デバッグに便利な各種ツール ROS2の紹介
  8. 8. 2019/06/23 第2回瀬戸内ROS勉強会 ROS2の特徴 • Masterが無くなった • リアルタイム性 • 全スタックリアルタイム可能 • DDSと共有メモリサポート (共有メモリじゃなくてノード間でのゼロコピーもできる) • 組込マイコンを視野に入れた 信頼性もさることながら、速度面でのボトルネックが取り除かれた。 ROS2の紹介
  9. 9. 2019/06/23 第2回瀬戸内ROS勉強会 ROS2の特徴(セキュリティ) 暗号化を含めDDSの採用で、セキュリティが考慮されている。認証も可能! ROS2の紹介
  10. 10. 2019/06/23 第2回瀬戸内ROS勉強会 ROS2の特徴 研究レベルではなく社会実装レベルに 参考資料 <https://twitter.com/ogimotoki/status/1129598104053854208> ROS2の紹介
  11. 11. 2019/06/23 第2回瀬戸内ROS勉強会 ROSとROS2の開発プロセスの違い ROS2の紹介
  12. 12. 2019/06/23 第2回瀬戸内ROS勉強会 Tips ros2のサブコマンドのactionは、 次のROS2 Dashingで予定とのこと。 → (5/31)リリースされました! gazeboは開発が終わったらしい。 新しいのは出てこないみたい。衝撃!? 参考資料 <https://twitter.com/TAKASEhideki/status/1129658719644422144> ROS2の紹介
  13. 13. 2019/06/23 第2回瀬戸内ROS勉強会 コンパイルについて(colcon) catkin_make ➡ colcon build colconコマンドのサブコマンドのbuild colconはパッケージのインストールも含む なので・・・ (重要※忘れがち) build後は、実行(ros2 run)前に $ source install/local_setup.bash を必ず実行すること colcon –h でサブコマンド確認 colcon build --packages-select hoge で、単一パッケージビルド ハンズオンでのROS1とROS2の違い
  14. 14. 2019/06/23 第2回瀬戸内ROS勉強会 ノード実行について (ros2) ros2 [サブコマンド] rosrun、roslaunchなどが統合されました。 • launcher が xml から python になった! • Master(roscore)が無くなった。 ハンズオンでのROS1とROS2の違い $ ros2 –hの実行結果 ros2 サブコマンド
  15. 15. 2019/06/23 第2回瀬戸内ROS勉強会 ハンズオンで混信が発生・・・ ハンズオンでのROS1とROS2の違い 参考資料 <https://twitter.com/izumitomonori/status/1129574469847080966> ハンズオンの最中に、自分の立ち上げたノードに、他人のPCのノードか らメッセ―ジを受信するという珍現象があちこちで発生しました。
  16. 16. 2019/06/23 第2回瀬戸内ROS勉強会 (検証1)その時なぜ混信は起きたのか 参考資料 <https://twitter.com/izumitomonori/status/1129574469847080966> ROS2講習会の検証
  17. 17. 2019/06/23 第2回瀬戸内ROS勉強会 (ROS) Talker & Listner おさらい (1つ目のターミナル) $ roscore (3つ目のターミナル) $ rosrun roscpp_tutorials listener (2つ目のターミナル) $ rosrun roscpp_tutorials talker まずは・・・ ROS2講習会の検証
  18. 18. 2019/06/23 第2回瀬戸内ROS勉強会 (ROS) Talker & Listner おさらい (1つ目のターミナル) $ roscore export ROS_MASTER_URI=http://(roscoreが動いているIP):11311/ export ROS_IP= (自分自身のIP) export ROS_HOSTNAME= (自分自身のホスト名) ROS_MASTER_URIは、デフォルトがhttp://localhost:11311/ また、 ROS_IPとROS_HOSTNAMEは明示的に宣言しないと、設定されない = (setup.bashには含まれない) ROS_IPとROS_HOSTNAME両方違うものを設定した場合、ROS_HOSTNAMEが優先 (実験)ターミナルごとに、 ROS_MASTER_URIをかえてみる (3つ目のターミナル) $ rosrun roscpp_tutorials listener (2つ目のターミナル) $ rosrun roscpp_tutorials talker IPアドレスを超えてのROSの通信機能の確認 まずは・・・ ROS2講習会の検証
  19. 19. 2019/06/23 第2回瀬戸内ROS勉強会 (ROS2) Talker & Listner (1つ目のターミナル) $ ros2 run demo_nodes_cpp talker (2つ目のターミナル) $ ros2 run demo_nodes_cpp listener ROS2講習会の検証
  20. 20. 2019/06/23 第2回瀬戸内ROS勉強会 (ROS2) Talker & Listner (1つ目のターミナル) $ ros2 run demo_nodes_cpp talker (2つ目のターミナル) $ ros2 run demo_nodes_cpp listener ROS2講習会の検証
  21. 21. 2019/06/23 第2回瀬戸内ROS勉強会 (ROS2) Talker & Listner (1つ目のターミナル) $ ros2 run demo_nodes_cpp talker export ROS_DOMAIN_ID=(数字) また、 ROS_DOMAIN_IP明示的に宣言しないと設定されていない (setup.bashには含まれない) ※環境変数がないと適当な数字が割り当てられる (実験)ターミナルごとに、ROS_DOMAIN_IDを変えてみる (2つ目のターミナル) $ ros2 run demo_nodes_cpp listener IPアドレスを超えてのROSの通信機能の確認 ➡ 混信の原因はこれでした。 ROS2講習会の検証
  22. 22. 2019/06/23 第2回瀬戸内ROS勉強会 (検証2) DDSと共有メモリのサポートってどういうこと ~ノードコンポジションについて~ • ROS2になってノード間のやりとりがDDSと共有 メモリ(ゼロコピー)に対応したということ…。 つまり、どういうこと!? ROS2講習会の検証
  23. 23. 2019/06/23 第2回瀬戸内ROS勉強会 ノードコンポジション • 1つのプロセス(ソース)に複数ノード • ノードの実行順番を厳密に守ることができます。 • ノードとノードの間のデータ通信をゼロコピーにする ことは可能 ソースの確認 ノードコンポジション RO1スタイスとROS2スタイルのノードの書き方 ROS2講習会の検証
  24. 24. 2019/06/23 第2回瀬戸内ROS勉強会 ノードコンポジション 1プロセスで2ノード立ち上がっている ハンズオンのgreet_and_displayerを立ち上げて、ノード一覧を確認 ROS2講習会の検証
  25. 25. 2019/06/23 第2回瀬戸内ROS勉強会 ノードコンポジションとROS nodelet • ちなみに、ROSでもROS nodeletを使って、ゼロ コピー可能とのこと。 • ROS nodeletとの違いは、ROS2のノードコンポ ジションは、独立ノードとしても再利用できる こと。 共有ライブラリとしてノードを実装する。 ROS2講習会の検証
  26. 26. 2019/06/23 第2回瀬戸内ROS勉強会 ROSからROS2へ • 順当に進化していると実感 • ROS1の知識がROS2で役に立つと実感 • 有名どころのカメラやセンサのパッケージが揃 えば、利用しやすくなる • 想像以上にROS2への移行は速いペースで進ん でいる。 • 今なら、開発に参加して、自分(会社)のニーズ を伝えられる!とのこと。

×