JP2019061603A - 情報処理装置、移動装置、および方法、並びにプログラム - Google Patents

情報処理装置、移動装置、および方法、並びにプログラム Download PDF

Info

Publication number
JP2019061603A
JP2019061603A JP2017187481A JP2017187481A JP2019061603A JP 2019061603 A JP2019061603 A JP 2019061603A JP 2017187481 A JP2017187481 A JP 2017187481A JP 2017187481 A JP2017187481 A JP 2017187481A JP 2019061603 A JP2019061603 A JP 2019061603A
Authority
JP
Japan
Prior art keywords
self
self position
calculators
information
calculated
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.)
Granted
Application number
JP2017187481A
Other languages
English (en)
Other versions
JP6891753B2 (ja
Inventor
超 王
Wang Chao
超 王
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 JP2017187481A priority Critical patent/JP6891753B2/ja
Priority to CN201880061060.0A priority patent/CN111108343A/zh
Priority to PCT/JP2018/034753 priority patent/WO2019065431A1/en
Priority to EP18783146.6A priority patent/EP3688411A1/en
Priority to KR1020207007761A priority patent/KR20200062193A/ko
Priority to US16/649,454 priority patent/US20200278208A1/en
Publication of JP2019061603A publication Critical patent/JP2019061603A/ja
Application granted granted Critical
Publication of JP6891753B2 publication Critical patent/JP6891753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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/14Navigation; 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 recording the course traversed by the object
    • 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/1654Navigation; 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 electromagnetic compass
    • 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/1656Navigation; 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 passive imaging devices, e.g. cameras
    • 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
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/485Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/018Involving non-radio wave signals or measurements

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)

Abstract

【課題】自己位置を算出する複数の自己位置算出器の算出自己位置に基づいて最終的に1つの装置位置情報を取得可能とした構成を実現する。【解決手段】自己位置を算出する複数の自己位置算出器と、複数の自己位置算出器の算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有する。自己位置統合部は、複数の自己位置算出器対応の算出自己位置を、各算出器のセンサ位置を考慮して標準自己位置に変換し、複数の標準自己位置から最終自己位置を算出する。自己位置統合部は、移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況等の環境情報に応じて、最終自己位置を算出する。【選択図】図13

Description

