2020年12月09日
テクノロジー

Web.Auto全体チーム社内開発レビュー会を開催しました

こんにちは、ティアフォーでWebサービス開発を行っている桑原です。今回はティアフォーが開発をリードしている自動運転ソフトウェア「Autoware」の開発・実証実験を支え、自動運転サービスのために必要なWebの基盤を開発しているチームの活動と開発しているWebアプリケーションの概要を紹介します。


Web.Auto全体チーム開発レビュー会

ティアフォーが開発しているWeb.Autoは、IoT・Cloud技術を用いて、様々な組織・個人が迅速かつ簡単に自動運転テクノロジーにアクセス可能となり、自動運転サービスに関する幅広い課題を解決できる基盤となることを目指しているサービスです。自動運転サービスを導入・運用するための多くのWebアプリケーションを開発しています。


20201209 Blog Image 01


今回 Web.Autoチームではこれらのサービスが顧客に届ける価値をより高めるために、自動運転ソフトウェアの開発から実際に自動運転サービスが届けられるまでのWebアプリケーションの利用例をユーザーストーリーとして作成して、各アプリケーションが実際に使われるイメージ全体を共有するチーム横断の開発レビュー会を行いました。


この会の目的としては以下の通りです。


  • チームで閉じた開発であったり、機能ベースの開発ではなく、どのようなものが顧客に取って価値になるか考え、プロダクトを市場に届けるところまで考えれるようになる
  • 自分の担当するシステムやチームの中での部分最適な開発ではなく、横断的な開発ができるようになる

自動運転技術においては専門的な知識が多く、Webアプリケーションの開発でも多角的な観点から開発するのが難しくなってしまうので、この会を通して目指しているビジョンを再認識して、開発が促進できるように開催されました。


Web.Autoサービスの全体ユーザーストーリー

実際に自動運転のサービスを提供する場合、大きく分けて以下のフローを踏んで自動走行が可能であることを確認します。実際にはもっと多くの細かい手順がありますが、ここではWebアプリケーションで補助できる部分に限った大まかなユーザーストーリーとなっています。


  • 自動運転ソフトウェアの開発とテスト
  • 自動運転サービスのための事前準備
  • 実車試験
  • 自動運転サービスの運用と監視
  • 自動運転の走行分析

次に各手順に沿ってストーリーの詳細を紹介します。


1.自動運転ソフトウェアの開発とテスト - Testbed & CI/CD Pipeline

自動運転ソフトウェア「Autoware」の開発・評価を、安全を担保しながら信頼性高くかつ効率的に行えるようにするための開発者向けのテスト評価フローです。


自動運転ソフトウェアの開発者が機能の改良を加え、テストを実行・評価して、実車テストまで行う作業の障壁を軽減するためのユーザーストーリーです。このセッションのレビュー会の内容は以下になります。


  • 自動運転車に取り付けるセンサーのシミュレーション
  • 自動運転ソフトウェア「Autoware」のシミュレーションテスト

  • 車両の構成などをまとめたファイルの作成
  • テストの要件からテストシナリオを作成
  • テストの実行
  • テスト結果の確認・リプレイ
  • Web.Auto基盤から接続車両に配信可能状態なパッケージを生成

20201209 Blog Image 02

シミュレーションのリプレイ画像


Webアプリケーションでこれらを確認することで、早く安全に実車テストを行うことを可能にします。


より詳細な内容は「ティアフォーにおけるシミュレーションを用いたCIの取り組み」の記事で紹介しています。


2.自動運転サービスのための事前準備 ―Setup for Self-driving Services

自動運転車サービスには配車管理コンソールへの車両の登録と接続の設定、自動運転ソフトウェアや車両アプリケーションのインストール、地図の設定が必要です。ユーザーストーリーとしては自動運転車サービスを運用する管理者のサービスの準備となります。このセッションのレビュー会の内容は以下の通りです。


配車管理コンソールでプロジェクトと走行環境の設定 車両と配車管理コンソールが接続できるように車両の証明書を発行し、車両に設定 自動運転車両で使用する地図を地図ツールから配車管理コンソールにアップロード 配車管理コンソールから車両へ「1. 自動運転ソフトウェアの開発とテスト - Testbed & CI/CD Pipeline」の手順で生成したパッケージを配信


