Slide 1

Slide 1 text

ROSCon 2019参加報告 RMW中心で見た場合

Slide 2

Slide 2 text

最初に ROSCon 2019の発表内容の記憶とメモをベースにしています。 ROSCON 2019 https://roscon.ros.org/2019/

Slide 3

Slide 3 text

ROSCon 2019に行ってきました ROS 2のRMW層の周辺を取扱っ た発表を中心に見てきました。 ● 共有メモリ Pub/Sub ● 通信ミドルウェア関連 (注: ROS 1は出てきません) KLMで行きました AirMacauで行ってきました

Slide 4

Slide 4 text

共有メモリ Pub/Sub(iRobot) ● 新しいIntra-Process Managerを実装 (旧)Intra-ProcessなPub/SubもRMWに一旦依頼 (新)RMWを経由せずにPub/Sub ● RMWを介さないPub/Subを実現 CPU使用率 45%, メモリ30MB削減 大体どこでもキラキラしてます

Slide 5

Slide 5 text

共有メモリ Pub/Sub(Bocsh) ● Eclipse iceoryx 向けRMWを開発 ● IPC間のPub/SubをZero Copy化 ● RMWのAPIを拡張(Loaned message) ● 可変長メッセージ型は真のZero Copy不可 ● おそらくDDSとの相互運用は不可 ● AUTOSAR APとROS2の連携への布石? ROSCon2019 スタート

Slide 6

Slide 6 text

共有メモリ Pub/Sub(SONY) ● ROSCon JP 2019で予告されていた eProsima Fast-RTPSの共有メモリ拡張 → Cyclone DDSも対応予定でベンダ間の競争が活発化 ● DDSと共有メモリの相互運用が可能 ● RCL~RMWはZero Copy? Caffe Breakでの光景

Slide 7

Slide 7 text

共有メモリ Pub/Sub関連(比較) ● 製品開発に近いベンダが共有メモリPub/Sub に注力している。 → 大容量&低遅延のメッセージパッシングの需要が高まっている? ● 特にBoschとSONYはプロセス間通信にフォーカスしている。 → 製品開発中の分業にプロセスの分離が必須? DAY 0:Realtime Workshop 集合写真の撮影中 発表者 ROS2の階層 プロセス間 Zero Copy 原理的な オーバヘッド DDS連携 非C++から の利用 iRobot RCLCPP ☓ 低 ○ ☓ Bosch RMW~Middleware ○ 中 ☓ ○ SONY Middleware(DDS) ○ 高(?) ○ ○

Slide 8

Slide 8 text

通信ミドルウェア(XRCE-DDS) ● 4社がROS 2対応を発表 (eProsima, Bosch, RENESAS, Ubiquity Robotics) ● 製品への組み込みを初めている (Ubiquity Robotics) 。 ● Agentを経由しているため実時間応答性能に課題がある? → RENESASの省電力MCU+アクセラレータによるエッジコンピューティングは有効 ホテルの屋内のモール

Slide 9

Slide 9 text

通信ミドルウェア(Cyclone DDS) ● iRobotは要求性能を満たすために Cyclone DDSを採用していた。 ● プロセス間通信についてFast-RTPSよりも高性能とされている。 ● ADLinkの担当者の話ではCyclone DDSは今後もオープン、それ に対するエンジニアリングサービスを提供していくとのこと ● FreeRTOS向けコードもあるみたい #個人的にこちらのほうが興味有り CPU使用率 60%, メモリ138MB削減 フードコートで昼食 白飯はすこし残念な感でした

Slide 10

Slide 10 text

その他所感 ● ROS 1/2共に去年よりも製品開発や デプロイに軸をおいた発表が多かった。 ● 特にROS 2は去年までは導入&実験が中心だったので、1年間 でプラットフォームとしてかなりこなれてきたように見える。 ● MoveIt2 & Navigation2のようなキラーアプリも準備されつつあ り、業務で顧客に導入を勧めるのは、まずROS 2になりそうだ。 ● ROS2への機能追加は継続しているようなので、欲しい機能は WG参加、DesignのPRを積極的にしましょう。 マカオともお別れ