本開示は、情報処理装置、移動装置、および方法、並びにプログラムに関する。さらに詳細には、複数のセンサの検出情報を利用した移動体の移動処理を実現させる情報処理装置、移動装置、および方法、並びにプログラムに関する。
近年、例えば自動運転車やロボット等、自律型移動装置の開発が盛んに行われている。
このような自動運転車やロボット等の移動装置が所定経路(パス)に従って移動するためには、自装置の位置や姿勢を正確に把握することが必要である。
自装置の位置や姿勢を算出する機器、いわゆる自己位置算出器には様々な種類がある。
例えば、GPSと、IMU(慣性計測装置:Inertial Measurement Unit)を組み合わせた構成や、カメラ撮影画像の特徴点情報から自己位置算出を行うSLAM(Simultaneous Localization and Mapping)を利用した構成が知られている。
これらの自己位置算出器は、それぞれ異なるアルゴリズムを適用して、自己位置を算出、あるいは自己位置と姿勢を算出する。
しかし、これらの様々な種類の自己位置算出器は、環境によって精度が大きく変化してしまうという問題がある。
例えば、SLAMは、カメラ撮影画像を利用した処理を行うため、夜間や激しい雨の中のように明瞭な画像を撮影しにくい環境では、算出する位置精度が低下してしまう。
また、例えば高層ビルが多い環境等、GPS衛星からのデータの届きにくい環境では、GPS利用システムによって算出される位置精度が低下する。
さらに、例えば、自己位置算出器を構成するセンサの故障が発生すると、そのセンサに依存した自己位置算出器は正常に機能しなくなる。
なお、自己位置算出器を利用して位置を確認しながら移動する移動体の構成を開示した従来技術として、例えば特許文献1(特開2014−191689号公報)がある。
この特許文献1は、利用対象が特定の移動体に限定されることのない汎用性の高いユニット化した位置検出装置を開示している。
しかし、このようなユニット化した位置検出装置であっても、1つの位置検出アルゴリズムを適用している以上、環境に応じて検出精度が大きく変化してしまうという問題がある。
特開2014−191689号公報
本開示は、例えば上記問題点に鑑みてなされたものであり、様々な環境の変化が発生した場合でも、高精度な自己位置算出を可能とした情報処理装置、移動装置、および方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
自己位置を算出する複数の自己位置算出器と、
前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有し、
前記自己位置統合部は、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する情報処理装置にある。
さらに、本開示の第2の側面は、
自己位置を算出する複数の自己位置算出器と、
前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部と、
自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画部と、
前記計画部の決定した行動に従って移動装置の動作を制御する動作制御部を有し、
前記自己位置統合部は、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置にある。
さらに、本開示の第3の側面は、
情報処理装置において実行する情報処理方法であり、
複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップを有し、
前記自己位置統合ステップは、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出するステップである情報処理方法にある。
さらに、本開示の第4の側面は、
移動装置において実行する移動装置制御方法であり、
複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップと、
計画部が、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画ステップと、
動作制御部が、前記計画部の決定した行動に従って移動装置の動作を制御する動作制御ステップを有し、
前記自己位置統合ステップは、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置制御方法にある。
さらに、本開示の第5の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップを実行させ、
前記自己位置統合ステップにおいて、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラムにある。
さらに、本開示の第6の側面は、
移動装置において移動装置制御処理を実行させるプログラムであり、
複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップと、
計画部に、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定させる計画ステップと、
動作制御部に、前記計画部の決定した行動に従って移動装置の動作を制御させる動作制御ステップを実行させ、
前記自己位置統合ステップにおいて、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラムにある。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、自己位置を算出する複数の自己位置算出器の算出自己位置に基づいて最終的に1つの装置位置情報を取得可能とした構成が実現される。
具体的には、例えば、自己位置を算出する複数の自己位置算出器と、複数の自己位置算出器の算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有する。自己位置統合部は、複数の自己位置算出器対応の算出自己位置を、各算出器のセンサ位置を考慮して標準自己位置に変換し、複数の標準自己位置から最終自己位置を算出する。自己位置統合部は、移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況等の環境情報に応じて、最終自己位置を算出する。
本構成により、自己位置を算出する複数の自己位置算出器の算出自己位置に基づいて最終的に1つの装置位置情報を取得可能とした構成が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
移動装置の自己位置を算出する処理に利用する自己位置算出器と座標系について説明する図である。 移動装置に対する複数の自己位置算出器の装着例について説明する図である。 相対位置ツリーの一例について説明する図である。 相対位置ツリーを利用した処理を行う装置の一構成例を示す図である。 相対位置ツリーを利用した処理を行う装置の一構成例を示す図である。 相対位置ツリー適用構成において、複数の異なるアルゴリズムによる自己位置算出器を利用する場合の問題点について説明する図である。 本開示の処理において利用する相対位置ツリーの構成例を示す図である。 最下位ノードとして追加した自己位置算出器原点ノードの意味について説明する図である。 リンクに対応する相対位置情報の具体例について説明する図である。 相対位置ツリー更新処理の具体例について説明する図である。 本開示の処理を適用した相対位置ツリー更新処理の一般的な例について説明する図である。 相対位置ツリーの自己位置原点と装置原点の2ノード間のデータ更新処理について説明する図である。 自己位置統合部の実行する処理について説明する図である。 自己位置算出器Pに対応する標準自己位置Pの算出例について説明する図である。 自己位置算出器Pに対応する標準自己位置Pの算出例について説明する図である。 自己位置算出器Pに対応する標準自己位置Pの算出例について説明する図である。 複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理について説明する図である。 複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を生成する処理について説明する図である。 移動装置の実行する処理のシーケンスについて説明するフローチャートを示す図である。 移動装置の実行する処理のシーケンスについて説明するフローチャートを示す図である。 移動装置に装着可能な移動体制御システムの一例である車両制御システムの構成例について説明する図である。 情報処理装置のハードウェア構成例について説明する図である。
以下、図面を参照しながら本開示の情報処理装置、移動装置、および方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
1.自己位置算出処理に利用する自己位置算出器と座標系について
2.相対位置ツリーについて
3.複数の異なる自己位置算出器を利用して様々な環境下で高精度な自己位置算出を可能とした構成について
4.移動装置の実行する処理のシーケンスについて
5.移動装置の構成例について
6.情報処理装置の構成例について
7.本開示の構成のまとめ
[1.自己位置算出処理に利用する自己位置算出器と座標系について]
まず、図1以下を参照して、本開示の処理、すなわち移動装置の自己位置を算出する処理に利用する自己位置算出器と座標系について説明する。
図1には地図を示している。地図の中央部には、予め規定された移動経路(パス)に沿って移動する移動装置10を示している。
移動装置10は、図1に示す起点Sから終点Eまで、予め規定された移動経路(パス)に沿って移動する。
なお、以下の実施例では、移動装置10の一例として、移動装置10が自動車(車両)である例を説明するが、本開示の処理は、自動車以外の様々な移動装置において利用可能である。
例えば、ロボット(歩行型、走行型)や、ドローン等の飛行体、あるいは船舶、潜水艦等の水上、水中を移動する装置等、様々な移動装置に適用可能である。
移動装置10は、複数の異なる構成を持つ自己位置算出器を備えている。具体的には、例えば、以下の構成を持つ自己位置算出器である。
(1)GPS(Global Positioning System)、あるいはGNSS(Global Navigation Satellite System)からの受信信号と、IMU(慣性計測装置:Inertial Measurement Unit)を組み合わせた自己位置算出器。
(2)カメラ撮影画像に基づいて自己位置推定を行うSLAM(Simultaneous Localization and Mapping)を利用した自己位置算出器。
(3)車輪回転数およびステアリング角から自己位置推定を行うオドメトリ(車輪オドメトリ)を適用した自己位置算出器。
(4)パルス状のレーザ光を用いて周囲情報を取得するライダー(LiDAR:Light Detection and Ranging,Laser Imaging Detection and Ranging)やソナーの観測結果と高精度3次元地図とのマッチングにより自己位置を推定するNDT(Normal Distributions Transform)を用いた自己位置算出器。
上記(1)〜(4)の自己位置算出器は、それぞれ異なるアルゴリズムにより自己位置を推定する機器である。
なお、上述した(1)〜(4)の自己位置算出器は代表的な自己位置算出器の例を説明したものであり、本開示の処理では、これら(1)〜(4)の機器に限らず、その他の様々な自己位置算出器を利用することが可能である。
図1に示す移動装置10は、例えば、これら(1)〜(4)の自己位置算出器、あるいはその他の自己位置算出器の少なくとも2つ以上の異なる自己位置算出器を備えている。
なお、自己位置算出器による算出情報は、移動装置10の位置情報、または位置情報と姿勢情報の組み合わせのいずれかである。
また、SLAM等のようにカメラ撮影画像による位置推定を行う場合、利用するカメラは、一般的な可視光カメラの他、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ等が利用可能である。
本開示の処理を適用した自己位置算出処理では、複数の座標系と相対位置ツリーを利用した処理を行う。
図1に示す地図には、以下の3つの座標系を示している。
(1)地図座標系
(2)自己位置座標系
(3)装置座標系
以下、これらの座標系について説明する。
(1)地図座標系
地図座標系は、地図上に設定した点を原点(地図原点)とした座標系である。
図1に示す地図原点21が地図座標の原点(Xa,Ya,Za)=(0,0,0)である。
地図原点21から右方向に向かう軸が地図座標系のX軸であり、Xa軸として示している。
地図原点21から上方向に向かう軸が地図座標系のY軸であり、Ya軸として示している。
なお、図には、X軸、Y軸のみを示しているが、Z軸も存在し、Z軸は、紙面に垂直に上向きに設定される。
このように、地図座標系は、地図に設定された固定点を地図原点とした座標系である。
(2)自己位置座標系
自己位置座標系は、移動装置10の移動経路の一点、例えば図に示す起点Sを原点(自己位置原点)とした座標系である。
図1に示す自己位置原点22が自己位置座標の原点(Xb,Yb,Zb)=(0,0,0)である。
自己位置原点22から右方向に向かう軸が自己位置座標系のX軸であり、Xb軸として示している。
自己位置原点22から上方向に向かう軸が自己位置座標系のY軸であり、Yb軸として示している。
なお、図には、X軸、Y軸のみを示しているが、Z軸も存在し、Z軸は、紙面に垂直に上向きに設定される。
このように、自己位置座標系は、移動装置10の移動経路の一点、例えば図に示す起点Sを原点(自己位置原点)とした座標系である。
(3)装置座標系
装置座標系は、移動装置10内の一点、例えば図に示す移動装置10に示す装置原点23を原点とした座標系である。
図1に示す装置原点23が装置座標の原点(Xc,Yc,Zc)=(0,0,0)である。
装置原点23から右方向に向かう軸が装置座標系のX軸であり、Xc軸として示している。
装置原点23から上方向に向かう軸が装置座標系のY軸であり、Yc軸として示している。
なお、図には、X軸、Y軸のみを示しているが、Z軸も存在し、Z軸は、紙面に垂直に上向きに設定される。
このように、装置座標系は、移動装置10内の一点を原点(装置原点)とした座標系である。
本開示の自己位置算出処理では、例えば、これら3種類の座標系を利用した処理を行う。
次に、図2を参照して、移動装置10に対する複数の自己位置算出器の装着例について説明する。
図2に示すように、移動装置10には、複数の自己位置算出器が装着される。
図2に示す例は、以下の3つの自己位置算出器を装着した例である。
自己位置算出器P31、
自己位置算出器Q32、
自己位置算出器R33、
これらの3つの自己位置算出器が移動装置10の異なる場所に装着されている。
自己位置算出器P31は、例えば、カメラ撮影画像に基づいて自己位置推定を行うSLAM(Simultaneous Localization and Mapping)を利用した自己位置算出器である。
自己位置算出器Q32は、例えば、車輪回転数およびステアリング角から自己位置推定を行うオドメトリ(車輪オドメトリ)を適用した自己位置算出器である。
自己位置算出器R33、例えば、GPS(Global Positioning System)、あるいはGNSS(Global Navigation Satellite System)からの受信信号と、IMU(慣性計測装置:Inertial Measurement Unit)を組み合わせた自己位置算出器である。
これら3つの自己位置算出器は、それぞれのセンサの装着場所の位置を算出する。
しかし、これら3つの自己位置算出器の移動装置10に対する装着位置はそれぞれ異なる位置である。
装置座標系(Xc,Yc,Zc)における各自己位置算出器の装着位置は、以下の通りである。
自己位置算出器P31の装着位置は、(Xc,Yc,Zc)=(Px,Py,Pz)である。
自己位置算出器Q32の装着位置は、(Xc,Yc,Zc)=(Qx,Qy,Qz)である。
自己位置算出器R33の装着位置は、(Xc,Yc,Zc)=(Rx,Ry,Rz)である。
従って、これら3つの自己位置算出器の算出する位置情報には、各算出器の装着位置に応じたずれが発生する。さらに、それぞれの自己位置算出器の実行する位置算出アルゴリズムも異なっているため、その算出アルゴリズムの差異に基づく差分も発生することになる。
従って、複数の異なる自己位置算出器の算出する位置情報を利用して、移動装置10の1つの最終的な位置情報を算出するためには、複数の異なる自己位置算出器の算出位置情報を統合する処理を行うことが必要となる。
[2.相対位置ツリーについて]
本開示の処理では、複数の異なる自己位置算出器の算出位置情報を統合する処理を行うために、複数の異なる座標系の関係や、座標原点とオブジェクトの位置関係等を定義した相対位置ツリーを用いる。
以下、この相対位置ツリーについて説明する。
先に図1を参照して説明した移動装置10の位置を算出するためには、複数の相対位置関係を管理する必要がある。例えば、
図1を参照して説明した地図原点21と、装置原点23の相対位置、
装置原点23と、図2を参照して説明した自己位置算出器またはその利用センサの相対位置、さらに、
移動装置10やセンサと、移動装置10の障害物となり得る人、標識、交通信号などと相対位置、
これら様々な異なる座標系の相対位置関係や、座標原点とオブジェクトの相対位置関係を把握することが必要となる。
相対位置関係は、例えば2つの座標系または物体(オブジェクト)の相対的な位置(または位置と姿勢)の関係である。
なお、以下において、相対位置関係は相対位置とも言う。
相対位置関係または相対位置の一例は、例えば1つの座標系の原点位置と、実在する物体(オブジェクト)の三次元位置と姿勢との対応関係情報である。
なお、1つの座標系の原点を基準とした相対位置関係と、その逆関係、すなわち座標系の原点ではない方を基準とした相対位置とは、相互変換可能であり、ある1つの相対位置を取得することと、その相対位置の逆関係を取得することは同義である。
複数の異なる相対位置の組み合わせを取得することで、その相対位置の組み合わせに基づいて、新たな相対位置を取得することが可能である。
例えば、
(a)装置原点と自己位置算出器(センサ)との相対位置、
(b)自己位置算出器(センサ)と人との相対位置、
これらの2種類の相対位置を取得できれば、
(c)装置原点と人の相対位置、
を算出することができる。
また、同じ相対位置を違う複数の相対位置の組み合わせで取得することも可能である。
例えば、
(Pa)地図原点と自己位置算出器P(カメラセンサ)との相対位置、
(Pb)装置原点と自己位置算出器P(カメラセンサ)との相対位置、
これらの2つの異なる相対位置に基づいて、
(Pc)地図原点と装置原点との相対位置、
を算出することができる。
また、
(Ra)地図原点と自己位置算出器R(GPSアンテナ)との相対位置、
(Rb)装置原点と自己位置算出器R(GPSアンテナ)との相対位置、
これらの2つの異なる相対位置に基づいて、
(Rc)地図原点と装置原点との相対位置、
を算出することができる。
しかし、上記の
自己位置算出器P(カメラセンサ)を用いて算出した「(Pc)地図原点と装置原点との相対位置」と、
自己位置算出器R(GPSアンテナ)を用いて算出した「(Rc)地図原点と装置原点との相対位置」、
これら2つの相対位置は、本来、同じ相対位置でなければならないが、各自己位置算出器の位置算出アルゴリズムや、センサ装着位置の違い等に起因して異なる値となる場合がある。
このように、利用する自己位置算出器によって異なる相対位置が算出されてしまうと、利用した自己位置算出器によって算出される移動装置10の自己位置が異なるものになってしまうという問題が発生する。
このような問題を解決するために、「相対位置ツリー」が利用される。
図3を参照して相対位置ツリーの一例について説明する。
図3(1)に示すように、相対位置ツリーはノードをリンクで接続したツリー構造を有する。
相対位置ツリーは、例えば自律型移動を行う移動装置の記憶部に格納される。
ノードを接続するリンクは、そのリンクによって接続された2つのノード間の相対位置情報を記録情報として保持することを意味する。すなわち、例えばリンク接続されたツリー上部の親ノードに対するツリー下部の子ノードの相対位置が記録情報として記憶部に格納されている。
図3(1)は、以下の2つの相対位置をツリー構造に設定した相対位置ツリーである。
(a)地図原点と信号との相対位置、
(b)地図原点と装置原点との相対位置、
例えば、図1に示す地図原点21、信号12、装置原点23との間の相対位置を設定した相対位置ツリーである。
図3(1)に示す相対位置ツリーのリンク(a)は、地図原点21と信号12との相対位置情報が、この相対位置ツリーの記録情報に含まれていること、すなわち相対位置ツリーを格納した記憶部に格納されていることを意味し、様々なモジュール、例えば移動装置の経路決定モジュール等が、様々なタイミングにおいて記憶部から取得可能であることを意味する。
なお、この(a)の相対位置情報は、具体的には、例えば、地図原点21の位置を示す3次元座標情報と、信号12の位置を示す3次元座標情報と信号12の姿勢情報(3軸姿勢情報)との対応データによって構成される。
なお、地図原点21の位置を示す3次元座標情報と、信号12の位置を示す3次元座標情報は、同じ座標系、例えば地図座標系を用いた情報である。
また、リンク(b)は、地図原点と装置原点との相対位置情報が記録情報として含まれ、取得可能であることを意味する。
このリンク(b)の相対位置情報は、具体的には、例えば、地図原点21の位置を示す3次元座標情報と、装置原点23の位置を示す3次元座標情報との対応データによって構成される。
なお、地図原点21の位置を示す3次元座標情報と、装置原点23の位置を示す3次元座標情報は、同じ座標系、例えば地図座標系を用いた情報である。
図3(2)は、図3(1)に示す相対位置ツリーを用いた一つの処理例を示す図である。
(a)地図原点と信号との相対位置、
(b)地図原点と装置原点との相対位置、
これら(a),(b)2つの相対位置が規定された相対位置ツリーを利用することで、
(c)装置原点と信号との相対位置、
を算出することができる。
なお、相対位置ツリー構造はオープンソースのロボティクスフレームワークであるROS(Robot Operating System)などで採用されている。
相対位置ツリーの格納情報、すなわち、例えば、ある座標系の原点とあるオブジェクトとの相対位置は、逐次、変化するため、逐次、更新する必要がある。例えば移動装置10の移動に伴い、移動装置10に装着された自己位置算出器(センサ)と地図原点との相対位置は、逐次、変化し、更新の必要がある。
相対位置ツリーを利用した処理、具体的には自己位置算出処理等の処理を、相対位置ツリーを利用して行う場合、
相対位置ツリーの更新処理を実行するモジュール、すなわち、相対位置ツリー更新モジュールが必要となる。
図4は、相対位置ツリーを利用した処理を行う装置の一構成例を示す図である。
図4に示す装置は以下の構成要素を有する。
相対位置ツリーの更新処理を実行する相対位置ツリー更新モジュール41,42、
相対位置ツリーを格納した記憶部43、
記憶部43に格納された相対位置ツリーを利用して様々な相対位置情報を取得する相対位置利用モジュール44〜46。
相対位置ツリー更新モジュール41,42は、例えば、地図情報の解析を行うマップ解析部や、自己位置算出器等によって構成される。
相対位置ツリー更新モジュール1(マップ解析部)41は、地図から得られる情報、例えば信号の位置情報等に基づいて、地図原点と信号との相対位置を取得して、記憶部43に格納された相対位置ツリーの更新処理を行う。
また、相対位置ツリー更新モジュール2(自己位置算出器)42は、自己位置算出器の算出した自己位置情報等に基づいて、地図原点と装置原点との相対位置を取得して、記憶部43に格納された相対位置ツリーの更新処理を行う。
これらの相対位置ツリー更新モジュールのツリー更新処理により、記憶部43に格納された相対位置ツリーは、常に最新の情報に更新される。
記憶部43に格納された相対位置ツリーは、様々な相対位置利用モジュール44〜46によって読み出され、各座標系の原点と物(オブジェクト)間の相対位置や、移動装置と、障害物間の相対位置情報等が取得され、利用される。相対位置情報の利用態様は、例えば、先に図3(2)を参照して説明した処理等である。
相対位置利用モジュール44〜46は、例えば、移動装置10の進行経路を決定するルート計画部、行動計画部、自動動作計画部、運転制御部等である。具体的には、例えば、相対位置の算出対象である障害物を避けた安全な進行経路(パス)を決定する処理を行うモジュール等によって構成される。
図4に示す構成において説明したように、相対位置ツリー更新モジュールとして、自己位置算出器が利用される。
自己位置算出器は、先に説明したように、様々な種類がある。すなわち、例えば以下のような機器である。
(1)GPS、あるいはGNSSと、IMUを組み合わせた自己位置算出器、
(2)SLAMを利用した自己位置算出器。
(3)オドメトリ(車輪オドメトリ)を適用した自己位置算出器。
(4)ライダー(LiDAR)やソナーを用いた自己位置算出器。
しかし、これらは、環境によって精度が大きく変化してしまうという問題がある。
例えば、SLAMは、カメラ撮影画像を適用した処理を行うため、夜や激しい雨の中のような環境等、周囲の明瞭な画像を撮影しにくい環境では、算出する位置精度が低下してしまう。
また、例えば高層ビルが多い環境等、GPS衛星からのデータの届きにくい環境では、GPS利用システムによって算出される位置精度が低下する。
このように、自己位置算出器は環境の変化や違いによって可用性と性能が変わる。すべての環境で高精度な位置情報を算出可能な自己位置算出器は存在しない。
また、センサの故障によって、そのセンサに依存した自己位置算出器は正常に機能しなくなる。
1つの装置、例えば移動装置10に、複数の異なる自己位置算出器を装着することで、様々な環境において高精度な位置情報を取得可能な構成、すなわちロバスト性の高い構成を実現することができる。
しかし、複数の異なる自己位置算出器を用いて、記憶部に格納された相対位置ツリーを更新する処理を行おうとすると、複数の異なる自己位置算出器の各々が、相対位置ツリー上の同一ノード間の相対位置として、異なる相対位置情報を出力する競合が発生し、相対位置ツリーの正常な更新処理ができなくなる場合がある。
図5を参照して、この問題について説明する。
図5は、図4と同様、相対位置ツリーを利用した処理を行う装置の一構成例を示す図である。
図5に示す装置は、図4と同様、以下の構成要素を有する。
相対位置ツリーの更新処理を実行する相対位置ツリー更新モジュール47,48、
相対位置ツリーを格納した記憶部43、
記憶部43に格納された相対位置ツリーを利用して様々な相対位置情報を取得する相対位置利用モジュール44〜46、
図5に示す構成において、相対位置ツリー更新モジュール47,48の各々は、異なるアルゴリズムP,Qによって自己位置算出を行う2つの自己位置算出器P,Qによって構成される。
その他の構成は、図4を参照して説明した構成と同様の構成である。
図5に示す構成において、相対位置ツリー更新モジュールP(自己位置算出器P)47は、アルゴリズムPを利用した位置算出を行う自己位置算出器であり、算出した位置情報に基づいて、地図原点と自己位置原点と装置原点との相対位置を取得して、記憶部43に格納された相対位置ツリーの更新処理を行うための更新情報を生成する。
生成する更新情報は、
ツリー構成情報P=地図原点と自己位置原点と装置原点との相対位置
である。
一方、相対位置ツリー更新モジュールQ(自己位置算出器Q)48は、アルゴリズムQを利用した位置算出を行う自己位置算出器であり、算出した位置情報に基づいて、地図原点と自己位置原点と装置原点との相対位置を取得して、記憶部43に格納された相対位置ツリーの更新処理を行うための更新情報を生成する。
生成する更新情報は、
ツリー構成情報Q=地図原点と自己位置原点と装置原点との相対位置
である。
ここで、相対位置ツリー更新モジュールP(自己位置算出器P)47の生成した更新情報、すなわち、
ツリー構成情報P=地図原点と自己位置原点と装置原点との相対位置
と、
相対位置ツリー更新モジュールQ(自己位置算出器Q)48の生成した更新情報、すなわち、
ツリー構成情報Q=地図原点と自己位置原点と装置原点との相対位置
これら2つの更新情報は相対位置ツリーの同一ノード間の相対位置情報である。
すなわち、2つの相対位置ツリー更新モジュールが同じ更新情報を生成する更新情報の競合が発生する。
これら2つの更新情報が一致し、全く同一のデータから構成されていれば、記憶部43に格納された相対位置ツリーをその共通の更新情報で更新することができる。
しかし、2つの相対位置ツリー更新モジュールP(自己位置算出器P)47と相対位置ツリー更新モジュールQ(自己位置算出器Q)48は、それぞれ異なるアルゴリズムを適用した位置情報算出処理を行うモジュールであり、さらに、位置算出用のセンサ取り付け位置も異なっている。
従って、これら2つのモジュールが算出した情報は一致せず、差が発生する場合がある。
このような場合、どちらか一方の自己位置算出器の算出情報を適用して記憶部43に格納された相対位置ツリーを更新してしまうと、他方の自己位置算出器の算出した位置情報との不整合が発生する。
このような不整合が発生すると、相対位置利用モジュールにおける相対位置を利用した処理にも実際の相対位置と誤差が生じ、移動装置の自己位置の認識が正しく行われない可能性がある。
このように、複数の異なる自己位置算出器を相対位置ツリー更新モジュールとして利用すると、それぞれの算出器の算出値にずれが発生するという問題が生じる。
そのため、相対位置ツリーを適用する構成では、複数の異なるアルゴリズムによる自己位置算出器を利用する構成を適用することが困難となるという問題がある。
なお、異なるアルゴリズムを適用した複数の自己位置算出器を利用した構成に限らず、同一のアルゴリズムを適用した複数の自己位置算出器を利用した場合であっても、各自己位置算出器の取り付け位置の違いや、各自己位置算出器の測定精度の違い、測定誤差等により、それぞれの算出器の算出値にずれが発生するという問題が生じる。
[3.複数の異なる自己位置算出器を利用して様々な環境下で高精度な自己位置算出を可能とした構成について]
次に、上述した問題を解決した構成、すなわち、相対位置ツリーを適用した構成において、複数の異なる自己位置算出器を利用して様々な環境下で高精度な自己位置算出を可能とした構成について説明する
まず、図6を参照して、相対位置ツリー適用構成において、複数の自己位置算出器を利用する場合の問題点について整理して説明する。
なお、以下の実施例では、複数の異なるアルゴリズムを適用した自己位置算出器を利用した構成について説明するが、本開示の処理は、複数の異なるアルゴリズムを適用した自己位置算出器を利用する構成に限らず、同じアルゴリズムを適用した複数の自己位置算出器を利用する構成にも適用可能である。
図6の中央に示すツリー、すなわち、地図原点51、自己位置原点52、装置原点53、カメラ54、車輪中心55、これらの5つのノードから構成されるツリー構成が、移動装置内の記憶部に格納されている相対位置ツリーであるとする。
この相対位置ツリーにおいてノード間に接続リンクが設定されている場合、そのノード間の相対位置情報が記憶部に格納されている。
相対位置情報は、例えば移動装置の移動等に伴い、逐次、更新することが必要となる。
図6に示す構成では、以下の2つの相対位置更新モジュールを示している。
相対位置ツリー更新モジュールP(自己位置算出器P)56、
相対位置ツリー更新モジュールQ(自己位置算出器Q)57、
これら2つのモジュールである。
相対位置ツリー更新モジュールP(自己位置算出器P)56は、例えばSLAMによって構成される相対位置算出器であり、相対位置ツリーの最下位ノードとして設定されているカメラ54の撮影画像に基づいて自己位置を算出する。
算出した自己位置に基づいて、相対位置ツリーの更新情報、すなわち、図6に示すツリー構成情報Pを生成して、相対位置ツリーの一部のリンクに相当する相対位置情報の更新処理を行おうとする。
具体的には、図6に示すように、ツリー構成情報Pは、自己位置原点と装置原点のノード間の相対位置情報の更新情報によって構成される。
一方、相対位置ツリー更新モジュールQ(自己位置算出器Q)57は、例えばオドメトリによって構成される相対位置算出器であり、相対位置ツリーの最下位ノードとして設定されている車輪中心55に取り付けられたセンサの取得する計測情報、すなわち車輪の回転や方向(ステアリング角度)の計測情報を利用して自己位置を算出する。
算出した自己位置に基づいて、相対位置ツリーの更新情報、すなわち、図6に示すツリー構成情報Qを生成して、相対位置ツリーの一部のリンクに相当する相対位置情報の更新処理を行おうとする。
具体的には、図6に示すように、ツリー構成情報Qは、自己位置原点と装置原点のノード間の相対位置情報の更新情報によって構成される。
このように、
相対位置ツリー更新モジュールP(自己位置算出器P)56、
相対位置ツリー更新モジュールQ(自己位置算出器Q)57、
これら2つのモジュールは、いずれも、同じノード間の相対位置情報を更新情報として生成する。
しかし、これらの2つの相対位置情報は、異なる位置に取り付けられたセンサを用い、さらに異なるアルゴリズムを適用して算出された情報であり、多くの場合、一致することのない相対位置情報となる。
すなわち、相対位置ツリー更新モジュールP(自己位置算出器P)56は、位置算出のためのセンサとして、相対位置ツリーの最下位ノードとして設定されているカメラ54を用い、このカメラの撮影画像に基づいて自己位置を算出する。
カメラ装着位置は、図2を参照して説明した例と同様、車上部の中央である。
相対位置ツリー更新モジュールP(自己位置算出器P)56は、SLAMに従ったアルゴリズムを適用してカメラ54の位置を、装置原点として算出してしまう。
同様に、相対位置ツリー更新モジュールQ(自己位置算出器Q)57は、位置算出のためのセンサとして、相対位置ツリーの最下位ノードとして設定されている車輪中心55に取り付けられたセンサによる車輪の回転や方向の計測情報55を用いて自己位置を算出する。
この場合のセンサ装着位置は、図2を参照して説明した例と同様、車輪の中心である。
相対位置ツリー更新モジュールQ(自己位置算出器Q)57は、オドメトリを用いた位置算出アルゴリズムを適用して車輪中心55の位置を、装置原点として算出してしまう。
このように、
相対位置ツリー更新モジュールP(自己位置算出器P)56、
相対位置ツリー更新モジュールQ(自己位置算出器Q)57、
これら2つのモジュールは、それぞれ異なる位置に取り付けられたセンサ(カメラ、車輪中心部の回転&方向計測器)の情報に基づいて、異なるアルゴリズムを適用して装置原点の位置算出を行っており、結果として、各モジュールの算出したツリー構成情報(更新情報)が一致せず競合してしまうことになり、相対位置ツリーの更新処理ができなくなる。
次に、図7以下を参照して、上記問題点を解決した構成について説明する。
図7は、本開示の処理において利用する相対位置ツリーの構成例を示す図である。
図7に示す相対位置ツリーは、地図原点71、自己位置原点72、装置原点73、カメラ74、車輪中心75、自己位置算出器P原点76、自己位置算出器Q原点77、これらの7つのノードによって構成される。ノード間の接続リンクは、リンク設定ノード間の相対位置情報が記憶部に格納されていることを意味する。
このツリーが、移動装置内の記憶部に格納されている相対位置ツリーとなる。
図7に示す相対位置ツリーの構成ノード中、最下位ノードを除いた部分、すなわち、地図原点71、自己位置原点72、装置原点73、カメラ74、車輪中心75、これらの5つのノードとリンク設定は、先に図6を参照して説明した従来型の相対位置ツリーと同様の構成である。
本開示の処理において利用する相対位置ツリーは、この従来型の相対位置ツリーにさらに、最下位ノードとして、自己位置算出器P原点76、自己位置算出器Q原点77、これらの2つのノードを追加した構成である。
最下位ノードの1つである自己位置算出器P原点76は、その上位ノードであるカメラ74をセンサとして利用して自己位置を算出する自己位置算出器Pの原点位置を位置情報として持つノードである。
自己位置算出器Pは、例えば、カメラ74の撮影画像に基づいてSLAMアルゴリズムにより自己位置算出を実行する自己位置算出器である。
また、もう1つの最下位ノードである自己位置算出器Q原点77は、その上位ノードである車輪中心75に装着された車輪回転&方向計測装置等をセンサとして利用して自己位置を算出する自己位置算出器Qの原点位置を位置情報として持つノードである。
自己位置算出器Qは、例えば、車輪中心75に装着された車輪回転&方向計測装置の計測結果に基づいてオドメトリアルゴリズムにより自己位置算出を実行する自己位置算出器である。
最下位ノードとして追加した自己位置算出器P原点76、自己位置算出器Q原点77、これらの2つのノードの意味について、図8を参照して説明する。
「自己位置算出器原点」は、自己位置算出器が自己位置を算出する場合に、原点(基準点)とする位置である。誤差を考慮しなければ、自己位置算出器原点は地球などのグローバル座標系に対して静止位置にある。
例えば図8に示すように、移動装置10が、時間T0に、起点位置Sから出発して、移動を開始して、時間T1において現在位置Cに移動したものとする。
図8には、この時の自己位置算出器P原点と、自己位置算出器Q原点の例を示している。
例えば、図8に示すように、自己位置算出器P原点は、起点位置Sにおける移動装置の自己位置算出器Pのセンサ位置に相当するカメラ位置とする。
また、自己位置算出器Q原点は、起点位置Sにおける移動装置の自己位置算出器Qのセンサ位置に相当する車輪中心位置とする。
図8に示す例は、自己位置算出器P原点と、自己位置算出器Q原点の一例であるが、自己位置算出器原点は、地球などのグローバル座標系に対して静止位置にある一つの基準となる点として設定する。
このような自己位置算出器原点を設定することで、その後、移動装置10が移動した場合、各自己位置算出器の移動状態、すなわち、現在の自己位置算出器の位置と自己位置算出器原点との相対位置を正確に取得することが可能となる。
図7に示す本開示の処理に適用する相対位置ツリーの左下側の2つのノード、すなわち、カメラ74と、自己位置算出器P原点76間のリンクは、これら2つのノード間の相対位置情報に相当する。
このリンクに対応する相対位置情報の具体例について、図9を参照して説明する。
図9には、図8を参照して説明したと同様、移動装置10が、時間T0に、起点位置Sから出発して、移動を開始して、時間T1において現在位置Cに移動した状態を示している。
図9の起点位置Sの移動装置10の自己位置算出器Pのセンサであるカメラの位置が自己位置算出器P原点である。
この原点位置を(Xp,Yp)=(0,0)とする。
なお、本例では、説明を簡略化するため、移動装置10はZ軸方向(垂直方向)には移動しないものとして説明する。
移動装置10の移動に伴い、自己位置算出器Pのセンサであるカメラの位置も移動する。時間T1において現在位置Cに移動した状態において、カメラの位置は図に示すように、座標位置(Xpc,Ypc)にある。
図9左側には、移動装置10の記憶部に格納される相対位置ツリーの一部を示している。
自己位置算出器Pのセンサであるカメラのノードであるカメラ74と、自己位置算出器P原点76のノードとのリンク接続構成である。
自己位置算出器P原点76は、起点位置Sの移動装置10の自己位置算出器Pのセンサであるカメラの位置に相当し、カメラ74は、現在位置Cに移動した移動装置10のカメラ位置、すなわち座標位置(Xpc,YPc)に相当する。
自己位置算出器Pのセンサであるカメラのノードであるカメラ74と、自己位置算出器P原点76のノードとのリンクは、カメラ74の位置に対する自己位置算出器P原点76の相対位置情報が記憶部の格納データであることを意味する。
この相対位置情報は、図に示すように、起点位置Sの自己位置算出器P原点76の位置と、現在位置Cの移動装置10のカメラ位置、すなわち座標位置(Xpc,YPc)との差分に相当する。
すなわち、図9の左側の2つのノード間のリンク部に示す(−Xpc,−Ypc,0)がカメラ74に対する自己位置算出器P原点の相対位置情報として記憶部に記録し、かつ更新すべきデータである。
この記録、更新処理を行うのが、相対位置ツリー更新モジュールとして機能する自己位置算出器P自身である。
すなわち、自己位置算出器の各々は、各自己位置算出器に対応するセンサの現在位置と、その自己位置算出器原点との差分(=相対位置)を逐次、算出して、自己位置算出器原点ノードと、その自己位置算出器の利用センサノードとを結ぶリンクに相当する相対位置を算出して、相対位置ツリーの更新処理を行う。
この相対位置ツリー更新処理の具体例について、図10を参照して説明する。
図10の中央部には、先に図7を参照して説明した本開示の処理において利用する相対位置ツリーを示している。
すなわち、地図原点71、自己位置原点72、装置原点73、カメラ74、車輪中心75、自己位置算出器P原点76、自己位置算出器Q原点77、これらの7つのノードによって構成される相対位置ツリーである。
図10には、2つの相対位置ツリー更新モジュールを示している。
相対位置ツリー更新モジュールP,78は、自己位置算出器Pに相当する。
また、相対位置ツリー更新モジュールQ,79は、自己位置算出器Qに相当する。
相対位置ツリー更新モジュールP(自己位置算出器P)78は、図8、図9を参照して説明した移動装置10の上部中央に備え付けられたカメラ(センサP)によって撮影された画像に基づいて自己位置(=センサPの位置)を算出する例えばSLAMアルゴリズムに基づく自己位置算出器である。
一方、相対位置ツリー更新モジュールQ(自己位置算出器Q)79は、図8を参照して説明した移動装置10の車輪中心に備え付けられた回転&方向検出器(センサQ)によって取得された情報に基づいて自己位置(=センサQの位置)を算出する例えばオドメトリアルゴリズムに基づく自己位置算出器である。
図10に示すように、これらの自己位置算出器P,Qは、いずれも相対位置ツリー更新モジュール78,79として、記憶部に格納された相対位置ツリーの一部を更新する。
図10に示すように、相対位置ツリー更新モジュールP(自己位置算出器P)78は、自己位置算出器Pに対応するカメラの現在位置と、自己位置算出器P原点との差分(=相対位置)を逐次、算出して、相対位置ツリーのカメラ74と自己位置算出器P原点76との各ノードを結ぶリンクに相当する相対位置を算出して、相対位置ツリーの更新処理を行う。
また、相対位置ツリー更新モジュールQ(自己位置算出器Q)79は、自己位置算出器Qのセンサ位置に対応する車輪中心の現在位置と、自己位置算出器Q原点との差分(=相対位置)を逐次、算出して、相対位置ツリーの車輪中心75と自己位置算出器Q原点77との各ノードを結ぶリンクに相当する相対位置を算出して、相対位置ツリーの更新処理を行う。
このように、複数の相対位置ツリー更新モジュール(自己位置算出器)の各々は、各モジュールである自己位置算出器の利用するセンサの位置対応のノードと自己位置算出器原点との接続構成のみを対象とした相対位置ツリー更新処理を行う。従って、先に図5を参照して説明したようなデータ競合の問題が発生しない。
本開示の処理を適用した相対位置ツリー更新処理の一般的な例について、図11を参照して説明する。
図11には、以下の2つの相対位置ツリー更新モジュールを示している。
相対位置ツリー更新モジュールP,78は、自己位置算出器Pに相当し、自己位置算出器センサPを利用して、アルゴリズムPを適用した自己位置算出処理を行う。
相対位置ツリー更新モジュールQ,79は、自己位置算出器Qに相当し、自己位置算出器センサQを利用して、アルゴリズムQを適用した自己位置算出処理を行う。
記憶部82には、相対位置ツリーが格納されている。これは、例えば、先に図7を参照して説明した相対位置ツリーである。
相対位置ツリー更新モジュールP,78は、記憶部82に格納された相対位置ツリーの一部、すなわち、
自己位置算出器Pセンサと自己位置算出器P原点とのノード接続構成のみを対象とした相対位置ツリー更新処理を行う。
一方、相対位置ツリー更新モジュールQ,79は、記憶部82に格納された相対位置ツリーの一部、すなわち、
自己位置算出器Qセンサと自己位置算出器Q原点とのノード接続構成のみを対象とした相対位置ツリー更新処理を行う。
このように、複数の相対位置ツリー更新モジュール(自己位置算出器)の各々は、各モジュールである自己位置算出器の利用するセンサの位置対応のノードと自己位置算出器原点との接続構成のみを対象とした相対位置ツリー更新処理を行う。従って、先に図5を参照して説明したようなデータ競合の問題が発生しない。
なお、図11に示す例では、相対位置ツリー更新モジュールを2つとした例を示しているが、3以上の設定でも同様の処理が可能であり、データ競合を発生させることなく、相対位置ツリーの更新処理を行うことができる。
しかし、図10、図11を参照して説明した相対位置ツリーの更新処理は、相対位置ツリーの下位ノードのみの更新処理である。
相対位置ツリーの更新処理は、さらに上位ノードについても実行する必要がある。
図12を参照して相対位置ツリーの自己位置原点72と装置原点73の2ノード間のデータ更新処理について説明する。
なお、装置原点73と、その下位ノードのセンサノード(カメラ74、車輪中心75)間の相対位置は、変更されないので更新処理が不要である。
図12に示すように、相対位置ツリーの自己位置原点72と装置原点73の2ノード間のデータ更新処理は、自己位置統合部80が実行する。
自己位置統合部80は、移動装置10内に設けられた処理部である。
自己位置統合部80の実行する処理について、図13以下を参照して説明する。
図12には、自己位置統合部80の実行する処理をステップS11a〜S13として、処理順に示している。
まず、自己位置統合部80は、ステップS11aにおいて、記憶部82に格納された相対位置ツリーを読み出す。
読出し対象データは、図13に示すように、
装置原点73、カメラ74、車輪中心75、自己位置算出器P原点76、自己位置算出器Q原点77、これらのノードによって構成されるデータ、すなわち、各ノード間の相対位置情報を含むデータである。
図には、各ノードを結ぶリンクa〜dを示しているが、自己位置統合部80は、これらのリンク対応の相対位置情報を記憶部82から取得する。
自己位置統合部80は、さらに、ステップS11bにおいて、状況分析部83から、環境情報を入力する。
この状況分析部83は、移動装置10の一構成要素であり、例えば移動装置10の外部の明るさ、視界等の環境、さらに各センサの動作状態等を分析し、この分析結果を自己位置統合部80に入力する。
先に説明したように、本開示の処理において、移動装置10には複数の異なるアルゴリズムによる自己位置を算出する自己位置算出器が装着されている。
しかし、これらの自己位置算出器の算出する位置情報は、環境によって精度が大きく変化してしまうという問題がある。
例えば、SLAMは、カメラ撮影画像を適用した処理を行うため、夜や激しい雨の中のような環境等、周囲の明瞭な画像を撮影しにくい環境では、算出する位置精度が低下してしまう。
また、例えば高層ビルが多い環境等、GPS衛星からのデータの届きにくい環境では、GPS利用システムによって算出される位置精度が低下する。
なお、前述したように、本開示の処理は、異なるアルゴリズムを適用した複数の自己位置算出器を利用した構成に限らず、同一のアルゴリズムを適用した複数の自己位置算出器を利用した構成においても適用可能である。同一のアルゴリズムを適用した複数の自己位置算出器を利用した構成においても、各自己位置算出器の取り付け位置の違いや、各自己位置算出器の測定精度の違い、測定誤差等により、それぞれの算出器の算出値にずれが発生する場合がある。
このように、自己位置算出器は環境の変化や違いによって可用性と性能が変わる。すべての環境で高精度な位置情報を算出可能な自己位置算出器は存在しない。
また、センサの故障によって、そのセンサに依存した自己位置算出器は正常に機能しなくなる。
なお、環境情報には、移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況等が含まれる。
自己位置統合部80は、移動装置の外部の様子やセンサ情報、リソース情報等を環境情報として入力して、これらの情報を参照して、相対位置ツリーの更新情報を生成する。
自己位置統合部80は、ステップS12aにおいて、各自己位置算出器対応の標準自己位置の算出処理を行う。
標準自己位置とは、装置原点73の位置に相当する。この装置原点73の位置算出は、すなわち、自己位置原点と、装置原点との相対位置の算出処理にも相当する。
すなわち、図13のステップS13内に示す相対位置ツリーの一部構成である自己位置原点72と、装置原点73の各ノード間の相対位置情報(リンクK)を算出する処理に相当する。
このステップS12aの処理の具体例について、図14を参照して説明する。
図14に示す例は、自己位置算出器Pに対応する標準自己位置P,88の算出例である。
なお、自己位置統合部80は、ステップS12aにおいて、複数の自己位置算出器対応の複数の標準自己位置の算出処理を行う。
図14に示す例は、その中の1つの自己位置算出器Pに対応する標準自己位置P,88の算出例である。
図14には、時間T0における起点位置S(出発地)の移動装置10と、その後の時間T1における現在位置Cの移動装置10を示している。
相対位置ツリーの更新処理は、逐次、実行されるが、図14に示す例では、時間T1において移動装置10が現在位置Cにいる時点において、自己位置算出器Pに対応する標準自己位置P,88を算出して、算出値に基づいて相対位置ツリー更新処理を行う場合の例である。
自己位置統合部80は、ステップS12aにおいて、自己位置算出器P対応の標準自己位置P,88の算出処理を行う。標準自己位置とは、前述したように装置原点73の位置に相当する。
図14に示す例では、時間T1の装置原点73(t1)の位置である。
図14に示す時間T1の現在位置Cの装置原点73(t1)の位置を算出すればよい。
図14に示す現在位置Cの装置原点73(t1)の位置は、図14に示す起点位置Sの移動装置10の自己位置原点位置72(t0)との相対位置として算出することができる。
この相対位置は、時間T1における相対位置ツリー内のリンクKによって示される相対位置である。これは、すなわち、図13のステップS13に示す相対位置ツリーの自己位置原点72と、装置原点73の各ノード間の相対位置情報(リンクK)に相当する。
なお、自己位置原点72は、時間経過に従った移動装置10の移動に伴って移動しない固定点であるが、装置原点73は、移動装置10の移動に伴い移動するので、相対位置ツリーの自己位置原点72と、装置原点73の各ノード間の相対位置情報(リンクK)は、時間経過に応じて、逐次、更新する必要がある。
図14の起点位置Sにおける自己位置原点72と、装置原点73との接続線が時間T0におけるリンクK(t0)に相当し、図14の起点位置Sにおける自己位置原点72と、現在位置Cの装置原点73との接続線が時間T1におけるリンクK(t1)となる。
図14に示す時間T1の現在位置Cの移動装置10のカメラ74と、装置原点73との相対位置は、図13に示す記憶部82から取得した相対位置ツリーのリンクa対応の相対位置情報である。
図14には、時間T1の相対位置情報としてリンクa(t1)として示している。
また、図14に示す時間T1の現在位置Cの移動装置10のカメラ74と、時間T0の起点位置Sの移動装置10のカメラ、すなわち自己位置算出器P原点76との相対位置は、図13に示す記憶部82から取得した相対位置ツリーのリンクb対応の相対位置情報である。
図14には、時間T1の相対位置情報としてリンクb(t1)として示している。
なお、時間T0の起点位置S(出発地)における移動装置10のカメラ位置に相当する自己位置算出器P原点76と、自己位置原点72との差分(相対位置)は、図に示すように、初期化処理時差分算出データ90である。
この初期化処理時差分算出データ90は、移動装置10の初期化処理において算出してメモリに格納する。
すなわち、移動装置10は、移動開始前に、自己位置算出器P原点76と、自己位置原点72との差分(相対位置)を計測してメモリに格納する処理を実行する。
具体的な処理シーケンスについては、後段で、図19、図20に示すフローチャートを参照して説明する。
図13を参照して説明したステップS12aの処理において、自己位置統合部80は、図14に示す標準自己位置P,88を算出する。
前述したように、標準自己位置P,88は図14に示す現在位置Cの装置原点73(t1)の位置に相当し、これは起点位置Sの移動装置10の自己位置原点位置72(t0)との相対位置として算出することができる。
この相対位置は、時間T1における相対位置ツリー内のリンクK(t1)によって示される相対位置である。
図14から、理解されるように、
リンクK(t1)と、リンクa(t1)と、リンクb(t1)、および初期化処理時算出差分データ90の4本の線は、閉じた四角形を構成している。
また、リンクa(t1)と、リンクb(t1)、および初期化処理時算出差分データ90の3本の線各々が結ぶ2つの頂点間の相対位置は既知である。
具体的には、以下の各頂点間の相対位置が既知である。
(1)リンクa(t1)が接続する頂点、すなわち、時間T1の現在位置Cの標準自己位置P,88(=装置原点73(t1))と、カメラ74との相対位置、
(2)リンクb(t1)が接続する頂点、すなわち、時間T1の現在位置Cにおけるメラ74と、時間T0の起点位置Sの自己位置算出器P原点76との相対位置、
(3)初期化処理時算出差分データ90が接続する頂点、すなわち、時間T0の起点位置Sの自己位置算出器P原点76と、自己位置原点72との相対位置、
これら、の頂点間の相対位置が全て既知である。
従って、これらの相対位置関係から、リンクK(t1)が接続する頂点、すなわち、時間T1の現在位置Cの標準自己位置P,88(=装置原点73(t1))と、時間T0の起点位置Sの自己位置原点72との相対位置を算出することができる。
具体的には、
自己位置原点72に対する標準自己位置P,88(=装置原点73(t1))の相対位置であるリンクK(t1)は、以下の既知の3つの相対位置(相対位置1〜3)を加算することで算出できる。
(相対位置1)自己位置原点72に対する自己位置算出器P原点76との相対位置、
(相対位置2)自己位置算出器P原点76に対するカメラ74の相対位置、
(相対位置3)カメラ74に対する標準自己位置P,88(=装置原点73(t1))の相対位置、
自己位置統合部80は、上記3つの相対位置情報を加算することで、自己位置原点72に対する標準自己位置P,88(=装置原点73(t1))の相対位置であるリンクK(t1)を算出する。
このリンクK(t1)で示される相対位置情報が、自己位置検出器P対応の標準自己位置P(t1),88、すなわち、現在位置Cにおける装置原点73の位置を示す。
自己位置統合部80は、この図14を参照して説明した処理に従って、自己位置検出器P対応の標準自己位置P(t1),88を算出する。
なお、図14を参照して説明した標準自己位置P(t1),88の算出処理例は一例であり、この他の処理も可能である。
図15、図16を参照して、異なる処理例について説明する。
まず、図15に示す処理例について説明する。
図15に示す処理と、図14に示す処理例との差異は、図14を参照して説明した初期化処理時算出差分データ90を、2つの差分データに分割した点である。
図15においては、以下の2つの差分データを初期化処理時算出差分データとしている。
(1)時間T0の起点位置Sの自己位置算出器P原点76と、装置原点73(t0)との相対位置に相当する初期化処理時算出差分データ1,91
(2)時間T0の起点位置Sの装置原点73(t0)と、自己位置原点72との相対位置に相当する初期化処理時算出差分データ2,92
これら2つの差分データの加算値は、図14を参照して説明した初期化処理時算出差分データ90に相当する。
この図15に示す2つの差分データを初期化処理時に算出して、これらを利用して、標準自己位置P(t1),88を算出する構成としてもよい。
次に図16に示す処理例について説明する。
図16に示す処理例は、時間T0の起点位置Sにおいて、移動装置10の自己位置原点72と、装置原点73(t0)とを一致させて設定した例である。
この場合、図16に示すように、
(1)時間T0の起点位置Sの自己位置算出器P原点76と、自己位置原点72(=装置原点73(t0))との相対位置に相当する初期化処理時算出差分データ1,91
この差分データのみを用いて標準自己位置P(t1),88を算出することが可能となる。
このように、標準自己位置P(t1),88の算出処理としては、様々な処理が可能となる。
なお、図14〜図16を参照して説明した処理は、自己位置検出器P対応の標準自己位置の算出処理であるが、自己位置統合部80は、同様に、自己位置検出器Q対応の標準自己位置Qも算出する。
標準自己位置Qの算出処理は、図13に示す記憶部82から取得した相対位置ツリーのリンクc,d対応の相対位置情報を用いて行うことができる。
このようにして、自己位置統合部80は、全ての自己位置検出器対応の標準自己位置を算出する。
自己位置統合部80が算出する全ての自己位置検出器対応の標準自己位置は、すべて現在位置Cにおける装置原点73の位置(自己位置原点72との相対位置)であり、本来は、同じ位置情報でなければならない。
しかし、この標準自己位置は、それぞれ異なる自己位置算出器が、それぞれ異なる位置算出アルゴリズムに従って算出したものである。
例えば自己位置算出器Pは、SLAMアルゴリズムに従った自己位置算出を実行し、自己位置算出器Qは、オドメトリアルゴリズムに従った自己位置算出を実行している。
これらの各アルゴリズムは、異なる処理であり、結果として、各自己位置算出器の算出する標準自己位置には差が生じる。
また、暗い環境では、カメラ撮影画像を用いたSLAMアルゴリズムに従った位置算出処理の精度が低下するといった、環境に応じた精度変化も発生する。
また、センサの故障等による精度低下も発生し得る。
これらの状況を考慮し、自己位置統合部80は、ステップS12bにおいて、ステップS12aで算出した複数の自己位置算出器対応の複数の標準自己位置に基づいて、最終的にツリー更新に適用するための標準自己位置、すなわち、リンクKに相当する自己位置原点72と装置原点73との相対位置を算出する。
自己位置統合部80が、ステップS12bにおいて実行する処理、すなわち、最終的なツリー更新に適用する標準自己位置を決定する処理の処理態様は、様々な態様がある。
具体的には、例えば以下の(a)〜(c)の3種類の処理態様がある。
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
以下、これら(a)〜(c)の処理態様の具体例について、図17、図18を参照して説明する。
まず、図17を参照して、
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
この処理(a)の具体例について説明する。
この処理(a)は、さらに、図17に示すように(a1)〜(a4)の4つの処理態様に細分類することができる。
以下、これらの処理について説明する。
(a1)複数の自己位置算出器対応のセンサに応じて、予め設定した優先順に従って、1つの自己位置算出器対応の標準自己位置を選択する。
この処理例の具体例は、例えば以下の通りである。
(例1)ステレオカメラを搭載し、ステレオカメラの撮影画像に基づくSLAMを実行している場合、SLAM対応の標準自己位置を最優先に選択する。
(例2)センサとしてLiDARを搭載している場合は、NDTによって算出された標準自己位置を最優先に選択する。
(a2)移動装置の走行環境に応じて、1つの自己位置算出器対応の標準自己位置を選択する。
この処理の具体例は、例えば以下の通りである。
(例1)レーザ光の反射オブジェクトの少ない環境では、NDTによる位置検出精度が低下するので、NDT以外の自己位置算出器対応の標準自己位置を選択する。
(例2)夜や特徴点の少ない環境ではカメラ撮影画像を用いるSLAMによる位置算出精度が低下するので、SLAM以外の自己位置算出器対応の標準自己位置を選択する。
(例3)タイヤのスリップ等が発生しやすい場所の場合、車輪オドメトリを適用した位置算出精度が低下するので、オドメトリ以外の自己位置算出器対応の標準自己位置を選択する。
(a3)計算リソースと精度に応じて、1つの自己位置算出器対応の標準自己位置を選択する。
この処理の具体例は、例えば以下の通りである。
(例1)省電力モードの場合、消費電力料の少ない車輪オドメトリを適用した自己位置算出器対応の標準自己位置を選択。なお、NDTは精度が高いが計算量が多く、消費電力が大きくなるので、省電力モードでは利用しない。
(a4)センサの故障検出に応じて、1つの自己位置算出器対応の標準自己位置を選択する。
この処理の具体例は、例えば以下の通りである。
(例1)通常は、カメラ撮影画像を用いたSLAM対応の標準自己位置を選択するが、カメラ故障時は、車輪オドメトリ対応の標準自己位置を選択する。
次に、図18を参照して、
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
これらの処理(b),(c)の具体例について説明する。
処理(b)は、さらに、図18に示すように(b1)〜(b2)の2つの処理態様に細分類することができる。
以下、これらの処理について説明する。
(b1)カルマンフィルタによる確率統合を行う。
この処理の具体例は、以下の通りである。
(例1)SLAM対応の標準自己位置と、車輪オドメトリ対応の標準自己位置について、カルマンフィルタによる確率統合処理を行い、最終的な出力用の標準自己位置を算出する。
(b2)比率統合を行う。
この処理の具体例は、以下の通りである。
(例1)SLAM対応の標準自己位置と、車輪オドメトリ対応の標準自己位置について、予め規定した比率で合成処理を行い、最終的な出力用の標準自己位置を算出する。
次に、
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
について説明する。
この処理は、
(c1)算出器の標準自己位置から選択された1つの標準自己位置と合成(フュージョン)標準自己位置の切り替えを行う処理である。
具体例は、以下の通りである。
(例1)複数の標準自己位置の合成(フュージョン)処理によって算出した標準自己位置は環境ロバスト性が高いが、合成対象とした自己位置算出器のすべてが正常に機能していなければ、合成値は精度が低下する。
従って、各自己位置算出器の利用センサの故障が検出されていない場合は合成値を出力し、センサの故障が発生した場合は、故障していないセンサを利用した自己位置算出器対応の標準自己位置を選択して出力する。
(例2)複数の自己位置算出器対応の標準自己位置算出や、合成(フュージョン)処理には、計算リソースが多く必要となり、計算リソースに余裕がない場合は、合成処理を停止して、1つの自己位置算出器対応の標準自己位置を選択する。
このように、自己位置統合部80は、図13に示すステップS12bにおいて、図17、図18を参照して説明した処理、すなわち、以下の(a)〜(c)のいずれかの処理を実行して、複数の自己位置算出器対応の複数の標準自己位置から1つの、最終的に相対位置ツリーの更新処理に適用する標準自己位置を決定する。
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
次に、自己位置統合部80は、図13に示すステップS13において、ステップS12bで決定した相対位置ツリーの更新処理に適用する標準自己位置を利用して、記憶部82に格納された相対位置ツリーの一部構成、すなわち、
自己位置原点72と、装置原点73とのノード接続構成の更新処理を行う。
なお、ステップS12bにおいて算出した標準自己位置は、装置原点73の位置情報、具体的には、自己位置原点72の位置に対する装置原点73の相対位置であり、図13のステップS13中のノード構成中に示すリンクKに対応する相対位置情報である。
すなわち、ステップS13では、ステップS12bで決定した標準自己位置を、記憶部82に格納された相対位置ツリーの自己位置原点72と装置原点73間のリンクK対応の相対位置情報として格納する。
これらの処理により記憶部82に格納された相対位置ツリーは、問題なく更新処理が行われることになる。
なお、記憶部82に格納された相対位置ツリーの更新処理は、移動装置10の移動に伴い、逐次、定期的に実行され、常に、最新の移動装置10の位置に対応したデータに書き換えられることになる。
この記憶部82に格納された相対位置ツリーは、移動装置10の相対位置ツリー利用モジュールによって利用される。
相対位置ツリー利用モジュールは、例えば移動装置10の移動経路を決定する行動決定部などである。
行動決定部の決定した経路情報が駆動制御部に出力され、駆動制御部は、経路情報に従って移動装置10を駆動する駆動制御情報を生成して生成した駆動制御情報を、走行部や歩行部、具体的には、アクセル、ブレーキ、ステアリング等によって構成される駆動部に出力して、決定した経路に従って移動装置10を移動させる。
[4.移動装置の実行する処理のシーケンスについて]
次に、図19、図20に示すフローチャートを参照して、移動装置の実行する処理のシーケンスについて説明する。
図19、図20に示すフローチャートに従った処理は、例えば、移動装置のデータ処理部が、記憶部に格納されたプログラムに従って実行することが可能である。
データ処理部は例えばCPU等のプログラム実行機能を有するハードウェアを備えている。
なお、図19、図20に示すフローチャートに従った処理は、すべての処理を移動装置のデータ処理部の1つである自己位置統合部80の処理として実行することも可能であり、自己位置統合部80とその他のデータ処理部を利用した処理として実行してもよい。
以下、フローチャートの各ステップの処理について説明する。
(ステップS101)
まず、移動装置は、ステップS101において、移動装置の自己位置原点を設定する。
自己位置原点は、先に図1を参照して説明したように、例えば、移動装置の出発地である起点S等に設定される。
なお、図1の例は、自己位置原点の設定例の一例であり、この他の点、例えば、地図原点を自己位置原点として設定することも可能である。
ただし、自己位置原点は、移動装置の移動に伴って移動することのない固定点として設定することが必要である。
(ステップS102)
次に、ステップS102において、移動装置に装着された全ての自己位置算出器の初期化処理が完了したか否かを確認する。
移動装置には、様々な異なるアルゴリズムに従って自己位置を算出する複数の自己位置算出器が装着されている。
例えば以下のような自己位置算出器である。
(1)GPS、あるいはGNSSと、IMUを組み合わせた自己位置算出器、
(2)SLAMを利用した自己位置算出器。
(3)オドメトリ(車輪オドメトリ)を適用した自己位置算出器。
(4)ライダー(LiDAR)やソナーを用いた自己位置算出器。
ステップS102では、移動装置に装着された全ての自己位置算出器の初期化処理が完了したか否かを判定する。
完了している場合は、ステップS106に進む。
未完了の機器がある場合は、ステップS103に進む。
(ステップS103)
ステップS102において、初期化処理の完了していない自己位置算出器があると判定された場合、初期化処理の完了していない自己位置算出器について、ステップS103〜S105の処理を実行して初期化処理を行う。
まず、ステップS103において、初期化処理の完了していない自己位置算出器の中から、1つの初期化処理対象の自己位置算出器を選択する。
この初期化処理対象の自己位置算出器を自己位置算出器Aとする。
(ステップS104)
次に、ステップS104において、自己位置算出器Aの原点とステップS101で設定した自己位置原点との差分をメモリに記録する。
自己位置算出器Aの原点とは、例えば自己位置算出器Aがカメラ撮影画像に基づく自己位置検出を行うカメラやSLAM等であれば、画像を撮影するカメラの位置であり、自己位置算出器Aが車輪の回転や方向等に基づく自己位置検出を行うオドメトリ等であれば、車輪中心位置である。
なお、この自己位置算出器の初期化処理は、移動装置が移動を開始する前に実行する。
この処理は、先に図14を参照して説明した初期化処理時算出差分データ90の算出処理に相当する。
例えば先に図14を参照して説明した例では、起点位置S(出発地)において実行する。
図14における自己位置算出器Pが初期化処理対象となる自己位置算出器である場合、ステップS104において算出する差分は、自己位置算出器P原点76と、自己位置原点72との差分に相当する。すなわち、自己位置算出器P原点76と自己位置原点72との相対位置である。
ステップS104では、このように初期化処理の済んでいない自己位置算出器Aの原点とステップS101で設定した自己位置原点との差分、すなわち図14を参照して説明した初期化処理時算出差分データ90を算出してメモリに記録する。
なお、先に、図14〜図16を参照して説明したように、初期化処理時算出差分データには、いくつかのバリエーションがあり、図14〜図16のいずれかにおいて説明した初期化処理時算出差分データを算出してメモリに記録すればよい。
(ステップS105)
ステップS104の処理が完了すると、ステップS105において自己位置算出器Aの初期化処理を完了し、ステップS102に戻り、初期化処理の完了していないその他の自己位置算出器について、ステップS103〜S105の処理を実行する。
ステップS102において、全ての自己位置算出器についての初期化処理が完了したと判定すると、ステップS106に進む。
(ステップS106)
ステップS106では、自己位置算出処理を終了するか否かを判定し、処理終了と判定した場合は処理を終了する。
自己位置算出処理を実行中の場合は、ステップS107に進む。
(ステップS107)
ステップS107において、自己位置統合部80は、移動装置に装着した全ての自己位置算出器の算出した自己位置、すなわち現在の自己位置を取得する。
例えば、図12、図13を参照して説明した例では、
(P)カメラ撮影画像に基づくSLAMアルゴリズムを実行する自己位置算出器Pの算出した自己位置。
(Q)車輪中心に装着した車輪回転&方向検出器の検出情報に基づくオドメトリアルゴリズムを実行する自己位置算出器Q。
自己位置統合部80は、これらの複数の自己位置算出器各々の算出した複数の自己位置(現在値)を取得する。
(ステップS108)
次に、自己位置統合部80は、ステップS108において、各自己位置算出器の算出した自己位置を、全て、標準自己位置(装置原点位置に相当)に変換する。
標準自己位置とは、移動装置の中心部、例えば装置原点の現在位置に相当する位置情報である。
すなわち、各自己位置算出器の算出した自己位置は、各自己位置算出器のセンサ位置、例えばカメラ位置や車輪中心位置等、各自己位置算出器の利用センサの位置であり、各自己位置算出器個々のセンサ位置となり、一致しない。
ステップS108では、これら各自己位置算出器の個々のセンサ位置である各自己位置算出器の算出自己位置を、移動装置の位置に相当する標準自己位置(装置原点位置に相当)に変換する。
この自己位置から標準自己位置への変換処理に際しては、各自己位置算出器のセンサ位置と装置原点との差分(相対位置)を考慮した処理を行う。
具体的には、例えば図14の例では、自己位置算出器のセンサ位置と装置原点との差分(相対位置)は、リンクaに相当する。
リンクaの値は、起点位置Sにおいて実行した初期化処理、すなわち、ステップSS103〜S105において実行した初期化処理において算出され、メモリに格納されている値である。
ステップS108では、このように、各自己位置算出器の個々のセンサ位置である各自己位置算出器の算出自己位置を、移動装置の位置に相当する標準自己位置(装置原点位置に相当)に変換する。
例えば、図12〜図14を参照して説明した例では、以下の2つの自己位置算出器の算出した2つの算出自己位置がある。
(P)カメラ撮影画像に基づくSLAMアルゴリズムを実行する自己位置算出器Pの算出した自己位置。
(Q)車輪中心に装着した車輪回転&方向検出器の検出情報に基づくオドメトリアルゴリズムを実行する自己位置算出器Q。
ステップS108において、自己位置統合部80は、これらの2つの自己位置算出器各々の算出した算出自己位置を、それぞれ標準自己位置に変換する。
これら複数の自己位置算出器の算出自己位置から得られる標準自己位置は、それぞれのセンサ位置と、装置原点(=例えば車両中心)との差分を反映して算出される。
従って、全ての自己位置算出器の算出自己位置から得られる標準自己位置は一致する位置情報、すなわち、1つの装置原点(=例えば車両中心)の位置情報が算出されるべきであるが、実際は、これらの値は一致することなく、各自己位置算出器対応の算出自己位置から求められる標準自己位置は一致しない値となる。
これは、各自己位置算出器が各々、異なるアルゴリズムで自己位置を算出しており、さらに、各自己位置算出器は、自己位置算出処理を実行する環境に応じて精度が大きく変わる可能性があるからである。
具体的には、夜や特徴点の少ない環境ではカメラ撮影画像を用いるSLAMによる位置算出精度が低下する。また、タイヤのスリップ等が発生しやすい場所の場合、車輪オドメトリを適用した位置算出精度が低下する。
このような状況から、各自己位置算出器の算出自己位置から得られる標準自己位置は、多くの場合、一致しない値となる。
(ステップS109)
ステップS108において、複数の自己位置算出器の算出自己位置の変換データである標準自己位置を算出すると、次に、自己位置統合部80は、ステップS109において、最終的な出力情報、すなわち、相対位置ツリー更新情報として、1つの標準自己位置を含む出力情報の決定処理を行うため、環境情報を入力する。
この処理は、先に図13を参照して説明したステップS11bの処理に相当し、状況分析部83から環境情報を入力する処理である。
この状況分析部83は、移動装置10の一構成要素であり、例えば移動装置10の外部の明るさ、視界等の環境、さらに各センサの動作状態、リソース利用状況等を分析し、この分析結果を自己位置統合部80に入力する。
先に説明したように、本開示の処理において、移動装置10には複数の異なるアルゴリズムによる自己位置を算出する自己位置算出器が装着されている。
しかし、これらの自己位置算出器の算出する位置情報は、環境によって精度が大きく変化してしまうという問題がある。
例えば、SLAMは、カメラ撮影画像を適用した処理を行うため、夜や激しい雨の中のような環境等、周囲の明瞭な画像を撮影しにくい環境では、算出する位置精度が低下してしまう。
また、例えば高層ビルが多い環境等、GPS衛星からのデータの届きにくい環境では、GPS利用システムによって算出される位置精度が低下する。
このように、自己位置算出器は環境の変化や違いによって可用性と性能が変わる。すべての環境で高精度な位置情報を算出可能な自己位置算出器は存在しない。
また、センサの故障によって、そのセンサに依存した自己位置算出器は正常に機能しなくなる。
自己位置統合部80は、移動装置の外部の様子やセンサ情報、さらには、リソースの利用状況等を環境情報として入力して、これらの情報を参照して、相対位置ツリーの更新情報を生成する。
(ステップS110)
自己位置統合部80は、ステップS110において、ステップS109で入力した環境情報に基づいて、標準自己位置(装置原点)の位置情報を含む相対位置ツリー更新情報の出力態様を決定する。
具体的な標準自己位置(装置原点)の位置情報の出力態様としては、3種類の態様がある。これらは、先に図17、図18を参照して説明した以下の3種類である。
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
自己位置統合部80は、ステップS110において、上記(a)〜(c)複数の標準自己位置出力態様のいずれの態様とするかを環境情報に基づいて決定する。
なお、図17、図18を参照して説明したように、上記(a),(b)には、それぞれさらに複数の処理態様((a1)〜(a4),(b1)〜(b2))があり、自己位置統合部80は、入力した環境情報に基づいて、そのいずれの出力態様とするかについても決定する。
自己位置統合部80が、環境情報に基づいて、
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
を実行することを決定した場合は、ステップS111の処理を実行する。
自己位置統合部80が、環境情報に基づいて、
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
を実行することを決定した場合は、ステップS112の処理を実行する。
自己位置統合部80が、環境情報に基づいて、
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
を実行することを決定した場合は、ステップS113〜S115の処理を実行する。
(ステップS111)
自己位置統合部80が、環境情報に基づいて、
(a)複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択してツリー更新に適用する標準自己位置を決定する処理。
を実行することを決定した場合は、ステップS111の処理を実行する。
ステップS111では、複数の自己位置算出器の標準自己位置から、1つの標準自己位置を選択して、選択標準自己位置(=装置原点位置)を出力する。すなわち、相対位置ツリー更新情報を出力して、記憶部に格納された相対位置ツリーの更新処理を行う。
具体的には、先に図12、図13を参照して説明した相対位置ツリーの更新処理であり、選択標準自己位置(=装置原点位置)は、装置原点ノード73の位置情報に相当する。
選択した1つの標準自己位置は、装置原点73の位置情報、具体的には、自己位置原点72の位置に対する装置原点73の相対位置であり、図13のステップS13中のノード構成中に示すリンクKに対応する相対位置情報である。
すなわち、ステップS111では、選択した1つの標準自己位置を、記憶部82に格納された相対位置ツリーの自己位置原点72と装置原点73間のリンクK対応の相対位置情報として格納する。
なお、複数の自己位置算出器対応の標準自己位置から1つの標準自己位置を選択する処理は、先に図17を参照して説明したように複数の処理((a1)〜(a4))があり、自己位置統合部80は、環境情報に応じて処理態様を決定して実行する。
(ステップS112)
一方、ステップS110において、自己位置統合部80が、環境情報に基づいて、
(b)複数の自己位置算出器対応の複数の標準自己位置を合成(フュージョン)して、ツリー更新に適用する標準自己位置を生成する処理。
を実行することを決定した場合は、ステップS112の処理を実行する。
ステップS112では、複数の自己位置算出器の標準自己位置を合成(フュージョン)して1つの標準自己位置を算出して出力する。すなわち、合成(フュージョン)標準自己位置を用いて相対位置ツリー更新処理を行う。
この場合、合成(フュージョン)標準自己位置(=装置原点位置)は、装置原点ノード73の位置情報に相当する。
合成(フュージョン)標準自己位置は、装置原点73の位置情報、具体的には、自己位置原点72の位置に対する装置原点73の相対位置であり、図13のステップS13中のノード構成中に示すリンクKに対応する相対位置情報である。
すなわち、ステップS112では、合成(フュージョン)標準自己位置を、記憶部82に格納された相対位置ツリーの自己位置原点72と装置原点73間のリンクK対応の相対位置情報として格納する。
なお、複数の自己位置算出器対応の標準自己位置から1つの合成(フュージョン)標準自己位置を生成する処理には、先に図18を参照して説明したように複数の処理((b1)〜(b2))があり、自己位置統合部80は、環境情報に応じて処理態様を決定して実行する。
(ステップS113)
さらに、ステップS110において、自己位置統合部80が、環境情報に基づいて、
(c)上記、(a),(b)の処理を状況に応じて切り替えて、ツリー更新に適用する標準自己位置を決定する処理。
を実行することを決定した場合は、ステップS113〜S115の処理を実行する。
ステップS113では、自己位置統合部80が、環境情報に基づいて、複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択する。
なお、複数の自己位置算出器対応の標準自己位置から1つの標準自己位置を選択する処理は、先に図17を参照して説明したように複数の処理((a1)〜(a4))があり、自己位置統合部80は、環境情報に応じて処理態様を決定して実行する。
(ステップS114)
次に、ステップS114では、自己位置統合部80が、複数の自己位置算出器対応の複数の標準自己位置の合成処理(フュージョン)を実行して1つの合成標準自己位置を算出する。
なお、複数の自己位置算出器対応の標準自己位置から1つの合成(フュージョン)標準自己位置を生成する処理には、先に図18を参照して説明したように複数の処理((b1)〜(b2))があり、自己位置統合部80は、環境情報に応じて処理態様を決定して実行する。
(ステップS115)
次に、自己位置統合部80は、ステップS113で選択した選択標準自己位置と、ステップS114で算出した合成標準自己位置を、環境情報に応じて切り替えて出力する。
出力情報は、相対位置ツリー更新情報である。
出力される標準自己位置は、装置原点73の位置情報、具体的には、自己位置原点72の位置に対する装置原点73の相対位置であり、図13のステップS13中のノード構成中に示すリンクKに対応する相対位置情報である。
すなわち、ステップS115では、選択標準自己位置、または合成(フュージョン)標準自己位置を、記憶部82に格納された相対位置ツリーの自己位置原点72と装置原点73間のリンクK対応の相対位置情報として格納する。
なお、選択標準自己位置と、合成(フュージョン)標準自己位置との切り替えは、入力する環境情報の変化等に応じて実行する。
具体的には、例えば、先に図18を参照して説明した(c)の(例1)、(例2)のような処理態様となる。
ステップS111、またはステップS112、またはステップS113〜S115の処理のいずれかが終了すると、ステップS106に戻る。
ステップS106では、自己位置算出処理を終了するか否かを判定し、終了する場合は、処理を終了する。
自己位置算出処理を継続する場合は、ステップS107以下の処理をくりかえし実行する。
ステップS107以下では、複数の自己位置算出器によって新たに取得された自己位置情報を利用して処理が行われる。
この処理を繰り返すことで、記憶部に格納された相対位置ツリーは、常に最新の状態、すなわち、移動装置の移動位置に応じた位置情報を格納した状態に更新されることになる。
この記憶部に格納された最新の相対位置ツリーの情報は、先に図4を参照て説明したように様々な相対位置利用モジュールによって利用される。
相対位置利用モジュールは、例えば移動装置の移動経路(パス)を決定する行動計画部等である。例えば行動計画部は、記憶部に格納された最新の相対位置ツリーの情報を利用して自己位置を確認し、その後の進路を決定する処理などを実行する。
[5.移動装置の構成例について]
次に、図21を参照して移動装置の構成例について説明する。
図21は、上述した処理を実行する移動装置に装着可能な移動体制御システムの一例である車両制御システム100の概略的な機能の構成例を示すブロック図である。
なお、以下、車両制御システム100が設けられている車両を他の車両と区別する場合、自車又は自車両と称する。
車両制御システム100は、入力部101、データ取得部102、通信部103、車内機器104、出力制御部105、出力部106、駆動系制御部107、駆動系システム108、ボディ系制御部109、ボディ系システム110、記憶部111、及び、自動運転制御部112を備える。入力部101、データ取得部102、通信部103、出力制御部105、駆動系制御部107、ボディ系制御部109、記憶部111、及び、自動運転制御部112は、通信ネットワーク121を介して、相互に接続されている。通信ネットワーク121は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)、又は、FlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークやバス等からなる。なお、車両制御システム100の各部は、通信ネットワーク121を介さずに、直接接続される場合もある。
なお、以下、車両制御システム100の各部が、通信ネットワーク121を介して通信を行う場合、通信ネットワーク121の記載を省略するものとする。例えば、入力部101と自動運転制御部112が、通信ネットワーク121を介して通信を行う場合、単に入力部101と自動運転制御部112が通信を行うと記載する。
入力部101は、搭乗者が各種のデータや指示等の入力に用いる装置を備える。例えば、入力部101は、タッチパネル、ボタン、マイクロフォン、スイッチ、及び、レバー等の操作デバイス、並びに、音声やジェスチャ等により手動操作以外の方法で入力可能な操作デバイス等を備える。また、例えば、入力部101は、赤外線若しくはその他の電波を利用したリモートコントロール装置、又は、車両制御システム100の操作に対応したモバイル機器若しくはウェアラブル機器等の外部接続機器であってもよい。入力部101は、搭乗者により入力されたデータや指示等に基づいて入力信号を生成し、車両制御システム100の各部に供給する。
データ取得部102は、車両制御システム100の処理に用いるデータを取得する各種のセンサ等を備え、取得したデータを、車両制御システム100の各部に供給する。
例えば、データ取得部102は、自車の状態等を検出するための各種のセンサを備える。具体的には、例えば、データ取得部102は、ジャイロセンサ、加速度センサ、慣性計測装置(IMU)、及び、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数、モータ回転数、若しくは、車輪の回転速度等を検出するためのセンサ等を備える。
また、例えば、データ取得部102は、自車の外部の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部102は、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ、及び、その他のカメラ等の撮像装置を備える。また、例えば、データ取得部102は、天候又は気象等を検出するための環境センサ、及び、自車の周囲の物体を検出するための周囲情報検出センサを備える。環境センサは、例えば、雨滴センサ、霧センサ、日照センサ、雪センサ等からなる。周囲情報検出センサは、例えば、超音波センサ、レーダ、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)、ソナー等からなる。
さらに、例えば、データ取得部102は、自車の現在位置を検出するための各種のセンサを備える。具体的には、例えば、データ取得部102は、GNSS(Global Navigation Satellite System)衛星からのGNSS信号を受信するGNSS受信機等を備える。
また、例えば、データ取得部102は、車内の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部102は、運転者を撮像する撮像装置、運転者の生体情報を検出する生体センサ、及び、車室内の音声を集音するマイクロフォン等を備える。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座っている搭乗者又はステアリングホイールを握っている運転者の生体情報を検出する。
また、例えば、データ取得部102は、記憶部からデータを取得し、車両制御システム100の各部に供給する。例えばデータ取得部記憶部から自車の車体構造データを取得し、自己位置推定部などに提供する。
通信部103は、車内機器104、並びに、車外の様々な機器、サーバ、基地局等と通信を行い、車両制御システム100の各部から供給されるデータを送信したり、受信したデータを車両制御システム100の各部に供給したりする。なお、通信部103がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部103が、複数の種類の通信プロトコルをサポートすることも可能である
例えば、通信部103は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、又は、WUSB(Wireless USB)等により、車内機器104と無線通信を行う。また、例えば、通信部103は、図示しない接続端子(及び、必要であればケーブル)を介して、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、又は、MHL(Mobile High−definition Link)等により、車内機器104と有線通信を行う。
さらに、例えば、通信部103は、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)との通信を行う。また、例えば、通信部103は、P2P(Peer To Peer)技術を用いて、自車の近傍に存在する端末(例えば、歩行者若しくは店舗の端末、又は、MTC(Machine Type Communication)端末)との通信を行う。さらに、例えば、通信部103は、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信、自車と家との間(Vehicle to Home)の通信、及び、歩車間(Vehicle to Pedestrian)通信等のV2X通信を行う。また、例えば、通信部103は、ビーコン受信部を備え、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行規制又は所要時間等の情報を取得する。
車内機器104は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、自車に搬入され若しくは取り付けられる情報機器、及び、任意の目的地までの経路探索を行うナビゲーション装置等を含む。
出力制御部105は、自車の搭乗者又は車外に対する各種の情報の出力を制御する。例えば、出力制御部105は、視覚情報(例えば、画像データ)及び聴覚情報(例えば、音声データ)のうちの少なくとも1つを含む出力信号を生成し、出力部106に供給することにより、出力部106からの視覚情報及び聴覚情報の出力を制御する。具体的には、例えば、出力制御部105は、データ取得部102の異なる撮像装置により撮像された画像データを合成して、俯瞰画像又はパノラマ画像等を生成し、生成した画像を含む出力信号を出力部106に供給する。また、例えば、出力制御部105は、衝突、接触、危険地帯への進入等の危険に対する警告音又は警告メッセージ等を含む音声データを生成し、生成した音声データを含む出力信号を出力部106に供給する。
出力部106は、自車の搭乗者又は車外に対して、視覚情報又は聴覚情報を出力することが可能な装置を備える。例えば、出力部106は、表示装置、インストルメントパネル、オーディオスピーカ、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ、ランプ等を備える。出力部106が備える表示装置は、通常のディスプレイを有する装置以外にも、例えば、ヘッドアップディスプレイ、透過型ディスプレイ、AR(Augmented Reality)表示機能を有する装置等の運転者の視野内に視覚情報を表示する装置であってもよい。
駆動系制御部107は、各種の制御信号を生成し、駆動系システム108に供給することにより、駆動系システム108の制御を行う。また、駆動系制御部107は、必要に応じて、駆動系システム108以外の各部に制御信号を供給し、駆動系システム108の制御状態の通知等を行う。
駆動系システム108は、自車の駆動系に関わる各種の装置を備える。例えば、駆動系システム108は、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、舵角を調節するステアリング機構、制動力を発生させる制動装置、ABS(Antilock Brake System)、ESC(Electronic Stability Control)、並びに、電動パワーステアリング装置等を備える。
ボディ系制御部109は、各種の制御信号を生成し、ボディ系システム110に供給することにより、ボディ系システム110の制御を行う。また、ボディ系制御部109は、必要に応じて、ボディ系システム110以外の各部に制御信号を供給し、ボディ系システム110の制御状態の通知等を行う。
ボディ系システム110は、車体に装備されたボディ系の各種の装置を備える。例えば、ボディ系システム110は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、パワーシート、ステアリングホイール、空調装置、及び、各種ランプ(例えば、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカ、フォグランプ等)等を備える。
記憶部111は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、及び、光磁気記憶デバイス等を備える。記憶部111は、車両制御システム100の各部が用いる各種プログラムやデータ等を記憶する。例えば、記憶部111は、ダイナミックマップ等の3次元の高精度地図、高精度地図より精度が低く、広いエリアをカバーするグローバルマップ、及び、自車の周囲の情報を含むローカルマップ等の地図データを記憶する。
記憶部111は、自車の車体構造データなども記憶する。例えば、自車原点から各センサの相対位置を記憶する。
自動運転制御部112は、自律走行又は運転支援等の自動運転に関する制御を行う。具体的には、例えば、自動運転制御部112は、自車の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、自車の衝突警告、又は、自車のレーン逸脱警告等を含むADAS(Advanced Driver Assistance System)の機能実現を目的とした協調制御を行う。また、例えば、自動運転制御部112は、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行う。自動運転制御部112は、検出部131、自己位置推定部132、状況分析部133、計画部134、及び、動作制御部135を備える。
検出部131は、自動運転の制御に必要な各種の情報の検出を行う。検出部131は、車外情報検出部141、車内情報検出部142、及び、車両状態検出部143を備える。
車外情報検出部141は、車両制御システム100の各部からのデータ又は信号に基づいて、自車の外部の情報の検出処理を行う。例えば、車外情報検出部141は、自車の周囲の物体の検出処理、認識処理、及び、追跡処理、並びに、物体までの距離の検出処理を行う。検出対象となる物体には、例えば、車両、人、障害物、構造物、道路、信号機、交通標識、道路標示等が含まれる。また、例えば、車外情報検出部141は、自車の周囲の環境の検出処理を行う。検出対象となる周囲の環境には、例えば、天候、気温、湿度、明るさ、及び、路面の状態等が含まれる。車外情報検出部141は、検出処理の結果を示すデータを自己位置推定部132、状況分析部133のマップ解析部151、交通ルール認識部152、及び、状況認識部153、並びに、動作制御部135の緊急事態回避部171等に供給する。
車内情報検出部142は、車両制御システム100の各部からのデータ又は信号に基づいて、車内の情報の検出処理を行う。例えば、車内情報検出部142は、運転者の認証処理及び認識処理、運転者の状態の検出処理、搭乗者の検出処理、及び、車内の環境の検出処理等を行う。検出対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線方向等が含まれる。検出対象となる車内の環境には、例えば、気温、湿度、明るさ、臭い等が含まれる。車内情報検出部142は、検出処理の結果を示すデータを状況分析部133の状況認識部153、及び、動作制御部135の緊急事態回避部171等に供給する。
車両状態検出部143は、車両制御システム100の各部からのデータ又は信号に基づいて、自車の状態の検出処理を行う。検出対象となる自車の状態には、例えば、速度、加速度、舵角、異常の有無及び内容、運転操作の状態、パワーシートの位置及び傾き、ドアロックの状態、並びに、その他の車載機器の状態等が含まれる。車両状態検出部143は、検出処理の結果を示すデータを自己位置推定部132、状況分析部133の状況認識部153、及び、動作制御部135の緊急事態回避部171等に供給する。
自己位置推定部132は、自車の自己位置を推定する。自己位置は自車の3次元空間における位置および姿勢を指す。自己位置推定部132は、自己位置算出部181、および、自己位置統合部183を備える。
自己位置算出部181は車両状態検出部143、車外情報検出部141、及び、状況分析部133の状況認識部153等の車両制御システム100の各部からのデータ又は信号に基づいて、自車の位置及び姿勢等の推定処理を行う。自己位置算出部181は、一つ以上の自己位置算出器182を備える。
自己位置算出器182は車両状態検出部143、車外情報検出部141、及び、状況分析部133の状況認識部153等の車両制御システム100の各部からのデータ又は信号に基づいて、自車の位置及び姿勢等の推定処理を行う事ができる。自己位置算出器182が出力する自己位置を算出器自己位置とする。
自己位置算出器は例えばGNSS信号およびIMUから自車の位置姿勢を推定する技術、SLAM(Simultaneous Localization and Mapping)技術、車輪回転数およびステアリング角から自車の位置姿勢を推定するオドメトリ(車輪オドメトリ)技術、LiDARの観測結果と高精度3次元地図のマッチングによる自己位置同定技術NDT(normal distributions transform)などがある。
正常に動作している自己位置算出器の数は車外情報検出部、車両状態検出部または状況認識部からのデータまたは信号の種類によって設計時、起動時または実行時に増減することがある。例えばLiDARの入力が取得できるかどうかによってNDTが正常に動作できるかどうかが変わる。
また、自己位置算出器182は、必要に応じて、自己位置の推定に用いるローカルマップ(以下、自己位置推定用マップと称する)を生成する。自己位置推定用マップは、例えば、SLAM等の技術を用いた高精度なマップとされる。自己位置算出器182は、自己位置推定用マップを記憶部111に記憶させる。
自己位置統合部182は一つ以上の自己位置算出器からの算出器自己位置を統合手法によって統合した結果の自己位置を出力する。自己位置統合部が出力する自己位置を統合自己位置とする。
自己位置統合部182は、状況分析部133から環境情報を入力する。例えば、移動装置の外部状況である明るさや視界等の外部状況や、各センサの稼働状況、故障状況、あるいはリソース利用状況等の環境情報を入力し、この環境情報に応じて決定した統合手法を適用して、1つの自己位置を算出する。
統合手法は複数の自己位置算出器の算出した自己位置を統合して統合自己位置を計算する手法である。例えば条件に応じて1つの自己位置算出器の算出した自己位置に基づいて算出した標準自己位置を選択する処理や、複数の自己位置算出器の算出した自己位置に基づいて算出した標準自己位置を合成(フュージョン)する処理などがある。詳細は、先に図17、図18を参照して説明した通りである。
自己位置統合部182は、統合自己位置を示すデータを状況分析部133のマップ解析部151、交通ルール認識部152、及び、状況認識部153等に供給する。
状況分析部133は、自車及び周囲の状況の分析処理を行う。状況分析部133は、マップ解析部151、交通ルール認識部152、状況認識部153、及び、状況予測部154を備える。
マップ解析部151は、自己位置推定部132及び車外情報検出部141等の車両制御システム100の各部からのデータ又は信号を必要に応じて用いながら、記憶部111に記憶されている各種のマップの解析処理を行い、自動運転の処理に必要な情報を含むマップを構築する。マップ解析部151は、構築したマップを、交通ルール認識部152、状況認識部153、状況予測部154、並びに、計画部134のルート計画部161、行動計画部162、及び、動作計画部163等に供給する。
交通ルール認識部152は、自己位置推定部132、車外情報検出部141、及び、マップ解析部151等の車両制御システム100の各部からのデータ又は信号に基づいて、自車の周囲の交通ルールの認識処理を行う。この認識処理により、例えば、自車の周囲の信号の位置及び状態、自車の周囲の交通規制の内容、並びに、走行可能な車線等が認識される。交通ルール認識部152は、認識処理の結果を示すデータを状況予測部154等に供給する。
状況認識部153は、自己位置推定部132、車外情報検出部141、車内情報検出部142、車両状態検出部143、及び、マップ解析部151等の車両制御システム100の各部からのデータ又は信号に基づいて、自車に関する状況の認識処理を行う。例えば、状況認識部153は、自車の状況、自車の周囲の状況、及び、自車の運転者の状況等の認識処理を行う。また、状況認識部153は、必要に応じて、自車の周囲の状況の認識に用いるローカルマップ(以下、状況認識用マップと称する)を生成する。状況認識用マップは、例えば、占有格子地図(Occupancy Grid Map)とされる。
認識対象となる自車の状況には、例えば、自車の位置、姿勢、動き(例えば、速度、加速度、移動方向等)、並びに、異常の有無及び内容等が含まれる。認識対象となる自車の周囲の状況には、例えば、周囲の静止物体の種類及び位置、周囲の動物体の種類、位置及び動き(例えば、速度、加速度、移動方向等)、周囲の道路の構成及び路面の状態、並びに、周囲の天候、気温、湿度、及び、明るさ等が含まれる。認識対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線の動き、並びに、運転操作等が含まれる。
状況認識部153は、認識処理の結果を示すデータ(必要に応じて、状況認識用マップを含む)を自己位置推定部132及び状況予測部154等に供給する。また、状況認識部153は、状況認識用マップを記憶部111に記憶させる。
状況予測部154は、マップ解析部151、交通ルール認識部152及び状況認識部153等の車両制御システム100の各部からのデータ又は信号に基づいて、自車に関する状況の予測処理を行う。例えば、状況予測部154は、自車の状況、自車の周囲の状況、及び、運転者の状況等の予測処理を行う。
予測対象となる自車の状況には、例えば、自車の挙動、異常の発生、及び、走行可能距離等が含まれる。予測対象となる自車の周囲の状況には、例えば、自車の周囲の動物体の挙動、信号の状態の変化、及び、天候等の環境の変化等が含まれる。予測対象となる運転者の状況には、例えば、運転者の挙動及び体調等が含まれる。
状況予測部154は、予測処理の結果を示すデータを、交通ルール認識部152及び状況認識部153からのデータとともに、計画部134のルート計画部161、行動計画部162、及び、動作計画部163等に供給する。
ルート計画部161は、マップ解析部151及び状況予測部154等の車両制御システム100の各部からのデータ又は信号に基づいて、目的地までのルートを計画する。例えば、ルート計画部161は、グローバルマップに基づいて、現在位置から指定された目的地までのルートを設定する。また、例えば、ルート計画部161は、渋滞、事故、通行規制、工事等の状況、及び、運転者の体調等に基づいて、適宜ルートを変更する。ルート計画部161は、計画したルートを示すデータを行動計画部162等に供給する。
行動計画部162は、マップ解析部151及び状況予測部154等の車両制御システム100の各部からのデータ又は信号に基づいて、ルート計画部161により計画されたルートを計画された時間内で安全に走行するための自車の行動を計画する。例えば、行動計画部162は、発進、停止、進行方向(例えば、前進、後退、左折、右折、方向転換等)、走行車線、走行速度、及び、追い越し等の計画を行う。行動計画部162は、計画した自車の行動を示すデータを動作計画部163等に供給する
動作計画部163は、マップ解析部151及び状況予測部154等の車両制御システム100の各部からのデータ又は信号に基づいて、行動計画部162により計画された行動を実現するための自車の動作を計画する。例えば、動作計画部163は、加速、減速、及び、走行軌道等の計画を行う。動作計画部163は、計画した自車の動作を示すデータを、動作制御部135の加減速制御部172及び方向制御部173等に供給する。
動作制御部135は、自車の動作の制御を行う。動作制御部135は、緊急事態回避部171、加減速制御部172、及び、方向制御部173を備える。
緊急事態回避部171は、車外情報検出部141、車内情報検出部142、及び、車両状態検出部143の検出結果に基づいて、衝突、接触、危険地帯への進入、運転者の異常、車両の異常等の緊急事態の検出処理を行う。緊急事態回避部171は、緊急事態の発生を検出した場合、急停車や急旋回等の緊急事態を回避するための自車の動作を計画する。緊急事態回避部171は、計画した自車の動作を示すデータを加減速制御部172及び方向制御部173等に供給する。
加減速制御部172は、動作計画部163又は緊急事態回避部171により計画された自車の動作を実現するための加減速制御を行う。例えば、加減速制御部172は、計画された加速、減速、又は、急停車を実現するための駆動力発生装置又は制動装置の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部107に供給する。
方向制御部173は、動作計画部163又は緊急事態回避部171により計画された自車の動作を実現するための方向制御を行う。例えば、方向制御部173は、動作計画部163又は緊急事態回避部171により計画された走行軌道又は急旋回を実現するためのステアリング機構の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部107に供給する。
[6.情報処理装置の構成例について]
図21は、上述した処理を実行する移動装置内に装着可能な移動体制御システムの一例である車両制御システム100の構成であるが、先に説明した実施例に従った処理は、例えば複数の自己位置算出器対応のセンサ、例えばカメラ等の様々なセンサの検出情報をPC等の情報処理装置に入力してデータ処理を行い、相対位置ツリーの更新情報を生成して情報処理装置内の記憶部に格納された相対位置ツリーの更新を行う構成とすることも可能である。
この場合の情報処理装置の具体的なハードウェア構成例について、図22を参照して説明する。
図22は、一般的なPC等の情報処理装置のハードウェア構成例を示す図である。
CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロフォン、さらに、センサ、カメラ、GPS等の状況データ取得部などよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307が接続されている。
なお、入力部306には、センサ321からの入力情報も入力される。
また、出力部307は、移動装置の駆動部322に対する駆動情報も出力する。
CPU301は、入力部306から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部307に出力する。
入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
入出力インタフェース305に接続されているドライブ130は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
[7.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 自己位置を算出する複数の自己位置算出器と、
前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有し、
前記自己位置統合部は、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する情報処理装置。
(2) 前記自己位置統合部は、
環境情報に応じて、前記複数の標準自己位置から前記最終自己位置の算出態様を決定する(1)に記載の情報処理装置。
(3) 前記環境情報は、
前記最終自己位置を適用して決定する移動経路に従った移動を行う移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況の少なくともいずれかの情報を含む(2)に記載の情報処理装置。
(4) 前記自己位置統合部は、
環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択し、選択した標準自己位置を前記最終自己位置とする(1)〜(3)いずれかに記載の情報処理装置。
(5) 前記自己位置統合部は、
環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置を合成して1つの標準自己位置を算出し、算出した合成標準自己位置を前記最終自己位置とする(1)〜(4)いずれかに記載の情報処理装置。
(6) 前記自己位置統合部は、
環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択して選択標準自己位置を決定し、
さらに、環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置を合成して1つの合成標準自己位置を算出し、
さらに、環境情報に応じて、前記選択標準自己位置と、前記合成標準自己位置を切り替えて前記最終自己位置とする(1)〜(5)いずれかに記載の情報処理装置。
(7) 前記情報処理装置は、さらに、
複数の異なる定義の座標原点、またはオブジェクト位置から構成されるノード間の相対位置を記録した相対位置ツリーを格納した記憶部を有し、
前記自己位置統合部は、
前記前記最終自己位置を、前記相対位置ツリーの更新情報として算出する(1)〜(6)いずれかに記載の情報処理装置。
(8) 前記相対位置ツリーは、
前記複数の自己位置算出器を装着した移動装置の移動に伴って移動する自己位置算出器対応のセンサ位置情報を有する自己位置算出器対応センサノードと、前記移動装置の移動に伴って移動しない位置情報を有する自己位置算出器原点ノードを有し、各ノード間の相対位置をリンクデータとして有する相対位置ツリーである(7)に記載の情報処理装置。
(9) 前記相対位置ツリーは、
前記移動装置の装置原点位置を示す1つの装置原点ノードを有し、
前記複数の自己位置算出器各々に対応する複数の自己位置算出器対応センサノードの各々は、前記装置原点ノードとの相対位置を示すリンクによって接続された構成である(8)に記載の情報処理装置。
(10) 前記自己位置統合部は、
前記最終自己位置を、前記相対位置ツリーに含まれる装置原点位置の更新情報として算出する(9)に記載の情報処理装置。
(11) 自己位置を算出する複数の自己位置算出器と、
前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部と、
自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画部と、
前記計画部の決定した行動に従って移動装置の動作を制御する動作制御部を有し、
前記自己位置統合部は、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置。
(12) 前記自己位置統合部は、
環境情報に応じて、前記複数の標準自己位置から前記最終自己位置の算出態様を決定する(11)に記載の移動装置。
(13) 前記環境情報は、
前記最終自己位置を適用して決定する移動経路に従った移動を行う移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況の少なくともいずれかの情報を含む(12)に記載の移動装置。
(14) 前記自己位置統合部は、
環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から選択した1つの選択標準自己位置、または複数の自己位置算出器対応の複数の標準自己位置を合成した合成標準自己位置のいずれかを前記最終自己位置とする(11)〜(13)いずれかに記載の移動装置。
(15) 前記移動装置は、さらに、
複数の異なる定義の座標原点、またはオブジェクト位置から構成されるノード間の相対位置を記録した相対位置ツリーを格納した記憶部を有し、
前記自己位置統合部は、
前記前記最終自己位置を、前記相対位置ツリーの更新情報として算出する(11)〜(14)いずれかに記載の移動装置。
(16) 前記相対位置ツリーは、
前記複数の自己位置算出器を装着した移動装置の移動に伴って移動する自己位置算出器対応のセンサ位置情報を有する自己位置算出器対応センサノードと、前記移動装置の移動に伴って移動しない位置情報を有する自己位置算出器原点ノードを有し、各ノード間の相対位置をリンクデータとして有する相対位置ツリーである(15)に記載の移動装置。
(17) 情報処理装置において実行する情報処理方法であり、
複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップを有し、
前記自己位置統合ステップは、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出するステップである情報処理方法。
(18) 移動装置において実行する移動装置制御方法であり、
複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップと、
計画部が、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画ステップと、
動作制御部が、前記計画部の決定した行動に従って移動装置の動作を制御する動作制御ステップを有し、
前記自己位置統合ステップは、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置制御方法。
(19) 情報処理装置において情報処理を実行させるプログラムであり、
複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップを実行させ、
前記自己位置統合ステップにおいて、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラム。
(20) 移動装置において移動装置制御処理を実行させるプログラムであり、
複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップと、
計画部に、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定させる計画ステップと、
動作制御部に、前記計画部の決定した行動に従って移動装置の動作を制御させる動作制御ステップを実行させ、
前記自己位置統合ステップにおいて、
前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラム。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、自己位置を算出する複数の自己位置算出器の算出自己位置に基づいて最終的に1つの装置位置情報を取得可能とした構成が実現される。
具体的には、例えば、自己位置を算出する複数の自己位置算出器と、複数の自己位置算出器の算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有する。自己位置統合部は、複数の自己位置算出器対応の算出自己位置を、各算出器のセンサ位置を考慮して標準自己位置に変換し、複数の標準自己位置から最終自己位置を算出する。自己位置統合部は、移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況等の環境情報に応じて、最終自己位置を算出する。
本構成により、自己位置を算出する複数の自己位置算出器の算出自己位置に基づいて最終的に1つの装置位置情報を取得可能とした構成が実現される。
10・・移動装置,21・・地図原点,22・・自己位置原点,23・・装置原点,31,32,33・・自己位置算出器,41,42・・相対位置ツリー更新モジュール,43・・記憶部,44,45,46・・相対位置ツリー利用モジュール,47,48・・相対位置ツリー更新モジュール,51・・地図原点,52・・自己位置原点,53・・装置原点,54・・カメラ,55・・車輪中心,56,57・・相対位置ツリー更新モジュール,71・・地図原点,72・・自己位置原点,73・・装置原点,74・・カメラ,75・・車輪中心,76・・自己位置算出器P原点,77・・自己位置算出器Q原点,78,79・・相対位置ツリー更新モジュール,80・・自己位置統合部,82・・記憶部,83・・状況分析部,100・・車両制御システム,101・・入力部,102・・データ取得部,103・・通信部,104・・車内機器,105・・出力制御部,106・・出力部,107・・駆動系制御部,108・・駆動系システム,109・・ボディ系制御部,110・・ボディ系システム,111・・記憶部,112・・自動運転制御部,121・・通信ネットワーク,131・・検出部,132・・自己位置推定部,133・・状況分析部,134・・計画部,135・・動作制御部,141・・車外情報検出部,142・・車内情報検出部,143・・車両状態検出部,151・・マップ解析部,152・・交通ルール認識部,153・・状況認識部,154・・状況予測部,161・・ルート計画部,162・・行動計画部,163・・動作計画部,171・・緊急事態回避部,172・・加減速制御部,173・・方向制御部,181・・自己位置算出部,182・・自己位置算出器,183・・自己位置統合部,301・・CPU,302・・ROM,303・・RAM,304・・バス,305・・入出力インタフェース,306・・入力部,307・・出力部,308・・記憶部,309・・通信部,310・・ドライブ,311・・リムーバブルメディア,321・・センサ,322・・駆動部

Claims (20)

  1. 自己位置を算出する複数の自己位置算出器と、
    前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部を有し、
    前記自己位置統合部は、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する情報処理装置。
  2. 前記自己位置統合部は、
    環境情報に応じて、前記複数の標準自己位置から前記最終自己位置の算出態様を決定する請求項1に記載の情報処理装置。
  3. 前記環境情報は、
    前記最終自己位置を適用して決定する移動経路に従った移動を行う移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況の少なくともいずれかの情報を含む請求項2に記載の情報処理装置。
  4. 前記自己位置統合部は、
    環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択し、選択した標準自己位置を前記最終自己位置とする請求項1に記載の情報処理装置。
  5. 前記自己位置統合部は、
    環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置を合成して1つの標準自己位置を算出し、算出した合成標準自己位置を前記最終自己位置とする請求項1に記載の情報処理装置。
  6. 前記自己位置統合部は、
    環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から1つの標準自己位置を選択して選択標準自己位置を決定し、
    さらに、環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置を合成して1つの合成標準自己位置を算出し、
    さらに、環境情報に応じて、前記選択標準自己位置と、前記合成標準自己位置を切り替えて前記最終自己位置とする請求項1に記載の情報処理装置。
  7. 前記情報処理装置は、さらに、
    複数の異なる定義の座標原点、およびオブジェクト位置との相対位置を記録した相対位置ツリーを格納した記憶部を有し、
    前記自己位置統合部は、
    前記前記最終自己位置を、前記相対位置ツリーの更新情報として算出する請求項1に記載の情報処理装置。
  8. 前記相対位置ツリーは、
    前記複数の自己位置算出器を装着した移動装置の移動に伴って移動する自己位置算出器対応のセンサ位置情報を有する自己位置算出器対応センサノードと、前記移動装置の移動に伴って移動しない位置情報を有する自己位置算出器原点ノードを有し、各ノード間の相対位置をリンクデータとして有する相対位置ツリーである請求項7に記載の情報処理装置。
  9. 前記相対位置ツリーは、
    前記移動装置の装置原点位置を示す1つの装置原点ノードを有し、
    前記複数の自己位置算出器各々に対応する複数の自己位置算出器対応センサノードの各々は、前記装置原点ノードとの相対位置を示すリンクによって接続された構成である請求項8に記載の情報処理装置。
  10. 前記自己位置統合部は、
    前記最終自己位置を、前記相対位置ツリーに含まれる装置原点位置の更新情報として算出する請求項9に記載の情報処理装置。
  11. 自己位置を算出する複数の自己位置算出器と、
    前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合部と、
    自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画部と、
    前記計画部の決定した行動に従って移動装置の動作を制御する動作制御部を有し、
    前記自己位置統合部は、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置。
  12. 前記自己位置統合部は、
    環境情報に応じて、前記複数の標準自己位置から前記最終自己位置の算出態様を決定する請求項11に記載の移動装置。
  13. 前記環境情報は、
    前記最終自己位置を適用して決定する移動経路に従った移動を行う移動装置の外部環境、複数の自己位置算出器の利用センサの故障情報、リソースの利用状況の少なくともいずれかの情報を含む請求項12に記載の移動装置。
  14. 前記自己位置統合部は、
    環境情報に応じて、複数の自己位置算出器対応の複数の標準自己位置から選択した1つの選択標準自己位置、または複数の自己位置算出器対応の複数の標準自己位置を合成した合成標準自己位置のいずれかを前記最終自己位置とする請求項11に記載の移動装置。
  15. 前記移動装置は、さらに、
    複数の異なる定義の座標原点、またはオブジェクト位置から構成されるノード間の相対位置を記録した相対位置ツリーを格納した記憶部を有し、
    前記自己位置統合部は、
    前記前記最終自己位置を、前記相対位置ツリーの更新情報として算出する請求項11に記載の移動装置。
  16. 前記相対位置ツリーは、
    前記複数の自己位置算出器を装着した移動装置の移動に伴って移動する自己位置算出器対応のセンサ位置情報を有する自己位置算出器対応センサノードと、前記移動装置の移動に伴って移動しない位置情報を有する自己位置算出器原点ノードを有し、各ノード間の相対位置をリンクデータとして有する相対位置ツリーである請求項15に記載の移動装置。
  17. 情報処理装置において実行する情報処理方法であり、
    複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
    自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップを有し、
    前記自己位置統合ステップは、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出するステップである情報処理方法。
  18. 移動装置において実行する移動装置制御方法であり、
    複数の自己位置算出器の各々が、自己位置を算出する複数の自己位置算出ステップと、
    自己位置統合部が、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出する自己位置統合ステップと、
    計画部が、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定する計画ステップと、
    動作制御部が、前記計画部の決定した行動に従って移動装置の動作を制御する動作制御ステップを有し、
    前記自己位置統合ステップは、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する移動装置制御方法。
  19. 情報処理装置において情報処理を実行させるプログラムであり、
    複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
    自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップを実行させ、
    前記自己位置統合ステップにおいて、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラム。
  20. 移動装置において移動装置制御処理を実行させるプログラムであり、
    複数の自己位置算出器の各々に、自己位置を算出させる複数の自己位置算出ステップと、
    自己位置統合部に、前記複数の自己位置算出器の算出した算出自己位置を統合して1つの最終自己位置を算出させる自己位置統合ステップと、
    計画部に、自己位置統合部の算出した最終自己位置を利用して移動装置の行動を決定させる計画ステップと、
    動作制御部に、前記計画部の決定した行動に従って移動装置の動作を制御させる動作制御ステップを実行させ、
    前記自己位置統合ステップにおいて、
    前記複数の自己位置算出器の算出した自己位置算出器対応の算出自己位置を、各自己位置算出器の利用センサのセンサ位置を考慮して標準自己位置に変換し、変換結果である複数の標準自己位置を利用して前記最終自己位置を算出する処理を実行させるプログラム。
JP2017187481A 2017-09-28 2017-09-28 情報処理装置、移動装置、および方法、並びにプログラム Active JP6891753B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2017187481A JP6891753B2 (ja) 2017-09-28 2017-09-28 情報処理装置、移動装置、および方法、並びにプログラム
CN201880061060.0A CN111108343A (zh) 2017-09-28 2018-09-20 信息处理装置、可移动装置、信息处理方法、可移动装置控制方法以及程序
PCT/JP2018/034753 WO2019065431A1 (en) 2017-09-28 2018-09-20 INFORMATION PROCESSING APPARATUS, MOBILE APPARATUS, INFORMATION PROCESSING METHOD, MOBILE APPARATUS CONTROL METHOD, AND PROGRAMS
EP18783146.6A EP3688411A1 (en) 2017-09-28 2018-09-20 Information processing apparatus, movable apparatus, information processing method, movable-apparatus control method, and programs
KR1020207007761A KR20200062193A (ko) 2017-09-28 2018-09-20 정보 처리 장치, 이동 장치, 정보 처리 방법, 이동 장치 제어 방법, 및 프로그램
US16/649,454 US20200278208A1 (en) 2017-09-28 2018-09-20 Information processing apparatus, movable apparatus, information processing method, movable-apparatus control method, and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017187481A JP6891753B2 (ja) 2017-09-28 2017-09-28 情報処理装置、移動装置、および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2019061603A true JP2019061603A (ja) 2019-04-18
JP6891753B2 JP6891753B2 (ja) 2021-06-18

Family

ID=63794580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017187481A Active JP6891753B2 (ja) 2017-09-28 2017-09-28 情報処理装置、移動装置、および方法、並びにプログラム

Country Status (6)

Country Link
US (1) US20200278208A1 (ja)
EP (1) EP3688411A1 (ja)
JP (1) JP6891753B2 (ja)
KR (1) KR20200062193A (ja)
CN (1) CN111108343A (ja)
WO (1) WO2019065431A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022504728A (ja) * 2019-09-26 2022-01-13 上▲海▼商▲湯▼智能科技有限公司 ポジショニング方法、経路決定方法、装置、ロボットおよび記憶媒体
WO2024157367A1 (ja) * 2023-01-24 2024-08-02 株式会社ソシオネクスト 情報処理装置、情報処理方法、及び情報処理プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2019142820A1 (ja) * 2018-01-18 2021-01-07 株式会社 ミックウェア 情報連携システム
EP4078089B1 (en) * 2019-12-18 2023-05-24 Telefonaktiebolaget Lm Ericsson (Publ) Localization using sensors that are tranportable with a device
US20210247774A1 (en) * 2020-02-10 2021-08-12 Shuhei Hotta Transport system and transport method
KR20220001396A (ko) * 2020-06-29 2022-01-05 김경식 3D LiDar를 이용한3D SLAM 포인트 클라우드와 데이터와 하이브리드 위치 정보를 결합한 머신 러닝 기반의 실내 지도 자동 생성 시스템
DE102021203641A1 (de) 2021-04-13 2022-10-13 Top Seven Gmbh & Co. Kg Verfahren, Fahrzeug, System und Computerprogramm zur Bestimmung und/oder Verbesserung einer Positionsschätzung eines Fahrzeugs

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050107953A1 (en) * 2003-11-18 2005-05-19 Binay Sugla Determining a location or position using information from multiple location and positioning technologies and applications using such a determined location or position
JP2007322138A (ja) * 2006-05-30 2007-12-13 Toyota Motor Corp 移動装置及び移動装置の自己位置推定方法
US20090164044A1 (en) * 2007-12-20 2009-06-25 Electronics And Telecommunications Research Institute Localiazation service framework for estimating robot position and method therefor
US20120299702A1 (en) * 2011-05-26 2012-11-29 Caterpillar Inc. Hybrid positioning system
US8818567B2 (en) * 2008-09-11 2014-08-26 Deere & Company High integrity perception for machine localization and safeguarding
WO2014176062A1 (en) * 2013-04-24 2014-10-30 Caterpillar Inc. Position identification system with multiple cross-checks
WO2016042545A1 (en) * 2014-09-16 2016-03-24 Israel Military Industries Ltd. Gps-aided inertial navigation method and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191689A (ja) 2013-03-28 2014-10-06 Hitachi Industrial Equipment Systems Co Ltd 移動体の走行制御手段に対して制御指令を出力する位置検出装置を取り付けた移動体及びその位置検出装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050107953A1 (en) * 2003-11-18 2005-05-19 Binay Sugla Determining a location or position using information from multiple location and positioning technologies and applications using such a determined location or position
JP2007322138A (ja) * 2006-05-30 2007-12-13 Toyota Motor Corp 移動装置及び移動装置の自己位置推定方法
US20090164044A1 (en) * 2007-12-20 2009-06-25 Electronics And Telecommunications Research Institute Localiazation service framework for estimating robot position and method therefor
US8818567B2 (en) * 2008-09-11 2014-08-26 Deere & Company High integrity perception for machine localization and safeguarding
US20120299702A1 (en) * 2011-05-26 2012-11-29 Caterpillar Inc. Hybrid positioning system
WO2014176062A1 (en) * 2013-04-24 2014-10-30 Caterpillar Inc. Position identification system with multiple cross-checks
WO2016042545A1 (en) * 2014-09-16 2016-03-24 Israel Military Industries Ltd. Gps-aided inertial navigation method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022504728A (ja) * 2019-09-26 2022-01-13 上▲海▼商▲湯▼智能科技有限公司 ポジショニング方法、経路決定方法、装置、ロボットおよび記憶媒体
WO2024157367A1 (ja) * 2023-01-24 2024-08-02 株式会社ソシオネクスト 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
KR20200062193A (ko) 2020-06-03
WO2019065431A1 (en) 2019-04-04
JP6891753B2 (ja) 2021-06-18
US20200278208A1 (en) 2020-09-03
CN111108343A (zh) 2020-05-05
EP3688411A1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
JP6891753B2 (ja) 情報処理装置、移動装置、および方法、並びにプログラム
US11822341B2 (en) Control device, control method, and mobile object to estimate the mobile object's self-position
US20200241549A1 (en) Information processing apparatus, moving apparatus, and method, and program
US11100675B2 (en) Information processing apparatus, information processing method, program, and moving body
CN111758017A (zh) 信息处理装置、信息处理方法、程序及移动体
WO2019181284A1 (ja) 情報処理装置、移動装置、および方法、並びにプログラム
WO2019098002A1 (ja) 情報処理装置、情報処理方法、プログラム、及び移動体
US20220180561A1 (en) Information processing device, information processing method, and information processing program
JP7180670B2 (ja) 制御装置、制御方法、並びにプログラム
WO2020116195A1 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
JPWO2019026714A1 (ja) 情報処理装置、および情報処理方法、プログラム、並びに移動体
JP7257737B2 (ja) 情報処理装置、自己位置推定方法、及び、プログラム
WO2019044571A1 (ja) 画像処理装置、および画像処理方法、プログラム、並びに移動体
WO2020116194A1 (ja) 情報処理装置、情報処理方法、プログラム、移動体制御装置、及び、移動体
US20240257508A1 (en) Information processing device, information processing method, and program
WO2021153176A1 (ja) 自律移動装置、自律移動制御方法、並びにプログラム
JP7544057B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
US20200230820A1 (en) Information processing apparatus, self-localization method, program, and mobile body
US20240069564A1 (en) Information processing device, information processing method, program, and mobile apparatus
US11366237B2 (en) Mobile object, positioning system, positioning program, and positioning method
JP2020056757A (ja) 情報処理装置および方法、プログラム、並びに移動体制御システム
US11906970B2 (en) Information processing device and information processing method
WO2019176278A1 (ja) 情報処理装置、情報処理方法、プログラム、及び移動体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201026

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210510

R151 Written notification of patent or utility model registration

Ref document number: 6891753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151