IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特開2023-159898情報処理装置、情報処理方法及びプログラム
<>
  • 特開-情報処理装置、情報処理方法及びプログラム 図1
  • 特開-情報処理装置、情報処理方法及びプログラム 図2
  • 特開-情報処理装置、情報処理方法及びプログラム 図3
  • 特開-情報処理装置、情報処理方法及びプログラム 図4
  • 特開-情報処理装置、情報処理方法及びプログラム 図5
  • 特開-情報処理装置、情報処理方法及びプログラム 図6
  • 特開-情報処理装置、情報処理方法及びプログラム 図7
  • 特開-情報処理装置、情報処理方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023159898
(43)【公開日】2023-11-02
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20231026BHJP
   G01C 21/28 20060101ALI20231026BHJP
【FI】
G05D1/02 H
G01C21/28
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2020154858
(22)【出願日】2020-09-15
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100091487
【弁理士】
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100105153
【弁理士】
【氏名又は名称】朝倉 悟
(72)【発明者】
【氏名】中井 幹夫
【テーマコード(参考)】
2F129
5H301
【Fターム(参考)】
2F129AA03
2F129BB03
2F129BB33
2F129BB53
2F129BB66
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301FF11
5H301GG08
5H301GG09
5H301GG12
5H301LL01
5H301LL02
5H301LL03
5H301LL06
5H301QQ06
(57)【要約】
【課題】自己位置測定の精度低下を抑制し、精度を向上する。
【解決手段】情報処理装置は、移動体を制御するためのプロセッサを備える。前記プロセッサは、センサから取得した情報に基づいて自己位置を推定し、前記自己位置の精度を計算し、前記精度が低下した場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、更新された前記パラメータに基づいて、行動計画を作成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動体を制御するためのプロセッサを備え、
前記プロセッサは、
1又は複数のセンサから取得した情報に基づいた自己位置の推定の精度を計算し、
前記精度が低下した場合、又は、前記精度が低下する見込みがある場合の少なくとも一方の場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、
更新された前記パラメータに基づいて、行動計画を作成する、
情報処理装置。
【請求項2】
前記プロセッサは、
作成した前記行動計画に基づいて、前記移動体を制御する、
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、
前記センサごとに設定された自己位置推定アルゴリズムを用いて、前記自己位置を推定する、
請求項1に記載の情報処理装置。
【請求項4】
前記プロセッサは、
複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記自己位置を推定する、
請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、
前記自己位置の推定に用いる前記センサ又は前記アルゴリズムに基づいて、前記パラメータを更新する、
請求項1に記載の情報処理装置。
【請求項6】
前記プロセッサは、
前記センサ又は前記アルゴリズムにより自己位置推定の結果を算出し、前記精度を算出する、
請求項1に記載の情報処理装置。
【請求項7】
前記プロセッサは、
複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記精度を算出する、
請求項1に記載の情報処理装置。
【請求項8】
前記プロセッサは、
前記センサから取得した情報に基づいて、前記移動体の周辺状況を取得し、
取得した前記周辺状況に基づいて、前記パラメータを更新する、
請求項1に記載の情報処理装置。
【請求項9】
前記パラメータの更新に関する情報を格納する、メモリ、をさらに備え、
前記プロセッサは、
前記メモリに格納されている情報に基づいて、前記パラメータを更新する、
請求項1に記載の情報処理装置。
【請求項10】
前記メモリは、
前記自己位置の推定に用いるセンサ、アルゴリズムの種類と、更新する対象となる前記パラメータと、条件と、更新データと、を紐付けた情報が記述されるテーブルを格納し、
前記プロセッサは、
前記テーブルを参照して前記パラメータを更新する、
請求項9に記載の情報処理装置。
【請求項11】
前記プロセッサは、
前記精度が低下している、又は、前記精度が低下する見込みがある前記アルゴリズムに対する前記パラメータを更新する、
請求項9に記載の情報処理装置。
【請求項12】
前記プロセッサは、
前記精度の低下を抑制する経路、又は、前記精度が向上する経路を選択するように前記パラメータを更新する、
請求項9に記載の情報処理装置。
【請求項13】
更新の対象となる前記パラメータは、コストマップである、
請求項1に記載の情報処理装置。
【請求項14】
移動体を制御するためのプロセッサにより、
1又は複数のセンサから取得した情報に基づいた自己位置の推定の精度を計算し、
前記精度が低下した場合、又は、前記精度が低下する見込みがある場合の少なくとも一方の場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、
更新された前記パラメータに基づいて、行動計画を作成する、
情報処理方法。
【請求項15】
移動体を制御するためのプロセッサに、
1又は複数のセンサから取得した情報に基づいた自己位置の推定の精度を計算し、
前記精度が低下した場合、又は、前記精度が低下する見込みがある場合の少なくとも一方の場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、
更新された前記パラメータに基づいて、行動計画を作成する、
ことを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
自律して移動する移動体を用いて種々の処理を実行しようとする場合、自己位置推定を実行する必要がある。自己位置推定は、絶対的な自己位置を推定するスターレコニングと、相対的な自己位置を推定するデッドレコニングの手法が用いられる。自律移動するための自己位置推定としては、所定の領域において低速であるスターレコニングをし、この絶対的な位置に基づいて、高速に実行できるデッドレコニングにより移動しながら相対的な自己位置推定を実行することが一般的に行われる。
【0003】
デッドレコニングは、過去の結果に依存するため、推定に誤差が生じると、この誤差が蓄積されてしまう問題がある。これを回避するために、所定のタイミング、例えば、所定距離の移動をした後に、スターレコニングが実行できる領域等に移動してスターレコニングを実行し、絶対的な位置で自己位置を推定し直すことでデッドレコニングに起因する誤差の蓄積をリセットする。
【0004】
しかしながら、スターレコニングは周囲環境や利用するセンサ及びアルゴリズムによって、利用できるタイミングが限られることが多い。このような場合には、所定のタイミングで所定の位置に移動体を移動させることや、この移動のために、実行している作業を中断して移動するといった行動を変えるといった処置が必要となる。また、所定位置まで戻るための経路においても、経路長は一定ではないため、かなり余裕を持った状態で戻らなくてはいけないといった問題もある。また、デッドレコニングによらず、種々の原因に起因して自己位置推定精度が低下することがある。このような場合にも、上記と同様に自己位置推定精度の低下を解決するべく行動を変化させる必要がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008-59218号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本開示では、自己位置推定の精度の低下を抑制し、精度を向上させる情報処理装置、情報処理方法及びプログラムを提供する。
【課題を解決するための手段】
【0007】
一実施形態によれば、情報処理装置は、移動体を制御するためのプロセッサを備える。前記プロセッサは、1又は複数のセンサから取得した情報に基づいた自己位置の推定の精度を計算し、前記精度が低下した場合、又は、前記精度が低下する見込みがある場合の少なくとも一方の場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、更新された前記パラメータに基づいて、行動計画を作成する。
【0008】
前記プロセッサは、作成した前記行動計画に基づいて、前記移動体を制御してもよい。
【0009】
前記プロセッサは、前記センサごとに設定された自己位置推定アルゴリズムを用いて、前記自己位置を推定してもよい。
【0010】
前記プロセッサは、複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記自己位置を推定してもよい。
【0011】
前記プロセッサは、前記自己位置の推定に用いる前記センサ又は前記アルゴリズムに基づいて、前記パラメータを更新してもよい。
【0012】
前記プロセッサは、前記センサ又は前記アルゴリズムにより自己位置推定の結果を算出し、前記精度を算出してもよい。
【0013】
前記プロセッサは、複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記精度を算出してもよい。
【0014】
前記プロセッサは、前記センサから取得した情報に基づいて、前記移動体の周辺状況を取得し、取得した前記周辺状況に基づいて、前記パラメータを更新してもよい。
【0015】
前記パラメータの更新に関する情報を格納する、メモリ、をさらに備えてもよい。前記プロセッサは、前記メモリに格納されている情報に基づいて、前記パラメータを更新してもよい。
【0016】
前記メモリは、前記自己位置の推定に用いるセンサ、アルゴリズムの種類と、更新する対象となる前記パラメータと、条件と、更新データと、を紐付けた情報が記述されるテーブルを格納してもよく、前記プロセッサは、前記テーブルを参照して前記パラメータを更新してもよい。
【0017】
前記プロセッサは、前記精度が低下している、又は、前記精度が低下する見込みがある前記アルゴリズムに対する前記パラメータを更新してもよい。
【0018】
前記プロセッサは、前記精度の低下を抑制する経路、又は、前記精度が向上する経路を選択するように前記パラメータを更新してもよい。
【0019】
更新の対象となる前記パラメータは、コストマップであってもよい。
【0020】
一実施形態によれば、情報処理方法は、上記に記載した情報処理装置を制御する方法である。
【0021】
一実施形態によれば、プログラムは、上記に記載した処理をプロセッサに実行させる。
【図面の簡単な説明】
【0022】
図1】一実施形態に係る情報処理装置のブロック図。
図2】一実施形態に係る情報処理装置の処理を示すフローチャート。
図3】一実施形態に係る情報処理装置の処理を示すフローチャート。
図4】一実施形態に係る更新テーブルの一例を示す図。
図5】一実施形態に係るコストマップの一例を示す図。
図6】一実施形態に係るコストマップの一例を示す図。
図7】車両制御システムの概略的な構成の一例を示すブロック図である。
図8】車外情報検出部及び撮像部の設置位置の一例を示す説明図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本開示における実施形態の説明をする。図面は、説明のために用いるものであり、実際の装置における各部の構成の形状、サイズ、又は、他の構成とのサイズの比等が図に示されている通りである必要はない。また、図面は、簡略化して書かれているため、図に書かれている以外にも実装上必要な構成は、適切に備えるものとする。数値を比較する場合における以下、以上等の表現は、それぞれ適切に、未満、より大きいと書き換えることができることに留意されたい。
【0024】
図1は、一実施形態に係る情報処理装置の構成を示すブロック図である。情報処理装置1は、1又は複数のセンサ2から取得した情報に基づいて、自己位置及び自己位置精度を推定し、これらの推定結果に基づいて移動体を移動させる制御をする装置である。情報処理装置1は、記憶部100と、自己位置推定部102と、自己位置精度推定部104と、認識器106と、パラメータ更新部108と、変更テーブル保持部110と、行動計画部112と、制御部114と、を備える。情報処理装置1は、例えば、センサ2とともに移動体に搭載されていてもよい。また、情報処理装置1は、別の例として、ネットワーク等の通信経路を介してセンサ2を搭載する移動体とは別の場所に備えられていてもよい。
【0025】
記憶部100は、情報処理装置1の動作に必要となるデータ等を格納する。また、入力情報、出力情報の他、計算の途中経過等のデータを一時的に格納してもよい。情報処理装置1が、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実行される場合には、このソフトウェアに関するプログラム等が格納されていてもよい。後述する変更テーブル保持部110は、この記憶部100の一部であってもよく、この場合、変更テーブルが記憶部100に格納されている。
【0026】
情報処理装置1の一部又は全ての構成要素は、記憶部100に格納されているデータにより動作するCPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサ(処理回路)により実行されてもよいし、専用のアナログ回路又はデジタル回路、例えば、ASIC(Application Specific Integrated Circuity)、FPGA(Field Programmable Gate Array)等により実装されてもよい。
【0027】
自己位置推定部102は、センサ2が取得した情報に基づいて、自己位置推定を実行する。この自己位置推定は、例えば、スターレコニング及びデッドレコニングであってもよく、適切に状況に合わせてこれらの手法を組み合わせて用いてもよい。例えば、自己位置推定部102は、複数の自己位置推定アルゴリズムを複数のセンサから取得した情報に基づいて実行し、適切にフュージョンする形態であってもよい。
【0028】
スターレコニングとしては、GPS(Global Positioning System)、画像特徴点地図、LiDAR(Light Detection and Ranging)のNDT(Normal Distributions Transform)マッチング等を用いてもよい。また、デッドレコニングとしては、車両オドメトリ、ビジュアルSLAM(Simultaneous Localization and Mapping)、デプスSLAM、IMU(Inertial Measurement Unit)等を用いてもよい。それぞれの手法に用いる対応するセンサ2を備えている必要があるが、これらのいずれを用いてもよいし、上記の例に本開示における形態は、限定されるものではない。
【0029】
例えば、自己位置推定部102は、1又は複数のセンサ2から取得した情報に基づいて、それぞれのセンサに対して設定されたアルゴリズムを用いることにより自己位置を推定してもよい。この場合、各センサ2から取得した情報に基づく位置推定結果を、適切なアルゴリズムにより融合してもよい。
【0030】
例えば、自己位置推定部102は、複数のセンサ2から取得した情報を1つのアルゴリズムを用いることにより自己位置の推定をしてもよい。
【0031】
自己位置精度推定部104は、自己位置精度推定部104は、自己位置推定部102が推定した自己位置推定の精度を計算する。この精度の計算は、例えば、分散共分散行列等を用いた一般的な手法を用いてもよい。自己位置推定の精度は、自己位置推定を実行する手法により異なる求め方となることがある。この場合、当該手法に適した自己位置推定の精度を算出すればよい。
【0032】
また、別の例として、現在の自己位置推定の結果に基づいて、近い将来的に自己位置推定の精度が低下すると見込める場合を、自己位置精度推定部104は、検出してもよい。自己位置精度の低下が見込まれる状況は、例えば、過去数回の自己位置推定の結果から検出してもよい。また、別の例として統計情報に基づいて検出してもよいし、過去の自己位置推定の結果を機械学習により訓練済モデルに入力することにより検出してもよい。
【0033】
例えば、自己位置推定方法がLiDARオドメトリである場合、トータルの走行距離、マッチング率等により精度を算出、又は、精度が低下する見込みがあることを検出することができる。以下同様に、精度の算出と記載されている箇所は、精度の低下する見込みを検出することと言い換えてもよい。車輪エンコーダである場合、トータル走行距離を用いて精度を算出することができる。IMUである場合には、トータルの絶対値の回転数を用いて精度を算出してもよい。
【0034】
例えば、自己位置推定方法がスターレコニングの場合には、上記のデッドレコニングによる共分散を数値として取得することができるので、この共分散を用いて精度を算出してもよい。LiDARによるスキャンマッチング、ビジュアルSLAM等である場合には、最後にマッチングしてからの走行距離、走行時間を用いて精度を算出してもよいし、マッチング率を用いてもよい。GPSの場合には、DOP(Dilution of Precision)を用いて精度の低下を算出することもできる。
【0035】
このように、自己位置推定部102が採用する手法によって、精度の算出方法が変わることもある。自己位置精度推定部104は、自己位置推定部102の用いている方法に基づいて、自己位置の精度を算出する。
【0036】
自己位置精度推定部104は、センサごと、又は、アルゴリズムごと、に自己位置推定の精度を算出してもよい。
【0037】
また、自己位置推定部102は、センサごと、又は、アルゴリズムごと、に自己位置推定の結果を算出し、自己位置精度推定部104は、このセンサごと、又は、アルゴリズムごとに算出された結果の精度をそれぞれ算出してもよい。
【0038】
複数の自己位置推定アルゴリズムを用いる場合には、自己位置精度推定部104は、融合された最終的な自己位置の精度を算出してもよい。別の例としては、別々のアルゴリズムで推定された自己位置を、自己位置精度推定部104は、それぞれに精度を算出してもよい。この場合、アルゴリズムごとにパラメータ更新をするか否かを決定してもよいし、融合した結果としてパラメータ更新をするか否かを決定してもよい。融合した結果として更新を決定する場合には、複数のアルゴリズムのうち、一部のアルゴリズムに対するパラメータを選択して更新する構成としてもよい。
【0039】
なお、図面においては、自己位置推定部102と、自己位置精度推定部104は、別々の構成要素としているが、これらは、場合によっては1つの構成要素であってもよい。例えば、自己位置推定と、自己位置精度とを併せて算出する手法を用いる場合には、これらの構成要素は、1つの構成要素として、自己位置推定と、精度算出と、を実行する。
【0040】
認識器106は、センサ2からの出力に基づいて、各種認識処理を実行する。この認識処理は、例えば、人物の検出、障害物の検出等、自己位置推定に用いる認識以外の認識処理を実行する。この認識には、例えば、HoG(Histograms of Oriented Gradient)、SIFT(Scaled Invariance Feature Transform)、オプティカルフロー等、任意の特徴量を用いてもよい。これらの特徴量を用いた認識、検出には限られず、予め機械学習により訓練された認識モデルを用いて認識してもよい。このように、認識器106は、センサから取得された情報に基づいて、移動体の周辺の環境に関する情報、状況を取得する。
【0041】
パラメータ更新部108は、自己位置精度推定部104が推定した自己位置の精度、及び、認識器106が認識した結果に基づいて、変更テーブル保持部110に保持されているテーブルを用いて自律移動をするためのパラメータを更新する。
【0042】
変更テーブル保持部110には、例えば、アルゴリズム、センサごとの行動計画パラメータ変更テーブルが格納されている。行動計画パラメータ変更テーブルは、アルゴリズム、センサにより、条件に基づいて、変更するパラメータ及び変更値を格納するテーブルである。
【0043】
例えば、行動計画がA*、ダイクストラといった手法で決定される場合には、変更テーブル保持部110には、グリッドごと、経路ごと等のスコアを、自己位置精度及び認識結果の条件により、どのように変更させるかが格納される。パラメータ更新部108は、このテーブルを参照することにより、例えば、マップ上のグリッド、各領域等について、スコアを更新する。
【0044】
行動計画部112は、パラメータ更新部108が更新したパラメータに基づいて、行動計画を生成する。この行動計画の決定は、例えば、上述したA*、ダイクストラ法等の手法が用いられるが、これには限定されず、他の手法によるものであってもよい。例えば、行動計画部112は、移動体が実行している行動を変更させることなく、移動をするためのパラメータを更新する。このように行動計画を決定することにより、移動体が実施している行動を行いつつ、移動体を適切に移動させることが可能となる。
【0045】
行動計画部112は、例えば、現在実行している行動をしながら、自己位置推定の精度が落ちないような経路を移動する行動計画を作成ことが可能となる。また、行動計画部112は、別の例として、現在実行している行動をしながら、自己位置推定の精度を回復するべくスターレコニングに適した場所に現在の精度を落とさないように移動するように行動計画を決定してもよい。
【0046】
行動計画のアルゴリズムが上記と異なる場合には、もちろんパラメータ更新部108が更新するパラメータ及び変更テーブル保持部110に保持されるテーブルの内容が異なるものとなるが、アルゴリズムに対して適切に行動計画を決定できる構成であればよい。
【0047】
制御部114は、行動計画部112が生成した行動計画に基づいて、移動体を制御する。
【0048】
上記において、センサ2は、移動体に搭載されるものとしたが、これに限定されるものではない。例えば、移動体が移動しうる領域をモニタする固定のセンサであってもよい。
【0049】
図2は、一実施形態に係る情報処理装置1の全体的な処理を示すフローチャートである。
【0050】
まず、情報処理装置1は、センサ2から取得した情報に基づいて自己位置推定部102により自己位置を推定し、自己位置精度推定部104によりこの自己位置の精度を計算する(S10)。上述したように、センサの種類及び用いるアルゴリズムにより、自己位置推定とその精度計算を併せて実行することも可能であり、この場合、自己位置推定と精度計算とを同じタイミングで実行してもよい。
【0051】
次に、情報処理装置1は、自己位置の精度において自己位置の精度が低下している行動に対して、パラメータ更新部108により自己位置精度の誤差を抑制する動作、又は、自己位置精度の誤差を改善する動作に基づいてパラメータを更新する(S20)。センサの種類及び用いるアルゴリズムによっては、自己位置推定の誤差を抑制する動作、又は、誤差を削減する動作がある。パラメータ更新部108は、自己位置の精度に基づいて、この動作を選択して出力してもよい。
【0052】
図3は、この行動計画パラメータの更新処理をより具体的に示すフローチャートである。
【0053】
行動計画パラメータの更新処理において、まず、パラメータ更新部108は、自己位置精度推定部104が計算した自己位置精度を取得する(S200)。
【0054】
次に、パラメータ更新部108は、精度が低下している原因となるセンサ、アルゴリズムに基づいて、行動計画のパラメータに関するデータを取得する(S202)。例えば、パラメータ更新部108は、パラメータの変更テーブルを参照することにより、更新させるパラメータ、更新させる条件、更新する値等のデータを取得する。この更新は、例えば、認識器106の結果を用いてもよい。この更新の一例として、下記のようなものがあってもよい。
【0055】
例えば、車輪エンコーダを用いている場合には、総移動距離に対するコストを増加させるパラメータを取得する。
【0056】
例えば、IMUを用いている場合には、移動体の同一方向回転をなるべく減らすパラメータを取得する。これには、Scale Factorのキャリブレーションずれによる影響を抑制する効果がある。
【0057】
例えば、LiDARマッチングを用いている場合には、人認識をした結果から、人の周囲のコストを増加させるパラメータを取得する。これは、動く物体が認識精度に影響を及ぼすためである。また、壁や障害物の近くのコストを低下させるパラメータを取得してもよい。これは、壁や動かない障害物の近くであるとマッチングの精度を向上することができるためである。
【0058】
例えば、GPUを用いている場合には、地図、認識結果に基づいて、屋根、トンネル、ビル群の近く等のコストを増加させる。これは、GPSに用いている衛星からの電波を取得しやすくするためである。
【0059】
パラメータ更新部108は、上記のようなパラメータの更新が記述されたテーブルを参照することにより、パラメータの更新に関するデータを取得する。
【0060】
図4は、一実施形態に係る変更テーブル保持部110に保持されている変更テーブルの一例を示す図である。この図4では、一例として、LiDARスキャンマッチングに係るパラメータ更新の一部を抽出して示している。
【0061】
変更テーブルは、例えば、センサ・アルゴリズム、反映パラメータ、条件、更新データを備えるテーブルである。センサ・アルゴリズムがLiDARスキャンマッチングである場合、パラメータ更新を反映させる対象は、コストマップとなる。条件としては、例えば、人との距離、又は、壁との距離があってもよい。更新データには、パラメータ更新を反映させるデータが記述されている。S202の処理においては、この変換テーブルから条件に合致する更新対象パラメータ及び更新データを取得する。
【0062】
なお、図4のように、テーブルが準備されていたが、これには限られない。例えば、それぞれのアルゴリズム等に対して別々の変換データを格納したファイルを準備し、当該ファイルの内容に基づいてパラメータ更新データを取得してもよい。別の例としては、プログラム中にハードコーディングされたり、回路にコーディングされたりしていてもよい。また、例えば、クラウドに備えられるDB(Database)等に記述されており、この記述に基づいてもよい。このDBは、管理者により適切に、又は、学習済モデル等により自動的に、適切なタイミングにおいて更新されるものであってもよい。
【0063】
図3に戻り、情報処理装置1は、パラメータ更新部108により、パラメータの更新を実行する(S204)。例えば、自己位置推定にも用いるセンサ・アルゴリズムがLiDARのスキャンマッチングであり、このLiDARのスキャンマッチングの精度が低下している場合について考える。
【0064】
認識器106の認識結果において、人がいると判断されたとする。図4のテーブルを用いる場合、パラメータ更新部108は、コストマップにおいて人の周囲0.5m以内のコストを4倍に、0.5m~1.0mの範囲のコストを2倍に更新する。また、認識器106により壁があると判断されると、パラメータ更新部108は、壁から1m以内の範囲におけるコストマップを1 / 2に更新する。このように、パラメータ更新部108は、コストマップを更新する。
【0065】
パラメータ更新部108は、このように、自己位置精度の低下が認められる場合には、変更テーブルに格納されている情報に基づいて、当該自己位置推定を実行するためのパラメータを更新する。
【0066】
例えば、自己位置精度推定部104は、自己位置精度を数値として出力し、パラメータ更新部108は、この数値が所定の閾値を下回った場合に、上記のパラメータ更新を実行してもよい。また、精度が0に近いほど高い場合には、所定の閾値を上回った場合に、パラメータ更新を実行してもよい。この場合、上述したように、認識器106の認識結果を用いてもよいし、センサ、アルゴリズムの組み合わせによっては、認識器106の認識結果を用いずに更新を実行してもよい。
【0067】
複数のセンサ、アルゴリズムを並行して実行している場合には、センサ、アルゴリズムごとに自己位置精度による判断を実行してもよい。この場合、パラメータ更新部108は、低下が認められたセンサ、アルゴリズムに関わるデータのみを変更テーブルから抽出してパラメータを更新してもよい。このように実行することにより、自己位置精度が低下したセンサ、アルゴリズムによる自己位置推定の低下の抑制、又は、精度の向上を実現することができる。
【0068】
パラメータ更新部108は、別の例として、低下が認められるセンサ、アルゴリズムがある場合に、並行して実行している他のセンサ、アルゴリズムに関するパラメータについても更新を実行してもよい。このように実行することにより、自己位置精度が低下したセンサ、アルゴリズムについてパラメータ更新を実行するとともに、この低下を補間するために他のセンサ、アルゴリズムの自己位置精度の向上をしてもよい。この結果として、全体としての自己位置精度の低下を抑制、削減してもよい。
【0069】
図2に戻り、次に、情報処理装置1は、行動計画部112により、パラメータ更新部108が更新したパラメータに基づいて、行動計画を作成する(S30)。上記の例のように、コストマップのコストをパラメータ更新部108が更新する場合には、この更新されたコストマップを用いてA*、ダイクストラ等の適切なアルゴリズムを用いて行動計画を作成する。
【0070】
この後に、制御部114は、この行動計画に基づいて、移動体を制御する。
【0071】
コストマップを用いた場合のパラメータの更新及び行動計画の作成の一例について説明する。
【0072】
図5は、パラメータ更新前の行動計画を示す図である。壁に挟まれた通路内を移動体が作業しながら移動する経路が示されている。コストは、斜線の領域で示され、同じ向き、間隔の斜線は、同じコストを意味する。壁は、コスト∞としてもよい。例えば、通路の中央は、コスト1、壁に近づくにつれ、コスト2、4、と設定されている。このような場合、移動体の行動計画は、矢印で示されるように、直進して、右折して目標地点へと向かう。
【0073】
図6は、パラメータ更新がある場合の行動計画を示す図である。例えば、図6は、自己位置推定の精度の低下が認められる場合に、更新されるコストマップを示す。この場合、通路上の人の認識結果、及び、壁の認識結果から、変更テーブルに基づいて、パラメータ更新部108は、コストマップを図5の状態から図6の状態のように更新する。図4に示す変更テーブルに基づいて、人の周辺のコストを高くし、壁の周辺のコストを低く更新する。この結果、人の周辺に近づくことによる自己位置精度が低下する経路を回避したり、壁の周辺に近づくことによる自己位置精度の回復をしやすい経路を選択したりすることができる。この結果、情報処理装置1は、パラメータを更新することにより、自己位置精度の低下を抑制する経路、又は、自己位置精度の回復が見込まれる経路を選択することができる。
【0074】
行動計画部112は、このコストマップに基づいて、行動計画を再作成する。そして、行動計画部112は、例えば、点線で示される元の行動計画に対して、実線で示される行動計画を作成する。例えば、図6に示すように、目標地点を決定している場合には、目標地点に向かう経路として、行動計画部112は、新たな行動計画を作成してもよい。自由に移動をしている場合には、特定の目標地点を目指すのではなく、適切に周囲の環境に基づいて移動を行う行動計画を作成する。
【0075】
以上のように、本実施形態によれば、自己位置推定の精度を考慮して、行動計画を作成することが可能となる。この行動計画の作成においては、移動体が現在実行している作業を中断することなく、移動経路だけを適切に修正することが可能となる。例えば、ロボットが会場において、何かしらのものを配布する場合、この配布の作業を中断することなく、適切に、自己位置推定の精度を下げないように行動計画を作成することも可能である。自動車の自動運転である場合には、目的地までの運行をするという目的を変えることなく、運転をしながら適切に経路等の行動計画を修正することが可能となる。
【0076】
このように、自己位置推定の精度が低下しうる環境下において、目的となる行動自体を変化させることなく、精度低下の抑制、又は、精度の復帰を実行することができる。この結果、よりロバストナ自己位置推定を実現することが可能となる。さらには、これにより、ロボットの行動を精度低下に対して切り替える等の処理が不要となるため、ロボットの稼働効率等を向上させ、また、ユーザインタラクション等を改善することも可能となる。
【0077】
なお、上記においては、マッチングを行う自己位置推定において説明したが、これには限られず、種々の自己位置推定において、行動計画を設定するためのパラメータを更新することに適用することができる。また、コストマップを用いる形態について説明したが、こちらも、コストマップには限られず、種々の形態の行動計画を作成するためのパラメータの更新について適用することができる。
【0078】
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
【0079】
図7は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図7に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
【0080】
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図7では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
【0081】
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
【0082】
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
【0083】
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
【0084】
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
【0085】
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
【0086】
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
【0087】
ここで、図8は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
【0088】
なお、図8には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
【0089】
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920~7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
【0090】
図7に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
【0091】
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
【0092】
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
【0093】
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
【0094】
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
【0095】
汎用通信I/F7620は、外部環境7750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F7620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX(登録商標)、LTE(登録商標)(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)、Bluetooth(登録商標)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F7620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F7620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、運転者、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
【0096】
専用通信I/F7630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F7630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、DSRC(Dedicated Short Range Communications)、又はセルラー通信プロトコルといった標準プロトコルを実装してよい。専用通信I/F7630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、車両と家との間(Vehicle to Home)の通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
【0097】
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
【0098】
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
【0099】
車内機器I/F7660は、マイクロコンピュータ7610と車内に存在する様々な車内機器7760との間の接続を仲介する通信インタフェースである。車内機器I/F7660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F7660は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface、又はMHL(Mobile High-definition Link)等の有線接続を確立してもよい。車内機器7760は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器のうちの少なくとも1つを含んでいてもよい。また、車内機器7760は、任意の目的地までの経路探索を行うナビゲーション装置を含んでいてもよい。車内機器I/F7660は、これらの車内機器7760との間で、制御信号又はデータ信号を交換する。
【0100】
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
【0101】
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
【0102】
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
【0103】
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図7の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【0104】
なお、図7に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
【0105】
なお、図1を用いて説明した本実施形態に係る情報処理装置1の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【0106】
以上説明した車両制御システム7000において、図1を用いて説明した本実施形態に係る情報処理装置1は、図7に示した応用例の統合制御ユニット7600に適用することができる。例えば、情報処理装置1の各構成要素は、統合制御ユニット7600のマイクロコンピュータ7610、記憶部7690、車載ネットワークI/F7680に相当する。例えば、統合制御ユニット7600が地図生成及び自己位置推定をすることにより、自動運転、自律移動の補助をすることができる。
【0107】
また、図1を用いて説明した情報処理装置1の少なくとも一部の構成要素は、図7に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1を用いて説明した情報処理装置1が、図7に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
【0108】
前述した実施形態は、以下のような形態としてもよい。
【0109】
(1)
移動体を制御するためのプロセッサを備え、
前記プロセッサは、
1又は複数のセンサから取得した情報に基づいた自己位置の推定の精度を計算し、
前記精度が低下した場合、又は、前記精度が低下する見込みがある場合の少なくとも一方の場合に、前記自己位置の推定を実行するアルゴリズムに基づいたパラメータを更新し、
更新された前記パラメータに基づいて、行動計画を作成する、
情報処理装置。
【0110】
(2)
前記プロセッサは、
作成した前記行動計画に基づいて、前記移動体を制御する、
(1)に記載の情報処理装置。
【0111】
(3)
前記プロセッサは、
前記センサごとに設定された自己位置推定アルゴリズムを用いて、前記自己位置を推定する、
(1)又は(2)に記載の情報処理装置。
【0112】
(4)
前記プロセッサは、
複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記自己位置を推定する、
(1)から(2)のいずれかに記載の情報処理装置。
【0113】
(5)
前記プロセッサは、
前記自己位置の推定に用いる前記センサ又は前記アルゴリズムに基づいて、前記パラメータを更新する、
(1)から(4)のいずれかに記載の情報処理装置。
【0114】
(6)
前記プロセッサは、
前記センサ又は前記アルゴリズムにより自己位置推定の結果を算出し、前記精度を算出する、
(1)から(4)のいずれかに記載の情報処理装置。
【0115】
(7)
前記プロセッサは、
複数の前記センサからの出力に基づいて、1つのアルゴリズムを用いて、前記精度を算出する、
(1)から(6)のいずれかに記載の情報処理装置。
【0116】
(8)
前記プロセッサは、
前記センサから取得した情報に基づいて、前記移動体の周辺状況を取得し、
取得した前記周辺状況に基づいて、前記パラメータを更新する、
(1)から(7)のいずれかに記載の情報処理装置。
【0117】
(9)
前記パラメータの更新に関する情報を格納する、メモリ、をさらに備え、
前記プロセッサは、
前記メモリに格納されている情報に基づいて、前記パラメータを更新する、
(1)から(8)のいずれかに記載の情報処理装置。
【0118】
(10)
前記メモリは、
前記自己位置の推定に用いるセンサ、アルゴリズムの種類と、更新する対象となる前記パラメータと、条件と、更新データと、を紐付けた情報が記述されるテーブルを格納し、
前記プロセッサは、
前記テーブルを参照して前記パラメータを更新する、
(9)に記載の情報処理装置。
【0119】
(11)
前記プロセッサは、
前記精度が低下している、又は、前記精度が低下する見込みがある前記アルゴリズムに対する前記パラメータを更新する、
(9)又は(10)に記載の情報処理装置。
【0120】
(12)
前記プロセッサは、
前記精度の低下を抑制する経路、又は、前記精度が向上する経路を選択するように前記パラメータを更新する、
(9)から(11)のいずれかに記載の情報処理装置。
【0121】
(13)
更新の対象となる前記パラメータは、コストマップである、
(1)から(12)のいずれかに記載の情報処理装置。
【0122】
(14)
移動体を制御するためのプロセッサにより、
(1)から(14)のいずれかに記載の方法を実行する、
情報処理方法。
【0123】
(15)
移動体を制御するためのプロセッサに、
(1)から(14)のいずれかに記載の方法を、
実行させるプログラム。
【0124】
本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
【符号の説明】
【0125】
1:情報処理装置、
100:記憶部、
102:自己位置推定部、
104:自己位置精度推定部、
106:認識器、
108:パラメータ更新部、
110:変更テーブル保持部、
112:行動計画部、
114:制御部、
2:センサ
図1
図2
図3
図4
図5
図6
図7
図8