(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135102
(43)【公開日】2023-09-28
(54)【発明の名称】情報処理装置、制御方法、プログラム及び記憶媒体
(51)【国際特許分類】
B63B 79/40 20200101AFI20230921BHJP
G01S 17/93 20200101ALI20230921BHJP
B63B 49/00 20060101ALI20230921BHJP
B63B 79/10 20200101ALI20230921BHJP
B63H 25/02 20060101ALI20230921BHJP
B63H 25/04 20060101ALI20230921BHJP
【FI】
B63B79/40
G01S17/93
B63B49/00 Z
B63B79/10
B63H25/02 Z
B63H25/04 D
B63H25/04 G
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022040134
(22)【出願日】2022-03-15
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(71)【出願人】
【識別番号】520001073
【氏名又は名称】パイオニアスマートセンシングイノベーションズ株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(72)【発明者】
【氏名】加藤 将大
(72)【発明者】
【氏名】加藤 正浩
(72)【発明者】
【氏名】松崎 秦
【テーマコード(参考)】
5J084
【Fターム(参考)】
5J084AA04
5J084AA05
5J084AA10
5J084AB20
5J084AC03
5J084AD01
5J084AD05
5J084BA34
5J084BA40
5J084BA50
5J084CA03
5J084CA32
5J084CA49
5J084CA65
5J084CA70
5J084EA11
5J084EA29
(57)【要約】
【課題】計測装置の姿勢を的確に推定することが可能な情報処理装置を提供する。
【解決手段】情報処理装置1のコントローラ13は、取得手段と、法線算出手段と、姿勢推定手段として機能する。取得手段は、船舶に設けられた計測装置により計測された物体の計測データを取得する。法線算出手段は、計測データに基づき、物体の法線を算出する。姿勢推定手段は、物体の法線に基づき、計測装置の姿勢を推定する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
船舶に設けられた計測装置により計測された物体の計測データを取得する取得手段と、
前記計測データに基づき、前記物体の法線を算出する法線算出手段と、
前記法線に基づき、前記計測装置の姿勢を推定する姿勢推定手段と、
を有する情報処理装置。
【請求項2】
前記姿勢の推定結果に基づき、前記計測データを、前記船舶を基準とした船舶座標系のデータに変換する座標変換を行う座標変換手段をさらに有する、請求項1に記載の情報処理装置。
【請求項3】
前記座標変換手段は、所定期間内において得られた複数の前記姿勢の推定結果に基づき、前記座標変換を行う、請求項2に記載の情報処理装置。
【請求項4】
前記法線算出手段は、前記物体に形成された所定の面に対する前記法線を算出する、請求項1~3のいずれか一項に記載の情報処理装置。
【請求項5】
前記計測データは、複数の被計測点を表す点群データであり、
前記法線算出手段は、前記点群データが表す前記面の被計測点に基づき、前記法線を算出する、請求項4に記載の情報処理装置。
【請求項6】
前記法線算出手段は、前記物体の被計測点ごとに、周辺の被計測点を用いて法線を算出し、当該法線のベクトル成分に基づき、前記面の被計測点を抽出する、請求項5に記載の情報処理装置。
【請求項7】
前記物体は岸壁であって、
前記法線算出手段は、前記岸壁の上面に対する前記法線を算出する、請求項4~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記姿勢推定手段は、前記法線に基づき、前記計測装置のピッチ角とロール角の少なくとも一方を推定する、請求項1~7のいずれか一項に記載の情報処理装置。
【請求項9】
コンピュータが実行する制御方法であって、
船舶に設けられた計測装置により計測された物体の計測データを取得し、
前記計測データに基づき、前記物体の法線を算出し、
前記法線に基づき、前記計測装置の姿勢を推定する、
制御方法。
【請求項10】
船舶に設けられた計測装置により計測された物体の計測データを取得し、
前記計測データに基づき、前記物体の法線を算出し、
前記法線に基づき、前記計測装置の姿勢を推定する処理をコンピュータに実行させるプログラム。
【請求項11】
請求項10に記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、船舶の接岸時の処理に関する。
【背景技術】
【0002】
従来から、船舶の接岸(着岸)に関する支援を行う技術が知られている。例えば、特許文献1には、船舶の自動接岸を行う自動接岸装置において、ライダから照射される光が接岸位置の周囲の物体に反射してライダにより受光できるように、船舶の姿勢を変化させる制御を行う手法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ライダなどの計測装置を活用して着岸支援を行う場合,視野角内に岸壁を捉えられるように船舶の側面付近に横向きで計測装置を設置することが考えられる。ここで、計測装置により得られた点群データは計測装置を基準とした座標系であるため、船舶を基準とした船舶座標系の基準点から計測装置までの位置と船舶に対する計測装置の姿勢によって、船舶座標系へ座標変換を行う必要がある。そして、座標変換に必要な上述の位置と姿勢が正確でない場合、正確な点群データが生成されない。また、乗員や積荷は運航ごと異なると考えられるため,船舶の姿勢がこれらの要因によって変化する場合もある。しかし、加速度や角速度を計測可能なセンサを内蔵していない計測装置では姿勢の変化を検出できないため、船舶の姿勢が変化した場合でも姿勢変化前の船舶座標系を基準とした誤った座標変換が行われてしまう。この場合においても、正確でない点群データが生成されてしまう。
【0005】
本開示は、上記のような課題を解決するためになされたものであり、計測装置の姿勢を的確に推定することが可能な情報処理装置を提供することを主な目的とする。
【課題を解決するための手段】
【0006】
請求項に記載の発明は、
船舶に設けられた計測装置により計測された物体の計測データを取得する取得手段と、
前記計測データに基づき、前記物体の法線を算出する法線算出手段と、
前記法線に基づき、前記計測装置の姿勢を推定する姿勢推定手段と、
を有する情報処理装置である。
【0007】
また、請求項に記載の発明は、
コンピュータが実行する制御方法であって、
船舶に設けられた計測装置により計測された物体の計測データを取得し、
前記計測データに基づき、前記物体の法線を算出し、
前記法線に基づき、前記計測装置の姿勢を推定する、
制御方法である。
【0008】
また、請求項に記載の発明は、
船舶に設けられた計測装置により計測された物体の計測データを取得し、
前記計測データに基づき、前記物体の法線を算出し、
前記法線に基づき、前記計測装置の姿勢を推定する処理をコンピュータに実行させるプログラムである。
【図面の簡単な説明】
【0009】
【
図2】情報処理装置のハードウェア構成を示すブロック図である。
【
図3】(A)ライダが対象船舶の左舷側に横向きで搭載され、対象船舶の左舷側に岸壁が位置する様子を示した俯瞰図である。(B)ライダが対象船舶の左舷側に横向きで搭載され、対象船舶の左舷側に岸壁が位置する様子を示した正面図である。
【
図4】(A)ライダが生成する点群データを座標変換せずにそのまま船舶座標系のデータとして扱った場合の岸壁点群の分布を示す。(B)適切に座標変換を行った場合の岸壁点群の分布を示す。
【
図5】(A)対象船舶が水平に保たれているときの対象船舶及び岸壁の正面図を示す。(B)対象船舶がロール方向に変化したときの対象船舶及び岸壁の正面図を示す。
【
図6】(A)対象船舶が水平に保たれているときの対象船舶及び岸壁の側面図を示す。(B)対象船舶がピッチ方向に変化したときの対象船舶及び岸壁の側面図を示す。
【
図7】点群データの座標変換に関するコントローラの機能ブロックの一例である。
【
図8】(A)対象船舶の姿勢が水平ではないときに得られた点群データに対して座標変換を行わずに船舶座標系において表した岸壁点群を示す。(B)対象船舶の姿勢が水平ではないときに得られた点群データに対して本実施例に基づく座標変換を行った後の岸壁点群を船舶座標系において示している。
【
図9】(A)対象船舶が水平に保たれている場合の船舶座標系における岸壁上面の法線を示す。(B)対象船舶が傾いた場合の船舶座標系における岸壁上面の法線を示す。
【
図10】(A)~(D)法線の算出処理の流れを示している。
【
図11】(A)~(C)岸壁点群の各被計測点の法線算出処理の流れを示している。
【
図12】(A)船舶座標系でのピッチ角の変化量を示した図である。(B)船舶座標系でのロール角の変化量を示した図である。
【
図13】点群データ処理の概要を示すフローチャートの一例である。
【
図14】岸壁法線算出処理のフローチャートである。
【
図15】姿勢変化量推定処理のフローチャートである。
【発明を実施するための形態】
【0010】
本開示における好適な実施形態によれば、情報処理装置は、船舶に設けられた計測装置により計測された物体の計測データを取得する取得手段と、前記計測データに基づき、前記物体の法線を算出する法線算出手段と、前記法線に基づき、前記計測装置の姿勢を推定する姿勢推定手段と、を有する。この実施形態によれば、情報処理装置は、計測装置の姿勢を的確に推定することができる。
【0011】
上記情報処理装置の一態様では、情報処理装置は、前記姿勢の推定結果に基づき、前記計測データを、前記船舶を基準とした船舶座標系のデータに変換する座標変換を行う座標変換手段をさらに有する。この態様により、情報処理装置は、計測データの座標変換を的確に実行することができる。
【0012】
上記情報処理装置の他の一態様では、前記座標変換手段は、所定期間内において得られた複数の前記姿勢の推定結果に基づき、前記座標変換を行う。この態様により、情報処理装置は、外乱の影響が低減された姿勢推定結果に基づき座標変換を好適に実行することができる。
【0013】
上記情報処理装置の他の一態様では、前記法線算出手段は、前記物体に形成された所定の面に対する前記法線を算出する。この態様により、情報処理装置は、計測装置の姿勢推定において基準となる法線を好適に算出することができる。
【0014】
上記情報処理装置の他の一態様では、前記計測データは、複数の被計測点を表す点群データであり、前記法線算出手段は、前記点群データが表す前記面の被計測点に基づき、前記法線を算出する。この態様により、情報処理装置は、物体の所定の面に対する法線を好適に算出することができる。
【0015】
上記情報処理装置の他の一態様では、前記法線算出手段は、前記物体の被計測点ごとに、周辺の被計測点を用いて法線を算出し、当該法線のベクトル成分に基づき、前記面の被計測点を抽出する。この態様により、情報処理装置は、物体の所定の面の被計測点を点群データから好適に抽出することができる。
【0016】
好適な例では、前記物体は岸壁であって、前記法線算出手段は、前記岸壁の上面に対する前記法線を算出するとよい。他の好適な例では、前記姿勢推定手段は、前記法線に基づき、前記計測装置のピッチ角とロール角の少なくとも一方を推定するとよい。
【0017】
本開示の他の好適な実施形態によれば、コンピュータが実行する制御方法であって、船舶に設けられた計測装置により計測された物体の計測データを取得し、前記計測データに基づき、前記物体の法線を算出し、前記法線に基づき、前記計測装置の姿勢を推定する。コンピュータは、この制御方法を実行することで、計測装置の姿勢を的確に推定することができる。
【0018】
本開示の他の好適な実施形態によれば、プログラムは、船舶に設けられた計測装置により計測された物体の計測データを取得し、前記計測データに基づき、前記物体の法線を算出し、前記法線に基づき、前記計測装置の姿勢を推定する処理をコンピュータに実行させる。コンピュータは、このプログラムを実行することで、計測装置の姿勢を的確に推定することができる。好適には、上記プログラムは、記憶媒体に記憶される。
【実施例0019】
以下、図面を参照して本発明の好適な実施例について説明する。
【0020】
(1)
運航支援システムの概要
図1は、本実施例に係る運航支援システムの概略構成である。運航支援システムは、移動体である船舶と共に移動する情報処理装置1と、当該船舶に搭載されたセンサ群2とを有する。以後では、運航支援システムが搭載された船舶を「対象船舶」とも呼ぶ。
【0021】
情報処理装置1は、センサ群2と電気的に接続し、センサ群2に含まれる各種センサの出力に基づき、対象船舶の運航支援を行う。なお、運航支援には、自動接岸(着岸)などの接岸支援などが含まれていてもよい。本実施例では、情報処理装置1は、センサ群2に含まれるライダ3が計測した岸壁の点群データに基づき、ライダ3の姿勢推定などを行い、点群データを、対象船舶を基準とした座標系(「船舶座標系」とも呼ぶ。)に変換する。以後では、一例として、岸壁を計測したデータに基づき、ライダ3の姿勢推定を行う例を示すが、岸壁に限らず、ライダ3により計測可能な任意の物体(所定の方向に向けられた面を有する物体)であればよい。
【0022】
情報処理装置1は、船舶に設けられたナビゲーション装置であってもよく、船舶に内蔵された電子制御装置であってもよい。
【0023】
センサ群2は、船舶に設けられた種々の外界センサ及び内界センサを含んでいる。本実施例では、センサ群2は、例えば、ライダ(Lidar:Light Detection and Ranging、または、Laser Illuminated Detection And Ranging)3を含んでいる。
【0024】
ライダ3は、水平方向の所定の角度範囲および垂直方向の所定の角度範囲に対してパルスレーザを出射することで、外界に存在する物体までの距離を離散的に測定し、当該物体の位置を示す3次元の点群データを生成する外界センサである。具体的には、ライダ3は、照射方向を変えながらレーザ光を照射する照射部と、照射したレーザ光の反射光(散乱光)を受光する受光部と、受光部が出力する受光信号に基づくスキャンデータを出力する出力部とを有する。レーザ光を照射する方向(走査位置)ごとに計測されるデータは、受光部が受光したレーザ光に対応する照射方向と、上述の受光信号に基づき特定される当該レーザ光の応答遅延時間とに基づき生成される。以後では、ライダ3の計測範囲内においてレーザ光が照射されることにより計測された点又はその計測データを「被計測点」とも呼ぶ。なお、点群データは、各計測方向を画素とし、各計測方向での計測距離及び反射強度値を画素値とする画像(フレーム)とみなすことができる。この場合、画素の縦方向の並びにおいて仰俯角におけるレーザ光の出射方向(即ち計測方向)が異なり、画素の横方向の並びにおいて水平角におけるレーザ光の出射方向が異なる。
【0025】
なお、ライダ3は、上述したスキャン型のライダに限らず、2次元アレイ状のセンサの視野にレーザ光を拡散照射することによって3次元データを生成するフラッシュ型のライダであってもよい。ライダ3は、本発明における「計測装置」の一例である。
【0026】
(2)
情報処理装置の構成
図2は、情報処理装置1のハードウェア構成の一例を示すブロック図である。情報処理装置1は、主に、インターフェース11と、メモリ12と、コントローラ13と、を有する。これらの各要素は、バスラインを介して相互に接続されている。
【0027】
インターフェース11は、情報処理装置1と外部装置とのデータの授受に関するインターフェース動作を行う。本実施例では、インターフェース11は、センサ群2の各センサから出力データを取得し、コントローラ13へ供給する。また、インターフェース11は、例えば、コントローラ13が生成した対象船舶の制御に関する信号を、対象船舶の運航を制御する対象船舶の各構成要素に供給する。例えば、対象船舶は、エンジンや電気モータなどの駆動源と、駆動源の駆動力に基づき進行方向の推進力を生成するスクリューと、駆動源の駆動力に基づき横方向の推進力を生成するスラスターと、船舶の進行方向を自在に定めるための機構である舵等とを備える。そして、自動接岸などの自動運航時には、インターフェース11は、コントローラ13が生成した制御信号を、これらの各構成要素に供給する。なお、対象船舶に電子制御装置が設けられている場合には、インターフェース11は、当該電子制御装置に対し、コントローラ13が生成した制御信号を供給する。インターフェース11は、無線通信を行うためのネットワークアダプタなどのワイヤレスインターフェースであってもよく、ケーブル等により外部装置と接続するためのハードウェアインターフェースであってもよい。また、インターフェース11は、入力装置、表示装置、音出力装置等の種々の周辺装置とのインターフェース動作を行ってもよい。
【0028】
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクドライブ、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。メモリ12は、コントローラ13が所定の処理を実行するためのプログラムが記憶される。なお、コントローラ13が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
【0029】
また、メモリ12には、本実施例において情報処理装置1が実行する処理に必要な情報が記憶される。例えば、メモリ12には、接岸場所の位置に関する情報を含む地図データが記憶されてもよい。他の例では、メモリ12には、ライダ3が1周期分の走査を行った場合に得られる点群データに対してダウンサンプリングを行う場合のダウンサンプリングのサイズに関する情報が記憶される。
【0030】
コントローラ13は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などの1又は複数のプロセッサを含み、情報処理装置1の全体を制御する。この場合、コントローラ13は、メモリ12等に記憶されたプログラムを実行することで、対象船舶の運航支援等に関する処理を行う。そして、コントローラ13は、「取得手段」、「法線算出手段」、「姿勢推定手段」及びプログラムを実行するコンピュータ等として機能する。コントローラ13の詳細なブロック構成については後述する。
【0031】
なお、コントローラ13が実行する処理は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、コントローラ13が実行する処理は、例えばFPGA(Field-Programmable Gate Array)又はマイコン等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、コントローラ13が本実施例において実行するプログラムを実現してもよい。
【0032】
(3)点群データ処理の概要
次に、点群データの処理について説明する。点群データを船舶座標系で扱う場合、ライダ3が生成する点群データはライダ3を基準とした座標系(「ライダ座標系」とも呼ぶ。)であるため、コントローラ13は、対象船舶に対するライダ3の位置と姿勢を用いて点群データの座標変換を行う必要がある。
【0033】
図3(A)は、ライダ3が対象船舶の左舷側に横向きで搭載され、対象船舶の左舷側に岸壁が位置する様子を示した俯瞰図であり、
図3(B)は、その正面図である。ここでは、船舶座標系を(X
S,Y
S,Z
S)、ライダ座標系を(X
L,Y
L,Z
L)とする。また、X
S軸は船首方向と一致し、Y
S軸は左舷方向と一致し、Z
S軸はX
S軸及びY
S軸に垂直な軸であるものとする。また、X
L軸はライダ3の正面方向と一致し、Y
L軸はライダ3の左方向と一致し、Z
L軸はX
L軸及びY
L軸に垂直な軸であるものとする。
図3(A)及び
図3(B)に示すように、ライダ座標系と船舶座標系とでは、基本的にはX軸及びY軸が異なるため、点群データを船舶座標系において適切に扱うためには、座標変換を行う必要がある。
【0034】
図4(A)は、ライダ3が生成する点群データを座標変換せずにそのまま船舶座標系のデータとして扱った場合の岸壁の被計測点(「岸壁点群」とも呼ぶ。)の分布を示し、
図4(B)は、適切に座標変換を行った場合の岸壁点群の分布を示す。図中の塗りつぶした丸印は、被計測点を表す。
【0035】
図4(A)に示すように、座標変換を行わないと、船舶座標系にライダ座標系が重なる状態になり、点群データが示す岸壁点群が本来計測された岸壁位置からずれてしまうことになる。一方、対象船舶に対するライダ3の位置と姿勢を用いて点群データの座標変換を行うことで、
図4(B)に示すように、本来計測された岸壁位置を的確に表した船舶座標系の点群データを取得することができる。
【0036】
ここで、対象船舶の姿勢変化による座標変換に関する問題点について補足説明する。
【0037】
一般に、乗員や積荷は運行ごとに異なることが考えられるため、対象船舶の姿勢が変化する可能性がある。なお、一般的にバラスト水によって姿勢が水平に保たれるが、バラストがあっても完全に水平状態にならない場合もある。また,小型船はバラストの無い船も多い。
【0038】
図5(A)は、対象船舶が水平に保たれているときの対象船舶及び岸壁の正面図を示し、
図5(B)は、対象船舶がロール方向に変化したときの対象船舶及び岸壁の正面図を示す。また、
図6(A)は、対象船舶が水平に保たれているときの対象船舶及び岸壁の側面図を示し、
図6(B)は、対象船舶がピッチ方向に変化したときの対象船舶及び岸壁の側面図を示す。各図では、対象船舶の姿勢変化を考慮しないで(即ち水平時のライダ3の位置姿勢により)点群データの座標変換を行った場合の座標変換後の点群データが表す岸壁点群を、塗りつぶした丸印により示している。
【0039】
対象船舶の姿勢が変化した状態で取得した点群データは、変化後の対象船舶の姿勢に対するライダ3の位置姿勢に基づき座標変換が行われる必要がある。しかし,IMUなどの姿勢検知センサを内蔵していないライダ3は姿勢の変化を検出できないため、対象船舶の姿勢変化後の点群データは、水平時の船舶姿勢を基準にした位置姿勢で座標変換が行われる。その結果、実際の位置と異なる点群データが座標変換後の点群データとして出力されてしまう。以上を勘案し、本実施例では、コントローラ13は、対象船舶の姿勢変化に応じたライダ3の姿勢変化量を的確に検出し、その検出結果に応じた点群データの座標変換を行う。
【0040】
(4)
機能ブロック
図7は、点群データの座標変換に関するコントローラ13の機能ブロックの一例である。コントローラ13は、機能的には、岸壁点群取得部14と、法線算出部15と、姿勢変化量推定部16と、座標変換部17とを有する。また、法線算出部15、姿勢変化量推定部16、及び座標変換部17が出力するデータについては、吹き出し90~92により各処理又はデータの概要を示している。なお、
図7では、データの授受が行われるブロック同士を実線により結んでいるが、データの授受が行われるブロックの組合せはこれに限定されない。後述する他の機能ブロックの図においても同様である。
【0041】
岸壁点群取得部14は、ライダ3がフレーム周期ごとに生成する点群データを取得し、点群データから岸壁点群を抽出する。この場合、岸壁点群取得部14は、ユークリッドクラスタリングなどの任意のクラスタリング手法に基づき、岸壁点群を抽出する。また、岸壁点群取得部14は、ライダ3が生成する点群データに対し、水面位置より下方に存在するデータを、水面の計測データ(即ち誤検出データ)として除去する。なお、岸壁点群取得部14は、例えば、周辺に水面以外の物体が存在しないときにライダ3が生成する点群データの高さ方向の平均値等に基づき、水面位置を推定する。また、岸壁点群取得部14は、水面反射データを除去後の点群データに対し、所定サイズの格子空間毎に被計測点を統合する処理であるダウンサンプリングを行ってもよい。なお、ダウンサンプリングは、誤検出データの除去の前に実行されてもよい。
【0042】
法線算出部15は、岸壁点群取得部14が取得した岸壁点群から岸壁の上面を表す岸壁点群(「上面岸壁点群」とも呼ぶ。)を抽出し、上面岸壁点群の法線を算出する。なお、吹き出し90では、対象船舶の姿勢変化を考慮せずに座標変換が行われた点群データが示す上面岸壁点群を表しており、この上面岸壁点群は実際の岸壁上面と対象船舶の姿勢変化分だけずれている。
【0043】
姿勢変化量推定部16は、上面岸壁点群の法線に基づいて、ライダ3の姿勢変化量を推定する。この場合、姿勢変化量推定部16は、ライダ3の姿勢変化量として、ライダ3のピッチ角の変化量(「ピッチ角Δθ」とも呼ぶ。)と、ライダ3のロール角の変化量(「ロール角Δφ」とも呼ぶ。)と、を算出する。吹き出し91では、船舶座標系におけるピッチ角Δθと船舶座標系におけるロール角Δφの算出方法の概要が示されている。
【0044】
座標変換部17は、対象船舶の姿勢変化量に基づいて、点群データの座標変換を行う。この場合、吹き出し92により示されるように、座標変換後の点群データが示す上面岸壁点群の法線と、実際の岸壁の法線とが一致するように、点群データの座標変換が行われる。なお、移動体(本実施例では船舶)に設置されたライダを基準とした座標系の点群データを移動体の座標系に変換する処理、及び移動体の座標系からワールド座標系に変換する処理等については、例えば、国際公開WO2019/188745などに開示されている。
【0045】
図8(A)は、対象船舶の姿勢が水平ではないときに得られた点群データをそのまま船舶座標系の点群データとみなした場合の岸壁点群を示し、
図8(B)は、対象船舶の姿勢が水平ではないときに得られた点群データを本実施例に基づき船舶座標系に変換した場合の岸壁点群を示している。
図8(A)に示すように、対象船舶の姿勢に応じた座標変換を行わない場合には、実際の岸壁の位置からずれた岸壁点群を示す点群データが生成されることになる。一方、
図8(B)に示すように、対象船舶の姿勢に応じた座標変換を行った場合には、実際の岸壁の位置に即した岸壁点群を示す点群データが生成されることになる。
【0046】
(5)上面岸壁点群の法線
次に、上面岸壁点群の法線算出方法の具体例について説明する。
【0047】
図9(A)は、対象船舶が水平に保たれている場合の船舶座標系における岸壁上面の法線「N
0」を示し、
図9(B)は、対象船舶が傾いた場合(即ち姿勢が変化した場合)の船舶座標系における岸壁上面の法線「N
1」を示す。
図9(A)に示すように、対象船舶の姿勢が水平な場合の岸壁上面の法線N
0は船舶座標系のZ
S軸と向きが等しくなる。一方、
図9(B)に示すように、対象船舶の姿勢が水平ではない場合の岸壁上面の法線N
1は、船舶座標系のZ
S軸と向きが異なる。以下では、岸壁上面の法線の算出方法の具体例について説明する。
【0048】
図10(A)~
図10(D)は、岸壁上面の法線の算出処理の流れを示している。まず、
図10(A)に示すように、岸壁点群取得部14は、ユークリッドクラスタリングなどの任意のクラスタリング手法に基づき、岸壁点群を抽出する。
【0049】
次に、法線算出部15は、
図10(B)に示されるように、岸壁点群の各被計測点の法線を算出する。例えば、法線算出部15は、各被計測点について、対象の被計測点を中心に所定の距離以内に含まれる他の被計測点を用いて主成分分析を行い、主成分分析により得られる第3主成分ベクトルを、対象の被計測点の法線ベクトルとして算出する。そして、法線算出部15は、法線のベクトル成分のうちZ軸成分が所定の閾値以上となる被計測点を、上面岸壁点群として抽出する。そして、法線算出部15は、
図10(C)に示されるように、上面岸壁点群の点群データに対して主成分分析を行い、主成分分析により得られる第3主成分ベクトルを、岸壁上面の法線として算出する。
図10(D)は、対象船舶の姿勢が水平でないときに算出される岸壁上面の法線N
1を示している。
【0050】
ここで、
図10(B)に示される岸壁点群の各被計測点の法線の算出方法の具体例について補足説明する。
図11(A)~
図11(C)は、岸壁点群の各被計測点の法線算出処理の流れを示している。ここでは、法線を算出する対象となる被計測点を「対象点」と呼ぶ。
【0051】
一般に、法線を算出するには平面を推定する必要があるため、少なくとも3点以上必要となる。そのため、対象点を中心とした空間に2点以上含まれるような半径R1を設定する。半径R1は、例えば、メモリ12等に予め記憶されている。なお、半径R1が小さすぎると法線の向きが安定せず、大きすぎると変化が少なくなってしまうため、対象とする点群によって適切に設定する必要がある。
【0052】
まず、
図11(A)に示すように、法線算出部15は、対象点から半径R
1以内に存在する被計測点を認識する。そして、
図11(B)に示すように、法線算出部15は、認識した被計測点に対して主成分分析を行い、第1主成分軸、第2主成分軸、第3主成分軸を認識する。そして、
図11(C)に示すように、第3主成分軸を対象点の法線として認識する。
【0053】
(6)姿勢変化量の算出
次に、岸壁上面の法線に基づき、ライダ3の姿勢変化量の算出方法について具体的に説明する。
【0054】
船舶姿勢が変化したときの法線N1=[N1x,N1y,N1z]Tは、船舶姿勢が水平に保たれているときの法線N0=[N0x,N0y,N0z]Tの座標軸を回転することで求められ、以下の式(1)により表される。
【0055】
【数1】
実際の船舶姿勢は順番に回転するわけではないが,ここでは説明便宜上、固定角のロール角、ピッチ角、ヨー角の順に軸回転するものとして考える。さらに、船舶姿勢が水平な時は岸壁上面の法線ベクトルが垂直であるとする。従って、N
0=[0,0,1]
Tを式(1)に代入した時の法線N
1を表す以下の式(2)を求める。
【0056】
【数2】
そして、式(2)に基づき、ピッチ角Δθを算出する。まず、式(2)に基づき、以下の式(3)が導かれる。
【0057】
【数3】
よって、式(3)に基づき、ピッチ角Δθは、以下の式(4)により表される。
【0058】
【数4】
また、
図12(A)は、船舶座標系でのピッチ角Δθを示した図である。
【0059】
さらに、式(2)に基づき、ロール角Δφを算出する。まず、式(2)に基づき、以下の式(5)が導かれる。
【0060】
【数5】
さらに式(2)及び式(5)に基づき、式(6)が導かれる。
【0061】
【数6】
よって、式(6)に基づき、ロール角Δφは、以下の式(7)により表される。
【0062】
【数7】
また、
図12(B)は、船舶座標系でのロール角Δφを示した図である。
【0063】
以上のように、岸壁上面の法線のベクトル成分に基づき、姿勢変化量推定部16は、式(4)及び式(7)を用いて、姿勢変形量に相当するピッチ角Δθ及びロール角Δφを好適に算出することができる。
【0064】
好適には、姿勢変化量推定部16は、波や風の影響で船舶が揺れることで,フレーム周期ごとに行われる姿勢変化量の推定結果が変動してしまうことを考慮し、複数回分の姿勢変化量の推定結果を平均化してもよい。
【0065】
一般に、恒常的な姿勢変化量を求めるためには、環境要因による一時的な姿勢変化量はできる限り除く必要がある。そして、波風による揺れによって船舶の姿勢変化量が増減する。具体的には、船舶の姿勢変化量をα、波風による姿勢変化量をβ、推定される姿勢変化量をAとすると、以下の式が成立する。
A=α+β
【0066】
従って、姿勢変化量推定部16は、直前の一定期間内に姿勢変化量推定をn回行った場合の平均α(以下の式(8)参照)を、座標変換において使用する姿勢変化量として定める。
【0067】
【数8】
平均αでは、波や風による揺れの影響が低減されているため、姿勢変化量推定部16は、平均αを用いることで姿勢変化量の推定結果を安定させることができる。
【0068】
(7)座標変換
ここで、点群データの座標変換について補足説明する。
【0069】
一般に、点群データは3次元座標値の集まりであるため、行列で表現できる。ライダ3が出力する点群データを「P0=[P0x,P0y,P0z]T」、対象船舶の姿勢が水平に保たれていると仮定してP0を船舶座標系に座標変換した点群データを「P1=[P1x,P1y,P1z]T」とする。また、対象船舶の姿勢が水平ではなくなったときの点群データに対し対象船舶の姿勢が水平に保たれていると仮定して船舶座標系に座標変換した点群データを「P2=[P2x,P2y,P2z]T」、P2を姿勢変化量にて補正した点群データを「P3=[P3x,P3y,P3z]T」とする。
【0070】
この場合、点群データP0を座標変換して点群データP1を生成するのに用いる同時変換行列は、以下の式(9)により示される。
【0071】
【数9】
(x,y,z,φ,θ,ψ)は、水平時の対象船舶に対するライダ3の位置と姿勢を表す。なお、ライダ3の位置に相当する(x,y,z)は、例えば予めメモリ12等に記憶されている。
【0072】
対象船舶の姿勢がロール角ΔφSとピッチ角ΔθSで変化したとすると、点群データP2は、点群データP1を用いて以下の式(10)により表される。なお、ヨー角ψの変化については無視できる程度に小さいものとする。
【0073】
【数10】
ここで、姿勢変化量推定によって求められたロール角Δφとピッチ角Δθは、ロール角Δφ
Sとピッチ角Δθ
Sの姿勢変化の回転であり、夫々等しい。そこで、式(10)の逆行列式にロール角Δφとピッチ角Δθの符号を逆にして適用することで、姿勢変化の補正を行えばよい。
【0074】
以上により、姿勢変化量推定によって求めたロール角Δφとピッチ角Δθに基づき補正するための同時変換行列は、点群データP2及び点群データP3を用いて、以下の式(11)により表される。
【0075】
【0076】
(8)
処理フロー
図13は、本実施例における点群データに関する処理(点群データ処理)の概要を示すフローチャートの一例である。情報処理装置1は、
図13のフローチャートの処理をフレーム周期に従い繰り返し実行する。
【0077】
まず、情報処理装置1は、ライダ3が生成する点群データを取得する(ステップS11)。この場合、点群データは、ライダ座標系により表されたデータとなる。そして、情報処理装置1は、岸壁上面の法線を算出する処理である岸壁法線算出処理を実行する(ステップS12)。ステップS12の詳細については、
図14を参照して説明する。
【0078】
次に、情報処理装置1は、ライダ3の姿勢変化量を推定する処理である姿勢変化量推定処理を実行する(ステップS13)。ステップS13の詳細については、
図15を参照して説明する。さらに、情報処理装置1は、ステップS13で推定した姿勢変化量に基づき、ステップS11で得た点群データを船舶座標系のデータに変換する処理である座標変換処理を実行する(ステップS14)。ステップS14の詳細については、
図16を参照して説明する。
【0079】
図14は、
図13のステップS12で実行される岸壁法線算出処理のフローチャートである。
【0080】
まず、情報処理装置1は、点群データからクラスタリングにより岸壁点群を抽出する(ステップS21)。次に、情報処理装置1は、岸壁点群の各被計測点の法線を算出し、Z軸成分が所定値以上となる被計測点を上面岸壁点群として抽出する(ステップS22)。
【0081】
次に、情報処理装置1は、岸壁上面点群を抽出できたか否か判定する(ステップS23)。この場合、情報処理装置1は、例えば、岸壁上面点群の点数が所定数以上である場合には、岸壁上面点群が抽出できたと判定し、当該点数が所定数未満である場合には、岸壁上面点群が抽出できなかったと判定する。
【0082】
そして、情報処理装置1は、岸壁上面点群が抽出できたと判定した場合(ステップS23;Yes)、岸壁上面点群に対して主成分分析を行い、第3主成分軸を表すベクトルを、岸壁上面の法線として決定する(ステップS24)。一方、情報処理装置1は、岸壁上面点群が抽出できなかったと判定した場合(ステップS23;No)、処理が失敗したと判定し、所定のエラー通知などを行い、以降の処理を行うことなくフローチャートの処理を終了する(ステップS25)。
【0083】
図15は、
図13のステップS13で実行される姿勢変化量推定処理のフローチャートである。
【0084】
まず、情報処理装置1は、対象船舶の姿勢変化後の岸壁上面の法線(即ち
図14のステップS24で算出した法線)からピッチ角Δθを式(4)に基づき算出する(ステップS31)。そして、情報処理装置1は、対象船舶の姿勢変化後の岸壁上面の法線(即ち
図14のステップS24で算出した法線)からロール角Δφを式(7)に基づき算出する(ステップS32)。
【0085】
図16は、
図13のステップS14で実行される座標変換処理のフローチャートである。
【0086】
まず、情報処理装置1は、ステップS13の姿勢変化量推定処理で算出されたロール方向とピッチ方向の姿勢変化量に相当するロール角Δφとピッチ角Δθの絶対値を取得する(ステップS41)。そして、情報処理装置1は、取得したロール角Δφの絶対値とピッチ角Δθの絶対値とのいずれとも閾値以下であるか否か判定する(ステップS42)。そして、情報処理装置1は、上述の絶対値の少なくともいずれかが閾値より大きい場合(ステップS42;No)、姿勢変化量が大きいことを通知する処理を行う(ステップS45)。この場合、例えば、情報処理装置1は、異常又はエラーが発生したとみなし、警告を出力してもよい。
【0087】
一方、情報処理装置1は、上述の絶対位置のいずれも閾値以下である場合(ステップS42;Yes)、所定期間での推定結果を平均化する(ステップS43)。この場合、ロール角Δφとピッチ角Δθの夫々について、過去の処理時刻において算出した所定個数分の推定結果と合わせて平均化を行う。そして、情報処理装置1は、時間方向に平均化したロール角Δφとピッチ角Δθと用いて、ステップS11で取得した点群データの座標変換を行う(ステップS44)。
【0088】
以上説明したように、情報処理装置1のコントローラ13は、取得手段と、法線算出手段と、姿勢推定手段として機能する。取得手段は、船舶に設けられた計測装置により計測された物体の計測データを取得する。法線算出手段は、計測データに基づき、物体の法線を算出する。姿勢推定手段は、物体の法線に基づき、計測装置の姿勢を推定する。この態様により、情報処理装置1は、計測装置の姿勢を的確に推定し、計測装置が生成する計測データの座標変換を正確に実行することができる。
【0089】
なお、上述した実施例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-Trasitory 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)を含む。
【0090】
以上、実施例を参照して本願発明を説明したが、本願発明は上記実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。