(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】認識装置
(51)【国際特許分類】
B66F 9/24 20060101AFI20230704BHJP
【FI】
B66F9/24 P
(21)【出願番号】P 2020073503
(22)【出願日】2020-04-16
【審査請求日】2022-07-14
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】開田 宏介
(72)【発明者】
【氏名】倉田 好和
【審査官】太田 義典
(56)【参考文献】
【文献】特開2017-178567(JP,A)
【文献】特開2017-151650(JP,A)
【文献】特開2017-019596(JP,A)
【文献】米国特許出願公開第2019/0194005(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00-11/04
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
移動体の進行方向に存在する認識対象物を認識する認識装置であって、
前記移動体に設けられ、前記移動体に対する前記認識対象物の距離及び角度を検出する検出部と、
前記検出部の検出データに基づいて、前記認識対象物の前面に相当する検出点群を取得する点群取得部と、
前記点群取得部により取得された検出点群に基づいて、前記認識対象物の前面を表す直線を算出する直線算出部と、
前記直線算出部により算出された直線を用いて、前記点群取得部により取得された検出点群を補正する点群補正部と、
前記点群補正部により補正された検出点群に基づいて、前記認識対象物の位置を認識する位置認識部とを備え、
前記点群補正部は、前記点群取得部により取得された検出点群を構成する複数の検出点を、前記直線算出部により算出された直線上に前記検出部が位置する角度方向に投影することにより、前記検出点群を補正する認識装置。
【請求項2】
前記移動体は、フォークリフトであり、
前記認識対象物は、前記フォークリフトのフォークが差し込まれるフォーク収容部が設けられたパレットである請求項1記載の認識装置。
【請求項3】
前記点群取得部により取得された検出点群を構成する前記複数の検出点のうち、前記フォークの差し込み方向に垂直な方向に相当する前記パレットの幅方向に沿った複数の端点を抽出する端点抽出部を更に備え、
前記複数の端点は、前記パレットの前面の端部に位置する検出点と、前記パレットの前面における前記フォーク収容部との境界部に位置する検出点とを含み、
前記点群補正部は、前記複数の端点を前記直線上に前記検出部が位置する角度方向に投影する請求項2記載の認識装置。
【請求項4】
前記位置認識部は、前記点群補正部により補正された検出点群に基づいて、前記パレットの前面の中心位置を算出する請求項3記載の認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認識装置に関する。
【背景技術】
【0002】
従来の認識装置としては、例えば特許文献1に記載されている技術が知られている。特許文献1に記載の認識装置は、レーザ光を照射すると共に、その照射したレーザ光の反射光から周辺物体までの距離を計測する測域センサと、この測域センサにより計測された距離データを、パレットの前面から反射される反射光による観測点群に座標変換し、その観測点群から、パレットの前面をスキャンした結果となる直線を抽出し、観測点群及び直線に基づいて、パレットの前面の中心位置を特定する演算装置とを備えている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術においては、パレットの前面からの反射光による観測点群を用いて、パレットの前面の中心位置を特定することで、パレットの位置を認識している。しかし、観測点群を構成する複数の観測点には、例えばセンサ誤差等によるばらつきが含まれている。このため、認識対象物であるパレットの位置を高精度に認識することが困難である。
【0005】
本発明の目的は、認識対象物の位置を高精度に認識することができる認識装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、移動体の進行方向に存在する認識対象物を認識する認識装置であって、移動体に設けられ、移動体に対する認識対象物の距離及び角度を検出する検出部と、検出部の検出データに基づいて、認識対象物の前面に相当する検出点群を取得する点群取得部と、点群取得部により取得された検出点群に基づいて、認識対象物の前面を表す直線を算出する直線算出部と、直線算出部により算出された直線を用いて、点群取得部により取得された検出点群を補正する点群補正部と、点群補正部により補正された検出点群に基づいて、認識対象物の位置を認識する位置認識部とを備え、点群補正部は、点群取得部により取得された検出点群を構成する複数の検出点を、直線算出部により算出された直線上に検出部が位置する角度方向に投影することにより、検出点群を補正する。
【0007】
このような認識装置においては、検出部により移動体に対する認識対象物の距離及び角度が検出され、検出部の検出データに基づいて認識対象物の前面に相当する検出点群が取得される。そして、検出点群に基づいて認識対象物の前面を表す直線が算出され、その直線を用いて検出点群が補正される。そして、補正された検出点群を用いて、認識対象物の位置が認識される。ここで、例えば検出部の検出誤差等によって、検出点群を構成する複数の検出点の位置がずれることがある。そこで、検出点群を構成する複数の検出点を、直線上に検出部が位置する角度方向に投影することにより、各検出点が適切な位置に補正される。これにより、認識対象物の位置が高精度に認識される。
【0008】
移動体は、フォークリフトであり、認識対象物は、フォークリフトのフォークが差し込まれるフォーク収容部が設けられたパレットであってもよい。
【0009】
このような構成では、パレットには、フォークリフトのフォークが差し込まれるフォーク収容部が設けられている。このため、フォークリフトに対するパレットの距離の検出データにずれが生じやすくなり、その結果として検出点群を構成する複数の検出点の位置がずれやすくなる。そこで、検出点群を構成する複数の検出点を、直線上に検出部が位置する角度方向に投影することにより、各検出点が適切な位置に補正される。これにより、パレットの位置が高精度に認識される。
【0010】
認識装置は、点群取得部により取得された検出点群を構成する複数の検出点のうち、フォークの差し込み方向に垂直な方向に相当するパレットの幅方向に沿った複数の端点を抽出する端点抽出部を更に備え、複数の端点は、パレットの前面の端部に位置する検出点と、パレットの前面におけるフォーク収容部との境界部に位置する検出点とを含み、点群補正部は、複数の端点を直線上に検出部が位置する角度方向に投影してもよい。
【0011】
このような構成では、検出点群を構成する複数の検出点のうち、パレットの幅方向に沿った複数の端点のみが直線上に投影される。従って、検出点群の補正処理の簡略化が図られる。
【0012】
位置認識部は、点群補正部により補正された検出点群に基づいて、パレットの前面の中心位置を算出してもよい。
【0013】
このような構成では、複数の端点を直線上に検出部が位置する角度方向に投影することにより、各端点が適切な位置に補正される。従って、複数の端点から、パレットの前面の中心位置が正確に算出される。
【発明の効果】
【0014】
本発明によれば、認識対象物の位置を高精度に認識することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の一実施形態に係る認識装置を備えた自動走行制御装置の構成を概略的に示すブロック図である。
【
図2】自動走行制御装置が搭載されるリーチ式のフォークリフトの側面図である。
【
図3】認識装置により認識されるパレットの斜視図である。
【
図4】レーザセンサからパレットに向けてレーザ光が照射される様子を示す概略平面図である。
【
図5】点群取得部により取得される検出点群及び直線算出部により算出される直線の一例を示す図である。
【
図6】直線算出部により実行される直線算出処理の手順を示すフローチャートである。
【
図7】RANSACを用いて、検出点群を構成する複数の検出点からパレットの前面に近い直線を抽出する様子を示す図である。
【
図8】最小二乗法を用いて、RANSACにより抽出された直線付近に存在する複数の検出点から誤差が最小となるような直線を抽出する様子を示す図である。
【
図9】
図5に示された検出点群を構成する複数の検出点から端点が抽出される様子を示す図である。
【
図10】レーザセンサから照射されたレーザ光がパレットに当たる位置と、パレットの認識に必要な検出点とを示す断面図である。
【
図11】点群補正部によって検出点群を構成する複数の検出点のうちの複数の端点が直線上に投影される様子を示す図である。
【
図12】位置認識部によってパレットの前面の中心位置が算出される手法を示す正面図である。
【
図13】経路生成部により生成される走行経路を示す概略平面図である。
【
図14】レーザセンサから照射されたレーザ光がパレットの2箇所に当たることで、レーザセンサにより誤った検出点が得られる一例を示す断面図である。
【
図15】点群補正部において、端点が直線上にレーザ光の光軸方向に投影される様子と、端点が直線上に垂直に投影される様子とを比較して示す断面図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0017】
図1は、本発明の一実施形態に係る認識装置を備えた自動走行制御装置の構成を概略的に示すブロック図である。
図1において、自動走行制御装置1は、
図2に示すようなリーチ式のフォークリフト2(移動体)に搭載されている。
【0018】
フォークリフト2は、車体3と、この車体3の前側に配置された左右1対のレグ4(
図4参照)と、各レグ4間に配置され、前後方向に移動なマスト5と、このマスト5に昇降可能に取り付けられた左右1対のフォーク6(
図4参照)と、各レグ4の先端部にそれぞれ配設された前輪7と、車体3の左側下部に配設された後輪8と、車体3の右側下部に配設されたキャスタ輪9とを有している。フォーク6は、パレット10(
図3参照)を持ち上げる荷役用部材である。車体3は、運転席11と、この運転席11の上方に配置されたヘッドガード12とを有している。
【0019】
パレット10は、
図3に示されるような平面視四角形状の平パレットである。パレット10は、荷物を載せるための荷役台である。パレット10は、前面10aと、この前面10aと前後方向(X方向)に対向する後面10bと、前面10a及び後面10bと直交すると共に左右方向(Y方向)に対向する2つの側面10cとを有している。前面10aは、フォークリフト2の各フォーク6によりパレット10を持ち上げる際に、フォークリフト2と向き合う面である。
【0020】
パレット10には、各フォーク6が差し込まれるフォークポケット13,14(フォーク収容部)が設けられている。フォークポケット13,14は、パレット10に2つずつ設けられている。フォークポケット13は、パレット10の前面10aから後面10bまで前後方向に延びている。フォークポケット14は、パレット10の一方の側面10cから他方の側面10cまで左右方向に延びている。フォークポケット13,14は、互いに垂直方向に交差している。フォークポケット13,14の形状は、正面視で矩形状である。なお、パレット10には、フォークポケット14が設けられていなくてもよい。
【0021】
パレット10の前後方向は、パレット10の前面10a側に位置するフォークリフト2から見たときの前後方向である。パレット10の前後方向は、パレット10におけるフォーク6の差し込み方向に相当する。パレット10の左右方向は、パレット10の前面10a側に位置するフォークリフト2から見たときの左右方向である。パレット10の左右方向は、パレット10の幅方向であり、フォーク6の差し込み方向に垂直な方向に相当する。
【0022】
図1に戻り、自動走行制御装置1は、フォークリフト2をパレット10の手前まで自動的に走行させる装置である。自動走行制御装置1は、レーザセンサ15,16と、駆動部17と、コントローラ18とを備えている。
【0023】
レーザセンサ15は、
図2に示されるように、フォークリフト2の上部に設けられている。レーザセンサ15は、例えばヘッドガード12の前端部に取り付けられている。レーザセンサ15は、フォークリフト2の周囲にレーザ光を照射し、そのレーザ光の反射光を受光することにより、フォークリフト2の周囲に存在する物体を検出する。物体は、壁や柱等であり、地図データ(後述)に登録されている。レーザセンサ15としては、例えばレーザレンジファインダが使用される。レーザセンサ15から照射されるレーザ光としては、2Dレーザでもよいし、3Dレーザでもよい。
【0024】
レーザセンサ15は、レーザ光をフォークリフト2の周囲に扇状に照射する。具体的には、レーザセンサ15は、フォークリフト2の前方直進方向を中心とした規定の角度範囲にレーザ光を照射する。レーザセンサ15から照射されたレーザ光は物体に当たり、その物体で反射したレーザ光がレーザセンサ15で受光される。そして、レーザセンサ15は、フォークリフト2に対する物体の距離及び角度を検出する。フォークリフト2に対する物体の距離及び角度は、レーザセンサ15から照射されたレーザ光が物体に当たる位置及び角度から検出可能である。
【0025】
レーザセンサ16は、
図2に示されるように、フォークリフト2の下部に設けられている。レーザセンサ16は、例えば一方のレグ4の先端部(前端部)に取り付けられている。レーザセンサ16は、フォークリフト2の前方に存在するパレット10にレーザ光を照射し、パレット10で反射したレーザ光を受光することにより、フォークリフト2に対するパレット10の距離及び角度を検出する検出部である。フォークリフト2に対するパレット10の距離及び角度は、レーザセンサ16から照射されたレーザ光がパレット10に当たる位置及び角度から検出可能である。
【0026】
レーザセンサ16は、
図4に示されるように、レーザ光をフォークリフト2の周囲に扇状に照射する。具体的には、レーザセンサ16は、フォークリフト2の前方直進方向を中心した規定の角度範囲にレーザ光を照射する。レーザセンサ16としては、例えばレーザセンサ15と同様に、レーザレンジファインダが使用される。レーザセンサ16から照射されるレーザとしては、2Dレーザが用いられる。
【0027】
駆動部17は、特に図示はしないが、例えば駆動輪である後輪8を回転させる走行モータと、操舵輪でもある後輪8を転舵させる操舵モータとを有している。
【0028】
コントローラ18は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。コントローラ18は、自己位置推定部20と、点群取得部21と、直線算出部22と、端点抽出部23と、点群補正部24と、位置認識部25と、経路生成部26と、駆動制御部27とを有している。
【0029】
ここで、レーザセンサ16、点群取得部21、直線算出部22、端点抽出部23、点群補正部24及び位置認識部25は、本実施形態の認識装置28を構成している。認識装置28は、フォークリフト2の進行方向に存在する認識対象物であるパレット10を認識する装置である。
【0030】
自己位置推定部20は、レーザセンサ15の検出データとフォークリフト2の周囲環境の地図データとを用いて、フォークリフト2の自己位置を推定する。自己位置推定部20は、SLAM(simultaneous localization andmapping)手法を用いて、フォークリフト2の自己位置を推定する。SLAMは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。SLAMは、レーザセンサ等を利用して、自己位置推定と環境地図の作成とを同時に行う。
【0031】
具体的には、自己位置推定部20は、レーザセンサ15の検出データとフォークリフト2の周囲環境の地図データとをマッチングさせて、フォークリフト2の自己位置の推定演算を行う。なお、フォークリフト2の自己位置は、位置座標(XY座標)及び向き(角度)で表される。
【0032】
点群取得部21は、レーザセンサ16の検出データに基づいて、パレット10の前面10aに相当する検出点群を取得する。検出点群は、複数の検出点から構成される。検出点は、レーザセンサ16から照射されたレーザ光がパレット10に当たる点(反射点)である。検出点は、位置座標(XY座標)で表される。
【0033】
このとき、パレット10のフォークポケット13では、パレット10の前面10aに比べて、パレット10の奥側の位置(レーザセンサ16から遠い位置)にレーザ光が当たる。このため、
図5(a)に示されるように、パレット10の前面10aで生じる検出点P1の密度がフォークポケット13で生じる検出点P2の密度に比べて高くなるような検出点群Pgが得られる。
【0034】
直線算出部22は、点群取得部21により取得された検出点群に基づいて、パレット10の前面10aを表す直線を算出する。パレット10の前面10aを表す直線は、パレット10の左右方向に延在する線である。このとき、
図5(b)に示されるように、検出点群Pgを構成する各検出点Pの誤差が最小となるような直線Sが算出される。
【0035】
図6は、直線算出部22により実行される直線算出処理の手順を示すフローチャートである。
図6において、直線算出部22は、まずRANSAC(Random Sample Consensus)を用いて、検出点群を構成する複数の検出点からパレット10の前面10aに近い直線を抽出する(手順S101)。
【0036】
RANSACは、点群から直線を抽出する手法である。具体的には、RANSACは、点群において任意の2点を結ぶ直線を設定し、直線の近傍に存在する点の数を求め、近傍に存在する点の数が最多となる直線を抽出する。
【0037】
例えば
図7に示されるような検出点群Pgにおいて、任意の2つの検出点Pを結ぶ直線S1の近傍範囲に存在する検出点Pの数を求める場合、
図7(a)で選択された2つの検出点Psを結ぶ直線S1の近傍に存在する検出点Psの数よりも、
図7(b)で選択された2つの検出点Psを結ぶ直線S1の近傍に存在する検出点Psの数のほうが多く、
図7(c)で選択された2つの検出点Psを結ぶ直線S1の近傍に存在する検出点Psの数のほうが更に多い。このため、
図8(a)に示されるように、
図7(c)で選択された2つの検出点Psを結ぶ直線S1がパレット10の前面10aに最も近い直線S2として抽出される。
【0038】
続いて、直線算出部22は、最小二乗法を用いて、RANSACにより抽出された直線付近に存在する複数の検出点から誤差が最小となるような直線を抽出する(手順S102)。具体的には、直線算出部22は、RANSACにより抽出された直線付近に存在する全ての検出点との距離を加算した値が最小となるような直線を抽出する。
【0039】
例えば
図8(a)に示されるように、RANSACにより抽出された直線S2付近に存在する複数の検出点Pに対して、最小二乗法を採用した場合には、
図8(b)に示されるように、RANSACにより抽出された直線S2(2点鎖線参照)よりも、パレット10の前面10aに近い直線Sが得られる。
【0040】
端点抽出部23は、点群取得部21により取得された検出点群を構成する複数の検出点のうち、パレット10の左右方向(幅方向)に沿った複数の端点を抽出する。ここで、複数の端点は、パレット10の前面10aの端部に位置する検出点と、パレット10の前面10aにおけるフォークポケット13との境界部に位置する検出点とを含んでいる。
【0041】
具体的には、複数の端点Ptとしては、
図9に示されるように、パレット10の前面10aの両端部に位置する端点Pt1と、パレット10の前面10aにおけるフォークポケット13の左右方向外側の縁部との境界点に位置する端点Pt2と、パレット10の前面10aにおけるフォークポケット13の左右方向内側の縁部との境界点に位置する端点Pt3とが含まれる。隣り合う端点Pt同士は、互いに離間している。
【0042】
点群補正部24は、直線算出部22により算出された直線を用いて、点群取得部21により取得された検出点群を補正する。点群補正部24は、点群取得部21により取得された検出点群を構成する複数の検出点のうち、端点抽出部23により抽出された複数の端点を、直線算出部22により算出された直線上に投影することにより、検出点群を補正する。
【0043】
ここで、レーザセンサ16から照射されたレーザ光がパレット10のフォークポケット13に達する場合には、
図10(a)に示されるように、レーザ光がパレット10の前面10aよりも奥側に位置するパレット10の内壁面に当たって反射する。このとき、得られる検出点Pの位置は、パレット10の前面10aよりもレーザセンサ16から遠いパレット10の内壁面となる。しかし、パレット10の位置の認識に必要な検出点Pは、
図10(b)に示されるように、パレット10の前面10aに位置する点である。従って、点群取得部21により取得された検出点群を補正する必要がある。
【0044】
そこで、点群補正部24は、検出点群を構成する複数の検出点のうち複数の端点を、直線算出部22により算出された直線上にレーザセンサ16から照射されるレーザ光の光軸方向に投影することにより、検出点群を補正する。レーザ光の光軸方向は、端点(検出点)から見てレーザセンサ16が位置する角度方向に相当する。つまり、複数の端点は、直線算出部22により算出された直線上にレーザセンサ16と端点とを直線的に結ぶ仮想線に沿って投影される。
【0045】
これにより、
図11に示されるように、端点抽出部23により抽出された複数の端点Ptが直線算出部22により算出された直線S上に存在していなくても、複数の端点Ptが直線S上にレーザ光の光軸方向に投影される。つまり、複数の端点Ptは、パレット10の前面10aを表す直線S上に位置することになる。
【0046】
位置認識部25は、点群補正部24により補正された検出点群に基づいて、パレット10の位置を認識する。具体的には、位置認識部25は、直線算出部22により算出された直線上に投影された複数の端点に基づいて、パレット10の前面10aの中心位置を算出する。パレット10の前面10aの中心位置は、パレット10の左右方向(幅方向)における前面10aの中心位置である。
【0047】
このとき、
図12に示されるように、2つの端点Pt1間の中心点Aと、2つの端点Pt2間の中心点Bと、2つの端点Pt3間の中心点Cとの平均値が計算される。そして、中心点A~Cの平均値がパレット10の前面10aの中心位置Gとして得られる。
【0048】
なお、中心点A~Cのうち2つの平均値をパレット10の前面10aの中心位置Gとしてもよいし、中心点A~Cの何れか1つをパレット10の前面10aの中心位置Gとしてもよい。
【0049】
経路生成部26は、自己位置推定部20により推定されたフォークリフト2の自己位置と位置認識部25により算出されたパレット10の前面10aの中心位置とに基づいて、フォークリフト2からパレット10の手前までの走行経路Rを生成する。走行経路Rは、例えば
図13に示されるように、パレット10の左右方向中央部の手前位置においてフォークリフト2の各フォーク6をそれぞれフォークポケット13に差し込むことが可能となるような経路である。
【0050】
駆動制御部27は、経路生成部26により生成された走行経路Rに従ってフォークリフト2をパレット10に向けて走行させるように駆動部17を制御する。
【0051】
ところで、
図14に示されるように、レーザセンサ16から照射されるレーザ光は、光ぼうHを有している。光ぼうHとは、レーザ光の幅のことである。このため、レーザセンサ16から照射されたレーザ光が、パレット10の前面10aとフォークポケット13を形成するパレット10の内壁面との2箇所に当たることがある。この場合には、レーザセンサ16により得られる検出点としては、レーザ光がパレット10の前面10aに当たる点F1及びレーザ光がパレット10の内壁面に当たる点F2ではなく、当該点F1,F2の間におけるレーザ光の光軸上の任意の点Fに誤検出されてしまう。また、レーザセンサ16自体の検出誤差も、レーザセンサ16により得られる検出点の位置がずれる要因となり得る。
【0052】
そこで、点群補正部24により検出点群を補正する際には、
図15(a)に示されるように、複数の検出点Pの一部である端点Ptを、直線算出部22により算出された直線S上に垂直に投影することが考えられる。しかし、この場合には、直線S上に投影された端点Ptがレーザ光の光軸上にないため、端点Ptの位置がパレット10の左右方向にずれることになる。このため、パレット10の前面10aの中心位置Gを正しく算出することができない。その結果、フォークリフト2のフォーク6がパレット10のフォークポケット13に差し込まれると、フォーク6がパレット10に干渉してしまう。
【0053】
そのような不具合に対し、本実施形態では、
図15(b)に示されるように、複数の検出点Pの一部である端点Ptは、直線算出部22により算出された直線S上にレーザセンサ16から照射されるレーザ光の光軸方向に投影される。従って、端点Ptがレーザ光の光軸上の適切な位置に補正されることになる。これにより、パレット10の前面10aの中心位置Gを正しく算出することができる。
【0054】
以上のように本実施形態によれば、レーザセンサ16によりフォークリフト2に対するパレット10の距離及び角度が検出され、レーザセンサ16の検出データに基づいて、パレット10の前面10aに相当する検出点群が取得される。そして、検出点群に基づいてパレット10の前面10aを表す直線が算出され、その直線を用いて検出点群が補正される。そして、補正された検出点群を用いて、パレット10の位置が認識される。ここで、例えばレーザセンサ16の検出誤差等によって、検出点群を構成する複数の検出点の位置がずれることがある。また、パレット10にはフォークポケット13が設けられているため、フォークリフト2に対するパレット10の距離の検出データにずれが生じやすくなり、その結果として検出点群を構成する複数の検出点の位置がずれやすくなる。そこで、検出点群を構成する複数の検出点を、直線上にレーザセンサ16が位置する角度方向に投影することにより、各検出点が適切な位置に補正される。これにより、パレット10の位置が高精度に認識される。
【0055】
また、本実施形態では、検出点群を構成する複数の検出点のうち、パレット10の左右方向に沿った複数の端点が抽出される。そして、複数の検出点のうち複数の端点のみが直線上に投影される。従って、検出点群の補正処理の簡略化が図られる。
【0056】
また、本実施形態では、補正された検出点群に基づいて、パレット10の前面10aの中心位置が算出される。このとき、複数の端点を直線上にレーザセンサ16が位置する角度方向に投影することにより、各端点が適切な位置に補正される。従って、複数の端点から、パレット10の前面10aの中心位置が正確に算出される。これにより、フォークリフト2のフォーク6がパレット10のフォークポケット13に差し込まれる際に、フォーク6がパレット10に干渉することが防止される。
【0057】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、RANSAC及び最小二乗法を用いて、検出点群からパレット10の前面10aを表す直線が算出されているが、特にそのような形態には限られない。例えば、RANSACのみを用いて、パレット10の前面10aを表す直線を算出してもよいし、或いは最小二乗法のみを用いて、パレット10の前面10aを表す直線を算出してもよい。
【0058】
また、上記実施形態では、検出点群を構成する複数の検出点のうち、パレット10の左右方向に沿った複数の端点が抽出され、複数の端点を直線上にレーザセンサ16によるレーザ光の光軸方向に投影することにより、検出点群が補正されているが、特にそのような形態には限られない。例えば、検出点群を構成する複数の検出点を直線上にレーザセンサ16によるレーザ光の光軸方向に投影することにより、検出点群を補正した後、補正された検出点群を構成する複数の検出点のうち、パレット10の左右方向に沿った複数の端点を抽出してもよい。
【0059】
また、上記実施形態では、レーザ光を照射するレーザセンサ16によって、フォークリフト2に対するパレット10の距離及び角度が検出されているが、特にレーザセンサ16には限られず、例えば赤外線を照射する赤外線センサ等を使用して、フォークリフト2に対するパレット10の距離及び角度を検出してもよい。
【0060】
また、上記実施形態では、パレット10が平パレットであり、そのパレット10の前面10aの中心位置が算出されているが、パレット10としては、特に平パレットには限られず、フォークリフト2のフォーク6が差し込まれるフォーク収容部を有するパレットであればよい。そのようなパレットとしては、例えば少なくとも1対の脚部を有する網パレット等であってもよい。
【0061】
また、上記実施形態では、フォークリフト2によって荷すくいが行われるパレット10の位置が認識されているが、例えば移動体がフォークリフト以外の車両等である場合には、認識対象物としては、パレット以外の物体であってもよい。この場合、本発明は、認識対象物の前面の中心位置の認識には限られず、例えば認識対象物の前面の端部や角部の認識にも適用可能である。
【0062】
また、上記実施形態では、フォークリフト2がパレット10に向かって前進する際に、フォークリフト2の前方に存在するパレット10の位置が認識されているが、本発明は、移動体の後進時に、移動体の後方に存在する認識対象物の位置を認識する場合にも適用可能である。
【符号の説明】
【0063】
2…フォークリフト(移動体)、6…フォーク、10…パレット(認識対象物)、10a…前面、13…フォークポケット(フォーク収容部)、16…レーザセンサ(検出部)、21…点群取得部、22…直線算出部、23…端点抽出部、24…点群補正部、25…位置認識部、28…認識装置、Pg…検出点群、P…検出点、Pt…端点、S…直線、G…中心位置。