SlideShare una empresa de Scribd logo
1 de 51
自動運転車を動かすサーバレスシステムの中身
2019/10/31 Mobility:dev
SBドライブ株式会社 須山/関谷
須山 温人 Atsuto Suyama
SBドライブ株式会社 CTO
twitter : atsutoms
ヤフーの広告配信システム エンジニア
(ヤフーの全スマホアプリに組み込まれる広告SDKを考案・開発)
↓
ソフトバンクのグループ内で新規事業の立ち上げ
↓
SBドライブ株式会社の立ち上げメンバー
“課題解決の最先端で戦い続けたい”
SBドライブとは
イタリア街の集合写真
SBドライブは約30名のチーム(エンジニアは約半分)
SBドライブのメイン事業は
自動運転車につながるシステムを作ること
システム自動運転車
この中身
を紹介
公道走行可
どちらの車両もDispatcherに接続済み
Dispatcherとは
★Dispatcherキャプチャ動画
バスの配車予約
自動運転バスを運用する
自動運転バスを運用するフロー
一連の業務をサポートするシステムが必要
マップ
作成
セッティング
インフラ連携
運行設定 点検/点呼
遠隔監視
制御
運行分析
1. 2.
エラー発生箇所や
原因の可視化
車両状態チェック
遠隔から車両を
止めることも
ダイヤ設定
GTFS対応
軌跡/速度等設定
信号機IDの設定
例: 地図データ計測
3. 4. 5. 6.
マップ作成
1. 車両を走行させてライダーで三
次元マップを作成する。
2. マップ情報を車両とサーバに設
定する。
セッティング
インフラ連携
信号機等インフラの状態を監視する必要がある→Dispatcher
1. 作成したマップ上で、どこを走行させるか、時速何キロで走
るか、どこでウィンカーを出すかなどを設定する。
2. 信号機と連携する場合は、該当の信号機のIDと、どの区間
でその信号機をチェックするのかを設定する。
3. Xmlファイルで車両とサーバに設定を登録する。
何時にどこを発車するのか等のダイヤを設定
GTFS
GTFS
バス会社等で作成された
GTFS形式のダイヤデータ
定められたダイヤ通りに
自動で走行する
自動運転バスの運行情報を
GTFSリアルタイムで公開することで
乗換案内等のアプリに反映
※GTFSとは:公共交通の時刻表や地理情報を格納するデータフォーマット
運行設定
乗換
案内
システムで車両機器等のステータスが正常なことを確認する
※ODDとは:運行設計領域(自動運転車が走行可能な環境)
点検/点呼
ODD確認
★めでたく発車
WebSocketで毎秒更新される車両情報。RTSPにより遅延のないリアルタイム映像配信。
※国のガイドラインに準拠し、実証実験の結果をガイドライン策定へフィードバックしている
遠隔監視・制御
車内安全の監視には
ディープラーニングも使用
分析
自動運転車は運行記録を残すことが重要。過去の走行を振り返り改善につなげる。
目指す姿
自動運転車とスマートフォンのレイヤー構造は似ている
23
スマートフォン 自動運転車
アプリ
キャリア(ソフトバンク等)
OS
端末
アプリ
キャリア(SBドライブ)
自動運転OS
車両
ニーズごとに最適な車両ラインナップを用意
自動運転車9車種に接続済み
ポンチョ、リエッセは「先進モビリティ社が
自動運転機能を架装した改造車両」のことを指します。
Dispatcherと車両の様々な接続スキームを準備
25
1. 車両改造パターン
4. サーバ経由パターン
3. SDKパターン
2. 車載PC搭載パターン
Dispatcher
(SBD)
車両
(車両メーカー)
APIサーバ
(車両メーカー)
API開放
変換
自動運転制御
(先進モビ)
車載PC
(SBD)
自動運転制御
(車両メーカー)
車載PC
(車両メーカー)
車載PC(車両メーカー)
車載SDK
(SBD)
自動運転制御
(車両メーカー)
自動運転制御
(車両メーカー)
車載PC
(SBD)
車両
(車両メーカー)
車両
(車両メーカー)
車両
(車両メーカー)
WebSocket
システムのさらに内部を説明します!
システム自動運転車
自己紹介
• 2012年 車載器メーカー入社(カーナビ サーバサイド開発)
• 2017年/11 SBドライブ入社
車載・AIチーム配属
車載器AI開発
• 2018年/4~
バックエンド/AI 開発チーム配属
サーバサイド バックエンド開発/運用
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
InstancesApplication Load Balancer
Crawler
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
InstancesApplication Load Balancer
Crawler
これから各箇所についてお話します。
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
Instances
Crawler
←クライアント接続部
Application Load Balancer
dispatcherの監視画面
車両一覧画面 車両詳細画面
複数車両を同時に 細かな詳細情報+制御出し
クライアント接続 websocket
WEB Socket Server
InstancesApplication Load Balancer
Amazon ElastiCacheAmazon DynamoDB Amazon Cognito
・車両⇄サーバ間の
ファーマットは
Protocol Buffersを採用。
・各種設定データは
DynamoDBに保存してある。
・セキュリティとして
車両側は
クライアント証明書 + VPN,
ユーザー側は
cognitoによる
トークン認証を利用。
・データはElastiCache (redis)
のpub/sub機能を利用して
Topicにmessageを
送信することで
適切に車両 - ユーザーに
配信できるように構成。
localhost:8080
の設定画面
ダイヤ情報?
GTFS-JP
の設定画面
GTFS-JP形式でデータを持っていれば
Dispcaherにそのままインポートすることができる。
クライアント接続 API
API
Amazon CognitoAmazon DynamoDB
API Gateway とLambda
で構成している。
車両からは
DyanamoDBに登録してある
行路情報を取得する。
ユーザーからは
各種(車両や行路/便)
設定情報の設定/取得。
分析用APIの呼び出し。
DyanamoDBは
運行スケジュール
を保持。
ダイヤ情報はGTFS-JPで。
AWS LambdaAmazon API Gateway
Amazon Elasticsearch
Service
雑談 サーバレスだからって…。
• Lambdaの数が膨れ上がって大変… 。
→LambdaLayerにより独自ライブラリを作って
開発スピードと品質を保っている。
• 仕様書とか大変…。
仕様書は整理は後回しになりがちだが、APIGatewayのモデルを利用し
IF をswagger (OpenAPI)でexportできるようにしてる。
• デプロイも大変… 。
Codepipeline codeBuild codeDeploy で自動化も
がんばっている。(now)
AWS Lambda
AWS Lambda
AWS Lambda
AWS Lambda
AWS Lambda
AWS Lambda
SBDLib
Lambda layer
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
InstancesApplication Load Balancer
Crawler
分析↑
分析
Amazon Simple Storage
Service
Amazon Elasticsearch
Service
Amazon Athena
WEB
Socket
分析Data
AWS Lambda
ユーザーごとにツールを分ける
従来
excel
Amazon Athena
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
InstancesApplication Load Balancer
Crawler
Batch処理→
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon Elasticsearch
Service
Data Batch処理
Batch処理
ETL
PySpark
Amazon RDS
S3から
クローリング
前処理 GIS処理 ESへ格納
*GIS処理?
元データ
・・・
API Data
WEB Socket
分析
Batch処理
AWS Glue Amazon RDS
Amazon Simple Storage
Service
Amazon DynamoDB
AWS Lambda
Amazon Cognito
Amazon ElastiCache
Amazon Elasticsearch
Service
Amazon Athena
Amazon API Gateway
InstancesApplication Load Balancer
Crawler
自動運転ありがとう
各地の交通課題は切実…
日本は自動運転の実用化に最適
•超高齢化社会
•高い人件費
•強い自動車メーカー
•安倍首相の後押し
•世界と戦えるIT企業
48
いつものWeb技術でリアル世界の大きな課題を解決する
システム自動運転車
• 地域の課題解決
• 新しい移動を作る
日本の競争力を維持する
• 自動車産業は日本経済の大黒柱
• IT業界の広告費等も自動車産業に大きく支えられている 50
写真:アフロ
そのためには みなさんの力が必要です
モビリティ領域のシステム/サービス開発に目を向けて欲しい
世界に負けないモビリティサービスを一緒につくっていきましょう!

