(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024060983
(43)【公開日】2024-05-07
(54)【発明の名称】位置推定装置、フォークリフト、位置推定方法及びプログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20240425BHJP
B66F 9/24 20060101ALI20240425BHJP
G06Q 50/04 20120101ALI20240425BHJP
G06Q 10/08 20240101ALI20240425BHJP
G06V 10/24 20220101ALI20240425BHJP
【FI】
G06T7/70 A
B66F9/24 Z
G06Q50/04
G06Q10/08
G06V10/24
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022168604
(22)【出願日】2022-10-20
(71)【出願人】
【識別番号】000232807
【氏名又は名称】三菱ロジスネクスト株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】北島 克将
(72)【発明者】
【氏名】木内 裕介
(72)【発明者】
【氏名】山田 昌弘
(72)【発明者】
【氏名】藤田 匠
(72)【発明者】
【氏名】明石 拓也
【テーマコード(参考)】
3F333
5L010
5L049
5L050
5L096
【Fターム(参考)】
3F333AA02
3F333AB13
3F333FA25
3F333FE05
5L010AA16
5L049AA16
5L049CC03
5L050CC03
5L096BA04
5L096CA02
5L096FA52
5L096FA59
5L096FA66
5L096FA67
5L096FA69
(57)【要約】 (修正有)
【課題】画像を用いたフォークリフトの測位におけるマスト等の画像への映り込みの影響を低減して測位を行う位置推定装置、位置推定方法及びおプログラムを提供する。
【解決手段】フォークリフト1において、カメラ12を備える車両の位置を推定する位置推定装置20は、カメラ12が撮影した画像を画像処理して車体2の位置を推定する位置推定部と、位置推定部による画像処理の実行タイミングおよび/又は画像処理の対象となる画像を制御することにより、画像処理の処理負荷を制御する負荷制御部と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カメラを備える車両の位置を推定する位置推定装置であって、
前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する位置推定部と、
前記位置推定部による前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する負荷制御部と、
を備える位置推定装置。
【請求項2】
前記負荷制御部は、
前記車両が所定の距離を進むごとに、又は、所定の角度を回転するごとに前記位置推定部に前記画像処理に基づく前記位置の推定を実行させる、
請求項1に記載の位置推定装置。
【請求項3】
前記負荷制御部は、
前記車両の速度および/又は角速度に応じて、前記位置推定部が単位時間あたりに前記画像処理する画像の枚数を変更する、
請求項1に記載の位置推定装置。
【請求項4】
前記負荷制御部は、α、βを任意の係数としたときに以下の式によって前記枚数を算出する、
前記枚数=α×(前記車両の速度)+β×(前記車両の角速度)
請求項3に記載の位置推定装置。
【請求項5】
前記負荷制御部は、
前記車両の速度又は角速度に応じて前記位置推定部が前記画像処理の対象とする前記画像の解像度および/又は前記画像処理の対象とする前記画像における処理対象領域の大きさを変更する、
請求項1又は請求項2に記載の位置推定装置。
【請求項6】
前記カメラが複数設けられている場合、
前記負荷制御部は、
前記車両の速度又は角速度に応じて、複数の前記カメラが撮影した前記画像のうち前記画像処理の対象とする前記画像の枚数を変更する、
請求項1又は請求項2に記載の位置推定装置。
【請求項7】
前記負荷制御部は、
前記車両が位置推定の目印となるマーカの設置位置に接近すると、前記画像処理の負荷に関係なく、前記位置推定部に前記画像処理に基づく前記位置の推定を実行させる、
請求項1又は請求項2に記載の位置推定装置。
【請求項8】
カメラと、
請求項1又は請求項2に記載の位置推定装置と、
を備えるフォークリフト。
【請求項9】
カメラを備える車両の位置を推定する位置推定方法であって、
前記カメラによって撮影された画像を画像処理して位置推定を行う場合の、前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の負荷を制御するステップと、
前記負荷の制御に基づいて、前記画像を前記画像処理して前記車両の位置を推定するステップと、
を有する位置推定方法。
【請求項10】
カメラを備える車両の位置を推定するコンピュータを、
前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する手段、
前記位置を推定する手段による前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、位置推定装置、フォークリフト、位置推定方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、フォークリフトに設置されたカメラにより周囲の画像を撮影し、撮影した画像から特徴点を抽出し、抽出した特徴点を事前に作成しておいた地図と照合することで自己位置を推定する位置推定方法が開示されている。この位置推定処理では、フォークリフトの角速度を監視し、角速度が閾値を上回った場合には、その間に撮影された画像にはブレが発生しており位置推定に使えない可能性が高いと判断し、これらの画像を位置推定処理に用いないこととしている。この方法によれば、位置推定に使用する画像枚数を減らすことができるので計算負荷を低減できる。
【0003】
フォークリフトのような移動体は、常時、外部から給電されているわけではないため、できるだけ電力消費を抑える必要がある。また、フォークリフトの製造コストを抑えるためには、高い計算負荷に耐えられる高価な計算機を搭載することは難しい。しかし、画像は、1枚あたりのデータ容量が大きく、測位のための特徴点抽出等の画像処理は、計算負荷が大きく電力消費が大きい。特許文献1の技術によれば、正常に特徴点を抽出できない画像を除外することで消費電力を低減させることができる。しかし、フォークリフトの走行中に撮影される画像の中で、角速度が閾値を上回った状況で撮影される画像はごくわずかであり,消費電力の低減効果は限定的と考えられる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
画像を用いた位置推定に関し、推定精度を確保しつつ、電力消費の低減を有効に行う技術が必要とされている。
【0006】
本開示は、上記課題を解決することができる位置推定装置、フォークリフト、位置推定方法及びプログラムを提供する。
【課題を解決するための手段】
【0007】
本開示の位置推定装置は、カメラを備える車両の位置を推定する位置推定装置であって、前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する位置推定部と、前記位置推定部による前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する負荷制御部と、を備える。
【0008】
本開示のフォークリフトは、カメラと、上記の位置推定装置と、を備える。
【0009】
本開示の位置推定方法は、カメラを備える車両の位置を推定する位置推定方法であって、前記カメラによって撮影された画像を画像処理して位置推定を行う場合の、前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の負荷を制御するステップと、前記負荷の制御に基づいて、前記画像を画像処理して前記車両の位置を推定するステップと、を有する。
【0010】
また、本開示のプログラムは、カメラを備える車両の位置を推定するコンピュータを、前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する手段、前記位置を推定する手段による前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する手段、として機能させる。
【発明の効果】
【0011】
上述の位置推定装置、フォークリフト、位置推定方法及びプログラムによれば、画像を用いた位置推定に関し、推定精度を確保しつつ、電力消費の低減を有効に行う技術が必要とされている。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係るフォークリフトの一例を示す概略図である。
【
図2】実施形態に係る位置推定装置の一例を示す図である。
【
図3】実施形態に係る画像処理の周期と移動体の関係を示す図である。
【
図4】第1実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
【
図5】第2実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
【
図6】第3実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
【
図7】第4実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
【
図8】実施形態に係る位置推定装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0013】
<実施形態>
以下、本開示の画像を用いて位置推定を行うにあたり、位置の推定精度を確保しつつ、位置推定処理における画像処理の負荷を低減できるよう制御する方法について図面を参照して説明する。
(フォークリフトの構成)
図1は、各実施形態に係るフォークリフトの一例を示す概略図である。
フォークリフト1は、車体2と、荷役装置3と、位置推定装置20と、を備えている。車体2は、タイヤおよび不図示の駆動装置とステアリング装置を備え、フォークリフト1を走行させる。荷役装置3は、フォーク4と、フォーク4を昇降させるマスト5を備え、フォーク4に積載した荷物を昇降させる等して荷役動作を行う。車体2には、IMU10と、エンコーダ11と、カメラ12と、が設けられている。IMU10は、加速度センサ、ジャイロセンサを備えており、フォークリフト1の移動速度、加速度および移動方向や旋回方向を検知することができる。エンコーダ11は、フォークリフト1のタイヤ(例えば、後輪)の回転数を検知するロータリエンコーダである。エンコーダ11の計測値によりフォークリフト1の移動を検知することができる。カメラ12は、車体2の上方に向けられており、フォークリフト1の稼働中は常時、作業領域の天井の画像を撮影する。
【0014】
IMU10、エンコーダ11、カメラ12の各センサは位置推定装置20と接続されており、各センサが計測した計測値は、位置推定装置20へ送出される。位置推定装置20は、プロセッサを備えるコンピュータにより構成されている。位置推定装置20は、上記の各センサによる計測値を用いてフォークリフト1の位置を推定する。
【0015】
(位置推定装置の構成)
図2は、各実施形態に係る位置推定装置の一例を示す図である。
位置推定装置20は、フォークリフト1の移動中、カメラ12が撮影した画像に基づいて、フォークリフト1の走行位置を推定する。
図2に示すように位置推定装置20は、入力部21と、負荷制御部22と、位置推定部23と、記憶部24とを備える。
入力部21は、IMU10、エンコーダ11が計測した計測値と、カメラ12が撮影した画像を取得し、取得した計測値や画像を記憶部24に記録する。
【0016】
負荷制御部22は、次に説明する位置推定部23による画像を用いた位置推定において実行される画像処理について、位置推定の精度を確保しつつ、画像処理の負荷をできるだけ低減できるように制御する。画像を用いた位置推定処理では、処理する画像を減らすほど、消費電力を低減することができる。一方、1周期前に処理した画像と今回処理する画像との間で変化が大きいほど、位置推定に失敗する可能性が増大するため(画像特徴の照合が取りづらくなり、前回画像以外との照合の必要性や、誤った結びつけが生じる。)、1周期前に処理した画像からの変化が大きいと予想される場合はなるべく高周期に画像を処理することが好ましい。例えば、天井に向けてカメラを設置したフォークリフトの場合には、車速が早くなるほど、車体2の移動に伴う画像変化が大きくなるため、位置推定の精度を確保する観点からは、車速に応じて処理周期を高くすることが望まれる。そこで、負荷制御部22は、画像処理の負荷が必要以上に高くならず、且つ、位置推定精度を許容できる範囲に保てるような間隔で、画像処理を行うように制御する。例えば、負荷制御部22は、フォークリフト1の速度にかかわらず、フォークリフト1が所定の距離進むごとに測位のための画像処理を行うよう位置推定部23に指示する(第1実施形態)。所定の距離とは、例えば、位置推定精度を確保できる範囲でなるべく長い距離である。
【0017】
また、例えば、負荷制御部22は、フォークリフト1の速度に応じた周期で測位のための画像処理を行うよう位置推定部23に指示する(第2実施形態)。例えば、フォークリフト1が高速で移動していれば、短い時間間隔で画像処理しなければ1周期前に処理した画像と今回処理する画像との間で変化しない領域(同一の対象範囲を撮影した領域、オーバーラップ領域)が少なくなり、位置推定の精度に影響する可能性がある。反対にフォークリフト1の低速移動時であれば、1周期前に処理した画像が撮影されてからある程度時間を空けて撮影された画像に対して処理を行っても、オーバーラップ領域を生じさせることができる。この場合には、高頻度で画像処理を行ってもその負荷の増大に対する位置推定精度の向上度は、処理コストに見合わないものとなる。従って、負荷制御部22は、フォークリフト1の高速移動時には画像処理の処理周期を高く設定し、低速移動時には画像処理の処理周期を低く設定する。この様子を
図3に示す。
【0018】
また、例えば、負荷制御部22は、画像の解像度や画像における処理対象とする領域の大きさを調整することによって画像処理の負荷を制御してもよい(第3実施形態)。例えば、フォークリフト1が低速で移動している時には、1周期前に推定した位置からの差があまりないため画像の解像度を下げて処理してもよい。例えば、フォークリフト1が高速で回転している時(角速度が大きい時)には、画像の周りにブレが生じている為、画像の中心部だけを抜き出して処理対象としてもよい。あるいは、低速移動時には、1周期前に処理した画像との間のオーバーラップ領域が(必要以上に)大きいことが想定される為、それらの領域を削除して(例えば、画像の中心部だけを抜き出して)処理対象としてもよい。
【0019】
また、例えば、負荷制御部22は、上記した負荷制御を実行しつつ、天井に設けられた位置推定の目印となるマーカに近づいたタイミングでは確実に画像を用いた位置推定を行うようにし、撮影された画像に含まれるマーカと、マーカの情報が負荷された地図データとを照合して位置推定を行うようにしてもよい。マーカと地図データとの照合を行わない推定では誤差が生じ、それが蓄積される可能性があるが、マーカが存在する位置で確実に地図照合することにより、位置推定の精度を保つことができる(第4実施形態)。
【0020】
位置推定部23は、画像を用いた位置推定処理を行う。具体的には、位置推定部23は、カメラ12が撮影した画像からマーカ等の画像特徴量を有する特徴点を抽出し、その特徴点と、マーカの情報を予め記録した地図データとを照合して、フォークリフト1の位置を推定する(方法1)。また、位置推定部23は、上記で抽出された特徴点から地図を生成しながら、V-SLAM(Visual Simultaneous Localization and Mapping)の技術を用いて、画像の特徴(前時刻の画像と比較することにより相対的な移動量は算出できるが、それ単独では地図上の絶対位置は特定できない画像特徴)に基づく位置推定を行う(方法2)。位置推定部23は、負荷制御部22の指示に基づいて、方法1および/又は方法2による位置推定を行う。また、位置推定部23は、これら2つの画像を用いた位置推定処理のほかに、IMU10、エンコーダ11の計測値を利用して推測航法による位置推定を行う(方法3)。位置推定部23は、方法1~3によって得られた位置推定結果を、例えば、拡張カルマンフィルタ等を用いて統合して、最終的なフォークリフト1の推定位置の位置情報を算出し、推定した位置情報を出力する。
【0021】
記憶部24は、入力部21が取得したエンコーダ11の計測値やカメラ12が撮影した画像を記憶する。また、記憶部24は、マーカの情報を含む地図データ、位置推定部23が生成した地図を記憶する。
【0022】
(動作)
次に
図4~
図7を参照して、位置推定部23による画像を用いた位置推定における画像処理の負荷を制御する処理について説明する。
【0023】
(第1実施形態)
図4は、第1実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
位置推定装置20は、所定の制御周期で以下の処理を繰り返し実行する。負荷制御部22は、IMU10およびエンコーダ11の計測値を、記憶部24から読み出して取得する(ステップS1)。負荷制御部22は、IMU10が計測した加速度を積分したり、エンコーダ11が計測したタイヤの回転数を距離に換算したりして、単位時間あたりにフォークリフト1が進んだ距離を算出する。また、負荷制御部22は、IMU10が計測した角速度を積分して、単位時間あたりにフォークリフト1が回転した角度を算出する(ステップS2)。次に、負荷制御部22は、フォークリフト1が、1周期前の位置推定において画像処理を行って、推定した車両の位置および姿勢(走行方向)から所定の距離を移動したか、又は、所定の角度だけ回転したかを判定する(ステップS3)。ここで、所定の距離および所定の角度とは、測位精度を確保できる範囲でなるべく長い距離、大きな角度である。所定の距離および所定の角度の情報は、予め記憶部24に登録されている。ステップS3の判定がYesの場合、負荷制御部22は、位置推定部23に画像を用いた位置推定処理の実行を指示する。位置推定部23は、カメラ12が撮影した最新の画像を記憶部24から取得し、画像処理を行って、画像を用いた位置推定処理を実行する(ステップS4)。ステップS3の判定がNoの場合、負荷制御部22は、位置推定部23に画像を用いた位置推定処理の実行を指示しないので、この制御周期では画像を用いた位置推定処理は実行されず、位置推定処理に伴う画像処理も実行されない。
【0024】
第一実施形態によれば、位置の推定精度を確保しつつ、電力消費の低減を行うことができる。例えば、距離的に一定の間隔で画像処理を行って位置推定を行う為、位置の推定精度を保つことができる。また、例えば、フォークリフト1の低速移動時に時間的に等間隔で画像処理を行う場合より、位置推定処理における画像処理の頻度を抑えることができる為、電力消費を低減することができる。なお、
図4の説明では、距離と回転角度の両方を使用することとしたが、どちらか一方だけを使用してもよい。
【0025】
(第2実施形態)
図5は、第2実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
位置推定装置20は、所定の制御周期で以下の処理を繰り返し実行する。負荷制御部22は、IMU10およびエンコーダ11の計測値を、記憶部24から読み出して取得する(ステップS11)。負荷制御部22は、IMU10が計測した加速度やエンコーダ11が計測したタイヤの回転数からフォークリフト1の速度を算出する。また、負荷制御部22は、IMU10が計測した角速度を取得する(ステップS12)。次に、負荷制御部22は、単位時間あたりに処理する画像の枚数を算出する(ステップS13)。例えば、負荷制御部22は、以下の式(1)により、画像の処理枚数を算出する。
単位時間あたりの画像の処理枚数=α×速度+β×角速度・・・(1)
なお、α、βは任意の係数であり、式(1)によって計算される値が最大画像処理枚数を超える場合には、負荷制御部22は、最大画像処理枚数を採用する。次に、負荷制御部22は、算出した画像の処理枚数に応じた周期で画像を用いた位置推定処理を実行するよう位置推定部23へ指示する(ステップS14)。位置推定部23は、負荷制御部22の実行指示に従って、カメラ12が撮影した最新の画像を記憶部24から取得し、画像を用いた位置推定処理を実行する(ステップS15)。
これにより、高速移動時には処理周期を高くし、低速移動時には処理周期を低くすることができるので、測位精度を確保しつつ、位置推定処理における画像処理の負荷や電力消費を低減することができる。
【0026】
(第3実施形態)
図6は、第3実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
位置推定装置20は、所定の制御周期で以下の処理を繰り返し実行する。負荷制御部22は、IMU10およびエンコーダ11の計測値を、記憶部24から読み出して取得する(ステップS21)。負荷制御部22は、IMU10が計測した加速度やエンコーダ11が計測したタイヤの回転数からフォークリフト1の速度を算出する。また、負荷制御部22は、IMU10が計測した角速度を取得する(ステップS22)。次に、負荷制御部22は、速度、角速度に応じて画像の解像度を変更又はトリミングする(ステップS23)。例えば、負荷制御部22は、速度が所定の閾値以下の場合、画像の解像度を低下させるか、画像の中央部のみをトリミングする、あるいは、それら両方を行う。また、例えば、負荷制御部22は、各速度が所定の閾値以上の場合、画像の中央部のみをトリミングする。これにより、位置推定部23の画像処理の負荷を低減することができる。解像度の低下度やトリミングする範囲は、位置推定に悪影響が出ない範囲で実行する。例えば、予めフォークリフト1の速度と解像度やトリミングする範囲の対応関係を定めたテーブルを記憶部24に登録しておき、このテーブルに基づいて、解像度やトリミング範囲を決定してもよい。負荷制御部22は、解像度の低下やトリミングを行った後の画像を位置推定部23へ出力し、画像を用いた位置推定処理の実行を指示する。位置推定部23は、負荷制御部22の実行指示に従って、負荷制御部22から取得した画像を用いて、位置推定処理を実行する(ステップS24)。
これにより、測位精度を確保しつつ、位置推定処理における画像処理の負荷(電力消費)を低減することができる。なお、第3実施形態の負荷制御は、第1実施形態又は第2実施形態と組み合わせることができる。
【0027】
(第4実施形態)
図7は、第4実施形態に係る画像処理の負荷制御の一例を示すフローチャートである。
位置推定装置20は、所定の制御周期で以下の処理を繰り返し実行する。負荷制御部22は、IMU10およびエンコーダ11の計測値を、記憶部24から読み出して取得する(ステップS31)。負荷制御部22は、第1実施形態~第3実施形態の何れかの負荷制御を実行する(ステップS32)。次に、負荷制御部22は、画像を用いた位置推定処理の実行タイミングが到来したかどうかを判定する(ステップS33)。画像を用いた位置推定処理の実行タイミングが到来するとは、例えば、第一実施形態の負荷制御を実行する場合であれば、1周期前に画像を用いた位置推定処理が行われてからフォークリフト1が所定の距離だけ移動したタイミングである。画像を用いた位置推定処理の実行タイミングが到来すると(ステップS33;Yes)、負荷制御部22は、位置推定部23に画像を用いた位置推定処理を指示する。位置推定部23は、負荷制御部22の実行指示に従って、画像を用いた位置推定処理を実行する(ステップS34)。画像処理のタイミングが到来しない場合(ステップS33;No)、負荷制御部22は、フォークリフト1が天井に設けられたマーカに接近したかどうかを判定する。例えば、負荷制御部22は、位置推定部23から推測航法による位置推定結果を取得し、取得した推定結果とマーカの情報が含まれる地図データとを照合して、周囲にマーカが存在するかどうかを判定する。例えば、現在の位置で撮影を行った場合にカメラ12の撮影範囲にマーカが存在する場合、負荷制御部22は、マーカに接近していると判定し、そうでない場合にはマーカに接近していないと判定する。マーカに接近していると判定した場合(ステップS35;Yes)、負荷制御部22は、位置推定部23に方法1による画像を用いた位置推定処理を指示する。位置推定部23は、負荷制御部22の実行指示に従って、画像を用いた位置推定処理(方法1)を実行する(ステップS34)。マーカに接近していないと判定した場合(ステップS35;No)、負荷制御部22は、位置推定部23に画像を用いた位置推定処理の実行を指示しないので、この制御周期では画像を用いた位置推定処理およびそれに伴う画像処理は実行されない。
これにより、第1実施形態~第3実施形態の効果に加え、位置推定精度をより向上することができる。
【0028】
図1では、フォークリフト1に1台のカメラ12を設けることとしたが、フォークリフト1には複数台のカメラ12を設けるようにしてもよい。そして、例えば、フォークリフト1の速度に応じて、測位精度が保てる最小台数のカメラだけを使用するようにしてもよいし、同時刻に複数のカメラが撮影した画像の中から測位精度が保てる最小枚数を選択して画像を用いた位置推定処理の処理対象とするように負荷制御部22が制御してもよい。例えば、フォークリフト1が低速で移動している場合には、複数台のカメラのうちの1台だけを用いて撮影を行ったり、あるいは、複数台のカメラ12が撮影した画像の中から1枚だけを画像処理の対象としたりすることで消費電力の低減を図るようにしてもよい。例えば、フォークリフト1の速度や角速度と使用するカメラの台数や画像の枚数を対応付けたテーブルを記憶部24に登録しておき、負荷制御部22は、このテーブルに基づいて、使用するカメラ台数や画像枚数を決定してもよい。
【0029】
図8は、実施形態に係る位置推定装置のハードウェア構成の一例を示す図である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。
上述の位置推定装置20は、コンピュータ900に実装される。そして、上述した各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
【0030】
なお、位置推定装置20の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各機能部による処理を行ってもよい。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、CD、DVD、USB等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また、このプログラムが通信回線によってコンピュータ900に配信される場合、配信を受けたコンピュータ900が当該プログラムを主記憶装置902に展開し、上記処理を実行しても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0031】
以上のとおり、本開示に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0032】
<付記>
各実施形態に記載の位置推定装置、フォークリフト、位置推定方法及びプログラムは、例えば以下のように把握される。
【0033】
(1)第1の態様に係る位置推定装置は、カメラを備える車両の位置を推定する位置推定装置であって、前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する(方法1および/又は方法2)位置推定部と、前記位置推定部による前記画像処理の実行タイミング又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する負荷制御部と、を備える。
これにより、位置の推定精度を確保しつつ、電力消費の低減を行うことができる。
【0034】
(2)第2の態様に係る位置推定装置は、(1)の位置推定装置であって、前記負荷制御部は、前記車両が所定の距離を進むごとに、又は、所定の角度を回転するごとに前記位置推定部に前記画像処理に基づく前記位置の推定を実行させる。
所定の距離又は所定の角度を適切に設定することで、位置の推定精度を確保しつつ、電力消費の低減を行うことができる。
【0035】
(3)第3の態様に係る位置推定装置は、(1)の位置推定装置であって、前記負荷制御部は、前記車両の速度および/又は角速度に応じて前記位置推定部が単位時間あたりに前記画像処理する画像の枚数を変更する。
画像の処理枚数を適切に変更することにより、位置の推定精度を確保しつつ、電力消費の低減を行うことができる。
【0036】
(4)第4の態様に係る位置推定装置は、(3)の位置推定装置であって、前記負荷制御部は、α、βを任意の係数としたときに以下の式によって前記枚数を算出する。
前記枚数=α×(前記車両の速度)+β×(前記車両の角速度)
これにより、位置の推定精度を確保しつつ、電力消費の低減を行うことができる画像の処理枚数を算出することができる。
【0037】
(5)第5の態様に係る位置推定装置は、(1)~(4)の位置推定装置であって、前記負荷制御部は、前記車両の速度又は角速度に応じて前記位置推定部が前記画像処理の対象とする前記画像の解像度および/又は前記画像処理の対象とする前記画像における処理対象領域の大きさを変更する(例えば、中央部のみトリミング)。
これにより、画像処理の負荷を、位置の推定精度を確保しつつ、電力消費の低減を行うよう制御することができる。
【0038】
(6)第6の態様に係る位置推定装置は、(1)~(5)の位置推定装置であって、前記カメラが複数設けられている場合、前記負荷制御部は、前記車両の速度又は角速度に応じて、複数の前記カメラが撮影した画像のうち前記画像処理の対象とする画像の枚数を変更する。
カメラが複数台ある場合には、複数のカメラで撮影された画像のうち画像処理対象とする画像の枚数を変更することで、画像処理の負荷を制御することができる。
【0039】
(7)第7の態様に係る位置推定装置は、(1)~(6)の位置推定装置であって、前記負荷制御部は、前記車両が位置推定の目印となるマーカの設置位置に接近すると、前記画像の処理負荷に関係なく、前記位置推定部に前記画像処理に基づく前記位置の推定を実行させる。
これにより、位置推定の精度を担保することができる。
【0040】
(8)第8の態様に係るフォークリフトは、(1)~(7)の位置推定装置と、カメラと、を備える。
【0041】
(9)第9の態様に係る位置推定方法は、カメラを備える車両の位置を推定する位置推定方法であって、前記カメラによって撮影された画像を画像処理して位置推定を行う場合の、前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の負荷を制御するステップと、前記負荷の制御に基づいて、前記画像を画像処理して前記車両の位置を推定するステップと、を有する。
【0042】
(10)第10の態様に係るプログラムは、カメラを備える車両の位置を推定するコンピュータを、前記カメラによって撮影された画像を画像処理して前記車両の位置を推定する手段、前記位置を推定する手段による前記画像処理の実行タイミングおよび/又は前記画像処理の対象となる前記画像を制御することにより、前記画像処理の処理負荷を制御する手段、として機能させる。
【符号の説明】
【0043】
1・・・フォークリフト
2・・・車体
3・・・荷役装置
4・・・フォーク
5・・・マスト
10・・・IMU
11・・・エンコーダ
12・・・カメラ
20・・・位置推定装置
21・・・入力部
22・・・負荷制御部
23・・・位置推定部
24・・・記憶部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース