(57)【要約】【課題】精度良く物体の形状を導出する。【解決手段】形状導出装置は、３次元に展開する複数の小領域で構成される作業領域を生成する領域生成部と、測距センサによって計測された物体の計測点における計測データを随時取得する計測データ取得部と、計測点の計測データに基づいて、計測データに対応する小領域に、計測点の統計データを蓄積するデータ蓄積部と、統計データに基づいて、物体の形状を導出する形状導出部と、を備え、データ蓄積部は、統計データに基づき、比較方向を導出し、形状導出部は、比較方向に配列された、複数の小領域間の統計データを比較して物体の表面に相当する小領域を特定する。【選択図】図１６
2020173132.tif 000002
【特許請求の範囲】
【請求項１】
３次元に展開する複数の小領域で構成される作業領域を生成する領域生成部と、
測距センサによって計測された物体の計測点における計測データを随時取得する計測データ取得部と、
前記計測点の前記計測データに基づいて、前記計測データに対応する小領域に、前記計測点の統計データを蓄積するデータ蓄積部と、
前記統計データに基づいて、前記物体の形状を導出する形状導出部と、
を備え、
前記データ蓄積部は、
前記統計データに基づき、比較方向を導出し、
前記形状導出部は、
前記比較方向に配列された、複数の前記小領域間の前記統計データを比較して前記物体の表面に相当する前記小領域を特定する形状導出装置。
【請求項２】
前記データ蓄積部は、
前記統計データとして、少なくとも、前記計測点が計測されたときの前記測距センサとの距離が最小となる前記計測点と、前記測距センサとの間の比較方向を導出し、
前記形状導出部は、
１の小領域の近傍に配置された小領域のうち、前記比較方向に対応する方向に位置する小領域を比較対象小領域とし、前記１の小領域と前記比較対象小領域との前記統計データを比較することで、前記物体の形状を導出する請求項１に記載の形状導出装置。
【請求項３】
前記データ蓄積部は、
前記統計データとして、前記小領域に含まれる計測点の数をさらに蓄積し、
前記形状導出部は、
前記１の小領域と前記比較対象小領域との前記計測点の数を比較することで、前記物体の形状を導出する請求項１または２に記載の形状導出装置。
【請求項４】
前記データ蓄積部は、
前記統計データとして、前記小領域に含まれる計測点の計測時期に蓄積し、
前記形状導出部は、
前記１の小領域と前記比較対象小領域との前記計測時期を比較することで、前記物体の形状を導出する請求項１から３のいずれか１項に記載の形状導出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、形状導出装置に関する。
【背景技術】
【０００２】
従来、物体までの距離を計測し、計測された距離が短い程、大きい重み付け係数を用いて重み付けをし、重み付けした点数の合計が所定値以上である場合に、物体があると判定する技術が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−３２３２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、引用文献１に記載の技術では、物体の有無を判定することが可能であるが、物体の形状まで導出することができなかった。
【０００５】
本開示は、このような課題に鑑み、精度良く物体の形状を導出することが可能な形状導出装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示の一態様に係る形状導出装置は、３次元に展開する複数の小領域で構成される作業領域を生成する領域生成部と、測距センサによって計測された物体の計測点における計測データを随時取得する計測データ取得部と、計測点の計測データに基づいて、計測データに対応する小領域に、計測点の統計データを蓄積するデータ蓄積部と、統計データに基づいて、物体の形状を導出する形状導出部と、を備え、データ蓄積部は、統計データに基づき、比較方向を導出し、形状導出部は、比較方向に配列された、複数の小領域間の統計データを比較して物体の表面に相当する小領域を特定する。
【０００７】
データ蓄積部は、統計データとして、少なくとも、計測点が計測されたときの測距センサとの距離が最小となる計測点と、測距センサとの間の比較方向を導出し、形状導出部は、１の小領域の近傍に配置された小領域のうち、比較方向に対応する方向に位置する小領域を比較対象小領域とし、１の小領域と比較対象小領域との統計データを比較することで、物体の形状を導出してもよい。
【０００８】
データ蓄積部は、統計データとして、小領域に含まれる計測点の数をさらに蓄積し、形状導出部は、１の小領域と比較対象小領域との前記計測点の数を比較することで、物体の形状を導出してもよい。
【０００９】
データ蓄積部は、統計データとして、小領域に含まれる計測点の計測時期に蓄積し、形状導出部は、１の小領域と比較対象小領域との計測時期を比較することで、物体の形状を導出してもよい。
【発明の効果】
【００１０】
精度良く物体の形状を導出することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】アンローダ装置の概要を説明する図である。
【図２】アンローダ装置の構成を説明する図である。
【図３】測距センサの計測範囲を説明する図である。
【図４】測距センサの計測範囲を説明する図である。
【図５】測距センサの計測範囲を説明する図である。
【図６】測距センサの計測範囲を説明する図である。
【図７】アンローダ装置の電気的な構成を説明する図である。
【図８】船庫の３次元形状を導出する処理の流れを示すフローチャートである。
【図９】アンローダ装置の座標系を説明する図である。
【図１０】アンローダ装置の座標系を説明する図である。
【図１１】複数の小領域で構成される作業領域を説明する図である。
【図１２】測距センサの計測点を説明する図である。
【図１３】エッジ点を検出する様子を示す図である。
【図１４】測距センサで計測される計測点を上部および下部に分割する様子を説明する図である。
【図１５】底面形状導出処理を説明する図である。
【図１６】側壁に対応する小領域を導出する様子を説明する図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の一実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、理解を容易とするための例示にすぎず、特に断る場合を除き、本開示を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本開示に直接関係のない要素は図示を省略する。
【００１３】
図１は、アンローダ装置１００の概要を説明する図である。図１に示すように、形状導出装置の一例としてのアンローダ装置１００は、岸壁２に沿って敷設された一対のレール３上を、レール３の延在方向に走行可能である。アンローダ装置１００は、岸壁２に停泊された船舶４の船庫５内に積載された積荷６を外部に搬出する。積荷６は、ばら荷が想定されており、一例として石炭が挙げられる。
【００１４】
図２は、アンローダ装置１００の構成を説明する図である。なお、図２では、岸壁２および船舶４を断面で示している。図２に示すように、アンローダ装置１００は、走行体１０２、旋回体１０４、ブーム１０６、トップフレーム１０８、エレベータ１１０、掻取部１１２、ブームコンベア１１４を含んで構成される。
【００１５】
走行体１０２は、不図示のアクチュエータが駆動することで、レール３上を走行可能である。走行体１０２には、位置センサ１１６が設けられる。位置センサ１１６は、例えばロータリーエンコーダである。位置センサ１１６は、走行体１０２の車輪の回転数に基づき、所定の原点位置に対する走行体１０２の水平面上の位置を計測する。
【００１６】
旋回体１０４は、走行体１０２の上部に、垂直軸を中心に旋回自在に設けられる。旋回体１０４は、不図示のアクチュエータが駆動することで、走行体１０２に対して旋回可能である。
【００１７】
ブーム１０６は、旋回体１０４の上部に、傾斜角度を変更可能に設けられる。ブーム１０６は、不図示のアクチュエータが駆動することで、旋回体１０４を基準とした傾斜角度を変更可能である。
【００１８】
旋回体１０４には、旋回角度センサ１１８および傾斜角度センサ１２０が設けられる。旋回角度センサ１１８および傾斜角度センサ１２０は、例えばロータリーエンコーダである。旋回角度センサ１１８は、走行体１０２に対する旋回体１０４の旋回角度を計測する。傾斜角度センサ１２０は、旋回体１０４に対するブーム１０６の傾斜角度を計測する。
【００１９】
トップフレーム１０８は、ブーム１０６の先端に設けられる。トップフレーム１０８には、エレベータ１１０を旋回させるアクチュエータが設けられる。
【００２０】
エレベータ１１０は、略円柱形状に形成される。エレベータ１１０は、中心軸を中心として旋回自在にトップフレーム１０８に支持される。トップフレーム１０８には、旋回角度センサ１２２が設けられる。旋回角度センサ１２２は、例えばロータリーエンコーダである。旋回角度センサ１２２は、トップフレーム１０８に対するエレベータ１１０の旋回角度を計測する。
【００２１】
掻取部１１２は、エレベータ１１０の下端に設けられる。掻取部１１２は、エレベータ１１０の旋回に伴って、エレベータ１１０と一体的に旋回する。このように、掻取部１１２は、垂直運搬機構部として機能するトップフレーム１０８およびエレベータ１１０によって旋回自在に保持される。
【００２２】
掻取部１１２は、複数のバケツ１１２ａおよびチェーン１１２ｂが設けられる。複数のバケツ１１２ａは、チェーン１１２ｂに連続的に配置される。チェーン１１２ｂは、掻取部１１２、および、エレベータ１１０の内部に架け渡される。
【００２３】
掻取部１１２は、不図示のリンク機構が設けられる。リンク機構は、可動することにより、掻取部１１２の底部の長さを可変させる。これにより、掻取部１１２は、船庫５内の積荷６と接するバケツ１１２ａの数を可変させる。掻取部１１２は、チェーン１１２ｂを回動させることにより、底部のバケツ１１２ａによって船庫５内の積荷６を掻き取る。そして、積荷６を掻き取ったバケツ１１２ａは、チェーン１１２ｂの回動に伴ってエレベータ１１０の上部に移動する。
【００２４】
ブームコンベア１１４は、ブーム１０６の下方に設けられる。ブームコンベア１１４は、バケツ１１２ａによってエレベータ１１０の上部に移動された積荷６を外部に搬出させる。
【００２５】
このような構成でなるアンローダ装置１００は、走行体１０２によってレール３の延在方向に移動し、船舶４との長手方向の相対位置関係を調整する。また、アンローダ装置１００は、旋回体１０４によって、ブーム１０６、トップフレーム１０８、エレベータ１１０および掻取部１１２を旋回させ、船舶４との短手方向の相対位置関係を調整する。また、アンローダ装置１００は、ブーム１０６によって、トップフレーム１０８、エレベータ１１０および掻取部１１２を鉛直方向に移動させ、船舶４との鉛直方向の相対位置関係を調整する。また、アンローダ装置１００は、トップフレーム１０８によってエレベータ１１０および掻取部１１２を旋回させる。これにより、アンローダ装置１００は、掻取部１１２を任意の位置および角度に移動させることができる。
【００２６】
ここで、船舶４は、複数の船庫５が設けられる。船庫５は、上部にハッチコーミング７が設けられる。ハッチコーミング７は、鉛直方向に所定高さの壁面を有している。また、ハッチコーミング７は、船庫５における中央付近の水平断面に比べて、開口面積が小さい。つまり、船庫５は、ハッチコーミング７により開口が窄まった形状をしている。なお、ハッチコーミング７の上方には、ハッチコーミング７を開閉するハッチカバー８が設けられる。
【００２７】
アンローダ装置１００には、測距センサ１３０〜１３６が設けられる。測距センサ１３０〜１３６は、例えば、測距可能なレーザセンサであり、Ｖｅｌｏｄｙｎｅ社製のＶＬＰ−１６、ＶＬＰ−３２、Ｑｕａｎｅｒｇｙ社製のＭ８等が適用される。測距センサ１３０〜１３６は、例えば円柱形状の本体部の側面に、軸方向に沿って離隔した１６のレーザー照射部が設けられる。レーザー照射部は、３６０度回転可能に本体部に設けられる。レーザー照射部は、互いに隣接して配置されたレーザー照射部との軸方向のレーザーの発射角度の差が１〜２．５度間隔で均等となるようにそれぞれ配置される。つまり、測距センサ１３０〜１３６は、本体部の周方向に３６０度の範囲でレーザーを照射可能である。また、測距センサ１３０〜１３６は、本体部の軸方向に直交する平面を基準として、±１５度の範囲でレーザーを発射可能である。また、測距センサ１３０〜１３６は、レーザーを受信する受信部が本体部に設けられる。
【００２８】
測距センサ１３０〜１３６は、レーザー照射部を回転させながら所定角度毎にレーザーを照射する。測距センサ１３０〜１３６は、複数のレーザー照射部から照射（投影）されて物体（計測点）で反射したレーザーを受信部でそれぞれ受信する。そして、測距センサ１３０〜１３６は、レーザーが照射されてから受信するまでの時間に基づいて、物体までの距離を導出する。つまり、測距センサ１３０〜１３６は、１つのレーザー照射部によって、１つの計測ライン上で複数の計測点までの距離をそれぞれ計測する。また、測距センサ１３０〜１３６は、複数のレーザー照射部によって、複数の計測ライン上での複数の計測点までの距離をそれぞれ計測する。
【００２９】
図３および図４は、測距センサ１３０〜１３２の計測範囲を説明する図である。図３は、アンローダ装置１００を上方から見た際の測距センサ１３０〜１３２の計測範囲を説明する図である。図４は、アンローダ装置１００を側方から見た際の測距センサ１３０〜１３２の計測範囲を説明する図である。図３および図４において、測距センサ１３０〜１３２の計測範囲を一点鎖線で示す。
【００３０】
測距センサ１３０〜１３２は、主に、ハッチコーミング７を検出する際に用いられる。測距センサ１３０〜１３２は、図３および図４に示すように、トップフレーム１０８の側面に取り付けられる。具体的には、測距センサ１３０〜１３２は、エレベータ１１０の中心軸を基準として、周方向に互いに１２０度離して配置される。また、測距センサ１３０〜１３２は、本体部の中心軸が、エレベータ１１０の径方向に沿うように配置される。なお、測距センサ１３０〜１３２は、鉛直方向の上半分が不図示のカバーで覆われる。
【００３１】
したがって、測距センサ１３０〜１３２は、図３および図４に示すように、計測方向として、水平面よりも下方であって、トップフレーム１０８の側面に接する接線を基準として±１５度の範囲に存在する物体までの距離を計測することができる。
【００３２】
図５および図６は、測距センサ１３３〜１３６の計測範囲を説明する図である。図５は、掻取部１１２を上方から見た際の測距センサ１３３〜１３６の計測範囲を説明する図である。なお、図５では、アンローダ装置１００のうち、掻取部１１２のみを図示している。また、図５では、船舶４について、掻取部１１２と鉛直方向の同位置での水平断面を示している。図６は、アンローダ装置１００を側方から見た際の測距センサ１３３〜１３６の計測範囲を説明する図である。図５および図６において、測距センサ１３３、１３４の計測範囲を一点鎖線で示す。また、図５および図６において、測距センサ１３５、１３６の計測範囲を二点鎖線で示す。
【００３３】
測距センサ１３３〜１３６は、主に、船庫５内の積荷６、および、船庫５の壁面（側壁および底面）を検出する際に用いられる。測距センサ１３３は、図５および図６に示すように、掻取部１１２の側面１１２ｃに取り付けられる。測距センサ１３３は、本体部の中心軸が、掻取部１１２の側面１１２ｃに直交するように配置される。測距センサ１３４は、掻取部１１２の側面１１２ｄに取り付けられる。測距センサ１３４は、本体部の中心軸が、掻取部１１２の側面１１２ｄに直交するように配置される。測距センサ１３３、１３４は、鉛直方向の一部が不図示のカバーで覆われる。
【００３４】
したがって、測距センサ１３３、１３４は、計測方向として、掻取部１１２の側面１１２ｃおよび側面１１２ｄの上方側の一部および下方側であって、掻取部１１２の側面１１２ｃおよび側面１１２ｄと平行な位置を基準として±１５度の範囲に存在する物体の距離を計測することができる。なお、本実施形態の測距センサ１３３、１３４は、掻取部１１２の底部が位置する平面上において、少なくとも掻取部１１２の底部の最大長さ以上の範囲を計測できるように配置される。
【００３５】
測距センサ１３５は、掻取部１１２の側面１１２ｃに取り付けられる。測距センサ１３５は、本体部の中心軸が、掻取部１１２の底面と直交するように配置される。測距センサ１３６は、掻取部１１２の側面１１２ｄに取り付けられる。測距センサ１３６は、本体部の中心軸が、掻取部１１２の底面と直交するように配置される。
【００３６】
したがって、測距センサ１３５、１３６は、計測方向として、掻取部１１２の外方であって、掻取部１１２の側面１１２ｃおよび側面１１２ｄに直交する水平面(あるいは、本体部の中心軸と直交する平面)を基準として±１５度の範囲に存在する物体の距離を計測することができる。
【００３７】
測距センサ１３０〜１３６は、物体までの距離を計測すると、物体までの距離を示す計測データをアンローダ制御部１４０（図７参照）に送信する。
【００３８】
図７は、アンローダ装置１００の電気的な構成を説明する図である。図７に示すように、アンローダ装置１００には、アンローダ制御部１４０、記憶部１４２および表示部１４４が設けられる。
【００３９】
アンローダ制御部１４０は、位置センサ１１６、旋回角度センサ１１８、傾斜角度センサ１２０、旋回角度センサ１２２、測距センサ１３０〜１３６、記憶部１４２および表示部１４４と接続される。アンローダ制御部１４０は、ＣＰＵ（中央処理装置）を含む半導体集積回路で構成される。アンローダ制御部１４０は、ＲＯＭからＣＰＵ自体を動作させるためのプログラムやパラメータ等を読み出す。そして、アンローダ制御部１４０は、ワークエリアとしてのＲＡＭや他の電子回路と協働して、アンローダ装置１００全体を管理および制御する。
【００４０】
また、アンローダ制御部１４０は、駆動制御部１５０、領域生成部１５２、エッジ検出部１５４、計測データ取得部１５６、座標変換導出部１５８、データ蓄積部１６０、ノイズ除去部１６２、形状導出部１６４として機能する。データ蓄積部１６０は、上部データ蓄積部１７０および下部データ蓄積部１７２としても機能する。形状導出部１６４は、底面形状導出部１８０および側壁形状導出部１８２としても機能する。駆動制御部１５０は、アンローダ装置１００の駆動を制御する。なお、アンローダ制御部１４０の他の機能部の詳細については後述する。
【００４１】
記憶部１４２は、ハードディスク、不揮発性メモリ等の記憶媒体である。記憶部１４２は、アンローダ装置１００の３次元モデルのデータを記憶する。アンローダ装置１００の３次元モデルのデータは、エレベータ１１０および掻取部１１２の少なくとも外形形状が示されるボクセルデータである。また、記憶部１４２は、詳しくは後述するように、形状導出部１６４により導出された船庫５の３次元形状が示される３次元モデルのデータを記憶する。なお、３次元モデルのデータは、アンローダ装置１００および船庫５の３次元形状が把握可能なデータであればよく、ポリゴンデータ、輪郭（直線）や点群等であってもそれらを併用してもよい。また、船庫５の３次元モデルのデータは、船舶４ごとに、その船舶４に設けられる船庫５の数分だけ記憶部１４２に記憶される。
【００４２】
表示部１４４は、ＬＥＤディスプレイ、有機ＥＬディスプレイ等である。表示部１４４には、船庫５の３次元モデルに対してアンローダ装置１００の３次元モデルが配置された画像が表示される。
【００４３】
図８は、船庫５の３次元形状を導出する処理の流れを示すフローチャートである。なお、船庫５の３次元形状を導出する処理は、アンローダ装置１００によって積荷６を初めて掻き取る船庫５に対して行われることを前提としている。したがって、同一の船庫５に対して２回目以降に積荷６が掻き取られるときには、船庫５の３次元形状を導出する処理が行われない。
【００４４】
図８に示すように、船庫５の３次元形状を導出する処理を開始すると、まず、領域生成部１５２は、ハッチコーミング座標系３２０（図９、図１０参照）を基準とした（船庫５を基準とした）作業領域４００（図１１参照）を作成する領域作成処理を行う（Ｓ１００）。作業領域は、仮想的に生成した３次元空間に稠密に小領域群が配置されたものである。本実施形態では、立方格子状に立方体の小領域（ボクセル）が配列された空間（所謂ボクセル空間）を用いる。
【００４５】
図９および図１０は、アンローダ装置１００の座標系を説明する図である。図９は、アンローダ装置１００を上方から見た図である。図１０は、アンローダ装置１００を側方から見た図である。ここで、アンローダ装置１００は、３つの座標系、すなわち、地上座標系３００、トップフレーム座標系３１０およびハッチコーミング座標系３２０を有する。
【００４６】
図９および図１０に示すように、地上座標系３００は、予め設定されたアンローダ装置１００の初期位置を原点としている。地上座標系３００は、レール３の延在方向および鉛直方向に直交する方向をＸａ軸方向とする。地上座標系３００は、レール３の延在方向をＹａ軸方向とする。地上座標系３００は、鉛直方向をＺａ軸方向とする。
【００４７】
トップフレーム座標系３１０は、エレベータ１１０の中心軸上であって、鉛直方向におけるトップフレーム１０８の下端を原点としている。トップフレーム座標系３１０は、ブーム１０６の下面の延在方向であって、ブーム１０６に沿った方向をＸｂ軸方向とする。トップフレーム座標系３１０は、ブーム１０６の下面の延在方向であって、ブーム１０６に直交する方向をＹｂ軸方向とする。トップフレーム座標系３１０は、エレベータ１１０の延在方向をＺｂ軸方向とする。
【００４８】
ハッチコーミング座標系３２０は、船舶４のハッチコーミング７における船尾側の壁面の中心位置であって、ハッチコーミング７の上端を原点（特定位置）としている。ハッチコーミング座標系３２０は、船舶４の長手方向、つまり、船舶４に沿ったハッチコーミング７の延在方向をＸｃ軸方向とする。ハッチコーミング座標系３２０は、船舶４の短手方向（幅方向）をＹｃ軸方向とする。ハッチコーミング座標系３２０は、ハッチコーミング７の上端面に直交する上方向をＺｃ軸方向とする。
【００４９】
図１１は、複数の小領域４０２で構成される作業領域４００を説明する図である。なお、図１１では、船庫５を一点鎖線で図示している。図１１に示すように、領域生成部１５２は、ハッチコーミング座標系３２０において、原点Ｏを基準として３次元に展開された複数の小領域（ボクセル）４０２を配置することで作業領域４００を生成する。作業領域４００は、複数の小領域４０２が、Ｘｃ軸方向、Ｙｃ軸方向およびＺｃ軸方向に並んで配置される。より具体的には、領域生成部１５２は、Ｘｃ軸方向およびＹｃ軸方向には、正方向および負方向の両方に小領域４０２を配置し、Ｚｃ軸方向には負方向にのみ小領域４０２を配置する。小領域４０２は、例えば１辺が０．２〜１ｍの直方体である。
【００５０】
作業領域４００は、全体として船庫５よりも大きければよく、小領域４０２の数および１辺の長さは適宜選択可能である。また、作業領域４００は、全体としてＺｃ軸方向を軸中心とした円筒形状であってもよく、その場合、小領域４０２のＸＹ平面の断面が扇型となるように形成すればよい。
【００５１】
なお、領域生成部１５２は、同一の作業領域４００を２つ作成する。また、小領域４０２には、詳しくは後述するように、それぞれ、計測点の数を示す投票回数、Ｘｃ軸方向における計測点の座標の総和、Ｙｃ軸方向における計測点の座標の総和、Ｚｃ軸方向における計測点の座標の総和、測距センサ１３３または１３４までの最小距離、計測点から測距センサ１３３または１３４に向かう計測方向ベクトル（比較方向）といった統計データが対応付けて記憶される。なお、統計データとしてここに記載される項目は一例であり、例えば分散値等の他の項目を蓄積してもよい。
【００５２】
図８に戻り、エッジ検出部１５４は、記憶部１４２に記憶されたハッチコーミング７の３次元モデル情報を記憶部１４２から読み出す（Ｓ１０２）。なお、ハッチコーミング７の３次元モデル情報は、ハッチコーミング座標系３２０によって表されるハッチコーミング７の３次元モデルである。ハッチコーミング７の３次元モデル情報は、掻取部１１２を初めて船庫５内に投入する際に、測距センサ１３０〜１３２によって計測された計測点の計測データを用いて作成されてもよい。また、ハッチコーミング７の３次元モデル情報は、他の計測器により計測された計測データを用いて作成されてもよい。また、ハッチコーミング７の３次元モデル情報は、ハッチコーミング７の図面に基づいて作成されてもよい。いずれにしても、ハッチコーミング７の３次元モデル情報は、Ｓ１０２の処理が行われるまでに作成され記憶部１４２に記憶されていればよい。
【００５３】
続いて、計測データ取得部１５６は、測距センサ１３０〜１３６で計測された計測点の計測データを随時取得する（Ｓ１０４）。なお、計測データ取得部１５６は、掻取部１１２が船庫５内の積荷６の掻き取り作業を開始してから、全ての積荷６を掻き取り終えるまでの間（例えば１０時間）、各測距センサ１３０〜１３６から計測データを１秒に１〜５回の頻度で定期的に取得する。
【００５４】
そして、計測データ取得部１５６により測距センサ１３０〜１３６から計測データが取得される度に、座標変換導出部１５８は、トップフレーム座標系３１０をハッチコーミング座標系３２０に変換するための変換パラメータを導出する座標変換処理を行う（Ｓ１０６）。
【００５５】
ここで、地上座標系３００、トップフレーム座標系３１０は、アンローダ装置１００の形状、および、アンローダ装置１００の移動に基づいて変換が可能である。
【００５６】
例えば、測距センサ１３３〜１３６は、掻取部１１２に取り付けられているため、掻取部１１２に対する位置は予め既知となっている。そして、エレベータ１１０の旋回角度に基づいて、トップフレーム座標系３１０の位置を導出することができる。
【００５７】
また、測距センサ１３０〜１３２は、トップフレーム１０８に取り付けられているため、トップフレーム座標系３１０の位置が予め既知となっている。
【００５８】
ここで、トップフレーム座標系３１０と、ハッチコーミング座標系３２０とは、アンローダ装置１００および船舶４の移動に伴って相対的な位置関係が変化する。例えば、船舶４が揺れたり、潮の満ち引きや積荷６の積載量によって船舶４が鉛直方向に移動したりすることで、トップフレーム座標系３１０と、ハッチコーミング座標系３２０とは、相対的な位置関係が変化する。
【００５９】
そこで、エッジ検出部１５４は、測距センサ１３０〜１３２により測定される計測点の計測データに基づいてハッチコーミング７の上端のエッジを検出する。そして、座標変換導出部１５８は、検出したハッチコーミング７の上端のエッジに基づいて、トップフレーム座標系３１０をハッチコーミング座標系３２０に変換するための変換パラメータを導出する。つまり、ここでは、作業領域４００において基準点となるハッチコーミング７と、測距センサ１３３あるいは１３４との位置関係を導出する。そして、その位置関係は、作業領域４００内における小領域４０２への測距センサ１３３、１３４で計測される計測点の反映に用いる。
【００６０】
まず、エッジ検出部１５４は、測距センサ１３０〜１３２の位置、および、測距センサ１３０〜１３２により計測された計測点までの距離に基づいて、トップフレーム座標系３１０における計測点の３次元位置を導出する。
【００６１】
図１２は、測距センサ１３０〜１３２の計測点を説明する図である。なお、図１２では、ハッチコーミング７上の測距センサ１３０〜１３２の計測範囲を太線で示す。図１２に示すように、測距センサ１３０〜１３２は、水平面よりも下方であって、トップフレーム１０８に接する平面を基準として測距センサ１３０〜１３２から±１５度の範囲に存在する物体までの距離を計測する。
【００６２】
したがって、測距センサ１３０〜１３２は、測距センサ１３０〜１３２の鉛直下方（エレベータ１１０の回転中心）を基準として、前方側と後方側とで異なるハッチコーミング７のエッジが計測範囲となる。なお、前方側とは、１回の計測において（時系列の）前半に計測された計測範囲をいう。また、後方側とは、１回の計測において（時系列の）後半に計測された計測範囲をいう。
【００６３】
そこで、測距センサ１３０〜１３２で計測された測定点を、測距センサ１３０〜１３２の鉛直下方を基準として、前方側および後方側の２つに分割する。
【００６４】
図１３は、エッジ点を検出する様子を示す図である。なお、図１３において、計測点を黒丸で示す。図１３では、測距センサ１３０〜１３２の１つのレーザー照射部に照射されたレーザーによって計測された計測点を図示している。
【００６５】
エッジ検出部１５４は、１つのレーザー照射部により照射されて計測された１つの計測ラインの計測点群毎（前方側、後方側毎）に以下の処理を行う。エッジ検出部１５４は、１つのレーザー照射部により照射されて計測された各計測点のベクトル（方向）を導出する。なお、計測点のベクトルは、連続して計測される計測点のうち、１の計測点に対する、次に計測される計測点の方向（ベクトル）を、１の計測点のベクトルとして導出する。
【００６６】
そして、エッジ検出部１５４は、計測点のベクトルが鉛直方向とされる計測点を抽出する。これは、測距センサ１３０〜１３２により計測されるハッチコーミング７の壁面（側面）が概ね鉛直方向に延在しているので、ハッチコーミング７の壁面に計測点がある場合、計測点のベクトルが鉛直方向となるからである。
【００６７】
そして、エッジ検出部１５４は、抽出された計測点のうち、連続して抽出された計測点が複数ある場合、鉛直方向における最も上方の点を抽出する。これは、ハッチコーミング７の上端のエッジを検出するため、連続して計測された計測点群においては、最も上方の点が、ハッチコーミング７の上端のエッジである可能性があるからである。
【００６８】
続いて、エッジ検出部１５４は、抽出された計測点のうち、トップフレーム座標系３１０におけるＸｂ軸方向およびＹｂ軸方向における最も原点に近い計測点を抽出する。つまり、エッジ検出部１５４は、エレベータ１１０の中心軸に最も近い計測点を抽出する。これは、ハッチコーミング７が船舶４の各構造物のうち、最もエレベータ１１０に近い位置にあるからである。
【００６９】
そして、エッジ検出部１５４は、抽出された計測点に対して、トップフレーム座標系３１０におけるＸｂ軸方向およびＹｂ軸方向の所定の範囲（例えば数十ｃｍの範囲）に存在する計測点を再抽出する。ここでは、ハッチコーミング７上の計測点を抽出することになる。
【００７０】
そして、エッジ検出部１５４は、再抽出した計測点、つまり、ハッチコーミング７上の計測点のうち、鉛直方向における最も上方の計測点をハッチコーミング７のエッジ点として抽出する。
【００７１】
エッジ検出部１５４は、測距センサ１３０〜１３２の１つのレーザー照射部により照射されて計測された計測点群毎に、前方側および後方側のエッジ点を抽出する。
【００７２】
そして、全てのエッジ点が抽出されると、エッジ検出部１５４は、ハッチコーミング７のエッジの直線を検出する。具体的には、エッジ検出部１５４は、測距センサ１３０の前方側でそれぞれ抽出されたエッジ点を１つのグループとする。同様に、エッジ検出部１５４は、測距センサ１３０の後方側でそれぞれ抽出されたエッジ点を１つのグループとする。さらに、エッジ検出部１５４は、測距センサ１３１、１３２の前方側および後方側でそれぞれ抽出されたエッジ点をそれぞれグループとする。
【００７３】
ここで、図１２に示したように、測距センサ１３０〜１３２の前方側および後方側でそれぞれ計測されるハッチコーミング７の上端のエッジの直線は、ハッチコーミング７の角を含む場合、２本計測されることになる。
【００７４】
そこで、エッジ検出部１５４は、グループごとに、抽出されたエッジ点間の線分のうち、最も多くの類似の線分をもつものを候補ベクトルとして導出する。そして、エッジ検出部１５４は、候補ベクトルに対して予め設定された範囲以内に存在するエッジ点を抽出する。そして、エッジ検出部１５４は、抽出したエッジ点を用いて直線を再計算する。
【００７５】
次に、エッジ検出部１５４は、抽出されなかったエッジ点を用いて上記した処理を繰り返し行う。ただし、抽出されたエッジ点の数が、予め設定された閾値未満である場合、直線を導出しない。これにより、ハッチコーミング７の角を含む場合であっても、２本のエッジの直線を導出することができる。
【００７６】
エッジ検出部１５４は、グループごとに、上記した処理を繰り返し行うことで、エッジの直線を導出する。
【００７７】
このように、エッジの直線は、１箇所で最大２個検出されるため、最大で１２本検出されることになる。
【００７８】
そして、エッジ検出部１５４は、検出された直線のうち、各直線間におけるなす角を導出する。そして、エッジ検出部１５４は、なす角が予め決められた閾値以下である場合、同一の直線であるとして統合する。具体的には、なす角が予め決められた閾値以下である直線を構成するエッジ点を用いて、最小二乗近似により直線を再導出する。
【００７９】
続いて、エッジ検出部１５４は、検出したエッジの直線から、各辺の３次元方向ベクトル、各辺の３次元重心座標、各辺の長さ、各辺の端点の座標を含むエッジ辺情報を導出する。このように、船舶４の上方に設けられた測距センサ１３０〜１３２を用いて、船庫５の上部に設けられたハッチコーミング７のエッジ辺情報を導出することで、船庫５の位置（姿勢）を精度よく容易に導出することが可能となる。
【００８０】
次に、座標変換導出部１５８は、Ｓ１０２で読み込んだ３次元モデル情報と、トップフレーム座標系３１０で表現されるエッジ辺情報（検出結果）とに基づいて、トップフレーム座標系３１０とハッチコーミング座標系３２０との変換パラメータを導出する座標変換処理を行う（図８のＳ１０６）。
【００８１】
座標変換導出部１５８は、ブーム１０６の旋回角度だけ、検出したハッチコーミング７のエッジの直線の向きを回転させることで大まかな補正を行う。また、座標変換導出部１５８は、検出したハッチコーミング７のエッジの直線と、３次元形状情報におけるハッチコーミング７の上端の辺とを、エッジの向きが最も近い直線同士を対応付ける。これにより、正しい対応付けがなされるため、安定して正解に近い解の変換パラメータが得られる。なお、対応付けにおいては、検出したハッチコーミング７のエッジの直線を３次元点群で表し、その３次元点群と、３次元モデル情報におけるハッチコーミング７の上端の辺との最短距離の平均値が近いもの同士を対応付けてもよい。また、エッジの向きおよび最短距離の平均値の双方を考慮して対応付けてもよい。
【００８２】
そして、座標変換導出部１５８は、変換パラメータである、Ｘｂ軸、Ｙｂ軸、Ｚｂ軸回りの回転角度α、β、γと、進行ベクトルｔ＝（ｔｘ，ｔｙ，ｔｚ）とを例えばＬＭ法により求める。ＬＭ法では、例えばエッジの直線を構成するエッジ点と、３次元形状情報に基づくハッチコーミング７の上端の辺との距離の差の二乗和を評価関数とし、その評価関数を最小にする変換パラメータを求める。具体的には、エッジの直線を構成するエッジ点と３次元形状情報に基づくハッチコーミング７の上端の辺との距離の合計、または、エッジの直線と３次元形状情報に基づくハッチコーミング７の上端の辺とにより形成される曲面の面積が最小となるように変換パラメータを求める。なお、変換パラメータを求める手法は、ＬＭ法に限らず、最急降下法、ニュートン法など他の手法であってもよい。
【００８３】
このようにして、座標変換導出部１５８は、トップフレーム座標系３１０をハッチコーミング座標系３２０に変換するための変換パラメータを導出する。
【００８４】
これにより、アンローダ装置１００は、掻取部１１２に設けられた測距センサ１３３〜１３６によって計測された計測点の３次元位置をハッチコーミング座標系３２０で表現することが可能となる。したがって、測距センサ１３３〜１３６は、船庫５の計測点におけるハッチコーミング座標系３２０の３次元位置（位置情報）に関する計測データを計測しているとも言える。また、ハッチコーミング座標系３２０で表現することで、アンローダ装置１００に対する船舶４の揺れ、位置の変化の影響を低減することができる。
【００８５】
データ蓄積部１６０は、測距センサ１３３および１３４により計測された計測点の３次元位置に基づいて、作業領域４００に形成された小領域４０２に対して計測点の統計データを蓄積していく（図８のＳ１０８、Ｓ１１０）。
【００８６】
図１４は、測距センサ１３３で計測される計測点を上部および下部に分割する様子を説明する図である。なお、図１４において、測距センサ１３３の計測範囲を一点鎖線で示す。上記したように、測距センサ１３３は、鉛直方向の一部が不図示のカバーで覆われる。したがって、図１４に示すように、測距センサ１３３は、エレベータ１１０の延在方向に直交する平面Ｓ１を基準として、相対的に上部（エレベータ１１０側）と、相対的に下部（掻取部１１２の底面側）とに存在する物体（計測点）までの距離を計測可能である。同様に、測距センサ１３４は、エレベータ１１０の延在方向に直交する平面Ｓ１を基準として、上部と下部とに存在する物体（計測点）までの距離を計測可能である。なお、上部および下部を分ける基準は、積荷６の表面が計測範囲に入らない高さで設定すればよい。
【００８７】
そして、掻取部１１２が船庫５内に挿入されている場合、測距センサ１３３および１３４は、主に、上部の計測点によって船庫５の側壁、船庫５内の構造物（これらを合わせて船庫５の側部とも呼ぶ）までの距離を計測し、下部の計測点によって船庫５の底面、船庫５の側壁、船庫５内の構造物、および、積荷６までの距離（これらを合わせて船庫５の底部とも呼ぶ）を計測することになる。
【００８８】
そこで、データ蓄積部１６０は、測距センサ１３３および１３４により計測された計測点の計測データを、上部の計測点の計測データと下部の計測点の計測データとに分けて、異なる作業領域４００に形成された小領域４０２に対して統計データを蓄積していく。
【００８９】
上部データ蓄積部１７０は、測距センサ１３３および１３４により計測された計測点のうち、上部の計測点のトップフレーム座標系３１０の３次元位置を導出する。また、上部データ蓄積部１７０は、トップフレーム座標系３１０の３次元位置を、変換パラメータを用いてハッチコーミング座標系３２０の３次元位置に変換する。
【００９０】
そして、上部データ蓄積部１７０は、上部用の作業領域４００を用いて、ハッチコーミング座標系３２０における計測点の３次元位置に対応する小領域４０２に統計データを蓄積する上部計測データ蓄積処理を行う（図８のＳ１０８）。具体的には、１点の計測データを受けて、上部データ蓄積部１７０は、対応する小領域４０２の投票回数（計測点の数）を１加算する。また、上部データ蓄積部１７０は、計測点のＸｃ軸方向の位置（座標）を、Ｘｃ軸方向の座標の総和に加算する。また、上部データ蓄積部１７０は、計測点のＹｃ軸方向の位置（座標）を、Ｙｃ軸方向の座標の総和に加算する。また、上部データ蓄積部１７０は、計測点のＺｃ軸方向の位置（座標）を、Ｚｃ軸方向の総和に加算する。一回の計測で複数点の計測が行われるため、１回の計測で小領域４０２に複数回の加算が行われることもある。ここで、Ｘｃ軸方向の座標の総和を投票回数で除算することで、小領域４０２に含まれる計測点のＸｃ軸方向の重心位置が導出可能である。したがって、投票回数、Ｘｃ軸方向の座標の総和、Ｙｃ軸方向の座標の総和、計測点のＺｃ軸方向の位置（座標）を蓄積していくことで、小領域４０２の３次元の重心位置が導出可能となる。
【００９１】
また、上部データ蓄積部１７０は、計測点と、その計測点を計測したときの測距センサ１３３または１３４の位置との間の距離を導出する。なお、測距センサ１３３または１３４のトップフレーム座標系３１０の３次元位置は、変換パラメータを用いてハッチコーミング座標系３２０に変換される。なお、ここでは、ハッチコーミング座標系３２０に変換せずに、計測点と、その計測点を計測したときの測距センサ１３３または１３４の位置との間の距離を導出するようにしてもよい。
【００９２】
そして、上部データ蓄積部１７０は、導出した距離と、その小領域４０２について保持されている最小距離とを比較し、導出した距離の方が小さい値である場合、最小距離を、導出した距離に更新する。つまり、小領域４０２内に含まれる計測点のうち、測距センサ１３３または１３４までの距離が最も近い計測点と、その計測点が計測されたときの測距センサ１３３または１３４の位置との間の距離が最小距離として保持されることになる。
【００９３】
また、上部データ蓄積部１７０は、最小距離が更新された場合、その計測点から測距センサ１３３または１３４に向かうベクトルを導出し、導出したベクトルを計測方向ベクトルとして更新する。ここでは、最小距離となる計測点と、その計測点が測定されたときの測距センサ１３３または１３４の位置とのベクトルが計測方向ベクトルとして保持されることになる。
【００９４】
上部データ蓄積部１７０は、測距センサ１３３または１３４によって計測データが取得される度に、上部に属する全ての計測点について、対応する小領域４０２に統計データを蓄積していく。
【００９５】
同様に、下部データ蓄積部１７２は、測距センサ１３３および１３４により計測された計測点のうち、下部の計測点のトップフレーム座標系３１０の３次元位置を導出する。また、下部データ蓄積部１７２は、トップフレーム座標系３１０の３次元位置を、変換パラメータを用いてハッチコーミング座標系３２０の３次元位置に変換する。
【００９６】
そして、下部データ蓄積部１７２は、下部用の作業領域４００を用いて、ハッチコーミング座標系３２０における計測点の３次元位置に対応する小領域４０２に統計データを蓄積する下部計測データ蓄積処理を行う（図８のＳ１１０）。具体的には、下部データ蓄積部１７２は、対応する小領域４０２の投票回数（計測点の数）を１加算する。また、下部データ蓄積部１７２は、計測点のＸｃ軸方向の位置（座標）を、Ｘｃ軸方向の座標の総和に加算する。また、下部データ蓄積部１７２は、計測点のＹｃ軸方向の位置（座標）を、Ｙｃ軸方向の座標の総和に加算する。また、下部データ蓄積部１７２は、計測点のＺｃ軸方向の位置（座標）を、Ｚｃ軸方向の総和に加算する。
【００９７】
また、下部データ蓄積部１７２は、計測点と、その計測点が計測されたときの測距センサ１３３または１３４の位置との間の距離を導出する。そして、下部データ蓄積部１７２は、導出した距離と、その小領域４０２について蓄積されている最小距離とを比較し、導出した距離の方が小さい値である場合、最小距離を、導出した距離に更新する。なお、ここでは、ハッチコーミング座標系３２０に変換せずに、計測点と、その計測点を計測したときの測距センサ１３３または１３４の位置との間の距離を導出するようにしてもよい。
【００９８】
また、下部データ蓄積部１７２は、最小距離が更新された場合、その計測点から測距センサ１３３または１３４に向かうベクトルを導出し、導出したベクトルを計測方向ベクトルとして更新する。
【００９９】
下部データ蓄積部１７２は、アンローダ装置１００によって船庫５内の積荷６の掻き取り作業が終了する直前の数十分〜数時間の間に、測距センサ１３３または１３４によって計測された計測データが取得される度に、下部に属する全ての計測点について、対応する小領域４０２に統計データを蓄積していく。このように、下部の作業領域４００に対しては、積荷６の掻き取り作業が終了する直前の数分間の間に取得された下部の計測点について統計データが蓄積される。これにより、積荷６が船庫５内にほとんど残っていないタイミングでの統計データが蓄積されることになる。したがって、下記で説明する船庫５の底面の形状を導出する際に、積荷６に対応する計測点をできる限り除外することができ、精度良く船庫５の底面の形状を導出することが可能となる。これにより、アンローダ装置１００によって同一の船庫５内の積荷６を２回目以降に荷揚げする際に、導出した船庫５の底面の形状を用いることで、作業者は船庫５の底面の形状を容易に把握することができる。
【０１００】
データ蓄積部１６０は、全ての計測が終了したかを判定する（Ｓ１１２）。ここでは、例えば、掻取部１１２が船庫５から取り除かれる程度の上昇を確認したかによって行われる。ただし、作業者が所定の操作を行うことで全ての計測が終了したかを判定するようにしてもよい。
【０１０１】
そして、全ての計測が終了したと判定した場合（Ｓ１１２のＹＥＳ）、Ｓ１１４の処理に移る。一方、全ての計測が終了したと判定していない場合（Ｓ１１２のＮＯ）、Ｓ１０４の処理に移り、全ての計測が終了するまで、Ｓ１０４〜Ｓ１１０の処理を繰り返し行う。
【０１０２】
全ての計測が終了したと判定した場合（Ｓ１１２のＹＥＳ）、ノイズ除去部１６２は、ノイズ除去処理を行い（Ｓ１１４）、ノイズとされる小領域４０２に対して、船庫５の形状として抽出しないことを示す不採用フラグを立てる。ここで、ノイズ除去部１６２は、２つのノイズ除去処理を行う。
【０１０３】
１つ目のノイズ除去処理では、ノイズ除去部１６２は、Ｚｃ軸方向の高さが同一（同一のＸｃＹｃ平面）の小領域４０２について、投票頻度が低い（計測点が少ない）小領域４０２に不採用フラグを立てる。具体的には、ノイズ除去部１６２は、Ｚｃ軸方向が同じ小領域４０２の全ての投票回数を積算する。そして、ノイズ除去部１６２は、Ｚｃ軸方向が同じ小領域４０２の投票回数が、積算された値の０．０１％未満である小領域４０２に不採用フラグを立てる。これにより、投票回数が極端に少ない小領域４０２が船庫５の形状として採用されることを防止することができる。
【０１０４】
２つ目のノイズ除去処理では、ノイズ除去部１６２は、１の小領域４０２に隣接する２６の小領域４０２（３×３×３＝２７のキューブにおける中央の小領域４０２以外の小領域４０２）について投票回数が０回であった場合、１の小領域４０２に不採用フラグを立てる。これは、雨やチリなどの浮遊物が計測点として計測された場合に、その小領域４０２が船庫５の形状として採用されることを抑制するためである。
【０１０５】
ノイズ除去部１６２によってノイズ除去処理が行われると、形状導出部１６４は、船庫５の３次元形状を導出する（図８のＳ１１６、Ｓ１１８）。底面形状導出部１８０は、主に下部用の作業領域４００（底面位置に所定の閾値を加算した高さ未満の小領域４０２）を用いて、船庫５の底面の３次元形状を導出する底面形状導出処理を行う（図８のＳ１１６）。側壁形状導出部１８２は、主に上部用の作業領域４００（下部用の作業領域４００における底面位置に所定の閾値を加算した高さ以上の小領域４０２を含む）を用いて、船庫５の側壁の３次元形状を導出する側壁形状導出処理を行う（図８のＳ１１８）。
【０１０６】
図１５は、底面形状導出処理を説明する図である。なお、図１５では、計測点を黒丸で示し、抽出される小領域４０２を太線で示す。図１５に示すように、底面形状導出部１８０は、下部用の作業領域４００において、不採用フラグが立っていない小領域４０２の中から、Ｚｃ軸方向（上下方向）に並んだ小領域４０２のうち、Ｚｃ軸の値が最も小さい小領域４０２を抽出する。なお、小領域４０２において、統計データが一度も蓄積されていない場合、つまり、計測点が１個も含まれていない場合、その小領域４０２に対しては不採用フラグが立てられており、ここで抽出されることはない。
【０１０７】
上記した下部計測データ蓄積処理では、船庫５内に積荷６が残っている状態での計測点についても各小領域４０２の統計データが蓄積される。このような場合、積荷６に対する計測点についても統計データに蓄積される。一方で、積荷６が減っていき、船庫５の底面が露出すると、船庫５の底面に対する計測点についての統計データが蓄積される。そこで、船庫５の底面が積荷６よりもＺｃ軸方向の下方に位置することを利用し、Ｚｃ軸方向に並んだ小領域４０２のうち、Ｚｃ軸の値が最も小さい小領域４０２を抽出することで、船庫５の底面に対応する小領域４０２を抽出することができる。
【０１０８】
そして、底面形状導出部１８０は、抽出した小領域４０２のＺｃ軸方向の重心位置を代表高さとする。底面形状導出部１８０は、ＸｃＹｃ平面上の全ての位置の小領域４０２を抽出するとともに代表高さを導出する。そして、底面形状導出部１８０は、Ｚｃ軸方向に所定間隔（例えば、０．２〜１ｍ）で範囲を区切り、区切られた範囲毎に、代表高さが含まれる小領域４０２の数を導出する。なお、Ｚｃ軸方向の間隔と、ＸｃＹｃ方向の間隔は、異なっていてもよい。
【０１０９】
続いて、底面形状導出部１８０は、代表高さが含まれる小領域４０２の数が最も多い範囲と、最も多い数の５０％以上の数が導出された範囲とに含まれる小領域４０２の代表高さの平均を船庫５の底面の高さとして導出する。ここで、船庫５の底面は、Ｚｃ軸方向に常に一定ではなく、傾斜したり、一部が突出または窪んでいたりしている場合もある。そこで、代表高さが含まれる小領域４０２の数が最も多い範囲が底面の高さとして確からしいが、その数の５０％以上の数が導出される範囲も抽出することで、船庫５の平均的な底面の高さを導出することができる。
【０１１０】
続いて、底面形状導出部１８０は、ＸｃＹｃ平面上で同一の小領域４０２毎に、船庫５の底面の高さにある小領域４０２と、その小領域４０２とＺｃ軸方向に隣接する小領域４０２との統計データを抽出する。そして、底面形状導出部１８０は、抽出した統計データについて項目ごとに加算し、３つの小領域４０２の重心位置を底面位置として導出する。ここでは、複数の小領域４０２に船庫５の底面が跨っている可能性があることを考慮し、Ｚｃ軸方向に隣接する小領域４０２についても抽出している。これにより、底面位置をより精度良く導出することができる。
【０１１１】
底面形状導出部１８０は、ＸｃＹｃ平面上の全ての小領域４０２について、同様に、底面位置を導出する。これにより、底面形状導出部１８０は、複数の底面位置（重心位置）の点群により、船庫５の底面の形状（底部の形状）を導出したことになる。
【０１１２】
図１６は、側壁に対応する小領域４０２を導出する様子を説明する図である。側壁形状導出部１８２は、上部用の作業領域４００の小領域４０２、および、下部用の作業領域４００における底面位置に所定の閾値を加算した高さ以上の小領域４０２のうち、不採用フラグが立っていない小領域４０２の中から、底面形状導出部１８０により導出された底面の高さに対して所定の値を加算したＺｃ軸方向の位置以上の小領域４０２を抽出する。
【０１１３】
そして、側壁形状導出部１８２は、図１６に示すように、任意の１の小領域４０２（図中、中央の小領域４０２）のＸｃＹｃ平面上の周囲８個の小領域４０２を抽出する。そして、側壁形状導出部１８２は、８個の小領域４０２の中から、１の小領域４０２の計測方向ベクトルに対応する小領域４０２を比較対象小領域（図中、太線の小領域４０２）として抽出する。具体的には、側壁形状導出部１８２は、１の小領域４０２から８個の小領域４０２それぞれまでのベクトルのうち、計測方向ベクトルに最も近い（角度差が最も小さい）ベクトルに対応する小領域４０２を比較対象小領域として抽出する。その後、側壁形状導出部１８２は、１の小領域４０２の投票回数と、比較対象領域の投票回数とを比較する。また、側壁形状導出部１８２は、比較した結果、投票回数が少ない小領域４０２に対して不採用フラグを立てる。
【０１１４】
側壁形状導出部１８２は、全ての小領域４０２に対して、同様に、比較対象領域の抽出、投票回数の比較、および、不採用フラグを立てる処理を実行する。
【０１１５】
そして、側壁形状導出部１８２は、不採用フラグが立っていない、つまり、投票回数が多いと判定された小領域４０２の重心位置を側壁位置として導出する。換言すれば、側壁形状導出部１８２は、計測方向ベクトルに配列された小領域４０２間の統計データを比較して側壁（表面）に対応する小領域４０２を特定する。これにより、側壁形状導出部１８２は、複数の側壁位置（重心位置）の点群により、船庫５の側壁の形状（側部の形状）を導出したことになる。
【０１１６】
ここで、計測方向ベクトルは、測距センサ１３３または１３４との距離が最小である計測点が計測されたときの方向を示すものである。したがって、計測方向ベクトルは、船庫５の中心方向を示すものであると言える。そして、計測方向ベクトルに沿った方向には、計測誤差によって計測点の数が異なる複数の小領域４０２が並ぶことになる。
【０１１７】
そこで、１の小領域４０２と、計測方向に対応する比較対象小領域との投票回数を比較することで、側壁形状導出部１８２は、船庫５として最も確からしい位置の小領域４０２のみを残す（不採用フラグを立てない）ようにすることができる。これにより、側壁形状導出部１８２は、精度良く船庫５の側壁の形状を導出することができる。
【０１１８】
形状導出部１６４は、船庫５の複数の底面位置（重心位置）の点群、および、複数の側壁位置（重心位置）の点群を導出すると、これら複数の底面位置（重心位置）の点群、および、複数の側壁位置（重心位置）の点群に基づいて、船庫５の３次元モデルを生成し、記憶部１４２に記憶する。なお、３次元モデルの生成方法は、例えば、底面位置および側壁位置それぞれを中心としたボクセルを配置することで３次元モデルを生成したり、隣接する底面位置および側壁位置を互いに結ぶ曲面を導き出すことで３次元モデルを生成したりしてもよく、その方法は問わない。
【０１１９】
以上のように、アンローダ装置１００は、船庫５を基準とした作業領域４００を生成し、作業領域４００の小領域４０２に対して計測点の統計データを蓄積するようにした。これにより、アンローダ装置１００は、測距センサ１３３、１３４が船庫５に対して移動している場合であっても、常に船庫５を基準として統計データを蓄積することができる。かくして、アンローダ装置１００は、統計データの蓄積精度を高くすることができ、精度良く船庫５の３次元形状を導出することができる。
【０１２０】
また、アンローダ装置１００は、同一の船庫５に対して積荷６の掻き取りを行う場合、船庫５の３次元モデルを表示部１４４に表示する。これにより、アンローダ装置１００では、船庫５の形状を作業者に容易に把握させることができる。
【０１２１】
また、アンローダ装置１００は、測距センサ１３３、１３４で計測された計測点を上部と下部とに分けて統計データを蓄積していくようにした。また、アンローダ装置１００は、垂直方向に延在する船庫５の側壁の形状は上部の統計データを用いて導出し、水平方向に延在する船庫５の底面の形状は下部の統計データを用いて導出した。これにより、アンローダ装置１００は、船庫５の側壁および底面の形状をそれぞれ精度良く導出することができる。
【０１２２】
以上、添付図面を参照しながら実施形態について説明したが、本開示はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に技術的範囲に属するものと了解される。
【０１２３】
例えば、上記実施形態において、エッジ検出部１５４によるエッジの検出方法は一例に過ぎない。エッジ検出部１５４は、他の方法によりハッチコーミング７のエッジを抽出するようにしてもよい。
【０１２４】
また、上記実施形態において、アンローダ装置１００の移動に伴って測距センサ１３３、１３４を移動させるようにしたが、測距センサ１３３、１３４の向き等を変更可能にしてもよい。これにより、測距センサ１３３、１３４の計測範囲を広くし、早期に船庫５の形状を導出することができる。
【０１２５】
また、上記実施形態において、側壁の形状を導出する際、投票回数を比較するようにした。しかしながら、データ蓄積部１６０は、蓄積データとして計測時期を蓄積（更新）していくようにしてもよい。そして、形状導出部１６４は、より早い時期に計測された計測点が含まれる小領域４０２に不採用フラグを立て、より遅い時期に計測された計測点を残すようにしてもよい。これにより、例えば、積荷６が掻き取られていくなど、環境が変化する場合において、最も新しく計測された計測点を採用することで、物体の形状を精度良く導出することができる。
【０１２６】
また、上記実施形態において、側壁の形状を導出する際、１の小領域４０２と、隣接する小領域４０２との投票回数を比較するようにした。しかしながら、１の小領域４０２と、計測方向ベクトルに対応する複数の小領域４０２との投票回数を比較するようにしてもよい。この場合、最も投票回数が多い小領域４０２のみを残し、他の小領域４０２に不採用フラグを立ててもよい。また、最も投票回数が多い小領域４０２、および、最も多い投票回数の所定の割合（例えば５０％）以上の投票回数がある小領域４０２を残すようにしてもよい。これにより、例えば、船庫５の側壁の近くに別の構造物がある場合、その構造物に対応する小領域４０２を残す（構造物を特定する）ことができる。
【０１２７】
また、上記実施形態では、１の小領域４０２と、計測方向ベクトル（比較方向）に対応する小領域４０２との投票回数を比較するようにした。しかしながら、計測方向ベクトルに限らず、いずれの方向に並んだ小領域４０２を比較するかについても適宜変更し得る。例えば、小領域４０２の計測点の分布で最も重心から二乗距離和が最も小さくなる方向、つまり、分布の第三主成分の方向を比較方向として統計的に求めることで、その方向に並んだ小領域４０２を比較する方法を採用することも可能である。
【０１２８】
また、上記実施形態において、座標変換処理を毎回行うようにした。しかしながら、ＳＬＡＭ法を用いて、過去に計測された計測点と、今回計測された計測点とのマッチングを取ることにより、計測点のハッチコーミング座標系３２０の３次元位置を推定するようにしてもよい。
【０１２９】
また、上記実施形態において、形状導出装置の一例としてアンローダ装置１００を例に挙げて説明した。しかしながら、形状導出装置は、アンローダ装置に限らない。形状導出装置は、物体の形状を導出する様々な装置に適応することができる。
【産業上の利用可能性】
【０１３０】
本開示は、形状導出装置に利用することができる。
【符号の説明】
【０１３１】
１００  アンローダ装置（形状導出装置）
１３３  測距センサ
１３４  測距センサ
１５２  領域生成部
１５６  計測データ取得部
１６０  データ蓄積部
１６４  形状導出部
【図１】
2020173132.tif 000003
【図２】
2020173132.tif 000004
【図３】
2020173132.tif 000005
【図４】
2020173132.tif 000006
【図５】
2020173132.tif 000007
【図６】
2020173132.tif 000008
【図７】
2020173132.tif 000009
【図８】
2020173132.tif 000010
【図９】
2020173132.tif 000011
【図１０】
2020173132.tif 000012
【図１１】
2020173132.tif 000013
【図１２】
2020173132.tif 000014
【図１３】
2020173132.tif 000015
【図１４】
2020173132.tif 000016
【図１５】
2020173132.tif 000017
【図１６】
2020173132.tif 000018