以下、エッジ検出装置の一実施形態について説明する。以下の説明において、上下とは鉛直方向での上下を示す。
図1に示すように、荷役システムCSは、フォークリフト10と、エッジ検出装置50と、を備える。フォークリフト10は、工場、港湾、空港、商業施設などのパレットPを搬送する必要のある作業場で使用される。作業場には、停車位置A1が予め設定されている。停車位置A1には、トラックTが停車する。トラックTは、トラックTに連結されたコンテナC1を搬送する搬送車である。本実施形態のトラックTは、2つのコンテナC1を搬送するが、トラックTとしては単数のコンテナC1を搬送するものであってもよいし、3つ以上のコンテナC1を搬送するものであってもよい。
フォークリフト10は、コンテナC1にパレットPを積む荷積み作業、及びコンテナC1に積まれたパレットPをフォークリフト10に積む荷取り作業を含む荷役作業を行う。パレットPには、荷Wが積まれている。本実施形態では、フォークリフト10が荷積み作業を行う場合を例に挙げて説明を行う。フォークリフト10は、荷役位置A2まで移動した後に、荷積み作業を行う。荷役位置A2は、パレットPを置く対象となるコンテナC1の正面位置である。
フォークリフト10は、荷積み作業を行わない際には、作業場に設定された待機位置A3で待機している。停車位置A1にトラックTが停車すると、フォークリフト10は、荷役位置A2まで移動し、荷積み作業を行う。
作業場には、2つの柱Pi1,Pi2が設けられている。2つの柱Pi1,Pi2は、固定構造物である。2つの柱Pi1,Pi2は、例えば、軒を支持する支柱である。固定構造物とは、時間経過によって位置が変わらない、あるいは、変わりにくい構造物である。
トラックTは、2つの柱Pi1,Pi2に沿って停車される。例えば、トラックTは、水平方向のうち2つの柱Pi1,Pi2の並ぶ方向に直交する方向から見て、2つの柱Pi1,Pi2同士の間に1つのコンテナC1が位置するように停車される。以下の説明において、適宜、2つの柱Pi1,Pi2の一方を第1柱Pi1、他方を第2柱Pi2として説明する。
図2及び図3に示すように、コンテナC1は中空状であり、内部がパレットPを収容可能な収容空間になっている。コンテナC1は、底部BWと、天部CWと、2つの前壁FW1,FW2と、2つの後壁RW1,RW2と、2つの側壁SW1,SW2と、を備える。底部BW、天部CW、前壁FW1,FW2、後壁RW1,RW2及び側壁SW1,SW2は、それぞれ、四角板状の壁部である。底部BWと天部CWとは互いに向かい合っている。前壁FW1,FW2、後壁RW1,RW2及び側壁SW1,SW2は、底部BWと天部CWとの間に位置する。2つの側壁SW1,SW2同士は、互いに向かい合っている。2つの前壁FW1,FW2と、2つの後壁RW1,RW2とは互いに向かい合っている。前壁FW1はヒンジ等により回動可能な状態で側壁SW1に取り付けられている。前壁FW2はヒンジ等により回動可能な状態で側壁SW2に取り付けられている。後壁RW1はヒンジ等により回動可能な状態で側壁SW1に取り付けられている。後壁RW2はヒンジ等により回動可能な状態で側壁SW2に取り付けられている。前壁FW1,FW2及び後壁RW1,RW2は、扉といえる。前壁FW1,FW2が回動することで、底部BW、天部CW及び側壁SW1,SW2に囲まれた開口部O11の開放と閉塞とが切り替えられる。後壁RW1,RW2が回動することで、底部BW、天部CW及び側壁SW1,SW2に囲まれた開口部O12の開放と閉塞とが切り替えられる。
コンテナC1は、底部BWと天部CWとが鉛直方向に向かい合い、かつ、底部BWが天部CWよりも下方に位置する態様で用いられる。前壁FW1,FW2と、後壁RW1,RW2とは、水平方向に互いに向かい合う壁部といえる。側壁SW1,SW2は、水平方向に互いに向かい合う壁部といえる。
2つの前壁FW1,FW2はそれぞれ外面O1,O2を備える。2つの側壁SW1,SW2はそれぞれ外面O3,O4を備える。2つの後壁RW1,RW2はそれぞれ外面O5,O6を備える。なお、前壁FW1,FW2の外面O1,O2及び後壁RW1,RW2の外面O5,O6とは、前壁FW1,FW2及び後壁RW1,RW2が閉塞されている状態でコンテナC1の外部に位置する面である。前壁FW1,FW2が閉塞されている状態で、前壁FW1の外面O1と前壁FW2の外面O2とは同一面とみなすことができる。後壁RW1,RW2が閉塞されている状態で、後壁RW1の外面O5と後壁RW2の外面O6とは同一面とみなすことができる。前壁FW1,FW2及び後壁RW1,RW2が閉塞されている状態での前壁FW1,FW2の外面O1,O2と後壁RW1,RW2の外面O5,O6との間の距離L2は、側壁SW1,SW2の外面O3,O4同士の距離L1に比べて短い。以下の説明において、水平方向に互いに向かい合う壁部のうち、互いの離間距離が長い壁部が向かい合う方向をコンテナC1の長手方向、互いの離間距離が短い壁部が向かい合う方向をコンテナC1の短手方向とする。本実施形態では、側壁SW1,SW2同士が向かい合う方向が長手方向であり、前壁FW1,FW2と後壁RW1,RW2が向かい合う方向が短手方向である。なお、コンテナC1とは、荷Wが収容される収容体であればどのようなものであってもよい。コンテナC1は、荷Wが収容可能な形状であればどのような形状であってもよく、例えば、天部CWがない形状であってもよいし、後壁RW1,RW2が開かない形状であってもよい。
図4に示すように、フォークリフト10は、車体11と、車体11の前下部に配置された駆動輪12と、車体11の後下部に配置された操舵輪13と、車体11の前方に設けられた荷役装置14と、を備える。荷役装置14は、車体11の前部に設けられたマスト15と、フォーク18と、リフトシリンダ20と、ティルトシリンダ21と、を備える。マスト15は、車体11に対して前後に傾動可能に支持されたアウタマスト16と、アウタマスト16に対して昇降可能なインナマスト17と、を備える。フォーク18は、インナマスト17とともに昇降する。リフトシリンダ20は、インナマスト17を昇降動作させる。ティルトシリンダ21は、マスト15を傾動動作させる。リフトシリンダ20及びティルトシリンダ21は、油圧シリンダである。
図5に示すように、フォークリフト10は、駆動機構31と、油圧機構32と、制御装置33と、補助記憶装置36と、車載センサ37と、環境センサ38と、通信部39と、を備える。
駆動機構31は、フォークリフト10を走行動作させるための部材であり、駆動輪12を駆動させるための走行用モータや、操舵輪13を操舵させるための操舵機構を含む。油圧機構32は、フォークリフト10に荷役動作を行わせるための部材である。油圧機構32は、リフトシリンダ20及びティルトシリンダ21への作動油の給排を制御するための部材を含み、ポンプを駆動させるための荷役モータや、コントロールバルブを含む。
制御装置33は、プロセッサ34と、記憶部35と、を備える。プロセッサ34としては、例えば、CPU:Central Processing Unit、GPU:Graphics Processing Unit、DSP:Digital Signal Processorが用いられる。記憶部35は、RAM:Random access memory及びROM:Read Only Memoryを含む。記憶部35は、処理をプロセッサ34に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部35、すなわち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御装置33は、ASIC:Application Specific Integrated CircuitやFPGA:Field Programmable Gate Array等のハードウェア回路によって構成されていてもよい。処理回路である制御装置33は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
制御装置33は、記憶部35に記憶されたプログラムに従い、駆動機構31及び油圧機構32を制御することで、フォークリフト10を動作させる。フォークリフト10は、操作者による操作が行われることなく、制御装置33による制御によって自動で動作するフォークリフトである。
補助記憶装置36は、制御装置33が読み取り可能な情報を記憶している。補助記憶装置36としては、例えば、ハードディスクドライブや、ソリッドステートドライブが用いられる。記憶部35に記憶されるプログラムコードや指令は、記憶部35に代えて補助記憶装置36に記憶されてもよい。
補助記憶装置36には、環境地図を示す情報が記憶されている。環境地図とは、フォークリフト10の用いられる環境の形状、広さなど、フォークリフト10の周辺環境の物理的構造に関する情報である。フォークリフト10の用いられる環境には、停車位置A1が含まれており、環境地図は停車位置A1の周辺環境を表しているともいえる。
環境地図は、フォークリフト10の用いられる環境、即ち、図1に示す作業場を地図座標系での座標で表したデータといえる。詳細に言えば、地図座標系は、原点を基準とした座標でフォークリフト10の用いられる環境の物理的構造に関する位置を表現したものである。本実施形態において、地図座標系の原点は第1柱Pi1である。詳細にいえば、第1柱Pi1の一点を地図座標系の原点としている。地図座標系の座標軸のうちX軸は、第1柱Pi1と第2柱Pi2の並ぶ方向に延びる軸であり、地図座標系の座標軸のうちY軸は水平方向のうちX軸に直交する方向に延びる軸である。第1柱Pi1と第2柱Pi2は、同一の座標軸上に位置している。
なお、図1において、矢印Xは地図座標系のX軸、矢印Yは地図座標系のY軸を示している。本実施形態では、説明の便宜上、X座標及びY座標のみについて説明するが、地図座標系は、2軸直交座標系に限られず、3軸直交座標系であってもよい。即ち、地図座標系は、座標軸としてX軸及びY軸に直交するZ軸を備えていてもよい。以下の説明において、地図座標系の座標を地図座標と称する。
環境地図は、フォークリフト10が用いられる周辺環境を予め把握できていれば、予め補助記憶装置36に記憶されていてもよい。環境地図を予め補助記憶装置36に記憶する場合、建築物の壁、柱Pi1,Pi2など位置の変化しにくい固定構造物の座標を環境地図として記憶する。環境地図は、SLAM:Simultaneous Localization and Mappingによるマッピングにより作成されてもよい。マッピングは、例えば、環境センサ38によって得られた座標から局所地図を作成し、この局所地図を自己位置に応じて組み合わせることによって行われる。マッピングにより環境地図を作成する場合であっても、第1柱Pi1は原点、柱Pi1,Pi2の座標はX軸上の座標となるように予め設定しておく。
制御装置33は、環境地図上でのフォークリフト10の自己位置を推定する自己位置推定を行いながら駆動機構31を制御することで、フォークリフト10を移動させることが可能である。自己位置推定は、例えば、走行用モータの回転数を用いて自己移動量を推定するオドメトリを用いて行われてもよいし、ランドマークと環境地図とのマッチング結果から行われてもよい。また、これらを組み合わせて自己位置推定をしてもよい。フォークリフト10が用いられる環境が屋外であれば、GNSS(Global Navigation Satellite System)を用いて自己位置を推定してもよい。GNSSは、GPS(Global Positioning System)、IRNSS(Indian Regional Navigational Satellite System)、及びQZSS(Quasi-Zenith Satellite System)を含む。なお、自己位置とは、車体11の一点を示す座標であり、例えば、車体11の水平方向の中央の座標である。
車載センサ37は、フォークリフト10の荷役作業に用いるためのセンサである。本実施形態において、車載センサ37は、少なくとも、フォークリフト10の荷積み作業に用いられるセンサを含む。車載センサ37は、フォークリフト10が荷積み作業を行う際に、パレットPを置く位置である荷置き位置を検出するために用いられる。車載センサ37としては、例えば、レーザー距離計、カメラ、ミリ波レーダー等、フォークリフト10とコンテナC1との相対位置を制御装置33に認識させることができるものが用いられる。
環境センサ38は、フォークリフト10の後方に位置する物体と、フォークリフト10との相対位置を制御装置33に認識させることができるセンサである。環境センサ38としては、例えば、ミリ波レーダー、ステレオカメラ、3次元のレーザー距離計などを用いることができる。環境センサ38は、自己位置推定を行う際のランドマークを検出するために設けられている。
通信部39は、無線LAN、Zigbee(登録商標)、LPWA:Low Power Wide Areaなどの無線通信方式で通信を行うことが可能な通信機器である。通信部39は、受信した無線信号を復調したデータを制御装置33に入力したり、制御装置33から入力されたデータを変調して無線信号として送信することが可能である。
図6に示すように、エッジ検出装置50は、レーザー距離計51と、上位制御装置52と、を備える。
レーザー距離計51は、検出可能範囲DAに存在する物体までの距離を測定する。レーザー距離計51は、水平方向への照射角度を角度分解能に応じた角度で変更しながらレーザーを照射する。本実施形態のレーザー距離計51は、鉛直方向への照射角度が変更されない2次元のレーザー距離計である。なお、レーザー距離計51は、レーザーレンジファインダやLIDAR:Laser Imaging Detection and Rangingと称されることもある。
レーザーが物体に当たると、レーザー距離計51は物体からの反射光を受光する。物体において、レーザーが当たった部分を照射点P1とすると、レーザー距離計51は、レーザー距離計51から照射点P1までの距離を算出する。レーザー距離計51は、照射点P1までの距離と照射角度とを対応付けた情報を距離情報として上位制御装置52に出力する。なお、照射角度と距離を用いることで、レーザー距離計51を原点とするセンサ座標系での照射点P1の座標を導出することができる。センサ座標系は、水平方向に互いに直交する軸の1つをX軸、X軸とは異なる軸をY軸とする直交座標系である。レーザー距離計51によって導出された距離と、照射角度を用いて、照射点P1までの距離をX軸方向への成分とY軸方向への成分に分解することができる。これにより、レーザー距離計51を原点とするセンサ座標系での照射点P1の座標を導出することができる。従って、距離情報とは、レーザー距離計51を原点とするセンサ座標系での照射点P1の座標と捉えることもできる。センサ座標系の座標をセンサ座標とする。センサ座標系のXY平面は、水平方向を表す座標平面である。従って、センサ座標は水平方向を表す方向での座標といえる。センサ座標系での照射点P1の座標は、レーザー距離計51で導出されてもよいし、上位制御装置52で導出されてもよい。
レーザー距離計51の検出可能範囲DAは、レーザーの照射可能角度θ1と、レーザーの照射可能距離Rによって定まる。レーザー距離計51の検出可能範囲DAは、例えば、照射可能角度θ1を中心角、照射可能距離Rを半径とする扇形である。
レーザー距離計51は、作業場の一定位置に配置されている。レーザー距離計51は、検出可能範囲DAに停車位置A1及び2つの柱Pi1,Pi2が含まれるように配置されている。詳細にいえば、レーザー距離計51は、停車位置A1にトラックTが停車した状態で、少なくとも1つのコンテナC1と2つの柱Pi1,Pi2にレーザーが照射されるように配置されている。レーザー距離計51は、レーザーの照射方向が鉛直方向に傾かないように配置されることが好ましいが、僅かであればレーザーの照射方向が鉛直方向に傾いていてもよい。
なお、トラックTが停車位置A1に停車しており、かつ、前壁FW1,FW2及び後壁RW1,RW2が閉塞している状態で、コンテナC1の前壁FW1,FW2は、レーザー距離計51を向く。コンテナC1の後壁RW1,RW2は、コンテナC1の前壁FW1,FW2よりもレーザー距離計51から離間する。本実施形態では、コンテナC1の壁部のうち、トラックTが停車位置A1に停車している状態で、レーザー距離計51を向く壁部を便宜上、前壁と称しているが、コンテナC1とレーザー距離計51の位置関係によっては、底部BWと天部CWとの間で延びる各壁部のいずれであっても前壁となり得る。
図5に示すように、エッジ位置検出部としての上位制御装置52は、制御部53と、指令通信部56と、補助記憶装置57と、入力装置58と、を備える。制御部53は、プロセッサ54と、記憶部55と、を備える。プロセッサ54としては、例えば、CPU、GPU、DSPが用いられる。記憶部55は、ROM及びRAMを含む。記憶部55は、処理をプロセッサ54に実行させるように構成されたプログラムコードまたは指令を格納している。記憶部55、すなわち、コンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。制御部53は、ASICやFPGA等のハードウェア回路によって構成されていてもよい。処理回路である制御部53は、コンピュータプログラムに従って動作する1つ以上のプロセッサ、ASICやFPGA等の1つ以上のハードウェア回路、或いは、それらの組み合わせを含み得る。
送信部としての指令通信部56は、無線LAN、Zigbee、LPWAなどの無線通信方式で通信を行うことが可能な通信機器である。指令通信部56は、受信した無線信号を復調したデータを制御部53に入力したり、制御部53から入力されたデータを変調して無線信号として送信することが可能である。指令通信部56は、通信部39が受信可能な無線信号を生成し、通信部39に送信する。
補助記憶装置57は、例えば、ハードディスクドライブや、ソリッドステートドライブが用いられる。記憶部55に記憶されるプログラムコードや指令は、記憶部55に代えて補助記憶装置57に記憶されてもよい。また、補助記憶装置57は、フォークリフト10に搭載された補助記憶装置36と同様に、環境地図を記憶していてもよい。
入力装置58は、操作者の操作を受け付けて、入力信号として出力する部材である。入力装置58としては、キーボード、物理ボタン、マイク、マウス、タッチパネルなどが挙げられる。
上位制御装置52の制御部53には、レーザー距離計51の測定結果が入力される。上位制御装置52は、作業場に配置されていてもよいし、作業場とは異なる位置に配置されていてもよい。上位制御装置52が作業場とは異なる位置に配置される場合、レーザー距離計51の測定結果は、測定結果を上位制御装置52に送信可能な通信部などによって上位制御装置52に送信される。
エッジ検出装置50は、コンテナC1を検出対象とし、コンテナC1における互いに水平方向に離間して隣り合う2つのエッジの位置を検出する。
図2及び図3に示すように、本実施形態では、2つの前壁FW1,FW2における互いに水平方向に離間した2つのエッジE1,E2の位置を検出する。2つのエッジE1,E2は、コンテナC1の長手方向に互いに離間して隣り合うエッジである。2つのエッジE1,E2のうち1つを第1エッジE1とし、残りの1つを第2エッジE2とする。第1エッジE1は、前壁FW1のうち水平方向に最も前壁FW2から離間している位置といえる。第2エッジE2は、前壁FW2のうち水平方向に最も前壁FW1から離間している位置といえる。2つの前壁FW1,FW2の外面O1,O2を1つの平面として捉えると、2つのエッジE1,E2は同一平面で水平方向に互いに隣り合うエッジといえる。
本実施形態のエッジ検出装置50は、2つのエッジE1,E2の位置から、コンテナC1の位置を導出し、コンテナC1の位置までフォークリフト10を誘導する。フォークリフト10が荷積み作業を行う際には、開口部O11からコンテナC1にパレットPを積み込む。以下、エッジ検出装置50で行われる処理について詳細に説明する。エッジ検出装置50で行われる処理は、例えば、プロセッサ54がRAMに読み込まれたプログラムを実行することで実施される。説明の便宜上、複数のコンテナC1のうち1つのコンテナC1のエッジE1,E2を検出する場合について説明する。また、コンテナC1の前壁FW1,FW2は閉塞されている状態とする。
本実施形態では、第1エッジ検出処理と、第2エッジ検出処理の2つのエッジ検出処理を併用することで、エッジE1,E2の位置を精度良く検出できるようにしている。
図7に示すように、ステップS1において、上位制御装置52の制御部53は、レーザー距離計51の測定結果を取得する。レーザー距離計51の測定結果とは、照射点P1のセンサ座標である。停車位置A1にトラックTが停車した場合には、トラックTやコンテナC1にレーザーが当たることによる照射点P1を上位制御装置52が取得することになる。これにより、上位制御装置52は、停車位置A1にトラックTが停車していることを検知することが可能である。以下の説明において、一例として、図8に示すように照射点P1のセンサ座標が得られた場合について説明する。ステップS1の処理を行うことで、上位制御装置52は、レーザー距離計51から測定結果を取得する取得部を備えているといえる。
図7に示すように、ステップS2において、上位制御装置52の制御部53は、第1柱Pi1及び第2柱Pi2のセンサ座標を取得する。レーザー距離計51の配置位置から、第1柱Pi1及び第2柱Pi2の大まかな位置は把握することができる。従って、第1柱Pi1が存在すると想定される範囲を予め設定しておき、この範囲内の照射点P1の座標が第1柱Pi1のセンサ座標として上位制御装置52に取得されるようにすればよい。同様に、第2柱Pi2が存在すると想定される範囲を予め設定しておき、この範囲内の照射点P1の座標が第2柱Pi2のセンサ座標として上位制御装置52に取得されるようにすればよい。レーザー距離計51の位置、第1柱Pi1の位置、第2柱Pi2の位置関係が一定であれば、第1柱Pi1のセンサ座標、及び第2柱Pi2のセンサ座標は予め把握することができる。この場合、上位制御装置52の記憶部55や補助記憶装置57に第1柱Pi1のセンサ座標、及び第2柱Pi2のセンサ座標を予め記憶しておけばよい。
次に、ステップS3において、上位制御装置52の制御部53は、照射点P1のセンサ座標を地図座標に変換する。センサ座標系において第1柱Pi1の座標を(0,0)とした場合の第2柱Pi2の座標を(x1,y1)とすると、センサ座標系に対する地図座標系の傾きθは、θ=Atan(x1,y1)で導出することができる。なお、傾きθは、センサ座標系のX軸に対する地図座標系のX軸の傾きである。傾きθが予め把握できている場合、傾きθは上位制御装置52の記憶部55や補助記憶装置57に記憶されていてもよい。
上位制御装置52の制御部53は、照射点P1のセンサ座標に回転行列を乗算した後に、第1柱Pi1の座標が(0,0)になるように照射点P1を平行移動させる。照射点P1のセンサ座標を(x’,y’)、地図座標系との傾きを0にしたセンサ座標系での照射点P1の座標を(x,y)とする。以下の(1)式により照射点P1のセンサ座標に回転行列を乗算することで、地図座標系との傾きを0にしたセンサ座標系での照射点P1の座標(x,y)を導出することができる。
以下の(2)式により、回転行列を乗算した後のセンサ座標(x,y)を第1柱Pi1の座標が(0,0)になるように平行移動させる。
(xm,ym)は、地図座標系での照射点P1の座標である。(x1’,y1’)は、地図座標系との傾きを0にしたセンサ座標系での第1柱Pi1の座標である。即ち、(x1’,y1’)は、第1柱Pi1のセンサ座標に回転行列を乗算した座標である。
上位制御装置52は、第1エッジ検出処理を行う。
ステップS4において、上位制御装置52は、ステップS3で得られた照射点P1の地図座標から、直線を抽出する。ステップS3で照射点P1のセンサ座標を地図座標に変換しているため、ステップS4では、水平方向を表す座標平面として、地図座標系のXY平面での直線が抽出される。本実施形態において、上位制御装置52はRANSAC(Random Sample Consensus)によって直線を抽出する。上位制御装置52は、照射点P1が含まれる直線を複数抽出する。直線は、地図座標系のXY平面で直線の長さ方向に直交する方向に所定の幅を有する。直線は、地図座標系のXY平面において直線の延びる方向と、直線の延びる方向に直交する方向に広がる長方形状の範囲と捉えることもできる。直線の幅は、エッジ検出装置50の管理者等が適宜設定することができる。図8に示す例では、2つの直線L11,L21を図示しているが、上位制御装置52は、複数の照射点P1の組み合わせにより得られる直線のうち、例えば、数十~数百の直線を抽出する。ステップS4の処理を行うことで、上位制御装置52は、複数の照射点P1の組み合わせによって得られる直線を抽出する抽出部を備えているといえる。
図7に示すように、ステップS5において、上位制御装置52は、ステップS4で抽出された複数の直線L11,L21から、地図座標系のXY平面でコンテナC1の2つのエッジE1,E2が含まれる直線を抽出する。上位制御装置52は、直線上に位置する照射点P1が最も多い直線を、コンテナC1の2つのエッジE1,E2が含まれる直線として抽出する。図8に示す例では、複数の直線L11,L21のうち直線L11がエッジE1,E2が含まれる直線として抽出される。直線上に位置する照射点P1は、直線の幅内に位置する照射点P1ともいえる。レーザーが平面に照射されている場合、平面に照射された照射点P1は一直線上に位置するため、同一平面に照射された照射点P1は直線の幅内に位置しやすい。前述したように、前壁FW1,FW2が閉塞されている場合には、2つの前壁FW1,FW2の外面O1,O2は同一平面とみなすことができる。レーザーが照射されるコンテナC1の外面のうち水平方向の寸法が最も長い面は、前壁FW1,FW2の外面O1,O2といえる。従って、直線の幅内に位置する照射点P1が最も多い直線は、前壁FW1,FW2の外面O1,O2に照射された照射点P1により得られた直線といえる。
なお、コンテナC1によっては、前壁FW1,FW2に起伏があり、外面O1,O2が滑らかではない場合がある。この場合、前壁FW1,FW2の外面O1,O2に照射された照射点P1が、起伏によって一直線上に位置しない場合がある。前述したように、直線の幅は適宜設定することができるため、起伏による照射点P1のずれを吸収できるように直線の幅を設定すればよい。例えば、起伏による前壁FW1,FW2の厚み方向への照射点P1のずれ量よりも直線の幅を広くすればよい。ステップS5の処理を行うことで、上位制御装置52は、直線抽出部を備えているといえる。
図7に示すように、ステップS6において、上位制御装置52は、エッジE1,E2にレーザーが照射されることで得られた照射点P1を抽出する。図9に示すように、上位制御装置52は、ステップS5で抽出された直線L11の幅内に位置する照射点P1のうち、直線L11の延びる方向の片側に対して予め定められた距離D1以上隣り合う照射点P1が存在しない2つの照射点P1を2つのエッジE1,E2に照射された照射点P1として抽出する。なお、以下の説明では、エッジE1,E2に照射された照射点P1を縁照射点PE1,PE2と称する。縁照射点PE1は、レーザーが第1エッジE1に照射されることで得られた照射点P1であり、縁照射点PE2は、レーザーが第2エッジE2に照射されることで得られた照射点P1である。
直線L11は、2つの前壁FW1,FW2の外面O1,O2に照射されることで得られた直線なので、エッジE1,E2に照射された照射点P1を境にして、照射点P1が途切れることになる。直線L11の延びる方向の片側に対して予め定められた距離D1以上隣り合う照射点P1が存在しない照射点P1は、エッジE1,E2に照射された縁照射点PE1,PE2とみなすことができる。また、2つの前壁FW1,FW2の外面O1,O2に照射されることで得られた直線L11は、エッジE1,E2に照射されることで照射点P1が途切れるまでは、連続して照射点P1が位置する。従って、直線L11の延びる方向の片側に対して予め定められた距離D1以上隣り合う照射点P1が存在せず、かつ、もう片側に対しては連続して照射点P1が存在する照射点P1をエッジE1,E2に照射された縁照射点PE1,PE2としてもよい。連続して照射点P1が存在するか否かは、所定距離内に閾値以上の個数の照射点P1が存在するか否かで判定することができる。所定距離は、2つのエッジE1,E2間距離以下の範囲で適宜設定することができる。閾値は、所定距離内に照射されると想定される照射点P1以下の範囲で適宜設定することができる。例えば、直線L11の延びる方向の片側に対して予め定められた距離D1以上隣り合う照射点P1が存在せず、かつ、もう片側に対しては距離D1内に複数の照射点P1が存在する照射点P1をエッジE1,E2に照射された縁照射点PE1,PE2としてもよい。なお、縁照射点PE1,PE2は、実際にはエッジE1,E2に照射された照射点P1ではない場合がある。縁照射点PE1,PE2は、前壁FW1,FW2にレーザーが当たることで得られた照射点P1のうち最もエッジE1,E2に近い照射点P1、あるいは、側壁SW1,SW2にレーザーが当たることで得られた照射点P1のうち最もエッジE1,E2に近い照射点P1の場合がある。この場合であっても、縁照射点PE1,PE2は、エッジE1,E2に最も近い照射点P1であり、エッジE1,E2に照射された照射点P1として取り扱って差し支えないといえる。ステップS6の処理を行うことで、上位制御装置52は、縁照射点抽出部を備えているといえる。
図7に示すように、ステップS7において、上位制御装置52は、第2エッジ検出処理を行う。第2エッジ検出処理では、照射点P1同士を結んだときの方向変化を利用して縁照射点PE1,PE2の検出を行う。図8に示す縁照射点PE1に着目すると、縁照射点PE1に隣り合う2つの照射点P2,P3のうちの1つの照射点P2は前壁FW1の外面O1に照射された照射点P1であり、もう1つの照射点P3は側壁SW1の外面O3に照射された照射点P1である。同一面にレーザーが照射されることで得られた照射点P1は一直線上に位置しやすい一方で、異なる面にレーザーが当たることで得られた照射点P1は一直線上に位置しにくい。従って、照射点P1同士を線分で結んだ場合、第1エッジE1にレーザーが当たることで得られた照射点P1と、この照射点P1に隣り合う照射点P1とを結ぶ線分で、傾斜角度が急激に変化することになる。従って、縁照射点PE1と、縁照射点PE1に隣り合う照射点P2,P3を線分で結ぶと、線分の傾きが大きく変化する。上位制御装置52は、隣り合う照射点P1同士を結んだときの線分の傾きの変化量が予め定められた判定閾値よりも大きい照射点P1を縁照射点PE1として抽出する。判定閾値は、レーザーが異なる面に照射されたことを検出できるように設定されている。判定閾値は、例えば、レーザー距離計51の角度分解能と、前壁FW1,FW2の外面O1,O2と側壁SW1,SW2の外面O3,O4との交わる角度に応じて設定される。上位制御装置52は、同様の手法で縁照射点PE2も抽出することができる。
図7に示すように、ステップS8において、上位制御装置52は、2つのエッジE1,E2の位置を導出する。2つのエッジE1,E2の位置とは、地図座標系でのエッジE1,E2の位置、即ち、エッジE1,E2の地図座標である。上位制御装置52は、第1エッジ検出処理による検出結果と、第2エッジ検出処理による検出結果から2つのエッジE1,E2の位置を導出する。上位制御装置52は、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1とが一致している場合、当該縁照射点PE1の地図座標を第1エッジE1の位置とする。
上位制御装置52は、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1とが一致していない場合で、両者の離間距離が許容範囲内の場合、検出結果から第1エッジE1の位置を導出する。上位制御装置52は、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1の中間位置の地図座標を第1エッジE1の位置として導出する。第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1の中間位置とは、例えば、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1の中心位置である。
上位制御装置52は、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1とが一致していない場合で、両者の離間距離が許容範囲外の場合、第1エッジ検出処理及び第2エッジ検出処理を再度実施してもよい。また、上位制御装置52は、第1エッジ検出処理によって抽出された縁照射点PE1と第2エッジ検出処理によって抽出された縁照射点PE1とが一致していない場合で、両者の離間距離が許容範囲外の場合、第1エッジ検出処理及び第2エッジ検出処理のうち、予め定められた方の検出結果を採用してもよい。なお、許容範囲は、エッジ検出装置50の管理者等が適宜設定することができる。許容範囲としては、例えば、2つのエッジ検出処理の手法による差異を許容できるように設定される。第1エッジ検出処理と、第2エッジ検出処理では縁照射点PE1,PE2を導出する手法が異なるため、レーザー距離計51の測定結果によっては、縁照射点として異なる照射点P1が検出される。しかしながら、2つのエッジ検出処理の手法の差異を原因とする場合、2つのエッジ検出処理で導出される縁照射点同士の差は小さい。例えば、第1エッジ検出処理により照射される縁照射点と、第2エッジ検出処理により照射される縁照射点は互いに隣り合う照射点P1になり得る。一方で、外れ値の影響や、取得できた照射点P1の個数が少ない場合など、エッジ検出処理の手法による差異とは異なる要因によって2つのエッジ検出処理で導出される縁照射点が異なる場合、縁照射点同士は大きく離間し得る。このため、許容範囲は、2つのエッジ検出処理の手法の差異を原因とする縁照射点のずれを許容できるように設定されればよい。
上記した説明では、第1エッジE1の位置を導出する態様について説明したが、第2エッジE2の位置についても、縁照射点PE2を用いて第1エッジE1と同様の手法により導出することができる。
上記したように、第1エッジ検出処理及び第2エッジ検出処理の検出結果から2つのエッジE1,E2の位置を導出する態様は、種々の態様が挙げられる。エッジ検出装置50の管理者は、任意の態様で2つのエッジE1,E2の位置を導出することができる。
次に、ステップS9において、上位制御装置52は、ステップS8で導出されたエッジE1,E2の位置をフィルタ処理により補正する。上位制御装置52は、IIRフィルタの処理を行うことで、今回抽出された第1エッジE1の地図座標を過去に得られた第1エッジE1の地図座標によって重み付けする。例えば、上位制御装置52は、以下の(3)式から、第1エッジE1の位置を補正する。
Y[n]=aY[n-1]+(1-a)X[n] … (3)
Yは出力、Xは入力である。Y[n]は、今回の出力、Y[n-1]は、前回の出力である。X[n]は、今回の入力である。aは係数である。aは1未満の任意の数に設定することができる。aは、例えば、0.9である。
今回抽出された第1エッジE1の地図座標をX[n]として入力することで、前回の第1エッジE1の地図座標と、今回の第1エッジE1の地図座標とを係数によって重み付けした出力を得ることができる。
上記した説明では、第1エッジE1の位置を補正する態様について説明したが、第2エッジE2の位置についても、第1エッジE1と同様の手法により補正することができる。上位制御装置52は、第1エッジE1の位置と第2エッジE2の位置の両方を個別に補正する。
次に、ステップS10において、上位制御装置52は、コンテナC1の位置を導出する。コンテナC1の位置は、コンテナC1の地図座標である。コンテナC1の位置は、2つのエッジE1,E2の中間位置である。2つのエッジE1,E2の中間位置としては、例えば、2つのエッジE1,E2の中心位置を挙げることができる。コンテナC1の位置とは、開口部O11における水平方向の中心位置ともいえる。フォークリフト10は、開口部O11からコンテナC1にパレットPを積み込むため、コンテナC1の位置としては、フォークリフト10が荷積み作業を行う際に、車載センサ37によって荷置き位置を検出しやすいように設定されている。言い換えれば、エッジ検出装置50により位置の検出が行われるエッジE1,E2は、コンテナC1の位置を導出することができるエッジが選択されているともいえる。上位制御装置52は、ステップS9で補正された2つのエッジE1,E2の地図座標から、地図座標系におけるコンテナC1の位置を導出する。ステップS10の処理を行うことで、上位制御装置52は、位置検出部を備えているといえる。また、コンテナC1の地図座標は、環境地図におけるコンテナC1の位置である。従って、ステップS10の処理を行うことで、上位制御装置52は、地図座標導出部を備えているといえる。
図7に示すように、ステップS11において、上位制御装置52は、コンテナC1の地図座標を含む指令を指令通信部56から送信する。指令は、フォークリフト10をコンテナC1の地図座標に移動させるための移動開始指令である。なお、上位制御装置52は、作業場に配備される複数のフォークリフト10に対して、個別に指令を与えることができる。
ステップS21において、制御装置33は、上位制御装置52からの指令を受信すると、フォーク18にパレットPを積載し、受信した指令に含まれるコンテナC1の地図座標へ向けてフォークリフト10を移動させる。制御装置33は、コンテナC1の地図座標を把握できるため、コンテナC1の地図座標、あるいは、コンテナC1の地図座標よりも若干手前の地図座標を目標地点としてフォークリフト10を移動させる。制御装置33は、コンテナC1の地図座標に向けた経路を生成し、この経路に追従するようにフォークリフト10を移動させる。
ステップS22において、フォークリフト10がコンテナC1に近付くと、フォークリフト10は荷積み作業を行う。荷積み作業を開始する位置が、荷役位置A2である。荷役位置A2は、コンテナC1の位置等により変化する位置といえる。フォークリフト10による荷積みは、車載センサ37を用いて行われる。制御装置33は、コンテナC1の底部BWの上面を荷置き位置とし、この荷置き位置にパレットPを置くように駆動機構31及び油圧機構32の制御を行う。制御装置33は、車載センサ37によって荷置き位置を検出し、この荷置き位置にパレットPを置く。車載センサ37が、鉛直方向に対する照射角度を変更しながらレーザーを照射するレーザー距離計を含んでいる場合、このレーザー距離計の検出結果によって荷置き位置の高さを検出することができる。車載センサ37が、水平方向に対する照射角度を変更しながらレーザーを照射するレーザー距離計を含んでいる場合、このレーザー距離計の検出結果によって荷置き位置の水平方向の位置を導出することができる。なお、フォークリフト10が荷積み作業を行う前に、前壁FW1,FW2は開放されており、開口部O11からの荷積みが可能な状態にされている。
ステップS23において、制御装置33は、荷積み作業を終えると、フォークリフト10を待機位置A3に移動させる。これにより、フォークリフト10は、待機位置A3に戻り、次の指令を受信するまで待機位置A3で待機する。
本実施形態の作用について説明する。
停車位置A1にトラックTが停車すると、上位制御装置52は、エッジE1,E2の位置を導出する。第2エッジ検出処理のように、レーザーが異なる面に照射されることによる照射点P1の変化を利用して縁照射点PE1,PE2を検出する場合、レーザーが2つの面に照射されている必要がある。実施形態でいえば、前壁FW1,FW2の外面O1,O2と側壁SW1,SW2の外面O1,O2の両方にレーザーが照射されていないと、第2エッジ検出処理により縁照射点PE1,PE2を導出することができない。コンテナC1が2つ並んでいる場合、2つのコンテナC1同士の間にはレーザーが届きにくく、第2エッジ検出処理だけでは、エッジE1,E2の位置を検出できない場合がある。
これに対し、第1エッジ検出処理では、前壁FW1,FW2の外面O1,O2にレーザーが照射されることで得られた照射点P1から縁照射点PE1,PE2を抽出することができる。従って、第1エッジ検出処理では、第2エッジ検出処理によってエッジE1,E2の位置を検出できない場合であってもエッジE1,E2の位置を検出することができる。
上位制御装置52は、エッジE1,E2の位置からコンテナC1の地図座標を導出し、導出されたコンテナC1の地図座標を含む指令をフォークリフト10に送信する。通信部39により制御装置33が指令を受信すると、フォークリフト10は荷積み作業の対象となるコンテナC1まで誘導される。そして、フォークリフト10は、荷積み作業を行う。
本実施形態の効果について説明する。
(1)上位制御装置52は、レーザー距離計51によって得られた照射点P1から、縁照射点PE1,PE2を抽出することができる。縁照射点PE1,PE2の地図座標は、コンテナC1におけるエッジE1,E2の地図座標とみなすことができる。このため、縁照射点PE1,PE2を抽出することで、コンテナC1のエッジE1,E2の位置を検出することができる。
(2)上位制御装置52は、2つのエッジE1,E2の中間位置をコンテナC1の位置として導出している。エッジE1,E2の位置を検出することで、コンテナC1の位置を導出することができる。
(3)上位制御装置52は、照射点P1のセンサ座標を地図座標に変換している。上位制御装置52は、コンテナC1の地図座標を導出して、フォークリフト10に送信することができる。これにより、フォークリフト10をコンテナC1まで誘導することができる。
(4)上位制御装置52は、フォークリフト10に搭載された制御装置33とは異なる装置である。フォークリフト10に搭載された制御装置33は、自己位置推定など、フォークリフト10の動作に関する種々の制御を行っている。このため、制御装置33によって、コンテナC1のエッジE1,E2の位置を検出し、エッジE1,E2の補正を行う場合、制御装置33の処理負荷が過剰に大きくなるおそれがある。特に、エッジE1,E2の補正を行う場合には、処理負荷が大きくなりやすい。これに対し、上位制御装置52は、フォークリフト10の動作に関する制御を行わないため、エッジE1,E2の位置の検出、及びエッジE1,E2の位置の補正を行っても、処理負荷が過剰に大きくなりにくい。このため、上位制御装置52は、エッジE1,E2の位置の補正を行うことができる。エッジE1,E2の位置の補正を行うことで、エッジE1,E2の位置の検出精度を向上させることができる。
実施形態は、以下のように変更して実施することができる。実施形態及び以下の変形例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
○上位制御装置52は、エッジE1,E2の地図座標からコンテナC1の姿勢を導出してもよい。コンテナC1の姿勢とは、地図座標系のX軸あるいはY軸に対するコンテナC1の傾きである。上位制御装置52は、2つのエッジE1,E2が含まれる直線のX軸あるいはY軸に対する傾きをコンテナC1の姿勢として導出することができる。
上位制御装置52は、地図座標系におけるコンテナC1の姿勢をフォークリフト10に送信してもよい。制御装置33は、地図座標系におけるコンテナC1の姿勢から、フォークリフト10の進行方向を制御する。詳細にいえば、制御装置33は、フォークリフト10が開口部O11に対して垂直に進行するようにフォークリフト10の進行方向を制御する。
○図2及び図3に示すように、コンテナC1は、互いに水平方向に離間して隣り合うエッジとして、短手方向に隣り合う2つのエッジE1,E3を備える。上位制御装置52は、互いに水平方向に離間して隣り合うエッジとして、これらのエッジE1,E3の位置を検出してもよい。これらのエッジE1,E3は、側壁SW1を間に挟んで位置しているため、側壁SW1にレーザーが照射されることで得られる照射点P1による直線を抽出できれば、これらのエッジE1,E3に照射された照射点P1を抽出できる。レーザー距離計51と停車位置A1の位置関係、及びトラックTの向きによっては、前壁FW1,FW2にレーザーが照射されることで得られる照射点P1の数に比べて、側壁SW1に照射されることで得られる照射点P1の数の方が少なくなる。このため、レーザー距離計51と停車位置A1の位置関係及び、トラックTの向きを想定し、直線上に位置する照射点P1の数が2番目に多い直線を、2つのエッジE1,E3が含まれる直線として抽出してもよい。
上位制御装置52は、互いに短手方向に隣り合うエッジE1,E3の位置を検出することで、地図座標系におけるコンテナC1の姿勢を導出することができる。また、コンテナの種類によっては、コンテナの長手方向に扉が位置しており、コンテナの長手方向の開口部から荷積みを行う場合がある。この種のコンテナに荷積み作業を行う場合、互いに短手方向に隣り合うエッジE1,E3の中間位置をコンテナの位置として導出するようにしてもよい。
○図2及び図3に示すように、コンテナC1は、互いに水平方向に離間して隣り合うエッジとして後壁RW1,RW2の内面のエッジE4,E5を備える。詳細にいえば、コンテナC1は、後壁RW1の内面と側壁SW1の内面とが交わるエッジE4と、後壁RW2の内面と側壁SW2の内面とが交わるエッジE5と、を備える。2つのエッジE4,E5は、互いにコンテナC1の長手方向に隣り合うエッジである。上位制御装置52は、互いに水平方向に離間して互いに隣り合うエッジとして、これらのエッジE4,E5の位置を検出してもよい。上位制御装置52は、実施形態と同様の手法により、エッジE4,E5の位置を導出できる。上位制御装置52は、コンテナC1の前壁FW1,FW2が開放されている状態であっても閉塞されている状態であっても水平方向に離間して互いに隣り合うエッジの位置を導出できるといえる。
○上位制御装置52は、コンテナC1の位置に応じて、フォークリフト10に代えて、トラックTに指示を行ってもよい。上位制御装置52は、コンテナC1の地図座標が予め定められた範囲内に位置していない場合、トラックTに前進又は後進を指示することで、コンテナC1の地図座標が予め定められた範囲内に位置するようにしてもよい。予め定められた範囲とは、フォークリフト10が荷積みを行える位置であり、例えば、車載センサ37により荷置き位置を検出できる範囲である。トラックTへの指示は、トラックTが自動で動作するものであれば、指令通信部56により前進又は後進を指示する指令をトラックTに送信することで行われる。トラックTへの指示は、トラックTが手動で動作するものであれば、トラックTの搭乗者に対して指示を行うことで行われる。上位制御装置52は、例えば、音、光、又は表示によってトラックTへの指示を行う。音により指示を行う場合、上位制御装置52は前進又は後進を指示する音を発することができる拡声器を用いて指示を行う。光による指示を行う場合、上位制御装置52はトラックTの搭乗者の視認可能な位置に配置された警告灯を用いて指示を行う。警告灯は、異なる色彩の光を発することができるものであり、色彩によってトラックTの搭乗者に対して前進又は後進を指示する。表示による指示を行う場合、上位制御装置52はトラックTの搭乗者の視認可能な位置に配置された表示部を用いて指示を行う。上位制御装置52は、表示部に前進又は後進を指示する表示を行うことで指示を行う。
トラックTに指示を行い、トラックTを前進又は後進させてコンテナC1の位置を調整する場合、コンテナC1のセンサ座標を地図座標に変換しなくてもよい。この場合、上位制御装置52は、コンテナC1の位置としてコンテナC1のセンサ座標を導出する。コンテナC1のセンサ座標は、ステップS4~ステップS9で行われた処理を、センサ座標を用いて行うことで導出することができる。この場合、水平方向を表す座標平面としてセンサ座標系のXY平面で直線が抽出され、この直線を用いてコンテナC1の地図座標が導出されることになる。また、トラックTによりコンテナC1の位置が調整されるため、フォークリフト10はトラックTが停車位置A1に停車した際に、予め定められた位置に移動すればよい。言い換えれば、上位制御装置52は、フォークリフト10に対して、コンテナC1の地図座標を送信しなくてもよい。
また、上位制御装置52は、コンテナC1の姿勢に応じてトラックTに指示を与えてもよい。上位制御装置52は、コンテナC1の姿勢が、予め定められた範囲に収まらない場合、トラックTに指示を与えることで、トラックTの向きを調整させてもよい。例えば、水平方向のうち2つの柱Pi1,Pi2に直交する方向を開口部O11が向くようにトラックTを停車させる場合、2つの柱Pi1,Pi2に直交する方向が開口部O11に垂直に交わるようにコンテナC1が位置することが好ましい。開口部O11の向きと、2つの柱Pi1,Pi2に直交する方向との差が、予め定められた範囲に収まらない場合、上位制御装置52はトラックTに指示を与えることで、開口部O11の向きと、2つの柱Pi1,Pi2に直交する方向との差が小さくなるようにトラックTの向きを調整させる。上位制御装置52は、例えば、音、光、又は表示によってトラックTへの指示を行う。なお、この場合、コンテナC1の姿勢は、センサ座標系での姿勢であっても、地図座標系での姿勢であってもよい。
○上位制御装置52は、ステップS4において、最小二乗法やハフ変換などの回帰分析によって、地図座標系におけるXY平面で直線を抽出してもよい。
○上位制御装置52は、ステップS4において、予め定められた範囲に存在する照射点P1から直線を抽出してもよい。トラックTが停車位置A1に停車した場合のエッジE1,E2の位置は予め想定することができる。上位制御装置52は、トラックTが停車位置A1に停車した場合にエッジE1,E2が位置すると想定される範囲に存在する照射点P1から直線を抽出するようにしてもよい。
○上位制御装置52は、ステップS4において、複数の照射点P1の組み合わせにより得られる全ての直線を抽出してもよい。
○上位制御装置52は、照射点P1から直線を抽出する前に、外れ値除去フィルタを用いて、外れ値を除去してもよい。
○エッジ検出装置は、フォークリフト10に搭載されていてもよい。この場合、フォークリフト10がトラックTの停車位置A1に近付いた際に、停車位置A1に対してレーザーを照射するようにレーザー距離計は配置されていればよい。実施形態で上位制御装置52が行っていた処理は、制御装置33によって行われる。なお、フォークリフト10にエッジ検出装置が搭載される場合、コンテナC1の位置や傾きを導出するためにエッジ検出装置は設けられる。これにより、制御装置33は、フォークリフト10に荷積み作業や荷取り作業を行わせる際に、コンテナC1の位置及び姿勢を精度よく検出することができる。
○図10に示すように、検出対象はパレットFPであってもよい。図10に示すパレットFPは、平パレットである。パレットFPは、フォーク18が差し込まれる差込孔H1を画定する画定面HSと、差込孔H1が開口する外面OFPと、を備える。差込孔H1は2つ設けられている。パレットFPは、差込孔H1が水平方向に開口する状態で配置位置に置かれる。レーザー距離計51は、配置位置に対して、水平方向への照射角度を変更しながらレーザーを照射するように配置されている。
フォーク18にパレットFPを積載する際には、フォーク18を差込孔H1に差し込んだ後に、フォーク18を上昇させる。フォーク18を差込孔H1に差し込む際には、パレットFPの位置及び姿勢を検出することが好ましい。上位制御装置52は、外面OFPのうち水平方向に互いに最も離間した2つのエッジE11,E12の位置を検出することで、2つのエッジE11,E12の中間位置をパレットFPの位置として導出することができる。図10から把握できるように、外面OFPにレーザーが照射された場合、照射点P1は差込孔H1の存在する位置で途切れることになる。2つのエッジE11,E12にレーザーが照射されることで得られる照射点P1を縁照射点PE11,PE12とする。上位制御装置52は、地図座標系のXY平面でエッジE11,E12が含まれる直線を抽出した後に、この直線から縁照射点PE11,PE12を抽出する。上位制御装置52は、直線上に位置する照射点P1のうち直線の延びる方向の片側に対して予め定められた距離以上隣り合う照射点P1が存在しない2つの照射点P1を、縁照射点PE11,PE12として抽出する。この場合、予め定められた距離として、水平方向のうち差込孔H1の延びる方向に直交する方向の差込孔H1の寸法よりも長い距離を設定する。これにより、画定面HSと外面OFPとが交差することによるエッジE13,E14に照射された照射点P1が縁照射点として抽出されないようにすることができる。
また、パレットFPは、2つの画定面HSと外面OFPとが交差することによるエッジのうち、水平方向に互いに最も近接した2つのエッジE13,E14を備える。上位制御装置52は、この2つのエッジE13,E14の位置を検出することで、パレットPの位置及び姿勢を導出することができる。2つのエッジE13,E14にレーザーが照射されることで得られる照射点P1を縁照射点PE13,PE14とする。この場合、予め定められた距離として、水平方向のうち差込孔H1の延びる方向に直交する方向の差込孔H1の寸法よりも短い距離が設定される。これにより、2つのエッジE13,E14にレーザーが照射されることによる照射点P1を縁照射点PE13,PE14として抽出できるようにする。この場合、前述した2つのエッジE11,E12に照射された照射点P1についても縁照射点PE11,PE12として抽出され得る。4つの縁照射点PE11,PE12,PE13,PE14が抽出された場合、互いに最も離間する2つの縁照射点PE11,PE12を除去するなど、2つのエッジE11,E12に照射された照射点P1については縁照射点PE11,PE12として抽出されないようにすればよい。
パレットFPは、荷を積載するものであり、コンテナC1は荷が積載されたパレットPを積載するものである。従って、検出対象としては、積載された荷を搬送するものに用いられる搬送物であれば、どのようなものであってもよい。
○上位制御装置52は、入力装置58によりコンテナC1の位置を検出することが指示された場合に、コンテナC1の位置を導出し、コンテナC1の位置までフォークリフト10を誘導してもよい。上位制御装置52は、入力装置58によりフォークリフト10に移動開始指令を送信することが指示された場合に、フォークリフト10に移動開始指令を送信してもよい。上位制御装置52は、入力装置58によりフォークリフト10の荷積み作業の開始が指示された場合に、フォークリフト10に荷積み指令を送信してもよい。荷積み指令とは、フォークリフト10に荷積み作業を開始させるための指令である。上位制御装置52が荷積み指令を送信する場合、フォークリフト10は、コンテナC1まで移動してから荷積み指令を受信するまでの間、荷積み作業を行わずに待機する。上記したように、上位制御装置52が行う各種処理には、上位制御装置52の操作者が行う入力装置58の操作が介在していてもよい。
○上位制御装置52は、第2エッジ検出処理を行わなくてもよい。この場合、上位制御装置52は、第1エッジ検出処理によって検出された縁照射点PE1,PE2の地図座標をエッジE1,E2の位置とする。また、上位制御装置52は、エッジE1,E2の位置を補正しなくてもよい。従って、エッジE1,E2の位置とは、第1エッジ検出処理によって検出された縁照射点PE1,PE2の地図座標、この地図座標を補正した後の地図座標、実施形態のように第1エッジ検出処理及び第2エッジ検出処理の両方を用いて導出された地図座標、又はこの地図座標を補正した後の地図座標である。
○エッジE1,E2の位置を補正する際に行われるフィルタ処理は、カルマンフィルタや移動平均フィルタであってもよい。
○センサ座標系での地図座標系の原点の座標を把握できており、かつ、センサ座標系の座標軸の向きと地図座標系の座標軸の向きとを一致させていれば、傾きθを導出しなくてもよい。記憶部55や補助記憶装置57など制御部53が読み取り可能な情報を記憶する記憶装置には、センサ座標系での地図座標系の原点の座標が記憶されている。センサ座標系での地図座標系の原点の座標とは、センサ座標系の原点と地図座標系の原点との座標のずれともいえる。上位制御装置52は、照射点P1のセンサ座標を、センサ座標系での地図座標系の原点の座標分だけずらす。これにより、照射点P1のセンサ座標は、地図座標系の原点を基準とした座標になり、照射点P1のセンサ座標を地図座標に変換できる。
上位制御装置52は、傾きθを導出しなくてもよいため、傾きθを導出するために、上位制御装置52によって2つの柱Pi1,Pi2のセンサ座標が取得されなくてもよい。従って、停車位置A1を2つの柱Pi1,Pi2に合わせて設定する必要がなく、停車位置A1の自由度が向上する。
○地図座標系の原点と第1柱Pi1の座標とは一致していなくてもよい。この場合、地図座標系での第1柱Pi1の座標と地図座標系の原点との座標のずれを予め把握し、上位制御装置52の記憶部55や補助記憶装置57など、制御部53が読み取り可能な記憶装置に地図座標系での第1柱Pi1の座標と地図座標系の原点との座標のずれを記憶しておく。上位制御装置52は、照射点P1のセンサ座標を地図座標に変換する際に、地図座標系での第1柱Pi1の座標と地図座標系の原点との座標のずれの分だけ、実施形態よりも余分に照射点P1を平行移動させる。これにより上位制御装置52は、照射点P1のセンサ座標を地図座標に変換することができる。
○上位制御装置52は、コンテナC1の位置としてコンテナC1のセンサ座標を導出した後に、コンテナC1のセンサ座標をコンテナC1の地図座標に変換してもよい。コンテナC1のセンサ座標は、ステップS4~ステップS9で行われた処理を、センサ座標を用いて行うことで導出することができる。コンテナC1のセンサ座標から地図座標への変換は、ステップS3と同様の処理によって行うことができる。この場合、水平方向を表す座標平面としてセンサ座標系のXY平面で直線が抽出され、この直線を用いてコンテナC1の地図座標が導出されることになる。
なお、地図座標系でのレーザー距離計51の座標を把握できており、かつ、センサ座標系の座標軸の向きと地図座標系の座標軸の向きとを一致させていれば、コンテナC1のセンサ座標からコンテナC1の地図座標への変換は、制御装置33によって行われてもよい。上位制御装置52は、コンテナC1のセンサ座標を導出すると、コンテナC1のセンサ座標をフォークリフト10に送信する。制御装置33は、コンテナC1のセンサ座標を受信すると、コンテナC1のセンサ座標からコンテナC1の地図座標を導出する。記憶部35や補助記憶装置36など制御装置33の読み取り可能な情報を記憶する記憶装置には、地図座標系でのレーザー距離計51の座標が記憶されている。制御装置33は、コンテナC1のセンサ座標を受信すると、地図座標系の原点と地図座標系でのレーザー距離計51の座標とのずれの分だけ、コンテナC1のセンサ座標をずらす。これにより、制御装置33は、コンテナC1のセンサ座標からコンテナC1の地図座標を導出することができる。このように、地図座標系でのレーザー距離計51の座標を把握できていれば、制御装置33は、コンテナC1のセンサ座標からコンテナC1の地図座標を取得することができる。
○エッジ検出装置50は、コンテナC1に積まれたパレットPをフォークリフト10に積む荷取り作業を行う際に、コンテナC1の位置を検出してもよい。
○指令通信部56は、少なくとも通信部39に指令を送信する機能を備えていればよく、受信機能を備えていなくてもよい。
○停車位置A1は複数設定されていてもよい。この場合、停車位置A1毎に個別にレーザー距離計51を設ける。上位制御装置52は、レーザー距離計51毎に1つずつ設けられていてもよいし、複数のレーザー距離計51に対して1つのみであってもよい。荷役システムCSが備えるフォークリフト10、レーザー距離計51、及び上位制御装置52は、それぞれ、単数であってもよいし、複数であってもよい。
○レーザー距離計51は、少なくとも水平方向への照射角度を変更しながらレーザーを照射できるものであればよく、水平方向に加えて鉛直方向への照射角度を変更しながらレーザーを照射できるものであってもよい。この場合、センサ座標系は、座標軸としてX軸及びY軸に直交するZ軸を備えていてもよい。
○直線抽出部、縁照射点抽出部、位置検出部及び地図座標導出部は、別々の装置によって構成されていてもよい。
○パレットPは、平パレットやポストパレット等、どのようなパレットであってもよい。
○コンテナC1は、荷Wを収容できればよく、フォークリフト10によって運搬可能なものであってもよい。
○トラックTは、2つの柱Pi1,Pi2を用いてコンテナC1の地図座標を導出することができれば、どのように停車してもよい。
○フォークリフト10は、自動での動作と手動での動作を切り替え可能なフォークリフト10であってもよい。
○フォークリフト10は、荷役装置14を前進及び後進させることができるリーチシリンダを備えるリーチ式のフォークリフトであってもよい。
○通信部39は、少なくとも指令通信部56からの指令を受信する機能を備えていればよく、送信機能を備えていなくてもよい。