JP2021060669A - 情報処理装置、情報処理方法、情報処理システム及びプログラム - Google Patents

情報処理装置、情報処理方法、情報処理システム及びプログラム Download PDF

Info

Publication number
JP2021060669A
JP2021060669A JP2019183103A JP2019183103A JP2021060669A JP 2021060669 A JP2021060669 A JP 2021060669A JP 2019183103 A JP2019183103 A JP 2019183103A JP 2019183103 A JP2019183103 A JP 2019183103A JP 2021060669 A JP2021060669 A JP 2021060669A
Authority
JP
Japan
Prior art keywords
estimation
estimation result
unit
coordinate system
information
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.)
Pending
Application number
JP2019183103A
Other languages
English (en)
Inventor
中井 幹夫
Mikio Nakai
幹夫 中井
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2019183103A priority Critical patent/JP2021060669A/ja
Priority to PCT/JP2020/035064 priority patent/WO2021065510A1/ja
Priority to US17/754,159 priority patent/US20220290996A1/en
Publication of JP2021060669A publication Critical patent/JP2021060669A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1652Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with ranging devices, e.g. LIDAR or RADAR
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • G08G5/0039Modification of a flight plan

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Abstract

【課題】複数の推定結果に基づいて位置推定の精度を向上する。【解決手段】情報処理装置は、第1座標系に基づいて自己位置を推定する、第1推定部と、前記第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定部と、前記第1推定部による第1推定結果と、前記第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を取得する、情報取得部と、を備える。【選択図】図1

Description

