以下に添付図面を参照しながら、本開示の一実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、理解を容易とするための例示にすぎず、特に断る場合を除き、本開示を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本開示に直接関係のない要素は図示を省略する。
<第1の実施形態>
図1は、アンローダシステム1を説明する図である。図1に示すように、アンローダシステム1は、荷揚げ装置の一例としてのアンローダ装置100、および、制御装置200を含んで構成される。なお、アンローダ装置100が4つ設けられている例を挙げて説明するが、アンローダ装置100の数は、いくつであってもよい。
アンローダ装置100は、岸壁2に沿って敷設された一対のレール3上を、レール3の延在方向に走行可能である。なお、図1において、複数のアンローダ装置100は、同一のレール3上に配置されているようにしているが、異なるレール3上に配置されていてもよい。
アンローダ装置100は、制御装置200と通信可能に接続されている。なお、アンローダ装置100と制御装置200との通信方法は、有線であっても無線であってもよい。
アンローダ装置100は、岸壁2に停泊された船舶4の船庫5内に積載された積荷6を外部に搬出する。積荷6は、ばら荷が想定されており、一例として石炭が挙げられる。
図2は、アンローダ装置100の構成を説明する図である。なお、図2では、岸壁2および船舶4を断面で示している。図2に示すように、アンローダ装置100は、走行体102、旋回体104、ブーム106、トップフレーム108、エレベータ110、掻取部112、ブームコンベア114を含んで構成されている。なお、トップフレーム108、エレベータ110および掻取部112は、船庫5内に挿入される掻取部112を備える本体部として機能する。
走行体102は、不図示のアクチュエータが駆動することで、レール3上を走行可能である。走行体102には、位置センサ116が設けられている。位置センサ116は、例えばロータリーエンコーダである。位置センサ116は、走行体102の車輪の回転数に基づき、所定の原点位置に対する走行体102の水平面上の位置を計測する。
旋回体104は、走行体102の上部に、垂直軸を中心に旋回自在に設けられている。旋回体104は、不図示のアクチュエータが駆動することで、走行体102に対して旋回可能である。
ブーム106は、旋回体104の上部に、傾斜角度を変更可能に設けられている。ブーム106は、不図示のアクチュエータが駆動することで、旋回体104を基準とした傾斜角度を変更可能である。
旋回体104には、旋回角度センサ118および傾斜角度センサ120が設けられている。旋回角度センサ118および傾斜角度センサ120は、例えばロータリーエンコーダである。旋回角度センサ118は、走行体102に対する旋回体104の旋回角度を計測する。傾斜角度センサ120は、旋回体104に対するブーム106の傾斜角度を計測する。
トップフレーム108は、ブーム106の先端に設けられている。トップフレーム108には、エレベータ110を旋回させるアクチュエータが設けられている。
エレベータ110は、略円柱形状に形成されている。エレベータ110は、中心軸を中心として旋回自在にトップフレーム108に支持されている。トップフレーム108には、旋回角度センサ122が設けられている。旋回角度センサ122は、例えばロータリーエンコーダである。旋回角度センサ122は、トップフレーム108に対するエレベータ110の旋回角度を計測する。
掻取部112は、エレベータ110の下端に設けられている。掻取部112は、エレベータ110の旋回に伴って、エレベータ110と一体的に旋回する。このように、掻取部112は、垂直運搬機構部として機能するトップフレーム108およびエレベータ110によって旋回自在に保持されている。
掻取部112は、複数のバケツ112aおよびチェーン112bが設けられている。複数のバケツ112aは、チェーン112bに連続的に配置されている。チェーン112bは、掻取部112およびエレベータ110の内部に架け渡されている。
掻取部112は、不図示のリンク機構が設けられている。リンク機構は、可動することにより、掻取部112の底部の長さを可変させる。これにより、掻取部112は、船庫5内の積荷6と接するバケツ112aの数を可変させる。掻取部112は、チェーン112bを回動させることにより、底部のバケツ112aによって船庫5内の積荷6を掻き取る。そして、積荷6を掻き取ったバケツ112aは、チェーン112bの回動に伴ってエレベータ110の上部に移動する。
ブームコンベア114は、ブーム106の下方に設けられている。ブームコンベア114は、バケツ112aによってエレベータ110の上部に移動された積荷6を外部に搬出させる。
このような構成でなるアンローダ装置100は、走行体102によってレール3の延在方向に移動し、船舶4との長手方向の相対位置関係を調整する。また、アンローダ装置100は、旋回体104によって、ブーム106、トップフレーム108、エレベータ110および掻取部112を旋回させ、船舶4との短手方向の相対位置関係を調整する。また、アンローダ装置100は、ブーム106によって、トップフレーム108、エレベータ110および掻取部112を鉛直方向に移動させ、船舶4との鉛直方向の相対位置関係を調整する。また、アンローダ装置100は、トップフレーム108によってエレベータ110および掻取部112を旋回させる。これにより、アンローダ装置100は、掻取部112を任意の位置及び角度に移動させることができる。
ここで、船舶4は、船庫5が複数に区画されている。船庫5は、上部にハッチコーミング7が設けられている。ハッチコーミング7は、鉛直方向に所定高さの壁面を有している。また、ハッチコーミング7は、船庫5における中央付近の水平断面に比べて、開口面積が小さい。つまり、船庫5は、ハッチコーミング7により開口が窄まった形状をしている。なお、ハッチコーミング7の上方には、ハッチコーミング7を開閉するハッチカバー8が設けられている。
このように、ハッチコーミング7により開口が窄まっているので、作業者は、掻取部112により積荷6を掻き取らせる際、船庫5内の状況を視認することが困難である。そこで、本開示の、アンローダ装置100には、測距センサ130~136が設けられる。そして、本開示のアンローダシステム1は、測距センサ130~136で計測される距離に基づいて、アンローダ装置100と船庫5や積荷6との位置関係を表示したりすることで、船庫5内の状況を作業者に把握させることができるようにしている。
測距センサ130~136は、例えば、測距可能なレーザセンサであり、Velodyne社製のVLP-16、VLP-32、Quanergy社製のM8等が適用される。測距センサ130~136は、例えば円柱形状の本体部の側面に、軸方向に沿って離隔した16のレーザー照射部が設けられている。レーザー照射部は、360度回転可能に本体部に設けられる。レーザー照射部は、互いに隣接して配置されたレーザー照射部との軸方向のレーザーの発射角度の差が2度となるようにそれぞれ配置されている。つまり、測距センサ130~136は、本体部の周方向に360度の範囲でレーザーを照射可能である。また、測距センサ130~136は、本体部の軸方向に直交する平面を基準として、±15度の範囲でレーザーを発射可能である。また、測距センサ130~136は、レーザーを受信する受信部が本体部に設けられている。
測距センサ130~136は、レーザー照射部を回転させながら所定角度毎にレーザーを照射する。測距センサ130~136は、複数のレーザー照射部から照射(投影)されて物体(計測点)で反射したレーザーを受信部でそれぞれ受信する。そして、測距センサ130~136は、レーザーが照射されてから受信するまでの時間に基づいて、物体までの距離を導出する。つまり、測距センサ130~136は、1つのレーザー照射部によって、1つの計測ライン(照射されたレーザーによる軌跡、または、照射されたレーザーで形成される断面における当該レーザーを反射した物体による軌跡)で複数の計測点がそれぞれ計測される。また、測距センサ130~136は、複数のレーザー照射部によって、複数の計測ラインで複数の計測点がそれぞれ計測される。
図3および図4は、測距センサ130~132の計測範囲を説明する図である。図3は、アンローダ装置100を上方から見た際の測距センサ130~132の計測範囲を説明する図である。図4は、アンローダ装置100を側方から見た際の測距センサ130~132の計測範囲を説明する図である。図3および図4において、測距センサ130~132の計測範囲を一点鎖線で示す。
測距センサ130~132は、主に、ハッチコーミング7の上端のエッジを検出する際に用いられる。測距センサ130~132は、図3および図4に示すように、トップフレーム108の側面に取り付けられる。具体的には、測距センサ130~132は、エレベータ110の中心軸を基準として、周方向に互いに120度離して配置される。また、測距センサ130~132は、本体部の中心軸が、エレベータ110の径方向に沿うように配置される。なお、測距センサ130~132は、鉛直方向の上半分が不図示のカバーで覆われる。
したがって、測距センサ130~132は、図3および図4に示すように、計測方向として、水平面よりも下方であって、トップフレーム108の側面に接する接線を基準として±15度の範囲に存在する物体までの距離を計測することができる。
図5および図6は、測距センサ133~136の計測範囲を説明する図である。図5は、掻取部112を上方から見た際の測距センサ133~136の計測範囲を説明する図である。なお、図5では、アンローダ装置100のうち、掻取部112のみを図示している。また、図5では、船舶4について、掻取部112と鉛直方向の同位置での水平断面を示している。図6は、アンローダ装置100を側方から見た際の測距センサ133~136の計測範囲を説明する図である。図5および図6において、測距センサ133、134の計測範囲を一点鎖線で示す。また、図5および図6において、測距センサ135、136の計測範囲を二点鎖線で示す。
測距センサ133~136は、主に、船庫5内の積荷6、および、船庫5の壁面を検出する際に用いられる。測距センサ133、134は、図5および図6に示すように、掻取部112の側面112cおよび側面112dにそれぞれ取り付けられる。測距センサ133、134は、本体部の中心軸が、掻取部112の側面112cおよび側面112dにそれぞれ直交するように配置される。測距センサ133、134は、鉛直方向の上半分が不図示のカバーで覆われる。
したがって、測距センサ133、134は、計測方向として、掻取部112の側面112cおよび側面112dの下方側であって、掻取部112の側面112cおよび側面112dと平行な位置を基準として±15度の範囲に存在する物体の距離を計測することができる。より具体的には、測距センサ133、134は、掻取部112の底部側であって、掻取部112の両側に存在する物体(積荷6)までの距離を計測することができる。なお、測距センサ133、134は、掻取部112の底部が位置する平面上において、少なくとも掻取部112の底部の最大長さ以上の範囲を計測できるように配置されている。
測距センサ135、136は、掻取部112の側面112cおよび側面112dにそれぞれ取り付けられる。測距センサ135、136は、本体部の中心軸が、掻取部112の底面と直交するように配置される。
したがって、測距センサ135、136は、計測方向として、掻取部112の外方であって、掻取部112の側面112cおよび側面112dに直交する水平面を基準として±15度の範囲に存在する物体の距離を計測することができる。
図7は、第1の実施形態におけるアンローダシステム1の電気的な構成を説明する図である。図7に示すように、アンローダ装置100には、アンローダ制御部140、記憶部142および通信装置144が設けられている。
アンローダ制御部140は、位置センサ116、旋回角度センサ118、傾斜角度センサ120、旋回角度センサ122、測距センサ130~136および通信装置144と接続されている。アンローダ制御部140は、CPU(中央処理装置)を含む半導体集積回路で構成されている。アンローダ制御部140は、ROMからCPU自体を動作させるためのプログラムやパラメータ等を読み出す。そして、アンローダ制御部140は、ワークエリアとしてのRAMや他の電子回路と協働して、アンローダ装置100全体を管理および制御する。また、アンローダ制御部140は、駆動制御部150、エッジ検出部152、座標変換導出部154、モデル配置部156、状態監視部158、経路生成部160、自動運転指令部162、自動運転終了判定部164、衝突防止部166として機能する。なお、アンローダ制御部140の詳細については後述する。
記憶部142は、ハードディスク、不揮発性メモリ等の記憶媒体である。記憶部142は、アンローダ装置100および船舶4の3次元モデルのデータを記憶する。アンローダ装置100の3次元モデルのデータは、エレベータ110および掻取部112の少なくとも外形形状のボクセルデータである。船舶4の3次元モデルのデータは、ハッチコーミング7の外形形状のボクセルデータ、および、船庫5の壁面形状および内部空間のボクセルデータである。なお、3次元モデルのデータは、アンローダ装置100および船舶4の3次元形状が把握可能なデータであればよく、ポリゴンデータ、輪郭(直線)や点群等であってもそれらを併用してもよい。また、船舶4の3次元モデルのデータは、船舶4の種類毎に設けられている。
アンローダ装置100の3次元モデルのデータは、設計時の形状情報と、アンローダ装置100の位置センサ116、旋回角度センサ118、傾斜角度センサ120および旋回角度センサ122の計測結果とから算出することが可能である。また、船舶4の3次元モデルのデータは、船の設計データを用いてもよく、また、過去の入港時に計測したデータを用いてもよい。入港時の計測は、レーザセンサ等の3次元モデルのデータを生成可能な装置を用いて計測することができる。また、3次元モデルのデータは、測距センサ130~136からの情報を蓄積して形状を復元してもよい。
通信装置144は、制御装置200と有線または無線により通信を行う。
制御装置200は、監視制御部210、操作部220、表示部230および通信装置240を含んで構成されている。監視制御部210は、CPU(中央処理装置)を含む半導体集積回路で構成されている。監視制御部210は、ROMからCPU自体を動作させるためのプログラムやパラメータ等を読み出す。そして、監視制御部210は、ワークエリアとしてのRAMや他の電子回路と協働して、複数のアンローダ装置100を統括的に管理および制御する。また、監視制御部210は、遠隔操作切替部212、表示切替部214、状況判定部216として機能する。なお、監視制御部210の詳細については後述する。
操作部220は、アンローダ装置100を動作させるための入力操作を受け付ける。表示部230は、詳しくは後述するように、アンローダ装置100と船庫5および積荷6との相対位置関係が作業者に把握可能な画像を表示する。通信装置240は、アンローダ装置100と有線または無線により通信を行う。
図8は、アンローダ装置100の座標系を説明する図である。図8(a)は、アンローダ装置100を上方から見た図である。図8(b)は、アンローダ装置100を側方から見た図である。図8(a)および図8(b)に示すように、アンローダ装置100は、3つの座標系、すなわち、地上座標系300、トップフレーム座標系310およびハッチコーミング座標系320を有する。
地上座標系300は、予め設定されたアンローダ装置100の初期位置を原点としている。地上座標系300は、レール3の延在方向および鉛直方向に直交する方向をX軸方向とする。地上座標系300は、レール3の延在方向をY軸方向とする。地上座標系300は、鉛直方向をZ軸方向とする。
トップフレーム座標系310は、エレベータ110の中心軸上であって、鉛直方向におけるトップフレーム108の下端を原点としている。トップフレーム座標系310は、ブーム106の延在方向をX軸方向とする。トップフレーム座標系310は、ブーム106の延在方向および鉛直方向に直交する方向をY軸方向とする。トップフレーム座標系310は、鉛直方向をZ軸方向とする。
ハッチコーミング座標系320は、船舶4のハッチコーミング7における船尾側の壁面の中心位置であって、ハッチコーミング7の上端を原点としている。ハッチコーミング座標系320は、船舶4の長手方向、つまり、船舶4に沿ったハッチコーミング7の延在方向をX軸方向とする。ハッチコーミング座標系320は、船舶4の短手方向(幅方向)をY軸方向とする。ハッチコーミング座標系320は、ハッチコーミング7の上端面に直交する方向をZ軸方向とする。
ここで、地上座標系300、トップフレーム座標系310は、アンローダ装置100の形状、および、アンローダ装置100の移動に基づいて変換が可能である。
例えば、測距センサ133~136は、掻取部112に取り付けられているため、掻取部112に対する位置は予め既知となっている。そして、エレベータ110の旋回角度に基づいて、トップフレーム座標系310の位置を導出することができる。
また、測距センサ130~132は、トップフレーム108に取り付けられているため、トップフレーム座標系310の位置が予め既知となっている。
ここで、トップフレーム座標系310と、ハッチコーミング座標系320とは、アンローダ装置100および船舶4の移動に伴って相対的な位置関係が変化する。例えば、船舶4が揺れたり、潮の満ち引きや積荷6の積載量によって船舶4が鉛直方向に移動したりすることで、トップフレーム座標系310と、ハッチコーミング座標系320とは、相対的な位置関係が変化する。
そこで、エッジ検出部152は、測距センサ130~132により測定される計測点に基づいてハッチコーミング7の上端のエッジを検出する。そして、座標変換導出部154は、検出したハッチコーミング7の上端のエッジに基づいて、トップフレーム座標系310とハッチコーミング座標系320との変換パラメータを導出する。
まず、エッジ検出部152は、測距センサ130~132の位置、および、測距センサ130~132により計測された計測点までの距離に基づいて、トップフレーム座標系310における計測点の3次元位置を導出する。
図9は、測距センサ130~132の計測点を説明する図である。なお、図9では、ハッチコーミング7上の測距センサ130~132の計測範囲を太線で示す。図9に示すように、測距センサ130~132は、水平面よりも下方であって、トップフレーム108に接する平面を基準として測距センサ130~132から±15度の範囲に存在する物体までの距離を計測する。したがって、測距センサ130~132は、測距センサ130~132の鉛直下方(エレベータ110の回転中心)を基準として、前方側と後方側とで異なるハッチコーミング7のエッジが計測範囲となる。なお、前方側とは、1回の計測において前半に計測された計測範囲をいう。また、後方側とは、1回の計測において後半に計測された計測範囲をいう。
そこで、測距センサ130~132で計測された測定点を、測距センサ130~132の鉛直下方を基準として、前方側および後方側の2つに分割する。
図10は、エッジ点を検出する様子を示す図である。なお、図10において、計測点を黒丸で示す。図10では、測距センサ130~132の1つのレーザー照射部から所定角度毎に照射されるレーザーが反射する計測点を図示している。
エッジ検出部152は、1つのレーザー照射部により照射されて計測された1つの計測ラインの計測点群毎(前方側、後方側毎)に以下の処理を行う。エッジ検出部152は、1つのレーザー照射部により照射されて計測された各計測点のベクトル(方向)を導出する。なお、計測点のベクトルは、連続して計測される計測点のうち、1の計測点に対する、次に計測される計測点の方向(ベクトル)を、1の計測点のベクトルとして導出する。
そして、エッジ検出部152は、計測点のベクトルが鉛直方向とされる計測点を抽出する。これは、測距センサ130~132により計測されるハッチコーミング7の壁面(側面)が概ね鉛直方向に延在しているので、ハッチコーミング7の壁面に計測点がある場合、計測点のベクトルが鉛直方向となるからである。
そして、エッジ検出部152は、抽出された計測点のうち、連続して抽出された計測点が複数ある場合、鉛直方向における最も上方の点を抽出する。これは、ハッチコーミング7の上端のエッジを検出するため、連続して計測された計測点群においては、最も上方の点が、ハッチコーミング7の上端のエッジである可能性があるからである。
続いて、エッジ検出部152は、抽出された計測点のうち、トップフレーム座標系310におけるX軸方向およびY軸方向における最も原点に近い計測点を抽出する。これは、ハッチコーミング7が船舶4の各構造物のうち、最もエレベータ110に近い位置にあるからである。
そして、エッジ検出部152は、抽出された計測点に対して、トップフレーム座標系310におけるX軸方向およびY軸方向の所定の範囲(例えば数十cmの範囲)に存在する計測点を再抽出する。ここでは、ハッチコーミング7上の計測点を抽出することになる。
そして、エッジ検出部152は、再抽出した計測点、つまり、ハッチコーミング7上の計測点のうち、鉛直方向における最も上方の計測点をハッチコーミング7のエッジ点として抽出する。
エッジ検出部152は、測距センサ130~132の1つのレーザー照射部により照射されて計測された計測点群毎、つまり、同一面で計測された計測点群ごとに、前方側および後方側のエッジ点を抽出する。
そして、全てのエッジ点が抽出されると、エッジ検出部152は、ハッチコーミング7のエッジの直線を検出する。具体的には、エッジ検出部152は、測距センサ130の前方側でそれぞれ抽出されたエッジ点を1つのグループとする。同様に、エッジ検出部152は、測距センサ130の後方側でそれぞれ抽出されたエッジ点を1つのグループとする。さらに、エッジ検出部152は、測距センサ131、132の前方側および後方側でそれぞれ抽出されたエッジ点をそれぞれグループとする。
ここで、図9に示したように、測距センサ130~132の前方側および後方側でそれぞれ計測されるハッチコーミング7の上端のエッジの直線は、ハッチコーミング7の角を含む場合、2本計測されることになる。
そこで、エッジ検出部152は、グループごとに、抽出されたエッジ点間の線分のうち、最も多くの類似の線分をもつものを候補ベクトルとして導出する。そして、エッジ検出部152は、候補ベクトルに対して予め設定された範囲以内に存在するエッジ点を抽出する。そして、エッジ検出部152は、抽出したエッジ点を用いて直線を再計算する。
次に、エッジ検出部152は、抽出されなかったエッジ点を用いて上記した処理を繰り返し行う。ただし、抽出されたエッジ点の数が、予め設定された閾値未満である場合、直線を導出しない。これにより、ハッチコーミング7の角を含む場合であっても、2本のエッジの直線を導出することができる。
エッジ検出部152は、グループごとに、上記した処理を繰り返し行うことで、エッジの直線を導出する。
このように、エッジの直線は、1箇所で最大2つの直線が検出されるため、最大で12本検出されることになる。
そして、エッジ検出部152は、検出された直線のうち、各直線間におけるなす角を導出する。そして、エッジ検出部152は、なす角が予め決められた閾値以下である場合、同一の直線であるとして統合する。具体的には、なす角が予め決められた閾値以下である直線を構成するエッジ点を用いて、最小二乗近似により直線を再導出する。
続いて、エッジ検出部152は、検出したエッジの直線から、各辺の3次元方向ベクトル、各辺の3次元重心座標、各辺の長さ、各辺の端点の座標を含むエッジ辺情報を導出する。このように、船舶4の上方に設けられた測距センサ130~132を用いて、船庫5の上部に設けられたハッチコーミング7のエッジ辺情報を導出することで、船庫5の位置(姿勢)を精度よく容易に導出することが可能となる。
次に、座標変換導出部154は、記憶部142に予め記憶されたハッチコーミング7の3次元モデル情報を記憶部142から読み出す。3次元モデル情報は、ハッチコーミング7の上端の辺の3次元方向ベクトル、各辺の3次元重心座標、各辺の長さ、各辺の端点の座標を含む。また、3次元モデル情報は、ハッチコーミング座標系320で表現されている。そして、座標変換導出部154は、読み出した3次元モデル情報と、トップフレーム座標系310で表現されるエッジ辺情報(検出結果)とに基づいて、トップフレーム座標系310とハッチコーミング座標系320との変換パラメータを導出する。
座標変換導出部154は、ブーム106の旋回角度だけ、検出したハッチコーミング7のエッジの直線の向きを回転させることで大まかな補正を行う。また、座標変換導出部154は、検出したハッチコーミング7のエッジの直線と、3次元モデル情報におけるハッチコーミング7の上端の辺とを、エッジの向きが最も近い直線同士を対応付ける。これにより、正しい対応付けがなされているため、安定して正解に近い解の変換パラメータが得られる。なお、対応付けにおいては、検出したハッチコーミング7のエッジの直線を3次元点群で表し、その3次元点群と、3次元モデル情報におけるハッチコーミング7の上端の辺との最短距離の平均値が近いもの同士を対応付けてもよい。また、エッジの向きおよび最短距離の平均値の双方を考慮して対応付けてもよい。
そして、座標変換導出部154は、変換パラメータである、X軸、Y軸、Z軸回りの回転角度α、β、γと、進行ベクトルt=(tx,ty,tz)とを例えばLM法により求める。LM法では、例えばエッジ点と、3次元モデル情報に基づくハッチコーミング7の上端の辺との距離の差の二乗和を評価関数とし、その評価関数を最小にする変換パラメータを求める。具体的には、エッジ点と3次元モデル情報に基づくハッチコーミング7の上端の辺との距離の合計、または、エッジの直線と3次元モデル情報に基づくハッチコーミング7の上端の辺とにより形成される曲面の面積が最小となるように変換パラメータを求める。なお、変換パラメータを求める手法は、LM法に限らず、最急降下法、ニュートン法など他の手法であってもよい。
このようにして、座標変換導出部154は、トップフレーム座標系310をハッチコーミング座標系320に変換するための変換パラメータを導出する。
これにより、アンローダ装置100は、トップフレーム座標系310で表現されるエレベータ110および掻取部112と、ハッチコーミング座標系320で表現される船庫5およびハッチコーミング7との相対位置関係を把握することが可能となる。
また、アンローダ装置100は、トップフレーム108の側面に、下方側に向かって測距可能な測距センサ130~132を配置するだけの簡易な構成で、アンローダ装置100と船庫5との位置関係を容易に導出することができる。
また、アンローダ装置100は、ハッチコーミング座標系320で表現するハッチコーミング7の位置および姿勢を、トップフレーム座標系310で推定することが可能となる。
また、2つの測距センサでは、正方形のハッチコーミング7を除きアンローダ装置100の姿勢によっては向きの異なる2つのエッジ辺を計測できない場合がある。しかしながら、測距センサ130~132がエレベータ110の周方向に120度向きを変えて配置されている場合、エッジ辺の縦横比が1.73:1以内のハッチコーミング7である限り、アンローダ装置100の位置および姿勢にかかわらず、向きの異なる2つのエッジ辺を確実に検出することができる。したがって、アンローダ装置100は、極端な縦横比のハッチコーミング7を持つ船舶4は極めて希であるため、常に向きの異なる2つのエッジ辺を検出できる。
次に、エレベータ110、掻取部112、船庫5およびハッチコーミング7の3次元モデルを配置する処理について説明する。
図11は、3次元モデルの配置を説明する図である。図11に示すように、モデル配置部156は、まず、記憶部142に記憶されたエレベータ110および掻取部112の3次元モデル400をハッチコーミング座標系320上に配置する。エレベータ110および掻取部112の3次元モデル400は、トップフレーム座標系310で表現されている。そこで、モデル配置部156は、座標変換導出部154により導出された変換パラメータを用いて、エレベータ110および掻取部112の3次元モデル400を、ハッチコーミング座標系320に変換する。
なお、モデル配置部156は、エレベータ110および掻取部112がトップフレーム108に対して移動する場合、アンローダ装置100の位置センサ116、旋回角度センサ118、傾斜角度センサ120および旋回角度センサ122の計測結果に基づき、エレベータ110の回転や掻取部112の長さなどを3次元モデル400に反映する。
また、3次元モデル400は、積荷6の掻き取り中の計測値の蓄積結果からノイズや移動物体をフィルタしたモデルでも、過去の掻き取り終了時の計測値を蓄積したモデルでも、設計図のモデルでも、別途計測器を一時的に船倉内に持ち込んで計測して得たモデルでもよい。
そして、モデル配置部156は、ハッチコーミング座標系320に変換されたエレベータ110および掻取部112の3次元モデル400を、ハッチコーミング座標系320上に配置する(図11(a))。
続いて、モデル配置部156は、記憶部142に記憶されたハッチコーミング7の3次元モデル410を、エレベータ110および掻取部112の3次元モデル400に重ねて配置する(図11(b))。なお、ハッチコーミング7の3次元モデル410は、ハッチコーミング座標系320で表現されているため、座標変換を行わずにそのまま配置する。
また、モデル配置部156は、記憶部142に記憶された船庫5の3次元モデル420を、エレベータ110および掻取部112の3次元モデル400、および、ハッチコーミング7の3次元モデル410に重ねて配置する(図11(c))。
これにより、モデル配置部156は、アンローダ装置100の一部であるエレベータ110および掻取部112と、船舶4の一部であるハッチコーミング7および船庫5との相対位置を、3次元モデルを用いて容易に把握させることが可能となる。
特に、ハッチコーミング7に衝突する可能性のあるエレベータ110の3次元モデルと、ハッチコーミング7の3次元モデルとを配置することで、ハッチコーミング7に対するエレベータ110の位置を容易に把握させることが可能となる。
また、船庫5に衝突する可能性のある掻取部112の3次元モデルと、船庫5の3次元モデルとを配置することで、船庫5に対する掻取部112の位置を容易に把握させることが可能となる。
次に、状態監視部158による状態監視処理について説明する。状態監視部158は、モデル配置部156によってハッチコーミング座標系320上に配置されたハッチコーミング7の3次元モデル410、および、船庫5の3次元モデル420と、エレベータ110および掻取部112の3次元モデル400との各ボクセルの距離(距離情報)を総当りで導出する。
また、状態監視部158は、測距センサ133~136により計測される計測点に基づいて、船庫5内の状況を導出する。具体的には、状態監視部158は、測距センサ133~136により計測される計測点までの距離と、測距センサ133~136の位置に基づいて、トップフレーム座標系310における計測点の3次元位置を導出する。
また、状態監視部158は、トップフレーム座標系310における計測点の3次元位置を、変換パラメータを用いてハッチコーミング座標系320に変換する。そして、各計測点の位置と、船庫5の3次元モデル420とを用いて、各計測点が船庫5の壁面であるか、積荷6であるかを判定する。ここでは、各計測点の位置と、船庫5の3次元モデル420との位置が予め設定された範囲内の関係である計測点を、船庫5の壁面として判定し、それ以外を積荷6と判定する。
そして、状態監視部158は、船庫5の3次元モデル420の内部空間のボクセルのうち、積荷6と判定された計測点が含まれるボクセルを積荷6のボクセルとするとともに、積荷6としたボクセルよりも鉛直下方のボクセルも積荷6のボクセルとする。モデル配置部156は、船庫5の3次元モデル420の内部空間のボクセルのうち、積荷6のボクセルと判定されたボクセルを、積荷6の3次元モデルとして再配置する。これにより、船庫5内の積荷6の状況が、把握可能となる。
また、アンローダ装置100では、精度のよい相対位置にあるハッチコーミング7とアンローダ装置100との3次元モデルを用いる。そのため、アンローダ装置100では、測距センサ130~132によってハッチコーミング7のすべてのエッジ辺を検出できなくても、ハッチコーミング7のすべての側面との衝突・接近を検知・防止することができる。
また、測距センサ133、135は、掻取部112の側面112cに設けられている。測距センサ134、136は、掻取部112の側面112dに設けられている。そして、掻取部112は、側面112d側から側面112c側に移動しながら積荷6を掻き取る。したがって、アンローダ装置100は、測距センサ133、135によって、掻取部112の進行方向側の積荷6の状況を把握することができる。また、アンローダ装置100は、測距センサ134、136によって、掻取部112の進行方向とは反対側の積荷6の状況を把握することができる。
以上説明した座標変換導出部154、モデル配置部156および状態監視部158による各処理は、所定間隔毎に繰り返し行われる。通信装置144は、モデル配置部156によって配置された3次元モデルのデータ、および、状態監視部158により導出された距離情報を制御装置200に送信する。
図12は、上方視点画像500を説明する図である。図13は、掻取部周辺画像510を説明する図である。制御装置200の監視制御部210は、アンローダ装置100から送信された3次元モデルのデータ、および、距離情報を通信装置240により受信する。監視制御部210は、受信したデータに基づいて上方視点画像500および掻取部周辺画像510を表示部230に表示する。
図12に示すように、上方視点画像500には、ハッチコーミング7の3次元モデル410と、ハッチコーミング7とZ軸方向に同位置に存在するエレベータ110の3次元モデル400とが表示される。つまり、上方視点画像500には、ハッチコーミング7の3次元モデル410が存在する位置でのZ軸方向に垂直な断面(ハッチコーミング7の上面と平行、または、水平と平行な断面)が表示される。
また、上方視点画像500には、掻取部112の3次元モデル400と、掻取部112とZ軸方向の同位置に存在する船庫5の3次元モデル420および積荷6の3次元モデル430が表示される。つまり、上方視点画像500には、掻取部112の3次元モデル400が存在する位置でのZ軸方向に垂直な断面が表示される。
つまり、上方視点画像500は、ハッチコーミング7の3次元モデル410が存在する位置のXY断面と、掻取部112の3次元モデル400が存在する位置のXY断面が重ねて表示される。
また、上方視点画像500は、船庫5の3次元モデル420の外方に、ハッチコーミング7とエレベータ110との距離(「ハッチ ○m」)、および、掻取部112と船庫5の壁面との距離(「船庫 ○m」)が表示される。ここで表示されるハッチコーミング7とエレベータ110との距離は、予め設定された第1閾値(ここでは、1.5m)以下である場合にのみ表示される。より具体的には、第1閾値以下であり、かつ、第1閾値よりも小さい第2閾値(ここでは、1.0m)以上である場合には、黄色の背景に、距離が表示される。また、第2閾値未満である場合には、赤色の背景に、距離が表示される。また、掻取部112と船庫5の壁面との距離は、予め設定された第3閾値(ここでは、1.5m)以下である場合にのみ表示される。より具体的には、第3閾値以下であり、かつ、第3閾値よりも小さい第4閾値(ここでは、1.0m)以上である場合には、黄色の背景に、距離が表示される。また、第4閾値未満である場合には、赤色の背景に、距離が表示される。
このように、ハッチコーミング7とエレベータ110との距離、および、掻取部112と船庫5の壁面との距離を表示することで、衝突するおそれがあるか否か等を定量的に把握させることができる。
また、第1閾値または第3閾値となる位置の距離を表示することにより、ハッチコーミング7とエレベータ110との距離や、掻取部112と船庫5の壁面との距離が接近していることを容易に把握させることができる。また、第1閾値以下でかつ第2閾値以上である場合と、第2閾値未満である場合とで異なる表示態様で距離を表示することにより、容易に距離感を把握させることができる。同様に、第3閾値以下でかつ第4閾値以上である場合と、第4閾値未満である場合とで異なる表示態様で距離を表示することにより、容易に距離感を把握させることができる。なお、ハッチコーミング7とエレベータ110との距離、および、掻取部112と船庫5の壁面との距離は、アンローダ装置100から送信される距離情報に基づいて導出される。
これにより、上方視点画像500は、衝突の可能性があるハッチコーミング7とエレベータ110との位置関係、および、衝突の可能性がある掻取部112と船庫5の壁面との位置関係を容易に把握させることができる。したがって、作業者は、上方視点画像500を目視することで、ハッチコーミング7とエレベータ110の衝突や、掻取部112と船庫5の壁面の衝突を回避することができる。また、船庫5内や船舶4上に、アンローダ装置100の操作を指揮する指揮者を配置しなくてもよくなるため、積荷6の掻き取りに要する人員を削減することができる。さらに、衝突の可能性がある部分のみを抽出して表示しているため、作業者に対する情報量が多くなりすぎず、作業者に適切な判断をさせることができる。また、上方視点画像500は、掻取部112が存在する高さにおける積荷6の様子を容易に把握させることができる。
図13は、掻取部周辺画像510を説明する図である。図13に示すように、掻取部周辺画像510は、掻取部112の側面112c側から見た掻取部周辺画像512、掻取部112を前方側から見た掻取部周辺画像514、掻取部112の側面112d側から見た掻取部周辺画像516が並んで表示される。
これら掻取部周辺画像512、514、516には、掻取部112の3次元モデル400と、積荷6の3次元モデル430と、船庫5の3次元モデル420(底面のみ)がそれぞれ表示される。
ここで、掻取部112は、側面112d側から側面112c側に移動しながら積荷6を掻き取る。したがって、掻取部周辺画像512(第2画像)には、掻き取られていない積荷6の3次元モデル430が表示される。一方、掻取部周辺画像516(第3画像)には、掻取部112によって掻き取られた積荷6の3次元モデル430が表示される。また、掻取部周辺画像514(第1画像)には、側面112c側が掻き取られておらず、側面112d側が掻き取られた積荷6が表示される。これにより、積荷6の掻き取りの様子を容易に把握させることができる。例えば、作業者は、掻取部周辺画像514を見たり、掻取部周辺画像512および516を比較することで、掻取部112の進行方向および進行方向の反対側の方向との積荷6の高さの差や、進行方向における積荷6の高さを把握することができる。これにより、作業者は、掻取部112によって積荷6を適正に掻き取ることができる。また、作業者は、船庫5外においても、どの程度の深さで積荷6を掻き取れているかを定量的に把握することができる。また、船庫5内や船舶4上に、アンローダ装置100の操作を指揮する指揮者を配置しなくてもよくなるため、積荷6の掻き取りに要する人員を削減することができる。また、掻取部周辺画像510は、ハッチコーミング座標系320で表示されるので、常に船舶4に固定した視点で船庫5内の積荷6と掻取部112とを提示することができ、作業者の状況把握が容易になる。
また、掻取部周辺画像514には、詳しくは後述する、掻取部112の切込み深さに対する差、および、掻取部112と船庫5の底面との間隔が表示される。なお、切込み深さは、側面112c側、および、側面112d側がそれぞれ表示される。これら、切込み深さおよび掻取部112と船庫5の底面との間隔は、アンローダ装置100から送信される距離情報に基づいて導出される。
以上、説明した上方視点画像500および掻取部周辺画像510は、アンローダ装置100から3次元モデルのデータ、および、距離情報が送信される度に更新して表示される。
次に、アンローダ装置100の経路生成部160、自動運転指令部162および自動運転終了判定部164の処理について説明する。
図14は、自動経路を説明する図である。ここで、アンローダ装置100により積荷6を掻き取る際、大まかに3つの工程がある。船庫5内の積荷6が一度も掻き取られていない場合、積荷6は、船庫5内において山型に積まれている。そこで、第1の工程として、船庫5内の積荷6を平らにする工程である。第1の工程は、作業者が操作部220を介してアンローダ装置100を操作することにより行われる。より具体的には、操作部220の操作に応じた信号がアンローダ装置100に送信されると、駆動制御部150が、各種アクチュエータを作動させることによりアンローダ装置100を、操作部220の操作に応じて駆動させる。
その後、船庫5内に積まれた積荷6の表面がほぼ平らになると、第2の工程として、掻取部112を、船庫5の壁面に沿って複数周移動させた後、中央を1回移動させる。この第2の工程は、掻取部112を移動させる経路が単純であり、かつ、積荷6の掻き取り量も安定しているため、自動化が可能である。
その後、船庫5内の積荷6が少なくなると、第3の工程として、残りの積荷6を掻取部112によって掻き取る。この第3の工程では、船庫5内に残っている積荷6の位置まで掻取部112を移動させる必要がある。また、第3の工程では、船庫5の底面の近くで掻取部112を可動させる必要がある。そのため、第3の工程は、作業者が操作部220を介してアンローダ装置100を操作することにより行われる。ここでも、操作部220の操作に応じた信号がアンローダ装置100に送信されると、駆動制御部150が、各種アクチュエータを作動させることによりアンローダ装置100を、操作部220の操作に応じて駆動させる。
このように、アンローダ装置100により積荷6を掻き取る際の3つの工程のうち、第2の工程は、アンローダ装置100の自動化が可能である。
そこで、経路生成部160は、自動経路として、図14(a)において実線で示す掻取部112を、予め決められた位置から、掻取部112を船庫5の側壁に沿って並進させる。そして、エレベータ110の中心軸を基準として、掻取部112が旋回できるところまで移動させる。その後、掻取部112を、船庫5の側壁に沿って90度旋回させる。また、掻取部112を船庫5の側壁に沿って並進させる。これを繰り返し行わせることで、掻取部112を船庫5の側壁に沿って360度移動させる。そして、切込み深さを変えて、さらにもう数周移動させる。
そして、最後に、図14(b)に示すように、掻取部112を船庫5の中央の位置で90度旋回させた後、船庫5の中央に沿って移動させる。これにより、中央に残った積荷6を掻取部112で掻き取らせる。
ところで、制御装置200は、複数のアンローダ装置100を並行して制御することが可能である。そして、制御装置200の操作部220を操作する作業者は、1つのアンローダ装置100を遠隔操作の対象として選択し、選択したアンローダ装置100について上記した3つの工程のうち、第1の工程および第3の工程を行う。また、第2の工程を行うことが可能なアンローダ装置100を、自動運転の対象のアンローダ装置100として選択し、自動運転の対象のアンローダ装置100について自動運転させる。
第1の工程および第3の工程を行う遠隔操作の対象となるアンローダ装置100がある場合、作業者は、操作部220を操作して遠隔操作の対象となるアンローダ装置100を選択する。遠隔操作切替部212は、操作部220の操作に応じて、遠隔操作の対象となるアンローダ装置100を決定する。そして、遠隔操作切替部212は、遠隔操作の対象となるアンローダ装置100に対して、通信装置240を介して双方向通信を確立する。ただし、監視制御部210は、遠隔操作の対象となっていないアンローダ装置100からの3次元モデルのデータ、および、距離情報も受信し続ける。
表示切替部214は、遠隔操作の対象となっているアンローダ装置100から受信した3次元モデルのデータ、および、距離情報に基づく画像(上方視点画像500、掻取部周辺画像510)を表示部230に表示させる。これにより、遠隔操作の対象となっているアンローダ装置100の状況を容易に把握させることができる。
また、第2の工程を行う自動運転の対象となるアンローダ装置100がある場合、作業者は、操作部220を操作して自動化の対象となるアンローダ装置100を選択する。遠隔操作切替部212は、操作部220の操作に応じて、自動運転の対象となるアンローダ装置100を決定する。そして、遠隔操作切替部212は、自動運転の対象となるアンローダ装置100に自動化指示命令を送信する。アンローダ装置100では、自動化指示命令を受信すると、自動運転指令部162は、経路生成部160に自動経路を生成させる。そして、駆動制御部150は、自動経路に基づいて、アンローダ装置100を駆動させる。
自動運転終了判定部164は、自動運転終了条件を満たした場合、または、エラーが発生した場合、アンローダ装置100の駆動を停止(制限)させる。自動運転終了条件としては、掻取部112の位置が、自動経路によって決定された位置よりも低くなったことや、積荷6の掻取量が予め設定された量を超えた場合である。
表示切替部214は、自動運転中のアンローダ装置100から受信した3次元モデルのデータ、および、距離情報に基づいて、自動運転に必要最低限な情報だけを、表示部230に表示する。
また、状況判定部216は、自動運転中のアンローダ装置100について、掻取部112の高さの変化や掻き取り量の平均などから、掻取部112の目標の高さや目標の掻き取り積算量に至るまでの時間をアンローダ装置100毎に予測する。そして、状況判定部216は、第2の工程の終了時間が近いアンローダ装置100がある場合、遠隔操縦のタイミングが重なることになるため、所定の警告を発する。
また、状態監視部158は、アンローダ装置100から送信された3次元モデルのデータ、および、距離情報に基づき、ハッチコーミング7および船庫5の壁面と、エレベータ110および掻取部112との距離が最も小さい最小距離およびその方向を導出する。そして、衝突防止部166は、導出された最小距離が所定の閾値以下である場合、アンローダ装置100の動作を制限(停止)させる(衝突防止機能)。なお、衝突防止部166は、導出された最小距離が所定の閾値以下である場合、エレベータ110および掻取部112の導出した方向への動作を制限してもよい。これにより、より安全にアンローダ装置100の自動運転を可能にすることができる。
例えば、作業者は、1つのアンローダ装置100について第1の工程を行っている間、残りの3つのアンローダ装置100に第2の工程を行わせる。そして、作業者は、第1の工程が終了したアンローダ装置100に対して、操作部220を介して自動化指示命令を送信する。また、作業者は、第2の工程が終了したアンローダ装置100に対して、第3の工程を行う。
このように、アンローダシステム1では、複数の工程の一部を自動化することにより、複数のアンローダ装置100を1つの制御装置200で制御することができる。これにより、アンローダシステム1は、人員を削減することができる。なお、状態監視部158は、ハッチコーミング7とエレベータ110との距離、および、掻取部112と船庫5の壁面との距離が、衝突するとされる距離未満となった場合に、駆動制御部150に自動化を停止させるようにしてもよい。
<第2の実施形態>
図15は、第2の実施形態におけるアンローダシステム600の電気的な構成を説明する図である。第2の実施形態におけるアンローダシステム600は、第1の実施形態におけるアンローダシステム1のアンローダ装置100に代えてアンローダ装置700が設けられている。第2の実施形態におけるアンローダシステム600は、第1の実施形態におけるアンローダシステム1と比較し、アンローダ装置700以外は同一の構成を備えている。
アンローダ装置700は、第1の実施形態におけるアンローダ装置100のアンローダ制御部140に代えてアンローダ制御部740が設けられている。アンローダ装置700は、第1の実施形態におけるアンローダ装置100と比較し、アンローダ制御部740以外は同一の構成を備えている。
アンローダ制御部740は、第1の実施形態におけるアンローダ制御部140のエッジ検出部152に代えてエッジ検出部752が設けられている。アンローダ制御部740は、第1の実施形態におけるアンローダ制御部140と比較し、エッジ検出部752以外は同一の構成を備えている。
図16は、エッジ検出部752の機能的構成を説明する図である。図16に示すように、エッジ検出部752は、連続端点抽出部800、エッジ点抽出部802およびエッジ導出部804として機能する。連続端点抽出部800は、測距センサ130~132により測定される計測点から、連続する複数の計測点で構成される連続点群の端点を抽出する。エッジ点抽出部802は、連続端点抽出部800により抽出された端点に基づいて、ハッチコーミング7の上端のエッジの候補点となる計測点をエッジ候補点として抽出する。また、エッジ点抽出部802は、抽出したエッジ候補点に基づいて、エッジ点を抽出する。エッジ導出部804は、エッジ点抽出部802により抽出されたエッジ点に基づいて、ハッチコーミング7の上端のエッジを導出(検出)する。以下では、主に、連続端点抽出部800およびエッジ点抽出部802による具体的な処理を説明する。
図17は、連続端点抽出部800による連続端点抽出処理、および、エッジ点抽出部802によるエッジ点抽出処理の流れを示すフローチャートである。なお、図17において、S100の処理が連続端点抽出処理であり、S102~S146の処理がエッジ点抽出処理である。
連続端点抽出部800は、図17に示す連続端点抽出処理(S100)の前段階として、測距センサ130~132の位置、および、測距センサ130~132により計測された計測点までの距離に基づき、トップフレーム座標系310における計測点の3次元位置を導出する。そして、連続端点抽出部800は、第1の実施形態と同様に、測距センサ130~132で計測された測定点を、測距センサ130~132の鉛直下方を基準として、前方側および後方側の2つに分割する。
図18は、連続端点抽出処理を説明する図である。なお、図18において、計測点を黒丸および白丸で示す。図18における黒丸は、連続端点を示す。図18における白丸は、連続端点以外の計測点を示す。図18では、測距センサ130~132の1つのレーザー照射部から所定角度毎に照射されるレーザーが反射する計測点を図示している。
連続端点抽出部800は、分割した計測点群のいずれかを対象とし、連続端点抽出処理を行う(S100)。具体的には、連続端点抽出部800は、レーザー照射部によりレーザーが照射されて計測された各計測点のベクトルを導出する。なお、計測点のベクトルは、例えば閾値に特定される所定の距離範囲、つまり周囲にある計測点に向かうベクトルを、計測点のベクトルとして導出する。つまり、連続端点抽出部800は、計測点群に含まれる計測点に対し、隣接する計測点との間の方向を特定する方向特定部としても機能する。
続いて、連続端点抽出部800は、1の計測点のベクトルと、周囲にある計測点のベクトルとのなす角を計測点ベクトル角として導出する。そして、連続端点抽出部800は、計測点ベクトル角が予め決められた連続性角度閾値(例えば、5度)以下の場合、2つの計測点が連続性を有すると判定する。また、連続端点抽出部800は、基準として所定の距離範囲にある第1、第2の計測点を抽出し、第1、第2の計測点それぞれに対し周囲の計測点との連続性を判定する。この際、連続端点抽出部800は、連続性を有する周囲の計測点のうちもっとも近い計測点を連続性のある計測点とし、当該連続性のある計測点を基準としてさらに周囲の計測点との連続性を判定してよい。また、連続端点抽出部800は、周囲にある計測点に対する連続性の判定だけでなく、第1、第2の計測点とのベクトル角を導出し、導出したベクトル角が連続性角度閾値内である場合、連続性を有すると判定する。そして、連続端点抽出部800は、連続性が途切れると、それまでに連続性を有していると判定していた複数の計測点を1つの連続点群と判定する。つまり、連続端点抽出部800は、ベクトルの平行度に基づき(計測点ベクトル角(2つのベクトルにより形成される鋭角側の角度値)が連続性角度閾値以下であるか否かに基づいて)、複数の計測点を連続点群(クラスタ)としてクラスタリングするクラスタリング部としても機能する。なお、ここで記載したクラスタリングの方法は一例であり、例えば周囲の計測点のうちもっとも近い連続性のある計測点を抽出せず、複数の連続性のある点を抽出し、その内の代表を基点としてさらに周囲の連続性のある点抽出していってもよい。その他方法によらず、平行度に基づきクラスタリングする任意の方法を用いることができる。
続いて、連続端点抽出部800は、連続点群が予め決められた規定数(例えば、5個)以上連続しているか判定する。そして、連続点群が規定数以上連続している場合、規定数以上連続する計測点の端点を、連続端点(図18の黒丸)として抽出する。
規定数以上の計測点が連続性を有する連続点群は、計測対象の同一平面上に位置しているものとみなすことができる。そして、ハッチコーミング7は、鉛直方向に延在する側面(壁面)、および、水平方向に延在する上面を有している。したがって、連続端点は、ハッチコーミング7の側面または上面における、上端のエッジに最も近い可能性がある。
図19は、エッジ候補点の抽出を説明する図である。なお、図19において、計測点を黒丸および白丸で示す。図19における黒丸は、トップフレーム座標系310における最も原点(測距センサ130~132)に近い連続端点を示す。図19における白丸は、トップフレーム座標系310における最も原点に近い連続端点以外の計測点を示す。図19では、測距センサ130~132の1つのレーザー照射部から所定角度毎に照射されるレーザーが反射する計測点を図示している。
エッジ点抽出部802は、連続端点抽出部800によって検出された連続端点のうち、トップフレーム座標系310における最も原点に近い連続端点を第1エッジ候補点として抽出する(S102)。ここで、ハッチコーミング7の上端のエッジを検出する際、測距センサ130~132は、ハッチコーミング7の開口の中央付近に位置している。したがって、トップフレーム座標系310における最も原点に近い連続端点が、ハッチコーミング7の上端のエッジに最も近い可能性が高い。また、トップフレーム座標系310における最も原点に近い連続端点が、ハッチコーミング7の上端のエッジに最も近い計測点でなくても、少なくともハッチコーミング7の側面または上面に位置していると推定することができる。そこで、トップフレーム座標系310における最も原点に近い連続端点、つまり、測距センサ130~132に最も近い連続端点を第1エッジ候補点として抽出する。
その後、エッジ点抽出部802は、第1エッジ候補点と、第1エッジ候補点が含まれる連続点群のもう一方の端点とを通るベクトルを第1ベクトルとして導出する(S104)。
続いて、エッジ点抽出部802は、第1ベクトルと鉛直方向とのなす角を第1ベクトル角として導出する(S106)。そして、エッジ点抽出部802は、第1ベクトル角が予め決められた水平角度閾値(例えば、45度)以上であるかを判定する(S108)。ここでは、第1ベクトルが垂直方向または水平方向のどちらに近いかを判定している。つまり、第1エッジ候補点が含まれる連続点群が、ハッチコーミング7の上面に位置しているか、ハッチコーミング7の側面(壁面)に位置しているかを判定する。
第1ベクトル角が水平角度閾値以上の場合、エッジ点抽出部802は、第1ベクトルが水平方向に近いと判定する。つまり、第1エッジ候補点が含まれる連続点群が、ハッチコーミング7の上面に位置していると判定する。
一方、第1ベクトル角が水平角度閾値未満の場合、エッジ点抽出部802は、第1ベクトルが鉛直方向に近いと判定する。つまり、第1エッジ候補点が含まれる連続点群が、ハッチコーミング7の側面に位置していると判定する。
エッジ点抽出部802は、第1ベクトル角が水平角度閾値以上の場合(S108におけるYES)、第2エッジ候補点に第1エッジ候補点を設定する(S110)。
続いて、エッジ点抽出部802は、1つのレーザー照射部により計測された全ての計測点を処理対象点とし、計測された順に、1の計測点を処理対象点として選択する(S112)。
次に、エッジ点抽出部802は、選択した処理対象点(計測点)がいずれの連続点群にも含まれていない孤立点でないかを判定する(S114)。孤立点は、誤計測された計測点や、例えばロープ等、ハッチコーミング7の計測点になり得ない点である。ここでは、ハッチコーミング7の上端のエッジの候補とならない孤立点を除外する。
処理対象点が孤立点であれば(S114におけるNO)、S126に処理を移す。一方、処理対象点が孤立点でなければ(S114におけるYES)、エッジ点抽出部802は、第1エッジ候補点と処理対象点とのベクトルを第2ベクトルとして導出する(S116)。また、エッジ点抽出部802は、第1ベクトルと第2ベクトルとのなす角を第2ベクトル角として導出する(S118)。
エッジ点抽出部802は、第2ベクトル角が予め決められた類似角度閾値(例えば、5度)以下であるかを判定する(S120)。ここでは、類似角度閾値は、第1エッジ候補点と処理対象点とが同一平面上であるか否かを区切る値に設定されている。エッジ点抽出部802は、第2ベクトル角が類似角度閾値より大きければ、処理対象点が第1エッジ候補点と同一平面上にないと判定する。つまり、エッジ点抽出部802は、第2ベクトル角が類似角度閾値より大きければ、処理対象点がハッチコーミング7の上面に位置していないと判定する。一方、エッジ点抽出部802は、第2ベクトル角が類似角度閾値以下であれば、処理対象点が第1エッジ候補点と同一平面上にあると判定する。つまり、エッジ点抽出部802は、第2ベクトル角が類似角度閾値以下であれば、処理対象点がハッチコーミング7の上面に位置していると判定する。
そして、エッジ点抽出部802は、第2ベクトル角が類似角度閾値以下であれば(S120におけるYES)、処理対象点が第2エッジ候補点よりも、トップフレーム座標系310において原点に近いかを判定する(S122)。処理対象点が第2エッジ候補点よりも、トップフレーム座標系310において原点に近い場合、処理対象点が第2エッジ候補点よりもハッチコーミング7の上端のエッジに近いと言える。
そこで、エッジ点抽出部802は、処理対象点が第2エッジ候補点よりも、トップフレーム座標系310において原点に近い場合(S122におけるYES)、第2エッジ候補点を処理対象点に更新する(S124)。なお、第2ベクトル角が類似角度閾値より大きい場合(S120におけるNO)、および、処理対象点が第2エッジ候補点よりも、トップフレーム座標系310において原点に遠い場合(S122におけるNO)、S124の処理を行うことなく、S126の処理に移行する。
エッジ点抽出部802は、全ての処理対象点について、S112~S124の処理が終了したかを判定する(S126)。そして、全ての処理対象点について、S112~S124の処理が終了していなければ(S126におけるNO)、エッジ点抽出部802は、S112の処理に戻り、次の計測点を処理対象点としてS114~S124の処理を行う。
一方、全ての処理対象点について、S112~S124の処理が終了していれば(S126におけるYES)、エッジ点抽出部802は、最終的に第2エッジ候補点となっている計測点をエッジ点として抽出し(S128)、エッジ点抽出処理を終了する。
このように、エッジ点抽出部802は、第1エッジ候補点が含まれる連続点群のベクトルが水平に近い場合、第1エッジ候補点と同一平面上に位置する計測点のうち、トップフレーム座標系310において原点に最も近い計測点をエッジ点として抽出する。これにより、ハッチコーミング7の上面に位置する計測点のうち、トップフレーム座標系310において原点に最も近い計測点をエッジ点として抽出することができる。
一方、エッジ点抽出部802は、第1ベクトル角が水平角度閾値よりも小さければ(S108におけるNO)、第3エッジ候補点として第1エッジ候補点を設定する(S130)。
続いて、エッジ点抽出部802は、1つのレーザー照射部により照射されて計測された全ての計測点を処理対象点とし、計測された順に、1の計測点を処理対象として選択(更新)する(S132)。
次に、エッジ点抽出部802は、第1エッジ候補点と処理対象点とのベクトルを第3ベクトルとして導出する(S134)。また、エッジ点抽出部802は、第1ベクトルと第3ベクトルとのなす角を第3ベクトル角として導出する(S136)。
エッジ点抽出部802は、第3ベクトル角が予め決められた類似角度閾値(例えば、5度)以下であるかを判定する(S138)。エッジ点抽出部802は、第3ベクトル角が類似角度閾値より大きければ、処理対象点が第1エッジ候補点と同一平面上にないと判定する。つまり、エッジ点抽出部802は、第3ベクトル角が類似角度閾値より大きければ、処理対象点がハッチコーミング7の側面上に位置していないと判定する。一方、エッジ点抽出部802は、第3ベクトル角が類似角度閾値以下であれば、処理対象点が第1エッジ候補点と同一平面上にあると判定する。つまり、エッジ点抽出部802は、第3ベクトル角が類似角度閾値以下であれば、処理対象点がハッチコーミング7の側面上に位置していると判定する。
そして、エッジ点抽出部802は、第3ベクトル角が類似角度閾値以下であれば(S138におけるYES)、処理対象点が第3エッジ候補点よりも、トップフレーム座標系310において鉛直上方に位置しているかを判定する(S140)。処理対象点が第3エッジ候補点よりも、トップフレーム座標系310において鉛直上方に位置している場合(処理対象点が高い場合)、処理対象点が第3エッジ候補点よりも、ハッチコーミング7の上端のエッジに近いと言える。
そこで、エッジ点抽出部802は、処理対象点が第3エッジ候補点よりも、トップフレーム座標系310において鉛直上方に位置している場合(S140におけるYES)、第3エッジ候補点を処理対象点に更新する(S142)。なお、第3ベクトル角が類似角度閾値より大きい場合(S138におけるNO)、および、処理対象点が第3エッジ候補点よりも、トップフレーム座標系310において鉛直下方に位置している場合(S140におけるNO)、S142の処理を行うことなく、S144の処理に移行する。
エッジ点抽出部802は、全ての処理対象点について、S132~S142の処理が終了したかを判定する(S144)。そして、全ての処理対象点について、S132~S142の処理が終了していなければ(S144におけるNO)、エッジ点抽出部802は、S132の処理に戻り、次の計測点を処理対象点としてS134~S142の処理を行う。
一方、全ての処理対象点について、S132~S142の処理が終了していれば(S144におけるYES)、エッジ点抽出部802は、最終的に第3エッジ候補点となっている計測点をエッジ点として抽出し(S146)、エッジ点抽出処理を終了する。
このように、エッジ点抽出部802は、第1エッジ候補点が含まれる連続点群のベクトルが鉛直方向に近い場合、第1エッジ候補点と同一平面上に位置する計測点のうち、最も鉛直方向に高い計測点をエッジ点として抽出する。これにより、ハッチコーミング7の側面に位置する計測点のうち、最も鉛直方向に高い計測点をエッジ点として抽出することができる。
連続端点抽出部800およびエッジ点抽出部802は、測距センサ130~132の1つのレーザー照射部により計測された計測点群毎に、前方側および後方側のエッジ点を上記の連続端点抽出処理およびエッジ点抽出処理によって抽出する。
そして、全てのエッジ点が抽出されると、第1の実施形態におけるエッジ検出部152と同様に、エッジ導出部804は、ハッチコーミング7のエッジの直線を検出する。そして、エッジ導出部804は、検出された直線のうち、各直線間におけるなす角を導出する。そして、エッジ導出部804は、なす角が予め決められた閾値以下である場合、同一の直線であるとして統合する。続いて、エッジ導出部804は、検出したエッジの直線から、各辺の3次元方向ベクトル、各辺の3次元重心座標、各辺の長さ、各辺の端点の座標を含むエッジ辺情報を導出する。その後、エッジ導出部804は、グループごとに、抽出されたエッジ点間の線分のうち、最も多くの類似の線分をもつものを候補ベクトルとして導出する。そして、エッジ導出部804は、候補ベクトルに対して予め設定された範囲以内に存在するエッジ点を抽出する。そして、エッジ導出部804は、抽出したエッジ点を用いて直線を再計算する。
次に、エッジ導出部804は、抽出されなかったエッジ点を用いて上記した処理を繰り返し行う。ただし、抽出されたエッジ点の数が、予め設定された閾値未満である場合、直線を導出しない。これにより、ハッチコーミング7の角を含む場合であっても、2本のエッジの直線を導出することができる。エッジ導出部804は、グループごとに、上記した処理を繰り返し行うことで、エッジの直線を導出する。
以上のように、エッジ検出部752は、ハッチコーミング7の上端のエッジの候補点となる第1エッジ候補点が含まれる連続点群のベクトルを導出し、導出したベクトルが水平方向に近いか、鉛直方向に近いかによって異なる処理によりエッジ点を検出(抽出)する。
ここで、第1の実施形態におけるエッジ検出部152は、鉛直方向のみを対象としてエッジ点を検出している。つまり、エッジ検出部152は、ハッチコーミング7の側面の計測点からエッジ点を検出している。しかしながら、測距センサ130~132がハッチコーミング7から相対的に遠い場合、測距センサ130~132からハッチコーミング7の側面までの距離が遠い。また、測距センサ130~132から照射されるレーザーの入射角が、ハッチコーミング7の側面において大きい。そのため、ハッチコーミング7の側面での計測点数が少なくなる場合がある。
そこで、第2の実施形態では、鉛直方向だけでなく、水平方向についてもエッジ点の抽出を行う。これにより、ハッチコーミング7の上面の計測点からもエッジ点を検出することができ、ハッチコーミング7の上端のエッジの検出精度を、第1の実施形態よりも向上することができる。
以上、添付図面を参照しながら実施形態について説明したが、本開示はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に技術的範囲に属するものと了解される。
例えば、上記実施形態において、複数のアンローダ装置100、700を1つの制御装置200で制御するようにした。しかしながら、1つのアンローダ装置100、700に対して1つの制御装置200を設けるようにしてもよい。この場合、アンローダ制御部140、740および監視制御部210を統合して1つにしてもよい。また、通信装置144および通信装置240を設けなくてもよい。
また、上記実施形態において、アンローダ制御部140(740)が駆動制御部150、エッジ検出部152(752)、座標変換導出部154、モデル配置部156、状態監視部158、経路生成部160、自動運転指令部162、自動運転終了判定部164、衝突防止部166として機能するようにした。しかしながら、監視制御部210が駆動制御部150、エッジ検出部152(752)、座標変換導出部154、モデル配置部156、状態監視部158、経路生成部160、自動運転指令部162、自動運転終了判定部164、衝突防止部166の一部または全部として機能するようにしてもよい。
また、上記実施形態において、測距センサ130~132がトップフレーム108に配置されるようにした。しかしながら、測距センサ130~132は、トップフレーム108またはエレベータ110に配置されるようにしてもよい。つまり、測距センサ130~132は、本体部に配置されていればよい。また、上記実施形態において、測距センサ133~136は掻取部112に配置されるようにした。しかしながら,測距センサ133~136はエレベータ110における掻取部112に近い半分側に設置してもよい。
また、上記実施形態において、3次元モデルの一部(断面)を上方視点画像500として表示するようにしたが、測距センサ130~132によって計測された計測結果(計測点)をそのまま画像として表示してもよく、また、エッジ検出部152により検出されたエッジの直線を画像として表示するようにしてもよい。つまり、測距センサ130~132によって計測された計測結果に基づいて、エレベータ110および掻取部112、船庫5およびハッチコーミング7の少なくとも一部を示す上方視点画像500を表示すればよい。
また、上記実施形態において、3次元モデルの一部(断面)を掻取部周辺画像510として表示するようにしたが、測距センサ133~136によって計測された計測結果(計測点)をそのまま画像として表示してもよい。つまり、測距センサ133~136によって計測された計測結果に基づいて、エレベータ110および掻取部112、船庫5の少なくとも一部を示す掻取部周辺画像510を表示すればよい。
また、上記実施形態において、荷揚げ装置の一例としてアンローダ装置100、700を例に挙げて説明した。しかしながら、荷揚げ装置は、連続アンローダ(バケット式、ベルト式、垂直スクリューコンベア式など)、ニューマチックアンローダ等であってもよい。
また、上記実施形態において、エレベータ110の周方向に120度離れて、円筒に接する平面方向から一定角度範囲内に向けて計測するように3つの測距センサ130~132が設けられるようにした。しかしながら、測距センサの数は、3つ以上であればよい。また、測距センサは、円筒に接する平面の方向に計測するように設置する必要はなく、平面から傾けて設置してもよい。少なくとも1つは他の測距センタと周方向(を含む平面上で)に45度以上異なる方向に向けて設けられるとよい。また、測距センサは、計測範囲が異なるように設けられるとよい。
また、上記実施形態において、エレベータ110などで例示される垂直搬送機構部は、掻取部112から主に上方に荷物を搬送する機構を示し、厳密に垂直であることを示すものではない。
また、上記実施形態において、1つの計測ライン上の計測点群毎に、図17に示す連続端点抽出処理およびエッジ点抽出処理を行うようにした。しかしながら、全ての計測点から所定の計測点を抽出し、抽出した計測点に対して連続端点抽出処理およびエッジ点抽出処理を行うようにしてもよい。