Más contenido relacionado

Último

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Último (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Destacado

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

自動運転車を動かすサーバレスシステムの中身 MOBILITY:dev 2019/10/31 SBドライブ 須山・関谷

Notas del editor

  1. まず簡単に自己紹介ですが、SBドライブ株式会社でCTOをしている須山といいます。 会社の創業メンバーとして、3年前の設立時から会社技術面を広くみています。 これまでの経歴は、ヤフーに新卒入社し、広告システムやiPhoneアプリなどを作っていました。 いわば普通のWebエンジニアでした。 モットーは“”。ということで課題が大きいほど燃えます。
  2. ソフトバンクの子会社です。
  3. まだベンチャーで30名くらい。 そのうちエンジニアは約半分。ヤフー出身、ソフトバンク出身のエンジニアもいるし、会社を作ったあとに社外から中途で入ってきたエンジニアもいます。 採用がうまくいき、エンジニアは粒ぞろい。 この写真はいかつい?
  4. よく間違われるんですが、
  5. そのシステムというのが、このDispatcherと呼んでいる、弊社が開発している自動運転向けの運行管理システムです。
  6. SBドライブはシステム開発・提供がメインですが、まだ自動運転バスが普及してきていないため、こういった2種類の車両を使って、自動運転バスの普及に向けた実証実験を行っています。
  7. ということで、
  8. 先程動画で走っていた自動運転バスを遠隔から監視するとこのように見えます。映像や、地図上への位置表示。
  9. 特徴としては、 警察にシステムを確認いただいて、お墨付きも得ています。
  10. それ以外にも、乗る場所、降りる場所を設定して配車できたりもします。
  11. 次に、ここまで紹介してきた車両と、システムを使って、どのように自動運転バスサービスを運用していくのかを見ていきましょう。
  12. 自動運転バスを公共交通サービスとして提供するには、このような流れにそって運用する必要があります。 ざっくりいいますと、地図データを作成し〜〜・・ この運用をサポートするシステムが必要。
  13. まず最初がマップ作成です。
  14. そして、運行当日の朝、車両が問題ないかを点検します。 システムを使えば、車両のステータスが正常なことを簡単にチェックできる、というわけです。
  15. ここまでやると、やっと発車です。
  16. いつ何が起こったのか、人が乗らないし、機械がどんな運転をしたのかを、しっかりと記録に残さなければならない。 ということで、これらの一連の流れをへて、自動運転バスサービスを運用することができるんです。
  17. SBドライブは何を目指すのか。
  18. キャリアであるからには、様々な機種/車両をとりそろえます。 こちらはさらに拡大をおこなっていきます。
  19. その車両ラインナップを増やしていくため、Dispatcherへ接続する手段をいくつか用意しました。 自動運転制御まで含めてシステムを載せるパターン、接続のハブとなるPCを載せるパターン、SDKとしてメーカーの車両に組み込むパターン、メーカーが持っているサーバにつなぐパターン等。
  20. ここまで、システムの概要、機能、コンセプトなどを紹介しましたが、ここからさらに内部の詳細を紹介したいと思います。 基本AWSに載っています。 バックエンドエンジニアの関谷から。
  21. Dispacherのサーバーサイドの構成についてお話しして行きます。
  22. Dispacherの全体図 こちらが主に利用しているAWSサービスです。
  23. ではまずクライアントと遠隔管理者(Dispacher)をつないでいる部分を説明いたしします。
  24. Dispacherの常時監視画面はこのようになっている。 一覧画面では複数車両をリアルタイムに監視でき、 詳細画面では指定車両の詳細情報を監視できかつ指示を出せる ようになっております。 これを組み上げているシステムをまず紹介します。
  25. 言いたいこと データ Protocol Buffers (車両⇄サーバ) で各社の差分に耐えれるように 汎化して設計。 データはElastiCache (redis) に格納。 pub/sub機能を利用して 適切に車両 - ユーザーに配信。 ユーザーはどのインスタンスに 車両が接続しているかは気にせず 各種設定データはDynamoDB に保存してある。 GTFSのデータ構造にも対応できる。 車両側はクライアント証明書 + VPN, ユーザー側はcognitoによるトークン認証。 データをElastiCache (redis) に 集めることによりユーザーや APIなどから適切な車両に対して 、車両からも適切なユーザーに対して データを送信している。
  26. Dispacherではあらかじめ路線バスのダイヤ情報を登録することができます。 これにより自動運転車を路線バスのような定時運行を行えるように運行することが可能になります。 ちなみに、路線形でないものもできる。 これを組み上げているシステムをまず紹介します。
  27. 普段みなさまが利用しているバスは ダイヤ情報に基づいて運行されています。 ダイヤ情報とはこちらの図のような構成になっており、 定時運行情報の管理方法は 「標準的なバス情報フォーマット」という 「GTFS-JP」の形で管理しています。
  28. データストアをGTFSの形で構成しているため、GTFSフォーマットであれば そのままインポートもできます。 GTFSで既に管理されているバス会社様にはそのままインポートしていただければ 現在の運行情報をそのままDispcaherに取り込むことができます。 これを組み上げているシステムをまず紹介します。
  29. 言いたいこと 車両から dynamoDBに保存してあるスケジュールから自身が走るべきスケジュールや行路情報を取得する。 クライアントから GTFSの情報入力やスケジュール登録、車両社員営業所など各種設定情報の登録及び取得。 分析用APIの呼び出し。
  30. 言いたいこと データはESとS3にストア。 S3はバックアップがメインだった。 Websocket serverに送られた車両情報はfluend を利用しESとS3(データレイク的な)へ格納している。 ユーザー向けAPIのESの集計機能を用いている。
  31. アドホックな分析依頼とかが多くていちいち対応するのが大変だったので 非エンジニアでもさわれるkibanaを導入/ 展開。 データのビジュアライズや分析は非エンジニアにはkibanaで。 エンジニアはjupyter/Athenaでやることが多い。
  32. ちょっとしたBatch処理には Aws glue を利用しています。 理由としては、ESでのGIS処理が難しかったので一時的にRDS postgresql に格納している。
  33. Glue内の詳細ですが S3に溜まったデータをクローリング した後、sparkで前処理をしRDSへ格納。 RDSのデータを PostGISを利用した高度なGIS処理結果 を入れている。 ESにGlueが入れたデータをユーザー要求に 応じてさらに集計をかけている。 システムが出来たばかりでコンテンツはまだ乏しいが 今後batch処理はここで行う予定。 ワークフローを設定し1時間毎に作動。 時間制限も長いので、良い。 開発エンドポイントjupiter 立ててたら EMR sparkが常に立ってて金かかったよ…。
  34. ざっくりではありますが、こんな感じでDispacherはできています。 特別難しいことものなく、みなさんに馴染みのあるサービスを使ってできていている。 使い慣れたサービスを使って自動運転の監視/管理/制御/運用を行なっています。
  35. 関谷から、システムの詳細を伝えてもらいましたが、こういったシステムを使って、我々は何を解決していくのか。 この写真は、我々が鳥取県で実証実験を行った際のものですが、住民の方がこのような横断幕を掲げて、歓迎してくれたんです。 交通課題が切実だからこそ、住民の方々からの期待や感謝は非常に大きいです。
  36. 日本はアメリカなど海外に比べて、遅れていると言われることがありますが、私はそうは考えていません。 なぜか。 〜〜 これらの強みを使って、世界のどこよりも早く、自動運転サービスの実用化を実現したい。
  37. 今日紹介したシステムは、みなさんもよく知っているいつものWeb技術で構成されていると分かったと思いますが、そのシステムが自動運転車を動かし、そしてリアルな世界の課題を解決していくんです。
  38. 100年に1度といわれる、自動車の大変革の時期にさしかかっているわけですが、自動車産業は日本経済の大黒柱ですよね。そこをしっかり支えて、日本の競争力を維持していきたいと考えています。