本開示は、情報処理装置、情報処理方法、情報処理システム及びプログラムに関する。
ロボットの自律操作、自動車の自動運転等、移動体が、コンピュータ等を用いて自動的に移動をする技術が発展している。このような自動移動において、移動する装置が地図内において自らの位置を推定する自己位置推定の技術は、重要な技術となる。そこで、複数の手段により取得できる位置情報、例えば、LiDAR(Light Detection and Ranging)、GPS(Global Positioning System)等を用いた位置情報に基づいて自己位置推定結果を補正する技術が研究されている。
特開2012−242967号公報
しかしながら、情報を取得する手段による自己位置推定のアルゴリズムにおいて、信頼度が低下するタイミング、例えば、LiDARであれば反射率が高い物体が広範囲にあるタイミング、GPSであれば衛星との間に遮蔽物があるタイミング、が存在する。このような情報を取得するのに適していない環境が、移動体が移動可能な範囲に存在する場合、複数の自己位置推定結果を用いて補正を行うことによっても精度の高い自己位置推定を行うのが困難となる。
そこで、本開示は、複数の推定結果に基づいて位置推定の精度を向上する情報処理装置、情報処理方法、情報処理システム及びプログラムを提供する。
一実施形態によれば、情報処理装置は、第1座標系に基づいて自己位置を推定する、第1推定部と、第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定部と、第1推定部による第1推定結果と、第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を取得する、情報取得部と、を備えてもよい。
情報処理装置は、第2座標系における位置を第1座標系における位置に変換する、座標変換部、をさらに備えてもよく、情報取得部は、第1推定結果及び第1座標系に変換された第2推定結果の少なくとも一方に基づいて自己位置情報を取得してもよい。このように、基準座標系となる第1座標系に各推定装置による推定結果を変換してもよい。
情報取得部は、第1推定結果の信頼度が所定しきい値以上である場合、第1推定結果に基づいて情報を取得し、第1推定結果の信頼度が所定しきい値よりも低い場合、座標変換部に変換された第2推定結果に基づいて第1座標系における自己位置推定情報を取得してもよい。このように、第1推定結果の信頼度が低い場合に、第2推定結果を用いて変換を行った結果を自己位置推定結果としてもよい。
情報取得部は、同じタイミングで取得された第1推定結果と、座標変換部に変換された第2推定結果の距離が所定距離よりも長い場合、自己位置情報を生成しなくてもよい。このように、誤差が大きい場合に自己位置を推定しなくてもよい。
情報処理装置は、同じタイミングで取得された第1推定結果と第2推定結果との組み合わせを制御点として取得する、制御点取得部と、制御点取得部が取得した制御点を格納する、制御点格納部と、制御点格納部に格納されている、第1所定数以上の制御点に基づいて、座標変換部の変換に用いる変換パラメータを生成する、パラメータ生成部と、をさらに備えてもよい。このように、制御点を取得して、第2座標から第1座標への変換パラメータを取得してもよい。
制御点取得部は、取得された第1推定結果に対して同時刻における第2推定結果が存在しない場合には、過去に取得された第2推定結果を第1推定結果の取得された時刻における推定結果へと補正し、取得された第2推定結果に対して同時刻における第1推定結果が存在しない場合には、過去に取得された第1推定結果を第2推定結果の取得された時刻における推定結果へと補正して、制御点を取得してもよい。このように、変換パラメータ生成に使用する制御点を過去に取得された推定結果から生成することができる。
制御点取得部は、取得された一方の推定結果に対する過去の直近の他方の推定結果についてデッドレコニングにより推定結果を補正してもよい。このように、制御点は、例えば、デッドレコニングにより、各推定部のデータ取得の時間差によるギャップを算出して、同じタイミングの情報として取得されたものであってもよい。デッドレコニングは、オドメトリであってもよい。オドメトリは、例えば、移動体の車輪に備えられる車輪エンコーダ、IMU(Inertial Measurement Unit)等の内界センサーを用いてもよい。
制御点取得部は、同じタイミングにおける第1推定結果の信頼度及び第2推定結果の信頼度のうち少なくとも一方が所定しきい値よりも低い場合には、当該タイミングにおける組み合わせを制御点として取得しなくてもよい。このように、信頼度の低い推定結果を制御点に含めないようにしてもよい。
制御点取得部は、制御点格納部に格納されている制御点が第2所定数以上である場合には、制御点格納部に格納されている1又は複数の制御点を削除してもよい。このように、座標変換に用いる制御点の数を制限してもよい。
制御点取得部は、取得された時刻が古い順番に制御点を削除してもよい。このように、古くなった情報を制御点から削除してもよい。
制御点取得部は、第1推定結果及び第2推定結果のいずれか一方の信頼度が低い順番に制御点を削除してもよい。このように、信頼度の低い情報を優先的に制御点から削除してもよい。
制御点取得部は、第1推定結果を用いない環境及び第2推定結果を用いない環境を設定し、これらの環境内においては、制御点を取得しなくてもよい。このように、制御点として変換パラメータの生成に使用しない環境を設定してもよい。
第1推定部及び第2推定部は、推定を行わない環境を設定し、これらの環境内においては、自己位置の推定を行わなくてもよい。このように、推定結果を取得しない環境を設定してもよい。
これらの環境は、ユーザにより設定されてもよい。また、これらの環境は、自己位置の推定に用いるセンサー又は当該センサーに基づいて自己位置の推定を実行するアルゴリズムに基づいて設定されてもよい。さらに、過去の推定結果から信頼度の低い環境を設定してもよく、時刻、明度、天気等により、これらの環境を設定してもよい。
情報処理装置は、第3推定部と、・・・、第N推定部(N≧3の整数)と、をさらに備えてもよく、座標変換部は、それぞれの推定部の座標系を第1座標系に変換し、情報取得部は、変換されたそれぞれの推定部により推定された位置情報に基づいて、自己位置情報を取得してもよい。このように、推定部は、3以上備えられていてもよい。
一実施形態によれば、情報処理システムは、第1座標系における自己位置を推定するための情報を取得する、第1取得部と、第1座標系とは異なる第2座標系における自己位置を推定するための情報を取得する、第2取得部と、を備える移動体と、第1取得部が取得した情報に基づく第1推定結果を取得する、第1推定部と、第2取得部が取得した情報に基づく第2推定結果を取得する、第2推定部と、第1推定結果と、第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて移動体の位置情報を取得する、情報取得部と、を移動体の内部又は外部に備えてもよい。移動体の位置を推定するための情報を取得する取得部は、移動体に備えられる一方で、それ以外の構成については、適切に外部のサーバ等のコンピュータに備えられていてもよい。
一実施形態によれば、情報処理装置は、第1座標系における自己位置を推定する、第1推定部と、第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、第2推定部による第2推定結果を、第2座標系から第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、着目時刻における第1推定部による第1推定結果の信頼度及び着目時刻における第2推定部による第2推定結果の信頼度が所定しきい値以上である場合に、第1推定結果及び第2推定結果を制御点として格納する、記憶部と、記憶部に格納されている着目時刻の制御点及び着目時刻よりも過去の制御点に基づいて、変換パラメータを生成する、パラメータ生成部と、を備える。このように、第1推定結果及び第2推定結果の双方の信頼度が高い場合に、第2座標から第1座標へと変換する変換パラメータが生成されてもよい。
一実施形態によれば、第1座標系における自己位置を推定する、第1推定部と、第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、第2推定部による第2推定結果を、第2座標系から第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、第1推定部による第1推定結果の信頼度が低い第1領域を設定し、着目時刻における第1推定結果が第1領域内であれば信頼度が低く、第1領域外であれば信頼度を高く評価し、着目時刻における第1推定結果の信頼度が高い場合に、着目時刻における第1推定結果及び着目時刻における第2推定結果を制御点として格納する、記憶部と記憶部に格納されている着目時刻の制御点及び着目時刻よりも過去の制御点に基づいて、変換パラメータを生成する、パラメータ生成部と、を備える。このように、信頼度をしきい値で評価するのでは無く、推定結果の属する領域、環境により評価してもよい。
第1領域は、あらかじめ設定された領域であってもよい。例えば、ユーザにより手動で、又は、過去の推定結果により自動で、第1領域はあらかじめ設定されてもよい。
第1領域は、第1推定結果の信頼度に基づいて設定される領域であってもよい。このように、推定の実行中にも第1領域の修正が行えるものであってもよい。
着目時刻における第2推定結果は、着目時刻に対して過去の直近に取得された第2推定結果を、着目時刻に補正して取得されてもよい。上述と同様に、制御点は、同時刻に補正された推定結果に基づいて取得されてもよい。
第1推定部及び第2推定部は、スターレコニングにより推定を実行し、着目時刻における第2推定結果への補正は、デッドレコニングにより推定された結果に基づいて補正されてもよい。このように、スターレコニングによる絶対的な推定位置を、デッドレコニングによる相対的な推定位置により補正してもよい。
一実施形態に係る位置推定システムのブロック図。 一実施形態に係る制御点収集の概略を示す模式図。 一実施形態に係る2つの座標系の関係を示す図。 一実施形態に係る処理を示すフローチャート。 一実施形態に係る変換パラメータ生成処理を示すフローチャート。 一実施形態に係る制御点収集の信頼度判断を示す模式図。 一実施形態に係る低信頼度領域を設定するGUIを示す図。 車両制御システムの概略的な構成の一例を示すブロック図である。 車外情報検出部及び撮像部の設置位置の一例を示す説明図である。
まず、本開示において使用するいくつかの一般的な技術用語について説明する。
「自己位置」とは、例えば、自動的に移動する移動体自身の位置を示す。この位置は、2次元の情報には限られず、3次元の情報で構成されてもよい。この位置は、絶対的な位置又は相対的な位置で示される。また、本開示において、自己位置推定とは、移動体の姿勢、すなわち、移動体の向き等の情報を、上記の位置情報と併せて推定する概念であってもよい。
「絶対的な位置」とは、例えば、地図、又は、原点が決められた座標系における座標を示す情報である。座標系は、直交座標、円柱座標、球座標等のように一意的に適切な位置が指定される座標系であればどのような座標系であっても構わない。
「相対的な位置」とは、例えば、移動体が移動している間に1フレーム前に取得した位置情報からどのような方向に、どのような距離移動したかを示す情報である。すなわち、過去の位置と現在の位置との差分により示される位置情報のことを示す。
「スターレコニング」とは、絶対的な自己位置を推定する手法である。上記の定義に鑑みると、例えば、地図上の位置を推定する手法であり、過去の結果には依存せず、現在の周囲の環境等により位置情報を取得する手法である。過去の結果には依存しないので、長時間継続的に推定を行っても、その推定に過去の推定結果に起因する誤差が蓄積されることがない。スターレコニングには、例えば、GPSによる測位、撮像した画像による特徴点のマッピング、LiDARからの入力をNDT(Normal Distributions Transform)マッチングする手法、等があるが、本開示におけるスターレコニングは、これらに限られるものではない。
「デッドレコニング」とは、相対的な自己位置を推定する手法である。上記の定義に鑑みると、例えば、過去の位置情報と、速さ、ロール、ピッチ、ヨー、トルク等の情報と、から当該過去の位置情報から相対的にどのような位置にいるかを推定する手法である。デッドレコニングは、連続的かつ高レートでスキャンを行い、さらに制御情報をそのまま用いることができる。一方で、過去のデータに依存するため、誤差が蓄積する可能性がある。デッドレコニングには、例えば、車輪オドメトリ、ビジュアルSLAM(Simultaneous Localization and Mapping)、デプスSLAM等がある。また、一部のスターレコニング手法もデッドレコニングとして応用することができる。
以下、図面を用いて本開示における実施形態について説明する。説明においては、一例として移動体をロボットとし、ロボットの自己位置を推定することとするが、移動体は、ロボットには限られず、例えば、車両、飛行体等であってもよい。ロボットは、例えば、センサーの感知情報、感知情報を位置情報へと変換するアルゴリズムに基づいて、自己位置、姿勢を推定する自己位置推定機能を複数種類有する。
(第1実施形態)
図1は、一実施形態に係る位置推定システム1のブロック図である。位置推定システム1は、例えば、センサー10と、推定部11と、センサー12と、推定部13と、信頼度判定部14と、制御点取得部16と、制御点格納部18と、パラメータ生成部20と、座標変換部22と、情報取得部24と、を備える。
センサー10は、スターレコニングの一手法を実行するために必要な情報を感知する。センサー10により感知された情報は、対応する推定部11へと出力される。
推定部11は、対応するセンサー10から出力された情報を、当該センサーに対して有効であるスターレコニングに属するアルゴリズムを用いて自己位置を推定する自己位置推定器として機能する。この自己位置は、センサー及びアルゴリズムにより決定される座標系における絶対的な位置として推定される。
センサー10及び対応する推定部11は、例えば、図1に示すように、第1センサー10A及び対応する自己位置推定器である第1推定部11A、第2センサー10B及び対応する自己位置推定器である第2推定部11B、・・・、と備えられる。第1推定部11Aは、センサー10Aが感知した情報から、第1アルゴリズムを用いて第1座標系における第1推定結果を推定する。同様に、第2推定部11Bは、センサー10Bが感知した情報から、第2アルゴリズムを用いて第2座標系における第2推定結果を推定する。
このように、位置推定システム1は、複数のセンサー10及び推定部11により、2以上の複数のスターレコニングにより、複数の座標系における複数の推定結果を取得する。例えば、センサー10と推定部11の組み合わせは、センサー10A、10B、・・・、10X、推定部11A、11B、・・・、11XのN組(N≧3)であってもよい。この場合、推定部11A、11B、・・・、11Xから、それぞれに対応するセンサー10が感知した情報に基づいて、第1推定結果、第2推定結果、・・・、第N推定結果が推定される。
N組のセンサー10及び推定部11の組み合わせのうち、1組、例えば、第1センサー10A及び第1推定部11の組み合わせにおいて用いられる第1座標系を、親座標系とする。位置推定システム1は、この親座標系である第1座標系における位置又は座標を推定結果として使用し、又は、出力する。本開示では、親座標系とする座標系における推定結果を出力するセンサー10及び推定部11のうち1組を、第1センサー10A及び第1推定部11Aと表す。
親座標である第1座標系は、例えば、トポロジカルマップが生成されている系、データリセットにより座標系が途中で変わらない系、自己位置推定開始時点でリローカライズが可能な系、高頻度・高精度でスキャンできる系、歪みが少ない系、等の条件に基づいて設定することが可能である。
なお、センサー10及び対応する推定部11において、センサーの感知周期又は推定部の推定時間は、センサーの種類及び使用するアルゴリズムにより異なるものである。それぞれの推定部11は、推定結果を取得したタイミングで推定結果(及び信頼度)を信頼度判定部14へと出力してもよい。
センサー12は、デッドレコニングの一手法を実行するために必要な情報を感知する。センサー12により感知された情報は、推定部13へと出力される。センサー12は、例えば、車軸に備えられているセンサー、IMU、カメラ等であってもよい。
推定部13は、センサー12から出力された情報を、当該センサーに対して有効であるデッドレコニングに属するアルゴリズムを用いて自己位置を推定する自己位置推定器として機能する。この自己位置は、過去のロボットの位置に対する相対的な位置であり、例えば、制御点取得部16から通知された時間に基づき推定される。例えば、センサー12は、ロボットに付随する車輪の速さ及び回転角等を取得するセンサーであり、推定部13は、センサー12の出力からオドメトリにより相対的な位置を推定する。
なお、センサー12及び推定部13は、1組あるものとしたが、これには限られず、2組以上のセンサー12及び推定部13の組み合わせがあってもよい。例えば、上記の車輪のセンサーの他に、カメラがセンサー12として備えられ、推定部13は、SLAMにより自己位置推定をしてもよい。
信頼度判定部14は、推定部11A、・・・、11Xが推定したN個の推定結果における信頼度を判定する。この信頼度は、各アルゴリズムに基づいて信頼度判定部14が算出してもよいし、それぞれの推定部11において、推定結果を取得するタイミングに基づいて算出されてもよい。推定部11において信頼度が算出される場合には、対応するセンサー10の状態に基づいて信頼度が算出されてもよい。信頼度判定部14は、例えば、それぞれの推定部11から取得した信頼度が所定しきい値以上となるか否かを判定する。上述したように、それぞれの推定部11は、推定結果を取得したタイミングにおいて、信頼度判定部14へと推定結果(及び信頼度)を出力する。
例えば、GPSからの電波を受信するセンサーである場合、電波を受信できた衛星の個数を用いて信頼度を算出してもよい。例えば、LiDARのセンサーである場合、反射光の強度に基づいて信頼度を算出してもよい。例えば、特徴点を取得するセンサーである場合、マッピングする推定において取得した特徴点とマッピングされる特徴点との誤差及び個数の少なくとも一方に基づいて信頼度を算出してもよい。
第1推定結果は、破線で示されるように、信頼度によらずに情報取得部24へと出力されてもよい。また、信頼度判定部14の判定に基づいて、第1推定結果が情報取得部24へと出力されてもよい。例えば、信頼度によらずに第1推定結果が情報取得部24へと出力される場合、他の推定結果が出力されていない場合には、この第1推定結果を自己位置として取得し、出力してもよい。
別の例として、信頼度判定部14は、取得した第1推定結果の信頼度が所定しきい値以上である場合には、第1推定結果を信頼できる結果であるとして、制御点取得部16及び情報取得部24へと出力してもよい。取得した他の推定結果の信頼度が所定しきい値以上である場合には、所定しきい値以上の信頼度を有する推定結果を制御点取得部16へと出力する。あるタイミングにおいて取得した第1推定結果以外の推定結果の信頼度が所定しきい値以上であり、過去の直近の第1推定結果の信頼度が所定しきい値よりも低い場合には、当該タイミングにおいて取得した推定結果を座標変換部22へと出力する。
なお、所定しきい値は、全ての推定結果に対して同じ値を用いることができるように、各推定結果の信頼度を計算する際に規格化してもよいし、それぞれの推定結果に対して設定された所定関数等により計算されたしきい値を変換して規格化等してもよい。また、別の例として、所定しきい値は、それぞれの推定部11において別々の値として設定されていてもよい。
制御点取得部16は、同時刻における第1推定結果と、信頼度判定部14により信頼度が高いと判定された他の推定結果のうち1つと、を取得する。例えば、第1推定結果を取得したタイミングにおいて、同じタイミングで他の推定結果が取得できている場合には、これらの組み合わせを制御点として取得する。しかしながら、一般的に同じタイミングで推定部11から推定結果が送信されることはまれである。このため制御点取得部16は、推定部13の推定結果に基づいて、推定結果を補正する。
制御点取得部16があるタイミングにおいて第1推定結果を取得した場合、直近の他の推定結果が得られたタイミングとの時間差を算出する。推定部13は、この時間差に基づいて、当該他の推定結果の座標系における時間差分の相対的な位置を算出する。制御点取得部16は、他の推定結果の絶対的な位置と、相対的な位置と、に基づいて、当該タイミングの他の推定結果を取得する。この結果、同じタイミングにおける第1推定結果と、他の推定結果とのペアを制御点として取得する。なお、直近の他の推定結果は、位置推定システム1に備えられる図示しない記憶部に格納されていてもよい。
例えば、センサー10及び推定部11が2種類備えられる場合、第1推定結果と、第2推定結果を用いて制御点を生成する。3種類以上のセンサー10及び推定部11が備えられる場合には、上記のように、当該タイミングに対して直近の推定結果を出力した推定部11の結果を用いて当該推定結果と、第1推定結果と、のペアである制御点を取得してもよい。別の例として、センサー10及び推定部11のうち、前回の第1推定結果が得られてから当該タイミングの推定結果が得られるまでに取得され、信頼度が所定しきい値よりも高い推定結果の一部又は全部を用いて、これらの推定結果を出力した推定部11との間における制御点を取得してもよい。
一方、制御点取得部16が、あるタイミングにおいて第1推定結果以外の推定結果を取得した場合、直近の第1推定結果に対して、時間差分の相対的な位置を推定する。直近の第1推定結果及び当該時間差分の相対的な位置に基づいて、当該タイミングにおける第1推定結果と、他の推定結果のペアを制御点として取得する。
制御点取得部16は、取得した制御点を制御点格納部18に格納する。この制御点格納部18、及び、後述するパラメータ生成部20、座標変換部22は、それぞれのセンサー10及び推定部11に対して並列演算を実行できるように、複数組、例えば、N−1組あってもよい。例えば、センサー10B、推定部11Bに対して、制御点格納部18B、パラメータ生成部20B、座標変換部22Bが備えられ、・・・、センサー10X、推定部11Xに対して、制御点格納部18X、パラメータ生成部20X、座標変換部22Xが備えられてもよい。このように1対1対応で備えられることにより、制御点の格納、パラメータの生成、座標変換を、例えば、異なるプロセッサにおいて並列に計算することが可能となる。
パラメータ生成部20は、制御点格納部18に格納されている複数の制御点を用いて、他の座標系から第1座標系へと変換する変換パラメータを生成する。第2座標系から第1座標系に変換する場合について説明する。他の座標系についても同様に処理することができる。
パラメータ生成部20は、制御点格納部18から第1推定結果と第2推定結果とのペアである制御点を取得する。第2座標系から第1座標系へと変換するために第1所定数以上の制御点が必要である場合、第1所定数以上の制御点を取得する。制御点格納部18に第1所定数以上の制御点がない場合には、例えば、初期値として設定されている変換パラメータを用いてもよいし、第1所定数以上の制御点が取得できるまで変換パラメータを算出しなくてもよい。
パラメータ生成に用いる制御点の必要数である第1所定数は、座標変換パラメータの算出アルゴリズム、自己位置推定結果の次元数等に依存する。この第1所定数等の情報は、例えば、位置推定システム1内に備えられる設定ファイル等に記述され、設定されていてもよい。パラメータ生成部20は、例えば、この設定ファイル内の情報を取得することにより、第1所定数を取得して、パラメータ生成が可能であるかどうかを判断してもよい。
第1所定数以上の制御点が格納されている場合には、第1所定数以上のパラメータ生成に用いる制御点を任意の方法によりパラメータ生成に用いる制御点を選択する。パラメータ生成部20は、例えば、信頼度の高いペア、第1座標における分散が大きいペア、取得したタイミングが新しいペア等により選択してもよいし、これらを組み合わせた方法により選択してもよい。また、オーバーフィッティングしないよう、又は、処理時間が長くなりすぎないように、用いる制御点のペア数が所定数を超えないように制限してもよい。
また、パラメータ生成部20がオーバーフィッティングする可能性があるペア数、処理コストが高くなるペア数、又は、メモリの大きさ等に基づいて、第2所定数を超える数の制御点を制御点格納部18に格納させないようにしてもよい。この処理は、例えば、制御点取得部16が制御点格納部18に格納するタイミングで、第2所定数を超える格納数となる場合に、任意の方法で格納されている制御点データを削除してもよい。この削除は、例えば、上述と同様に、信頼度の高いペア、第1座標における分散が大きいペア、取得したタイミングが新しいペア等を残すようにしてもよいし、これらを組み合わせてもよい。
パラメータ生成部20は、例えば、ラスターデータを地図データに重ね合わせる手法であるジオリファレンス(Georeferencing)の手法により、変換パラメータを生成する。より具体例としては、スケール変換・回転・並進・鏡像といった相似変換、相似変換とせん断を組み合わせたアフィン変換、射影変換、Rubber-Sheeting(Polynomial、Thin Plate Spline)、又は、種々の非線形変換の手法を用いる。
座標変換部22は、パラメータ生成部20が生成したパラメータに基づいて入力された推定結果を第1座標系へと変換する。パラメータ生成部20が生成した変換パラメータは、座標変換部22が記憶しておいてもよいし、別途図示しない記憶部に格納され、必要に応じて読み出してもよい。
情報取得部24は、第1推定結果、又は、第1座標系に変換された第1推定結果以外の推定結果に基づいて現時点における絶対的な位置の情報を取得する。情報取得部24が取得した情報は、適切に出力され、ロボットの自律行動等に用いられてもよいし、外部に対してネットワーク等を介して出力されてもよい。
図1に示す全ての構成要素は、ロボットに備えられてもよい。この場合、ロボットだけで閉じた状態でロボットの自己位置推定を実行することが可能となる。
別の例として、少なくともセンサー10及び推定部11の一部と、センサー12及び推定部13がロボットに備えられ、他の構成要素は、例えば、ロボットが動作するユーザ空間に属するロボットと通信可能なコンピュータ等に備えられてもよい。この場合、ロボットは、コンピュータ等と通信をしながら自己位置を推定してもよい。
上記の各例において、センサー10、12は、位置推定システム1に含まれなくてもよい。例えば、センサー10、12からの感知情報を取得し、センサー10、12の感知情報を利用して上記の処理ができるシステムを位置推定システム1としてもよい。さらには、推定部11、13もシステムに含まれなくともよく、この場合、推定部11、13からの出力を取得する取得部、を備え、取得部が取得した各センサー及び各推定値を用いて自己位置推定を実行できるシステムとして、位置推定システム1を構成してもよい。
さらに別の例として、2以上のロボットが少なくとも一部が重なるユーザ空間に備えられてもよい。この場合、それぞれのロボットは、センサーと推定部を必要数備え、他の構成要素ついては、いずれかのロボットに備えられる構成であってもよい。また、それぞれのロボットにおいて推定された自己位置をロボット同士で交換し、衝突等を回避する構成であってもよい。さらに、同じ種類のセンサーと推定部を用いる場合には、それぞれのロボットにおいて生成されたパラメータを調整して、より精度の高いパラメータを生成、取得してもよい。このように、複数の移動体がある場合には、例えば、ランドマーク等の基準となる測定値を元に、複数の移動体の地図を結合してもよい。
図2は、一実施形態に係る制御点取得部16による制御点取得の概略を模式的に示した図である。この図2は、第1センサー10A、第1推定部11A、第2センサー10B、第2推定部11Bを備え、第1座標系において、実線の矢印で示される経路を辿る例である。P()は、第1推定結果による位置であり、Q()は、第2推定結果による位置である。第2推定結果は、図に表すために、便宜的に第1座標系に変換されているが、制御点取得においては、第1変換系に変換される前の第2座標系の位置を用いて以下の処理が実行される。第1推定結果が時刻t=t1,t3,t4,t5,t7に取得され、第2推定結果が時刻t=t0,t2,t4,t6,t8に取得されている。
以下、各推定結果において、信頼度が所定しきい値以上であったとする。
第1推定部11Aは、時刻t1において、第1推定結果P(t1)を取得する。制御点取得部16は、第2推定部11Bにおいて直近に取得された時刻t0の第2推定結果Q(t0)を用いて時刻t1の第2推定結果を生成する。この生成は、センサー12及び推定部13から取得される第2座標系におけるデッドレコニングの手法を用いて実行される。第2座標系における時刻t0、t1間のデッドレコニングの推定値をD2(t1~t0)と表す。制御点取得部16は、時刻t0、t1間のデッドレコニングの第2座標系における位置を推定部13から取得する。続いて、制御点取得部16は、時刻t1における第2推定結果を、Q(t1)=Q(t0)+D2(t1~t0)として計算する。これは、例えば、ベクトルの和、又は、各要素の和として計算されてもよい。そして、時刻t1における第1推定結果P(t1)と第2推定結果Q(t1)のペアを制御点として、制御点格納部18へと格納する。
第2推定部11Bは、時刻t2において、第2推定結果Q(t2)を取得する。制御点取得部16は、第1推定部11Aにおいて直近に取得された時刻t1の第1推定結果P(t1)を用いて時刻t2の第1推定結果を生成する。この生成は、上記と同様に、デッドレコニングにより実行される。第1座標系における時刻t1、t2間のデッドレコニングの推定値をD1(t2~t1)と表す。制御点取得部16は、時刻t2における第1推定結果を、P(t2)=P(t1)+D1(t2~t1)として計算する。そして、時刻t2における第1推定結果P(t2)と第2推定結果Q(t1)のペアを制御点として、制御点格納部18へと格納する。
このように、それぞれの推定部から推定結果が得られたタイミングに基づいて、制御点取得部16は、同時刻の第1推定結果と第2推定結果を生成し、このペアを制御点として制御点格納部18へと格納する。
時刻t4において、第1推定結果P(t4)と第2推定結果Q(t4)が取得された場合、デッドレコニングによる補正を行うこと無しに、制御点としてもよい。
時刻t5において、第1推定結果P(t5)が取得され、推定部13においてD2(t5~t4)が算出されるとする。このD2(t5~t4)が所定の距離よりも長い場合、制御点取得部16は、第1推定結果P(t5)に対する第2推定結果Q(t5)が取得できないと判断してもよい。これは、デッドレコニングによる誤差が蓄積する可能性があり、この誤差の蓄積から制御点取得、ひいては変換パラメータ生成の精度が落ちるのを抑制するためである。また、推定部13が出力した距離で判断するとしたが、これには限られない。例えば、制御点取得部16は、t5-t4の値の大きさ、すなわち、推定部13において相対的な位置推定を行う時間が所定時間を超える場合に、制御点として取得しないようにしてもよい。
パラメータ生成部20は、このように取得された複数の同時刻の第1座標系の第1推定結果と、第2座標系の第2推定結果と、のペアである制御点から、第2座標系から第1座標系へと変換する変換パラメータを生成する。
以上は、信頼度が高い場合について説明したが、信頼度が低くなる場合について説明する。例えば、第2推定結果Q(t6)の信頼度が所定しきい値より低い場合、信頼度判定部14により制御点取得部16へと第2推定結果Q(t6)が送信されないため、制御点の取得は実行されない。
一方で、同様に第2推定結果Q(t6)の信頼度が所定しきい値より低い場合、時刻t7における第1推定結果P(t7)の制御点を取得する場合を考える。この場合、直近に取得された第2推定結果Q(t6)の信頼度が低いことから、制御点取得部16は、第1推定結果P(t7)に対する第2推定結果Q(t7)を生成すること無く、制御点を取得しないとしてもよい。このように処理するために、記憶部にそれぞれの推定部が推定した推定結果を、信頼度と紐付けて記憶させてもよい。
上記は、第1推定結果と第2推定結果を用いる場合であるが、第3推定結果、・・・、第N推定結果を用いる場合も同様に制御点を取得することができる。上述したように、第1推定結果が取得された場合には、N−1通りのデッドレコニングの推定値を取得し、条件に合致するものを制御点として取得してもよい。他の推定結果が取得された場合には、直近に取得されている第1推定結果に対してデッドレコニングによる補正を実行し、制御点として取得してもよい。
図3は、本実施形態に係る第2座標系から第1座標系への変換の一例を示す図である。上段は、ロボットの辿った実際の経路、下段は、第1推定結果、第2推定結果を同時刻のタイミングで取得した推定結果である。
第1推定結果において、例えば、第1座標系のデータに歪みがあるとする。このような場合、上段のような経路を辿ると、下段のように、右下における自己位置推定結果に歪みを生じ、ずれた位置を推定する。例えば、第1推定部11Aは、第1推定結果P1、P2、P3、P4を推定する。
第2座標系は、第1座標系に直すと、台形形状に歪んでいる。第2座標系においては、右上に示すような経路を辿る。例えば、第2推定部11Bは、第1推定結果と同じ時刻において第2推定結果Q1、Q2、Q3、Q4を推定する。
図3においては、第1推定結果P3の信頼度が所定しきい値より低くなる。このような推定結果を変換パラメータの生成に用いてしまうと、座標変換部22における変換の精度が落ちる。このため、信頼度が所定しきい値よりも低くなる場合には、第1推定結果P3と第2推定結果Q3のペアを制御点として用いないことにより、変換パラメータの精度を向上することが可能となる。
図4は、本実施形態に係る処理を示すフローチャートである。
まず、信頼度判定部14は、センサー10及び推定部11から、当該推定部11における座標系に基づく推定結果を取得する(S100)。推定部11が信頼度を生成する場合には、信頼度も同様に取得する。
取得した推定結果及び信頼度は、記憶部に格納されてもよい(S200)。記憶部は、例えば、不揮発性又は揮発性の各種メモリ、ストレージ等であってもよい。このデータの格納は、S102を実行する場合、S102による信頼度判断の後、信頼度が高い場合に格納し、低い場合に格納しない処理としてもよい。また、S200において信頼度を判定する場合には、信頼度が低かった場合の推定結果を削除してもよい。さらに、推定結果と信頼度とを紐付けて格納してもよく、この場合、推定結果を参照するタイミングにおいて、信頼度に基づいて制御点とするか否かを判断することもできる。
次に、信頼度判定部14は、取得した推定結果の信頼度が所定しきい値以上であるか否かを判断する(S102)。信頼度が所定しきい値よりも低い場合(S102:NO)には、推定結果を取得する待機状態に戻ってもよい。信頼度が所定しきい値以上である場合(S102:YES)、次のステップへと進む。なお、このS102は、無くてもよく、この場合、情報取得部24は、信頼度に拘わらず、自己位置推定結果を出力することが可能である。
次に、推定結果を第1座標系に変換する必要があるか否かを判断する(S104)。座標変換が必要で無い場合(S104:NO)、取得した推定結果を情報取得部24へと出力する。
座標変換が必要な場合(S104:YES)、座標変換部22は、座標変換に用いる変換パラメータが生成され、座標変換が可能であるか否かを判断する(S106)。座標変換が可能で無い場合(S106:NO)、推定結果の取得待機状態へと遷移してもよいし、別の例として破線で示すように、処理終了かを判断するステップへと遷移してもよい。
座標変換が可能である場合(S106:YES)、座標変換部22は、推定結果の座標系を第1座標系へと変換する(S108)。
次に、情報取得部24は、第1座標系の第1推定結果、又は、第1座標系に変換された他の推定結果を自己位置情報として取得し、出力する(S110)。
次に、例えば、ロボットが引き続き動作を続けるか否か等の判断にしたがい処理を終了するかどうかを判断する(S112)。処理を終了する場合(S112:YES)、位置推定システム1は、動作を終了する。処理を終了しない場合(S112:NO)、推定結果の取得待機状態へと遷移する。
S104からの処理に並行して、推定結果を取得した場合に、当該推定結果に基づいて変換パラメータを生成する処理を実行する(S202)。この処理は、例えば、上述の各処理と並列処理として実行されるが、S104〜S110の処理を優先的に実行してもよい。S104から〜S110の処理を優先的に実行することにより、パラメータの生成よりも、自己位置推定を先に実行することができる。この結果、自己位置推定におけるレイテンシを低減することができる。
図5は、本実施形態に係る変換パラメータ生成処理(S202)の詳細を示すフローチャートである。
まず、着目時刻(例えば、現在時刻)で取得された推定結果の信頼度が所定しきい値以上であるかを判定する(S2020)。なお、図4においてS102のステップを実行している場合には、この処理は省略し、無条件でYESに進んでもよい。
推定結果の信頼度が低い場合(S2020:NO)、パラメータを生成せずに処理を抜ける。推定結果の信頼度が高い場合(S2020:YES)、直前の推定結果を取得する(S2021)。直前の推定結果とは、図2に示すように、着目時刻に対して直近の推定結果のことを示す。直前の推定結果は、例えば、現在時刻において取得した推定結果が第1推定結果である場合には、第2推定結果その他推定結果であってもよい。現在時刻において取得した推定結果が第2推定結果その他であれば、第1推定結果であってもよい。これらの双方、すなわち、取得された推定結果に基づいた推定結果に対して直近の推定結果を取得してもよい。別の例として、第1推定結果が得られた場合にのみ、また、逆に第2推定結果その他が得られた場合にのみ、直近の推定結果を取得してもよい。
次に、制御点取得部16は、S2021で得られた結果から、着目時間における推定結果を推定する(S2022)。例えば上述したように、着目時間の直近の推定結果から、着目時間と当該推定結果が得られた時間差をまず算出する。この時間差は、例えば、図4のS200で格納された情報に基づいて算出される。そして、推定部13が、この時間差に対してオドメトリ等のデッドレコニング手法により相対的な位置を推定することにより実行される。
次に、制御点取得部16はS2022で推定された結果が利用できるか否かを判断する(S2023)。利用できるか否かは、例えば上述したように、互いの信頼度、同時刻における推定結果同士の距離が離れすぎていないか、又は、時間差が大きすぎないか、等に基づく。例えば、時間差により判断する場合、S2021の処理の前に判断してもよい。
利用できないと判断した場合(S2023:NO)、パラメータを生成せずに処理を抜ける。利用できると判断した場合(S2023:YES)、制御点取得部16は、同時刻における推定結果同士を制御点として、制御点格納部18に格納する(S2024)。
次に、パラメータ生成部20は、格納されている制御点の数が、パラメータ生成をすることができる数に達しているのかを判断する(S2025)。パラメータ生成をするには制御点の組が足りない場合(S2025:NO)には、パラメータ生成をせずに処理を抜ける。
一方、パラメータ生成が可能である場合(S2025:YES)、パラメータ生成部20は、格納されている制御点を用いてパラメータを生成する(S2026)。生成されたパラメータは、適切な記憶部、格納部等に記憶されてもよいし、又は、座標変換部22が記憶して、座標変換に用いてもよい。
このように、パラメータの生成が行われる。
なお、制御点の間引き処理をする場合には、例えば、S2024の制御点の格納処理のタイミングにおいて破線で示すような処理を行ってもよい。例えば、制御点を格納するタイミングで、制御点を間引くか否かを判断し(S2027)、判断結果に基づいて、制御点の間引き処理を実行する(S2028)構成としてもよい。
以上のように、本実施形態によれば、親座標と異なる座標系を有する推定結果が取得できる場合に、その座標変換のパラメータを適切に取得することが可能となり、自己推定結果の修正等を容易に実行できる構成とすることができる。この結果、複数の自己推定装置を有する場合に、精度のよい自己推定結果を取得することが可能となる。
(第2実施形態)
前述した実施形態においては、推定結果を取得したタイミングで信頼度を算出したが、信頼できる結果であるか否か(信頼度が高いか低いか)を、推定結果に基づいて取得してもよい。
基本的な装置の構成は、図1に示す位置推定システム1と同様である。一方で、信頼度は、推定結果に基づいて判断される。
図6は、本実施形態に係る信頼度の判断について説明する図である。
移動体が移動する空間内に、第1推定結果の信頼度が低い第1領域R1が設定されている。第1推定部11Aが推定した第1推定結果が第1領域R1に属する場合、信頼度判定部14は、この第1推定結果を信頼できないものとして、制御点として処理しないようにする。
例えば、第1推定部11Aにより、第1推定結果P(t3)が取得された場合、信頼度判定部14は、この第1推定結果P(t3)を信頼できないものとして判断し、制御点として取得しないようにする。図4におけるS102、又は、図5におけるS2020において、しきい値処理をするのでは無く、推定結果が所定の領域内にあるか否かで判断する。
この場合、信頼度により、制御点として第1推定結果P(t3)を加えない一方で、情報取得部24は、暫定的にこの第1推定結果P(t3)を出力してもよい。このように、親座標系の推定結果を直接的に導き出せる推定部の自己位置推定結果は、暫定的に出力する自己位置推定結果として用いてもよい。
別の例として、直近の第2推定結果Q(t2)を取得してオドメトリ等により同時刻のQ(t3)を推定し、この推定結果を座標変換してもよい。例えば、図3において、第1推定結果P3が領域R1にある場合、過去の第1推定結果P2、P1、・・・、と過去の第2推定結果Q2、Q1、・・・、と、から座標変換に使用する変換パラメータが生成されている場合には、座標変換部22は、第2推定結果Q3に対して座標変換を実行する。そして、情報取得部24は、座標変換部22により、この変換パラメータに基づいて変換された第1座標系における推定結果を取得して、出力してもよい。
このように、情報取得部24は、それぞれの推定部から取得された位置推定結果を、カルマンフィルタ等の結合アルゴリズムにより、1つの自己位置推定結果として出力してもよい。別の例として、それぞれ別の目的に使用してもよい。座標の結合等のアルゴリズムは問わないが、復号して利用することにより、特定のセンサー、アルゴリズムが苦手とする環境下においても、他のセンサー、アルゴリズムの結果を相補的に利用することにより、座標系を辺濃くせずに自己位置の情報を扱うことが可能となる。
第1推定部11Aに対する第1領域R1だけでは無く、第2推定部11B、・・・、に対する第2領域R2、・・・、が設定されていてもよい。第1領域R1と、第2領域R2は、重なりがある領域であってもよい。上記と同様に、第2推定結果が第2領域R2内となった場合には、第2推定結果を制御点として取得しないようにしてもよい。
この領域は、操作者、又は、ユーザ等があらかじめセンサー、アルゴリズム等の特性により設定する領域であってもよい。例えば、LiDARを用いる自己位置推定の場合は、反射率の高い物体、例えば、全反射する鏡等が多く存在する場所や、人間が多く存在するであろう領域をあらかじめ設定しておくことにより、精度の低い推定結果を制御点として用いないようにできる。
図7は、ユーザによりあらかじめ設定する場合に使用するGUI(Graphical User Interface)を示す例である。このようなユーザインタフェースを有するツールを用いて、センサーごとに苦手(信頼度の低い)領域をあらかじめ、又は、移動体の移動中にリアルタイムに設定できるようにしてもよい。また、例えば、このGUIは、ディスプレイに表示される。ディスプレイの表示において、領域を指定する箇所に、さらに、地図に基づいて地形、障害物等があらかじめ示され、ユーザが示された物体等に基づいて領域をしていてもよい。
また、第1領域R1は、位置的な領域を指すものとして説明したが、これには限られない。例えば、時間的、環境的な領域としてもよい。例えば、LiDARを用いる場合には、夕方〜朝方に掛けて、すなわち、暗くなる時間を信頼度の低い時間として設定してもよい。別の例として、輝度を測定し、この輝度に基づいて、信頼度の低い領域として自動的に設定されてもよい。また、天気が雨である場合に、信頼度の低い環境としてもよい。また、周囲に人が多いことを、SIFT(Scale-Invariant Feature Transform)、HOG(Histograms Of Oriented Gradients)等により検知して、LiDARに対する信頼度を低く設定してもよい。このように、信頼度の低い領域は、位置的ではなく、時間、環境により、あらかじめ設定し、又は、移動体の自己位置推定を行うタイミングにおいて自動的に設定されるものであってもよい。
他の例として、GPSであれば、あらかじめいくつの衛星からの情報を取得できるかが判定できる場合がある。また、移動体より鉛直上方(空の方向)に遮蔽物がある場所をあらかじめ設定し、又は、自動的に遮蔽物があると判断し、信頼度の低い領域としてもよい。このように、センサー、アルゴリズムに基づいて、あらかじめ領域を設定し、又は、自動的に判断して領域が設定されてもよい。
上記では、1つのセンサー、アルゴリズムに基づいて領域を設定したが、これには限られない。例えば、過去の自己位置推定の取得した結果に基づいて、取得された推定結果を座標変換した推定結果が、過去の制御点により生成されたパラメータによる座標変換結果から大きくはずれる場合等に、信頼度を低くしていってもよい。このように、領域自体に信頼度パラメータを設定し、位置推定を行うタイミングにおいて、信頼度を変更し、この領域に対して変更された信頼度が所定しきい値よりも低くなった場合に、当該領域を信頼度の低い領域として設定してもよい。また、この信頼度の判定は、前述の実施形態に係る信頼度を用い、この取得した信頼度の情報を、領域に設定してもよい。
以上のように、本実施形態によれば、センサー、アルゴリズムが苦手とする環境がある場合においても、他のセンサー、アルゴリズムによる自己位置推定結果を同じ座標系で扱うための変換パラメータの精度を向上させることができる。このため、自己位置推定結果を同じ座標系において精度よく生成して扱うことが可能となり、苦手な環境下がある場合でも、ロバストな自己位置推定が可能となる。
例えば、カルマンフィルタ等のフュージョンアルゴリズムに入力することにより、全ての結果を1つの自己位置推定結果として扱うことが可能となる。この結果、この結合において苦手な環境を、例えば、他の各センサー、アルゴリズムにより補うことにより、自己位置の座標系の変化、意図しないジャンプ等を発生させずに、より様々な環境でロバストな自己位置推定を行うことができる。
第1座標系と同じ座標系を用いるセンサー10及び推定部11の組み合わせは、第1センサー10A及び第1推定部11Aの他にも存在していてもよい。例えば、第3センサー10C及び第3推定部11Cが第1座標系を用いて第3推定結果を出力してもよい。この場合、第1推定結果の信頼度が低い環境においても、第3推定結果の信頼度が高い環境であれば、制御点取得部16は、例えば、同時刻の第2推定結果と第3推定結果とのペアを制御点として取得してもよい。
本開示において、以上、以下の表現は、より大きい(より高い)、より小さい(より低い)と言い換えることができる。逆に、より大きい(より高い)、より小さい(より低い)という表現は、以上、以下、と言い換えることができる。
本開示において、同時刻又は同じタイミングとは、厳密に同一の瞬間を表すことを示すのではなく、同一の時刻とみなせる時刻、例えば、センサー等により異なるが、30ミリ秒、50ミリ秒、60ミリ秒、100ミリ秒、500ミリ秒、或いは1秒以上といった誤差を含んだ時刻であってもよい。本開示においては、例えば、各手法による位置推定の取得又は位置推定結果の出力の周期(時間的なピッチ)の〜1/10といった時間の誤差を含んでいてもよいし、より厳密に、〜1/100といった時間の誤差を含んでいてもよい。これらの数値は例として挙げたものであり、これに限られるものではなく、例えば、取得したい位置推定の精度、処理速度の制限等により適切に変更できるものである。
本開示の態様は、プログラムにより実装されてもよい。プログラムは、記憶部に記憶され、ソフトウェアによる情報処理がハードウェアにより具体的に実現されるものであってもよい。ソフトウェアの処理は、コンピュータの他、アナログ回路又はデジタル回路、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)により実装されてもよい。
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、飛行機、ドローン、船舶、ロボット、建設機械、農業機械(トラクター)などのいずれかの種類の移動体に搭載される装置として実現されてもよい。
図8は、本開示に係る技術が適用され得る移動体制御システムの一例である車両制御システム7000の概略的な構成例を示すブロック図である。車両制御システム7000は、通信ネットワーク7010を介して接続された複数の電子制御ユニットを備える。図8に示した例では、車両制御システム7000は、駆動系制御ユニット7100、ボディ系制御ユニット7200、バッテリ制御ユニット7300、車外情報検出ユニット7400、車内情報検出ユニット7500、及び統合制御ユニット7600を備える。これらの複数の制御ユニットを接続する通信ネットワーク7010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク7010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図8では、統合制御ユニット7600の機能構成として、マイクロコンピュータ7610、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660、音声画像出力部7670、車載ネットワークI/F7680及び記憶部7690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット7100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット7100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット7100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット7100には、車両状態検出部7110が接続される。車両状態検出部7110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット7100は、車両状態検出部7110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット7200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット7200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット7200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット7200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット7300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池7310を制御する。例えば、バッテリ制御ユニット7300には、二次電池7310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット7300は、これらの信号を用いて演算処理を行い、二次電池7310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット7400は、車両制御システム7000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット7400には、撮像部7410及び車外情報検出部7420のうちの少なくとも一方が接続される。撮像部7410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部7420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム7000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサのうちの少なくとも一つが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部7410及び車外情報検出部7420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図9は、撮像部7410及び車外情報検出部7420の設置位置の例を示す。撮像部7910,7912,7914,7916,7918は、例えば、車両7900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部7910及び車室内のフロントガラスの上部に備えられる撮像部7918は、主として車両7900の前方の画像を取得する。サイドミラーに備えられる撮像部7912,7914は、主として車両7900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部7916は、主として車両7900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部7918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図9には、それぞれの撮像部7910,7912,7914,7916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部7910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部7912,7914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部7916の撮像範囲を示す。例えば、撮像部7910,7912,7914,7916で撮像された画像データが重ね合わせられることにより、車両7900を上方から見た俯瞰画像が得られる。
車両7900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7922,7924,7926,7928,7930は、例えば超音波センサ又はレーダ装置であってよい。車両7900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部7920,7926,7930は、例えばLIDAR装置であってよい。これらの車外情報検出部7920〜7930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図8に戻って説明を続ける。車外情報検出ユニット7400は、撮像部7410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット7400は、接続されている車外情報検出部7420から検出情報を受信する。車外情報検出部7420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット7400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット7400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット7400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット7400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット7400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部7410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット7400は、異なる撮像部7410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット7500は、車内の情報を検出する。車内情報検出ユニット7500には、例えば、運転者の状態を検出する運転者状態検出部7510が接続される。運転者状態検出部7510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット7500は、運転者状態検出部7510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット7500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット7600は、各種プログラムにしたがって車両制御システム7000内の動作全般を制御する。統合制御ユニット7600には、入力部7800が接続されている。入力部7800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。統合制御ユニット7600には、マイクロフォンにより入力される音声を音声認識することにより得たデータが入力されてもよい。入力部7800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム7000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部7800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。あるいは、搭乗者が装着したウェアラブル装置の動きを検出することで得られたデータが入力されてもよい。さらに、入力部7800は、例えば、上記の入力部7800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット7600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部7800を操作することにより、車両制御システム7000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部7690は、マイクロコンピュータにより実行される各種プログラムを記憶するROM(Read Only Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するRAM(Random Access Memory)を含んでいてもよい。また、記憶部7690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信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)端末)と接続してもよい。
専用通信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通信を遂行する。
測位部7640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部7640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部7650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部7650の機能は、上述した専用通信I/F7630に含まれてもよい。
車内機器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との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F7680は、マイクロコンピュータ7610と通信ネットワーク7010との間の通信を仲介するインタフェースである。車載ネットワークI/F7680は、通信ネットワーク7010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット7600のマイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム7000を制御する。例えば、マイクロコンピュータ7610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット7100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ7610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両の衝突警告、又は車両のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行ってもよい。また、マイクロコンピュータ7610は、取得される車両の周囲の情報に基づいて駆動力発生装置、ステアリング機構又は制動装置等を制御することにより、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ7610は、汎用通信I/F7620、専用通信I/F7630、測位部7640、ビーコン受信部7650、車内機器I/F7660及び車載ネットワークI/F7680のうちの少なくとも一つを介して取得される情報に基づき、車両と周辺の構造物や人物等の物体との間の3次元距離情報を生成し、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ7610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部7670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図8の例では、出力装置として、オーディオスピーカ7710、表示部7720及びインストルメントパネル7730が例示されている。表示部7720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部7720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ7610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図8に示した例において、通信ネットワーク7010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム7000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク7010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク7010を介して相互に検出情報を送受信してもよい。
なお、図1を用いて説明した本実施形態に係る位置推定システム1の各機能を実現するためのコンピュータプログラムを、いずれかの制御ユニット等に実装することができる。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することもできる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
以上説明した車両制御システム7000において、図1を用いて説明した本実施形態に係る位置推定システム1は、図8に示した応用例の統合制御ユニット7600に適用することができる。例えば、位置推定システム1の信頼度判定部14、制御点取得部16、制御点格納部18、パラメータ生成部20、座標変換部22、情報取得部24は、統合制御ユニット7600のマイクロコンピュータ7610、記憶部7690、車載ネットワークI/F7680に相当する。
また、図1を用いて説明した位置推定システム1の少なくとも一部の構成要素は、図8に示した統合制御ユニット7600のためのモジュール(例えば、一つのダイで構成される集積回路モジュール)において実現されてもよい。あるいは、図1を用いて説明した位置推定システム1が、図8に示した車両制御システム7000の複数の制御ユニットによって実現されてもよい。
前述した実施形態は、以下のような形態としてもよい。
(1)
第1座標系に基づいて自己位置を推定する、第1推定部と、
前記第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定部と、
前記第1推定部による第1推定結果と、前記第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を生成する、情報取得部と、
を備える情報処理装置。
(2)
前記第2座標系における位置を前記第1座標系における位置に変換する、座標変換部、
をさらに備え、
前記情報取得部は、前記第1推定結果及び前記第1座標系に変換された前記第2推定結果の少なくとも一方に基づいて前記自己位置情報を生成する、
(1)に記載の情報処理装置。
(3)
前記情報取得部は、
前記第1推定結果の信頼度が前記所定しきい値以上である場合、前記第1推定結果に基づいて前記自己位置情報を生成し、
前記第1推定結果の信頼度が前記所定しきい値よりも低い場合、前記座標変換部に変換された前記第2推定結果に基づいて前記第1座標系における前記自己位置情報を生成する、
(2)に記載の情報処理装置。
(4)
前記情報取得部は、
同じタイミングで取得された前記第1推定結果と、前記座標変換部に変換された前記第2推定結果の距離が所定距離よりも長い場合、前記自己位置情報を生成しない、
(2)又は(3)に記載の情報処理装置
(5)
同じタイミングで取得された前記第1推定結果と前記第2推定結果との組み合わせを制御点として取得する、制御点取得部と、
前記制御点取得部が取得した前記制御点を格納する、制御点格納部と、
前記制御点格納部に格納されている、第1所定数以上の制御点に基づいて、前記座標変換部の変換に用いる変換パラメータを生成する、パラメータ生成部と、
をさらに備える、(2)から(4)のいずれかに記載の情報処理装置。
(6)
前記制御点取得部は、
取得された前記第1推定結果に対して同時刻における前記第2推定結果が存在しない場合には、過去に取得された前記第2推定結果を前記第1推定結果の取得された時刻における推定結果へと補正し、
取得された前記第2推定結果に対して同時刻における前記第1推定結果が存在しない場合には、過去に取得された前記第1推定結果を前記第2推定結果の取得された時刻における推定結果へと補正して、
前記制御点を取得する、
(5)に記載の情報処理装置。
(7)
前記制御点取得部は、取得された一方の推定結果に対する過去の直近の他方の推定結果についてデッドレコニングにより推定結果を補正する、
(6)に記載の情報処理装置。
(8)
前記制御点取得部は、同じタイミングにおける前記第1推定結果の信頼度及び前記第2推定結果の信頼度のうち少なくとも一方が所定しきい値よりも低い場合には、当該タイミングにおける組み合わせを前記制御点として取得しない、
(5)から(7)のいずれかに記載の情報処理装置。
(9)
前記制御点取得部は、前記制御点格納部に格納されている前記制御点が第2所定数以上である場合には、前記制御点格納部に格納されている1又は複数の前記制御点を削除する、
(5)から(8)のいずれかに記載の情報処理装置。
(10)
前記制御点取得部は、取得された時刻が古い順番に前記制御点を削除する、
(9)に記載の情報処理装置。
(11)
前記制御点取得部は、前記第1推定結果及び前記第2推定結果のいずれか一方の信頼度が低い順番に前記制御点を削除する、
(9)に記載の情報処理装置。
(12)
前記制御点取得部は、前記第1推定結果を用いない環境及び前記第2推定結果を用いない環境を設定し、これらの環境内においては、前記制御点を取得しない、
(5)から(11)のいずれかに記載の情報処理装置。
(13)
前記第1推定部及び前記第2推定部は、推定を行わない環境を設定し、これらの環境内においては、自己位置の推定を行わない、
(1)から(12)のいずれかに記載の情報処理装置。
(14)
前記環境は、ユーザにより設定される、
(12)又は(13)のいずれかに記載の情報処理装置。
(15)
前記環境は、自己位置の推定に用いるセンサー又は当該センサーに基づいて自己位置の推定を実行するアルゴリズムに基づいて設定される、
(12)から(14)のいずれかに記載の情報処理装置。
(16)
第3推定部と、・・・、第N推定部(N≧3の整数)と、をさらに備え、
前記座標変換部は、それぞれの前記推定部の座標系を前記第1座標系に変換し、
前記情報取得部は、変換されたそれぞれの前記推定部により推定された位置情報に基づいて、前記自己位置情報を生成する、
(2)〜(15)のいずれかに記載の情報処理装置。
(17)
第1座標系における自己位置を推定するための情報を取得する、第1取得部と、
前記第1座標系とは異なる第2座標系における自己位置を推定するための情報を取得する、第2取得部と、
を備える移動体と、
前記第1取得部が取得した情報に基づく第1推定結果を取得する、第1推定部と、
前記第2取得部が取得した情報に基づく第2推定結果を取得する、第2推定部と、
前記第1推定結果と、前記第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて前記移動体の位置情報を生成する、情報取得部と、
を前記移動体の内部又は外部に備える情報処理システム。
(18)
第1推定部が、第1座標系に基づいて自己位置を推定し、
第2推定部が、前記第1座標系とは異なる第2座標系に基づいて自己位置を推定し、
情報取得部が、前記第1推定部による第1推定結果と、前記第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を生成する、
を情報処理方法。
(19)
コンピュータに、
第1座標系に基づいて自己位置を推定する、第1推定処理、
前記第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定処理、
前記第1推定処理による第1推定結果と、前記第2推定処理による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を生成する、情報生成処理、
を実行させるプログラム。
(20)
第1座標系における自己位置を推定する、第1推定部と、
前記第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、
前記第2推定部による第2推定結果を、前記第2座標系から前記第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、
着目時刻における前記第1推定部による第1推定結果の信頼度及び前記着目時刻における前記第2推定部による第2推定結果の信頼度が所定しきい値以上である場合に、前記第1推定結果及び前記第2推定結果を制御点として格納する、記憶部と、
前記記憶部に格納されている前記着目時刻の前記制御点及び前記着目時刻よりも過去の前記制御点に基づいて、前記変換パラメータを生成する、パラメータ生成部と、
を備える情報処理装置。
(21)
第1座標系における自己位置を推定する、第1推定部と、
前記第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、
前記第2推定部による第2推定結果を、前記第2座標系から前記第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、
前記第1推定部による第1推定結果の信頼度が低い第1領域を設定し、着目時刻における前記第1推定結果が前記第1領域内であれば信頼度が低く、前記第1領域外であれば信頼度を高く評価し、着目時刻における前記第1推定結果の信頼度が高い場合に、前記着目時刻における前記第1推定結果及び前記着目時刻における前記第2推定結果を制御点として格納する、記憶部と、
前記記憶部に格納されている前記着目時刻の前記制御点及び前記着目時刻よりも過去の前記制御点に基づいて、前記変換パラメータを生成する、パラメータ生成部と、
を備える情報処理装置。
(22)
前記第1領域は、あらかじめ設定された領域である、
(21)に記載の情報処理装置。
(23)
前記第1領域は、前記第1推定結果の信頼度に基づいて設定される領域である、
(21)又は(22)に記載の情報処理装置。
(24)
前記着目時刻における前記第2推定結果は、前記着目時刻に対して過去の直近に取得された前記第2推定結果を、前記着目時刻に補正して取得される、
(21)から(23)のいずれかに記載の情報処理装置。
(25)
前記第1推定部及び前記第2推定部は、スターレコニングにより推定を実行し、
前記着目時刻における前記第2推定結果への補正は、デッドレコニングにより推定された結果に基づいて補正される、
(24)に記載の情報処理装置。
本開示の態様は、前述した実施形態に限定されるものではなく、想到しうる種々の変形も含むものであり、本開示の効果も前述の内容に限定されるものではない。各実施形態における構成要素は、適切に組み合わされて適用されてもよい。すなわち、特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更及び部分的削除が可能である。
1:位置推定システム、
10、10A、10B、10X、12:センサー、
11、11A、11B、11X、13:推定部、
14:信頼度判定部、16:制御点取得部、
18:制御点格納部、20:パラメータ生成部、22:座標変換部、
24:情報取得部

