ティアフォーにおける自動運転車両の遠隔監視・操縦システムのご紹介

はじめまして、ティアフォーで自動運転のWebプラットフォーム開発を行っている飯田です。

今回は、遠隔型レベル4自動運転を行う上で必須な遠隔監視・操縦システムについてご紹介します。

 


遠隔監視・操縦システム

 

 遠隔型自動運転とは

まず自動運転のレベルの枠組みから簡単にご紹介します。

国際的に自動運転のレベルは0~5の6段階に定義されています。

 

f:id:yuki-iida:20190118132117p:plain

自動運転のレベル

基本的には、レベル4から運転者の役割がなくなり皆様が思い描くような運転から開放された乗車体験が実現されます。

しかし、運転者の役割が無くなることに伴い、全て自動運転システムが状況を判断し、走行する必要があります。

ただ、現実問題として自動運転システムが対応出来ない場面も想定されます。

自動運転システムが対応できない場面において、個人所有の車であれば搭乗者に操縦を任せることが可能ですが、タクシーやバスなどサービスとしてお客様に提供している場合は運行管理者が対応する必要があります。

そこで、遠隔地から車両を見守り、何か有事の際は操縦し自動運転可能な状態まで復帰させるために遠隔監視・操縦システムが必要となってくるのです。

f:id:yuki-iida:20190118133847p:plain

遠隔型自動運転の位置付け

出典: *1

 

遠隔監視・操縦システムについて

本システムの機能要件として、下記の事柄が挙げられます。

  • 複数のカメラ映像を低遅延で配信できる (実際の運転席と同等の情報を遠隔から把握できる必要がある)
  • 車両(Autoware)の状態を監視できる
  • 遠隔から低遅延で操縦できる
  • 通信状況が悪い/切れた場合に、車両側で安全に停止できる
  • 複数台の車両の映像を複数人で監視できる (運行管理者や保険会社など複数のプレイヤーが出てくることを想定)
  • 映像を録画できる

大別すると、映像配信と制御情報(Autowareの状態情報も含む)の送受信の2つに分かれます。  

f:id:yuki-iida:20190118153634p:plain

利用シーン

 

映像配信の仕組み 

映像配信の仕組みとして、

  • HLS (HTTP Live Streaming)

  • RTMP (Real-Time Messaging Protocol)

  • WebRTC (Web Real-Time Communication)

などが挙げられますが、ティアフォーではWebRTCを採用しています。

主な選定理由としては、圧倒的に低遅延(200 ~ 300ms程度)、回線の太さに合わせてビットレートが可変であること、多くのプラットフォームで採用されており汎用性が高いことの3つが挙げられます。

f:id:yuki-iida:20190118150101p:plain

WebRTC

しかし、WebRTCでは基本的にP2Pで通信を行うため、N対Mの通信を行うに当たりデータ転送量の増加、各セッションの管理コストの増加、録画機能の追加が困難などいくつか問題があります。

そこで、本システムではWebRTCの中でもWebRTC SFUを採用しました。

SFUでは、センター集約型であるためN対Mの映像の送受信、録画機能が容易に実現でき、非常に使い勝手が良いというメリットがあります。

上記の図を見ると、MCUは通信量が削減されて良いように見えますが、各映像を結合する処理に大きなレイテンシが乗り、本システムには不向きなため、採用には至っていません。

 

制御情報通信の仕組み 

制御情報通信の仕組みとして、

  • HTTP (Hypertext Transfer Protocol)
  • Websocket

  • MQTT (Message Queuing Telemetry Transport) 

などが挙げられます。こちらに関しても映像配信同様にレイテンシの小ささと複数台の車両を扱えるスケーラビリティ、さらにはデータ量の小ささやQoSが管理できるといった理由でMQTTを利用しています。

 

全体の枠組み

f:id:yuki-iida:20190118173316p:plain

全体構成

本システムの全体構成は、上記のようになります。

WebRTC SFUのシステムは、時雨堂様のWebRTC SFU Soraを利用しています。

OSSJanusなどもありますが、ブラウザのアップデートへの対応や使い勝手の面でSoraの方が優れていたため、Soraを利用しています。

さらに、WebRTC Native Clinet Momo がリリースされ、ROS対応したのでブラウザを利用せずに映像配信が可能になりました。

これにより車両側の映像配信/制御情報通信共にROSプラットフォームへの共通化が実現できています。

また、遠隔監視者は、特に環境構築等を必要とせずに、ブラウザを利用すれば、自動運転の監視・操縦が可能となっております。 

 

f:id:yuki-iida:20190118161125p:plain

操縦シーン

 

まとめ

ティアフォーでは、WebRTC SFU及びMQTTを利用し遠隔監視・操縦システムを実現しています。

今後は、

  • 通信の安定化 (通信データ量削減及び映像配信ノードのFPGA対応など)
  • スケーラビリティの考慮 (数十、数百台の自動運転車を安全に見守れる仕組み)
  • 遠隔操縦のUI/UXの改善 (VR対応やより抽象度の高い操縦方法の考案など)

を行っていく予定です。

機会があれば上記新規機能の実装のお話や、得た知見なども順次ご紹介していきたいと思っております。

 

自動運転サービスを一緒に開発してくれるメンバーを募集しています!

 

*1:自動運転をめぐる最近の動向と警察庁の取組について(平成30年)    https://www.npa.go.jp/bureau/traffic/council/jidounten/2018dai1kaisiryou1.pdf