(57)【特許請求の範囲】
【請求項１】
フォークを該フォークが差し込まれる穴が形成された荷の前方において前記フォークが前記穴の外にある状態で昇降させ、前記フォークとともに昇降可能に設けられたレーザセンサで前記荷の前面及び前記穴の開口端面を走査し、該走査によって計測した前記穴までの距離と、前記穴までの距離を計測したときのレーザセンサの高さとに基づいて前記穴の前記フォークの進入方向に対する傾きを検出し、検出された前記傾きに基づいて前記フォークの傾きを変更するか否かを判断することを特徴とするフォークリフトにおける荷取り方法。
【請求項２】
検出された前記傾きに基づいて前記フォークを昇降しつつ前進して前記穴に前記フォークを差し込む請求項１に記載のフォークリフトにおける荷取り方法。
【請求項３】
前記傾きは、前記穴の上面前端の高さと後端の高さの差及び前記穴の下面前端の高さと後端の高さの差のいずれかに基づいて検出される請求項１又は請求項２に記載のフォークリフトにおける荷取り方法。
【請求項４】
前記傾きは、前記穴の前端の上下方向の長さと前記穴の後端の上下方向の長さとの差と、前記穴の長さとから検出される請求項１又は請求項２に記載のフォークリフトにおける荷取り方法。
【請求項５】
前記傾きは、前記穴の前端の面積と、前記穴の後端の面積と、前記穴の上面の前記穴の後端面への投影面積と、前記穴の下面の前記穴の後端面への投影面積とに基づいて検出される請求項１又は請求項２に記載のフォークリフトにおける荷取り方法。
【請求項６】
フォークと、前記フォークとともに昇降可能に設けられたレーザセンサと、前記フォークを該フォークが差し込まれる穴が形成された荷の前方において前記フォークが前記穴の外にある状態で昇降させることによって、前記レーザセンサで前記荷の前面及び前記穴の開口端面を走査し、該走査によって計測された前記穴に関する計測結果に基づいて前記穴までの距離と前記穴の前記フォークの進入方向に対する傾きとを演算し、検出された前記傾きに基づいて前記フォークの傾きを変更するか否かを判断する制御装置とを備えていることを特徴とするフォークリフト。
【請求項７】
前記フォークは、ティルト可能に構成されている請求項６に記載のフォークリフト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォークリフトにおける荷取り方法及びフォークリフトに関する。
【背景技術】
【０００２】
床に直置きされた荷や、その荷に段積みされた荷は、床面の傾きや段積みされた荷の傾き（上に載せた荷の重さで荷が少し圧縮され、上に載せた荷が傾くこと）により、無人フォークリフトのフォーク水平角との差が発生する場合がある。このような場合、無人フォークリフトがフォークの傾きを修正せずに前進移動してフォークをパレットの穴に挿入すると、パレットの穴内にフォークが引っ掛かり、荷役作業が途中で停止する。
【０００３】
従来、このような問題を解決する無人フォークリフトにおける荷取り制御装置が提案されている（特許文献１参照）。特許文献１の荷取り制御装置は、無人フォークリフトの２つのフォーク爪（フォーク）に少なくとも各々１つ設けられたフォーク爪とパレット間の距離を測定する距離センサと、該距離センサにより測定される少なくとも３点の距離よりパレットの傾き方向を判断する傾き判断手段を備えている。そして、フォーク爪をパレットの隙間に差し込み、上記距離センサによってフォーク爪とパレット間の間隔を測定し、この距離センサによって測定された少なくとも３点の距離より、傾き判断手段によってパレットの傾きが車体側又は奥側が高いかを判断する。この傾き判断手段の判断結果と、距離センサで測定された少なくとも３点の測定値より、現状のフォーク爪の高さ位置においてフォーク爪をパレットの隙間に差し込んでもパレットとフォーク爪が干渉しないか否かを差し込み可否判断手段で判断する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−２１１３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、特許文献１の装置では、２つのフォーク爪に少なくとも各々１つ設けられたフォーク爪とパレット間の距離を計測する距離センサが必要で、フォークをある程度パレットに差し込んで、初めてパレットとフォークの傾きが計測できる構成であり、フォークを差し込む前にパレットの傾きを検知できない。
【０００６】
そのため、フォーク差し込み動作に修正が必要と判断した場合、フォークを上下方向に移動してフォーク差し込み動作を修正するが、フォークの傾きを修正しないため、フォーク差し込み動作可能と判断できない場合が少なくない。例えば、パレットの傾きが大きい場合、フォーク位置の修正ができず、フォーク差し込み動作ができない場合がある。
【０００７】
本発明は、前記の問題に鑑みてなされたものであって、その目的は、フォーク差し込み動作の途中でフォークと穴の内面が接触して荷役作業が途中で停止することを回避することができるフォークリフトにおける荷取り方法及びフォークリフトを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するフォークリフトにおける荷取り方法は、レーザセンサで計測したフォークが差し込まれる穴までの距離と、そのときのレーザセンサの高さに基づいて前記穴の前記フォークの進入方向に対する傾きを検出し、検出された前記傾きに基づいて前記フォークの傾きを変更するか否かを判断する。ここで、「荷」とは、フォークが差し込まれる穴が存在し、穴に差し込まれたフォークにより搬送可能な状態となる物を意味し、パレットを使用する場合はパレットを含めた全体が荷となり、フォークが差し込まれる穴を有する物は、パレットを含まずに荷となる。
【０００９】
この構成によれば、フォークが穴の外にある状態で、フォークの傾きを変更するか否かを判断するため、フォークの傾きが穴の傾きに対応していない状態でフォーク差し込み動作を行うことが回避される。したがって、フォーク差し込み動作の途中でフォークと穴の内面が接触して荷役作業が途中で停止することを回避することができる。
【００１０】
検出された前記傾きに基づいて前記フォークを昇降しつつ前進して前記穴に前記フォークを差し込むことが好ましい。この構成によれば、荷が傾いていても、フォークを支障なく荷の穴に差し込むことができる。
【００１１】
前記傾きは、前記穴の上面前端の高さと後端の高さの差及び前記穴の下面前端の高さと後端の高さの差のいずれかに基づいて検出されることが好ましい。この構成によれば、穴の傾斜方向、すなわち穴が奥側へ傾斜（下降傾斜）しているか、手前に傾斜（上昇傾斜）しているかを容易に判断することができる。
【００１２】
前記傾きは、前記穴の前端の上下方向の長さと前記穴の後端の上下方向の長さとの差と、前記穴の長さとから検出されてもよい。この場合も、穴が奥側へ傾斜（下降傾斜）しているか、手前に傾斜（上昇傾斜）しているかを容易に判断することができる。
【００１３】
前記傾きは、前記穴の前端の面積と、前記穴の後端の面積と、前記穴の上面の前記穴の後端面への投影面積と、前記穴の下面の前記穴の後端面への投影面積とに基づいて検出されてもよい。この構成によっても、穴が奥側へ傾斜（下降傾斜）しているか、手前に傾斜（上昇傾斜）しているかを判断することができる。
【００１４】
上記課題を解決するフォークリフトは、フォークが差し込まれる穴の前方において昇降可能に設けられ、昇降しつつ前記穴までの距離を計測可能なレーザセンサと、前記レーザセンサにより計測された前記穴に関する計測結果に基づいて前記穴の前記フォークの進入方向に対する傾きを演算し、検出された前記傾きに基づいて前記フォークの傾きを変更するか否かを判断する制御装置とを備えている。この構成によれば、フォーク差し込み動作の途中でフォークと穴の内面が接触して荷役作業が途中で停止することを回避するためのフォークリフトにおける荷取り方法を行うことができる。
【００１５】
前記フォークは、ティルト可能に構成されていることが好ましい。この構成によれば、検出された穴の傾きに対応してフォークの傾きを変更することにより、荷が傾いていても、フォークを支障なく荷の穴に差し込むことができる。
【発明の効果】
【００１６】
本発明によれば、フォーク差し込み動作の途中でフォークと穴の内面が接触して荷役作業が途中で停止することを回避することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態を示し（ａ）は無人フォークリフトの概略側面図、（ｂ）は無人フォークリフトの概略正面図。
【図２】（ａ）は無人フォークリフトと段積された荷の概略側面図、（ｂ）は（ａ）のＡ−Ａ矢視図。
【図３】（ａ）はパレットをフォークリフト側から見た模式図、（ｂ）はパレット穴の長手方向に延びる垂直平面での切断位置におけるレーザ検出データ。
【図４】パレットが奥側に下降傾斜している場合の無人フォークリフトと段積された荷の概略側面図。
【図５】（ａ）はパレットをフォークリフト側から見た模式図、（ｂ）はパレット穴の長手方向に延びる垂直平面での切断位置におけるレーザ検出データ。
【図６】パレットが奥側に上昇傾斜している場合の無人フォークリフトと段積された荷の概略側面図。
【図７】（ａ）はパレットをフォークリフト側から見た模式図、（ｂ）はパレット穴の長手方向に延びる垂直平面での切断位置におけるレーザ検出データ。
【図８】荷の傾き検知とフォークの差し込み処理の手順を示すフローチャート。
【図９】第２の実施形態のパレットが奥側に下降傾斜している場合の無人フォークリフトと段積された荷の概略側面図。
【図１０】パレットの端面から穴に進入するレーザ光の状態を示す模式図。
【図１１】パレットが奥側に上昇傾斜している場合の無人フォークリフトと段積された荷の概略側面図。
【図１２】パレットの端面から穴に進入するレーザ光の状態を示す模式図。
【図１３】荷の傾き検知とフォークの差し込み処理の手順を示すフローチャート。
【図１４】図１３のフローチャートの続き。
【図１５】第３の実施形態のパレットと座標軸との関係を示す模式斜視図。
【図１６】荷の傾き検知とフォークの差し込み処理の手順を示すフローチャート。
【図１７】第４の実施形態の荷の傾き検知とフォークの差し込み処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１８】
（第１の実施形態）
以下、本発明を、パレットを使用して荷を搬送するリーチ式の無人フォークリフトに具体化した第１の実施形態を図１〜図８にしたがって説明する。
【００１９】
図１（ａ）に示すように、無人フォークリフト１１は、車体１２の前部に左右一対のリーチレグ１３が延出している。無人フォークリフト１１は各リーチレグ１３の前端部に従動輪１４を備え、車体１２の後部底面側に駆動輪１５とキャスタ輪（図示せず）とを備える。駆動輪１５は、図示しない走行用モータによって駆動され、図示しないステアリング用モータによって操舵されるようになっている。
【００２０】
各リーチレグ１３の内側側部には凹型のレール（図示せず）が設けられ、左右一対のマスト１６はその下部左右両側に配設されたローラ（図示せず）がレール上を転動することでリーチレグ１３に沿って前後方向に移動可能に設けられている。マスト１６は車体１２の下部に前後に延びるように設けられたリーチシリンダ１７のピストンロッドの伸縮作動により前進・後退が可能となっている。
【００２１】
マスト１６の背面側にはリフトシリンダ１８が立設されている。リフトシリンダ１８のピストンロッドの伸縮駆動により、リフトブラケット１９が昇降するようになっている。リフトブラケット１９にはバックレスト２０が揺動可能に支持され、フォーク２２はバックレスト２０に固定されている。リフトブラケット１９とバックレスト２０との間にはティルトシリンダ２１が設けられ、ティルトシリンダ２１のピストンロッドの伸縮作動によりフォーク２２の前後傾が可能となっている。すなわち、フォーク２２は、ティルト可能に構成されている。
【００２２】
無人フォークリフト１１は、レーザセンサ２３を備えている。レーザセンサ２３は、バックレスト２０に支持部材２４を介して固定されている。図１（ｂ）に示すように、レーザセンサ２３は、一対のフォーク２２の中央に位置するように設けられている。したがって、レーザセンサ２３は、フォーク２２が差し込まれる穴２５（図２（ｂ）等に図示）の前方において昇降可能に設けられ、昇降しつつ穴２５までの距離を計測可能になっている。なお、レーザセンサ２３から出力されるレーザビームの光軸Ｌの水平角θＬは、フォーク２２のフォーク水平角θＦと平行になるよう角度調整されている。
【００２３】
車体１２には制御装置２６が設けられている。制御装置２６は、レーザセンサ２３により計測された穴２５に関する計測情報に基づいて、穴２５のフォーク２２の進入方向に対する傾きθを演算し、検出された傾きθに基づいてフォーク２２の傾きを変更するか否かを判断する。制御装置２６は、ティルトシリンダ２１の基準状態からの駆動量（ピストンロッドの伸縮量）に基づいてフォーク２２の傾きを演算する。
【００２４】
制御装置２６は、無人フォークリフト１１の走行制御、フォーク２２の昇降制御及びフォーク２２のティルト制御も行うように構成されている。制御装置２６は、検出された傾きθに基づいて必要があればフォーク２２の傾きを調整した後に、フォーク２２が昇降しつつ前進して、穴２５にフォーク２２が差し込まれるように制御する。
【００２５】
次に前記のように構成された無人フォークリフト１１の作用及び荷取り方法を説明する。
無人フォークリフト１１が荷取り動作を行うときのフォーク２２の基準状態は、フォーク２２が水平に延びた状態である。そのため、図２（ａ），（ｂ）に示すように、パレット３１に載置された荷３２が傾いていない状態で段積みされている場合は、パレット３１は水平に載置され、パレット３１の穴２５は水平に延び、フォーク２２の傾きは零で、レーザビームの光軸Ｌは水平になる。
【００２６】
この状態で、パレット３１の穴２５の位置を中心にフォーク２２を昇降し、レーザセンサ２３でパレット３１の前面を走査する。そして、レーザビームの光軸Ｌが図２（ａ）の矢印で示す範囲で昇降するように走査される。そのときの検出データは、図３（ｂ）に示すようになる。なお、図３（ｂ）は、パレット３１の穴２５を図３（ａ）のＢ−Ｂ線で切断した位置におけるレーザセンサ２３による検出データである。
【００２７】
パレット３１が傾いていない場合は、レーザビームは、パレット３１の端面及び穴２５の開口端面に対して垂直に照射される。その結果、レーザビームは、穴２５を除くパレット３１の前面のみで反射するため、前面までの距離は同じで、穴２５の部分の距離はレーザセンサ２３の最大計測距離となる。その結果、パレット３１の前面の穴２５の高さｈ１と、パレット３１を貫通した穴の奥の高さｈ２は同じになる。
【００２８】
図４に示すように、パレット３１が奥側に（下向きに）傾いている場合に、同じ条件においてレーザセンサ２３でパレット３１の前面を走査すると、レーザビームは、パレット３１の端面及び穴２５の開口端面に対しては垂直に照射される。しかし、穴２５の上面には斜めに照射されるため、穴２５の上面までの距離が高さに対応してリニアに変化する状態で計測される。そのため、検出データは、図５（ｂ）に示すようになる。なお、図５（ｂ）は、パレット３１の穴２５を図５（ａ）のＢ−Ｂ線で切断した位置におけるレーザセンサ２３による検出データである。
【００２９】
この場合、穴２５の上面に対応する部分の高さｈ３は、ｈ３＝ｈ１−ｈ２となる。そして、パレットの奥行き寸法をＤとすると、穴２５の傾きθは次式から求められる。
θ＝ｔａｎ−１（ｈ３／Ｄ）＝ｔａｎ−１（ｈ１−ｈ２）／Ｄ
また、図６に示すように、パレット３１が手前に傾いている場合に、同じ条件においてレーザセンサ２３でパレット３１の前面を走査すると、レーザビームは、パレット３１の端面及び穴２５の開口端面に対しては垂直に照射される。しかし、穴２５の下面には斜めに照射されるため、穴２５の下面までの距離が高さに対応してリニアに変化する状態で計測される。そのため、検出データは、図７（ｂ）に示すようになる。なお、図７（ｂ）は、パレット３１の穴２５を図７（ａ）のＢ−Ｂ線で切断した位置におけるレーザセンサ２３による検出データである。
【００３０】
この場合、穴２５の下面に対応する部分の高さｈ４は、ｈ４＝ｈ１−ｈ２となる。そして、パレットの奥行き寸法をＤとすると、穴２５の傾きθは次式から求められる。
θ＝ｔａｎ−１（ｈ４／Ｄ）＝ｔａｎ−１（ｈ１−ｈ２）／Ｄ
制御装置２６は、検出された穴２５の傾きθに基づいて、フォーク２２の傾きを変更せずに無人フォークリフト１１を前進させてもフォーク２２が穴２５と干渉するか否か、すなわちフォーク２２の傾きを変更するか否かを判断する。そして、フォーク２２の傾きの変更が必要な場合は、穴２５の傾きθに合わせてフォーク２２を傾けるようにティルトシリンダ２１を作動させる。
【００３１】
その状態でフォーク２２を昇降させてフォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを調整する。そして、フォーク２２が穴２５と干渉しないように前進させて、フォーク２２をパレット３１の２５に差し込む。
【００３２】
以上の処理手順は、図８のフローチャートにしたがって行われる。すなわち、ステップＳ１で、上位システムから荷役作業情報を受け取り、指定された荷の高さ情報を読み出す。具体的には、事前に制御装置２６のメモリに記憶された情報を読み出す。次にステップＳ２で、フォーク水平角（水平角度）θＦを初期角度に設定し、その後、パレット３１の穴２５の位置を中心にフォーク２２を昇降し、レーザセンサ２３でパレット３１の前面を走査する。
【００３３】
次にステップＳ３で、得られた検出データから、パレット３１の前面の穴２５の高さｈ１、パレット３１の奥まで貫通した穴２５の高さｈ２、穴２５の上面の高さｈ３、穴２５の下面の高さｈ４を計算する。
【００３４】
次にステップＳ４で、ｈ２／ｈ１が基準値より小さいか否かを判断し、小さくなければステップＳ５に進む。基準値は、１又は１に近い値であり、基準値が１であればｈ１＝ｈ２である。また、基準値が１でなく１に近い値であれば、ｈ２／ｈ１が基準値より小さくないということは、高さｈ１と高さｈ２との値の差が小さく、フォーク２２の角度を変更せずにフォーク２２を支障なく穴２５に差し込むことが可能であることを意味するので、ステップＳ５でフォーク２２の角度を維持した状態でステップＳ６に進む。そして、ステップＳ６でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ７でフォーク２２をパレット３１の穴２５に差し込む。
【００３５】
ステップＳ４で、ｈ２／ｈ１が基準値より小さければステップＳ８に進み、ｈ３が０より大きいか否かを判断し、ｈ３が０より大きければステップＳ９に進み、ステップＳ９でフォーク２２を下方にθ（ｒａｄ）傾ける。ｈ３が０より大きいということは、図５（ｂ）のようにパレット３１が下降傾斜をしていることを意味するので、ステップＳ９ではフォーク２２を下方にθ（ｒａｄ）傾ける。
【００３６】
次に制御装置２６はステップＳ１０でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ１１でフォーク２２の先端位置の軌跡が下方にθ（ｒａｄ）となるようフォーク２２を下げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００３７】
ステップＳ８で、ｈ３が０より大きくなければステップＳ１２に進み、フォーク２２を上方にθ（ｒａｄ）傾ける。ｈ３が０より大きくないということは、図７（ｂ）のようにパレット３１が上昇傾斜をしていることを意味するので、ステップＳ１２ではフォーク２２を上方にθ（ｒａｄ）傾ける。
【００３８】
次に制御装置２６はステップＳ１３でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ１４でフォーク２２の先端位置の軌跡が上方にθ（ｒａｄ）となるようフォーク２２を上げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００３９】
以下、制御装置２６は同様にして荷取り動作を行わせる。
この実施形態によれば、以下に示す効果を得ることができる。
（１）無人フォークリフトにおける荷取り方法は、レーザセンサ２３でフォーク２２が差し込まれる穴２５までの距離と、そのときのレーザセンサ２３の高さに基づいて穴２５のフォーク２２の進入方向に対する傾きθを検出し、検出された傾きθに基づいてフォーク２２の傾きを変更するか否かを判断する。この構成によれば、フォーク２２が穴２５の外にある状態で、フォーク２２の傾きを変更するか否かを判断するため、フォーク２２の傾きが穴２５の傾きθに対応していない状態でフォーク差し込み動作を行うことが回避される。したがって、フォーク差し込み動作の途中でフォーク２２と穴２５の内面が接触して荷役作業が途中で停止することを回避することができる。
【００４０】
（２）検出された穴２５の傾きθに基づいてフォーク２２を昇降しつつ前進して穴２５にフォーク２２を差し込む。この構成によれば、パレット３１及び荷３２が傾いていても、フォーク２２を支障なくパレット３１の穴２５に差し込むことができる。
【００４１】
（３）穴２５の傾きθは、穴２５の上面の高さｈ３と後端の高さｈ２の差及び穴２５の下面の高さｈ４と後端の高さｈ２の差のいずれかに基づいて検出される。この構成によれば、穴２５の傾斜方向、すなわち穴２５が奥側へ傾斜（下降傾斜）しているか、手前に傾斜（上昇傾斜）しているかを容易に判断することができる。
【００４２】
（４）無人フォークリフト１１は、フォーク２２が差し込まれる穴２５の前方において昇降可能に設けられ、昇降しつつ穴２５までの距離を計測可能なレーザセンサ２３と、レーザセンサ２３により計測された穴２５に関する計測結果に基づいて穴２５のフォーク２２の進入方向に対する傾きθを演算し、検出された傾きθに基づいてフォーク２２の傾きを変更するか否かを判断する制御装置２６とを備えている。したがって、（１）の荷取り方法を実施することができ、フォーク差し込み動作の途中でフォーク２２と穴２５の内面が接触して荷役作業が途中で停止することを回避することができる。
【００４３】
（５）フォーク２２は、ティルト可能に構成されている。したがって、穴２５の傾きが大きな場合も、穴２５の傾きθに合わせてフォーク２２の傾きを調整することができ、パレット３１及び荷３２が傾いていても、フォーク２２を支障なくパレット３１の穴２５に差し込むことができる。
【００４４】
（第２の実施形態）
次に第２の実施形態を図９〜図１４にしたがって説明する。この実施形態では、パレット３１の穴２５の上面又は下面の傾斜を観測して、穴２５の傾斜方向及び傾きθを求める点が第１の実施形態と異なる。第１の実施形態と同一部分は同一符号を付して詳しい説明を省略する。
【００４５】
図９に示すように、パレット３１が奥側に（下向きに）傾いている場合には、図１０に示すように、穴２５の上面までの距離をレーザセンサ２３により計測する。
図９に示すように、パレット３１の前面側にレーザセンサ２３からパレット３１の高さより広い範囲に亘ってレーザビームを照射すると、図１０に示すように、水平方向に延びる矢印で表されるレーザセンサ２３による計測距離は、荷３２と対向する位置では、ほぼ同じになり、荷３２とパレット３１との境界で大きさが急に変化する。また、パレット３１の前面と対向する位置では、荷３２までの距離より小さなほぼ一定の値となり、パレット３１の前面と穴２５の下面との境界で大きさが急に変化する。そして、穴２５の上面と対応する箇所では、計測距離は高さの変化に対応してリニアに徐々に変化する。
【００４６】
そして、穴２５の下面高さｈｌｏｗは、パレット３１の前面と穴２５の下面との境界位置の高さとなり、穴２５の上面高さｈｈｉｇｈは、パレット３１の前面と穴２５の上面との境界位置の高さとなる。
【００４７】
また、図１１に示すように、パレット３１が手前に（上向きに）傾いている場合には、図１２に示すように、穴２５の下面までの距離をレーザセンサ２３により計測する。図１２に示すように、水平方向に延びる矢印で表されるレーザセンサ２３による計測距離は、荷３２と対向する位置では、ほぼ同じになり、荷３２とパレット３１との境界で大きさが急に変化する。また、パレット３１の前面と対向する位置では、荷３２までの距離より小さなほぼ一定の値となり、パレット３１の前面と穴２５の下面との境界で大きさが急に変化する。穴２５の上面と対応する箇所では、計測距離は高さの変化に対応してリニアに徐々に変化する。
【００４８】
荷３２の傾き検知とフォークの差し込み処理の手順は図１３及び図１４のフローチャートにしたがって行われる。
ステップＳ２１及びステップＳ２２は第１の実施形態のステップＳ１及びステップＳ２と同じである。ステップＳ２３で、走査したデータからパレット３１の前面の高さを推定し、穴２５の下面高さｈｌｏｗ及び上面高さｈｈｉｇｈを取得する。次にステップＳ２４で今回のレーザ高さ（計測高さ）ｈｔにおける距離ｌｔと、前回のレーザ高さ（計測高さ）ｈｔ−１における距離ｌｔ−１との差Δｌ＝ｌｔ−ｌｔ−１を計算する。但し、今回のレーザ高さ（計測高さ）ｈｔは、前回のレーザ高さ（計測高さ）ｈｔ−１より高い位置における計測データとする。
【００４９】
次にステップＳ２５で、今回のレーザ高さｈｔが上面高さｈｈｉｇｈ以上か否かを判断し、上面高さｈｈｉｇｈ以上でなければステップＳ２６に進み、今回のレーザ高さｈｔが下面高さｈｌｏｗより大きいか否かを判断する。ステップＳ２６で今回のレーザ高さｈｔが下面高さｈｌｏｗより大きければステップＳ２７に進み、Δｌが閾値Ｌｏより大きいか否かを判断する。ステップＳ２７で、Δｌが閾値Ｌｏより大きくなければステップＳ２８に進み、Δｌが閾値−Ｌｏより小さいか否かを判断する。
【００５０】
Δｌが閾値Ｌｏより大きくなく、かつΔｌが閾値−Ｌｏより小さくないということは、穴２５の傾きθが小さく、フォーク２２の角度を変更せずにフォーク２２を支障なく穴２５に差し込むことが可能であることを意味するので、ステップＳ３０に進む。そして、ステップＳ３０でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ３１でフォーク２２をパレット３１の穴２５に差し込む。
【００５１】
ステップＳ２５で、今回のレーザ高さｈｔが上面高さｈｈｉｇｈ以上であるということは、今回のレーザ高さｈｔが上面の高さではないことを意味しているため、ステップＳ２４に戻り別の高さにおいて、距離ｌｔを計測する。また、ステップＳ２６で、今回のレーザ高さｈｔが下面高さｈｌｏｗより大きくないということは、今回のレーザ高さｈｔが下面の高さではないことを意味しているため、ステップＳ２４に戻り別の高さにおいて、距離ｌｔを計測する。
【００５２】
ステップＳ２７で、Δｌが閾値Ｌｏより大きければ、穴２５の傾きが上昇傾斜で、かつフォーク２２の角度変更が必要な大きさであることを意味するので、ステップＳ３４に進む。そして、ステップＳ３４ではフォーク２２を上方にθ（ｒａｄ）傾ける。θは次式から求められる。
【００５３】
θ＝ｔａｎ−１｛（ｈｔ−ｈｔー１）／Δｌ｝
制御装置２６はステップＳ３５でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ３６でフォーク２２の先端位置の軌跡が上方にθ（ｒａｄ）となるようフォーク２２を上げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００５４】
ステップＳ２８で、Δｌが閾値−Ｌｏより小さければ、穴２５の傾きが下降傾斜で、かつフォーク２２の角度変更が必要な大きさであることを意味するので、ステップＳ３７に進む。そして、ステップＳ３７ではフォーク２２を下方にθ（ｒａｄ）傾ける。θは次式から求められる。
【００５５】
θ＝ｔａｎ−１｛（ｈｔー１−ｈｔ）／Δｌ｝
制御装置２６はステップＳ３８でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ３９でフォーク２２の先端位置の軌跡が下方にθ（ｒａｄ）となるようフォーク２２を下げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００５６】
この実施形態では、穴２５が奥側に傾いている場合は、穴２５の上面の異なる高さ位置の２点までの距離の差と、２点の高さの差によって傾きθを求めることができる。また、穴２５が手前に傾いている場合は、穴２５の下面の異なる高さ位置の２点までの距離の差と、２点の高さの差によって傾きθを求めることができる。そして、その傾きθに基づいて、フォーク２２が穴２５の外にある状態で、フォーク２２の傾きを変更するか否かを判断することにより、フォーク２２の傾きが穴２５の傾きθに対応していない状態でフォーク差し込み動作を行うことが回避される。また、フォーク差し込み動作の途中でフォーク２２と穴２５の内面が接触して荷役作業が途中で停止することを回避することができる。
【００５７】
（第３の実施形態）
次に第３の実施形態を図１５及び図１６にしたがって説明する。この実施形態では、パレット３１の前面を３次元的にレーザ照射して得たデータに基づいてパレット３１の前面の平面を抽出し、その法線ベクトルでパレット３１の傾きを推定する。すなわち、図１５に示すように、パレット３１の前面の多数のポイントクラウド（観測点群）４０を取得する点が、前記両実施形態と異なっている。前記実施形態と同一部分は同一符号を付して詳しい説明を省略する。
【００５８】
荷３２（パレット３１）の傾き検知とフォーク２２の差し込み処理の手順は図１６のフローチャートにしたがって行われる。
ステップＳ４１及びステップＳ４２は第１の実施形態のステップＳ１及びステップＳ２と同じである。ステップＳ４３で、パレット前面を３次元的にレーザ照射したデータより、ポイントクラウド（観測点群）４０を取得する。次にステップＳ４４で、ポイントクラウドから平面を抽出するアルゴリズムを使用して、レーザ照射で得られたポイントクラウド４０から平面を抽出する。
【００５９】
次にステップＳ４５で、抽出された平面の方程式ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０を求める。
ここで、ｘ軸、ｙ軸、ｚ軸は、図１５に示す座標軸と定義する。法線ベクトル（ａ，ｂ，ｃ）は上記方程式で示される平面の法線ベクトルになる。次にステップＳ４６で、パレット３１の傾きθ、すなわち穴２５の傾きθを次式により求める。
【００６０】
θ＝ｔａｎ−１（ａ／ｃ）
次にステップＳ４７で、傾きθが閾値θｏより大きいか否かを判断し、大きくなければステップＳ４８に進み、傾きθが閾値−θｏより小さいか否かを判断する。ステップＳ４８で傾きθが閾値−θｏより小さくなければステップＳ４９に進み、フォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ５０でフォーク２２をパレット３１の穴２５に差し込む。すなわち、パレット３１が傾いていてもその傾きθがフォーク２２の傾きを変更する必要が無いほど小さな場合は、フォーク２２の傾きを変更せずにフォーク２２をパレット３１の穴２５に差し込む。
【００６１】
ステップＳ４７で、傾きθが閾値θｏより大きければステップＳ５１に進み、フォーク２２を下方にθ（ｒａｄ）傾けた後、ステップＳ５２でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせる。その後、ステップＳ５３でフォーク２２の先端位置の軌跡が下方にθ（ｒａｄ）となるようフォーク２２を下げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００６２】
ステップＳ４８で、傾きθが閾値−θｏより小さければステップＳ５４に進み、フォーク２２を上方にθ（ｒａｄ）傾けた後、ステップＳ５５でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせる。その後、ステップＳ５６でフォーク２２の先端位置の軌跡が上方にθ（ｒａｄ）となるようフォーク２２を上げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００６３】
この実施形態では、穴２５の内面や穴２５の奥側を計測せずに、パレット３１すなわち荷３２の傾きθを求めることができる。
（第４の実施形態）
次に第４の実施形態を図１７にしたがって説明する。この実施形態では、パレット３１の穴２５の高さの代わりに、パレット３１の穴２５の面積で穴２５の傾きを求める点が、第１の実施形態と異なっている。第１の実施形態と同一部分は同一符号を付して詳しい説明を省略する。
【００６４】
荷３２（パレット３１）の傾き検知とフォーク２２の差し込み処理の手順は図１７のフローチャートにしたがって行われる。
ステップＳ６１で、上位システムから荷役作業情報を受け取り、ステップＳ６２で指定された荷の高さ情報を読み出す。次にステップＳ６３で、フォーク水平角θＦを初期角度に設定し、ステップＳ６４でパレット３１の穴２５の位置を中心にフォーク２２を昇降し、レーザセンサ２３でパレット３１の前面を走査する。
【００６５】
次にステップＳ６５で、得られた計測データから、パレット３１の前面の穴２５の面積Ａ１、パレット３１の奥まで貫通した穴２５の面積Ａ２、穴２５の上面のパレット３１の後端面への投影面積Ａ３（単に面積Ａ３と称する場合もある。）、穴２５の下面のパレット３１の後端面への投影面積Ａ４（単に面積Ａ４と称する場合もある。）を計算する。
【００６６】
面積Ａ１はパレット３１の前面の穴２５の高さｈ１と、穴２５の横幅寸法との積になり、面積Ａ２はパレット３１を貫通した穴の奥の高さｈ２と、穴２５の横幅寸法との積になる。面積Ａ３は、穴２５の上面に対応する部分の高さｈ３（＝ｈ１−ｈ２）と、穴２５の横幅寸法との積になり、面積Ａ４は、穴２５の下面に対応する部分の高さｈ４（＝ｈ１−ｈ２）と、穴２５の横幅寸法との積になる。
【００６７】
次にステップＳ６６でＡ２／Ａ１が基準値より小さいか否かを判断し、小さければステップＳ６７に進み、面積Ａ３が０より大きいか否かを判断する。基準値は、１又は１に近い値であり、Ａ２／Ａ１が基準値より小さいということは、高さｈ１と高さｈ２との値の差が大きく、フォーク２２の角度を変更せずにフォーク２２を支障なく穴２５に差し込むことが不可能であることを意味するので、ステップＳ６７に進み、ステップＳ６７で面積Ａ３が０より大きいか否かを判断する。
【００６８】
ステップＳ６７で面積Ａ３が０より大きければ、パレット３１が下降傾斜していることを意味するため、ステップＳ６８に進み、ステップＳ６８でフォーク２２を下方にθ（ｒａｄ）傾ける。パレットの奥行き寸法をＤ、穴２５の横幅寸法をＷとすると、θ（ｒａｄ）は次式で求められる。
【００６９】
θ＝ｔａｎ−１（Ａ１−Ａ２）／（Ｄ・Ｗ）
次に制御装置２６はステップＳ６９でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ７０でフォーク２２の先端位置の軌跡が下方にθ（ｒａｄ）となるようフォーク２２を下げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００７０】
ステップＳ６６でＡ２／Ａ１が基準値より小さくないということは、面積Ａ１と面積Ａ２との差が小さく、フォーク２２の角度を変更せずにフォーク２２を支障なく穴２５に差し込むことが可能であることを意味するので、ステップＳ７１に進み、フォーク２２の角度を維持した状態でステップＳ７２に進む。そして、ステップＳ７２でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ７３でフォーク２２をパレット３１の穴２５に差し込む。
【００７１】
ステップＳ６７で面積Ａ３が０より大きくなければ、パレット３１が上昇傾斜していることを意味するため、ステップＳ７４に進み、ステップＳ７４でフォーク２２を上方にθ（ｒａｄ）傾ける。次に制御装置２６はステップＳ７５でフォーク２２を昇降して、フォーク２２の中心がパレット３１の穴２５の上下方向の中心になるように高さを合わせた後、ステップＳ７６でフォーク２２の先端位置の軌跡が上方にθ（ｒａｄ）となるようフォーク２２を上げながら、前方に出して、フォーク２２をパレット３１の穴２５に差し込む。
【００７２】
この実施形態でも、フォーク２２が穴２５の外にある状態で、フォーク２２の傾きを変更するか否かを判断するため、フォーク２２の傾きが穴２５の傾きθに対応していない状態でフォーク差し込み動作を行うことが回避される。
【００７３】
実施形態は前記に限定されるものではなく、例えば、次のように具体化してもよい。
○  無人フォークリフト１１に限らず、オペレータがフォーク２２の差し込み動作を行う有人フォークリフトに適用してもよい。この場合、フォークリフトには、オペレータが視認可能な表示装置が設けられ、表示装置にレーザセンサ２３により計測された穴２５に関する計測結果に基づいて演算された穴２５の傾きθの情報、及びフォーク２２の傾きを変更するか否かの情報が表示される。そして、オペレータは、表示装置に表示された情報を参考にして、フォーク２２のティルト動作及びフォーク２２の差し込み動作を行うようにティルトシリンダ２１の制御、マストの前進・後退制御及びフォークリフトの走行制御を行う。表示装置で穴２５の傾きθの情報を確認することにより、オペレータは、パレット３１が直接見えない揚高の高い場所の荷役作業を容易に行うことができる。
【００７４】
○  無人フォークリフト１１はリーチ式に限らず、例えば、カウンタバランスタイプの無人フォークリフト１１であってもよい。無人フォークリフト１１がカウンタバランスタイプの場合、ティルト機構は、リフトブラケット１９とバックレスト２０との間にティルトシリンダ２１が設けられ、ティルトシリンダ２１のピストンロッドの伸縮作動によりフォーク２２の前後傾が可能となる構成に限らず、マスト１６を傾動させる構成であってもよい。
【００７５】
○  荷３２をパレット３１に載置してフォーク２２により荷取り動作及び荷置き動作を行う場合に限らず、荷３２にフォーク２２が差し込まれる穴が形成されており、パレット３１を使用せずにフォーク２２が荷３２の穴に差し込まれて、フォーク２２による荷取り動作及び荷置き動作が行われる場合に適用してもよい。
【００７６】
○  フォーク２２は２本に限らず、フォーク２２が差し込まれる穴の数に対応して３本以上であってもよい。
【符号の説明】
【００７７】
２２…フォーク、２３…レーザセンサ、２５…穴、２６…制御装置。
【図１】
0006520492.tif 000002
【図２】
0006520492.tif 000003
【図３】
0006520492.tif 000004
【図４】
0006520492.tif 000005
【図５】
0006520492.tif 000006
【図６】
0006520492.tif 000007
【図７】
0006520492.tif 000008
【図８】
0006520492.tif 000009
【図９】
0006520492.tif 000010
【図１０】
0006520492.tif 000011
【図１１】
0006520492.tif 000012
【図１２】
0006520492.tif 000013
【図１３】
0006520492.tif 000014
【図１４】
0006520492.tif 000015
【図１５】
0006520492.tif 000016
【図１６】
0006520492.tif 000017
【図１７】
0006520492.tif 000018