ROS 準拠ロボット及びエッジサーバを活用した環境情報収集・処理を行う IoT システムの検討
佐々木 怜名1（指導教員：小口 正人）

はじめに

IoT 機器から収集した多種センサ情報は，家電の省電力化やペット・お年寄りの見守り，コロナ禍における室内二酸化炭素濃度監視などを目的とする様々なサービスに活用されている．個々のセンサから収集されるデータは局所的な情報であるため，見守りサービスや室内環境監視では屋内の複数箇所にセンサを設置し，複数センサの情報を収集して解析に利用する必要がある．しかし，一般家庭において多数のセンサを設置するのはコストが高くなるだけでなく，必要な情報を得るためのセンサの再配置も容易ではない.
本研究では，センサ端末として多種センサを搭載した車輪型移動ロボットを用いることで，少ないセンサで多様なデータを必要に応じて収集可能となる IoT システムの構築を目指す．移動ロボットにより，センシング機能と駆動機能によって室内全体を移動しながら，室内位置情報と多様なセンサデータを収集することが可能になる．また，ロボットで収集した室内環境情報をエッジサーバを介してクラウドに蓄積し，その解析処理を行う IoT システムの検討を行う.

2

関連技術

2.1

ROS

屋内
クラウドセンサ
ロボット

SINETStream

クラウドサーバ

ストレージ

センサ
ロボット

図 1: 提案する IoT システムの概要

2.3

SLAM

SLAM (Simultaneous Localization and Mapping) は，自己位置推定と地図構築を同時に行う技術である．自動運転やドローン等で活用されており LIDAR (Light Detection and Raging) や IMU (Inertial Measurement Unit)
により，取得した画像などの複数のセンサから得たデータに基づいて環境地図を作成することができる [3]．
2.4

SINETStream

広域に分散したデータを活用する研究では，広域ネッ
トワークを介して，センサ等から取得されるデータを欠損なく確実に収集し，解析に用いることが求められている．本研究におけるエッジサーバからクラウドへの収集方式には，SINETStream[4][5] の利用を検討している．SINETStream は，国立情報学研究所で開発された広域データ収集・解析プログラム開発支援ソフト
ウェアパッケージで，センサ等から収集されるデータをクラウドや大学等に設置されたサーバへ書き込み機能や，サーバに収集されたデータを解析プログラムに読み込む機能等の，広域ネットワークを介してデータを欠損なく確実に収集・解析するための機能を提供している．

ROS (Robot Operating System) はロボット開発を支援するためのライブラリや通信の仕組みを提供するオー
プンソースのロボットソフトウェアプラットフォーム
であり，既存の OS 上で動作する．センサやアクチュエータ等のハードウェアをモジュール化し，モジュール間のインターフェイスを統一することにより，ソフトウェアとハードウェア間の通信の管理が自動化される．
これにより関心のある部分にのみ集中して開発が可能となる．ROS では rviz 可視化ツール，Gazebo シミュ
レータ，MoveIt 軌道計算ライブラリ等のロボットに必要とされる機能をまとめたライブラリ/パッケージや開発効率を促進するツールが提供されており，開発コストを低減し容易に機能を拡張できるという利点がある．
そのほかにも ROS は多くの開発者が集まる大規模なコミュニティによって支えられ発展している．ros.org[1]では世界中の開発者が提供した ROS パッケージが集約されており適宜活用していくことができる．
2.2

エッジサーバ3

提案システムの検討

本研究では ROS で実装された車輪型移動ロボットをセンサ端末とする IoT システムを検討する．図 1 に想定する IoT システムの概要を示す．屋内を移動する複数センサロボットから収集されるセンサデータをエッジサーバに集約し，エッジサーバからクラウドサーバに集約したデータを送信する．クラウドへの収集にはSINETStream を用いる．必要に応じて，エッジサーバでデータの前処理や一部の解析処理を行う．
提案する IoT システムの実現に向け，ROS ベースのセンサロボット Raspberry Pi ROS SLAM Robot (XiaoRGeek)[6] を用いた IoT システムの一部を試験実施した．
このセンサロボットは，RplidarA1 レーダー・IMU・HDカメラを搭載した Linux ベースの Raspberry Pi 端末であり，ロボットの各機能は ROS (Kinetic) で実装されている．センサロボットでは，LIDAR SLAM を用いてエッジコンピューティング

