Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ROS_Japan_UG__40.pdf
Search
maehara-keisuke
December 07, 2020
Technology
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ROS_Japan_UG__40.pdf
maehara-keisuke
December 07, 2020
More Decks by maehara-keisuke
See All by maehara-keisuke
ROS_Japan_UG_#49_LT
maeharakeisuke
0
800
ROS_Japan_UG_#44_LT
maeharakeisuke
0
1.3k
How accurate is the ROS2 timer on RasbperryPi ?
maeharakeisuke
0
720
ros2arduino Demo on [M5StickC -> Raspberry Pi Zero WH -> M5Atom Lite]
maeharakeisuke
0
1.6k
micro-ROS Demo on STM32 nucleo-f767zi
maeharakeisuke
0
2.5k
ROS Japan UG #34LT大会 前原圭祐
maeharakeisuke
0
1.5k
Other Decks in Technology
See All in Technology
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.4k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
160
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
180
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
410
AIのためのEthernet技術動向 (SerDes)
markunet
1
250
ガバメント AI 源内を地方自治体は活用できるのか可能性と課題、期待について
takeda_h
2
460
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
800
Oracle MCP Servers Explained
thatjeffsmith
0
320
What's new in Go 1.27?
ciarana
0
280
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
290
The SEO identity crisis: Don't let AI make you average
varn
0
530
Discover your Explorer Soul
emna__ayadi
2
1.3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Transcript
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.
Dronecode Session micro-ROS:closing the bridge between ROS2 and PX4
全体所感 micro-ROS そのものへの contribution の話ではな く, DDS と親和性の高いシステム(組み込みを含 む)を ROS2
DDS に migration していく手順の紹介
migration 前のシステムの姿 ・左側がドローン(マイコン)側,右側がコンピュータ側 ・この段階では直接 ROS2 Node とおしゃべりできない 出典: https://vimeo.com/showcase/ 7812155/video/480477960
よりスクリーンショット
ROS2 DDS 参画フェーズ ・ eProsima Integration service により ROS2 DDS
がおしゃべりに参 画できるようになる.既存システムはそのまま残っている ・ DDS participant の機能を徐々に ROS2 Node として書き直す段階 と考えられる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
ROS2 DDS 参画フェーズ +α ・ Integration service を利用すれば ROS1 もおしゃべりに参画できる
ようになる ・このプロジェクトで ROS1 の機能をどう使っているのかはよくわか らなかったが, ROS1 から ROS2 への migration 手法の参考になる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
microXRCE-DDS から micro-ROS への移行フェーズ ・ Integration service と既存の DDS を経由するオーバーヘッドがな
くなる ・ Bridge を自前開発から標準技術( micro-ROS )に置き換えること と,ドローン側の開発において ROS2 のメッセージ型をベースにし たコーディングができるようになることが狙いと考えられる 出典: https://vimeo.com/showcase/ 7812155/video/480477960 よりスクリーンショット
FIWARE Session micro-ROS: bringing ROS2 to MCUs
全体所感 ・ Micro-XRCE の本家とも言える eProsima の中の 人による micro-ROS の紹介(報告は省略) ・主に
WIP な話 - ビルドシステム刷新 - MoveIt2 にも繋がります! - Agent discovery - Graph support - P2P functionality - AIoT Board
ビルドシステム刷新 ・ Dashing の頃は micro_ros_setup という巨大な ROS2 パッケージ で様々なプラットフォームのコンフィギュレーションを行っていた ・
Foxy くらいになって,それぞれのビルドシステムに対するライブ ラリとして提供されるようにもなった 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
MoveIt2 にも繋がります!( 1/2 ) ・評価ボード上の IMU の出力から並進 / 回転の変位を計算し, /tf
と して時々刻々と Publish する ・ /tf は仮想ロボットのベース座標系に対するフランジ座標系の位置 姿勢を表現しているようである 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
MoveIt2 にも繋がります!( 2/2 ) ・ボードを動かして並進 / 回転の変位を与えると MoveIt2 への入力 (フランジ座標系の目標位置姿勢)と
RViz の GUI に反映される ・ボタン押下で /trigger_moveit2 が Publish され, MoveIt2 への入力 がキャプチャされて軌道計画の計算が始まる ・計算結果に従って仮想ロボットを駆動する ・(所感)実際の用途として micro-ROS を使う必然性はあまりない と感じられるが,ロボットシステムを構成するソフトウェア群を階 層的に捉えたときに,上位階層に位置する軌道計画と下位階層に位 置するセンサ処理を同じフレームワークの中で繋げられますよ!と アピールしたいのだろう
Agent discovery ・これまでは Client 側が Agent のアドレス(とポート)を静的に持っ ていたが, UDP マルチキャストを使って最初に応答した
Agent が 紐付く機能が追加された ※報告者注:これまでも Agent 側には discovery 対応機能はあった ようで,今回は Client 側への実装と思われる 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
Graph support ・ ROS2 DDS の要素(ノードやトピック)を Agent がスキャンして 収集, Client
の RMW 層に送る. Pub 先のノードをチェックして Pub するなどの分岐処理が目的と考えられる ・同様に Client の情報も ROS2 DDS に共有される 出典: https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
P2P functionality ・ WiFi UDP をサポートするプラットフォーム限定で, Client 同士が 通信できるようになる 出典:
https://vimeo.com/showcase/ 7812155/video/480473016 よりスクリーンショット
AIoT Board ・ DepthAI というプロジェクトに採用された(詳細は Appendix ) 出典: https://vimeo.com/showcase/ 7812155/video/480473016
よりスクリーンショット
Appendix 報告者による追加調査
eProsima Integration Service とは ・異なる方言のミドルウェア同士を翻訳する(らしい) ・ ROS1/ROS2 ともにサポートされているので,うまく使えば ROS1 から
ROS2 への移行に活用できそう 出典: https://integration-service.doc s.eprosima.com/en/latest/
micro-ROS の新しく追加されたビルドシステム( 1/2 ) ・公式サイトでは Secondary build system tools と紹介されている
- https://github.com/micro-ROS/micro_ros_setup#secondary-build-system-tools ・ ArduinoIDE 向けの開発も始まっている(危うし ros2arduino !)
micro-ROS の新しく追加されたビルドシステム( 2/2 ) ・ ArduinoIDE サンプル micro_ros_publisher をビルドしてみた ・
Arduino Zero がサポートされているが,同じ SoC を搭載した MKR ZERO としてビルドし,手元の Seeeduino XIAO で動作した
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
DepthAI について ・深度推定は Myriad X が担う( Host CPU のリソースはユーザアプ リに
100% 使える) ・今回 micro-ROS が採用されたのは Host CPU として ESP32 を用い たプラットフォーム ・開発の構想からプロトタイプが仕上がるまでの経緯が Issue に上 がっていて面白い - https://github.com/luxonis/depthai-hardware/issues/10 出典: https://luxonis.com/depthai