Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ROS_Japan_UG__40.pdf

 ROS_Japan_UG__40.pdf

maehara-keisuke

December 07, 2020
Tweet

More Decks by maehara-keisuke

Other Decks in Technology

Transcript

  1. ROS Japan UG #40 ROS World 2020 参加報告会 @Google Meet

    micro-ROS 関連の発表 2 件について報告 2020.11.27 報告者: MAEHARA Keisuke note: This is ROS World 2020 Recap for developers in Japan.
  2. ROS2 DDS 参画フェーズ ・ eProsima Integration service により ROS2 DDS

    がおしゃべりに参  画できるようになる.既存システムはそのまま残っている ・ DDS participant の機能を徐々に ROS2 Node として書き直す段階  と考えられる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
  3. ROS2 DDS 参画フェーズ +α ・ Integration service を利用すれば ROS1 もおしゃべりに参画できる

     ようになる ・このプロジェクトで ROS1 の機能をどう使っているのかはよくわか  らなかったが, ROS1 から ROS2 への migration 手法の参考になる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
  4. microXRCE-DDS から micro-ROS への移行フェーズ ・ Integration service と既存の DDS を経由するオーバーヘッドがな

     くなる ・ Bridge を自前開発から標準技術( micro-ROS )に置き換えること  と,ドローン側の開発において ROS2 のメッセージ型をベースにし  たコーディングができるようになることが狙いと考えられる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
  5. 全体所感 ・ Micro-XRCE の本家とも言える eProsima の中の  人による micro-ROS の紹介(報告は省略) ・主に

    WIP な話   - ビルドシステム刷新   - MoveIt2 にも繋がります!   - Agent discovery   - Graph support   - P2P functionality   - AIoT Board
  6. ビルドシステム刷新 ・ Dashing の頃は micro_ros_setup という巨大な ROS2 パッケージ  で様々なプラットフォームのコンフィギュレーションを行っていた ・

    Foxy くらいになって,それぞれのビルドシステムに対するライブ  ラリとして提供されるようにもなった 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
  7. MoveIt2 にも繋がります!( 1/2 ) ・評価ボード上の IMU の出力から並進 / 回転の変位を計算し, /tf

    と  して時々刻々と Publish する ・ /tf は仮想ロボットのベース座標系に対するフランジ座標系の位置  姿勢を表現しているようである 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
  8. MoveIt2 にも繋がります!( 2/2 ) ・ボードを動かして並進 / 回転の変位を与えると MoveIt2 への入力  (フランジ座標系の目標位置姿勢)と

    RViz の GUI に反映される ・ボタン押下で /trigger_moveit2 が Publish され, MoveIt2 への入力  がキャプチャされて軌道計画の計算が始まる ・計算結果に従って仮想ロボットを駆動する ・(所感)実際の用途として micro-ROS を使う必然性はあまりない  と感じられるが,ロボットシステムを構成するソフトウェア群を階  層的に捉えたときに,上位階層に位置する軌道計画と下位階層に位  置するセンサ処理を同じフレームワークの中で繋げられますよ!と  アピールしたいのだろう
  9. Agent discovery ・これまでは Client 側が Agent のアドレス(とポート)を静的に持っ  ていたが, UDP マルチキャストを使って最初に応答した

    Agent が  紐付く機能が追加された  ※報告者注:これまでも Agent 側には discovery 対応機能はあった  ようで,今回は Client 側への実装と思われる 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
  10. Graph support ・ ROS2 DDS の要素(ノードやトピック)を Agent がスキャンして  収集, Client

    の RMW 層に送る. Pub 先のノードをチェックして   Pub するなどの分岐処理が目的と考えられる ・同様に Client の情報も ROS2 DDS に共有される 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
  11. micro-ROS の新しく追加されたビルドシステム( 1/2 ) ・公式サイトでは Secondary build system tools と紹介されている

    - https://github.com/micro-ROS/micro_ros_setup#secondary-build-system-tools ・ ArduinoIDE 向けの開発も始まっている(危うし ros2arduino !)
  12. micro-ROS の新しく追加されたビルドシステム( 2/2 ) ・ ArduinoIDE サンプル micro_ros_publisher をビルドしてみた ・

    Arduino Zero がサポートされているが,同じ SoC を搭載した MKR   ZERO としてビルドし,手元の Seeeduino XIAO で動作した
  13. MoveIt2 との連携デモについて ・説明とコードが Github に上がっている   - https://github.com/micro-ROS/micro-ROS_moveit2_demo ・マイコン側のコードも上がっている  

    - https://github.com/micro-ROS/zephyr_apps ・マイコン側のコードを読むと, IMU の出力から並進 / 回転の変位を  推定するのに Madgwick Filter が使用されていることがわかる 出典: https://github.com/micro-ROS /micro-ROS_moveit2_demo
  14. DepthAI について ・深度推定は Myriad X が担う( Host CPU のリソースはユーザアプ  リに

    100% 使える) ・今回 micro-ROS が採用されたのは Host CPU として ESP32 を用い  たプラットフォーム ・開発の構想からプロトタイプが仕上がるまでの経緯が Issue に上  がっていて面白い   - https://github.com/luxonis/depthai-hardware/issues/10 出典: https://luxonis.com/depthai