IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ニチユ三菱フォークリフト株式会社の特許一覧

特許7615104位置推定システム、フォークリフト、位置推定方法及びプログラム
<図1>
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図1
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図2
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図3A
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図3B
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図3C
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図3D
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図4
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図5
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図6A
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図6B
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図7
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図8
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図9
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図10
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図11
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図12
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図13
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図14
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図15
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図16
  • 特許-位置推定システム、フォークリフト、位置推定方法及びプログラム 図17
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-07
(45)【発行日】2025-01-16
(54)【発明の名称】位置推定システム、フォークリフト、位置推定方法及びプログラム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20250108BHJP
   B66F 9/24 20060101ALI20250108BHJP
   G06T 7/62 20170101ALI20250108BHJP
【FI】
G06T7/70 A
B66F9/24 Z
G06T7/62
【請求項の数】 10
(21)【出願番号】P 2022168577
(22)【出願日】2022-10-20
(65)【公開番号】P2024060968
(43)【公開日】2024-05-07
【審査請求日】2023-10-26
(73)【特許権者】
【識別番号】000232807
【氏名又は名称】三菱ロジスネクスト株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】北島 克将
(72)【発明者】
【氏名】木内 裕介
(72)【発明者】
【氏名】山田 昌弘
(72)【発明者】
【氏名】藤田 匠
(72)【発明者】
【氏名】明石 拓也
【審査官】長谷川 素直
(56)【参考文献】
【文献】特開2018-197491(JP,A)
【文献】特開2021-096789(JP,A)
【文献】特開2015-232794(JP,A)
【文献】特開2018-009918(JP,A)
【文献】特開2022-022715(JP,A)
【文献】国際公開第2020/032157(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
B66F 9/24
(57)【特許請求の範囲】
【請求項1】
カメラを備えるフォークリフトの位置を推定する位置推定システムであって、
前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する位置推定部と、
前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記画像において前記マストが写る範囲を示す映り込み範囲を算出し、算出した前記映り込み範囲が許容範囲を超える場合には、前記位置推定部による前記位置の推定を停止すると判定する映り込み判定部と、
を備える位置推定システム。
【請求項2】
前記映り込み範囲が前記許容範囲内の場合、前記映り込み範囲を前記画像から除外する処理を行う画像処理部、
をさらに有し、
前記位置推定部は、前記除外する処理が行われた後の前記画像に基づいて、前記位置を推定する、
請求項1に記載の位置推定システム。
【請求項3】
前記フォークリフトに積載する荷物の高さ情報を取得する荷物情報取得部、
をさらに備え、
前記映り込み判定部は、前記マストの高さ方向の位置と、前記荷物の高さ情報と、に基づいて、前記映り込み範囲を算出する、
請求項1又は請求項2に記載の位置推定システム。
【請求項4】
前記荷物の密度と、前記荷物を前記フォークリフトに積載するときの積載面の面積と、前記荷物の重量と、に基づいて前記荷物の高さ情報を推定する高さ推定部、
をさらに備える請求項3に記載の位置推定システム。
【請求項5】
前記映り込み判定部は、前記マストの高さ方向の位置と、前記マストの傾きと、に基づいて、前記映り込み範囲を算出する、
請求項1又は請求項2に記載の位置推定システム。
【請求項6】
前記映り込み判定部は、前記カメラと前記マストの高さ位置の幾何的な関係に基づいて、前記映り込み範囲を算出する、
請求項1又は請求項2に記載の位置推定システム。
【請求項7】
前記フォークリフトの停止時であって前記マストが最低位置にあるときに撮影された前記画像と、前記フォークリフトの停止時であって前記マストが様々な位置にあるときに撮影された前記画像の差分から、それぞれの前記マストの高さ位置に応じた前記映り込み範囲を算出し、前記マストの高さと前記映り込み範囲の関係を定めた推定関数を算出する関数推定部、をさらに備え、
前記映り込み判定部は、前記マストの高さ位置と前記推定関数に基づいて前記映り込み範囲を算出する、
請求項1又は請求項2に記載の位置推定システム。
【請求項8】
カメラと、
請求項1又は請求項2に記載の位置推定システムと、
を備えるフォークリフト。
【請求項9】
コンピュータによって実行される、カメラを備えるフォークリフトの位置を推定する位置推定方法であって、
前記コンピュータが、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲を算出するステップと、
前記コンピュータが、算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、
前記許容範囲を超える場合には、前記コンピュータが、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、
を有する位置推定方法。
【請求項10】
コンピュータに、
カメラを備えるフォークリフトの位置を推定する位置推定方法であって、
前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲と、を算出するステップと、
算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、
前記許容範囲を超える場合には、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、
を有する位置推定方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、位置推定システム、フォークリフト、位置推定方法及びプログラムに関する。
【背景技術】
【0002】
移動体に搭載したカメラで移動体周辺の画像を撮影し、撮影した画像に写るマーカ等を検出して移動体の位置を測位する方法が多く提案されている。例えば、特許文献1には、撮影方向を天井に向けたカメラをフォークリフトに設置し、天井の画像特徴を利用してフォークリフトの位置推定を行うシステムが開示されている。このシステムでは、カメラの視野範囲には、静的構造物である天井が主に映るため、運用環境中の動的物体の影響を極力低減したロバストな測位が可能となっている。しかし、フォークリフトのような移動体は、常時、外部から給電されているわけではないため、できるだけ電力消費を抑える必要がある。また、フォークリフトの製造コストを抑えるためには、高い計算負荷に耐えられる高価な計算機を搭載することは難しい。しかし、画像は1枚あたりのデータ容量が大きく、測位のための特徴点抽出等の画像処理は、計算負荷が大きく電力消費が大きい。
【0003】
また、フォークリフトでは、フォークの上昇に応じてマストも上昇するが、その際に天井を撮影した画像には、マストが写り込むことがある。画像にマストが写った範囲は測位に必要な情報を含んでいない為、この範囲の画像処理に費やす電力消費は無駄になる。また、画像を用いた測位は、一般的に、過去に撮影した画像情報をもとに作成した地図データ(環境情報)と、取得した最新の画像を比較することで位置を推定するが、マストのように環境に無関係の物体が画像中に多く映り込むほど、地図データとの比較が難しくなり、測位の精度が悪化する可能性が高まる。
【0004】
特許文献2には、移動体に搭載したカメラで周囲環境を撮影した画像から移動体の自己位置を推定する自己位置推定装置が開示されているが、この自己位置推定装置では、推定精度の向上のために、カメラの画角内に移動体の一部が写り込むと、その領域を画像から削除し、残りの領域を使って自己位置を推定する。特許文献2に記載された技術では、異なる時刻に撮影された複数の画像を比較して、画像間で差分に基づいて移動体の一部が写り込んだ領域を特定している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2022-34861号公報
【文献】特開2018-9918号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像を用いたフォークリフトの測位に関し、マスト等の映り込みの影響を低減して測位する技術が必要とされている。
【0007】
本開示は、上記課題を解決することができる位置推定システム、フォークリフト、位置推定方法及びプログラムを提供する。
【課題を解決するための手段】
【0008】
本開示の位置推定システムは、カメラを備えるフォークリフトの位置を推定する位置推定システムであって、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する位置推定部と、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記画像において前記マストが写る範囲を示す映り込み範囲を算出し、算出した前記映り込み範囲が許容範囲を超える場合には、前記位置推定部による前記位置の推定を停止すると判定する映り込み判定部と、を備える。
【0009】
本開示のフォークリフトは、カメラと、上記の位置推定システムと、を備える。
【0010】
本開示の位置推定方法は、コンピュータによって実行される、カメラを備えるフォークリフトの位置を推定する位置推定方法であって、前記コンピュータが、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲を算出するステップと、前記コンピュータが、算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、前記許容範囲を超える場合には、前記コンピュータが、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、を有する。
【0011】
また、本開示のプログラムは、コンピュータに、カメラを備えるフォークリフトの位置を推定する処理であって、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲と、を算出するステップと、算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、前記許容範囲を超える場合には、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、を有する処理を実行させる。
【発明の効果】
【0012】
上述の位置推定システム、フォークリフト、位置推定方法及びプログラムによれば、画像を用いたフォークリフトの測位に関し、マスト等の映り込みの影響を低減して測位することができる。
【図面の簡単な説明】
【0013】
図1】各実施形態に係るフォークリフトの一例を示す概略図である。
図2】第1実施形態に係る位置推定システムの一例を示す図である。
図3A】第1実施形態のマスト映り込み範囲算出処理を説明する第1の図である。
図3B】第1実施形態のマスト映り込み範囲算出処理を説明する第2の図である。
図3C】第1実施形態のマスト映り込み範囲算出処理を説明する第3の図である。
図3D】第1実施形態のマスト映り込み範囲算出処理を説明する第4の図である。
図4】第1実施形態に係る測位処理の一例を示すフローチャートである。
図5】第2実施形態に係る位置推定システムの一例を示す図である。
図6A】第2実施形態のマスク処理について説明する図である。
図6B】第2実施形態のマスク処理について説明する図である。
図7】第2実施形態に係る測位処理の一例を示すフローチャートである。
図8】第3実施形態に係る位置推定システムの一例を示す図である。
図9】第3実施形態のマスト映り込み範囲算出処理を説明する第1の図である。
図10】第3実施形態のマスト映り込み範囲算出処理を説明する第2の図である。
図11】第4実施形態に係る位置推定システムの一例を示す図である。
図12】第5実施形態に係る位置推定システムの一例を示す図である。
図13】第5実施形態のマスト映り込み範囲算出処理を説明する図である。
図14】第6実施形態に係る位置推定システムの一例を示す図である。
図15】第6実施形態のマスト映り込み範囲推定処理を説明する第1の図である。
図16】第6実施形態のマスト映り込み範囲推定処理を説明する第2の図である。
図17】各実施形態に係る位置推定システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
<第1実施形態>
以下、本開示の測位に用いる画像に対する画像処理について図面を参照して説明する。
(フォークリフトの体構成)
図1は、各実施形態に係るフォークリフトの一例を示す概略図である。
フォークリフト1は、車体2と、荷役装置3と、演算装置20と、を備えている。車体2は、タイヤおよび不図示の駆動装置とステアリング装置を備え、フォークリフト1を走行させる。荷役装置3は、フォーク4と、フォーク4を昇降させるマスト5を備えている。車体2には、IMU10と、エンコーダ11と、カメラ12と、が設けられている。IMU10は、加速度センサ、ジャイロセンサを備えており、フォークリフト1の移動速度、加速度および移動方向や旋回方向を検知することができる。エンコーダ11は、フォークリフト1のタイヤ(例えば、後輪)の回転数を検知するロータリエンコーダである。エンコーダ11の計測値によりフォークリフト1の移動を検知することができる。カメラ12は、車体2の上方に向けられており、フォークリフト1の稼働中は常時、作業領域の天井の画像を撮影する。荷役装置3には、揚高センサ13と、荷重センサ14とが設けられている。揚高センサ13は、フォーク4の揚高位置を検出する。荷重センサ14は、フォーク4に積載された荷物の重量を検出する。揚高センサ13と荷重センサ14により、荷役装置3の荷役動作やフォーク4に積載される荷物の変化などを検知することができる。
【0015】
IMU10、エンコーダ11、カメラ12、揚高センサ13、荷重センサ14の各センサは演算装置20と接続されており、各センサが計測した計測値は、演算装置20へ送出される。演算装置20は、プロセッサを備えるコンピュータにより構成されている。演算装置20は、上記の各センサによる計測値を用いてフォークリフト1の位置(自己位置)を推定する。
【0016】
(位置推定システムの構成)
図2は、第1実施形態に係る位置推定システムの一例を示す図である。
図2に示すように位置推定システム100は、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205は、演算装置20に実装される機能である。
【0017】
第1自己位置推定処理部201は、カメラ12が撮影した画像からマーカ等の地図(天井地図)上の位置を特定可能な画像特徴量(マーカ等を示す画像特徴量)を有する特徴点を抽出し、その特徴点と、作業領域のマーカ等を予め記録した地図データとを照合して、自己位置(フォークリフト1の位置)を推定する。
【0018】
第2自己位置推定処理部202は、第1自己位置推定処理部201が抽出した特徴点から地図を生成しながら、V-SLAM(Visual Simultaneous Localization and Mapping)の技術を用いて、画像の特徴(前時刻の画像と比較することにより相対的な移動量は算出できるが、それ単独では地図上の絶対位置は特定できない画像特徴)に基づく自己位置推定を行う。
【0019】
デッドレコニング処理部203は、IMU10、エンコーダ11の計測値を利用して推測航法による自己位置推定を行う。
統合処理部204は、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203が推定した自己位置を、カルマンフィルタ等を用いて統合し、最終的な自己位置の測位結果を出力する。
【0020】
マスト映り込み判定処理部205は、カメラ12が撮影した画像(撮影画像)を取得し、マスト5の上昇量とカメラ12の設置位置や画角等から、幾何的にマスト5の映り込み範囲を算出し、その算出結果に応じて、画像におけるマスト5の映り込み範囲が許容範囲を超える場合に、画像を用いた自己位置推定処理を停止する。マスト5の映り込み範囲が許容範囲であれば、マスト映り込み判定処理部205は、撮影画像を第1自己位置推定処理部201、第2自己位置推定処理部202へ出力し、画像を用いた自己位置推定処理の実行を指示する。
【0021】
次に図3A図3Dを参照して、マスト映り込み判定処理部205によるマスト5の映り込み範囲の算出処理について説明する。図3A図3Dは、それぞれ第1実施形態のマスト映り込み範囲算出処理を説明する第1~第4の図である。
図3Aのカメラ12から伸びる破線は、カメラ12の撮影範囲を示しており、図3Aの右図に示すように、フォーク4の上昇がない場合にはカメラ12よりもマスト5の上端は下にあるものとすると、フォーク4(マスト5)の上昇により、マスト5が撮影範囲に写り込む。フォーク4の上昇がない場合のカメラ12の高さ方向の中心とマスト5上部の鉛直方向の距離をlz0とする。フォーク4の上昇量をhとする。また、図3Bに示すようにθをカメラ12の画角、αをマスト5がカメラ12の撮影範囲に映り込む角度、lをカメラ12とマスト5の車体前後方向の距離、lzthをマスト5がカメラ12の撮影範囲に映り込み始めるカメラとマスト上部の鉛直方向の距離とする。すると、幾何的に以下の式(1)、式(2)が成り立つ。
zth=l・tan((π/2)-(θ/2))・・・(1)
α=(θ/2)-tan-1(l-(h/lz0))・・・(2)
マスト5が撮影範囲に写り込み始める条件は、以下の式(3)で表すことができる。
h-lz0>lzth・・・(3)
また、画像端からのマスト5の映り込み範囲は、以下の式(4)で表すことができる。
(α/θ)×100(%)・・・(4)
【0022】
また、カメラ12の高さ方向の中心と撮影範囲に写り込んだマスト5上端までの高さ方向の距離をdとおくと、図3Cに示すように距離dにおける撮影範囲の幅と、撮影範囲の中心からマスト5までの距離はそれぞれ以下の式(5)、(6)で表すことができる。
2・d・tan(θ/2)・・・(5)
d・tan(θ/2-α)・・・(6)
従って、画像端からのマスト5の映り込み範囲は、以下の式(7)で表すことができる。
((tan(θ/2)-tan(θ/2-α))/2・tan(θ/2))×100(%)・・・(7)
【0023】
図3Dに示すようにマスト5の上昇量に応じて撮影画像にマスト5が写り込む範囲が変化するが、この範囲は、上記の式(4)又は式(7)で算出することができる。
【0024】
(動作)
次に図4を参照して、位置推定システム100による測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。図4は、第1実施形態に係る測位処理の一例を示すフローチャートである。位置推定システム100は、所定の制御周期で以下の処理を繰り返す。まず、マスト映り込み判定処理部205が、揚高センサ13が計測した計測値を取得する(ステップS1)。次にマスト映り込み判定処理部205は、以下の式(3´)が成立するかどうかを判定する(ステップS2)。
h-lz0+m>lzth・・・(3´)
ここで、mは映り込む高さに関する余裕度である。カメラ12とマスト5の位置関係の測量値の誤差や、マスト5の傾き等を考慮し、ある程度のマージンmを設ける。また、式(3´)のうち、lz0およびlzthの値は、カメラ12の取付時に計測されて既知であり、マスト映り込み判定処理部205にそれらの値が記録されている。hは、揚高センサ13の計測値から算出可能(フォーク4の上昇前と上昇後の差分)である。式(3´)が成立すれば、マスト5がカメラ12による撮影画像に写り込む可能性が高いことを示し、式(3´)が成立しなければ、マスト5が撮影画像に写り込む可能性が低いことを示す。つまり、式(3´)によって、マスト5が画像に映り込むかどうか、つまり映り込み範囲が0より大きいかどうか、より正確には、マスト5の撮影画像への映り込み範囲がマスト5の高さのマージンmに相当する範囲未満か、又はマージンmに相当する範囲以上かを判定することができる。式(3´)が成立する場合(ステップS2;True)、マスト映り込み判定処理部205は、画像を用いた自己位置推定処理の実行を第1自己位置推定処理部201および第2自己位置推定処理部202へ指示しない。画像を用いた自己位置推定処理とは、第1自己位置推定処理部201および第2自己位置推定処理部202による自己位置推定処理である。撮影画像にマスト5が写り込むと自己位置の推定精度が低下する。従って、式(3´)が成立する場合には、計算負荷が高い画像を用いた自己位置推定処理を停止することで推定精度の低下と電力消費を防止する。統合処理部204は、デッドレコニング処理部203の測位結果から最終的な自己位置の測位結果を算出する。一方、式(3´)が成立しない場合(ステップS2;False)、マスト映り込み判定処理部205は、画像を用いた自己位置推定処理の実行を第1自己位置推定処理部201および第2自己位置推定処理部202へ指示する。第1自己位置推定処理部201、第2自己位置推定処理部202は自己位置推定処理を実行し(ステップS3)、推定結果を統合処理部204へ出力する。並行して行われているデッドレコニング処理部203による測位結果も統合処理部204へ出力される。統合処理部204は、第1自己位置推定処理部201、第2自己位置推定処理部202およびデッドレコニング処理部203それぞれの測位結果から最終的な自己位置の測位結果を算出する。
【0025】
(効果)
有人フォークリフトの運用においては、しばしば、フォーク4を上げた状態で走行を行うことがある。従って、走行中にもかかわらず、天井向けカメラ12の画像には、常に変化しない物体としてマスト5が映り込む。マスト5が写った範囲の画像に対する自己位置推定処理は行う必要がなく、処理を行うと不必要に電力を消費することになる。また、測位精度に関しても、例えば、実際にはフォークリフト1は移動しているにもかかわらず、推定結果では動いていない、あるいは、動きの量が少ないといった問題が生じることがある。そこで、揚高センサ13の計測値を参照することで、カメラ12の撮影画像にマスト5が映り込むかどうかを判定し、マスト5が映り込む場合、画像による自己位置推定処理で妥当な測位結果が算出できない可能性が高いと判断し、画像を用いた測位処理を停止する。これにより、計算リソースの節約、および、最終的な測位結果の精度悪化を防ぐことができる。
【0026】
<第2実施形態>
以下、本開示の第2実施形態に係る位置推定システム100Aについて図5図7を参照して説明する。第1実施形態では、マスト5が撮影画像に写り込む場合には、画像を用いた自己位置推定処理を停止した。この制御の場合、マストが映り込む場合には画像による測位を停止するため、フォーク4を上げたままの走行が長くなると、測位手段がデッドレコニング(走行距離が長いほど、誤差が累積する)のみとなり、測位精度が悪化する可能性がある。また、第2自己位置推定処理部202によるV-SLAMを利用した測位では、最後に撮影された画像とその直前に撮影された画像の画像特徴の比較を上手く行えたほうが、位置推定処理が簡単になるため(直前の画像とのマッチングができなかった場合には、過去に登録した環境情報(地図)とのマッチングを行うことになるため、マッチング対象数が多くなり、計算負荷が上昇する。)、なるべく、連続的に(時間間隔を開けずに)処理を行うほうが、計算負荷を抑制し、測位精度を維持することができる。また、撮影画像にマスト5が映り込んでいたとしても、画像的な特徴が十分に抽出でき、妥当な測位が可能である場合や、マーカ等が画像に含まれている場合もある。従って、マス5が写った範囲外を用いて、第1自己位置推定処理部201による自己位置推定処理を行うことで、測位精度の悪化回避を期待することができる。そこで、第2実施形態では、カメラ12の取付時点で測量しておいたカメラとマストの位置関係に従って、画像中のマスト映り込み範囲を特定し、特定した範囲を除外・無効化した画像を生成して、その画像に基づいて自己位置推定を行うことにより、測位精度の悪化を回避する。
【0027】
(位置推定システムの構成)
図5は、第2実施形態に係る位置推定システムの一例を示す図である。
図5に示すように位置推定システム100Aは、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205と、マスク画像生成処理部206と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205、マスク画像生成処理部206は、演算装置20に実装される機能である。第2実施形態に係る構成のうち、第1実施形態に係る位置推定システム100と同様のものには同じ符号を付し、それぞれの説明を省略する。
【0028】
マスク画像生成処理部206は、マスト映り込み範囲が許容できる程度である場合に、マスト映り込み判定処理部205によって特定されたマスト映り込み範囲をマスク化した画像を生成し、生成した画像を第1自己位置推定処理部201と第2自己位置推定処理部202へ出力し、画像を用いた自己位置推定処理の実行を指示する。
【0029】
図6A図6Bはそれぞれ、第2実施形態のマスク処理について説明する第1、第2の図である。図6Aにカメラ12によって撮影された撮影画像の一例を示す。この画像の右側にはマスト5が写り込んでいる。マスト5が写り込んだ範囲は、式(4)又は式(7)で算出することができる。式(4)、式(7)のθは既知であり、αは式(2)から算出することができる。式(2)のθ、l、lz0は、カメラ設置時に計測されていて既知である。式(2)のhは揚高センサ13の計測値から算出することができる。マスト映り込み判定処理部205は、マスト5が写り込んだ範囲は、式(4)又は式(7)と揚高センサ13の計測値から算出し、その算出結果にマージンmを加えてマスク画像生成処理部206へ出力する。マスク画像生成処理部206は、マスト映り込み判定処理部205から取得したマスト映り込み範囲をマスク化した画像を生成する。マスク化した画像の一例を図6Bに示す。図6Bでは、マスト映り込み範囲を白で表示しているが、マスクする方法は任意であってよい。例えば、黒色でマスク化してもよいし、マスト映り込み範囲を削除した画像を生成してもよい。
【0030】
(動作)
次に図7を参照して、位置推定システム100Aによる測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。図7は、第2実施形態に係る測位処理の一例を示すフローチャートである。位置推定システム100Aは、所定の制御周期で以下の処理を繰り返す。まず、マスト映り込み判定処理部205が、揚高センサ13が計測した計測値を取得する(ステップS11)。次にマスト映り込み判定処理部205は、上記した式(3´)が成立するかどうかを判定する(ステップS12)。式(3´)が成立しない場合(ステップS12;False)、ステップS16へ進む。式(3´)が成立する場合(ステップS12;True)、マスト映り込み判定処理部205は、式(2)によってα(マスト5が画像に写り込む範囲に対応する角度)を算出し、次の式(8)が成立するかどうかを判定する(ステップS13)。
α>αth ・・・(8)
ここでαthは、映り込みが大きいと判断するための閾値である。式(8)が成立する場合(ステップS13;True)、画像による自己位置の推定精度が低下すると判断し画像を用いた自己位置推定処理を実行しない。これにより自己位置推定精度の低下と電力消費を防止する。
【0031】
一方、式(8)が成立しない場合(ステップS13;False)、マスト映り込み判定処理部205は、マスト映り込み範囲を以下の式(9)で算出し、算出したマスト映り込み範囲の値をマスク画像生成処理部206へ出力する。
(α/θ)×100+m(%)・・・(9)
ここでm は、マスク範囲に関する余裕度である。マスク画像生成処理部206は、画像端からマスト映り込み範囲をマスク処理した画像を生成する(ステップS14)。マスク画像生成処理部206は、生成したマスク化画像を自己位置推定処理の実行を第1自己位置推定処理部201および第2自己位置推定処理部202へ出力し(ステップS15)、画像を用いた自己位置推定処理の実行を指示する。第1自己位置推定処理部201、第2自己位置推定処理部202は、マスク画像生成処理部206から取得したマスク化画像のうちマスク処理されていない範囲を処理対象として自己位置推定処理を実行し(ステップS16)、推定結果を統合処理部204へ出力する。並行して行われているデッドレコニング処理部203による測位結果も統合処理部204へ出力される。統合処理部204は、第1自己位置推定処理部201、第2自己位置推定処理部202およびデッドレコニング処理部203それぞれの測位結果から最終的な自己位置の測位結果を算出する。
【0032】
以上説明したように本実施形態によれば、撮影画像にマスト5が映り込んでいても、その範囲が許容内であればマスク処理した画像による測位を行う。これにより、マスト5の映り込みによる測位精度の悪化や無駄な測位処理(マストが大きく映り込む場合等)を回避しつつ、測位精度を確保することができる。また、画像を用いた自己位置推定を行う場合であっても、マスク化した範囲に対しては画像処理を行わないことで、計算負荷および電力消費を低減することができる。
【0033】
<第3実施形態>
以下、本開示の第3実施形態に係る位置推定システム100Bについて図8図10を参照して説明する。第1、第2実施形態実施例では、マスト5の映り込みのみを考慮していたが、フォーク4の上昇量が大きい、あるいは、フォーク4に積載した荷物の高さが大きい場合には、荷物も映り込む場合が考えられる。第3実施形態では、撮影画像に含まれるマスト5だけではなく、荷物を含めて映り込み判定や映り込み範囲の特定を行う。
【0034】
(位置推定システムの構成)
図8は、第3実施形態に係る位置推定システムの一例を示す図である。
図8に示すように位置推定システム100Bは、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205Bと、マスク画像生成処理部206と、荷物情報記録部207と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、荷重センサ14と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205B、マスク画像生成処理部206、荷物情報記録部207は、演算装置20に実装される機能である。第3実施形態に係る構成のうち、第2実施形態に係る位置推定システム100Aと同様のものには同じ符号を付し、それぞれの説明を省略する。
【0035】
荷物情報記録部207は、外部から設定された荷物の高さ情報を取得し記録・記憶する。高さ情報の設定方法について特に限定は無いが、例えば、倉庫においては、取り扱う荷物の荷姿が揃っている(例えば、XXX段済みの飲料の段ボール等)場合があるため、それら荷物の納品時等に荷物の高さ情報を荷物情報記録部207に設定しておいてもよい。あるいは、倉庫の管理システムと連動し、荷取時にバーコードスキャン等で荷物を確認する際に、荷の高さ情報を荷物情報記録部207に設定するようにしてもよい。また、荷取時の確認作業のときに作業者に大まかな荷の高さ情報を設定してもらったり、位置推定システム100Bの起動時に、取り扱う荷の高さ情報を作業者に設定してもらったりといった方法(日ごとに、同じような荷姿を取り扱う場合)でもよい。
マスト映り込み判定処理部205Bは、マスト上昇量とカメラ設置位置・画角、荷物の高さ情報等から、幾何的にマスト・荷の映り込み範囲を算出し、算出結果に応じて、画像中の映り込み範囲が許容できない場合に、画像を用いた自己位置推定処理を停止する。
【0036】
次に図9図10を参照して、マスト・荷の映り込み範囲の算出方法について説明する。図9図10はそれぞれ、第3実施形態のマスト映り込み範囲算出処理を説明する第1、第2の図である。図9にパレット7に積んだ荷物6をフォーク4で持ち上げている状態を示す。図9に示すように、荷物6の高さが高いか又は、フォーク4の上昇量が大きい場合には、撮影画像には、マスト5だけではなく荷物6が写り込む。図10に示すように、θをカメラ12の画角、αを荷物6がカメラ12の撮影範囲に映り込む角度、カメラ基準位置から荷背面までの距離をlcl、パレット7の上面から荷物6の上面までの距離をh、揚高センサ13から求められるカメラ基準位置からフォーク4の上面までの距離cf、フォーク4の上面からパレット7の上面までの距離をhfpとすると、幾何的な関係から、以下の式(10)が成立する。
α=(θ/2)-tan-1(lcl/(hcf+hfp+h))・・・(10)
また、荷物6が画像に映り込む条件は次の式(11)で表すことができる。
(hcf+hfp+h)>lcl・tan((π/2)-(θ/2))・・・(11)
は荷の高さであり、荷物情報記録部207に記録されている。lcl、hcf、hfpの各長さについても予め計測され、マスト映り込み判定処理部205Bに記録、記憶されている。マスト映り込み判定処理部205Bは、荷物6の高さh を荷物情報記録部207から取得し、式(10)、式(11)によって、マスト・荷の映り込み範囲と荷物6が画像に映り込む条件を算出する。
【0037】
(動作)
次に位置推定システム100Bによる測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。第3実施形態の位置推定システム100Bの動作には、第1実施形態の測位処理、第2実施形態の測位処理の何れも適用することができる。マスト映り込み判定処理部205Bが、マスト5の高さ(フォーク4の上昇量)に加えて、荷物6の高さを考慮して画像を用いた自己位置推定を行うか否かの判定を行うことや、撮影画像におけるマスク処理を施す範囲を算出する点を除けば、図4図7で説明した処理と同様である。
【0038】
(第1実施形態に対応する処理)
荷物6の高さを考慮した荷物6が画像に映り込む条件によって、画像を用いた自己位置推定を行うかどうかを判定する処理の流れは、第1実施形態の図4で説明したものと同様である。但し、図4のステップS2の式(3´)が次式(11´)となる。
(hcf+hfp+h)+m>lcl・tan((π/2)-(θ/2))・・・(11´)
マージンのmの大きさは第1実施形態と同じ値でも異なる値でも良い。
【0039】
(第2実施形態に対応する処理)
マスク化画像を用いて画像を用いた自己位置推定を行う場合の処理は、第2実施形態の図7で説明したものと同様である。但し、図7のステップS12の式(3´)が上記の式(11´)となり、ステップS13の左辺がαとなり、ステップS14のマスク処理する範囲が次式(12)となる。
(α/θ)×100+m(%)・・・(12)
マージンのmの大きさは第2実施形態と同じ値でも異なる値でも良い。
【0040】
(効果)
以上説明したように、本実施形態によれば、荷の高さ情報を取得することで、マスト5に加え荷物6が映り込む場合に対しても、マスト5および荷物6の映り込み範囲の特定が可能となり、第1実施形態又は第2実施形態と同様の効果を得ることができる。なお、荷物6の高さに加えて、荷物6の幅(図9における紙面奥行き方向の荷物6のサイズ)を考慮してマスク処理する範囲を算出するようにしてもよい。これにより、例えば、荷物6の幅が小さいときにはマスク処理範囲を小さくして、より多くの画像範囲を自己位置推定に用いることができる。
【0041】
<第4実施形態>
以下、本開示の第4実施形態に係る位置推定システム100Cについて図11を参照して説明する。第3実施形態は、通常運用する荷姿がほとんど同じ倉庫を除いて、荷物ごとに荷の高さ情報を設定する手間が発生する。倉庫によっては、取り扱う荷の内容(密度)は同じであるが、荷姿が異なる(積んでいる段数が異なる)場合があり、荷物はパレット(約1m×1m)上に積まれるため、密度情報が与えられれば、荷の高さを概ね推定することができる場合がある。そこで、第4実施形態では、事前に荷物の密度情報を設定し、荷重センサ14の計測値と組み合わせて、荷物の高さを自動推定する機能を追加する。
【0042】
(位置推定システムの構成)
図11は、第4実施形態に係る位置推定システムの一例を示す図である。
図11に示すように位置推定システム100Cは、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205Bと、マスク画像生成処理部206と、荷物密度記録部208と、荷物高さ推定部209と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、荷重センサ14と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205B、マスク画像生成処理部206、荷物密度記録部208と、荷物高さ推定部209は、演算装置20に実装される機能である。第4実施形態に係る構成のうち、第3実施形態に係る位置推定システム100Bと同様のものには同じ符号を付し、それぞれの説明を省略する。
【0043】
荷物密度記録部208は、外部から設定された荷物の密度情報を取得し、記録・記憶する。
荷物高さ推定部209は、荷重センサ14が計測した荷物の重さと、荷物密度記録部208が記録した密度とを取得し、荷物の高さを推定する。例えば、荷物高さ推定部209は、1m×1m四方のパレットに、荷物密度記録部208が記録した密度の荷物を単位高さだけ積んだ場合の重量を算出し、荷重センサ14が計測した荷物の重さを、算出した単位高さ当たりの重量で除算することで、図10におけるパレット7上面から荷物6上面までの高さhを推定する。
【0044】
(動作)
次に位置推定システム100Cによる測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。第4実施形態の位置推定システム100Cの動作には、第1実施形態の測位処理、第2実施形態の測位処理の何れも適用することができる。第4実施形態の位置推定システム100Cの動作は、マスト映り込み判定処理部205Bが、第3実施形態の荷物情報記録部207が記録した高さ情報に代えて、荷物高さ推定部209が推定した高さ情報を用いて、画像を用いた自己位置推定を行うか否かの判定を行うことや、撮影画像におけるマスク処理を施す範囲を算出する点を除けば、第3実施形態で説明した処理と同様である。
【0045】
(効果)
以上説明したように、本実施形態によれば、荷物を積む度に高さ情報を設定する必要が無く、事前に密度情報を設定することで、荷物の高さを推定することができる。これにより、作業者の負担を軽減しつつ、第3実施形態と同様の効果を得ることができる。
【0046】
<第5実施形態>
以下、本開示の第5実施形態に係る位置推定システム100Dについて図12図13を参照して説明する。フォークリフト1の荷役中には、マスト5が、例えば、車体2側に傾くため、その傾きを考慮して、画像中の映り込み範囲の算出を行う。上記した第1~第4実施形態では、マスト5が垂直と仮定して、幾何的演算によってマスト5等の映り込み範囲の算出を行い、マスト5の傾きに関しては、他の誤差要因とまとめてマージン(mやm)として設定している。しかし、マージンを取りすぎると、自己位置推定に使える画像範囲が狭まってしまい、測位精度に影響する可能性がある。そこで、第5実施形態では、マスト5の傾き量を参照し、より厳密に映り込み範囲の算出を行う。
【0047】
(位置推定システムの構成)
図12は、第5実施形態に係る位置推定システムの一例を示す図である。
図12に示すように位置推定システム100Dは、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205Dと、マスク画像生成処理部206と、傾き推定部210と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、荷重センサ14と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205、マスク画像生成処理部206、傾き推定部210は、演算装置20に実装される機能である。第5実施形態に係る構成のうち、第2実施形態に係る位置推定システム100Aと同様のものには同じ符号を付し、それぞれの説明を省略する。
【0048】
傾き推定部210は、フォーク4に積載される荷物の重量とマスト5の傾き量(図13に示すマスト傾き角度β)の関係を定めたテーブル等を有しており、このテーブルと、荷重センサ14が計測した荷物の重量とに基づいて、マスト5の傾き量を推定する。推定した傾き量は、マスト映り込み判定処理部205Dへ出力される。
マスト映り込み判定処理部205Dは、マスト5の上昇量および傾き量とカメラ設置位置・画角等から、幾何的にマストの映り込み範囲を算出し、算出結果に応じて、画像中の映り込み範囲が許容できない場合に、画像を用いた自己位置推定処理を停止する。
【0049】
次に図13を参照して、本実施形態におけるマストの映り込み範囲の算出方法について説明する。図13は、第5実施形態のマスト映り込み範囲算出処理を説明する図である。図13に示すように、θをカメラ12の画角、αをマスト5が撮影範囲に映り込む角度、マスト回転中心からカメラ基準点までの高さをh、マスト5の回転中心からカメラ基準点までの水平距離をl、マスト5の回転中心の座標を(l、-h)、マスト高さをh、マスト5の垂直方向からの傾き角度をβ、マスト5の回転中心から車体2側へのマスト幅をW とすると、マスト5の車体2側の上端部Pの座標は、(l-h・sin(β)-W・cos(β)、h・cos(β)-h-W ・sin(β))で表すことができる。また、マスト5の回転中心に対応する上端部Qの座標は、(l-h・sin(β)、h・cos(β)-h)で表すことができる。これらの関係性から次式(12)が成立する。
α =(θ/2)-tan-1((l-h・sin(β)-W・cos(β))/(h・cos(β)-h-W・sin(β)))・・・(13)
ここで、θ、l、h、W、hは、予め計測されて既知となった値であり、これらの値はマスト映り込み判定処理部205Dが記憶している。βは、傾き推定部210によって算出される。すると、マスト映り込み判定処理部205Dは、式(13)によってαを算出し、例えば、以下の式(14)によってマスト映り込み範囲を算出する。
(α /θ)×100+m´(%)・・・(14)
本実施形態ではマスト5の傾きを考慮してαを算出しているので、式(14)のマージンのm´には第2実施形態で設定される値よりも小さな値が設定される。また、マスト映り込み判定処理部205Dは、α>0が成立する場合にマスト5の映り込みがあると判定する。
【0050】
(動作)
次に位置推定システム100Dによる測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。第5実施形態の位置推定システム100Dの動作には、第1実施形態の測位処理、第2実施形態の測位処理の何れも適用することができる。
【0051】
(第1実施形態に対応する処理)
マスト5が画像に映り込む条件によって、画像を用いた自己位置推定を行うかどうかを判定する処理の流れは、第1実施形態の図4で説明したものと同様である。但し、図4のステップS2の式(3´)がα>0となる。
【0052】
(第2実施形態に対応する処理)
マスク化画像を用いて画像を用いた自己位置推定を行う場合の処理は、第2実施形態の図7で説明したものと同様である。但し、図7のステップS12の式(3´)がα>0となり、ステップS13の左辺がαとなり、ステップS14のマスク処理する範囲が上記の式(14)となる。
【0053】
(効果)
以上説明したように、本実施形態によれば、マスト5の傾きを考慮することにより、映り込み範囲のマージンm´を小さくすることができ、自己位置推定処理に利用可能な画像の範囲を第2実施形態よりも広く確保することができる。これにより、自己位置推定の精度を確保することができる。なお、本実施形態と第3実施形態、第4実施形態とを組み合わせて、荷物の高さを考慮してマスク処理する範囲を算出するようにしてもよい。また、マスト5の傾きを荷物の重量から推定することとしたが、フォークリフト1にマスト5の傾きを計測できるセンサを設け、このセンサが計測するマスト5の傾き量を用いてもよい。
【0054】
<第6実施形態>
以下、本開示の第実施形態に係る位置推定システム100について図14図16を参照して説明する。上記した第1~第実施形態では、マスト5とカメラ12の幾何的関係から、画像中のマスト映り込み範囲を算出している。この場合、カメラ12の取付時にカメラ12とマスト5の位置関係の計測が必須となり、導入時に手間が生じる。そこで第6実施形態では、事前にマスト5とカメラ12の幾何的関係を計測しなくても、車体静止、且つ、フォーク4(マスト5)が最低位置まで降下した状態で天井を撮影した画像を基準として、車体静止、且つ、マスト5が上昇しているときに撮影された画像の変化から、マスト映り込み範囲を推定する。車体が止まっている場合は、原則、撮影画像の変化はほぼないため、車体の静止中でマスト5が上昇している最中に撮影された画像にマスト5や荷物6が映り込んでいる範囲は、車体静止が始まった直後の画像と差分を取ることで容易に推定できる。特定した映り込み範囲とマスト5の高さの対応関係を学習することで、マスト5の高さから映り込み範囲を推定することができる。
【0055】
(位置推定システムの構成)
図14は、第6実施形態に係る位置推定システムの一例を示す図である。
図1に示すように位置推定システム100Eは、第1自己位置推定処理部201と、第2自己位置推定処理部202と、デッドレコニング処理部203と、統合処理部204と、マスト映り込み判定処理部205Eと、マスク画像生成処理部206と、静止判定部211と、基準画像記録部212と、画像比較による映り込み範囲判定部213と、映り込み範囲とマスト上昇量記録部214と、映り込み範囲関数推定・更新部215と、映り込み範囲関数記録部216と、IMU10と、エンコーダ11と、カメラ12と、揚高センサ13と、を備える。これらのうち、第1自己位置推定処理部201、第2自己位置推定処理部202、デッドレコニング処理部203、統合処理部204、マスト映り込み判定処理部205E、マスク画像生成処理部206、静止判定部211、基準画像記録部212、画像比較による映り込み範囲判定部213、映り込み範囲とマスト上昇量記録部214、映り込み範囲関数推定・更新部215、映り込み範囲関数記録部216は、演算装置20に実装される機能である。第実施形態に係る構成のうち、第2実施形態に係る位置推定システム100Aと同様のものには同じ符号を付し、それぞれの説明を省略する。
【0056】
静止判定部211は、エンコーダ11の計測値に基づいて、車速が0付近である場合に、フォークリフト1が静止状態にあると判定する。
基準画像記録部212は、静止判定部211によって静止状態にあると判定され、且つ、揚高センサ13が計測したフォーク4の高さ(マスト5の高さ)が最低位置にあるときにカメラ12が撮影した画像を取得し、基準画像として記録・記憶する。
【0057】
画像比較による映り込み範囲判定部213は、静止判定部211によって静止状態にあると判定され、且つ、揚高センサ13が計測したフォーク4の高さが最低位置以外にあるときにカメラ12が撮影した画像を取得し、基準画像と取得した画像の差分を取り、差分が大きい範囲をマスト等(マスト5だけでなく荷物を含む)の映り込み範囲として判定する。画像比較による映り込み範囲判定部213は、取得した画像が撮影されたときの揚高センサ13による計測値と、判定した映り込み範囲を対応付けて映り込み範囲とマスト上昇量記録部214へ出力する。
【0058】
映り込み範囲とマスト上昇量記録部214は、画像比較による映り込み範囲判定部213から取得した揚高センサ13による計測値からマスト上昇量を算出し、マスト等の映り込み範囲と算出したマスト上昇量の組を記録・記憶する。また、映り込み範囲とマスト上昇量記録部214は、記録した組が、一定数を超えた場合には、古い順、かつ、重複のあるデータを優先して削除する。
【0059】
映り込み範囲関数推定・更新部215は、映り込み範囲とマスト上昇量記録部214にマスト等の映り込み範囲とマスト上昇量の組が十分に蓄積された場合に、両者の関係を示す関数を推定し、推定関数を映り込み範囲関数記録部216へ出力する。この推定関数は、マスト上昇量を入力すると、マスト等の映り込み範囲を出力するような関数である。また、映り込み範囲関数推定・更新部215は、推定関数の推定以降に新たに映り込み範囲とマスト上昇量記録部214に記録された、映り込み範囲と、新たに映り込み範囲とマスト上昇量記録部214に記録されたマスト上昇量と推定関数を用いて推定した映り込み範囲と、を比較して、その差が基準を超える場合、推定関数を更新すると判定する。推定関数を更新すると判定すると、映り込み範囲関数推定・更新部215は、新たに記録された映り込み範囲とマスト上昇量の組を用いて、両者の関係を示す関数を推定し直すことにより、推定関数を更新する。更新された推定関数は、映り込み範囲関数記録部216へ出力される。例えば、フォークリフト1が移動し、光源とカメラ12の位置関係が変化すると、マスト5の上昇量が同じでもカメラ12の撮影画像に写るマスト5によって視界が遮られる範囲が変わって見えることがあり、このような場合に推定関数の更新が行われる。
映り込み範囲関数記録部216は、映り込み範囲の推定関数を記録・記憶する。
【0060】
マスト映り込み判定処理部205Eは、揚高センサ13が計測した計測値を取得し、例えば、計測値からフォーク4が最低位置にあるときの揚高センサ13の計測値を減算する等して、マスト5の上昇量を算出する。マスト映り込み判定処理部205Eは、映り込み範囲関数記録部216が記憶する推定関数に、算出したマスト5の上昇量を入力して、マスト等の映り込み範囲を算出する。そして、推定関数に基づくマスト等の映り込み範囲が許容できない場合に、画像を用いた自己位置推定処理を停止する。
【0061】
図15図16は、それぞれ、第6実施形態のマスト映り込み範囲推定処理を説明する第1、第2の図である。
図15に示すように、画像比較による映り込み範囲判定部213は、フォークリフト1の停止時に撮影された基準画像150と、フォークリフト1の停止時、且つ、マスト5の上昇時に撮影された画像151を比較して、画素値の差分が閾値を超える箇所P1を特定し、この範囲P1からマスト等の映り込み範囲(例えば、図15の場合、画像右端からの距離R1の範囲)を判定する。そして、図16に示すように、映り込み範囲とマスト上昇量記録部214は、距離R1で規定されるマスト等の映り込み範囲とマスト上昇量h1の組を記録し、距離R2で規定されるマスト等の映り込み範囲とマスト上昇量h2の組を記録する。
【0062】
(動作)
次に位置推定システム100Eによる測位処理のうちの画像を用いた自己位置推定処理の流れについて説明する。第6実施形態の位置推定システム100Eの動作には、第1実施形態の測位処理、第2実施形態の測位処理の何れも適用することができる。
【0063】
(第1実施形態に対応する処理)
マスト5等が画像に映り込む条件によって画像を用いた自己位置推定を行うかどうかを判定する処理の流れは、第1実施形態の図4で説明したものと同様である。但し、図4のステップS2の式(3´)が、例えば、推定関数に基づいて算出したマスト等の映り込み範囲>所定の第1閾値となる。
【0064】
(第2実施形態に対応する処理)
マスク化画像を用いて画像を用いた自己位置推定を行う場合の処理は、第2実施形態の図7で説明したものと同様である。但し、図7のステップS12の式(3´)が例えば、推定関数に基づいて算出したマスト等の映り込み範囲>所定の第1閾値となり、ステップS13が例えば、推定関数に基づいて算出したマスト等の映り込み範囲>所定の第2閾値(第2閾値>第1閾値)となり、ステップS14のマスク処理する範囲を求める式が、例えば次式(15)となる。
(推定関数に基づいて算出したマスト等の映り込み範囲/画像の全面積)×100+m´´(%)・・・(15)
´´は任意のマージンである。
【0065】
(効果)
以上説明したように、本実施形態によれば、事前にマスト5とカメラ12の幾何的関係を測定および設定する必要がなくなるため、位置推定システム100Eの導入に伴う作業時間や作業コストを低減することができる。なお、第5実施形態で説明した方法でマスト5の傾き量を算出し、マスト5の傾き量とマスト5の上昇量とマスト等の映り込み範囲の関係を示す推定関数を生成して、この推定関数にマスト5の傾き量とマスト5の上昇量を入力してマスト等の映り込み範囲を算出するようにしてもよい。
【0066】
図17は、各実施形態に係る位置推定システムのハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の演算装置20は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0067】
なお、演算装置20の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0068】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0069】
<付記>
各実施形態に記載の位置推定システム、フォークリフト、位置推定方法及びプログラムは、例えば以下のように把握される。
【0070】
(1)第1の態様に係る位置推定システム100~100Eは、カメラ12を備えるフォークリフト1の位置を推定する位置推定システムであって、前記カメラ12によって撮影された画像に含まれる特徴に基づいて、前記フォークリフト1の位置を推定する位置推定部(第1自己位置推定処理部201及び第2自己位置推定処理部202)と、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記画像において前記マストが写る範囲を示す映り込み範囲を算出し、算出した前記映り込み範囲が許容範囲を超える場合には、前記位置推定部による前記位置の推定を停止すると判定する(ステップS2、S13)映り込み判定部(マスト映り込み判定処理部205、205B、205E)と、を備える。
これにより、自己位置推定処理における推定精度の確保と消費電力の低減を実現することができる。
【0071】
(2)第2の態様に係る位置推定システムは、(1)の位置推定システムであって、前記映り込み範囲が前記許容範囲内の場合、前記映り込み範囲を前記画像から除外する処理を行う画像処理部(マスク画像生成処理部206)をさらに有し、前記位置推定部は、前記除外する処理が行われた後の前記画像に基づいて、前記位置を推定する。
これにより、画像を用いた自己位置推定処理の処理間隔を短くすることにより、推定精度の低下を防ぐことができる。
【0072】
(3)第3の態様に係る位置推定システムは、(1)~(2)の位置推定システムであって、前記フォークリフトに積載する荷物の高さ情報を取得する荷物情報取得部(荷物情報記録部207)をさらに備え、前記映り込み判定部は、前記マストの高さ方向の位置と、前記荷物の高さ情報と、に基づいて、前記映り込み範囲を算出する。
これにより、マストだけではなく荷物の映り込みを考慮して、マスト及び荷物の映り込み範囲を算出することができる。
【0073】
(4)第4の態様に係る位置推定システムは、(3)の位置推定システムであって、前記荷物の密度と、前記荷物を前記フォークリフトに積載するときの積載面の面積と、前記荷物の重量と、に基づいて前記荷物の高さ情報を推定する高さ推定部、をさらに備える。
これにより、荷物の高さを設定する必要無く、マストと荷物の映り込み範囲を算出することができる。
【0074】
(5)第5の態様に係る位置推定システムは、(1)~(4)の位置推定システムであって、前記映り込み判定部は、前記マストの高さ方向の位置と、前記マストの傾きと、に基づいて、前記映り込み範囲を算出する。
これにより、マストの傾きを考慮して、マストの映り込み範囲を算出することができる。
【0075】
(6)第6の態様に係る位置推定システムは、(1)~(5)の位置推定システムであって、前記映り込み判定部は、前記カメラと前記マストの高さ位置の幾何的な関係に基づいて、前記映り込み範囲を算出する。
これにより、カメラとマストの位置関係を設定するだけマストの映り込みは範囲を算出することができる。
【0076】
(7)第7の態様に係る位置推定システムは、(1)~(6)の位置推定システムであって、前記フォークリフトの停止時であって前記マストが最低位置にあるときに撮影された前記画像と、前記フォークリフトの停止時であって前記マストが様々な位置にあるときに撮影された前記画像の差分から、それぞれの前記マストの高さ位置に応じた前記映り込み範囲を算出し、前記マストの高さと前記映り込み範囲の関係を定めた推定関数を算出する関数推定部をさらに備え、前記映り込み判定部は、前記マストの高さ位置と前記推定関数に基づいて前記映り込み範囲を算出する。
これにより、カメラとマストの位置関係を設定する必要が無く、画像処理によってのみマストの映り込みは範囲を算出することができる。
【0077】
(8)第8の態様に係るフォークリフトは、(1)~(7)の位置推定システムと、カメラと、を備える。
【0078】
(9)第9の態様に係る位置推定方法は、カメラを備えるフォークリフトの位置を推定する位置推定方法であって、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲と、を算出するステップと、算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、前記許容範囲を超える場合には、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、を有する。
【0079】
(10)第10の態様に係るプログラムは、コンピュータに、カメラを備えるフォークリフトの位置を推定する処理であって、前記フォークリフトが備えるマストの高さ方向の位置に基づいて、前記カメラによって撮影された画像において前記マストが写る範囲を示す映り込み範囲と、を算出するステップと、算出した前記映り込み範囲が許容範囲を超えるか否かを判定するステップと、前記許容範囲を超える場合には、前記カメラによって撮影された画像に含まれる特徴に基づいて、前記フォークリフトの位置を推定する処理を停止すると判定するステップと、を有する処理を実行させる。
【符号の説明】
【0080】
1・・・フォークリフト
2・・・車体
3・・・荷役装置
4・・・フォーク
5・・・マスト
6・・・荷物
7・・・パレット
10・・・IMU
11・・・エンコーダ
12・・・カメラ
13・・・揚高センサ
14・・・荷重センサ
100、100A、100B、100C、100D、100E・・・位置推定システム
201・・・第1自己位置推定処理部
202・・・第2自己位置推定処理部
203・・・デッドレコニング処理部
204・・・統合処理部
205、205B、205D、205E・・・マスト映り込み判定処理部
206・・・マスク画像生成処理部
207・・・荷物情報記録部
208・・・荷物密度記録部
209・・・荷物高さ推定部
210・・・傾き推定部
211・・・静止判定部
212・・・基準画像記録部
213・・・画像比較による映り込み範囲判定部
214・・・映り込み範囲とマスト上昇量記録部
215・・・映り込み範囲関数推定・更新部
216・・・映り込み範囲関数記録部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース
図1
図2
図3A
図3B
図3C
図3D
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17