ティアフォーのアーキテクト、関谷英爾です。今回はティアフォーでどのようなクラウドシステムの開発を行っているか、どんな開発スタイルなのかについてご紹介します。自動運転について詳しくないクラウド開発をされているエンジニアの方々にぜひ読んでいただき、自動運転技術への興味を持っていただければ幸いです。
2023年8月10日、カリフォルニア州からの承認がおり、サンフランシスコで有料の自動運転サービスが始まりました。一方で、日本の自動運転は技術や社会受容の観点において出遅れている状態にあります。
そのギャップを埋めるべく、自動運転レベル4* などの先進モビリティを様々なエリアで社会実装していく「RoAD to the L4」という活動が国によって進められています。ティアフォーもそのメンバーとして技術的な実証を行い、行政機関と協力しながら日本の自動運転レベル4サービス実現に向けて活動を進めています。
*レベル4:特定の走行環境条件を満たす限定された領域において、自動運行装置が運転操作の全てを代替する状態。
自動運転技術の社会実装アプローチ(出典:RoAD to the L4 とは)
自動運転をサービス化するまでには多くのステップがあります。車両の構築、ソフトウェアの開発、地図の作成、シミュレーションによる評価、評価済みソフトウェアや地図データのデプロイ、テストフィールドでの試験、公道での実証など、各フェーズにおける課題を解析する、というループを様々な専門家が協力して回しています。
これらの活動を支えるためには、データ分析・機械学習パイプライン・大規模なシミュレーション・地図管理・車両管理・ソフトウェアの更新・配車・リモートサポートなど様々なサービスが必要となります。ティアフォーではサービスの集合体をWeb.Autoという一つのプロダクトとして開発することによって、プロセスの参加者が情報や価値の交換を簡単かつ安全に行えることを目指しています。
Web.Autoの概要図
現在、上記のクラウドサービス開発には6つのチームが関わっています。どのチームも自動車業界からの出身者は少なく、様々な会社から転職してきたメンバーが活躍しています。
全チームともに年に一度、事業やR&Dの方針から中期ロードマップを作成し、日々計画や優先順位付けを見直しています。また、2週間スプリントで開発をしています。
クラウドサービスはAWSを利用しています。基本的にどのチームでもEKS、Fargate、LambdaといったServerlessな技術とDynamoDBでできる限りメンテナンスレスでスケーラブルな基盤を構築しています。バックエンドではGoやPythonを主に利用し、フロントエンドではReact、Typescript、WebGL技術を活用しています。
活用中の主なTechnology Stack
日々の運用のために次のツールを利用しています。
運行管理サービスや地図管理サービスの開発を行っています。運行管理サービスの実現では、AWS IoTを用いて車両と接続するシステムを構築し、経路計画のためにグラフデータベースであるAmazon Neptuneを利用しています。地図管理サービスでは、WebGLを用いたリッチな編集ツールを構築し、走行データからの地図生成パイプラインの構築を行っています。
遠隔地から映像や音声によって自動運転車の運行を監視するシステムの開発を行っています。無人で走行するレベル4の自動運転では必須の機能です。
映像・音声配信技術としてWebRTCを活用し、超低遅延メディア配信システムを構築しています。単に繋がるだけではなく、配信品質を客観的に評価したり、最先端の5G/ローカル5G技術にも対応できるようにするなど、より良い通信環境を構築・維持するための運用機能にも力を入れています。また、乗客との音声コミュニケーションや、遠隔操縦などの自動走行のアシスト技術も開発しています。
こちらの仕組みについては過去のテックブログ「空港での遠隔自動運転システムの取り組み」にてご紹介しています。
テストシナリオの管理、大規模シミュレーションを実行するサービスを開発しています。
大規模シミュレーションを実現するにあたって、Provision/DeprovisionのライフサイクルをAWS Step Functions、Karpenter、DynamoDB Streamsなどを利用し、高速で大規模なスケーラビリティを実現しています。またシミュレーション評価が不安定にならないように、インスタンス選択・コンテナの設定などによって結果がどのように変わるのかを分析しているのも特徴的です。
こちらの仕組みの一部についてはティアフォー Meetup「自動運転の評価を支えるHybrid Cloudテストパイプライン」にてご紹介しています。
走行データの収集と検索、機械学習のトレーニングサービスの開発を行っています。
走行履歴や様々なサービスのデータを収集し、APIや分析ツール経由で様々なデータを提供しているため、他のチームと比較してAmazon Data Steams、Kinesis Data Firehose、AWS Glue、AWS Data Migration Serviceの利用が多く、Amazon Athenaなども活用しています。一般的なデータ基盤チームと異なり、社内利用者向けの分析基盤に留まらず、サービスとしてAPIを提供しているのが特徴的です。
認証認可サービスの提供およびSREによる各サービスの信頼性向上の活動をしています。
認証サービスはOryのOSSを活用して提供しており、内製のRole Based Access Controlの認可サービスを各サービスに提供しています。また、SREは各サービスの信頼性向上に向けて、監視・運用に役立つ仕組みを整備しています。この活動によりWeb.AutoはAWSのFoundational Technical Reviewをパスしたサービスとして認定されています。
各チーム・サービスの品質改善に取り組んでいます。
Cypressでの自動化テストやSonarCloudでの品質指標の計測を行っています。また、自動運転システムの評価チームと協力し、エンドツーエンドテストの仕組みなどを検討しています。
自動運転のドメインスペシフィックなサービスの開発では、シミュレータ開発チームや自動運転開発チーム、複雑なシステムをインテグレーションするチーム、OSやアクセラレータに詳しいチーム、機械学習などに強みのある子会社、さらには様々なパートナーや専門家と協力し、学びながら業務を進めています。
自動運転レベル4サービスの実現、自動運転開発・運用サイクルの効率化、サービスの信頼性向上、サービスを用いた事業のスケールアウトという四つの柱に注力しています。
自動運転レベル4サービスを開始するにあたって、まだ不足しているサービスがいくつかあるので、それらの実現に向けて急いで開発を行っています。
これまでは車両の基本的なモニタリングや配車機能などを実現してきましたが、これから無人走行を想定し、自動運転が万が一スタックしてしまった場合でも遠隔から指示が行えるような仕組みを構築する必要があります。また、走行エリアの拡大に合わせて大規模な地図でも同じようなことができる必要があります。
モニタリングシステムのリニューアル案
自動運転サービスの開発・運用には専門的なスキルと時間のかかる作業が多くあります。今後、さらに信頼性・可用性の向上やエリアの拡大に備えて、プロセスの効率化が欠かせません。
以下の作業をできる限り自動化・簡易化し、属人性を排除し効率化を図っています。
各専門チームと連携し、地図作成の技術(SLAM:Simultaneous Localization and Mapping)や機械学習のドメインアダプテーション(Pseudo LabelingやGround Truth Samplingなど)のキャッチアップを行いながらクラウドサービスを開発しています。走行データ管理・シーン生成ではGenerative AIの技術も活用したいと考えています。
自動運転は社会の交通インフラになるため、安全性や信頼性が欠かせません。サービスの信頼性向上も大きな取り組みの一つとして、意識的に管理しています。
例えば、自動運転開発チームやシミュレータ開発チームと連携した不安定な評価の分析や走行性能のモニタリング強化を行っています。クラウド開発では、SLIの継続的モニタリングや今後の無人走行に向けてSLOの引き上げなども検討しています。
冒頭でご紹介したように、自動運転サービスの実現は一社でやり切ることは困難です。グローバルに事業展開する上で様々なパートナーとの連携が欠かせません。
そのため、全てのサービスでAPIを公開する前提で作っていたり、SDKやCLIなども開発しています。これらのAPIをより使いやすくすることも今後強化していく活動の一つです。また、グローバル展開に向けてクラウドサービスのリージョン展開も行っていきます。
自動運転技術は多岐に渡り、社会のインフラとしての信頼性を高める必要がありチャレンジングな開発です。ティアフォーでは多くの専門家の協力のもと、確実に前進しています。
技術的なチャレンジをしたい、社会に影響を与えられる仕事をしたい、新しいことを学びたい、グローバルな事業展開に関わりたいと思われている方はぜひカジュアル面談からでもお気軽にご連絡ください。
Eiji Sekiya | 関谷 英爾
Architecture Team, Architect
大阪大学大学院・基礎工学研究科卒業。2018年3月入社。前職では、データ基盤構築・運用、機械学習の事業応用に従事。 運行管理システムや自動運転の評価基盤の立ち上げを行い、現在はクラウド開発全体をリード。
オープンソースのソフトウェアを一緒に開発していきませんか?
ティアフォーでは、「自動運転の民主化」というビジョンに共感を持ち、自らそれを実現する意欲に満ち溢れた新しい仲間を募集しています。 詳細は、ティアフォーの「求人ページ」をご覧ください。
お問い合わせ先
ソーシャルメディア
X (Japan/Global) |LinkedIn| Facebook | Instagram| YouTube
関連リンク