Amazon Web Services ブログ
IoT@Loft #16 ロボティクスにおけるIoTの活用
こんにちは。AWSソリューションアーキテクトの原田です。
11月18日に開催された IoT@Loft 第16回目のテーマは、「ロボティクスにおけるIoTの活用」でした。
この記事では、各LTの内容を登壇資料とダイジェストでご紹介します。また参加者から頂いた質問、登壇者からの回答も掲載します。
IoT@Loft とは ?
IoT 関連ビジネスで開発を担当するデベロッパーのためのイベントです。IoT の分野は、「総合格闘技」と呼ばれるほど、必要な技術分野が非常に多岐に渡ること、ビジネスモデルが複雑なケースが多く、全体を理解することは難しいと言われています。その結果、実証実験 (Proof of Concept : PoC) から商品への導入が進まないケースや、PoC でさえ十分に実現できていないケースも多々あります。
IoT@Loft は、そういった IoT 特有の課題と向き合い、情報共有・意見交換を行う場として、参加者の事業や製品開発を成功に近づけることができれば幸いです。この勉強会では、膨大な IoT 関連の情報の見通しを良くするために、各回ごとにテーマを定め、それに沿った形で登壇者に事例や技術のご紹介を頂きます。テーマは、インダストリー、ソリューション、テクノロジー、開発フェーズなどを軸に決めていきます。
IoT@Loftについて詳しく知りたい方は以下の記事をご覧ください。
また、下記のConnpassのグループに入っておくと、次のイベントの通知や、登壇資料の通知が受け取れますので、ぜひご参加ください。
セッションの紹介
ここからは各LTの内容をダイジェストで紹介します。ご参加の皆さんから講演中にいただいたご質問に対する、ご講演者からの回答を掲載しております。あわせてご覧ください。
LT1 – ドローンにおける遠隔地への映像配信とその活用方法
エアロセンス株式会社からは、産業用ドローンと映像伝送についてご紹介いただきました。一般的なドローンでは無線で飛行するものを想像される場合が多いですが、エアロセンス様では、光複合ケーブルによる有線ドローンも開発されています。これにより高品質な映像を伝送することができる、またバッテリー容量の制約無く長時間飛行が行えるようです。
ドローンでの映像の遠隔配信システムの1つとして、Amazon Kinesis Video Streams を用いてWebRTCによる映像ストリーミングを行う構成を紹介されていました。こちらは低レイテンシでの伝送が特徴とのことです。また、有線だけでなくLTE回線による無線伝送も実験中のようで、こちらでも映像伝送は可能だが、有線と比べるとビットレートは低下し、4K解像度での伝送は厳しいとのことでした。
また、4K解像度での映像伝送を行うため、Amazon Kinesis Video Streams のメディア収集機能を使い、ドローンからAmazon Kinesis Video Streams Producer SDKを使ってクラウドへ送信し、HTTP Live Stream (HLS) で再生する構想をお持ちとのことです。
VTOL(垂直離着陸機、固定翼)モデルの場合は有線での映像伝送を行うことはできず、また法規制から目視外飛行の際にはオペレータが映像を見る必要があるそうです。そのため、LTE回線でWebRTCによる映像伝送およびデータチャネルで制御指令を通信することで、ドローンから送られてくる映像を見ながらの遠隔制御を行う構想についてもご紹介いただきました。
今後は、Amazon Kinesis Video Streamsによる映像伝送だけで無く、AWS IoT Coreによるテレメトリの送信や制御コマンドの送信を行っていきたいとのことです。
Q&A
Q. 物流はドローン自体がモノを運ぶのでしょうか?大規模のものではなく、小さいものを数個、みたいな規模ですかね?
A. 弊社の実績ですと、ドローンに専用の輸送箱を取り付けて実現しております。おっしゃるとおり、業界全体で見渡しても小規模な物流実験が多いのが実情です。軽くて小さいものでも需要が高く見込める医薬品等の配送に、ドローンを用いることができるのではないかとそのような実証実験が増えている印象です。
Q. 高解像度かつ高フレームレートが必要な場合は具体的にどのようなユースケースなのでしょうか?
A. 飛行させながら広範囲に現場状況の把握が必要とされるような場面が想定されています。災害発生時の被害状況など、”道路の段差”などが飛行中の映像でも確認できると非常に有用と考えられています。
LT2 – aibo のクラウド
ソニー株式会社からは、aiboのクラウドについてご紹介いただきました。
aiboはソニー製品の中で唯一人に寄り添うプロダクトであり、購入してから煩わしいセットアップなど一切することなく、名前などを設定するだけですぐに使えるようになっているそうです。そのためには、予めオーナーとの紐付けをロジスティクスの段階で行い、お届けされた際にはすぐにクラウドに接続できるとのことでした。
aiboクラウドとのデータのやり取りの基本的な構成についてご紹介いただきました。イベントが発生すると、AWS IoT CoreからMQTTによってaiboにメッセージが送信され、その後aiboがAmazon API GatawayのREST APIを呼びにいく構成とのことでした。
一方で、aiboが作った部屋の地図をスマートフォンアプリでリアルタイムに見る仕組みでは、AWS AppSyncによるGraphQL APIによって実現されていると紹介されています。これは、GraphQLのsubscriptionによって、mutationを受けてリアルタイムに更新通知を受け取ることができるためです。
また、今回ご紹介いただいた機能以外にも多数のaiboの機能がAWSのサービスを活用して実装しているとのことでした。
Q&A
Q. 画像認識等のAI処理については、AWS上で処理しているのでしょうか?それとも、aibo側でAIの処理を実現しているのでしょうか?
A. どちらもあります。リアルタイム性が求められるものは aibo 側、そうでないものはクラウドになっています。
Q. MQTTやREST、GraphQLを使い分けられていましたが、全てGraphQLでできそうに感じました。使い分けられている理由を教えていただきたいです
A. aibo 発売時点では AppSync が GA ではなかったので MQTT + REST の構成にしました。AppSync が GA になったタイミングで AppSync に適した要件が出てきたので少しづつ活用するようになりました。今後は BFF(Backends for Frontends) として AppSync を使用する計画です。
LT3 – AWS RoboMakerを活用したロボットプラットフォームの構築
ブレインズテクノロジー株式会社からは、AWS RoboMakerを活用したロボットプラットフォームについてご紹介いただきました。
特定の用途のためのロボットを固有に製作することが多く、その場合運用方法や操作方法も個別になりがちで、台数が増えていくたびに保守運用が大変になってしまうとの課題があるとのことでした。特に清掃ロボットなど、利用前に固有の作業が必要となる場合も多く、その場合結局ロボットが使われなくなることも少なくないとのことでした。
ロボットに限らず一般的なアプリケーションの開発フローである、開発・テスト・デプロイが全てAWS RoboMakerで行うことができるとご紹介いただきました。
BIMデータ(建物の3次元データ)を新しく登録し、そのデータを元にシミュレーションを行い、走行することができたらロボット実機にデプロイする構成についてご紹介いたきだました。
また、今回ご紹介いただいたロボットプラットフォームの全体のアーキテクチャについてもご紹介いただきました。
Q&A
Q. AWS RoboMaker でのシミュレーションでは再現が難しい現場環境条件はありましたか?その場合、どう対処しましたか?
A. 3D情報に描画されていない物体(机、ロッカーなど)や床の摩擦などの物理条件は再現が難しく、シミュレーション上で動作したとしても、実際に動かすとうまく動作できない要因の一つになっています。これらに対しては、障害物回避の実装や物理条件については現場でのパラメーター調整を行っていたりします。
Q. シミュレーションの動作確認は、目視によるものでしょうか?自動化されているのであればどのような方法で自動化しているのでしょうか?
A. シミュレーションの結果確認は最終的にはお客様の目視で行って頂いています。確認項目としては、水平移動の場合動作経路、特定のタスクを行うとしたらそのタスクを行った結果のキャプチャなど行う動作の内容に依存します。
Q. ロボット側のアプリケーション開発の際、gazeboによるシミュレーションを、AWS RoboMaker 上で行う場合と、ローカル開発環境で行う場合の使い分けはどのようにされているのでしょうか?
A. gitを使っているという前提ですが、ローカル環境は基本的にrobotに依存しない部分の開発を行います。例えば、IoTにメッセージを投げるための関数の開発や、S3からファイルをダウンロードする関数の開発などです。その後RoboMakerに開発場所を移し、robot applicationに組み込みそれが実際に動作するのか確認するといった流れです。
LT4- AWS RoboMaker チームが考えるこれからのロボット開発
Iot@loft #16 -LT4-AWS RoboMaker チームが考えるこれからのロボット開発-20201118
最後にAWSから、AWS RoboMakerチームが考えるこれからのロボット開発について説明いたしました。
AWS RoboMakerはロボティクスのアプリケーション開発者向けのサービスであり、ロボティクスアプリケーションのビルド・テスト・配置・管理ができます。今回はその中でもテスト・検証の機能にフォーカスして紹介いたしました。実機を動かすロボット開発において、シミュレーションを行うことは重要です。
AWS RoboMakerでは、クラウドベースのシミュレータを提供しており、ローカルまたはAWS RoboMaker環境で開発したアプリケーションをAWSのインフラ上でシミュレートすることができます。また、大規模なシミュレーションを簡単に実行できることも大きな特徴で、大量のテストシナリオでのシミュレーションを同時に走らせることができます。今回はそのようなユースケースの他、実際の事例やシミュレーションワールドの自動生成を行う新機能についてご紹介しました。
Q&A
Q. 実際のROBOTとAWS仮想クラウドではROBOTの反応速度、走行スピードなどが異なると思いますが、どのようにしてこの差を埋めてリアル性を実現しているのですか?
A. シミュレータではロボットや周辺の環境のサイズ、重力や摩擦、慣性などの物理現象、走行速度などをそのまま再現しています。ロボットのセンサーなどはシミュレータのプラグイン機能がそれを代替し、ロボットアプリケーションは本物のロボットからセンサーデータが送られてくるのと同じ形式でシミュレータ環境からのセンサー情報を受け取ることができます。これらプラグインにはノイズなどのパラメータも含めることができ、一定レベルでリアルな環境の再現を可能にしています。
Q. RoboMaker上のGazeboの物理演算エンジンとして、デフォルト(ODE)以外を使うこともできますか?
A. 現在のところ AWS RoboMaker のシミュレータがサポートしている物理演算エンジンは ODE のみとなっています。
お知らせ
次回イベント
次回は「AWS IoT Deep Dive #2 re:Invent IoT Updates」を12/23(水)に開催いたします。AWS re:Invent 2020 で発表された IoT 関連のアップデートを中心にお伝えする予定です。
イベントの詳細や申込についてはこちらのサイトからご確認ください。
AWS IoT 開発者ポータル
IoT エンジニア向けに、IoT 関連の国内の事例やセミナーの情報、ハンズオンや学習のためのデジタルコンテンツなどを随時更新しています。是非定期的にチェックしてみたください。
https://thinkwithwp.com/jp/local/iot/
著者について
この記事はアマゾン ウェブ サービス ジャパンの原田 裕平が執筆し、三平 悠磨が監修しました。