(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-03
(45)【発行日】2022-10-12
(54)【発明の名称】位置姿勢推定装置
(51)【国際特許分類】
B66F 9/24 20060101AFI20221004BHJP
G01B 11/00 20060101ALI20221004BHJP
G01B 11/26 20060101ALI20221004BHJP
【FI】
B66F9/24 P
G01B11/00 D
G01B11/26 Z
(21)【出願番号】P 2019146591
(22)【出願日】2019-08-08
【審査請求日】2021-11-11
【国等の委託研究の成果に係る記載事項】(出願人による申告)国立研究開発法人農業・食品産業技術総合研究機構生物系特定産業技術研究支援センター「革新的技術開発・緊急展開事業(うち人工知能未来農業創造プロジェクト)」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】服部 晋悟
【審査官】太田 義典
(56)【参考文献】
【文献】特開平04-217595(JP,A)
【文献】特開平05-186200(JP,A)
【文献】特開2016-204067(JP,A)
【文献】国際公開第2019/125554(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B66F 9/00-11/04
G01B 11/00
G01B 11/26
(57)【特許請求の範囲】
【請求項1】
フォークリフトのフォークにより持ち上げられたパレットの位置及び姿勢を推定する位置姿勢推定装置であって、
前記フォークリフトの左右少なくとも一方側に配置され、前記フォークにより持ち上げられたパレットの側面にレーザを照射し、前記レーザの反射光を受光してレーザ計測点群を取得するレーザセンサと、
前記レーザセンサにより取得されたレーザ計測点群に基づいて、前記フォークに対する前記パレットの位置及び姿勢を推定する推定演算部とを備える位置姿勢推定装置。
【請求項2】
前記推定演算部は、前記レーザセンサにより取得されたレーザ計測点群に基づいて、前記レーザ計測点群の関係性を表す関数を算出して、前記フォークに対する前記パレットの位置及び姿勢を推定する請求項1記載の位置姿勢推定装置。
【請求項3】
前記レーザセンサにより取得されたレーザ計測点群のうちの外れ値を除去する外れ値除去部を更に備え、
前記推定演算部は、前記外れ値が除去されたレーザ計測点群の関係性を表す関数を算出する請求項2記載の位置姿勢推定装置。
【請求項4】
前記レーザセンサにより取得されたレーザ計測点群のうち前記パレットの側面で反射された反射光に相当するレーザ計測点群のみを抽出する側面候補抽出部を更に備え、
前記推定演算部は、前記側面候補抽出部により抽出されたレーザ計測点群の関係性を表す関数を算出する請求項2または3記載の位置姿勢推定装置。
【請求項5】
前記フォークを昇降させるリフトシリンダを制御する駆動制御部を更に備え、
前記駆動制御部は、前記パレットが前記レーザセンサの高さ位置に対応する高さ位置まで昇降するように前記リフトシリンダを制御する請求項1~4の何れか一項記載の位置姿勢推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、位置姿勢推定装置に関する。
【背景技術】
【0002】
従来の位置姿勢推定装置としては、例えば特許文献1に記載されている技術が知られている。特許文献1に記載の位置姿勢推定装置は、レーザ光を照射すると共に照射したレーザ光の反射光から周辺物体までの距離を計測する測域センサにより距離データを取得し、距離データを3次元空間上の観測点群に座標変換し、その観測点群に基づいてフォークリフトの前方に配置されたパレットの位置及び姿勢を特定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術に記載の位置姿勢推定装置は、フォークリフトのフォークによりパレットを持ち上げる前に、フォークリフトの前方に配置されたパレットの位置及び姿勢を推定する技術であり、フォークによりパレットを持ち上げた状態で、パレットの位置及び姿勢を推定することは想定していない。また、上記従来技術に記載の位置姿勢推定装置では、測域センサがフォークに取り付けられているため、フォークによりパレットを持ち上げた状態では、測域センサの計測値に基づいてフォークに対するパレットの位置及び姿勢を推定することは困難である。
【0005】
本発明の目的は、フォークによりパレットを持ち上げた状態で、フォークに対するパレットの位置及び姿勢を推定することができる位置姿勢推定装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、フォークリフトのフォークにより持ち上げられたパレットの位置及び姿勢を推定する位置姿勢推定装置であって、フォークリフトの左右少なくとも一方側に配置され、フォークにより持ち上げられたパレットの側面にレーザを照射し、レーザの反射光を受光してレーザ計測点群を取得するレーザセンサと、レーザセンサにより取得されたレーザ計測点群に基づいて、フォークに対するパレットの位置及び姿勢を推定する推定演算部とを備える。
【0007】
このような位置姿勢推定装置においては、フォークリフトのフォークによりパレットが持ち上げられた状態で、フォークリフトの左右少なくとも一方側に取り付けられたレーザセンサからパレットの側面にレーザが照射され、レーザの反射光がレーザセンサに受光されることで、レーザ計測点群が取得される。そして、レーザ計測点群に基づいて、フォークに対するパレットの位置及び姿勢が推定される。このとき、パレットの側面にレーザが照射されるため、パレット上の荷物の有無に関わらず、レーザセンサによってパレットの側面が検知される。これにより、フォークによりパレットを持ち上げた状態で、フォークに対するパレットの位置及び姿勢を推定することができる。
【0008】
推定演算部は、レーザセンサにより取得されたレーザ計測点群に基づいて、レーザ計測点群の関係性を表す関数を算出して、フォークに対するパレットの位置及び姿勢を推定してもよい。このようにレーザ計測点群の関係性を表す関数を算出することにより、フォークに対するパレットの位置及び姿勢を容易に推定することができる。
【0009】
位置姿勢推定装置は、レーザセンサにより取得されたレーザ計測点群のうちの外れ値を除去する外れ値除去部を更に備え、推定演算部は、外れ値が除去されたレーザ計測点群の関係性を表す関数を算出してもよい。このようにレーザ計測点群の外れ値を除去することにより、パレットの側面が精度良く検知される。従って、フォークに対するパレットの位置及び姿勢を正確に推定することができる。
【0010】
位置姿勢推定装置は、レーザセンサにより取得されたレーザ計測点群のうちパレットの側面で反射された反射光に相当するレーザ計測点群のみを抽出する側面候補抽出部を更に備え、推定演算部は、側面候補抽出部により抽出されたレーザ計測点群の関係性を表す関数を算出してもよい。このようにパレットの側面で反射された反射光に相当するレーザ計測点群のみを抽出することにより、パレットの側面が精度良く検知される。従って、フォークに対するパレットの位置及び姿勢を正確に推定することができる。
【0011】
位置姿勢推定装置は、フォークを昇降させるリフトシリンダを制御する駆動制御部を更に備え、駆動制御部は、パレットがレーザセンサの高さ位置に対応する高さ位置まで昇降するようにリフトシリンダを制御してもよい。このような構成では、フォークにより持ち上げられたパレットの高さ位置に対応する高さ位置にレーザセンサを配置しなくて済むため、レーザセンサの取付箇所の自由度が高くなる。
【発明の効果】
【0012】
本発明によれば、フォークによりパレットを持ち上げた状態で、フォークに対するパレットの位置及び姿勢を推定することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係る位置姿勢推定装置が適用されるフォークリフトを示す概略平面図である。
【
図2】本発明の一実施形態に係る位置姿勢推定装置の構成を示すブロック図である。
【
図3】
図2に示された制御ユニットにより実行される推定処理手順の詳細を示すフローチャートである。
【
図4】パレットの側面で反射された反射光に相当するレーザ計測点群の一例を示すイメージ図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0015】
図1は、本発明の一実施形態に係る位置姿勢推定装置が適用されるフォークリフトを示す概略平面図である。
図1において、フォークリフト1は、パレット2を持ち上げる1対のフォーク3を備えている。フォーク3は、マスト4にリフトブラケット5を介して昇降可能に取り付けられている。
【0016】
パレット2上には、荷物が載置される。パレット2の種類としては、平パレット、ボックスパレットまたはシートパレット等が挙げられる。また、パレット2としては、ボックス型の網パレットでもよい。
【0017】
図2は、本発明の一実施形態に係る位置姿勢推定装置の構成を示すブロック図である。
図2において、本実施形態の位置姿勢推定装置6は、フォークリフト1の自動運転が実施される際に、フォーク3により持ち上げられたパレット2の位置及び姿勢を推定する装置である。フォークリフト1の自動運転は、例えば上位システムの管理装置によって管理される。
【0018】
位置姿勢推定装置6は、受信器7と、2つのレーザセンサ9と、制御ユニット10とを備えている。位置姿勢推定装置6は、フォークリフト1に搭載されている。
【0019】
受信器7は、上位システムからの情報を受信する。上位システムからの情報としては、例えば指示情報がある。指示情報は、上位システムからフォークリフト1に送信される情報の1つであり、パレット2がフォーク3に積み込まれたことが確認された後に、上位システムよりパレット2の位置及び姿勢の推定開始を指示するための情報である。なお、フォーク3にパレット2が積み込まれたことが検知されたら、制御ユニット10内で指示情報が出されてもよい。
【0020】
レーザセンサ9は、
図1に示されるように、フォークリフト1の左右両側に配置されている。レーザセンサ9としては、例えば障害物検知用のレーザセンサが使用される。レーザセンサ9は、例えばマスト4またはリフトブラケット5に固定されたバックレスト(図示せず)に取り付けられている。
【0021】
レーザセンサ9は、フォーク3により持ち上げられたパレット2の側面2aにレーザLを照射し、レーザLの反射光を受光してレーザ計測点群を取得することにより、パレット2の側面2aまでの距離を計測する。レーザセンサ9は、2次元方向(XY方向)にレーザLを照射する。レーザセンサ9の計測範囲は、例えば270度である。レーザ計測点群は、複数のレーザ計測点からなっている(
図4参照)。
【0022】
パレット2の側面2aは、パレット2におけるフォークリフト1の左右方向(Y方向)に垂直な面である。左右2つのレーザセンサ9間の距離は、パレット2の幅寸法(Y方向寸法)よりも長い。なお、パレット2が網パレットである場合には、パレット2の側面2aは、網目を除いた僅かな領域からなっている。
【0023】
制御ユニット10は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。制御ユニット10は、上位システムからの指示情報が受信器7で受信されると、レーザセンサ9の計測信号に基づいて、フォーク3に対するパレット2の位置及び姿勢を推定する。
【0024】
制御ユニット10は、駆動制御部11と、側面候補抽出部12と、外れ値除去部13と、推定演算部14と、推定結果記憶部15とを有している。
【0025】
駆動制御部11は、フォーク3により持ち上げられたパレット2がレーザセンサ9の高さ位置に対応する高さ位置まで昇降するようにリフトシリンダ16を制御する。リフトシリンダ16は、フォーク3を昇降させる油圧シリンダである。
【0026】
側面候補抽出部12は、レーザセンサ9により取得されたレーザ計測点群のうちパレット2の側面2aで反射された反射光に相当するレーザ計測点群のみをパレット2の側面2aの候補として抽出する。このようなパレット2の側面2aで反射された反射光に相当するレーザ計測点群のみを抽出する処理については、後で詳述する。
【0027】
外れ値除去部13は、レーザセンサ9により取得されたレーザ計測点群のうちの外れ値を除去する。このとき、外れ値除去部13は、側面候補抽出部12により抽出されたレーザ計測点群のうちの外れ値を除去する。このような外れ値を除去する処理については、後で詳述する。
【0028】
推定演算部14は、レーザセンサ9により取得されたレーザ計測点群に基づいて、レーザ計測点群の関係性を表す関数を算出して、フォーク3に対するパレット2の位置及び姿勢を推定する。このとき、推定演算部14は、側面候補抽出部12により抽出されると共に外れ値除去部13により外れ値が除去されることで得られたレーザ計測点群の関係性を表す関数を算出して、フォーク3に対するパレット2の位置及び姿勢を推定する。なお、パレット2の位置及び姿勢を推定する処理については、後で詳述する。
【0029】
推定結果記憶部15は、推定演算部14により得られたパレット2の位置及び姿勢の推定結果を記憶する。
【0030】
図3は、制御ユニット10により実行される推定処理手順の詳細を示すフローチャートである。
図3において、制御ユニット10は、まず上位システム(前述)からの指示情報を受信器7を介して受信したかどうかを判断する(手順S101)。つまり、制御ユニット10は、指示情報によってパレット2の位置及び姿勢の推定開始が指示されたかどうかを判断する。
【0031】
制御ユニット10は、指示情報を受信したと判断したときは、フォーク3により持ち上げられたパレット2がレーザセンサ9の高さ位置に対応する高さ位置まで昇降するようにリフトシリンダ16を制御する(手順S102)。なお、レーザセンサ9の高さ位置に対応する高さ位置は、設計誤差等によるレーザセンサ9の高さ位置との僅かな差異を含んでいる。これにより、パレット2の高さがレーザセンサ9の高さとほぼ等しくなる。
【0032】
続いて、制御ユニット10は、レーザセンサ9により取得されたレーザ計測点群を抽出する(手順S103)。そして、制御ユニット10は、
図4に示されるように、手順S102で抽出されたレーザ計測点群のうちパレット2の側面2aで反射された反射光に相当するレーザ計測点群Pのみを抽出する(手順S104)。
【0033】
このとき、パレット2の側面2aで反射された反射光に相当するレーザ計測点と、パレット2の側面2a以外の部分で反射された反射光に相当するレーザ計測点とでは、レーザセンサ9から反射位置までの距離が異なる。従って、制御ユニット10は、パレット2の側面2aで反射された反射光に相当するレーザ計測点群Pのみを容易に抽出することができる。
【0034】
特にパレット2が網パレットである場合には、レーザセンサ9から照射されたレーザの一部が網パレットの網目を通り抜けるため、レーザセンサ9により取得されたレーザ計測点がばらつきやすくなる。網パレットの網目の大きさ又はレーザセンサ9の照射方向によっては、レーザが網パレットの網目を通り抜けて網パレットの側面以外の部分で反射されることで得られるレーザ計測点に比べて、レーザが網パレットの側面で反射されることで得られるレーザ計測点が極端に少なくなる。
【0035】
本処理手順を実行することにより、レーザが網パレットの網目を通り抜けて網パレットの側面以外の部分で反射されることで得られるレーザ計測点が除去され、レーザが網パレットの側面で反射されることで得られるレーザ計測点が残るようになる。
【0036】
続いて、制御ユニット10は、
図4に示されるように、手順S104で抽出されたレーザ計測点群Pのうちの外れ値rを除去する(手順S105)。外れ値rとは、他のレーザ計測点から大きく外れた値のことである。外れ値rは、雨や埃等が原因で出やすくなる。また、パレット2が網パレットである場合にも、外れ値rが出やすくなる。
【0037】
外れ値rかどうかの検定は、例えば平均値及び標準偏差を用いて行われる。具体的には、レーザ計測点が正規分布に従うと仮定した場合に、平均値から2σ~3σ(σ:標準偏差)程度以上離れた値が外れ値rとしてみなされる。
【0038】
続いて、制御ユニット10は、手順S105で外れ値rが除去されたレーザ計測点群Pに基づいて、フォーク3に対するパレット2の位置及び姿勢を推定する(手順S106)。制御ユニット10は、
図4に示されるように、最小二乗法等を用いて、外れ値rが除去されたレーザ計測点群Pの関係性を表す関数Qを算出して、フォーク3に対するパレット2の位置及び姿勢を推定する。レーザ計測点群Pの関係性を表す関数Qは、例えば一次関数(回帰直線)である。
【0039】
最小二乗法は、誤差を伴う計測値(ここではレーザ計測点)の処理において、誤差の二乗の和を最小にすることで、最も確からしい回帰直線を求める既知の手法である。回帰直線は、平均値、共分散及び標準偏差等を用いて表される。
【0040】
続いて、制御ユニット10は、手順S106で推定されたパレット2の位置及び姿勢を記憶する(手順S107)。
【0041】
ここで、駆動制御部11は、手順S101,S102を実行する。側面候補抽出部12は、手順S103,S104を実行する。外れ値除去部13は、手順S105を実行する。推定演算部14は、手順S106を実行する。推定結果記憶部15は、手順S107を実行する。
【0042】
このような処理により、フォーク3に対するパレット2の積載状態を認識することができる。そして、フォーク3に対するパレット2の位置及び姿勢のずれがある場合には、推定結果記憶部15の情報に基づいて、パレット2上の荷物を置く際にパレット2の位置及び姿勢の調整を行う。
【0043】
なお、フォークリフト1がフォーク3を左右両側にシフトさせるサイドシフトシリンダを備えている場合には、サイドシフトシリンダを駆動制御することにより、フォーク3に対するパレット2の位置及び姿勢のずれを修正してもよい。
【0044】
ところで、レーザセンサ9からパレット2の上面にレーザを照射する場合には、パレット2上に荷物が載置されていると、レーザセンサ9によってパレット2が検知されないことがある。この場合には、フォーク3に対するパレット2の位置及び姿勢を推定することができない。
【0045】
そのような不具合に対し、本実施形態においては、フォークリフト1のフォーク3によりパレット2が持ち上げられた状態で、フォークリフト1の左右両側に取り付けられたレーザセンサ9からパレット2の側面2aにレーザが照射され、レーザの反射光がレーザセンサ9に受光されることで、レーザ計測点群が取得される。そして、レーザ計測点群に基づいて、フォーク3に対するパレット2の位置及び姿勢が推定される。このとき、パレット2の側面2aにレーザが照射されるため、パレット2上の荷物の有無に関わらず、レーザセンサ9によってパレット2の側面2aが検知される。これにより、フォーク3によりパレット2を持ち上げた状態で、フォーク3に対するパレット2の位置及び姿勢を推定することができる。
【0046】
また、本実施形態では、最小二乗法等を用いて、レーザ計測点群の関係性を表す関数を算出することにより、フォーク3に対するパレット2の位置及び姿勢を容易に推定することができる。
【0047】
また、本実施形態では、レーザ計測点群の外れ値を除去することにより、パレット2の側面2aが精度良く検知される。従って、フォーク3に対するパレット2の位置及び姿勢を正確に推定することができる。
【0048】
また、本実施形態では、パレット2の側面2aで反射された反射光に相当するレーザ計測点群のみを抽出することにより、パレット2の側面2aがより精度良く検知される。従って、フォーク3に対するパレット2の位置及び姿勢を更に正確に推定することができる。
【0049】
また、本実施形態では、パレット2がレーザセンサ9の高さ位置に対応する高さ位置まで昇降するようにリフトシリンダ16が制御される。従って、フォーク3により持ち上げられたパレット2の高さ位置に対応する高さ位置にレーザセンサ9を配置しなくて済むため、レーザセンサ9の取付箇所の自由度が高くなり、レーザセンサ9を取り付けやすい箇所に取り付けることが可能となる。
【0050】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、最小二乗法等を用いて、レーザ計測点群の関係性を表す関数を算出して、フォーク3に対するパレット2の位置及び姿勢を推定しているが、特にその形態には限られず、例えばRANSAC(Random SampleConsensus)等のロバスト推定法を用いて、レーザ計測点群の関係性を表す関数を算出して、フォーク3に対するパレット2の位置及び姿勢を推定してもよい。ロバスト推定は、計測値(ここではレーザ計測点)に含まれる外れ値の影響を抑えることを目的とした手法である。この場合には、レーザ計測点群の外れ値を除去する外れ値除去部13については、特に無くてもよい。
【0051】
また、上記実施形態では、側面候補抽出部12によって、レーザセンサ9により取得されたレーザ計測点群のうちパレット2の側面2aで反射された反射光に相当するレーザ計測点群のみが抽出されているが、パレット2として網パレットを使用しない場合には、そのような側面候補抽出部12については、特に無くてもよい。
【0052】
また、上記実施形態では、レーザセンサ9がフォークリフト1の左右両側に配置されているが、特にその形態には限られず、レーザセンサ9がフォークリフト1の左右一方側のみに配置されていてもよい。つまり、レーザセンサ9は、フォークリフト1の左右少なくとも一方側に配置されていればよい。
【0053】
また、上記実施形態では、パレット2がレーザセンサ9の高さ位置に対応する高さ位置まで昇降するようにリフトシリンダ16が制御されているが、レーザセンサ9がパレット2の高さ位置に対応する高さ位置に配置されている場合には、そのようなリフトシリンダ16の駆動制御は不要である。
【符号の説明】
【0054】
1…フォークリフト、2…パレット、3…フォーク、6…位置姿勢推定装置、9…レーザセンサ、11…駆動制御部、12…側面候補抽出部、13…外れ値除去部、14…推定演算部、L…レーザ、P…レーザ計測点群、r…外れ値、Q…関数。