Slide 1

Slide 1 text

ROS×SORACOMで実現するロボットの 遠隔連携 KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • 三次元地図技術のスタートアップの エンジニア • SORACOMを社内に布教した男 • 好きなSORACOMのサービス: SORAOCM Beam, SORACOM Funk @k_miura_io koki.miura05

Slide 3

Slide 3 text

myCobot買った • 去年のボーナスでmyCobotを手に入れた • スイッチサイエンスのセールで安くなってた(大体10 万ちょっと)

Slide 4

Slide 4 text

ROSの通信 myCobot コントローラ joint_states joint_states ノード

Slide 5

Slide 5 text

ROSをCloudでつなげたい • ROSを外部ネットワークで通信できる仕組みをやってみたい • 独自の通信ではなく汎用的なシステムを使ってなるべく楽してセットアップしたい SORACOMを使おう

Slide 6

Slide 6 text

そもそもROSを外部ネットワークで連携 するには? • rosbridgeを使うことでトピック通信をWebsocketに変換することで汎用的な通信を 使ってロボットアプリケーションを作れる • Websocket通信用のインターフェースとしてJavaScriptやPythonのライブラリがある • データの実態はJSONなので他の言語で通信しようと思えば簡単

Slide 7

Slide 7 text

そもそもSORACOMでWebsocketできたっけ?

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

そんな設定ないよな…?

Slide 10

Slide 10 text

プロに聞いてみよう できないっすねー WebsocketするならMQTTを 使うほうがいいと思いますよー rosbridgeのWebsocketを使って外部ネット ワークと通信したいんだけど、SORACOMで Websocketってできないですよね? た、確かに…

Slide 11

Slide 11 text

よくあるMQTTの構成 ブローカー デバイス アプリケーション

Slide 12

Slide 12 text

ROSの通信とよく似ている myCobot コントローラ joint_states joint_states ノード

Slide 13

Slide 13 text

というわけでMQTTでロボットを操作することに

Slide 14

Slide 14 text

構成の紹介 • AWS IoT CoreからSORACOM Beam経由で ロボットにコマンドを送信する • MQTTからROSの通信に変換するときには mqtt_bridge(https://github.com/groove- x/mqtt_bridge) を使用 • ロボット側の接続はSORACOM Beamのエン ドポイントでとてもシンプルに • 今回は遠隔操作をしている感を出すために M5StickCを使って操作

Slide 15

Slide 15 text

DEMO

Slide 16

Slide 16 text

いざという時のための動画 https://youtu.be/YNqjGA_4vwY

Slide 17

Slide 17 text

動かしてみての所感 • ROSのトピック通信→MQTTの変換をすることでCloudのMQTTブローカと連携をす ることができる • SORACOM Beamを活用することでロボット側は簡単に安全な通信を実現すること ができる • デバイスやアプリケーションを使った遠隔操作も簡単に実現できる SORACOM Beamはいいぞ

Slide 18

Slide 18 text

関連記事(ROSでMQTT接続するTips) https://bit.ly/3JHIzku

Slide 19

Slide 19 text

関連記事(M5StickCで連携するTips) https://bit.ly/3Dkkblz

Slide 20

Slide 20 text

END