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

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

▶ パイオニア株式会社の特許一覧 ▶ パイオニアスマートセンシングイノベーションズ株式会社の特許一覧

特許7549129地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体
<>
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図1
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図2
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図3
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図4
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図5
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図6
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図7
  • 特許-地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】地図データ構造、記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体
(51)【国際特許分類】
   G01C 21/20 20060101AFI20240903BHJP
   G09B 29/00 20060101ALI20240903BHJP
【FI】
G01C21/20
G09B29/00 Z
【請求項の数】 9
(21)【出願番号】P 2023509930
(86)(22)【出願日】2021-03-29
(86)【国際出願番号】 JP2021013317
(87)【国際公開番号】W WO2022208617
(87)【国際公開日】2022-10-06
【審査請求日】2023-09-14
(73)【特許権者】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(73)【特許権者】
【識別番号】520001073
【氏名又は名称】パイオニアスマートセンシングイノベーションズ株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】幸田 健志
(72)【発明者】
【氏名】加藤 正浩
(72)【発明者】
【氏名】加藤 将大
(72)【発明者】
【氏名】後藤田 明
(72)【発明者】
【氏名】白鳥 邦雄
【審査官】西畑 智道
(56)【参考文献】
【文献】特開2017-164032(JP,A)
【文献】特開2020-059403(JP,A)
【文献】特開2008-224355(JP,A)
【文献】韓国登録特許第10-1633812(KR,B1)
【文献】特開2001-066984(JP,A)
【文献】特開2006-170920(JP,A)
【文献】国際公開第2016/189732(WO,A1)
【文献】特開2012-226675(JP,A)
【文献】特開2018-92546(JP,A)
【文献】米国特許出願公開第2013/0258806(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-21/36
G01C 23/00-25/00
G08G 1/00-99/00
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照する地図データ参照手段と、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する位置特定手段と、
を有する情報処理装置。
【請求項2】
計測装置が計測した前記構造物に関する計測データを取得する計測データ取得手段と、
前記計測データと、前記地図データとの照合結果に基づき、自己位置を推定する自己位置推定手段と、
をさらに有する、請求項に記載の情報処理装置。
【請求項3】
前記位置情報は、前記構造物が前記浮遊物であることを前記属性情報が示す場合に、高さ方向の位置が前記水面の高さ位置を基準とした相対位置を示しており、
前記位置特定手段は、前記属性情報が前記浮遊物であることを示す場合、前記位置情報が示す前記相対位置に対して、推定された絶対的な水面の高さ位置を加算することで前記構造物の高さ方向の絶対的な位置を特定する、請求項1または2に記載の情報処理装置。
【請求項4】
前記地図データは、単位領域であるボクセルごとの前記構造物の位置を表すボクセルデータであり、
前記位置情報及び前記属性情報は、ボクセルごとに設けられる、請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記位置情報は、前記ボクセルごとの代表位置を示すボクセル座標又は前記ボクセルごとの計測された前記構造物の位置の平均ベクトルの少なくとも一方である、請求項に記載の情報処理装置。
【請求項6】
前記地図データは、単位領域であるボクセルごとの前記構造物の位置を表すボクセルデータであり、
前記位置情報及び前記属性情報は、ボクセルごとに設けられ、
前記自己位置推定手段は、前記属性情報が前記浮遊物であることを示す場合、前記位置情報を前記相対的な位置情報とみなして補正した前記ボクセルごとの前記構造物の絶対的な位置と、計測装置から取得した計測データに基づく前記構造物の絶対的な位置との照合結果に基づき、自己位置を推定する、請求項に記載の情報処理装置。
【請求項7】
情報処理装置が実行する制御方法であって、
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照し、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する、
制御方法。
【請求項8】
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照し、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する処理をコンピュータに実行させるプログラム。
【請求項9】
請求項に記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、地図データのデータ構造及び地図データに基づく処理に関する。
【背景技術】
【0002】
従来から、レーザスキャナなどの計測装置を用いて計測した周辺物体の形状データを、予め周辺物体の形状が記憶された地図情報と照合(マッチング)することで、移動体の自己位置を推定する技術が知られている。例えば、特許文献1には、空間を所定の規則で分割したボクセル中における検出物が静止物か移動物かを判定し、静止物が存在するボクセルを対象として地図情報と計測データとのマッチングを行う自律移動システムが開示されている。また、特許文献2には、ボクセル毎の静止物体の平均ベクトルと共分散行列とを含むボクセルデータとライダが出力する点群データとの照合により自己位置推定を行うスキャンマッチング手法が開示されている。さらに、特許文献3には、船舶の自動着岸を行う自動着岸装置において、ライダから照射される光が着岸位置の周囲の物体に反射してライダにより受光できるように、船舶の姿勢を変化させる制御を行う手法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開WO2013/076829
【文献】国際公開WO2018/221453
【文献】特開2020-59403号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
水面に浮かぶ浮桟橋などの浮遊物の位置を地図データに含め、自動着桟時に地図データを参照して桟橋に対する自船の位置・姿勢を推定することが考えられる。この場合、地図データ生成のための浮遊物の計測時の潮位と、地図データを参照するときの潮位とが異なると、地図データを参照して特定した浮遊物の位置に誤差が生じるという課題がある。
【0005】
本開示は、上記のような課題を解決するためになされたものであり、浮遊物の位置を好適に特定可能な地図データ構造、及び、当該地図データ構造を有する地図データに関する記憶装置、情報処理装置、制御方法、プログラム及び記憶媒体を提供することを主な目的とする。
【課題を解決するための手段】
【0006】
請求項に記載の発明は、
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照する地図データ参照手段と、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する位置特定手段と、
を有する情報処理装置である。
また、請求項に記載の発明は、
情報処理装置が実行する制御方法であって、
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照し、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する、
制御方法である。
また、請求項に記載の発明は、
構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、をデータ構造として有する地図データを参照し、
前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する処理をコンピュータに実行させるプログラムである。
【図面の簡単な説明】
【0007】
図1】運転支援システムの概略構成図である。
図2】情報処理装置のハードウェア構成の一例を示すブロック図である。
図3】自己位置推定部が推定すべき自己位置を3次元直交座標で表した図である。
図4】ボクセルデータの概略的なデータ構造の一例を示す。
図5】固定岸壁に設けられた浮桟橋の状態を表す図である。
図6】ボクセルデータの詳細なデータ構造の一例を示す。
図7】自己位置推定部の機能ブロックの一例である。
図8】自己位置推定処理の手順を示すフローチャートの一例である。
【発明を実施するための形態】
【0008】
本発明の好適な実施形態によれば、情報処理装置が参照する地図データのデータ構造である地図データ構造であって、構造物の位置を示す位置情報と、前記構造物が水面に対する浮遊物であるか否かを示す属性情報と、を有し、前記属性情報は、当該属性情報が前記浮遊物であることを示す場合、前記情報処理装置が、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する処理に用いられる、地図データ構造である。地図データは、このようなデータ構造を備えることで、当該地図データを参照する情報処理装置が潮位の変化に依らずに適切に水面に浮かぶ浮遊物の位置を特定可能な態様により、浮遊物の位置情報を好適に格納することができる。
【0009】
上記地図データ構造の一態様では、前記位置情報は、前記構造物が前記浮遊物であることを前記属性情報が示す場合に、高さ方向の位置が前記水面の高さ位置を基準とした相対位置を示しており、前記属性情報は、当該属性情報が前記浮遊物であることを示す場合、前記情報処理装置が、前記位置情報が示す前記相対位置に対して、推定された絶対的な水面の高さ位置を加算することで前記構造物の高さ方向の絶対的な位置を特定する処理に用いられる。地図データは、この態様のデータ構造を有することで、地図データを参照する情報処理装置が浮遊物の絶対的な位置を特定することができるように、浮遊物の位置情報を好適に格納することができる。
【0010】
上記地図データ構造の他の一態様では、前記地図データは、単位領域であるボクセルごとの前記構造物の位置を表すボクセルデータであり、前記位置情報及び前記属性情報は、ボクセルごとに設けられる。このように、地図データ構造は、ボクセルデータに好適に適用される。好適な例では、前記位置情報は、前記ボクセルごとの代表位置を示すボクセル座標又は前記ボクセルごとの計測された前記構造物の位置の平均ベクトルの少なくとも一方である。
【0011】
上記地図データ構造の他の一態様では、前記属性情報は、当該属性情報が前記浮遊物であることを示す場合、前記情報処理装置が、前記位置情報を前記相対的な位置情報とみなして補正した前記ボクセルごとの前記構造物の絶対的な位置と、前記情報処理装置が計測装置から取得した計測データに基づく前記構造物の絶対的な位置との照合結果に基づき、前記情報処理装置の自己位置を推定する処理に用いられる。地図データは、この態様のデータ構造を有することで、計測装置から取得した浮遊物を含む構造物の計測データに基づき情報処理装置が自己位置推定を行う場合に、自己位置推定を高精度に実行させることができる。
【0012】
本発明の他の好適な実施形態によれば、記憶装置は、上記記載のデータ構造を有する地図データを記憶する。この場合、記憶装置は、当該記憶装置が記憶する地図データを参照する情報処理装置に対し、潮位の変化に依らずに適切に水面に浮かぶ浮遊物の位置を特定させることができる。
【0013】
本発明のさらに別の実施形態によれば、情報処理装置は、上記記載のデータ構造を有する地図データを参照する地図データ参照手段と、前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する位置特定手段と、を有する。この態様により、情報処理装置は、地図データを参照し、浮遊物の位置を的確に特定することができる。
【0014】
上記情報処理装置の一態様では、情報処理装置は、計測装置が計測した前記構造物に関する計測データを取得する計測データ取得手段と、前記計測データと、前記地図データとの照合結果に基づき、自己位置を推定する自己位置推定手段と、をさらに有する。この態様によれば、情報処理装置は、地図データを参照し、浮遊物等を基準とした自己位置推定を好適に実行することができる。
【0015】
本発明の他の好適な実施形態によれば、情報処理装置が実行する制御方法であって、上記記載のデータ構造を有する地図データを取得し、前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する。情報処理装置は、この制御方法を実行することで、地図データを参照して浮遊物の位置を的確に特定することができる。
【0016】
本発明の他の好適な実施形態によれば、プログラムは、上記記載のデータ構造を有する地図データを取得し、前記地図データにおいて参照した構造物の位置情報に対応する属性情報が浮遊物であることを示す場合、前記位置情報を、水面位置を基準とする相対的な位置情報とみなして前記構造物の位置を特定する処理をコンピュータに実行させる。コンピュータは、このプログラムを実行することで、地図データを参照して浮遊物の位置を的確に特定することができる。好適には、上記プログラムは、記憶媒体に記憶される。
【実施例
【0017】
以下、図面を参照して本発明の好適な実施例について説明する。なお、任意の文字「A」の上に任意の記号「x」が付された文字を、本明細書では便宜上、「A」と表す。
【0018】
(1)運転支援システムの概要
図1は、本実施例に係る運転支援システムの概略構成である。運転支援システムは、移動体である船舶と共に移動する情報処理装置1と、当該船舶に搭載されたセンサ群2とを有する。以後では、情報処理装置1と共に移動する船舶を「対象船舶」とも呼ぶ。
【0019】
情報処理装置1は、センサ群2と電気的に接続し、センサ群2に含まれる各種センサの出力に基づき、情報処理装置1が設けられた対象船舶の位置(「自己位置」とも呼ぶ。)の推定を行う。そして、情報処理装置1は、自己位置の推定結果に基づき、対象船舶の自動運転制御等の運転支援を行う。運転支援には、自動着岸などの着岸支援も含まれる。ここで、「着岸」とは、岸壁に対象船舶を着ける場合の他、桟橋等の構造体に対象船舶を着ける場合も含まれる。情報処理装置1は、対象船舶に設けられたナビゲーション装置であってもよく、船舶に内蔵された電子制御装置であってもよい。
【0020】
また、情報処理装置1は、ボクセルデータ「VD」を含む地図データベース(DB:DataBase)10を記憶する。ボクセルデータVDは、3次元空間の最小単位となる立方体(正規格子)を示すボクセルごとに静止構造物の位置情報等を記録したデータである。ボクセルデータVDは、各ボクセル内の静止構造物の計測された点群データを正規分布により表したデータを含み、後述するように、NDT(Normal Distributions Transform)を用いたスキャンマッチングに用いられる。情報処理装置1は、NDTスキャンマッチングにより、例えば、対象船舶の平面上の位置、高さ位置、ヨー角、ピッチ角及びロール角の推定を行う。なお、特に言及がない限り、自己位置は、対象船舶のヨー角などの姿勢角も含まれるものとする。
【0021】
センサ群2は、対象船舶に設けられた種々の外界センサ及び内界センサを含んでいる。本実施例では、センサ群2は、ライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)3と、対象船舶の速度を検出する速度センサ4と、GNSS(Global Navigation Satellite System)受信機5と、3軸方向における対象船舶の加速度及び角速度を計測する慣性計測装置(IMU:Inertial Measurement Unit)6とを含んでいる。
【0022】
ライダ3は、水平方向および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群データを生成する。この場合、ライダ3は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータである点群データを出力する出力部とを有する。計測点は、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光の応答遅延時間とに基づき生成される。なお、一般的に、対象物までの距離が近いほどライダの距離測定値の精度は高く、距離が遠いほど精度は低い。ライダ3は、本発明における「計測装置」の一例である。速度センサ4は、例えば、ドップラーを利用した速度計であってもよく、GNSSを利用した速度計であってもよい。さらには、速度センサ4は、ライダ3によって計測した距離情報の変化に基づく速度計であってもよい。
【0023】
(2)情報処理装置の構成
図2は、情報処理装置1のハードウェア構成の一例を示すブロック図である。情報処理装置1は、主に、インターフェース11と、メモリ12と、コントローラ13と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0024】
インターフェース11は、情報処理装置1と外部装置とのデータの授受に関するインターフェース動作を行う。本実施例では、インターフェース11は、ライダ3、速度センサ4、GNSS受信機5及びIMU6などのセンサ群2の各センサから出力データを取得し、コントローラ13へ供給する。また、インターフェース11は、例えば、コントローラ13が生成した対象船舶の制御に関する信号を、対象船舶の運転を制御する対象船舶の各構成要素に供給する。例えば、対象船舶は、エンジンや電気モータなどの駆動源と、駆動源の駆動力に基づき進行方向の推進力を生成するスクリューと、駆動源の駆動力に基づき横方向の推進力を生成するスラスターと、船舶の進行方向を自在に定めるための機構である舵等とを備える。そして、自動着岸などの自動運転時には、インターフェース11は、コントローラ13が生成した制御信号を、これらの各構成要素に供給する。なお、対象船舶に電子制御装置が設けられている場合には、インターフェース11は、当該電子制御装置に対し、コントローラ13が生成した制御信号を供給する。インターフェース11は、無線通信を行うためのネットワークアダプタなどのワイヤレスインターフェースであってもよく、ケーブル等により外部装置と接続するためのハードウェアインターフェースであってもよい。また、インターフェース11は、入力装置、表示装置、音出力装置等の種々の周辺装置とのインターフェース動作を行ってもよい。
【0025】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクドライブ、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。メモリ12は、コントローラ13が所定の処理を実行するためのプログラムが記憶される。なお、コントローラ13が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
【0026】
また、メモリ12は、ボクセルデータVDを含む地図DB10を記憶する。地図DB10には、ボクセルデータVDの他、例えば、着岸場所(岸、桟橋を含む)に関する情報、船舶が移動可能な水路に関する情報などが含まれている。なお、地図DB10は、インターフェース11を介して情報処理装置1と接続されたハードディスクなどの情報処理装置1の外部の記憶装置に記憶されてもよい。上記の記憶装置は、情報処理装置1と通信を行うサーバ装置であってもよい。また、上記の記憶装置は、複数の装置から構成されてもよい。また、地図DB10は、定期的に、あるいは必要なタイミングで更新されてもよい。この場合、例えば、コントローラ13は、インターフェース11を介し、地図情報を管理するサーバ装置から、自己位置が属するエリアに関する部分地図情報を受信し、地図DB10に反映させる。
【0027】
また、メモリ12には、地図DB10の他、本実施例において情報処理装置1が実行する処理に必要な情報が記憶される。例えば、メモリ12には、ライダ3が1周期分の走査を行った場合に得られる点群データに対してダウンサンプリングを行う場合のダウンサンプリングのサイズの設定に用いられる情報等が記憶される。
【0028】
コントローラ13は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などの1又は複数のプロセッサを含み、情報処理装置1の全体を制御する。この場合、コントローラ13は、メモリ12等に記憶されたプログラムを実行することで、自己位置推定及び運転支援等に関する処理を行う。
【0029】
また、コントローラ13は、機能的には、自己位置推定部15を有する。そして、コントローラ13は、「地図データ参照手段」、「位置特定手段」、「自己位置推定手段」、及びプログラムを実行するコンピュータ等として機能する。
【0030】
自己位置推定部15は、ライダ3の出力に基づく点群データと、当該点群データが属するボクセルに対応するボクセルデータVDとに基づき、NDTに基づくスキャンマッチング(NDTスキャンマッチング)を行うことで、自己位置の推定を行う。ここで、自己位置推定部15による処理対象となる点群データは、ライダ3が生成した点群データであってもよく、当該点群データをダウンサンプリング処理した後の点群データであってもよい。
【0031】
(3)NDTスキャンマッチング
次に、自己位置推定部15が実行するNDTスキャンマッチングに基づく位置推定に関する説明を行う。
【0032】
(3-1)自己位置
図3は、自己位置推定部15が推定すべき自己位置を3次元直交座標で表した図である。図3に示すように、xyzの3次元直交座標上で定義された平面での自己位置は、座標「(x、y、z)」、対象船舶のロール角「φ」、ピッチ角「θ」、ヨー角(方位)「ψ」により表される。ここでは、ロール角φは、対象船舶の進行方向を軸とした回転角、ピッチ角θは、xy平面に対する対象船舶の進行方向の仰角、ヨー角ψは、対象船舶の進行方向とx軸とのなす角として定義されている。座標(x、y、z)は、運転支援システムにおいて一意に位置を特定可能な絶対的な座標(「ワールド座標」とも呼ぶ。)であり、例えば緯度、経度、標高の組合せに相当する位置、UTM(Universal Transverse Mercator)座標系に基づく位置、その他、所定地点を原点とした位置を示す。そして、自己位置推定部15は、これらのx、y、z、φ、θ、ψを推定パラメータとする自己位置推定を行う。
【0033】
(3-2)ボクセルデータのデータ構造
次に、NDTスキャンマッチングに用いるボクセルデータVDのデータ構造について説明する。ボクセルデータVDは、各ボクセル内の静止構造物の計測された点群データを正規分布により表したデータを含む。
【0034】
図4は、ボクセルデータVDの概略的なデータ構造の一例を示す。ボクセルデータVDは、ボクセル内の点群を正規分布で表現する場合のパラメータの情報と、属性情報とを含み、本実施例では、図4に示すように、ボクセルIDと、ボクセル座標と、平均ベクトルと、共分散行列と、属性情報と、を含む。
【0035】
「ボクセル座標」は、各ボクセルの中心位置などの代表位置の絶対的な3次元座標を示す。なお、各ボクセルは、空間を格子状に分割した立方体であり、予め形状及び大きさが定められているため、ボクセル座標により各ボクセルの空間を特定することが可能である。ボクセル座標は、ボクセルIDとして用いられてもよい。また、本実施例では、高さ方向の位置を示すz座標値については、後述する属性情報が水面に浮かぶ浮遊物であることを示す場合には、水面位置を基準とする相対的な座標値(「水面基準座標値」とも呼ぶ。)となる。「ボクセル座標」は、本発明における「構造物の位置を示す位置情報」の一例である。
【0036】
「平均ベクトル」及び「共分散行列」は、対象のボクセル内での点群を正規分布で表現する場合のパラメータに相当する平均ベクトル及び共分散行列を示す。なお、平均ベクトルは、ボクセル内でのローカル座標系における平均ベクトルであってもよく、ワールド座標系における平均ベクトルであってもよい。なお、「平均ベクトル」がワールド座標系により表されることになっている場合であっても、属性情報が水面に浮かぶ浮遊物であることを示す場合には、「ボクセル座標」と同様、「平均ベクトル」のz座標値は水面基準座標値となる。この場合、「平均ベクトル」は、本発明における「構造物の位置を示す位置情報」の一例である。
【0037】
「属性情報」は、対象のボクセルの属性を表す情報であり、本実施例では、少なくとも、対象のボクセル内でのデータが浮桟橋などの水面に浮かぶ浮遊物であるか否かを示す。そして、「属性情報」が浮遊物であることを示す場合、対応する「ボクセル座標」のz座標値は、水面基準座標値となり、「属性情報」が浮遊物でないことを示す場合、対応する「ボクセル座標」のz座標値は、ワールド座標系の座標値(「絶対座標値」とも呼ぶ。)となる。
【0038】
「属性情報」は、NDTスキャンマッチングにおいて、対象のボクセルの絶対的な高さ位置を情報処理装置1が特定する処理に好適に用いられる。具体的には、「属性情報」が浮遊物であることを示す場合、ボクセルデータVDを参照する情報処理装置1は、「ボクセル座標」のz座標値である水面基準座標値と、ワールド座標系における水面位置のz座標値とに基づき、対象のボクセルの絶対座標値(=水面位置のz座標値+「ボクセル座標」のz座標値)を認識する。同様に、「平均ベクトル」がワールド座標系により表されることになっている場合においても、情報処理装置1は、「属性情報」が浮遊物であることを示す場合には、ワールド座標系における水面位置のz座標値に基づき、対象のボクセルの平均ベクトルのz座標値を絶対座標値(=水面位置のz座標値+「平均ベクトル」のz座標値)に変換する。
【0039】
ここで、「属性情報」をボクセルデータVDに設けることの効果について補足説明する。
【0040】
自動着桟を行う際、桟橋に対する自船の位置・姿勢を、ボクセルデータVDとライダ3の点群データとを照合するNDTマッチングにより推定することで、適切な着桟制御が可能になる。しかしながら、水面に浮かぶ浮桟橋などの浮遊物をボクセルデータVDとしてデータ化する場合、データ計測時の潮位によって、生成される浮遊物の高さ情報が固定物に対して相対的に変化してしまうという課題がある。
【0041】
図5(A)は、ボクセルデータVDを生成するためのデータ計測時において固定岸壁8に設けられた浮桟橋9の状態を表す図であり、図5(B)は、ボクセルデータVDを参照したNDTスキャンマッチング時において固定岸壁8に設けられた浮桟橋9の状態を表す図である。図5(A)及び図5(B)に示すように、ボクセルデータVDを参照したNDTスキャンマッチング時での潮位は、ボクセルデータVDを生成するためのデータ計測時での潮位より低くなっている。その結果、水面に浮いている浮桟橋9の高さ方向の絶対位置は、ボクセルデータVDを生成するためのデータ計測時での高さ方向の絶対位置と異なっている。従って、図5(B)の状態でNDTスキャンマッチングを行うと、周辺の固定物である固定岸壁8と浮桟橋9とのボクセルデータVDにおける高さ情報が整合せず、自己位置推定の精度が低下してしまう。
【0042】
以上を勘案し、本実施例に係るボクセルデータVDは、対象のボクセル内でのデータが浮桟橋などの水面に浮かぶ浮遊物であるか否かを示す属性情報を有する。これにより、情報処理装置1は、ボクセルデータVDを参照してNDTスキャンマッチングを行う場合に、浮遊物に対応するボクセルのz座標値を、水面位置を基準として適切に設定し、自己位置推定を高精度に実行することができる。
【0043】
図6は、ボクセルデータVDの詳細なデータ構造の一例を示す。図6に示すように、ボクセルデータVDは、ヘッダ情報を格納する項目「Header」及び本体情報を格納する項目「Body」を有する。
【0044】
項目「Header」は、第1サブ項目として、ボクセルデータVDのバージョンを示す「Format Version」、地図のタイプを示す「Map Type」(ここではNDT地図を示す「ndt」に設定)、対象のボクセルデータVDとしてデータ化された領域を示す「Map Region」、対象のボクセルデータVDの属性を示す「Attribute」を含む。また、第1サブ項目「Attribute」は、データが存在するボクセル数を示す第2サブ項目「Num of Voxels」(ここでは「M」個)を少なくとも含んでいる。
【0045】
項目「Body」は、第1サブ項目として、ボクセル(ここでは第1ボクセル~第Mボクセル)ごとのデータを格納する「Voxel #1」~「Voxel #M」を有する。また、第1サブ項目「Voxel #1」~「Voxel #M」の各々には、第2サブ項目として、対象のボクセルの大きさを示す「Voxel Size」、対象のボクセルの属性情報を格納する「Voxel Attribute」、対象のボクセルの絶対的な中心位置の座標を格納する「Center Position」、対象のボクセルに対するパラメータを格納する「NDT Parameters」が少なくとも含まれている。また、第2サブ項目「NDT Parameters」には、第3サブ項目として、反射強度の値域を示す「Intensity Range」、平均ベクトルを格納する「Mean Vector」、共分散行列を格納する「Covariance Matrix」、固有ベクトルを格納する「Eigen Vector」が少なくとも含まれている。
【0046】
ここで、は、図5における「属性情報」に相当する情報を格納する。この場合、例えば、「Voxel Attribute」は、対象のボクセルが浮遊物に対応する場合に「1」となり、その他の場合に「0」となる2値情報を格納するものであってもよい。他の例では、「Voxel Attribute」は、対象のボクセルが浮遊物に対応する場合に対象のボクセルが浮遊物であることを表す識別情報(例えば「Float」等)を格納するものであってもよい。
【0047】
なお、図5における「属性情報」に相当する情報を、各ボクセルの属性データ(図6の例では「Voxel Attribute」)として付与する方法以外の例として、浮遊物が存在する凸包領域の情報を示すフィールドをHeader部(図6では「Header」)に設けるようにしてもよい。このとき、凸包領域は、例えば座標の点列で指定される。その場合、情報処理装置1は、浮遊物が存在する領域として指定された凸包領域内に存在する地図データ(ボクセルデータに限らない)のz座標を水面基準座標値として扱う。このようなデータ構造を地図データに採用した場合であっても、図6に示されるデータ構造を採用した場合と同様の効果が得られる。
【0048】
また、「Center Position」は、図5における「ボクセル座標」に相当する情報を格納する。この場合、「Voxel Attribute」が浮遊物であることを示す場合、対応する「Center Position」が示すz座標値は、水面基準座標値となり「Voxel Attribute」が浮遊物でないことを示す場合、対応する「Center Position」が示すz座標値は、絶対座標値となる。また、「Mean Vector」、「Covariance Matrix」は、夫々、図5における「平均ベクトル」、「共分散行列」に夫々相当する情報を格納する。なお、「Mean Vector」がワールド座標系での平均ベクトルを格納することになっている場合、「Center Position」と同様、「Mean Vector」のz座標値は水面基準座標値又は絶対座標値となる。具体的には、「Mean Vector」が示すz座標値は、「Voxel Attribute」が浮遊物を示す場合に水面基準座標値となり、「Voxel Attribute」が浮遊物でないことを示す場合に絶対座標値となる。
【0049】
(3-3)NDTスキャンマッチングの概要
次に、ボクセルデータVDを用いたNDTスキャンマッチングの概要について説明する。
【0050】
船舶を想定したNDTによるスキャンマッチングは、水平面(ここではxy座標とする)内の移動量及び船舶の向きを要素とした推定パラメータ
P=[t、t、t、tφ、tθ、tψ
を推定することとなる。ここで、「t」はx方向の移動量、「t」はy方向の移動量、「t」はz方向の移動量、「tφ」はロール角、「tθ」はピッチ角、「tψ」はヨー角を示す。
【0051】
また、ライダ3が出力する点群データの座標を、
(j)=[x(j)、y(j)、z(j)]
とする(「j」は、点群データを構成する各計測点のインデックス)と、X(j)のボクセル「n」(n=1~M)ごとの平均値「L´」は、以下の式(1)により表される。
【0052】
【数1】
ここでは、ボクセルnには、N個の計測点が存在するものとしている。そして、上述の推定パラメータPを用い、平均値L´を公知の座標変換処理に基づき座標変換する。以後では、変換後の座標を「L」とする。
【0053】
そして、自己位置推定部15は、地図DB10と同一の座標系である絶対的な座標系(「ワールド座標系」とも呼ぶ。)に変換した点群データに対応するボクセルデータVDを抽出する。ここで、抽出したボクセルデータVDに基づくボクセルnの平均ベクトルを「μ」とし、抽出したボクセルデータVDに基づくボクセルnの共分散行列を「V」とする。なお、ボクセルnが浮遊物であることを示す属性情報と紐づいている場合には、自己位置推定部15は、ボクセルデータVDに基づくボクセルnのz座標値が水面基準座標値により表されているとみなし、ボクセルデータVDに基づくボクセルnの平均ベクトルμのz座標値に、ワールド座標系における水面位置のz座標値を加算する。
【0054】
そして、自己位置推定部15は、平均ベクトルμと共分散行列Vとを用い、ボクセルnの評価関数値(「個別評価関数値」とも呼ぶ。)「E」を算出する。この場合、自己位置推定部15は、以下の式(2)に基づき、ボクセルnの個別評価関数値Eを算出する。
【0055】
【数2】
【0056】
そして、自己位置推定部15は、以下の式(3)により示される、マッチングの対象となる全てのボクセルを対象とした総合的な評価関数値(「スコア値」とも呼ぶ。)「E(k)」を算出する。スコア値Eは、マッチングの適合度を示す指標となる。
【0057】
【数3】
その後、自己位置推定部15は、ニュートン法などの任意の求根アルゴリズムによりスコア値E(k)が最大となるとなる推定パラメータPを算出する。そして、自己位置推定部15は、時刻kにおいてデッドレコニングにより算出した位置(「DR位置」とも呼ぶ。)「XDR(k)」に対し、推定パラメータPを適用することで、NDTスキャンマッチングに基づく自己位置(「NDT位置」とも呼ぶ。)「XNDT(k)」を算出する。ここで、DR位置XDR(k)は、推定自己位置X^(k)の算出前の暫定的な自己位置に相当し、予測自己位置「X(k)」とも表記する。この場合、NDT位置XNDT(k)は、以下の式(4)により表される。
【0058】
【数4】
そして、自己位置推定部15は、NDT位置XNDT(k)を、現在の処理時刻kでの最終的な自己位置の推定結果(「推定自己位置」とも呼ぶ。)「X^(k)」とみなす。
【0059】
(3-4)機能ブロック
図7は、自己位置推定部15の機能ブロックの一例である。図7に示すように、自己位置推定部15は、デッドレコニングブロック21と、座標変換ブロック22と、水面位置推定ブロック23と、水面反射データ除去ブロック24と、高さ方向処理ブロック25と、NDT位置算出ブロック26とを有する。
【0060】
デッドレコニングブロック21は、センサ群2が出力する信号に基づき、DR位置の算出を行う。具体的には、デッドレコニングブロック21は、速度センサ4及びIMU6等の出力に基づく対象船舶の移動速度と角速度を用い、前回時刻からの移動距離と方位変化を求める。そして、デッドレコニングブロック21は、現在の処理時刻kに対する直前の処理時刻である時刻k-1の推定自己位置X(k-1)に対し、前回時刻からの移動距離と方位変化を加えた時刻kでのDR位置XDR(k)を算出する。このDR位置XDR(k)は、デッドレコニングに基づき時刻kにおいて求められた自己位置であり、予測自己位置X(k)に相当する。なお、自己位置推定開始直後であって、時刻k-1の推定自己位置X(k-1)が存在しない場合等には、デッドレコニングブロック21は、例えば、GNSS受信機5が出力する信号に基づき、DR位置XDR(k)を定める。
【0061】
座標変換ブロック22は、ライダ3の出力に基づく点群データを、地図DB10と同一の座標系であるワールド座標系に変換する。この場合、座標変換ブロック22は、例えば、時刻kでデッドレコニングブロック21が出力する予測自己位置に基づき、時刻kでの点群データの座標変換を行う。なお、移動体(本実施例では船舶)に設置されたライダを基準とした座標系の点群データを移動体の座標系に変換する処理、及び移動体の座標系からワールド座標系に変換する処理等については、例えば、国際公開WO2019/188745などに開示されている。
【0062】
水面位置推定ブロック23は、水面高さ位置の推定を行う。例えば、水面位置推定ブロック23は、水面位置を計測したデータ(「水面位置データ」とも呼ぶ。)を、座標変換ブロック22が出力する点群データから抽出し、抽出した水面位置データに基づき、水面高さ位置を推定する。この場合、まず、水面位置推定ブロック23は、対象船舶が岸から所定距離以上離れている場合に取得された点群データのうち、対象船舶の位置から所定距離(上述の所定距離より短い距離)以内の位置を示すデータを、水面位置データとして抽出する。次に、水面位置推定ブロック23は、抽出した水面位置データの計測点ごとの各データが表すz方向の位置(z座標値)の平均値等を、ワールド座標系における水面位置のz座標値として推定する。
【0063】
なお、水面位置推定ブロック23は、水面位置を点群データに基づき推定する代わりに、水面位置の絶対的な高さに関する情報を提供するサーバ装置から当該水面位置の高さに関する情報を取得し、取得した情報に基づき、水面位置の絶対的なz座標値を特定してもよい。例えば、気象庁等が提供している潮位情報を取得することで,水面高さ位置を把握することが可能となる。
【0064】
水面反射データ除去ブロック24は、座標変換ブロック22から供給される点群データのうち、水面位置推定ブロック23が推定した水面高さ位置よりも下方(同一高さを含む、以下同じ。)の位置(即ちz座標値が同一又は低い位置)を表すデータを水面反射データと判定し、判定した水面反射データを点群データから除去する。なお、好適には、水面反射データ除去ブロック24は、水面位置推定ブロック23が抽出した水面位置データについても水面反射データとみなし、NDT位置算出ブロック26に供給すべき点群データから除外するとよい。
【0065】
高さ方向処理ブロック25は、NDT位置算出ブロック26がNDTスキャンマッチングにおいて使用するボクセルデータVDの各ボクセルの高さ方向の位置に関する処理を行う。具体的には、水面反射データ除去ブロック24は、図4における「属性情報」(又は図6における「Voxel Attribute」)が浮遊物を示すボクセルである場合には、当該ボクセルのz座標値が水面基準座標値により表されているとみなし、当該z座標値に、水面位置推定ブロック23が推定したワールド座標系における水面位置のz座標値を加算する。例えば、高さ方向処理ブロック25は、浮遊物を示すボクセルの場合に、平均ベクトルμのz座標値を水面高さ位置に基づき補正し、補正後の平均ベクトルμをNDT位置算出ブロック26に供給する。
【0066】
NDT位置算出ブロック26は、水面反射データ除去ブロック24から供給される水面反射データ除去後の点群データに基づいてNDT位置を算出する。この場合、NDT位置算出ブロック26は、水面反射データ除去ブロック24から供給されるワールド座標系の点群データと、ワールド座標系で表されたボクセルデータVDとを照合することで、点群データとボクセルとの対応付けを行う。この場合、ボクセルデータVDのz座標値(式(2)では平均ベクトルμのz座標値)は、水面高さ位置に基づき高さ方向処理ブロック25により水面基準座標値から絶対座標値に変換されている。そして、NDT位置算出ブロック26は、点群データと対応付けがなされた各ボクセルを対象として、式(2)に基づく個別評価関数値Eを算出し、式(3)に基づくスコア値E(k)が最大となるとなる推定パラメータPを算出する。そして、NDT位置算出ブロック26は、式(4)に基づき、デッドレコニングブロック21が出力するDR位置XDR(k)に対し、時刻kで求めた推定パラメータPを適用することで定まる時刻kでのNDT位置XNDT(k)を求める。NDT位置算出ブロック26は、NDT位置XNDT(k)を、時刻kでの推定自己位置X^(k)として出力する。
【0067】
(3-5)処理フロー
図8は、情報処理装置1の自己位置推定部15が実行する自己位置推定処理の手順を示すフローチャートの一例である。自己位置推定部15は、図8のフローチャートの処理を、電源がオンになった場合など、自己位置推定を行う必要が生じた場合に開始する。
【0068】
まず、自己位置推定部15は、自己位置推定処理の開始直後において、GNSS受信機5が出力するデータに基づくGNSS測位結果から予測自己位置を算出する(ステップS11)。
【0069】
次に、自己位置推定部15は、速度センサ4とIMU6等に基づき検出した対象船舶の移動速度及び角速度と、前回の推定自己位置とから、デッドレコニングを実行し、予測自己位置となるDR位置XDRを算出する(ステップS12)。次に、自己位置推定部15は、ライダ3の出力に基づく点群データを、ワールド座標系の点群データに変換する(ステップS13)。
【0070】
次に、自己位置推定部15は、水面位置(詳しくは水面高さ位置)を推定する(ステップS14)。この場合、自己位置推定部15は、例えば、ステップS13でワールド座標系に変換した点群データから水面位置データを抽出し、抽出した水面位置データのz方向の平均に基づき、水面高さ位置を推定する。なお、自己位置推定部15は、この場合、複数フレームでの水面位置データ(即ちライダ3の直近の複数周期にわたる走査により得られた水面位置データ)を収集し、収集した水面位置データに基づき、水面高さ位置を推定してもよい。そして、自己位置推定部15は、推定した水面位置よりも下方に位置するデータを、水面反射データと判定し、水面反射データを、NDT処理対象の点群データから除去する(ステップS15)。
【0071】
次に、自己位置推定部15は、NDTスキャンマッチングに使用するボクセルに対応するボクセルデータVDを抽出する(ステップS16)。この場合、自己位置推定部15は、例えば、xy平面においてDR位置から所定距離(例えばライダ3の測距可能距離)以内に存在するボクセルに対応するボクセルデータVDを地図DB10から抽出する。
【0072】
そして、自己位置推定部15は、浮遊物と紐づく属性のボクセルが存在するか否か判定する(ステップS17)。そして、自己位置推定部15は、浮遊物と紐づく属性のボクセルが存在する場合(ステップS17;Yes)、対象のボクセルについて、ステップS14で推定した水面高さ位置に基づきz座標値を補正する(ステップS18)。これにより、自己位置推定部15は、浮遊物と紐づく属性のボクセルについて、水面基準座標値で表されたz座標値を絶対座標値に変換する。
【0073】
そして、自己位置推定部15は、ステップS12で算出したDR位置XDRを初期値として、ワールド座標系の点群データと、ステップS16で抽出されたボクセルデータ(ステップ18でz座標値が補正されたものを含む)とに基づき、NDTスキャンマッチングによる自己位置推定を行う(ステップS19)。これにより、自己位置推定部15は、推定自己位置X^とするNDT位置XNDTを算出する。
【0074】
次に、自己位置推定部15は、自己位置推定処理を終了すべきか否か判定する(ステップS20)。そして、自己位置推定部15は、自己位置推定処理を終了すべきと判定した場合(ステップS20;Yes)、フローチャートの処理を終了する。一方、自己位置推定部15は、自己位置推定処理を継続する場合(ステップS20;No)、ステップS12へ処理を戻し、ステップS19で算出した推定自己位置X^を用いて、次の処理時刻での自己位置の推定を行う。
【0075】
(4)変形例
以下、上述の実施例に好適な変形例について説明する。以下の変形例は、組み合わせてこれらの実施例に適用してもよい。
【0076】
(変形例1)
情報処理装置1は、点群データからの水面反射データの除去に加えて、水面位置より(高さ方向において)下に位置するボクセルのボクセルデータVDを、NDTスキャンマッチングにおける点群データとの対応付けの対象から除外してもよい。
【0077】
ここで、その推定した水面位置より下方に存在するボクセルは水面下にあるため,自己位置推定の対象にはならない。以上を勘案し、本変形例では、情報処理装置1は、点群データとの対応付けの対象から上記のボクセルのボクセルデータVDを除外して(即ち無いものとみなして)NDT位置の算出を行う。これにより、情報処理装置1は、点群データとボクセルとの対応付けを行う際に、不必要な処理を省くことができ、対応付けの誤りに起因した位置推定精度の低下を好適に抑制することができる。
【0078】
(変形例2)
ボクセルデータVDは、図4又は図6に示すように平均ベクトルと共分散行列とを含むデータ構造に限定されない。例えば、ボクセルデータVDは、平均ベクトルと共分散行列を算出する際に用いられる点群データをそのまま含んでいてもよい。この場合においても、浮遊物と紐づく属性を有するボクセルの点群データのz座標値については、水面基準座標値により表されており、情報処理装置1は、当該ボクセルを参照した場合に、推定した水面高さ位置に基づき、当該ボクセルのz座標値を水面基準座標値から絶対座標値に変換する。
【0079】
(変形例3)
浮遊物であることを示す属性を付与する対象の地図データは、ボクセルデータに限定されない。例えば、水路標識用ブイや、灯浮標など水上のランドマーク的な地物を表す地図データの場合は、ボクセルデータではなく、各地物の位置情報や形状、大きさなどを示す地物ごとの地物データが地図データとして格納される。このような地図データについては、浮遊物に該当する地物データに、浮遊物であることを示す属性情報が付加されたデータ構造を有する。これにより、地図データを参照する情報処理装置1は、対象となるブイなどの浮遊物のz座標値を水面基準座標値として扱うことができ、浮遊物のz座標値に関する絶対座標値への変換を適切に行うことが可能になる。
【0080】
以上説明したように、本実施例に係るボクセルデータVDのデータ構造は、情報処理装置1が参照する地図データのデータ構造である地図データ構造であって、構造物の位置を示す位置情報と、構造物が水面に対する浮遊物であるか否かを示す属性情報と、を有する。そして、属性情報は、当該属性情報が浮遊物であることを示す場合、情報処理装置1が、位置情報を、水面位置を基準とする相対的な位置情報とみなして構造物の位置を特定する処理に用いられる。ボクセルデータVDは、このようなデータ構造を備えることで、ボクセルデータVDを参照する情報処理装置1が潮位の変化に依らずに適切に水面に浮かぶ浮遊物の位置を特定可能な態様により、浮遊物の位置情報を格納することができる。
【0081】
なお、上述した実施例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータであるコントローラ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。
【0082】
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0083】
1 情報処理装置
2 センサ群
3 ライダ
4 速度センサ
5 GNSS受信機
6 IMU
10 地図DB
図1
図2
図3
図4
図5
図6
図7
図8