JP6578004B2 - 自律走行車両アプリケーションを開発するための方法、装置、機器、及びコンピュータ記憶媒体 - Google Patents

自律走行車両アプリケーションを開発するための方法、装置、機器、及びコンピュータ記憶媒体 Download PDF

Info

Publication number
JP6578004B2
JP6578004B2 JP2017530149A JP2017530149A JP6578004B2 JP 6578004 B2 JP6578004 B2 JP 6578004B2 JP 2017530149 A JP2017530149 A JP 2017530149A JP 2017530149 A JP2017530149 A JP 2017530149A JP 6578004 B2 JP6578004 B2 JP 6578004B2
Authority
JP
Japan
Prior art keywords
test
container image
autonomous vehicle
repaired
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017530149A
Other languages
English (en)
Other versions
JP2018538583A (ja
Inventor
チャン,ジュン
ジィァン,チーイー
ワン,チャオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2018538583A publication Critical patent/JP2018538583A/ja
Application granted granted Critical
Publication of JP6578004B2 publication Critical patent/JP6578004B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Description

[優先権主張]
本願は、2016年10月13日に提出した中国特許出願第201610894665.0号の優先権を主張し、当該特許出願の全文を引用により本願に組み込む。
本願は、コンピュータの技術分野に関し、具体的には、自律走行車両の技術分野、特に自律走行車両アプリケーションを開発するための方法及び装置に関する。
自律走行車両の開発では、シミュレータは重要な役割を果たしており、自律走行車両の各モジュールにオフラインの集積テスト環境を提供するものである。自律走行車両のために収集したシーンデータは非常に重要な情報であり、これらのデータを使用するには、シミュレータが必要である。
しかしながら、従来技術のシミュレータはオンライン型又はオフライン型のものがあり、オフライン型はクラウドシミュレータのクライアントだけである場合がある。いずれにしても、開発者とテスター(テストをする人)の、迅速な開発のニーズと高速クラウドの大規模なシミュレーションのニーズを両立させることが難しい。また、ローカルの環境をクラウドに正確にプッシュすることも複雑で、実現することがほとんど不可能である。
本願は、自律走行車両アプリケーションを開発するための方法及び装置を提供することで、以上の背景技術に記載の技術的問題を解決することを目的とする。
第1態様によれば、本願は、自律走行車両アプリケーションを開発するための方法を提供し、この方法は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
いくつかの実施例では、前記方法は、前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む。
いくつかの実施例では、前記方法は、回帰テストにエラーが発生する場合、前記修復操作を継続するステップをさらに含む。
いくつかの実施例では、前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
いくつかの実施例では、前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む。
いくつかの実施例では、前記コンテナイメージはdockerイメージである。
第2態様によれば、本願は別の自律走行車両アプリケーションを開発するための方法を提供し、この方法は、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、前記修復しようとするコンテナイメージを起動するステップと、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
第3態様によれば、本願は自律走行車両アプリケーションを開発するための装置を提供し、この装置は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する取得ユニットと、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行する修復ユニットと、を備えており、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
いくつかの実施例では、前記装置は、前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行する回帰テストユニットをさらに備える。
いくつかの実施例では、前記装置は、回帰テストにエラーが発生する場合、前記修復操作を継続する修復継続ユニットをさらに備える。
いくつかの実施例では、前記取得ユニットはさらに、前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行い、複数のテストシーンでのオフラインテストのテスト結果を取得する。
いくつかの実施例では、前記取得ユニットはさらに、複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する。
いくつかの実施例では、前記コンテナイメージはdockerイメージである。
第4態様、本願は別の自律走行車両アプリケーションを開発するための装置を提供し、この装置は、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信する受信ユニットと、前記修復しようとするコンテナイメージを起動する起動ユニットと、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する生成ユニットと、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするアップロードユニットと、を備えており、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
本願に係る自律走行車両アプリケーションを開発するための方法及び装置によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
以下の図面を参照しながら行った非限定的な実施例についての詳細な説明に基づいて、本願の他の特徴、目的や利点はより明瞭になる。
本願を適用できる例示的なシステムアーキテクチャー図である。 本願に係る自律走行車両アプリケーションを開発するための方法の一実施例を示すフローチャートである。 本願に係る自律走行車両アプリケーションを開発するための方法の別の実施例を示すフローチャートである。 本願に係る自律走行車両アプリケーションを開発するための装置の一実施例を示す構成模式図である。 本願に係る自律走行車両アプリケーションを開発するための装置の別の実施例を示す構成模式図である。 本願の実施例を実現するための端末装置又はサーバに適用されるコンピュータシステムを示す構造模式図である。
以下、図面及び実施例を参照しながら本発明をより詳細に説明する。ここで説明する具体的な実施例は、かかる発明を説明するものに過ぎず、当該発明を限定するものではないと理解すべきである。ただし、説明の便宜上、図面に発明に関連する部分のみが示されている。
なお、衝突しない場合、本願の実施例及び実施例の特徴を相互に組み合せてもよい。以下、図面及び実施例を参照しながら本願を詳細に説明する。
図1は、本願に係る自律走行車両アプリケーションを開発するための方法又は装置の実施例を適用できる例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、ネットワーク103、及びサーバ104を備えてもよい。ネットワーク103は、端末装置101、102及びサーバ104の間に通信リンクを提供する媒体に用いられている。ネットワーク103は、様々な接続タイプ、例えば有線、無線通信リンクまたは光ファイバーケーブル等を含んでもよい。
端末装置101はディスプレイを備えた様々な電子機器であってもよく、ラップトップコンピュータやデスクトップコンピュータなどを含むが、それらに限定されない。ユーザは端末装置101、102を用いて、アプリケーションを開発したりテストしたりすることができる。端末装置はさらにネットワーク103を介してサーバ104と対話して、メッセージの送受信などを行うこともできる。
サーバ104は、様々なサービスを提供するサーバ、例えば端末装置101、102にロードされた情報をサポートするクラウドサーバであってもよい。クラウドサーバは端末装置101、102にデータ(例えば、コンテナイメージ)を配布することもでき、端末装置101、102からアップロードされた情報を受信することもできる。
なお、本願の図2に対応する実施例に係る自律走行車両アプリケーションを開発するための方法は一般的にクラウドサーバ104により実行され、相応に、図4に対応する実施例に係る自律走行車両アプリケーションを開発するための装置は一般的にクラウドサーバ104内に配置され、図3に対応する実施例に係る自律走行車両アプリケーションを開発するための方法は一般的に端末101、102により実行され、相応に、図5に対応する実施例に係る自律走行車両アプリケーションを開発するための装置は一般的に端末101、102内に配置される。
なお、図1における端末装置、ネットワークおよびサーバの数は例示的なものに過ぎない。必要に応じて、端末装置、ネットワークおよびサーバの数が任意であってもよい。
続いて、本願に係る自律走行車両アプリケーションを開発するための方法の一実施例のプロセス200を示す図2を参照する。前記自律走行車両アプリケーションを開発するための方法は、以下のステップを含む。
ステップ201:複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する。
本実施例では、自律走行車両アプリケーションを開発するための方法が実行される電子機器(例えば、図1に示される端末)は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果をローカル又は遠隔で取得できる。
本実施例のいくつかの代替的な実施形態では、ステップ201は、上記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
本実施例のいくつかの代替的な実施形態では、ステップ202は、コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンでそれぞれ自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
本実施例のいくつかの代替的な実施形態では、ステップ201は、複数のテストシーンにおいて、自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む。
ステップ202:テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、自律走行車両アプリケーションに修復操作を実行する。
本実施例では、ステップ201で取得したテスト結果に基づいて、上記電子機器(例えば、図1に示されるクラウドサーバ)は、まずテスト結果を分析し、テスト時にエラーが発生したテストシーンを特定する。その後、電子機器は、このエラーが発生したテストシーンデータを取得し、テストシーンデータを使用して自律走行車両アプリケーションに修復操作を実行する。
上記修復操作について、具体的には、まず、電子機器はテストシーンデータをコンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、次に、電子機器は修復しようとするコンテナイメージを、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備え、その後、電子機器は上記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信し、ここで、修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションを修復することで生成されたイメージである。
実際に、開発端末又はテスト端末が修復しようとするコンテナイメージを起動する時に、開発端末又はテスト端末はテストシーンデータを利用して、エラーが発生したテストシーンを再現し、開発者又はテスターは当該テストシーンで自律走行車両アプリケーションにデバッグとコンパイルを行うことにより、自動運転者アプリケーションのアプリケーションコードを修復する。その後、開発端末又はテスト端末は修復済みのアプリケーションコードをエラーコードに置き換え、修復済みコンテナイメージを形成する。最後に、開発端末又はテスト端末は修復済みコンテナイメージをクラウドサーバにアップロードし、クラウドサーバは当該修復済みコンテナイメージを取得するできる。
本実施例のいくつかの代替的な実施形態では、ステップ202の後に、上記方法は、複数のテストシーンにおいて修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む。当該実施形態によれば、回帰テストにより、修復済みの自律走行車両アプリケーションに新たにエラーが発生するか否かを検証することができる。
上記実施例のいくつかの代替的な実施形態では、上記方法は、回帰テストにエラーが発生する場合、修復操作を継続するステップをさらに含む。当該実施形態では、電子機器は修復済みコンテナイメージにおける自律走行車両アプリケーションに対して、複数のテストシーンにおいて回帰テストを実行してもよく、回帰テストにエラーが発生する場合、上記修復操作を継続する。当該実施形態では、回帰テストにエラーが発生する場合、テスト時にエラーが発生したテストシーンをコンテナイメージにプッシュして端末に配布することを繰り返し、それによりエラーが発生したテストシーンを使用して、自律走行車両アプリケーションに継続的にデバッグとコンパイルを行うことができ、最終的にエラーを修復できる。
本願の上記実施例に係る方法によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
さらに、別の自律走行車両アプリケーションを開発するための方法の実施例のプロセス300を示す図3を参照する。当該自律走行車両アプリケーションを開発するための方法のプロセス300は、以下のステップを含む。
ステップ301:クラウドサーバから配布された修復しようとするコンテナイメージを受信する。
本実施例では、クラウドサーバは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含むコンテナイメージが予め設置された。クラウドサーバは、まず複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する。その後、クラウドサーバはテスト時にエラーが発生したテストシーンのテストシーンデータをコンテナイメージにプッシュして修復しようとするイメージを形成し、端末に配布する。このようにして、自律走行車両アプリケーションを開発するための方法が実行される電子機器(例えば、図1に示される端末装置)はクラウドサーバから配布された修復しようとするコンテナイメージを受信できる。
ステップ302:上記修復しようとするコンテナイメージを起動する。
本実施例では、ステップ301で受信した修復しようとするコンテナイメージに基づいて、電子機器は当該修復しようとするコンテナイメージを起動できる。
ステップ303:開発者又はテスターが起動された修復しようとするコンテナイメージで自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する。
本実施例では、ステップ302で修復しようとするコンテナイメージを起動した後に、開発者又はテスターは起動した修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードを修復する。具体的には、修復しようとするコンテナイメージを起動した後に、電子機器は修復しようとするコンテナイメージにより生成されたコンテナにおいてテストデータを使用して上記テスト時にエラーが発生したテストシーンを再現し、開発者又はテスターは当該テストシーンを介して自律走行車両アプリケーションにデバッグとコンパイルを行い、さらに発生したエラーを修復することができる。従って、電子機器は、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードに行う修復操作を検出でき、それにより修復操作された後に、修復済みコンテナイメージを生成することができる。
ステップ304:修復済みコンテナイメージをクラウドサーバにアップロードする。
本実施例では、ステップ304で生成された修復済みコンテナイメージに基づいて、電子機器は修復済みコンテナイメージをクラウドサーバにアップロードして、自律走行車両アプリケーションのアプリケーションコードの修復を完成する。本願の上記実施例に係る方法によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
さらに、図4に示すように、上記各図に示される方法の実現として、本願は、自律走行車両アプリケーションを開発するための装置の一実施例を提供し、当該装置の実施例は図2に示される方法の実施例に対応し、具体的には、様々な電子機器に適用できる。
図4に示すように、本実施例に係る自律走行車両アプリケーションを開発するための装置400は、取得ユニット401、及び修復ユニット402を備える。取得ユニット401は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得し、修復ユニット402は、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、自律走行車両アプリケーションに修復操作を実行し、コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、上記修復操作は、テストシーンデータをコンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
本実施例では、自律走行車両アプリケーションを開発するための装置400の取得ユニット401、修復ユニット402の具体的な動作は、図2に対応する実施例のステップ201、ステップ202を参照すればよく、ここで重複説明を省略する。
本実施例のいくつかの代替的な実施形態では、装置400は回帰テストユニット403をさらに備える。回帰テストユニット403は、複数のテストシーンにおいて修復済みコンテナイメージいおける自律走行車両アプリケーションに回帰テストを実行する。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照すればよい。
本実施例のいくつかの代替的な実施形態では、装置400は修復継続ユニット404をさらに備える。修復継続ユニット404は、回帰テストにエラーが発生する場合、上記修復操作を継続する。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照する。
本実施例のいくつかの代替的な実施形態では、取得ユニット401はさらに、コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにオフラインテストを行い、複数のテストシーンでのオフラインテストのテスト結果を取得する。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照すればよい。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照すればよい。
本実施例のいくつかの代替的な実施形態では、取得ユニット401はさらに、複数のテストシーンにおいて、自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照すればよい。
本実施例のいくつかの代替的な実施形態では、上記コンテナイメージはdockerイメージである。当該実施形態の具体的にな処理は、図2に対応する実施例の相応な実施形態を参照すればよい。
さらに、図5に示すように、上記各図に示される方法の実現として、本願は、自律走行車両アプリケーションを開発するための装置の一実施例を提供し、当該装置の実施例は図3に示される方法の実施例に対応し、具体的には様々な電子機器に適用できる。
図5に示すように、本実施例に係る自律走行車両アプリケーションを開発するための装置500は、受信ユニット501、起動ユニット502、生成ユニット503、及びアップロードユニット504を備える。受信ユニット501はクラウドサーバから配布された修復しようとするコンテナイメージを受信し、上記クラウドサーバは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含むコンテナイメージが予め設置されており、当該修復しようとするコンテナイメージはクラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータをコンテナイメージにプッシュして形成されたイメージであり、起動ユニット502は修復しようとするコンテナイメージを起動し、生成ユニット503は修復しようとするコンテナイメージを起動し、アップロードユニット504は修復済みコンテナイメージをクラウドサーバにアップロードする。
本実施例では、受信ユニット501、起動ユニット502、生成ユニット503及びアップロードユニット504の具体的な動作は図3に対応する実施例のステップ301、ステップ302、ステップ303及びステップ304を参照すればよく、ここで重複説明を省略する。
以下、本発明の実施例を実現するためのサーバに適用されるコンピュータシステム600を示す構造模式図である図6を参照する。
図6に示すように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に記憶されているプログラム又は記憶部608からランダムアクセスメモリ(RAM)603にロードされたプログラムに基づいて様々な適当な動作及び処理を実行することができる中央処理装置(CPU)601を備える。RAM603には、システム600の操作に必要な様々なプログラム及びデータがさらに記憶されている。CPU601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
キーボード、マウスなどを含む入力部606、陰極線管(CRT)、液晶ディスプレイ(LCD)など、及びスピーカなどを含む出力部607、ハードディスクなどを含む記憶部608、及びLANカード、モデムなどを含むネットワークインターフェースカードの通信部609は、I/Oインターフェース605に接続されている。通信部609は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ610は、必要に応じてI/Oインターフェース605に接続される。リムーバブルメディア611は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ610に取り付けられ、したがって、ドライバ610から読み出されたコンピュータプログラムが必要に応じて記憶部608にインストールされる。
特に、本発明の実施例によれば、フローチャートを参照しながら記載された上記のプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部609を介してネットワークからダウンロードされてインストールされてもよく、及び/又はリムーバブルメディア611からインストールされてもよい。
図面におけるフローチャート及びブロック図は、本発明の各実施例に係るシステム、方法及びコンピュータプログラム製品により実現可能なアーキテクチャ、機能及び操作を示す。ここで、フローチャート又はブロック図における各枠は、1つのモジュール、プログラムセグメント、又はコードの一部を代表してもよく、前記モジュール、プログラムセグメント、又はコードの一部は、規定された論理機能を達成するための1つ以上の実行可能な命令を含む。また、いくつかの代替実施態様として、枠に示された機能は、図面に示された順番と異なる順番で実行されてもよい。例えば、連続して示された2つの枠は、関連する機能に応じて、実際にほぼ並行に実行されてもよく、逆の順番で実行されてもよい。また、ブロック図及び/又はフローチャートにおける各枠と、ブロック図及び/又はフローチャートにおける枠の組合せは、規定された機能又は操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、あるいは、専用ハードウェアとコンピュータの命令との組合せで実行されてもよい。
本発明の実施例に記載されたユニットは、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載されたユニットは、プロセッサに設定されてもよく、例えば、「取得ユニット及び修復ユニットを備えるプロセッサ」として記載されてもよい。その中でも、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではなく、例えば、取得ユニットは、「複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するユニット」として記載されてもよい。
一方、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記実施例の前記装置に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立に存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。前記不揮発性コンピュータ記憶媒体は、1つ以上のプログラムが記憶され、前記1つ以上のプログラムが1つの機器により実行された場合、前記機器に、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得し、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するようにさせ、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージであり、あるいは、前記不揮発性コンピュータ記憶媒体は、1つ以上のプログラムが記憶され、前記1つ以上のプログラムが1つの機器により実行された場合、前記機器に、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信し、前記修復しようとするコンテナイメージを起動し、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成し、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするようにさせ、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
以上の記載は、本発明の好ましい実施例、及び使用された技術的原理の説明に過ぎない。本発明に係る特許請求の範囲が、上記した技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記の技術的特徴又は同等の特徴の任意の組合せからなる他の技術案も含むべきであることを、当業者は理解すべきである。例えば、上記の特徴と、本発明に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。

Claims (18)

  1. 複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
    テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
    ンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
    前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
    ことを特徴とする自律走行車両アプリケーションを開発するための方法。
  2. 前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む
    ことを特徴とする請求項1に記載の方法。
  3. 回帰テストにエラーが発生する場合、前記修復操作を継続するステップをさらに含む
    ことを特徴とする請求項2に記載の方法。
  4. 前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、
    前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行うステップと、
    複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む
    ことを特徴とする請求項1に記載の方法。
  5. 前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、
    複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む
    ことを特徴とする請求項1に記載の方法。
  6. 前記コンテナイメージはdockerイメージである
    ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
  7. コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
    前記修復しようとするコンテナイメージを起動するステップと、
    開発者又はテスターが起動された修復しようとするコンテナイメージで律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
    前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
    ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
    ことを特徴とする自律走行車両アプリケーションを開発するための方法。
  8. 複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する取得ユニットと、
    テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行する修復ユニットと、を備えており、
    ンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
    前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
    ことを特徴とする自律走行車両アプリケーションを開発するための装置。
  9. 前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行する回帰テストユニットをさらに備える
    ことを特徴とする請求項8に記載の装置。
  10. 回帰テストにエラーが発生する場合、前記修復操作を継続する修復継続ユニットをさらに備える
    ことを特徴とする請求項9に記載の装置。
  11. 前記取得ユニットはさらに、
    前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行い、
    複数のテストシーンでのオフラインテストのテスト結果を取得する
    ことを特徴とする請求項8に記載の装置。
  12. 前記取得ユニットはさらに、
    複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する
    ことを特徴とする請求項8に記載の装置。
  13. 前記コンテナイメージはdockerイメージである
    ことを特徴とする請求項8−12のいずれか1項に記載の装置。
  14. コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信する受信ユニットと、
    前記しようとするコンテナイメージを起動する起動ユニットと、
    開発者又はテスターが起動された修復しようとするコンテナイメージで律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する生成ユニットと、
    前記修復済みコンテナイメージを前記クラウドサーバにアップロードするアップロードユニットと、を備えており、
    ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
    ことを特徴とする自律走行車両アプリケーションを開発するための装置。
  15. プロセッサ、及びメモリを備えており、
    前記メモリは、前記プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令が実行される場合、前記プロセッサは、自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
    複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
    テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
    ンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
    前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
    ことを特徴とする機器。
  16. プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令がプロセッサにより実行される場合、前記プロセッサは自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
    複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
    テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
    ンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
    前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
    ことを特徴とする不揮発性コンピュータ記憶媒体。
  17. プロセッサ、及びメモリを備えており、
    前記メモリは、前記プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令が実行される場合、前記プロセッサは、自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
    コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
    前記修復しようとするコンテナイメージを起動するステップと、
    開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
    前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
    ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
    ことを特徴とする機器。
  18. プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令がプロセッサにより実行される場合、前記プロセッサは自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
    コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
    前記しようとするコンテナイメージを起動するステップと、
    開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
    前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
    ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
    ことを特徴とする不揮発性コンピュータ記憶媒体。
JP2017530149A 2016-10-13 2017-01-03 自律走行車両アプリケーションを開発するための方法、装置、機器、及びコンピュータ記憶媒体 Active JP6578004B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610894665.0 2016-10-13
CN201610894665.0A CN108376061B (zh) 2016-10-13 2016-10-13 用于开发无人驾驶车辆应用的方法和装置
PCT/CN2017/000041 WO2018068427A1 (zh) 2016-10-13 2017-01-03 用于开发无人驾驶车辆应用的方法和装置

Publications (2)

Publication Number Publication Date
JP2018538583A JP2018538583A (ja) 2018-12-27
JP6578004B2 true JP6578004B2 (ja) 2019-09-18

Family

ID=61905072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017530149A Active JP6578004B2 (ja) 2016-10-13 2017-01-03 自律走行車両アプリケーションを開発するための方法、装置、機器、及びコンピュータ記憶媒体

Country Status (4)

Country Link
US (1) US20190087307A1 (ja)
JP (1) JP6578004B2 (ja)
CN (1) CN108376061B (ja)
WO (1) WO2018068427A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019089015A1 (en) 2017-10-31 2019-05-09 Nissan North America, Inc. Autonomous vehicle operation with explicit occlusion reasoning
US11874120B2 (en) * 2017-12-22 2024-01-16 Nissan North America, Inc. Shared autonomous vehicle operational management
CN108594819A (zh) * 2018-05-03 2018-09-28 济南浪潮高新科技投资发展有限公司 自动驾驶车载计算资源管理系统和方法
CN109783374A (zh) * 2018-12-27 2019-05-21 北京百度网讯科技有限公司 自动驾驶领域的代码处理方法、装置、设备和计算机存储介质
CN109800475A (zh) * 2018-12-27 2019-05-24 北京百度网讯科技有限公司 自动驾驶数据处理方法、装置、设备和计算机存储介质
CN109992884B (zh) * 2019-04-01 2021-06-22 清华大学 基于最差场景搜索的自动驾驶车辆功能测评方法
CN110245078B (zh) * 2019-05-24 2020-11-13 平安国际智慧城市科技股份有限公司 一种软件的压力测试方法、装置、存储介质和服务器
CN110908675B (zh) * 2019-11-15 2023-10-24 北京百度网讯科技有限公司 运行环境获取方法、装置和电子设备
US11635758B2 (en) * 2019-11-26 2023-04-25 Nissan North America, Inc. Risk aware executor with action set recommendations
US11899454B2 (en) 2019-11-26 2024-02-13 Nissan North America, Inc. Objective-based reasoning in autonomous vehicle decision-making
US11613269B2 (en) 2019-12-23 2023-03-28 Nissan North America, Inc. Learning safety and human-centered constraints in autonomous vehicles
CN111122175B (zh) * 2020-01-02 2022-02-25 阿波罗智能技术(北京)有限公司 测试自动驾驶系统的方法以及装置
US11714971B2 (en) 2020-01-31 2023-08-01 Nissan North America, Inc. Explainability of autonomous vehicle decision making
US11782438B2 (en) 2020-03-17 2023-10-10 Nissan North America, Inc. Apparatus and method for post-processing a decision-making model of an autonomous vehicle using multivariate data
CN111752538B (zh) * 2020-06-23 2024-03-15 华人运通(上海)云计算科技有限公司 车端场景的生成方法、装置、云端、车端和存储介质
CN112527632B (zh) * 2020-11-20 2021-09-28 北京赛目科技有限公司 一种交通测试方法及装置
CN112527633B (zh) * 2020-11-20 2021-10-01 北京赛目科技有限公司 一种场景库的自动驾驶仿真测试方法及装置
CN112596750B (zh) * 2020-12-28 2022-04-26 上海安畅网络科技股份有限公司 应用测试方法、装置、电子设备及计算机可读存储介质
US11405462B1 (en) * 2021-07-15 2022-08-02 Argo AI, LLC Systems, methods, and computer program products for testing of cloud and onboard autonomous vehicle systems

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258944A (ja) * 2003-02-26 2004-09-16 Hitachi Ltd ストレージ装置およびその管理方法
EP1680741B1 (en) * 2003-11-04 2012-09-05 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems
WO2006047741A2 (en) * 2004-10-27 2006-05-04 Bae Systems Land & Armaments L.P. Software test environment for regression testing ground combat vehicle software
CN100547562C (zh) * 2006-10-18 2009-10-07 国际商业机器公司 自动生成可再现运行时问题的单元测试用例的方法和系统
CA3022462C (en) * 2010-07-09 2020-10-27 State Street Corporation Systems and methods for private cloud computing
CN103748562B (zh) * 2010-12-23 2019-03-29 英特尔公司 测试、验证和调试架构
JP2012234260A (ja) * 2011-04-28 2012-11-29 Hitachi Automotive Systems Ltd 車両制御シミュレーションシステム
CN102508751A (zh) * 2011-12-09 2012-06-20 盛科网络(苏州)有限公司 数据设备可靠性自动化测试方法及系统
CN103164579B (zh) * 2013-03-14 2015-06-03 同济大学 一种实现微观交通仿真器与驾驶模拟器交互式一体化实验平台的方法
CN103207090B (zh) * 2013-04-09 2016-02-24 北京理工大学 一种无人驾驶车辆环境模拟测试系统及测试方法
US9379855B2 (en) * 2013-06-03 2016-06-28 MiCOM Labs, Inc. Method and apparatus for a remote modular test system
US9836386B2 (en) * 2014-12-18 2017-12-05 Red Hat Israel, Ltd. Automatic switch to debugging mode
CN105787364B (zh) * 2014-12-23 2020-06-30 深圳市腾讯计算机系统有限公司 任务的自动化测试方法、装置及系统
DE102016220913A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zur Generierung von Testfällen für autonome Fahrzeuge
DE102016220670A1 (de) * 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und System zum Testen von Software für autonome Fahrzeuge
CN105224466B (zh) * 2015-11-17 2018-08-28 广州亦云信息技术有限公司 一种基于Docker的集成测试方法及系统
CN105630488A (zh) * 2015-12-18 2016-06-01 上海爱数信息技术股份有限公司 一种基于docker容器技术的持续集成实现方法
CN105763602B (zh) * 2016-01-29 2017-12-01 腾讯科技(深圳)有限公司 一种数据请求处理的方法、服务器及系统
CN105893850B (zh) * 2016-03-30 2017-12-15 百度在线网络技术(北京)有限公司 漏洞修复方法和装置
CN105954040B (zh) * 2016-04-22 2019-02-12 百度在线网络技术(北京)有限公司 应用于无人驾驶汽车的测试方法和装置
CN105956268B (zh) * 2016-04-29 2018-01-02 百度在线网络技术(北京)有限公司 应用于无人驾驶汽车的测试场景构建方法和装置
US10055339B2 (en) * 2016-09-28 2018-08-21 Wipro Limited Methods and systems for testing mobile applications

Also Published As

Publication number Publication date
WO2018068427A1 (zh) 2018-04-19
CN108376061B (zh) 2019-12-10
CN108376061A (zh) 2018-08-07
JP2018538583A (ja) 2018-12-27
US20190087307A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
JP6578004B2 (ja) 自律走行車両アプリケーションを開発するための方法、装置、機器、及びコンピュータ記憶媒体
US11144439B2 (en) Emulation-based testing of a microservices architecture
US20140331209A1 (en) Program Testing Service
US8584083B2 (en) Software application recreation
US9292423B1 (en) Monitoring applications for compatibility issues
US10552306B2 (en) Automated test generation for multi-interface and multi-platform enterprise virtualization management environment
US20160378521A1 (en) Automated test optimization
US20140157241A1 (en) Code-free testing framework
JP7387773B2 (ja) 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US20220237111A1 (en) Distributed immutable data object testing
US20140331205A1 (en) Program Testing Service
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
Grønli et al. Meeting quality standards for mobile application development in businesses: A framework for cross-platform testing
CA2910977A1 (en) Program testing service
US9710575B2 (en) Hybrid platform-dependent simulation interface
Gudmundsson et al. An initial evaluation of model-based testing
CN112988588B (zh) 客户端软件调试方法、装置、存储介质及电子设备
Lehmann et al. A framework for evaluating continuous microservice delivery strategies
Starov Cloud platform for research crowdsourcing in mobile testing
CN116126710A (zh) 一种车载软件仿真方法、装置、设备及介质
US10481969B2 (en) Configurable system wide tests
CN112882921B (zh) 故障模拟方法和装置
JP2019114223A (ja) 仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法及びコンピューティングシステム
CN113535590A (zh) 程序测试方法和装置
CN108762957B (zh) 一种云平台演示系统的生成方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190313

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190823

R150 Certificate of patent or registration of utility model

Ref document number: 6578004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250