20201209 Blog Image 03

地図ツール画面


これらのIoT・Cloud技術で車両の管理やサービスを扱う準備を一層簡単にすることで、自動運転サービスをより早くまた安全性高く提供することができます。


3.実車試験 ―Operation for Self-driving Vehicles

自動運転車の現地試験運用を迅速かつ安全に行えることを目指した、車両オペレーターによる開発車両運用中のフローです。現在は自動運転車の車両が安全に運行できるように車両オペレーターが実際に自動運転車両が正常に動いているかどうかを監視しているので、ここでは車両オペレータが監視して実車の走行をテストするユーザーストーリーになります。


ティアフォーが行っている実証実験では、実際にオペレーターが以下の走行を監視しています。

 

 

オペレーターが自動運転の状態監視を行えることで安全に実車のテスト走行を実行することが可能になっています。


4.自動運転サービスの運用と監視 ―Management for Self-driving Services

自動運転車サービスの運用を迅速に、安全に、簡単に行えるようにする運用管理者・遠隔監視者・車両オペレーター・サービスユーザー向けのサービス運用中のフローです。自動運転の運行事業者が自動運転車両のサービスを提供するエリアに関して、走行の環境や地図を更新して、自動運転車両の配車サービスを運用するというユーザーストーリーになります。今回のレビュー会では実車ではなく、自動運転の走行を模擬するシミュレータを使って仮想的にサービスを確認しました。


  • 運行管理コンソールから自動運転車両を配車リクエスト
  • 車載タブレットから出発ボタンを押して走行
  • 運行管理コンソールから自動運転の走行の状態を確認
  • 運行管理コンソールから車両のカメラ映像を確認

20201209 Blog Image 04

運行管理コンソール画面


20201209 Blog Image 05

車載タブレット画面


運行管理に関しては「ドメイン駆動設計による運行管理システムのアーキテクチャの最適化」の記事で紹介しています。


20201209 Blog Image 06

遠隔監視・運転システム画面(※画面ははめ込みです)


また遠隔からの操縦に関する取り組みは「ティアフォーにおける自動運転車両の遠隔監視・操縦システムのご紹介」の記事で紹介しています。


5.自動運転の走行分析 ―Inspection for Self-driving Services

自動運転車サービスの運用や開発のフィードバックのための運用管理者・開発者向けのサービス監視・評価のフローです。運行事業者や自動運転ソフトウェアの開発者が蓄積された走行データを分析して、サービス運用および開発のフィードバックを行うことができるようになります。また、実際に走行したプローブデータを収集して蓄積し、分析しやすい形で走行ごとに車両の状態を振り返ることができます。運用管理者が走行テストや自動運転サービスが終了したのちに自動走行の安全性の分析をするユーザーストーリーなります。


20201209 Blog Image 07

走行履歴画面

 

まとめ

Web.Autoチームでは以上の他にも様々なシステムとアプリケーションを開発しています。今回は半日かけて自動運転のサービスを提供するまでのユーザーストーリーについてレビュー会を開催しました。本レビュー会は、テックカンファレンスのようにそれぞれのアプリケーションの担当が開発背景やシステムの概要を発表し、実際動くデモを発表する形で進めました。


このレビュー会を通して、自分が担当するシステム以外の開発がどのようにユーザーまでつながっているかを一貫して全Web.Autoチームで見ることでより良い改善を進めることができています。いずれは勉強会やテックカンファレンスなどで「自動運転の民主化」に向かって、今回説明したものよりさらに改善が進んだアプリケーション・システムを紹介していきたいと思います。


オープンソースのソフトウェアを一緒に開発していきませんか?


ティアフォーでは、「自動運転の民主化」というビジョンに共感を持ち、自らそれを実現する意欲に満ち溢れた新しい仲間を募集しています。


キャリアページ


Media Contact
pr@tier4.jp


Share the post
LinkedIn | Twitter | Facebook | Instagram


More
Autoware—Github | The Autoware Foundation