(57)【特許請求の範囲】
【請求項１】
複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
ことを特徴とする自律走行車両アプリケーションを開発するための方法。
【請求項２】
前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
回帰テストにエラーが発生する場合、前記修復操作を継続するステップをさらに含む
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、
前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行うステップと、
複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、
複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記コンテナイメージはｄｏｃｋｅｒイメージである
ことを特徴とする請求項１〜５のいずれか１項に記載の方法。
【請求項７】
コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
前記修復しようとするコンテナイメージを起動するステップと、
開発者又はテスターが起動された修復しようとするコンテナイメージで自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
ことを特徴とする自律走行車両アプリケーションを開発するための方法。
【請求項８】
複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する取得ユニットと、
テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行する修復ユニットと、を備えており、
コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
ことを特徴とする自律走行車両アプリケーションを開発するための装置。
【請求項９】
前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行する回帰テストユニットをさらに備える
ことを特徴とする請求項８に記載の装置。
【請求項１０】
回帰テストにエラーが発生する場合、前記修復操作を継続する修復継続ユニットをさらに備える
ことを特徴とする請求項９に記載の装置。
【請求項１１】
前記取得ユニットはさらに、
前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行い、
複数のテストシーンでのオフラインテストのテスト結果を取得する
ことを特徴とする請求項８に記載の装置。
【請求項１２】
前記取得ユニットはさらに、
複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する
ことを特徴とする請求項８に記載の装置。
【請求項１３】
前記コンテナイメージはｄｏｃｋｅｒイメージである
ことを特徴とする請求項８−１２のいずれか１項に記載の装置。
【請求項１４】
コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信する受信ユニットと、
前記しようとするコンテナイメージを起動する起動ユニットと、
開発者又はテスターが起動された修復しようとするコンテナイメージで自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する生成ユニットと、
前記修復済みコンテナイメージを前記クラウドサーバにアップロードするアップロードユニットと、を備えており、
ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
ことを特徴とする自律走行車両アプリケーションを開発するための装置。
【請求項１５】
プロセッサ、及びメモリを備えており、
前記メモリは、前記プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令が実行される場合、前記プロセッサは、自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
ことを特徴とする機器。
【請求項１６】
プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令がプロセッサにより実行される場合、前記プロセッサは自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、
テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、
コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、
前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである
ことを特徴とする不揮発性コンピュータ記憶媒体。
【請求項１７】
プロセッサ、及びメモリを備えており、
前記メモリは、前記プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令が実行される場合、前記プロセッサは、自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
前記修復しようとするコンテナイメージを起動するステップと、
開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
ことを特徴とする機器。
【請求項１８】
プロセッサにより実行可能なコンピュータ可読命令が記憶されており、前記コンピュータ可読命令がプロセッサにより実行される場合、前記プロセッサは自律走行車両アプリケーションを開発するための方法を実行し、前記方法は、
コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、
前記しようとするコンテナイメージを起動するステップと、
開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、
前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、
ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである
ことを特徴とする不揮発性コンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権主張］
本願は、２０１６年１０月１３日に提出した中国特許出願第２０１６１０８９４６６５．０号の優先権を主張し、当該特許出願の全文を引用により本願に組み込む。
【０００２】
本願は、コンピュータの技術分野に関し、具体的には、自律走行車両の技術分野、特に自律走行車両アプリケーションを開発するための方法及び装置に関する。
【背景技術】
【０００３】
自律走行車両の開発では、シミュレータは重要な役割を果たしており、自律走行車両の各モジュールにオフラインの集積テスト環境を提供するものである。自律走行車両のために収集したシーンデータは非常に重要な情報であり、これらのデータを使用するには、シミュレータが必要である。
【０００４】
しかしながら、従来技術のシミュレータはオンライン型又はオフライン型のものがあり、オフライン型はクラウドシミュレータのクライアントだけである場合がある。いずれにしても、開発者とテスター（テストをする人）の、迅速な開発のニーズと高速クラウドの大規模なシミュレーションのニーズを両立させることが難しい。また、ローカルの環境をクラウドに正確にプッシュすることも複雑で、実現することがほとんど不可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願は、自律走行車両アプリケーションを開発するための方法及び装置を提供することで、以上の背景技術に記載の技術的問題を解決することを目的とする。
【課題を解決するための手段】
【０００６】
第１態様によれば、本願は、自律走行車両アプリケーションを開発するための方法を提供し、この方法は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップと、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するステップと、を含んでおり、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
【０００７】
いくつかの実施例では、前記方法は、前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む。
【０００８】
いくつかの実施例では、前記方法は、回帰テストにエラーが発生する場合、前記修復操作を継続するステップをさらに含む。
【０００９】
いくつかの実施例では、前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
【００１０】
いくつかの実施例では、前記の複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するステップにおいては、複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む。
【００１１】
いくつかの実施例では、前記コンテナイメージはｄｏｃｋｅｒイメージである。
【００１２】
第２態様によれば、本願は別の自律走行車両アプリケーションを開発するための方法を提供し、この方法は、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信するステップと、前記修復しようとするコンテナイメージを起動するステップと、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成するステップと、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするステップと、を含んでおり、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
【００１３】
第３態様によれば、本願は自律走行車両アプリケーションを開発するための装置を提供し、この装置は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する取得ユニットと、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行する修復ユニットと、を備えており、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
【００１４】
いくつかの実施例では、前記装置は、前記複数のテストシーンにおいて前記修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行する回帰テストユニットをさらに備える。
【００１５】
いくつかの実施例では、前記装置は、回帰テストにエラーが発生する場合、前記修復操作を継続する修復継続ユニットをさらに備える。
【００１６】
いくつかの実施例では、前記取得ユニットはさらに、前記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ前記自律走行車両アプリケーションにオフラインテストを行い、複数のテストシーンでのオフラインテストのテスト結果を取得する。
【００１７】
いくつかの実施例では、前記取得ユニットはさらに、複数のテストシーンにおいて、前記自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する。
【００１８】
いくつかの実施例では、前記コンテナイメージはｄｏｃｋｅｒイメージである。
【００１９】
第４態様、本願は別の自律走行車両アプリケーションを開発するための装置を提供し、この装置は、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信する受信ユニットと、前記修復しようとするコンテナイメージを起動する起動ユニットと、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する生成ユニットと、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするアップロードユニットと、を備えており、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
【００２０】
本願に係る自律走行車両アプリケーションを開発するための方法及び装置によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
【００２１】
以下の図面を参照しながら行った非限定的な実施例についての詳細な説明に基づいて、本願の他の特徴、目的や利点はより明瞭になる。
【図面の簡単な説明】
【００２２】
【図１】本願を適用できる例示的なシステムアーキテクチャー図である。
【図２】本願に係る自律走行車両アプリケーションを開発するための方法の一実施例を示すフローチャートである。
【図３】本願に係る自律走行車両アプリケーションを開発するための方法の別の実施例を示すフローチャートである。
【図４】本願に係る自律走行車両アプリケーションを開発するための装置の一実施例を示す構成模式図である。
【図５】本願に係る自律走行車両アプリケーションを開発するための装置の別の実施例を示す構成模式図である。
【図６】本願の実施例を実現するための端末装置又はサーバに適用されるコンピュータシステムを示す構造模式図である。
【発明を実施するための形態】
【００２３】
以下、図面及び実施例を参照しながら本発明をより詳細に説明する。ここで説明する具体的な実施例は、かかる発明を説明するものに過ぎず、当該発明を限定するものではないと理解すべきである。ただし、説明の便宜上、図面に発明に関連する部分のみが示されている。
【００２４】
なお、衝突しない場合、本願の実施例及び実施例の特徴を相互に組み合せてもよい。以下、図面及び実施例を参照しながら本願を詳細に説明する。
【００２５】
図１は、本願に係る自律走行車両アプリケーションを開発するための方法又は装置の実施例を適用できる例示的なシステムアーキテクチャ１００を示す。
【００２６】
図１に示すように、システムアーキテクチャ１００は、端末装置１０１、１０２、ネットワーク１０３、及びサーバ１０４を備えてもよい。ネットワーク１０３は、端末装置１０１、１０２及びサーバ１０４の間に通信リンクを提供する媒体に用いられている。ネットワーク１０３は、様々な接続タイプ、例えば有線、無線通信リンクまたは光ファイバーケーブル等を含んでもよい。
【００２７】
端末装置１０１はディスプレイを備えた様々な電子機器であってもよく、ラップトップコンピュータやデスクトップコンピュータなどを含むが、それらに限定されない。ユーザは端末装置１０１、１０２を用いて、アプリケーションを開発したりテストしたりすることができる。端末装置はさらにネットワーク１０３を介してサーバ１０４と対話して、メッセージの送受信などを行うこともできる。
【００２８】
サーバ１０４は、様々なサービスを提供するサーバ、例えば端末装置１０１、１０２にロードされた情報をサポートするクラウドサーバであってもよい。クラウドサーバは端末装置１０１、１０２にデータ（例えば、コンテナイメージ）を配布することもでき、端末装置１０１、１０２からアップロードされた情報を受信することもできる。
【００２９】
なお、本願の図２に対応する実施例に係る自律走行車両アプリケーションを開発するための方法は一般的にクラウドサーバ１０４により実行され、相応に、図４に対応する実施例に係る自律走行車両アプリケーションを開発するための装置は一般的にクラウドサーバ１０４内に配置され、図３に対応する実施例に係る自律走行車両アプリケーションを開発するための方法は一般的に端末１０１、１０２により実行され、相応に、図５に対応する実施例に係る自律走行車両アプリケーションを開発するための装置は一般的に端末１０１、１０２内に配置される。
【００３０】
なお、図１における端末装置、ネットワークおよびサーバの数は例示的なものに過ぎない。必要に応じて、端末装置、ネットワークおよびサーバの数が任意であってもよい。
【００３１】
続いて、本願に係る自律走行車両アプリケーションを開発するための方法の一実施例のプロセス２００を示す図２を参照する。前記自律走行車両アプリケーションを開発するための方法は、以下のステップを含む。
【００３２】
ステップ２０１：複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する。
【００３３】
本実施例では、自律走行車両アプリケーションを開発するための方法が実行される電子機器（例えば、図１に示される端末）は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果をローカル又は遠隔で取得できる。
【００３４】
本実施例のいくつかの代替的な実施形態では、ステップ２０１は、上記コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
【００３５】
本実施例のいくつかの代替的な実施形態では、ステップ２０２は、コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンでそれぞれ自律走行車両アプリケーションにオフラインテストを行うステップと、複数のテストシーンでのオフラインテストのテスト結果を取得するステップと、を含む。
【００３６】
本実施例のいくつかの代替的な実施形態では、ステップ２０１は、複数のテストシーンにおいて、自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得するステップを含む。
【００３７】
ステップ２０２：テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、自律走行車両アプリケーションに修復操作を実行する。
【００３８】
本実施例では、ステップ２０１で取得したテスト結果に基づいて、上記電子機器（例えば、図１に示されるクラウドサーバ）は、まずテスト結果を分析し、テスト時にエラーが発生したテストシーンを特定する。その後、電子機器は、このエラーが発生したテストシーンデータを取得し、テストシーンデータを使用して自律走行車両アプリケーションに修復操作を実行する。
【００３９】
上記修復操作について、具体的には、まず、電子機器はテストシーンデータをコンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、次に、電子機器は修復しようとするコンテナイメージを、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備え、その後、電子機器は上記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信し、ここで、修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションを修復することで生成されたイメージである。
【００４０】
実際に、開発端末又はテスト端末が修復しようとするコンテナイメージを起動する時に、開発端末又はテスト端末はテストシーンデータを利用して、エラーが発生したテストシーンを再現し、開発者又はテスターは当該テストシーンで自律走行車両アプリケーションにデバッグとコンパイルを行うことにより、自動運転者アプリケーションのアプリケーションコードを修復する。その後、開発端末又はテスト端末は修復済みのアプリケーションコードをエラーコードに置き換え、修復済みコンテナイメージを形成する。最後に、開発端末又はテスト端末は修復済みコンテナイメージをクラウドサーバにアップロードし、クラウドサーバは当該修復済みコンテナイメージを取得するできる。
【００４１】
本実施例のいくつかの代替的な実施形態では、ステップ２０２の後に、上記方法は、複数のテストシーンにおいて修復済みコンテナイメージにおける自律走行車両アプリケーションに回帰テストを実行するステップをさらに含む。当該実施形態によれば、回帰テストにより、修復済みの自律走行車両アプリケーションに新たにエラーが発生するか否かを検証することができる。
【００４２】
上記実施例のいくつかの代替的な実施形態では、上記方法は、回帰テストにエラーが発生する場合、修復操作を継続するステップをさらに含む。当該実施形態では、電子機器は修復済みコンテナイメージにおける自律走行車両アプリケーションに対して、複数のテストシーンにおいて回帰テストを実行してもよく、回帰テストにエラーが発生する場合、上記修復操作を継続する。当該実施形態では、回帰テストにエラーが発生する場合、テスト時にエラーが発生したテストシーンをコンテナイメージにプッシュして端末に配布することを繰り返し、それによりエラーが発生したテストシーンを使用して、自律走行車両アプリケーションに継続的にデバッグとコンパイルを行うことができ、最終的にエラーを修復できる。
【００４３】
本願の上記実施例に係る方法によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
【００４４】
さらに、別の自律走行車両アプリケーションを開発するための方法の実施例のプロセス３００を示す図３を参照する。当該自律走行車両アプリケーションを開発するための方法のプロセス３００は、以下のステップを含む。
【００４５】
ステップ３０１：クラウドサーバから配布された修復しようとするコンテナイメージを受信する。
【００４６】
本実施例では、クラウドサーバは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含むコンテナイメージが予め設置された。クラウドサーバは、まず複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得する。その後、クラウドサーバはテスト時にエラーが発生したテストシーンのテストシーンデータをコンテナイメージにプッシュして修復しようとするイメージを形成し、端末に配布する。このようにして、自律走行車両アプリケーションを開発するための方法が実行される電子機器（例えば、図１に示される端末装置）はクラウドサーバから配布された修復しようとするコンテナイメージを受信できる。
【００４７】
ステップ３０２：上記修復しようとするコンテナイメージを起動する。
【００４８】
本実施例では、ステップ３０１で受信した修復しようとするコンテナイメージに基づいて、電子機器は当該修復しようとするコンテナイメージを起動できる。
【００４９】
ステップ３０３：開発者又はテスターが起動された修復しようとするコンテナイメージで自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成する。
【００５０】
本実施例では、ステップ３０２で修復しようとするコンテナイメージを起動した後に、開発者又はテスターは起動した修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードを修復する。具体的には、修復しようとするコンテナイメージを起動した後に、電子機器は修復しようとするコンテナイメージにより生成されたコンテナにおいてテストデータを使用して上記テスト時にエラーが発生したテストシーンを再現し、開発者又はテスターは当該テストシーンを介して自律走行車両アプリケーションにデバッグとコンパイルを行い、さらに発生したエラーを修復することができる。従って、電子機器は、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードに行う修復操作を検出でき、それにより修復操作された後に、修復済みコンテナイメージを生成することができる。
【００５１】
ステップ３０４：修復済みコンテナイメージをクラウドサーバにアップロードする。
【００５２】
本実施例では、ステップ３０４で生成された修復済みコンテナイメージに基づいて、電子機器は修復済みコンテナイメージをクラウドサーバにアップロードして、自律走行車両アプリケーションのアプリケーションコードの修復を完成する。本願の上記実施例に係る方法によれば、クラウドサーバにおいて、複数のテストシーンで自律走行車両アプリケーションをテストしたテスト結果を取得し、端末とクラウドサーバにおける環境の整合性をコンテナイメージにより実現し、したがって、端末においてエラーが発生したテストシーンを使用して自律走行車両アプリケーションを修復でき、それにより開発効率を大幅に向上することができる。
【００５３】
さらに、図４に示すように、上記各図に示される方法の実現として、本願は、自律走行車両アプリケーションを開発するための装置の一実施例を提供し、当該装置の実施例は図２に示される方法の実施例に対応し、具体的には、様々な電子機器に適用できる。
【００５４】
図４に示すように、本実施例に係る自律走行車両アプリケーションを開発するための装置４００は、取得ユニット４０１、及び修復ユニット４０２を備える。取得ユニット４０１は、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得し、修復ユニット４０２は、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、自律走行車両アプリケーションに修復操作を実行し、コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、上記修復操作は、テストシーンデータをコンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージである。
【００５５】
本実施例では、自律走行車両アプリケーションを開発するための装置４００の取得ユニット４０１、修復ユニット４０２の具体的な動作は、図２に対応する実施例のステップ２０１、ステップ２０２を参照すればよく、ここで重複説明を省略する。
【００５６】
本実施例のいくつかの代替的な実施形態では、装置４００は回帰テストユニット４０３をさらに備える。回帰テストユニット４０３は、複数のテストシーンにおいて修復済みコンテナイメージいおける自律走行車両アプリケーションに回帰テストを実行する。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照すればよい。
【００５７】
本実施例のいくつかの代替的な実施形態では、装置４００は修復継続ユニット４０４をさらに備える。修復継続ユニット４０４は、回帰テストにエラーが発生する場合、上記修復操作を継続する。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照する。
【００５８】
本実施例のいくつかの代替的な実施形態では、取得ユニット４０１はさらに、コンテナイメージを起動し、シミュレータによりシミュレートされた複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにオフラインテストを行い、複数のテストシーンでのオフラインテストのテスト結果を取得する。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照すればよい。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照すればよい。
【００５９】
本実施例のいくつかの代替的な実施形態では、取得ユニット４０１はさらに、複数のテストシーンにおいて、自律走行車両アプリケーションが構築された自律走行車両に路上テストを行ったテスト結果を取得する。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照すればよい。
【００６０】
本実施例のいくつかの代替的な実施形態では、上記コンテナイメージはｄｏｃｋｅｒイメージである。当該実施形態の具体的にな処理は、図２に対応する実施例の相応な実施形態を参照すればよい。
【００６１】
さらに、図５に示すように、上記各図に示される方法の実現として、本願は、自律走行車両アプリケーションを開発するための装置の一実施例を提供し、当該装置の実施例は図３に示される方法の実施例に対応し、具体的には様々な電子機器に適用できる。
【００６２】
図５に示すように、本実施例に係る自律走行車両アプリケーションを開発するための装置５００は、受信ユニット５０１、起動ユニット５０２、生成ユニット５０３、及びアップロードユニット５０４を備える。受信ユニット５０１はクラウドサーバから配布された修復しようとするコンテナイメージを受信し、上記クラウドサーバは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含むコンテナイメージが予め設置されており、当該修復しようとするコンテナイメージはクラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータをコンテナイメージにプッシュして形成されたイメージであり、起動ユニット５０２は修復しようとするコンテナイメージを起動し、生成ユニット５０３は修復しようとするコンテナイメージを起動し、アップロードユニット５０４は修復済みコンテナイメージをクラウドサーバにアップロードする。
【００６３】
本実施例では、受信ユニット５０１、起動ユニット５０２、生成ユニット５０３及びアップロードユニット５０４の具体的な動作は図３に対応する実施例のステップ３０１、ステップ３０２、ステップ３０３及びステップ３０４を参照すればよく、ここで重複説明を省略する。
【００６４】
以下、本発明の実施例を実現するためのサーバに適用されるコンピュータシステム６００を示す構造模式図である図６を参照する。
【００６５】
図６に示すように、コンピュータシステム６００は、読み出し専用メモリ（ＲＯＭ）６０２に記憶されているプログラム又は記憶部６０８からランダムアクセスメモリ（ＲＡＭ）６０３にロードされたプログラムに基づいて様々な適当な動作及び処理を実行することができる中央処理装置（ＣＰＵ）６０１を備える。ＲＡＭ６０３には、システム６００の操作に必要な様々なプログラム及びデータがさらに記憶されている。ＣＰＵ６０１、ＲＯＭ６０２及びＲＡＭ６０３は、バス６０４を介して互いに接続されている。入力／出力（Ｉ／Ｏ）インターフェース６０５もバス６０４に接続されている。
【００６６】
キーボード、マウスなどを含む入力部６０６、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）など、及びスピーカなどを含む出力部６０７、ハードディスクなどを含む記憶部６０８、及びＬＡＮカード、モデムなどを含むネットワークインターフェースカードの通信部６０９は、Ｉ／Ｏインターフェース６０５に接続されている。通信部６０９は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ６１０は、必要に応じてＩ／Ｏインターフェース６０５に接続される。リムーバブルメディア６１１は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ６１０に取り付けられ、したがって、ドライバ６１０から読み出されたコンピュータプログラムが必要に応じて記憶部６０８にインストールされる。
【００６７】
特に、本発明の実施例によれば、フローチャートを参照しながら記載された上記のプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部６０９を介してネットワークからダウンロードされてインストールされてもよく、及び／又はリムーバブルメディア６１１からインストールされてもよい。
【００６８】
図面におけるフローチャート及びブロック図は、本発明の各実施例に係るシステム、方法及びコンピュータプログラム製品により実現可能なアーキテクチャ、機能及び操作を示す。ここで、フローチャート又はブロック図における各枠は、１つのモジュール、プログラムセグメント、又はコードの一部を代表してもよく、前記モジュール、プログラムセグメント、又はコードの一部は、規定された論理機能を達成するための１つ以上の実行可能な命令を含む。また、いくつかの代替実施態様として、枠に示された機能は、図面に示された順番と異なる順番で実行されてもよい。例えば、連続して示された２つの枠は、関連する機能に応じて、実際にほぼ並行に実行されてもよく、逆の順番で実行されてもよい。また、ブロック図及び／又はフローチャートにおける各枠と、ブロック図及び／又はフローチャートにおける枠の組合せは、規定された機能又は操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、あるいは、専用ハードウェアとコンピュータの命令との組合せで実行されてもよい。
【００６９】
本発明の実施例に記載されたユニットは、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載されたユニットは、プロセッサに設定されてもよく、例えば、「取得ユニット及び修復ユニットを備えるプロセッサ」として記載されてもよい。その中でも、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではなく、例えば、取得ユニットは、「複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得するユニット」として記載されてもよい。
【００７０】
一方、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記実施例の前記装置に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立に存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。前記不揮発性コンピュータ記憶媒体は、１つ以上のプログラムが記憶され、前記１つ以上のプログラムが１つの機器により実行された場合、前記機器に、複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得し、テスト結果にエラーが発生したテストシーンのテストシーンデータを使用して、前記自律走行車両アプリケーションに修復操作を実行するようにさせ、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤとを含み、前記修復操作は、テストシーンデータを前記コンテナイメージにプッシュして修復しようとするコンテナイメージを形成し、開発端末又はテスト端末に配布して開発端末又はテスト端末の起動に備えるステップと、前記開発端末又はテスト端末からアップロードされた修復済みコンテナイメージを受信するステップと、を含み、ここで、前記修復済みコンテナイメージは、開発者又はテスターが起動された修復しようとするコンテナイメージにより前記自律走行車両アプリケーションのアプリケーションコードを修復することで生成されたイメージであり、あるいは、前記不揮発性コンピュータ記憶媒体は、１つ以上のプログラムが記憶され、前記１つ以上のプログラムが１つの機器により実行された場合、前記機器に、コンテナイメージが予め設置されたクラウドサーバから配布された修復しようとするコンテナイメージを受信し、前記修復しようとするコンテナイメージを起動し、開発者又はテスターが起動された修復しようとするコンテナイメージで前記自律走行車両アプリケーションのアプリケーションコードに行う修復操作に応答して、修復済みコンテナイメージを生成し、前記修復済みコンテナイメージを前記クラウドサーバにアップロードするようにさせ、ここで、前記コンテナイメージは、自律走行車両コンポーネントの動作に必要なオペレーティングシステムレベルコンポーネント及び第三者依存ライブラリのコンテナイメージを構築するためのイメージレイヤと、自律走行車両アプリケーションのアプリケーションコード及び前記自律走行車両アプリケーションの動作環境を構築するためのイメージレイヤと、を含み、前記修復しようとするコンテナイメージは、前記クラウドサーバが複数のテストシーンにおいてそれぞれ自律走行車両アプリケーションにテスト操作を実行したテスト結果を取得した後に、テスト時にエラーが発生したテストシーンのテストシーンデータを前記コンテナイメージにプッシュして形成されたイメージである。
【００７１】
以上の記載は、本発明の好ましい実施例、及び使用された技術的原理の説明に過ぎない。本発明に係る特許請求の範囲が、上記した技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記の技術的特徴又は同等の特徴の任意の組合せからなる他の技術案も含むべきであることを、当業者は理解すべきである。例えば、上記の特徴と、本発明に開示された類似の機能を持っている技術的特徴（これらに限定されていない）とを互いに置き換えてなる技術案が挙げられる。
【図１】
0006578004.tif 000002
【図２】
0006578004.tif 000003
【図３】
0006578004.tif 000004
【図４】
0006578004.tif 000005
【図５】
0006578004.tif 000006
【図６】
0006578004.tif 000007