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 jp 2022/11/21 What's the zenoh?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shintaro Hosoai
November 21, 2022
Technology
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ROS jp 2022/11/21 What's the zenoh?
ROSCon2022で見かけた面白そうな通信ミドルウェアのZenohについて紹介します。
Shintaro Hosoai
November 21, 2022
More Decks by Shintaro Hosoai
See All by Shintaro Hosoai
2023年にクル(かもしれない)通信ミドルウェア技術(仮)
s_hosoai
0
640
Other Decks in Technology
See All in Technology
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
550
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
210
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
150
20分でわかるセキュアAPI
nwiizo
1
200
事業価値と Engineering 2026年度版
recruitengineers
PRO
45
22k
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
470
第3回しろおびセキュリティスポンサーセッション
log0417
0
160
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
1.8k
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
280
強化学習「理論」入門
enakai00
3
3.6k
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
2
660
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
450
Between Models and Reality
mayunak
4
390
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Navigating Weather and Climate Data
rabernat
0
460
Thoughts on Productivity
jonyablonski
76
5.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
How to make the Groovebox
asonas
2
2.3k
KATA
mclloyd
PRO
35
15k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
380
Writing Fast Ruby
sferik
630
63k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Transcript
細合 晋太郎(東京大学) Zenohってなに? ROS Japan UG #48 ROSCon 2022ふりかえり会 Twitter
: @ShintaroHosoai GitHub : s-hosoai
元ネタ:ROSCon2022 10/20, Fleet Management Track Zenoh: How to Make ROS
2 Work at any Scale and Integrate with Anything Slide: http://download.ros.org/downloads/roscon/2022/Zenoh%20How%20to%20Make%20ROS2%20Work%20at%20any%20Scale%20and%20Integrate%20with%20Anything.pdf あれ・・資料公開されてるなら、この発表いらんのでは・・?
Zenoh The Eclipse Zenoh: Zero Overhead Pub/sub, Store/Query and
Compute. Zetta Scale社の通信ミドルウェア 当初Ocamlで実装されていたものをRustに移植(2020/10-) Eclipse Foundation Github : https://github.com/eclipse-zenoh/zenoh Web : https://zenoh.io
通信方式 Pub / Sub Pub / Sub (Push) :
ROSと同様のPub/Sub Pub / Sub (Pull):Sub時に一時保管され、任意のタイミングでPull可 Pub / Store / Get:上記Pullの一時保管場所がRouter上になったもの Get / Reply:ROSのService相当。RPC Peer Peer Peer Peer Peer Peer Peer Peer Pub sub(callback) sub(Pull) Pub Pub Get Reply Pull
ネットワーク構造 Peer Peer Peer Peer Router Peer Peer Peer client
client Peer Peer Router client client Router Peer to peer Clique Mesh Brokered Routed Router Router Router Router client client Router client client Peer Router client 機能は同じ要素っぽい。 メッセージの送受をする 中継のみ
通信レイヤ、対応言語 ZenohはRust実装で、Rust, Python, Cのク ライアントライブラリあり 各ネットワークレイヤが綺麗に抽象化されており、 様々なネットワークレイヤの上で動作可能
https://zenoh.io/blog/2022-08-12- zenoh-serial/ QUIC, TLS, TCP, UDP Unicast, UDP Multicast IPc4, IPv6 6LoWPAN WiFi, Ethernet, Thread, Bluetooth, Serial
相互運用性・拡張性
性能 8byteのペイロードで4.2M msg/s 1MBペイロードで51GB/s 無負荷時、最小15 μsecのレイテンシ
パケットのオーバーヘッドは5 byte (状況によってはもうちょっと増える) https://zenoh.io/blog/ 2022-09-30-zenoh-bahamut/ https://zenoh.io/blog/ 2021-07-05-zenoh-overhead/
Zenoh Client Library:examples (Rust) Publisher Subscriber Resolve (builder pattern) Future
Some セッション作成 Publish セッション終了 セッション作成 Subscriber作成 非同期でメッセージ待ち
Zenoh-pico Cで再実装した組込みボード向け軽量Zenoh かなりええ感じの性能が出ているらしい 2.2.1. Zephyr Note: tested with
reel_board, nucleo-f767zi, nucleo-f420zi, and nRF52840 boards. 2.2.2. Arduino Note: tested with az-delivery-devkit-v4 ESP32 board 2.2.3. ESP-IDF Note: tested with az-delivery-devkit-v4 ESP32 board 2.2.4. MbedOS Note: tested with nucleo-f747zi and nucleo-f429zi boards 2.2.5. OpenCR Note: tested with ROBOTIS OpenCR 1.0 board https://github.com/eclipse-zenoh/zenoh-pico
zenoh-bridge-dds
Robot 2 Robot 1 Zenohを使ったROS 2のNAT越え Zenoh-bridge-dds Zenoh-bridge-dds Zenoh router
ROS 2 Node ROS 2 Node NAT NAT bridgeでzenohに翻訳して通信
Zenoh-bridge-ddsとZenohdの導入方法 グローバルIPの取れるどこかのクラウドVMなどにZenoh Routerをインストール 各クライアントにzenoh-bridge-ddsをインストール 各クライアントで別プロセスやバックグラウンドとしてzenoh-bridge-ddsを実行しておく、こ の時Zenoh routerのアドレス:ポートを指定する。
あとは各クライアントでROS 2を実行すればつーつーで話せる。 詳細はQitta記事をミテネー。 https://qiita.com/Shintaro_Hosoai /items/a2f6c253a5b4599b056c
ROS 2とZenohの併用
ROS 2とZenohとElixirの併用 Raspberry Pi 4 Ubuntu 20.04 ROS 2 foxy
Raspberry Pi 4 Nerves Rclex turtlesim ? ? Zenoh dds-bridge Azure VM Ubuntu 20.04 Zenoh Router Code BEAM America 高瀬先生のライブデモ 日本で寝起きの細合 https://twitter.com/loreniuxmr/status/1588318378724237312
おわりに Zenohは、 主要な通信メソッド(Pub/Sub, Get, Store, Query)が揃ってる ネットワーク形態も自由自在
言語対応も多く、多様な通信層にも対応 相互運用性に優れ、多様なプロトコルに対応、組込みボードにも載せられる。 通信性能も高い と、かなりつおいです。 一方、ROSのようなツールやライブラリは揃ってなさそうです。他と繋いでこそ真価を発揮するかと ROSと繋がるなんかええ感じの通信ミドルウェアないかなーって時に、 ぜひ候補に覚えておいてください
さいごに ROSjpなのにROSの話を殆どしなくて 誠に申し訳ございません