特許第6469506号(P6469506)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社豊田中央研究所の特許一覧 ▶ 株式会社豊田自動織機の特許一覧

<>
  • 特許6469506-フォークリフト 図000008
  • 特許6469506-フォークリフト 図000009
  • 特許6469506-フォークリフト 図000010
  • 特許6469506-フォークリフト 図000011
  • 特許6469506-フォークリフト 図000012
  • 特許6469506-フォークリフト 図000013
  • 特許6469506-フォークリフト 図000014
  • 特許6469506-フォークリフト 図000015
  • 特許6469506-フォークリフト 図000016
  • 特許6469506-フォークリフト 図000017
  • 特許6469506-フォークリフト 図000018
  • 特許6469506-フォークリフト 図000019
  • 特許6469506-フォークリフト 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6469506
(24)【登録日】2019年1月25日
(45)【発行日】2019年2月13日
(54)【発明の名称】フォークリフト
(51)【国際特許分類】
   B66F 9/24 20060101AFI20190204BHJP
【FI】
   B66F9/24 P
【請求項の数】6
【全頁数】16
(21)【出願番号】特願2015-84522(P2015-84522)
(22)【出願日】2015年4月16日
(65)【公開番号】特開2016-204067(P2016-204067A)
(43)【公開日】2016年12月8日
【審査請求日】2017年12月5日
(73)【特許権者】
【識別番号】000003609
【氏名又は名称】株式会社豊田中央研究所
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】田中 稔
(72)【発明者】
【氏名】藤井 亮暢
(72)【発明者】
【氏名】小出 光男
(72)【発明者】
【氏名】津坂 祐司
(72)【発明者】
【氏名】一瀬 誠
(72)【発明者】
【氏名】早川 誠
【審査官】 羽月 竜治
(56)【参考文献】
【文献】 特開平11−278799(JP,A)
【文献】 特開2005−089013(JP,A)
【文献】 特開昭59−057898(JP,A)
【文献】 実開平02−079398(JP,U)
【文献】 特開平05−039199(JP,A)
【文献】 欧州特許第01995188(EP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00−11/04
B65G 1/00− 1/20
G01B 11/00−11/30
G01C 3/00− 3/32
G05D 1/00− 1/12
(57)【特許請求の範囲】
【請求項1】
車体と、
前記車体に取付けられているフォークと、
前記車体の位置及び向きを調整する制御部と、
前記フォークの前方に設定された空間内に存在する物体までの距離データを計測するレーザセンサと、
前記レーザセンサで計測された距離データに荷取り対象となる荷又はパレットが含まれる場合に、当該距離データから前記車体を当該荷又はパレットの荷取り位置まで移動させる軌道データを生成し、その生成した軌道データを用いて前記制御部に指令を与える制御指令部と、を備え
前記レーザセンサは、レーザ光を第1の方向に走査することで走査平面内の物体との距離を計測するレーザセンサであり、
前記レーザセンサは、前記フォークに取付けられており、前記フォークを前記第1の方向とは異なる方向に移動させることで、前記フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測し、
前記制御指令部は、前記3次元距離データに荷取り対象となる荷又はパレットが含まれる場合に、前記3次元距離データから当該荷又はパレットの位置及び向きを特定し、それら特定した荷又はパレットの位置及び向きに基づいて算出される荷取り位置まで前記車体を移動させるための前記軌道データを生成する、フォークリフト。
【請求項2】
前記フォークを前記車体に対して昇降させる昇降機構をさらに備えており、
前記レーザセンサは、前記フォークが昇降運動することで、前記フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測する、請求項に記載のフォークリフト。
【請求項3】
前記フォークを前記車体に対して傾斜させるティルト機構をさらに備えており、
前記レーザセンサは、前記フォークが傾斜運動することで、前記フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測する、請求項に記載のフォークリフト。
【請求項4】
前記レーザセンサは、前記フォークの下面よりも上方に配置されている、請求項1〜3のいずれか一項に記載のフォークリフト。
【請求項5】
前記レーザセンサは、当該レーザセンサから照射されるレーザ光が斜め下方に照射されるように、水平方向に対して俯角を付けて前記フォークに取付けられている、請求項に記載のフォークリフト。
【請求項6】
前記制御指令部は、前記レーザセンサで計測された3次元距離データに荷取り対象となる荷又はパレットが含まれる場合であって、当該3次元距離データから前記車体を当該荷又はパレットの荷取り位置まで移動させる間、前記レーザセンサから照射されるレーザ光が当該荷又はパレットの前面の高さの中央に照射されるように前記フォークの運動を制御する、請求項1〜5のいずれかに記載のフォークリフト。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示の技術は、フォークリフトに関する。
【背景技術】
【0002】
フォークリフトによる荷取り作業の際、フォークと荷取り対象となる荷又はパレットとの干渉を避ける必要がある。特許文献1に開示のフォークリフトでは、反射型光センサによって、パレットの開口の上端および下端を検出する。そして、フォークの上面とパレットの開口の上端とのクリアランス、および、フォークの下面とパレットの開口の下端とのクリアランスを算出し、これらクリアランスが適切な値となるようにフォークの位置を調整している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−89013号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
フォークリフトに正確な荷取り作業を行うためには、フォークリフトを荷取り対象となる荷又はパレットの荷取り位置まで正確に移動させなければならない。しかし、従来の技術では、荷取り対象となる荷又はパレットの荷取り位置に正確に位置決めできない場合があった。例えば、特許文献1の技術では、パレットの高さ方向のずれを検出できるものの、横方向のずれや、パレットの向きに関するずれを検出することはできない。このため、フォークリフトをパレットの荷取り位置に正確に位置決めすることができない場合があった。
【0005】
本明細書は、正確な荷取り作業が可能となるフォークリフトを開示する。
【課題を解決するための手段】
【0006】
本明細書に開示するフォークリフトは、車体と、車体に取付けられているフォークと、車体の位置及び向きを調整する制御部と、フォークの前方に設定された空間内に存在する物体までの距離データを計測するレーザセンサと、レーザセンサで計測された距離データに荷取り対象となる荷又はパレットが含まれる場合に、当該距離データから車体を当該荷又はパレットの荷取り位置まで移動させる軌道データを生成し、その生成した軌道データを用いて制御部に指令を与える制御指令部とを備える。
【0007】
上記のフォークリフトは、フォークの前方に設定された空間内に存在する物体までの距離データを計測するレーザセンサを備えている。したがって、荷取り対象となる荷又はパレットの高さ方向のずれに加えて、横方向のずれや、荷又はパレットの向きに関するずれまで検出することができる。そして、レーザセンサで計測された距離データに荷取り対象となる荷又はパレットが含まれる場合には、その距離データから車体を当該荷又はパレットの荷取り位置まで移動させる軌道データを生成し、その生成した軌道データを用いて車体を移動させる。このため、フォークリフトを荷又はパレットの荷取り位置に正確に位置決めすることができる。
【図面の簡単な説明】
【0008】
図1】実施例に係るフォークリフトの概略構成を示す斜視図。
図2】実施例に係るフォークリフトによりレーザ光を走査している状態を模式的に示す図。
図3】実施例に係るフォークリフトの制御構成を示すブロック図。
図4】初期位置において、レーザセンサによりパレットの高さデータを取得する処理の手順を示すフローチャート。
図5】レーザセンサによりパレットまでの距離データを取得している状態を示す図。
図6】取得した距離データから抽出された直線を構成する点群の長さ及び中心位置を算出する方法を説明するための図。
図7】パレットの開口を検出する方法を説明するための図。
図8】初期位置から荷取り位置までフォークリフトが移動する際に、レーザセンサにより取得した距離データからパレット前面の中心の位置及び方向を特定する処理の手順を示すフローチャート。
図9】パレットの前面にレーザ光を照射させるためにフォークの高さを制御している状態を模式的に示す図。
図10】フォークリフトを荷取り位置まで移動させるときのフォークリフトの移動制御の処理手順を示すフローチャート。
図11】フォークリフトを荷取り位置まで移動する処理を行う際におけるフォークリフトの移動状態を模式的に示す図。
図12】フォークをティルトさせるティルト機構を利用してレーザ光を走査している状態を模式的に示す図。
図13】パレットの高さを検出するための方法を説明するための図。
【発明を実施するための形態】
【0009】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に記載する技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。
【0010】
(特徴1) 本明細書に開示するフォークリフトにおいて、制御指令部は、レーザセンサで計測された距離データにパレットが含まれる場合に、当該距離データから当該パレットの位置及び向きを特定し、それら特定したパレットの位置及び向きに基づいて軌道データを生成してもよい。このような構成によると、生成された軌道データに基づいて、車体を荷取り位置まで、正確に移動させることができる。
【0011】
(特徴2) 本明細書に開示するフォークリフトにおいて、レーザセンサは、レーザ光を第1の方向に走査することで走査平面内の物体との距離を計測するレーザセンサであってもよい。また、レーザセンサはフォークに取付けられており、フォークを第1の方向とは異なる方向に移動させることで、レーザセンサは、フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測してもよい。このような構成によると、1次元走査型のレーザセンサであっても2次元走査が可能となり、フォークリフト周辺の物体の3次元距離データを得ることができる。
【0012】
(特徴3) 本明細書に開示するフォークリフトは、フォークを車体に対して昇降させる昇降機構をさらに備えており、レーザセンサは、フォークが昇降運動することで、フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測してもよい。このような構成によると、フォークを上下方向に昇降させる昇降機構を利用して、レーザセンサから照射されるレーザ光を第1の方向と交差する上下方向に走査することができる。このため、レーザセンサから照射されるレーザ光を2次元に走査することができ、フォークリフト周辺の物体の3次元距離データを得ることができる。
【0013】
(特徴4) 本明細書に開示するフォークリフトは、フォークを車体に対して傾斜させるティルト機構をさらに備えており、レーザセンサは、フォークが傾斜運動することで、フォークの前方に設定された空間内に存在する物体までの3次元距離データを計測してもよい。このような構成によると、フォークを傾動させるティルト機構を利用して、レーザセンサから照射されるレーザ光を上下方向に走査することができる。このため、レーザセンサから照射されるレーザ光を2次元(例えば、水平方向及び上下方向の2次元)に走査することができ、周辺の物体の3次元距離データを得ることができる。
【0014】
(特徴5) 本明細書に開示するフォークリフトにおいて、レーザセンサは、フォークの下面よりも上方に配置されていてもよい。このような構成によると、フォークが床や地面に接触しても、レーザセンサが破損することを防止できる。
【0015】
(特徴6) 本明細書に開示するフォークリフトにおいて、レーザセンサは、当該レーザセンサから照射されるレーザ光が斜め下方に照射されるように、水平方向に対して俯角を付けてフォークに取付けられていてもよい。このような構成によると、レーザセンサがフォークの上方に取付けられる場合でも、床に置かれたパレット等を認識することができる。
【0016】
(特徴7) 本明細書に開示するフォークリフトにおいて、制御指令部は、レーザセンサで計測された3次元距離データに荷取り対象となる荷又はパレットが含まれる場合であって、当該3次元距離データから車体を当該荷又はパレットの荷取り位置まで移動させる間、レーザセンサから照射されるレーザ光が当該荷又はパレットの前面の中央に照射されるようにフォークの運動を制御してもよい。このような構成によると、車体移動中に常に荷又はパレットの観測を行うことができ、フォークリフトを荷取り位置まで正確に移動させることができる。
【実施例1】
【0017】
本実施例のフォークリフト10について、図面を参照しながら説明する。図1に示すように、フォークリフト10は、無人フォークリフトであり、車体30と、マスト24と、フォーク22と、リフトチェーン26と、レーザセンサ20と、制御装置70とを備えている。
【0018】
車体30は、その両側面のそれぞれに前輪28F及び後輪28Rを備えている。後輪28Rの一方は、図示しない駆動機構を介して駆動輪モータ90(図3に図示)に接続されており、駆動輪モータ90によって回転駆動されるようになっている。また、駆動輪モータ90に接続された後輪28Rは、操舵装置94(図3に図示)にも接続されており、操舵装置94によって車輪の向きが調整される。後輪28Rの他方は、キャスタ輪であり、車体30の走行に追従して回転及び操舵する。制御装置70が駆動輪モータ90及び操舵装置94を制御することより、車体30は路面を走行すると共に、車体30の進行方向を変えることができる。
【0019】
マスト24は、車体30の前面に取付けられている支柱であり、その軸線は上下方向に伸びている。フォーク22は、マスト24に上下方向に移動可能に取付けられている。また、フォーク22は、図示しないティルト機構によって、マスト24に対して揺動可能となっている。フォーク22は、一対のツメ22a,22bを有している。ツメ22a,22bは、車体30の左右方向に互いに離間した位置に配置されており、マスト24側から車体12の前方に向かって伸びている。リフトチェーン26は、マスト24に設置されており、フォーク22と係合している。リフトチェーン26がフォーク昇降装置48(図3に図示)により駆動されると、それによってフォーク22が昇降される。フォーク22の上下方向の位置は、フォーク昇降装置48の駆動量によって特定可能となっている。
【0020】
レーザセンサ20は、フォーク22に取付けられ、フォーク22と一体となって上下方向に昇降する。レーザセンサ20が取付けられる位置は、ツメ22a、22bの間であって、フォーク22のバックレスト面より奥側(車体12側)に配置されている。レーザセンサ20は、ツメ22a、22bの下面よりも上方に配置されている。レーザセンサ20は、照射されるレーザ光が斜め下方に照射されるように、水平方向に対して俯角を付けてフォーク22に取付けられている。レーザセンサ20は、1方向(本実施例では水平方向)にレーザ光を走査する1次元走査型のレーザセンサである。レーザセンサ20は、レーザ光を照射するとともにその照射したレーザ光の反射光から周辺物体までの距離を計測する。フォーク22が昇降すると、レーザセンサ20も昇降するため、レーザセンサ20から照射されるレーザ光の高さ方向の位置も変化する。本実施例では、図2に示すように、レーザセンサ20は、上下方向に昇降しながら、フォークリフト10の前方の所定の角度範囲の領域50(図1参照)にレーザ光を照射する。これにより、レーザセンサ20から照射されるレーザ光は水平方向及び高さ方向(2次元)に走査され、フォークリフト10の前方の距離データ80が取得される。レーザセンサ20で取得される3次元距離データは、制御装置70(図3に図示)に入力される。
【0021】
なお、レーザセンサ20としては、例えば、北陽電機製のUTM−30LXやSICK社製LMS100等を用いることができる。
【0022】
制御装置70は、CPU等を備えたマイクロプロセッサによって構成されている。制御装置70は、車体30に搭載されている。制御装置70は、上述したレーザセンサ20と、一方の後輪28Rを駆動する駆動輪モータ90と、一方の後輪28Rの操舵角を調整する操舵装置94と、フォーク22の昇降を行うフォーク昇降装置48等に接続されており、これらの動作を制御する。
【0023】
すなわち、制御装置70は、駆動輪モータ90及び操舵装置94を駆動することで、フォークリフト10の進行方向及び走行速度を制御する。すなわち、制御装置70は、駆動輪モータ90及び操舵装置94に制御指令値を出力することで、一方の後輪28Rを駆動する。これによって、フォークリフト10の進行方向、走行速度及び走行経路等が制御される。制御装置70は、一方の後輪28Rの、操舵装置94による操舵角と、駆動輪モータ90からの信号に基づく回転速度から、フォークリフト10の実際の位置及び速度を特定することができる。なお、制御装置70によるフォークリフト10の進行方向及び走行速度の制御については、従来公知の方法で行うことができるため、ここではその詳細な説明は省略する。
【0024】
また、制御装置70は、メモリに記憶されているプログラムを実行することで、レーザセンサ20によりパレット100を認識し、その認識したパレット100を荷取るための位置にフォークリフト10を移動させる処理を実行する。具体的には、荷取り対象となるパレット100の初期観測時においては、制御装置70は、まず、レーザセンサ20の高さ方向の位置を検出しながらレーザセンサ20を下降させると共に、レーザセンサ20により取得される距離データに基づいて、パレット100の前面の中央の高さを特定する処理を実行する。次に、制御装置70は、特定したパレット100の前面の中央の高さ付近を観測した距離データに基づいて、パレット100の位置及び方向を特定する。次いで、特定したパレット100の位置及び方向に基づいて車体が走行すべき軌道データを生成する処理を実行する。次いで、生成した軌道データと、パレット100の位置及び方向に基づいて駆動・操舵データを生成する処理を実行し、最後に、生成した駆動・操舵データに基づいて車体を駆動する処理を実行する。すなわち、制御装置70は、図3に示すように、パレット認識部36、軌道・速度計画部38、駆動・操舵指令部40、駆動輪・操舵制御部42、センサ移動制御部44及びセンサ位置検出部46として機能する。制御装置70が上述した各部32〜46として機能することで、パレット100の位置、方向及び幅が特定され、特定されたパレット100の位置及び方向に基づいて車体30が荷取り位置まで移動する。各部32〜46の詳細については、以下で説明する制御装置70で行われる処理とともに説明する。
【0025】
次に、制御装置70によって、パレット100の荷取り位置までフォークリフト10を移動させる処理について説明する。まず、荷取り対象となるパレット100の距離データ80を取得し、その距離データからパレット100の高さ及び幅を認識する処理について説明する。距離データの取得は、荷取り対象となるパレット100の近傍にフォークリフト10が停止した状態で実行される。すなわち、図4に示すように、制御装置70は、まず、車体30の前方にパレット100が位置するように、一方の後輪28Rを駆動して、パレット100に対してフォークリフト10を接近させる。すなわち、パレット100をレーザセンサ20によって観測するために、フォークリフト10をパレット前方の初期位置へ移動させる(S10)。例えば、工場内で荷物を運搬するフォークリフト10では、荷物(パレット100)が載置される位置は予め定められている。このため、フォークリフト10を停止させる初期位置は、パレット100が載置される位置から予め定められている。このため、制御装置70は、予め設定された初期位置まで、駆動輪モータ90及び操舵装置94を駆動してフォークリフト10を自動で移動させる。なお、フォークリフト10が運転者によって運転される場合は、運転者によってフォークリフト10が初期位置まで移動され、その後、フォークリフト10の運転者のスイッチ操作により距離データ生成処理が開始されてもよい。
【0026】
次に、制御装置70は、フォーク昇降装置48を駆動して、レーザセンサ20を、観測対象領域60(図5に図示)の上限にレーザ光が照射されるように移動させる(S12)。観測対象領域60とは、パレット100が存在する可能性のある領域である。例えば、図5に示すように、荷物130はパレット100上に載置され、パレット100は台座120上に載置される場合であれば、パレット100が存在する可能性のある領域(高さ、幅)は、台座120とパレット100の寸法によって決まる。ステップS12では、パレット100が存在する可能性のある領域の上限までレーザセンサ20を移動させ、パレット100が確実に検出されるようにする。
【0027】
次に、制御装置70は、フォーク昇降装置48を駆動して、フォーク22を下降させながら、レーザセンサ20でスキャンデータを取得する(S14)。すなわち、レーザセンサ20は、レーザ光を水平方向に走査しながら照射するとともにその照射したレーザ光の反射光を検出する。一方、フォーク昇降装置48がフォーク22を下降させるため、レーザセンサ20は下方向に移動する。このため、レーザセンサ20から照射されるレーザ光は、垂直方向にも走査される。したがって、ステップS14の処理によって、レーザセンサ20からのレーザ光は、水平方向及び垂直方向に走査され、その反射光を検出することで、観測対象領域60の観測点群を取得することができる。なお、上記のステップS12及びS14のフォークを昇降させる処理によって実現される制御装置70の機能が、図3に示すセンサ移動制御部44に相当する。
【0028】
次に、制御装置70は、レーザセンサ20で取得した観測点群に対して、逐次的にステップS16の処理をする。具体的には、制御装置70は、まず、観測点群から直線が抽出できるか否かを判断する。図5に示すように、パレット100の前面から反射される反射光による観測点群は同一平面上に位置する。このため、パレット100の前面から反射される反射光による観測点群は、直線を構成する。なお、直線の抽出には、例えば、RANSACのようなロバスト推定と呼ばれる公知のアルゴリズムを用いることができる。
【0029】
次に、制御装置70は、抽出された直線を構成する点群の長さが、パレット100の幅に概ね等しいか否かを判断する。ここで、パレット100の規格は既知であることが通常である。したがって、直線を構成する点群の長さと設定値(パレット100の規格から定められる値)を比較することによって、パレット100の前面の直線が抽出されているか否かを判断することができる。直線を構成する点群の長さWは、例えば、図6に示すように、点群のx方向の最大値及び最小値pxmax,pxmin、y方向の最大値及び最小値pymax,pyminを持つ観測点を用いることによって、下式により求めることができる。
【0030】
【数1】
【0031】
制御装置70は、式(1)により求められた長さをパレット100の幅(設定値)と照らし合わせることによって、パレット100の幅に等しいか否かを判断する。
【0032】
次に、制御装置70は、抽出された直線が3本の線分で構成されているか否かを判断する。詳細には、抽出された直線をユークリッド距離でクラスタリングする。すなわち、図5,7に示すように、パレット100の前面には2つの開口部110(フォーク22のツメ22a,22bが挿し込まれる孔)が形成されている。このため、パレット100の前面から抽出される直線は、パレット100の前面の開口部110によって分断される。したがって、レーザセンサ20による計測高さが、パレット開口部110の範囲に存在するとき、抽出された直線は3本の線分でクラスタリングされる(すなわち、クラスタ数が3となる(図7でYESと示された線分)。なお、クラスタリングには、例えば、k−means法やkd−tree法のような公知の方法を用いることができる。
【0033】
ここで、制御装置70は、フォーク昇降装置48を制御してフォーク22を昇降するため、フォーク22の上下方向の位置を知ることができる。レーザセンサ20は、フォーク22に取付けられているため、制御装置70(図3に示すセンサ位置検出部46)は、レーザセンサ20の高さ方向の位置を知ることができる。このため、上述したステップS16の処理における条件を全て満たす場合(S16でYES)、制御装置70は、現在のレーザセンサ20の計測高さをパレット開口部110の開始高さ(h)と判断し、現在の計測高さを記録する(S18)。ステップS16において、少なくともいずれか一つの条件を満たさない場合(S16でNO)は、制御装置70はステップS14の処理へ戻る。
【0034】
次に、制御装置70は、再びフォーク昇降装置48を駆動して、フォーク22を下降させながら、レーザセンサ20でスキャンデータを取得する(S20)。次いで、制御装置70は、レーザセンサ20で取得した観測点群に対して、逐次的にステップS22の処理をする。ステップS22の処理については、ステップS16の処理と同様であるため、詳細な説明は省略する。ステップS22の処理において、少なくともいずれか一つの条件を満たさない場合(S22でNO)、制御装置70は、現在のレーザセンサ20の計測高さはパレット100の開口部110の終了高さ(h)であると判断し、現在の計測高さを記録する(S24)。ステップS22の処理において条件を全て満たす場合(S22でYES)、レーザ光が走査される位置はパレット100の開口部110の位置であるとし、制御装置70はステップS20の処理へ戻る。なお、上記のステップS16及びS22の処理のうち、レーザセンサ20の高さを認識する制御装置70の機能が、図3に示すセンサ位置検出部46に相当する。
【0035】
次に、制御装置70は、上述したステップS16及びS22の処理を行うことによって得られたh及びhから、下式(2)及び(3)により、パレット100の中心の高さh及びパレット開口部110の上下方向の幅H(パレット高さデータ62)を求める(S26)。なお、上記のステップS10〜S24の処理によって実現される制御装置70の機能が、図3に示すパレット認識部36に相当する。
【0036】
【数2】
【0037】
次に、フォークリフト10を初期位置から荷取り位置まで移動させる際に、制御装置70によって実行される処理について説明する。フォークリフト10を初期位置から荷取り位置まで移動させる際、制御装置70は、図8に示すパレット100の前面の中心位置を検出する処理と、図10に示すフォークリフト10の走行制御処理を実行する。すなわち、制御装置70は、レーザセンサ20によってパレット100の前面の中心位置を検出しながら、その検出結果を用いて駆動輪モータ90及び操舵装置94を制御することで、フォークリフト10を荷取り位置まで移動させる。まず、制御装置70によるパレット100の前面の中心位置を検出する処理について説明する。図8に示すように、まず、制御装置70は、車体30が初期位置から荷取り位置まで移動する間、レーザセンサ20で観測されるパレット高さデータ62に基づいて、レーザセンサ20のレーザ光が、常にパレット100の前面の高さの中央に照射されるように、フォーク昇降装置48により、フォーク22の高さを調整する(S30、図9に示す状態)。
【0038】
【数3】
【0039】
図9に示すように、レーザセンサ20とパレット100との距離L及びパレット高Hは、センサ位置検出部46及びパレット高さデータ62から算出することができる。また、レーザセンサ20に設けられた俯角φは既知である。したがって、レーザセンサ20とパレット100との距離L、パレット高H及び俯角φから、センサ高Hを求め、上式(4)を満足するようにフォーク22の高さを制御する。これにより、車両の揺れや観測誤差が生じた場合でも、レーザ光がパレット100から外れることがなく、正確な追従制御ができる。
【0040】
次に、制御装置70は、センサ高Hにおいて、レーザセンサ20で取得した観測対象領域60内に存在する観測点群から、パレット前面に相当する直線を抽出する(S32)。直線の抽出には、例えば、RANSACのような公知のアルゴリズムを用いることができる。
【0041】
次に、制御装置70は、抽出された直線に対し、ステップS34の処理を行う。具体的には、制御装置70は、まず、ステップS32で抽出された直線を構成する点群の長さが、パレット100の幅に概ね等しいか否かを判断する(S34)。直線を構成する点群の長さは、例えば、点群のx方向の最大値及び最小値、y方向の最大値及び最小値を持つ観測点を用いることによって、上述した式(1)により求めることができる。制御装置70は、式(1)により求められた長さをパレット100の幅(設定値)と照らし合わせることによって、パレット100の幅に等しいか否かを判断する。
【0042】
次に、制御装置70は、抽出された直線が3本の線分で構成されているか否かを判断する(S34)。具体的には、上述したステップS16における処理と同様であるため、ここではその詳細な説明は省略する。
【0043】
上述したステップS34の処理において、少なくともいずれか一つの条件を満たさない場合(S34でNO)、制御装置70は、ステップS30に戻り処理を繰り返す。
【0044】
上述したステップS34の処理において条件を全て満たす場合(S34でYES)、制御装置70は、レーザセンサ20により取得した観測点群のx方向の最大値及び最小値、y方向の最大値及び最小値を用いてパレット100前面のx方向及びy方向の中心位置P(Cpx,Cpy)を検出する(S36、図6を参照)。パレット100の前面のx方向及びy方向の中心位置Pの検出は、例えば、下式(5)及び(6)により求めることができる。
【0045】
【数4】
【0046】
次に、制御装置70は、パレット100の方向を決定する(S38)。パレット100の方向の決定は、例えば、パレット認識部36及びセンサ位置検出部46によって、抽出された直線の方向をパレット100の側面の法線ベクトル、当該直線に直交する方向をパレット100前面の法線ベクトルとすることで、パレットの方向を求めることができる。これによって、パレット100の位置及び方向を特定することができ、パレット100の位置及び方向を特定したパレット位置・方向データ84が得られる。なお、上記のステップS30〜S38の処理によって実現される制御装置70の機能が、図3に示すパレット認識部36に相当する。
【0047】
次に、制御装置70によるフォークリフト10の走行制御処理を図10を用いて説明する。図10に示すように、制御装置70は、図4に示す処理を実行することで取得したパレット位置・方向データ84に基づいて、パレット100の荷取り位置(最終目標位置及び最終目標方向)に車体30を移動するための軌道計画を作成し、作成した軌道計画に基づいて、現在位置(初期位置)から荷取り位置まで移動する間の各時刻における目標位置及び目標方位を算出する(S50)。具体的には、まず、制御装置70は、パレット位置・方向データ84からパレット100の荷取り位置(フォークリフト10の最終目標位置及び最終目標方位)と、現在の位置から荷取り位置まで移動する際に要する時間を決定し、これらから軌道計画及び速度計画を作成する。次いで、制御装置70は、作成した軌道計画と速度計画に基づいて、現時点から荷取り位置まで移動する間の各時刻での目標位置及び目標方位(軌道データ86)を算出する。軌道計画と速度計画には、例えば、直線補間やスプライン曲線による補間のような従来公知の方法を用いることができる。なお、上記の処理によって実現される制御装置70の機能が、図3に示す軌道・速度計画部38に相当する。
【0048】
次に、制御装置70は、決定した軌道データ86(各時刻における目標位置及び目標方位)と、図8に示す処理によって取得されるパレット位置・方向データ84から特定されるフォークリフト10の現在の位置とに基づいて、荷取り位置(最終目標位置及び最終目標方向)まで車体30を移動するための制御指令値を生成する。すなわち、本実施例では、フォークリフト10が初期位置から荷取り位置まで移動する間も、レーザセンサ20によるパレット100の観測(図8の処理)が実行される。このため、レーザセンサ20により取得されるパレット位置・方向データ84から、現在のフォークリフトの位置(パレット100に対する相対的位置)及び方位を算出することができる。このため、まず、制御装置70は、式(7)に示すように、軌道データ86に基づく現在時刻での車体30の目標位置・方位xref,yref,θrefと、パレット位置・方向データ84から算出される車体30の現在位置・方位xveh,yveh,θvehとから偏差x,y,θを算出し、その算出した偏差x,y,θを車両座標系に変換する(S52)。
【0049】
【数5】
【0050】
次に、制御装置70は、上記の式(7)より得られた偏差にフィードバックゲインK,K,Kθを乗じて、車体30が出すべき実際の目標並進速度及び目標角速度vout,ωout(駆動・操舵データ88)を算出する(S54)。なお、車体30の目標並進速度及び目標角速度vout,ωout(すなわち、車両座標系での並進速度及び角速度)は、下記に示す式(8)及び(9)を用いて算出することができる。そして、図11に示すように、駆動・操舵データ88に基づいてフォークリフト10が移動することで、フォークリフト10は、パレット100に対して適切な位置及び向きとなるように調整される。なお、上記の処理によって実現される制御装置70の機能が、図3に示す駆動・操舵指令部40に相当する。
【0051】
【数6】
【0052】
次に、制御装置70は、得られた並進速度及び角速度vout,ωoutを元に、駆動輪の速度及び操舵角を制御する(S56)。すなわち、制御装置70は、制御指令値(vout,ωout)に基づき、これを実現する駆動輪速度指令値と操舵角度指令値を幾何学的計算により求め、それぞれを駆動輪モータ90と操舵装置94へ出力する。なお、上記の処理によって実現される制御装置70の機能が、図3に示す駆動輪・操舵制御部42に相当する。
【0053】
次に、制御装置70は、フォークリフト10が荷取り位置(最終目標位置及び最終目標方向)まで移動したかを判断する(S58)。フォークリフト10が荷取り位置まで移動していないと判断した場合(S58でNO)は、制御装置70は、ステップS52〜S58を繰り返す。これによって、フォークリフト10が荷取り位置まで移動する。一方、フォークリフト10が荷取り位置まで移動したと判断した場合(S58でYES)は、図10に示す処理を終了する。
【0054】
上述した実施例のフォークリフト10では、レーザセンサ20がフォーク22に取付けられている。このため、フォーク22が昇降すると、それに応じてレーザセンサ20も昇降する。したがって、フォーク22を昇降しながら、レーザセンサ20が水平方向にレーザ光を走査するだけで、パレット100の前面の形状を計測することができる。また、パレット100の前面の観測点群から、パレット100の位置、方向及び幅を特定するため、パレット100の横方向の位置ずれや、回転に関するずれを検出することができる。
【0055】
また、上述した実施例のフォークリフト10では、レーザセンサ20で得られたパレット100の計測データに基づいて、車体30をパレット100の荷取り位置まで移動させる軌道データを生成し、その生成した軌道データを用いて車体30を移動させる。このため、フォークリフト10をパレット100の荷取り位置に正確に位置決めすることができる。
【0056】
最後に、上述した実施例と請求項との対応関係を説明しておく。駆動輪・操舵制御部42が「制御部」の一例であり、演算部34、パレット認識部36、軌道・速度計画部38及び駆動・操舵指令部40が請求項でいう「誘導計画部」の一例であり、センサ移動制御部44が「昇降機構」の一例である。
【0057】
以上、本実施例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
【0058】
例えば、本実施例では、フォークを上下方向に昇降させることでレーザ光を上下方向に走査したが、本明細書に開示する技術は、このような構成に限られない。例えば、図12に示すように、フォークの先端を基端に対して傾動させるティルト機構を利用して、レーザセンサ20から照射されるレーザ光を上下方向に走査してもよい。
【0059】
また、本実施例では、レーザセンサ20で得られた観測点群から水平方向に伸びる直線を抽出し、その線分の長さと線分の数(クラスタ数)を、パレット100の開口部110の特徴として捉え、これをもとにパレット100の高さを検出したが、本明細書に開示する技術は、レーザセンサ20から照射されるレーザ光のビーム長の変化を捉えてパレット100の高さを検出してもよい。例えば、レーザセンサ20から照射されるレーザ光を観測対象領域60の上限から下限まで走査すると、図13に示すように、レーザセンサ20から照射されるレーザ光のビーム長は、開口部110によって大きく変化する。このため、パレット100の高さ(開口部110の高さ方向の位置)は、レーザ光のビーム長の変化によって検出することができる。具体的には、ビーム長が顕著に大きくなった箇所をパレット開口部110の上端とし、ビーム長が顕著に短くなった箇所をパレット開口部110の下端とすることができる。より詳細には、観測対象領域60の上限から下方に向かってレーザスキャンを行うと、まず、レーザ光は、パレット100の上端を捉える。さらにレーザスキャンを続けていくと、照射されるレーザ光の高さが、開口部110に達したとき、照射されるレーザ光は開口部110内を通過し、レーザ光のビーム長が極端に長くなる位置が現れる。したがって、その高さを開口部110の上端と認識することができる。その後、レーザスキャンをさらに続け、照射されるレーザ光の高さが、開口部110の下端に達すると、レーザ光はパレット100の前面に照射され、レーザ光のビーム長が極端に短くなる。したがって、その高さを開口部110の下端と認識することができる。なお、パレットの仕様(開口部110の大きさ)が既知の場合、開口部110の上端又は下端の位置を検出できれば、パレット開口部110の中央部の高さを求めることができる。この場合、レーザ光を観測対象領域60の下限までレーザ光を走査する必要がなくなるため、リードタイムの低減が可能となる。なお、パレット100の高さの検出は、観測対象領域60の下限から上方に向かってレーザスキャンを行ってもよい。
【0060】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書又は図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0061】
10:フォークリフト
20:レーザセンサ
22:フォーク
22a、22b:ツメ
24:マスト
26:リフトチェーン
28F:前輪
28R:後輪
30:車体
36:パレット認識部
38:軌道・速度計画部
40:駆動・操舵指令部
42:駆動輪・操舵制御部
44:センサ移動制御部
46:センサ位置検出部
48:フォーク昇降装置
60:観測対象領域
62:パレット高さデータ
70:制御装置
80:距離データ
84:パレット位置・方向データ
86:軌道データ
88:駆動・操舵データ
90:駆動輪モータ
94:操舵装置
100:パレット
110:開口部
120:台座
130:荷物

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13