Claims (20)

  1. 第1座標系に基づいて自己位置を推定する、第1推定部と、
    前記第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定部と、
    前記第1推定部による第1推定結果と、前記第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を取得する、情報取得部と、
    を備える情報処理装置。
  2. 前記第2座標系における位置を前記第1座標系における位置に変換する、座標変換部、
    をさらに備え、
    前記情報取得部は、前記第1推定結果及び前記第1座標系に変換された前記第2推定結果の少なくとも一方に基づいて前記自己位置情報を取得する、
    請求項1に記載の情報処理装置。
  3. 前記情報取得部は、
    前記第1推定結果の信頼度が前記所定しきい値以上である場合、前記第1推定結果に基づいて前記自己位置情報を取得し、
    前記第1推定結果の信頼度が前記所定しきい値よりも低い場合、前記座標変換部に変換された前記第2推定結果に基づいて前記第1座標系における前記自己位置情報を取得する、
    請求項2に記載の情報処理装置。
  4. 前記情報取得部は、
    同じタイミングで取得された前記第1推定結果と、前記座標変換部に変換された前記第2推定結果の距離が所定距離よりも長い場合、前記自己位置情報を生成しない、
    請求項2に記載の情報処理装置。
  5. 同じタイミングで取得された前記第1推定結果と前記第2推定結果との組み合わせを制御点として取得する、制御点取得部と、
    前記制御点取得部が取得した前記制御点を格納する、制御点格納部と、
    前記制御点格納部に格納されている、第1所定数以上の前記制御点に基づいて、前記座標変換部の変換に用いる変換パラメータを生成する、パラメータ生成部と、
    をさらに備える、請求項2に記載の情報処理装置。
  6. 前記制御点取得部は、
    取得された前記第1推定結果に対して同時刻における前記第2推定結果が存在しない場合には、過去に取得された前記第2推定結果を前記第1推定結果の取得された時刻における推定結果へと補正し、
    取得された前記第2推定結果に対して同時刻における前記第1推定結果が存在しない場合には、過去に取得された前記第1推定結果を前記第2推定結果の取得された時刻における推定結果へと補正して、
    前記制御点を取得する、
    請求項5に記載の情報処理装置。
  7. 前記制御点取得部は、取得された一方の推定結果に対する過去の直近の他方の推定結果についてデッドレコニングにより推定結果を補正する、
    請求項6に記載の情報処理装置。
  8. 前記制御点取得部は、同じタイミングにおける前記第1推定結果の信頼度及び前記第2推定結果の信頼度のうち少なくとも一方が所定しきい値よりも低い場合には、当該タイミングにおける組み合わせを前記制御点として取得しない、
    請求項5に記載の情報処理装置。
  9. 前記制御点取得部は、前記制御点格納部に格納されている前記制御点が第2所定数以上である場合には、前記制御点格納部に格納されている1又は複数の前記制御点を削除する、
    請求項5に記載の情報処理装置。
  10. 前記制御点取得部は、取得された時刻が古い順番に前記制御点を削除する、
    請求項9に記載の情報処理装置。
  11. 前記制御点取得部は、前記第1推定結果及び前記第2推定結果のいずれか一方の信頼度が低い順番に前記制御点を削除する、
    請求項9に記載の情報処理装置。
  12. 前記制御点取得部は、前記第1推定結果を用いない環境及び前記第2推定結果を用いない環境を設定し、これらの環境内においては、前記制御点を取得しない、
    請求項5のいずれかに記載の情報処理装置。
  13. 前記第1推定部及び前記第2推定部は、推定を行わない環境を設定し、これらの環境内においては、自己位置の推定を行わない、
    請求項1のいずれかに記載の情報処理装置。
  14. 第3推定部と、・・・、第N推定部(N≧3の整数)と、をさらに備え、
    前記座標変換部は、それぞれの前記推定部の座標系を前記第1座標系に変換し、
    前記情報取得部は、変換されたそれぞれの前記推定部により推定された位置情報に基づいて、前記自己位置情報を取得する、
    請求項2に記載の情報処理装置。
  15. 第1座標系における自己位置を推定するための情報を取得する、第1取得部と、
    前記第1座標系とは異なる第2座標系における自己位置を推定するための情報を取得する、第2取得部と、
    を備える移動体と、
    前記第1取得部が取得した情報に基づく第1推定結果を取得する、第1推定部と、
    前記第2取得部が取得した情報に基づく第2推定結果を取得する、第2推定部と、
    前記第1推定結果と、前記第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて前記移動体の位置情報を取得する、情報取得部と、
    を前記移動体の内部又は外部に備える情報処理システム。
  16. 第1推定部が、第1座標系に基づいて自己位置を推定し、
    第2推定部が、前記第1座標系とは異なる第2座標系に基づいて自己位置を推定し、
    情報取得部が、前記第1推定部による第1推定結果と、前記第2推定部による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を取得する、
    を情報処理方法。
  17. コンピュータに、
    第1座標系に基づいて自己位置を推定する、第1推定処理、
    前記第1座標系とは異なる第2座標系に基づいて自己位置を推定する、第2推定処理、
    前記第1推定処理による第1推定結果と、前記第2推定処理による第2推定結果と、のうち、一方の推定結果のそれぞれの座標系における信頼度が所定しきい値よりも低い場合、他方の推定結果に基づいて自己位置情報を取得する、情報取得処理、
    を実行させるプログラム。
  18. 第1座標系における自己位置を推定する、第1推定部と、
    前記第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、
    前記第2推定部による第2推定結果を、前記第2座標系から前記第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、
    着目時刻における前記第1推定部による第1推定結果の信頼度及び前記着目時刻における前記第2推定部による第2推定結果の信頼度が所定しきい値以上である場合に、前記第1推定結果及び前記第2推定結果を制御点として格納する、記憶部と、
    前記記憶部に格納されている前記着目時刻の前記制御点及び前記着目時刻よりも過去の前記制御点に基づいて、前記変換パラメータを生成する、パラメータ生成部と、
    を備える情報処理装置。
  19. 第1座標系における自己位置を推定する、第1推定部と、
    前記第1座標系とは異なる第2座標系における自己位置を推定する、第2推定部と、
    前記第2推定部による第2推定結果を、前記第2座標系から前記第1座標系へと、変換パラメータに基づいて変換する、座標変換部と、
    前記第1推定部による第1推定結果の信頼度が低い第1領域を設定し、着目時刻における第1推定結果が前記第1領域内であれば信頼度が低く、前記第1領域外であれば信頼度を高く評価し、着目時刻における前記第1推定結果の信頼度が高い場合に、前記着目時刻における前記第1推定結果及び前記着目時刻における前記第2推定結果を制御点として格納する、記憶部と、
    前記記憶部に格納されている前記着目時刻の前記制御点及び前記着目時刻よりも過去の前記制御点に基づいて、前記変換パラメータを生成する、パラメータ生成部と、
    を備える情報処理装置。
  20. 前記第1領域は、あらかじめ設定された領域である、
    請求項19に記載の情報処理装置。
JP2019183103A 2019-10-03 2019-10-03 情報処理装置、情報処理方法、情報処理システム及びプログラム Pending JP2021060669A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019183103A JP2021060669A (ja) 2019-10-03 2019-10-03 情報処理装置、情報処理方法、情報処理システム及びプログラム
PCT/JP2020/035064 WO2021065510A1 (ja) 2019-10-03 2020-09-16 情報処理装置、情報処理方法、情報処理システム及びプログラム
US17/754,159 US20220290996A1 (en) 2019-10-03 2020-09-16 Information processing device, information processing method, information processing system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019183103A JP2021060669A (ja) 2019-10-03 2019-10-03 情報処理装置、情報処理方法、情報処理システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2021060669A true JP2021060669A (ja) 2021-04-15

Family

ID=75338030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019183103A Pending JP2021060669A (ja) 2019-10-03 2019-10-03 情報処理装置、情報処理方法、情報処理システム及びプログラム

Country Status (3)

Country Link
US (1) US20220290996A1 (ja)
JP (1) JP2021060669A (ja)
WO (1) WO2021065510A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3945279B2 (ja) * 2002-03-15 2007-07-18 ソニー株式会社 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置
AU2010345463B2 (en) * 2010-02-15 2014-06-12 Alcon Inc. Method for determining deviations between coordinate systems of various technical systems
EP3525169A4 (en) * 2016-10-07 2019-10-23 FUJIFILM Corporation SELF-POSITION ESTIMATING DEVICE, SELF-POSITION ESTIMATION PROCESS, PROGRAM AND IMAGE PROCESSING DEVICE
WO2019111701A1 (ja) * 2017-12-05 2019-06-13 ソニー株式会社 制御装置、および制御方法、プログラム、並びに移動体
JP7353747B2 (ja) * 2018-01-12 2023-10-02 キヤノン株式会社 情報処理装置、システム、方法、およびプログラム
JP7127303B2 (ja) * 2018-03-09 2022-08-30 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム

