Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ROS_Japan_UG__40.pdf
Search
maehara-keisuke
December 07, 2020
Technology
960
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
820
ROS_Japan_UG_#44_LT
maeharakeisuke
0
1.3k
How accurate is the ROS2 timer on RasbperryPi ?
maeharakeisuke
0
750
ros2arduino Demo on [M5StickC -> Raspberry Pi Zero WH -> M5Atom Lite]
maeharakeisuke
0
1.7k
micro-ROS Demo on STM32 nucleo-f767zi
maeharakeisuke
0
2.6k
ROS Japan UG #34LT大会 前原圭祐
maeharakeisuke
0
1.5k
Other Decks in Technology
See All in Technology
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
810
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
310
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
0
160
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
210
コードレビューをなくして見えたもの
henteko
0
150
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
320
【Oracle AI SPOTLIGHT ウェビナー】【特別開催:日本語で解説!】Oracle AI World 2026 最新情報フィードバック
oracle4engineer
PRO
1
120
公共分野での生成AI活用
toru_kubota
1
320
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
3.2k
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
140
SREのためのFinOps入門
muziyoshiz
2
1.2k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
530
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
4
1.2k
Balancing Empowerment & Direction
lara
6
1.4k
Designing for humans not robots
tammielis
254
26k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Design in an AI World
tapps
1
390
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Code Review Best Practice
trishagee
74
20k
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