IoT システムでは，センサデータをクラウドで収集して解析するコンピューティングモデルが主流であるが，個々のサービスの遅延制約や多量の IoT 端末から送信される膨大なセンサデータの通信量およびその解析負荷が課題となる．IoT 端末またはその近くに設置されたサーバで前処理やデータ処理・分析を行い，低遅延で高効率なストリーム処理を可能にするエッジコ
ンピューティングが注目されている [2]．

1

図 3: ロボットと VM 間におけるトピック通信のノード関係を示す rqt graph

4 まとめと今後の課題

図 2: ロボット遠隔操作時における操作用端末ディスセンサが搭載された移動型ロボットを用いて任意の空間で動的に環境情報を収集しエッジサーバを介してクラウドで解析処理を行う IoT システムについて検討した．また ROS 準拠センサロボットを使用して，移動型ロボットによる多種センサデータの収集の可能性を確認した．今後の課題として，他のセンサへの対応と，エッジサーバを介したクラウドへの収集，センサロボッ
トの制御の方式を検討する．現在収集可能なデータは動画像と地図情報のみのため，想定するサービスに必要とされる任意のセンサをロボットに導入し，収集する方式を検討する．またエッジサーバやクラウドへの収集方式に利用する，広域データ収集・解析プログラム
開発支援ソフトウェアパッケージ SINETStream[4][5]の導入方法を検討する．カメラから収集した動画像等のエッジサーバでのの処理方法の検討も行う．屋内環
境情報の収集では，プライバシ侵害の課題を解決する必要があり，エッジサーバの活用が必要不可欠であると考えている．

プレイのスクリーンショット
人為的に設定された初期位置と目的位置に合わせて自律走行を行うナビゲーションや，その間の障害物検知を行うことができる．ロボットと通信するエッジサー
バとしてデスクトップ PC（Windows）で Ubuntu16.04の仮想マシンを配備した．
将来的にはクラウドやエッジサーバからの指示により，適切にセンサロボットを動作させる必要があるが，本稿ではまずセンサロボットを操作用端末から SSH 経
由での操作により遠隔操作できることを確認した．操作用端末には，エッジサーバ VM を代用した．図 2 に，センサロボットを遠隔操作した際のスクリーンショットを示す．ここでは，センサロボットの走行操作を行っている．ロボットと操作端末間で操作情報と地図情報のメッセージ通信を行う．走行の方向や速度を操作できる ROS のパッケージ teleop twist keyboard を用いて，操作端末のキーボードからセンサロボットを操作する．
使用したセンサロボットでは，走行と同時に LIDARSLAM により環境地図が作成され，rviz による地図表示で確認することができる．ここではロボットの現在位置も表示され，リアルタイムで更新されていくことが確認できた．
ROS によって提供される通信方式は単方向非同期方式のトピック通信，双方向同期方式のサービス通信，双方向非同期方式のアクション通信である．センサやカメラから収集したデータにおいて，トピック通信を介しパブリッシャからサブスクライバに提供される．本稿ではセンサロボットで収集したセンサデータをエッジサーバ VM に送信することを想定して，ロボットからランダムな数を送信し VM で表示させる Pub-Sub 型のトピック通信を行った．図 3 は当通信の rqt graph である．rqt graph は，実行中のノードと ROS のネットワーク上を送受信されているメッセージの関係をグラフで図示する可視化ツールである．システム内の接続に関する確認やデバッグの際に利用されている．ノードは楕円で，トピックは矢印で表されている．図 3 の
rqt graph は，topic publisher ノードが random トピックを配信し，topic subscriber ノードがその購読をしていることを示している．topic publisher はロボットで動くプログラムであり，topic subscriber は VM で動くプログラムである．両ノードは ROS が提供している通信方式によって接続している．

謝辞
本研究は JSPS 科研費 JP19H04089 の助成を受けたものです.

参考文献[1] ROS wiki. http://wiki.ros.org/.
[2] Shusen Yang. Iot stream processing and analytics inthe fog. IEEE Communications Magazine, 55(8):21–27, 2017.
[3] Wolfgang Hess, Damon Kohler, Holger Rapp, andAndor Daniel. Real-time loop closure in 2d lidar
slam. In In 2016 IEEE International Conference on
Robotics and Automation (ICRA), pages 1271–1278,
2016.
[4] SINETStream. https://sinetstream.net/.
[5] Atsuko Takefusa, Jingtao Sun, Ikki Fujiwara, Hiroshi
Yoshida, Kento Aida, and Calton Pu. Sinetstream:
Enabling research iot applications with portability,
security and performance requirements. In Proc.
COMPSAC 2021, pages 482–492, 2021.
[6] XiaO GEEK.
http://www.xiaorgeek.com/Study/Study/catalog/cid/35.

2