Also Published As

Publication number Publication date
WO2021065510A1 (ja) 2021-04-08
US20220290996A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
WO2017057044A1 (ja) 情報処理装置及び情報処理方法
JP6834964B2 (ja) 画像処理装置、画像処理方法、およびプログラム
WO2019130945A1 (ja) 情報処理装置、情報処理方法、プログラム、及び移動体
JP7320001B2 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
JP6764573B2 (ja) 画像処理装置、画像処理方法、およびプログラム
CN110574357B (zh) 成像控制设备、用于控制成像控制设备的方法以及移动体
US20210033712A1 (en) Calibration apparatus, calibration method, and program
JPWO2020116194A1 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
US20200349367A1 (en) Image processing device, image processing method, and program
US20200230820A1 (en) Information processing apparatus, self-localization method, program, and mobile body
JP6922169B2 (ja) 情報処理装置および方法、車両、並びに情報処理システム
US20200374450A1 (en) Server, method, non-transitory computer-readable medium, and system
JP7363890B2 (ja) 情報処理装置、情報処理方法及びプログラム
US12067795B2 (en) Information processing device and information processing method
WO2022024602A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2021065510A1 (ja) 情報処理装置、情報処理方法、情報処理システム及びプログラム
CN115128566A (zh) 雷达数据确定电路及雷达数据确定方法
WO2022059489A1 (ja) 情報処理装置、情報処理方法及びプログラム
US20220148283A1 (en) Information processing apparatus, information processing method, and program
US20230316546A1 (en) Camera-radar fusion using correspondences
JP7483627B2 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
US20230119187A1 (en) Circuitry and method
WO2022196316A1 (ja) 情報処理装置、情報処理方法及びプログラム
WO2024052392A1 (en) Circuitry and method