[本願発明の実施形態の概要]
最初に本発明の実施形態の概要を列記して説明する。
(1)本発明の一実施形態に係る動線推定装置は、複数のマーカが設置された所定エリア内を走行する車両から観測した前記マーカの観測結果に基づいて、前記車両の動線を推定する動線推定装置であって、第1時点において前記車両が各前記マーカに係るマーカ位置に存在する確率に基づいて、前記第1時点よりも後の第2時点において前記車両が各前記マーカ位置に存在する確率を予測する確率予測部と、前記第2時点における前記観測結果に基づいて、各前記マーカ位置において、前記車両が、前記観測結果が示す前記マーカを観測する確率を推定する確率推定部と、前記確率予測部の予測結果および前記確率推定部の推定結果に基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を更新する更新部と、前記更新部による更新後の前記確率の時系列情報に基づいて、前記車両の動線を推定する動線推定部と、を備える。
このように、確率予測部は、過去の第1時点に予測された各マーカ位置に車両が存在する確率に基づいて現時点である第2時点の確率を予測することができる。一方、確率推定部は、車両が各マーカ位置に存在する場合に、観測結果が示すマーカを観測する確率を推定することができる。更新部は、これら2つの確率に基づいて、現時点の確率を更新することができる。従来の方法では、マーカの観測結果のみに基づいて現時点の確率を予測していた。しかし、この構成によると、観測結果に基づく確率に加え、さらに、過去の予測確率を考慮して、現時点の確率を予測することができる。
仮に車両の走行経路上の複数箇所に同じ構成のマーカが設置されており、このうちいずれかのマーカが観測されたとする。この場合、マーカの観測結果のみから確率を予測する従来の方法によると、車両が各マーカ位置に存在する確率はほぼ同じになる。これに対し、この構成によると、過去の予測確率を考慮している。つまり、車両が過去に存在していたマーカ位置を基準として、そのマーカ位置からは大きく移動しないであろうとの仮定の下で、現時点の確率を予測することができる。これにより、同一のマーカが複数箇所に存在していたとしても、車両の時間的な前後関係を用いて現時点の確率を予測し、車両の動線を推定することができる。つまり、少ない種類のマーカを用いたとしても車両の動線を正確に推定することができる。
(2)好ましくは、前記確率予測部は、前記第1時点から前記第2時点までの間に、前記車両が各前記マーカ位置から当該車両の走行速度に従いランダムウォークした場合に各前記マーカ位置へ到達する確率に基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を予測する。
この構成によると、車両の走行速度を考慮して、車両が次に到達可能な位置を推定して第2時点における各マーカ位置の車両の存在確率を算出することができる。これにより、車両の各マーカ位置における確率を正確に算出することができるため、車両の動線を正確に推定することができる。
(3)さらに好ましくは、前記確率予測部は、各前記マーカ位置へ到達する確率を、前記車両が当該マーカの設置位置から所定範囲内の各位置に到達する確率に基づいて算出する。
この構成によると、マーカの設置位置のみならず、当該設置位置から所定範囲内の位置に車両が到達する確率に基づいて、自マーカのマーカ位置に到達する確率を算出することができる。
(4)さらに好ましくは、各前記マーカの前記所定範囲は、当該マーカの設置位置からの距離が他のマーカの設置位置からの距離以下となる範囲である。
この構成によると、互いに隣接するマーカ間の中点よりも自マーカに近い位置に車両が到達する確率を、自マーカのマーカ位置に到達する確率として推定することができる。
(5)また、前記確率予測部は、前記マーカ位置ごとに用意された以下の到達確率情報と、前記第1時点における前記車両が各前記マーカ位置に存在する確率とに基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を予測してもよい。
到達確率情報:前記車両が当該マーカ位置を出発してから所定時間後に各前記マーカ位置に到達する確率の情報
この構成によると、マーカ位置ごとに用意された到達確率情報を用いて、第2時点における車両の存在確率を予測することができる。このため、確率予測部による予測処理を行うたびに、ランダムウォークの確率を算出する必要がなく、高速に車両の存在確率を予測することができる。
(6)また、前記確率予測部は、前記車両の走行速度および走行方向に基づいて、前記第1時点から前記第2時点までの間に、各前記マーカ位置から前記車両が前記走行方向に走行したと推定される場合に各前記マーカ位置へ到達する確率に基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を予測してもよい。
この構成によると、車両の走行速度および走行方向を考慮して、車両が次に到達可能な位置を推定して第2時点における各マーカ位置の車両の存在確率を算出することができる。これにより、車両の各マーカ位置における確率を正確に算出することができるため、車両の動線を正確に推定することができる。
(7)さらに好ましくは、上述の動線推定装置は、さらに、前記更新部による更新後の前記確率の時系列情報に基づいて、各時点において前記車両が各前記マーカ位置に存在する確率を平滑化する平滑化部を備え、前記動線推定部は、前記平滑化部による平滑化後の前記確率の時系列情報に基づいて、前記車両の動線を推定する。
この構成によると、各マーカ位置における確率の時間的な前後関係を考慮して、確率を予測することができる。これにより、確率を正確に予測することができる。よって、車両が時間的に連続して移動するような車両の動線を推定することができる。
(8)また、前記動線推定部は、前記確率の時系列情報を用いて、各時点において確率が最大のマーカ位置に基づいて、前記車両の動線を推定してもよい。
この構成によると、車両が存在する確率が最大の位置から車両の動線を推定することができるため、車両の動線を正確に推定することができる。
(9)また、上述の動線推定装置は、さらに、前記車両に備えられたカメラで撮像した画像データを取得する画像データ取得部を備え、前記確率推定部は、前記画像データ取得部が取得した前記第2時点に撮像された前記画像データに基づいて当該画像データに含まれる前記マーカを識別し、各前記マーカ位置において、前記車両が、識別結果が示す前記マーカを観測する確率を推定してもよい。
この構成によると、マーカを撮像した画像データに基づいて、車両が各マーカ位置に存在する場合に、識別結果が示すマーカを観測する確率を推定することができる。このため、車両の周囲を監視する監視カメラの画像データを利用して、確率を推定することができる。よって、特別な機器を追加することなく、低コストで車両の動線を推定することができる。
(10)また、上述の動線推定装置は、さらに、前記所定エリア内に設置された無線送信機から前記車両に備えられた無線受信部が受信したデータを取得する受信データ取得部を備え、前記確率推定部は、前記受信データ取得部が取得した前記データに基づいて当該データの前記第2時点における送信元の前記無線送信機を識別し、各前記マーカ位置において、前記車両が、識別結果が示す前記無線送信機から前記データを受信する確率を推定してもよい。
この構成によると、無線送信機が送信したデータに基づいて、車両が各マーカ位置に存在する場合に、識別結果が示す送信元の無線送信機からデータを受信する確率を推定することができる。このため、マーカが柱等の死角に入りカメラでマーカを撮影できない場合であっても、上記確率を推定することができる。
(11)また、前記確率推定部は、さらに、前記無線送信機の設置位置において、前記車両が、前記識別結果が示す前記無線送信機から前記データを受信する確率を推定し、前記更新部は、さらに、前記確率予測部の予測結果および前記確率推定部の推定結果に基づいて、前記第2時点において前記車両が前記無線送信機の設置位置に存在する確率を更新してもよい。
この構成によると、無線送信機が送信したデータに基づいて、車両が各無線送信機の設置位置に存在する場合に、識別結果が示す送信元の無線送信機からデータを受信する確率を推定することができる。このため、マーカが柱等の死角に入りカメラでマーカを撮影できない場合であっても、上記確率を推定することができる。
(12)本発明の他の実施形態に係る動線推定方法は、複数のマーカが設置された所定エリア内を走行する車両から観測した前記マーカの観測結果に基づいて、前記車両の動線を推定する動線推定装置による動線推定方法であって、第1時点において前記車両が各前記マーカに係るマーカ位置に存在する確率に基づいて、前記第1時点よりも後の第2時点において前記車両が各前記マーカ位置に存在する確率を予測するステップと、前記第2時点における前記観測結果に基づいて、各前記マーカ位置において、前記車両が、前記観測結果が示す前記マーカを観測する確率を推定するステップと、予測された前記確率および推定された前記確率に基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を更新するステップと、更新後の前記確率の時系列情報に基づいて、前記車両の動線を推定するステップと、を含む。
この構成は、上述の動線推定装置が備える特徴的な処理部に対応するステップを含む。このため、上述の動線推定装置と同様の作用および効果を奏することができる。
(13)本発明の他の実施形態に係るコンピュータプログラムは、コンピュータを、複数のマーカが設置された所定エリア内を走行する車両から観測した前記マーカの観測結果に基づいて、前記車両の動線を推定する動線推定装置として機能させるためのコンピュータプログラムであって、前記コンピュータを、第1時点において前記車両が各前記マーカに係るマーカ位置に存在する確率に基づいて、前記第1時点よりも後の第2時点において前記車両が各前記マーカ位置に存在する確率を予測する確率予測部と、前記第2時点における前記観測結果に基づいて、各前記マーカ位置において、前記車両が、前記観測結果が示す前記マーカを観測する確率を推定する確率推定部と、前記確率予測部の予測結果および前記確率推定部の推定結果に基づいて、前記第2時点において前記車両が各前記マーカ位置に存在する確率を更新する更新部と、前記更新部による更新後の前記確率の時系列情報に基づいて、前記車両の動線を推定する動線推定部と、して機能させる。
この構成によると、コンピュータを上述の動線推定装置として機能させることができる。このため、上述の動線推定装置と同様の作用および効果を奏することができる。
[本願発明の実施形態の詳細]
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲によって特定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
また、同一の構成要素には同一の符号を付す。それらの機能および名称も同様であるため、それらの説明は適宜省略する。
[実施の形態1]
<走行経路管理システムの全体構成>
図1は、本発明の実施の形態1に係る走行経路管理システムの構成の一例を示す図である。
図1を参照して、走行経路管理システム10は、フォークリフト1と、基地局6と、サーバ7とを備える。
フォークリフト1は、所定エリアである工場内等で大型の物品4を搬送するために用いられる産業用車両である。フォークリフト1は、そのオーバーハング1Xに物品4を積載して走行することにより、物品4を搬送することができる。フォークリフト1には、カメラ2と、車載装置3とが取り付けられている。カメラ2は、フォークリフト1の後方を撮像可能な位置(例えば、フォークリフト1のフォークヘッドガード後端位置など)に取り付けられ、フォークリフト1の後方の画像を撮像する。カメラ2のカメラレンズは、例えば、画角120°以上の超広角レンズである。カメラ2は、フォークリフト1の後方を監視する目的で用いられるが、後述するマーカを撮像する目的でも用いられる。なお、カメラ2は、フォークリフト1の前方を撮像可能な位置に取り付けられていてもよい。
フォークリフト1に取り付けられる車載装置3は、カメラ2と有線または無線で接続されており、基地局6と無線通信を行うための機能を備えている。車載装置3は、基地局6および基地局6が接続されるネットワークを介してサーバ7に、カメラ2が撮像した画像データと、フォークリフト1の識別子である車両IDとを含むセンサ情報を無線で送信する。
基地局6は、インターネット等のネットワークに接続されており、車載装置3と無線通信を行う。基地局6は、例えば、Wi−Fi(登録商標)等のアクセスポイントであってもよいし、5G(第5世代移動通信システム)またはLTE(Long Term Evolution)などの無線基地局であってもよい。
サーバ7は、動線推定装置として機能し、ネットワークを経由して車載装置3からセンサ情報を受信する。サーバ7は、センサ情報に基づいて、車載装置3の移動経路を解析するとともに、車載装置3により搬送される物品4の搬送経路を解析する。
<フォークリフト1について>
図2は、本発明の実施の形態1に係るフォークリフト1の走行経路の一例を示す図である。
図2は、一例として、工場内におけるフォークリフト1の走行経路を示している。フォークリフト1は、工場内で物品4を搬送するが、工場内には、柱、壁または設備などのフォークリフト1が走行することのできない固定物8が存在する。つまり、フォークリフト1は、固定物8以外の場所を走行可能である。ただし、固定物8以外であっても、フォークリフト1が立ち入ることのできない場所を工場内に設けてもよい。
図2には、便宜上、1台のフォークリフト1を記載しており、フォークリフト1は、例えば、地点Aから地点Bに向かって走行する。なお、フォークリフト1の台数は1台に限定されるものではなく、工場内を複数のフォークリフト1が走行していてもよい。
固定物8には、予め、位置を識別するためのマーカ9が取り付けられている。例えば、図2に示す工場内には、マーカ9として、フォークリフト1の走行経路上の地点A〜Dの周囲にマーカM1〜M4が取り付けられている。ただし、マーカ9の取り付け位置および取り付け個数は図2に示したものに限定されるものではない。
例えば、フォークリフト1が、地点A、地点B、地点C、地点Dの順に移動走行した場合には、フォークリフト1のカメラ2は、マーカM1、マーカM2、マーカM3、マーカM4の順に、各マーカ9を撮像する。
ここで、地点A〜Dにそれぞれ設置されたマーカM1〜M4の識別結果、つまり、マーカM1〜M4を画像処理により識別した結果を、それぞれ、ID1〜ID4とする。
図3は、本発明の実施の形態1に係るマーカ9の一例を示す図である。
図3を参照して、マーカ9は、例えば、平行に配置された赤ラベル9R、緑ラベル9Gおよび青ラベル9Bにより構成される。赤ラベル9Rと緑ラベル9Gとの間、および緑ラベル9Gと青ラベル9Bとの間には、間隙領域9Sが設けられている。間隙領域9Sは、例えば黒色の領域である。ただし、間隙領域9Sは、マーカ9に必ずしも設けられていなくてもよい。
マーカ9は、取り付けられる位置ごとに構成が異なる。つまり、図3に示すマーカ9が貼り付けられた地点とは異なる地点には、別の構成のマーカ9が貼り付けられる。例えば、位置ごとに、図3に示した各色ラベルの配置順や各色ラベルの数を異ならせることでマーカ9の構成を変更してもよい。また、各色ラベルを横方向に平行となるように配置するのではなく縦方向に平行となるように配置することで、位置ごとにマーカ9の構成を変更してもよいし、各色ラベルの形状を矩形形状にするのではなく、三角形状や円形状など他の形状にすることにより、位置ごとにマーカ9の構成を位置ごとに変更してもよい。さらに、位置ごとに、各色ラベルの色を異ならせることでマーカ9の構成を変更してもよい。このような構成の違いにより、マーカ9を撮像した画像データを画像処理することにより、マーカ9を識別することができる。
なお、本実施の形態によると、同種のマーカ9が工場内に含まれていたとしても、マーカ9の位置を推定することができる。その理由については後述する。
図4は、本発明の実施の形態1に係るフォークリフト1のカメラ2が撮像した画像データの一例を示す図である。カメラ2は、フォークリフト1の後方を監視し、例えば、固定物8に貼り付けられたマーカ9を周期的に撮像することにより画像データを取得する。
図4に示すように、マーカ9は壁面に設置されることが多い。このため、フォークリフト1が壁面の傍を走行している状態においてカメラ2がマーカ9を撮像した場合には、画像上で横方向のモーションブラーが生じやすい。しかし、上述したようにマーカ9を構成する各色ラベルは横方向に平行となるように配置されている。このため、モーションブラーの影響により各色ラベル間で色が混じり合うのを防ぐことができる。これにより、マーカ9を正確に識別することができる。
図5は、本発明の実施の形態1に係るフォークリフト1の構成の一例を示すブロック図である。
図5を参照して、フォークリフト1は、カメラ2と、車載装置3とを備える。なお、フォークリフト1には、これらの構成以外にも、フォークリフト1を移動させるための構成が当然備わっている。
カメラ2は、上述したように、フォークリフト1の後方の画像を撮像する。
車載装置3は、送受信部31と、アンテナ32と、画像データ取得部33と、センサ情報作成部34とを備える。
車載装置3は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えるコンピュータ装置により実現可能である。画像データ取得部33およびセンサ情報作成部34は、ROM等に記憶されたコンピュータプログラムをCPU上で実行することにより実現される機能的な処理部である。ただし、画像データ取得部33およびセンサ情報作成部34の一部または全部が半導体装置などのハードウェアにより構成されていてもよい。
画像データ取得部33は、カメラ2により撮像されたフォークリフト1の後方の画像データを、インタフェースを介して取得する。なお、画像データ取得部33は、画像データを画像処理し、マーカ9を含む画像データを切り出してもよい。例えば、画像データ取得部33は、画像データ中に、予め定められた2色以上の領域(ここでは、赤色領域、緑色領域、青色領域)が含まれているか否かの判定処理を実行する。画像データ取得部33は、当該領域が含まれていると判定した場合には、当該領域を含み、当該領域から所定の距離内の画像データを切り出す。
センサ情報作成部34は、フォークリフト1の識別子である車両IDと、画像データ取得部33が取得した画像データとを含むセンサ情報を作成する。なお、車両IDは、車載装置3の記憶部に記憶されている。
送受信部31は、センサ情報作成部34が作成したセンサ情報を、アンテナ32を介して、基地局6および基地局6に接続されるネットワークを経由してサーバ7に送信する。送受信部31は、Wi−Fi(登録商標)、5GまたはLTEなどの無線通信規格に従い、基地局6と無線通信する。
図6は、本発明の実施の形態1に係るセンサ情報作成部34が作成するセンサ情報の一例を示す図である。
センサ情報は、時刻情報、画像データなどより構成される。
時刻情報は、画像データ取得部33がカメラ2から画像データを取得した時刻を示す情報である。センサ情報作成部34は、車載装置3に設けられたタイマまたはクロックの出力信号に基づいて、画像データを取得した時刻を特定する。
車両IDは、フォークリフト1の識別子(車両ID)(例えば、「FL1」)を示す情報である。なお、フォークリフト1と車載装置3とは一対一に対応付けられている。このため、車両IDとして、車載装置3の識別子である車載装置IDを利用することもできる。フォークリフト1と車載装置3との対応関係(車両IDと車載装置IDとの対応関係)は、サーバ7において管理される。
センサ情報は、画像データ取得部33がカメラ2から取得した画像データもしくは当該画像データから切り出したマーカ9を含む画像データ(マーカ画像データ)を示す情報である。
図7は、本発明の実施の形態1に係るフォークリフト1に搭載された車載装置3の動作手順の一例を示すフローチャートである。
図7を参照して、画像データ取得部33は、カメラ2から、フォークリフト1の後方の画像データを取得する(S11)。
画像データ取得部33は、取得した画像データを画像処理することにより、マーカ9を含む画像データを切り出す(S12)。
センサ情報作成部34は、ステップS12の処理で得られた画像データに基づいて、図6に示したようなセンサ情報を作成する(S13)。
送受信部31は、作成されたセンサ情報を、サーバ7に送信する(S14)。
車載装置3は、フォークリフト1の走行が終了するまでの間(S15でNO)、ステップS11〜S14の処理を繰り返し実行し、フォークリフト1の走行が終了すると(S15でYES)、処理を終了する。例えば、車載装置3は、フォークリフト1のエンジンが停止したことを示す信号を受信した場合に、フォークリフト1の走行が終了したと判断する。
図7では、センサ情報を作成する度に送信することとしているが、定期的(例えば、1日1回)に複数のセンサ情報をまとめて、サーバ7に送信してもよい。なお、リアルタイムでサーバ7にセンサ情報を送信する必要がない場合には、センサ情報を記憶させたメモリカード等を利用して、オフラインでサーバ7にセンサ情報を与えるようにしてもよい。
<サーバ7について>
図8は、本発明の実施の形態1に係るサーバ7の構成の一例を示すブロック図である。
サーバ7は、CPU、ROM、RAM等を備えるコンピュータ装置により実現される。サーバ7は、通信部71と、記憶部72と、制御部73とを備える。
通信部71は、無線または有線によりサーバ7をネットワークに接続するための通信インタフェースである。通信部71は、ネットワークを経由して、フォークリフト1の車載装置3から、センサ情報を受信する。
記憶部72は、ROM、RAM等により構成され、CPUで実行されるコンピュータプログラムの他、コンピュータプログラム実行時の一時的なデータなどを記憶する。また、記憶部72は、工場内に取り付けられたマーカ9の画像データと、マーカ9の識別子(例えば、後述するID1〜ID4)およびマーカ9の位置(例えば、後述する地点A〜D)との対応関係を示すマーカ位置情報を記憶している。
制御部73は、CPU等により構成され、記憶部72に記憶されているコンピュータプログラムを実行することにより実現される機能的な処理部として、センサ情報取得部74と、確率予測部75と、確率推定部76と、更新部77と、平滑化部78と、動線推定部79とを備える。
センサ情報取得部74は、画像データ取得部として機能し、通信部71を経由して、車載装置3からセンサ情報を取得する。
確率予測部75は、第1時点においてフォークリフト1が各マーカ9に係るマーカ位置に存在する確率に基づいて、第1時点よりも後の時点においてフォークリフト1が各マーカ位置に存在する確率を予測する。ここで、マーカ位置とは、マーカ9が設置される地点およびその周辺の地点を示す。なお、マーカ位置のことを地点とも言う。
例えば、第1時点および第2時点は、画像データが取得された時点または取得した画像データに画像処理を行ってマーカの識別に成功した時点としてもよい。つまり、図6に示したセンサ情報の時刻情報が示す時刻を上記時点としてもよい。当該時点は、マーカ9の観測時刻でもある。
ここで、xn,yn,Ynを以下のように定義する。
xn:n回目のマーカ9観測時(識別成功時)のフォークリフト1の位置(例、地点A、B、C、D)
yn:n回目のマーカ9の識別結果(例、ID1、ID2、ID3、ID4)
Yn={y1,…,yn}
確率予測部75は、以下の式1に従って、n−1回目のマーカ9観測時においてフォークリフト1が各マーカ位置(各地点)に存在する確率p(xn−1|Yn−1)に基づいて、n回目のマーカ9観測時においてフォークリフト1が各マーカ位置に存在する確率p(xn|Yn−1)を予測する。以下では、i回目のマーカ9観測時を、単にi回目と表現する。
確率予測部75は、n−1回目からn回目の間に、フォークリフト1がランダムウォークすると仮定して、式1に示す確率を計算する。式1のp(xn|xn−1)がランダムウォークのシステムモデルを示す。
ランダムウォークのシステムモデルp(xn|xn−1)は、以下の式2と等価である。
p(xn|xn−1)=f(xn−1,xn,tn) …(式2)
ここで、tn、f(z1,z2,t)は以下の通りである。
tn:n−1回目とn回目のマーカ9の観測時刻の差(単位:[秒])
f(z1,z2,t):地点z1から時間t後にランダムウォークによって地点z2の領域に入る確率
ランダムウォークでは、微小時間Δtの間にフォークリフト1が移動可能な各方向に等確率で微小距離Δxだけ移動するものとする。ただし、以下の式3の関係が成立するものとする。
(Δx)2/Δt〜V2T …(式3)
ここで、V、Tは以下の通りである。また、「〜」は、オーダー的に等しいこと、具体的には左辺および右辺の一方が他方の10倍以下の数倍程度であることを示す。
V:フォークリフト1の平均的な移動速度
T:マーカ9を観測する平均的な時間間隔
図9は、ランダムウォークについて説明するための図である。図9を参照して、z1を地点A、z2を地点A、B、CおよびD、時間tを3.6[秒]とした場合のランダムウォークについて説明する。
図9に示すように、フォークリフト1はZ1(地点A)を出発したとする。この場合、地点Aにフォークリフト1が存在する確率は1.0である。フォークリフト1は、地点Aを出発して微小時間Δtの間にΔxだけランダムウォークするものとする。ここで、V=10[km/h]、T=2.7[秒]、(Δx)2/Δt=V2Tとする。
図10は、Z1(地点A)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率を示す到達確率情報を示す図である。地点Aを出発したフォークリフト1が、t(=3.6[秒])後に地点A〜Dに到達する確率を、関数f(z1,z2,t)の定義に従い計算すると、図10の(A)に示す確率となる。つまり、地点A〜Dに到達する確率は、0.3、0.2、0.2、0.3となる。なお、関数f(z1,z2,t)に従い確率を計算する際には、地点間の距離(例えば、地点AB間:10m、地点BC間:5m、地点CD間:10m、地点DA間:5m)を考慮して確率が計算される。
なお、図10の(A)に示す地点Aとは、マーカM1の設置位置と当該設置位置から所定範囲内の位置を含む。例えば、地点Aは、破線で示した領域内の位置であり、マーカM1から、マーカM1に隣接するマーカM2またはM4との中点までのフォークリフト1の走行経路を含む領域内の位置である。つまり、地点Aに到達する確率は、上記の破線で示した領域内のいずれかの位置(地点Aから所定範囲内のいずれかの位置)にフォークリフト1が到達する確率であり、領域内の各位置にフォークリフト1が到達する確率を合計したものである。地点B〜Dも同様に定義される。
これにより、Z1(地点A)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率は、図10の(B)に示すようになる。つまり、t秒後に地点A〜Dに到達する確率は、それぞれ、0.3、0.2、0.2、0.3となる。
なお、所定範囲の決め方は上記したものに限定されるものではない。例えば、地点間の通路幅が一定でなく、通路幅の広い場所ほどフォークリフト1の存在確率が高くなることが想定される場合には、幅の広い通路に近い地点の到達確率を高い値に調整した方が良い。このため、地点間の中点以外の点で所定範囲を分割してもよい。
また、マーカ9の設置位置から所定距離以内の領域を所定範囲としてもよい。ただし、この場合には、地点ごとの到達確率の合計が1になるように正規化するものとする。
サーバ7は、図10の(B)に示される結果(以下、「到達確率情報」という。)を記憶部72に記憶している。到達確率情報は、マーカ位置ごとに用意され、フォークリフト1が当該マーカ位置を出発してから所定時間t後に各マーカ位置に到達する確率の情報である。
同様に、サーバ7の記憶部72は、Z1(地点B、C、D)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率を記憶している。
図11は、Z1(地点B)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率を示す到達確率情報を示す図である。つまり、t秒後に地点A〜Dに到達する確率は、0.2、0.3、0.3、0.2となる。
図12は、Z1(地点C)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率を示す到達確率情報を示す図である。つまり、t秒後に地点A〜Dに到達する確率は、0.2、0.3、0.3、0.2となる。
図13は、Z1(地点D)を出発したフォークリフト1が、t秒後に地点A〜Dに到達する確率を示す到達確率情報を示す図である。つまり、t秒後に地点A〜Dに到達する確率は、0.3、0.2、0.2、0.3となる。
図14は、サーバ7が実行する処理について説明するための図である。図14の(A)は、n−1回目にフォークリフト1が各地点に存在する確率を示す。つまり、n−1回目にフォークリフト1が地点A〜Dに存在する確率は、それぞれ、0.6、0.2、0.0、0.2である。
図14の(B)は、確率予測部75が予測したn回目にフォークリフト1が各地点に存在する確率を示す。つまり、図14の(B)は、図14の(A)に示したn−1回目のフォークリフト1の存在確率の下で、フォークリフト1がランダムウォークした場合に、n回目に各地点に到達する確率を示している。一例として、n回目にフォークリフト1が地点A〜Dに到達する確率は、それぞれ、0.3、0.2、0.2、0.3である。
地点Aの確率0.3は、以下のように計算される。つまり、確率予測部75は、記憶部72から地点Aに対応した到達確率情報を読み出す。確率予測部75は、図14の(A)に示したn−1回目の確率分布と、読み出した到達確率情報とに基づいて、以下の式4に従い、地点Aの確率0.3を算出する。
p(xn=A|Yn−1)
=p(xn=A|xn−1=A)p(xn−1=A|Yn−1)
+p(xn=A|xn−1=B)p(xn−1=B|Yn−1)
+p(xn=A|xn−1=C)p(xn−1=C|Yn−1)
+p(xn=A|xn−1=D)p(xn−1=D|Yn−1)
=0.3×0.6+0.2×0.2+0.2×0+0.3×0.2
≒0.3 …(式4)
その他の地点B〜Dの確率0.2、0.2、0.3も同様に算出される。
次に、確率推定部76が実行する処理について説明する。確率推定部76は、第2時点におけるマーカ9の観測結果に基づいて、フォークリフト1が各マーカ位置(各地点)に存在する場合に、観測結果が示すマーカ9を観測する確率を推定する。具体的には、確率推定部76は、センサ情報取得部74が取得したセンサ情報に含まれる各画像データに基づいて、当該画像データに含まれるマーカ9を識別する。確率推定部76は、マーカ9の識別結果に基づいて、フォークリフト1が、識別結果が示すマーカ9を観測する確率を推定する。
記憶部72には、各地点xn(例、地点A、B、C、D)において、マーカ9の識別結果がyn(例、ID1、ID2、ID3、ID4)となる確率p(yn|xn)を示す観測モデルが記憶されている。
図15は、観測モデルの作成方法について説明するための図である。例えば、地点AにおいてID1のマーカ9を繰り返し撮像し、画像データからマーカ9を識別した結果を示している。1000件のうち、700件は正しくID1と識別されているが、100件はID2と識別され、100件はID3と識別され、100件はID4と識別されている。このため、地点AにおいてID1のマーカ9を観測した場合に、ID1と識別される確率は0.7であり、ID2と識別される確率は0.1であり、ID3と識別される確率は0.1であり、ID4と識別される確率は0.1である。同様に、地点BにおいてID2のマーカ9を繰り返し撮像し、画像データからマーカ9を識別する。また、地点CにおいてID3のマーカ9を繰り返し撮像し、画像データからマーカ9を識別する。さらに、地点DにおいてID4のマーカ9を繰り返し撮像し、画像データからマーカ9を識別する。これら識別結果から以下の観測モデルが作成される。
図16は、記憶部72に記憶されている観測モデルの一例を示す他の図である。図16は、観測結果がID1の場合に観測モデルから得られる確率を示している。つまり、フォークリフト1が地点A〜Dのそれぞれにおいて、ID1のマーカ9を観測する確率は0.7、0.1、0.1および0.1である。
図17は、記憶部72に記憶されている、図16と同じ観測モデルにおいて観測結果が異なる場合の確率を示した観測モデルの一例を示す図である。図17は、観測結果がID2の場合に観測モデルから得られる確率を示している。つまり、フォークリフト1が地点A〜Dのそれぞれにおいて、ID2のマーカ9を観測する確率は0.1、0.7、0.1および0.1である。
図18は、記憶部72に記憶されている、図16と同じ観測モデルにおいて観測結果が異なる場合の確率を示した観測モデルの一例を示す図である。図18は、観測結果がID3の場合に観測モデルから得られる確率を示している。つまり、フォークリフト1が地点A〜Dのそれぞれにおいて、ID3のマーカ9を観測する確率は0.1、0.1、0.7および0.1である。
図19は、記憶部72に記憶されている、図16と同じ観測モデルにおいて観測結果が異なる場合の確率を示した観測モデルの一例を示す図である。図19は、観測結果がID4の場合に観測モデルから得られる確率を示している。つまり、フォークリフト1が地点A〜Dのそれぞれにおいて、ID3のマーカ9を観測する確率は0.1、0.1、0.1および0.7である。
図14の(C)に示すように、例えば、フォークリフト1が地点Bの近傍を走行中に、カメラ2が撮像したID2のマーカ9の画像データを、確率推定部76が画像処理したとする。画像処理の結果、確率推定部76は、画像データ中のマーカ9をID2と識別したとする。このとき、確率推定部76は、ID2に対応する観測モデル(図17)を記憶部72から読み出すことにより、フォークリフト1が各地点においてID2のマーカ9を観測する確率を推定する。つまり、確率推定部76は、観測モデルから、図14の(D)に示すように、フォークリフト1が地点A〜DにおいてID2のマーカ9を観測する確率を、それぞれ、0.1、0.7、0.1、0.1と推定する。
更新部77は、確率予測部75の予測結果および確率推定部76の推定結果に基づいて、第2時点においてフォークリフト1が各マーカ位置(各地点)に存在する確率を更新する。具体的には、式5に従って、確率推定部76が推定した観測モデルp(yn|xn)を用いて、確率予測部75が予測したフォークリフト1の各地点の存在確率p(xn|Yn−1)に対するフィルタ操作を行う。
例えば、更新部77は、図14の(B)に示したn回目にフォークリフト1が各地点に存在する予測確率p(xn|Yn−1)と、図14の(D)に示したn回目の観測モデルp(yn|xn)との各地点の確率を、地点ごとに乗算し、図14の(E)に示すような確率を算出する。更新部77は、図14の(E)に示した確率を、確率の合計が1となるように正規化することにより、図14の(F)に示すような各地点にフォークリフト1が存在する確率を予測する。
更新部77は、各時点で推定された確率を記憶部72に記憶させる。つまり、更新部77は、各時点の存在確率の時系列情報を記憶部72に記憶させる。
平滑化部78は、各時点の存在確率の時系列情報を記憶部72から読み出し、読み出した時系列情報に基づいて、各時点においてフォークリフト1が各マーカ位置(各地点)に存在する確率を平滑化する。
つまり、平滑化部78は、以下の式6に従いn回目の予測確率p(x
n|Y
n)を平滑化する。
ここで、Nmax:マーカ9の全観測回数(0≦n≦Nmax)
平滑化処理を行うことにより、時間的に後の確率に基づいて、時間的に前の確率を修正し、時間的に整合性のとれた確率の時系列情報を作成することができる。
動線推定部79は、平滑化部78により平滑化された確率の時系列情報に基づいて、フォークリフト1の動線を推定する。つまり、動線推定部79は、各時点において確率が最大となる地点を時間的に接続することにより、フォークリフト1の動線を推定する。例えば、時間的に進むにつれ、確率最大の地点が地点A、地点B、地点C、地点Dの順に変化したとする。この場合、動線推定部79は、フォークリフト1が地点A、地点B、地点C、地点Dの順に移動するフォークリフト1の動線を推定する。
制御部73は、動線推定部79が推定したフォークリフト1の動線に基づいて、フォークリフト1の無駄な動きや、作業むら、待ち状態などを解析することができる。これにより、制御部73は、効率的な移動順路などを算出し、作業者に提示することができる。
図20は、本発明の実施の形態1に係るサーバ7の動作手順の一例を示すフローチャートである。なお、図20に示す動作は、フォークリフト1の走行が終了した後に行われるものとする。つまり、サーバ7が処理対象とするセンサ情報には、フォークリフト1が走行を開始してから走行を終了するまでの間に撮像された複数の画像データが含まれているものとする。ただし、サーバ7は、フォークリフト1が走行している状態において逐次センサ情報を取得し、リアルタイムで、フォークリフト1の存在確率を予測し、後述する推定処理(S26)、フィルタ処理(S27)および動線推定処理(S30)を実行してもよい。
図20を参照して、確率予測部75は、存在確率を初期化する(S21)。例えば、工場内に4つの地点A〜Dが存在する場合には、初期時点ではフォークリフト1がどの地点に存在するかが不明である。このため、初期時点(0回目)においてフォークリフト1が各マーカ位置(各地点)に存在する確率p(x0|Y0)を全て0.25(=1/4)に設定する。なお、フォークリフト1の駐車位置が既知の場合には、駐車位置が属する地点の確率を1.0に設定し、それ以外の地点の確率を0に設定してもよい。
センサ情報取得部74は、フォークリフト1の車載装置3からセンサ情報を取得する(S22)。
確率推定部76は、取得されたセンサ情報に含まれる画像データを画像処理し、当該画像データ中に、記憶部72に記憶されているマーカ位置情報に含まれるマーカ9の画像データが含まれるか否かを検出する。マーカ9の画像データが検出された場合には、確率推定部76は、マーカ位置情報に基づいて、検出したマーカ9の画像データに対応するマーカ9を識別(マーカ9の識別子ID1〜ID4を特定)する(S23)。なお、マーカ9の検出および識別は、例えば、以下のようにして行われる。つまり、確率推定部76は、上記画像データを画像処理することにより、画像データから色や形状等の特徴量を抽出する。確率推定部76は、抽出した特徴量と、各マーカ9の画像データが有する特徴量とを比較することにより、いずれかのマーカ9の特徴量に合致する領域を画像データ中から検出することで、マーカ9の検出および識別を行う。
マーカ9を識別することができた場合、つまり、マーカ9の識別子を特定することができた場合には(S24でYES)、確率予測部75は、過去のフォークリフト1の存在確率に基づいて、画像データの取得時刻におけるフォークリフト1の存在確率を予測する(S25)。つまり、確率予測部75は、式1に基づいて、前回(n−1回目)のフォークリフト1が各地点に存在する確率p(xn−1|Yn−1)に基づいて、今回(n回目)のフォークリフト1が各地点に存在する確率p(xn|Yn−1)を予測する。例えば、確率予測部75は、図14の(A)に示した前回の地点A〜Dにおけるフォークリフト1の存在確率に基づいて、図14の(B)に示した今回の地点A〜Dにおけるフォークリフト1の存在確率を予測する。
なお、式1に示すランダムウォークのシステムモデルp(xn|xn−1)は、地点ごとに用意され記憶部72に記憶されている到達確率情報を用いて算出される。到達確率情報では、n回目とn−1回目の間の時間を例えば、t秒としているが、n−1回目からn回目までの時間が、例えば、M×t秒の場合には、確率予測部75は、式1の演算をM回行うことにより、フォークリフト1の到達確率情報を算出してもよい。また、記憶部72に、複数の時間に対応する到達確率情報が記憶されている場合には、確率予測部75は、M×t秒に対応した到達確率情報を記憶部72から読み出して、読み出した到達確率情報を用いて式1の演算を行ってもよい。
また、確率推定部76は、マーカ9の識別結果に基づいて、現在(n回目)においてフォークリフト1が、地点A〜Dのそれぞれにおいて、識別されたマーカ9を観測する確率を推定する(S26)。つまり、確率推定部76は、マーカ9の識別子に対応した観測モデルを記憶部72から読み出すことにより、地点A〜Dのそれぞれについて上記確率を推定する。例えば、確率推定部76は、マーカ9の識別子をID2と識別した場合には、図14の(D)に示すような、識別子ID2に対応する観測モデルを記憶部72から読み出す。これにより、確率推定部76は、地点A〜Dのそれぞれにおいて、ID2のマーカ9を観測する確率を、それぞれ、0.1、0.7、0.1、0.1と推定する。
更新部77は、ステップS25での予測結果およびステップS26での推定結果に基づいて、現在(n回目)においてフォークリフト1が地点A〜Dに存在する確率を更新し、更新後の確率を記憶部72に記憶させる(S27)。つまり、更新部77は、式5に従い、ステップS26での推定結果である観測モデルp(yn|xn)を用いて、ステップS25での予測結果であるフォークリフト1の各地点の存在確率p(xn|Yn−1)に対するフィルタ操作を行う。例えば、更新部77は、式5に従い、図14の(D)に示すような観測モデルp(yn|xn)を用いて、図14の(B)に示すようなフォークリフト1の各地点の存在確率p(xn|Yn−1)に対するフィルタ操作を行う。これにより、図14の(F)に示すようにフォークリフト1が地点A〜Dに存在する確率が更新される。
ステップS27の処理の後、またはマーカ9を識別することができなかった場合には(S24でNO)、制御部73は、フォークリフト1の走行が終了したか否かを判断する(28)。例えば、制御部73は、センサ情報取得部74が取得したセンサ情報に未処理の画像データが含まれていない場合には、走行が終了したと判断し、未処理の画像データが含まれている場合には、走行が終了していないと判断する。
走行が終了していない場合には(S28でNO)、制御部73は、未処理の画像データに対して、ステップS23〜S27の処理を繰り返し実行する。
走行が終了した場合には(S28でYES)、平滑化部78は、各時点の予測確率の時系列情報を記憶部72から読み出し、読み出した時系列情報に基づいて、式6に従い各時点においてフォークリフト1が各マーカ位置(各地点)に存在する確率を平滑化する(S29)。
動線推定部79は、平滑化部78により平滑化された確率の時系列情報に基づいて、各時点において確率が最大となる地点を時間的に並べることにより、フォークリフト1の動線を推定する(S30)。
<平滑化処理の効果について>
次に、平滑化部78による平滑化処理の効果について説明する。
図21は、平滑化部78による平滑化処理について説明するための図である。図21の(A)に示すように、地点A〜Dには、識別子ID1、ID2、ID3およびID1のマーカM1〜M4がそれぞれ設置されているものとする。つまり、マーカM1およびM4は同じものであり、識別子がID1であるものとする。
図21の(A)は、走行開始直後のフォークリフト1の位置を示している。つまり、フォークリフト1のカメラ2は、マーカM1の画像を撮像したものとする。図21の(B)は、図21の(A)の次の時点のフォークリフト1の位置を示している。つまり、フォークリフト1のカメラ2は、マーカM2の画像を撮像したものとする。その後、フォークリフト1は走行を停止したものとする。図21の(A)の時点を第1時点とし、図21の(B)の時点を第2時点とする。
図21の(C)は、第1時点における更新部77によるフィルタ操作の結果を示し、図21の(D)は、第2時点におけるサーバ7によるフィルタ操作の結果を示す。第1時点は走行開始直後であるため、確率推定部76による推定結果が支配的となる。また、第1時点においてはマーカM1が識別され、マーカM1の識別結果はマーカM4と同じである。このため、図21の(C)に示すように地点Aおよび地点Dの存在確率が共に0.44となり、最大である。図21の(D)では、マーカM2が観測されるため、地点Bの存在確率0.68が最大となる。
これに対し、平滑化処理を行うと、第1時点の存在確率は、第2時点の存在確率を用いて平滑化されるため、図21の(E)のように更新される。つまり、地点Aの存在確率が0.44から0.47に上昇したのに対し、地点Dの存在確率が0.44から0.39に減少する。これは、地点Aが第2時点で存在確率最大の地点Bに隣接しているので、地点Aの存在確率が上昇し、地点Dと地点Bは離れているため、地点Dの存在確率が減少したものと考えられる。
なお、第2時点は走行停止直前であるため、第2時点の存在確率の分布は、図21の(F)に示すように、図21の(D)に示した分布と同じである。
図21の(E)および(F)の存在確率の分布から、動線推定部79は、第1時点から第2時点に亘り、フォークリフト1が地点Aから地点Bに移動したと、正しくフォークリフト1の動線を推定することができる。これに対して、平滑化処理を行わなかった場合には、図21の(C)および(D)の存在確率の分布から、フォークリフト1が地点Aから地点Bに移動したのか、地点Dから地点Bに移動したのかを判断することができない。このように、平滑化処理を行うことにより、工場内に同種のマーカM1およびM4が取り付けられていたとしても、フォークリフト1の動線を正しく推定することができる。
<実施の形態1の効果>
以上説明したように、本発明の実施の形態1によると、確率予測部75は、過去に予測された各マーカ位置にフォークリフト1が存在する確率に基づいて現時点の確率を予測することができる。一方、確率推定部76は、マーカ9の観測結果に基づいて、フォークリフト1が各マーカ位置に存在する場合に、観測結果が示すマーカ9を観測する確率を推定することができる。更新部77は、これら2つの確率に基づいて、現時点の確率を更新することができる。従来の方法では、マーカ9の観測結果のみに基づいて現時点の確率を予測していた。しかし、実施の形態1によると、観測結果に基づく確率に加え、さらに、過去の予測確率を考慮して、現時点の確率を予測することができる。
仮にフォークリフト1の走行経路上の複数箇所に同じ構成のマーカ9が設置されており、このうちいずれかのマーカ9が観測されたとする。この場合、マーカ9の観測結果のみから確率を予測する従来の方法によると、フォークリフト1が各マーカ位置に存在する確率はほぼ同じになる。これに対し、実施の形態1によると、過去の予測確率を考慮している。つまり、フォークリフト1が過去に存在していたマーカ位置を基準として、そのマーカ位置からは大きく移動しないであろうとの仮定の下で、現時点の確率を予測することができる。これにより、同一のマーカ9が複数箇所に存在していたとしても、フォークリフト1の時間的な前後関係を用いて現時点の確率を予測し、フォークリフト1の動線を推定することができる。つまり、少ない種類のマーカ9を用いてフォークリフト1の動線を正確に推定することができる。
また、確率予測部75は、フォークリフト1の走行速度を考慮して、フォークリフト1がランダムウォークするとした場合にフォークリフト1が次に到達可能な位置を推定して、各マーカ位置のフォークリフト1の存在確率を算出することができる。これにより、フォークリフト1の各マーカ位置における確率を正確に算出することができるため、フォークリフト1の動線を正確に推定することができる。
また、各マーカ位置へ到達する確率を算出する際に、便宜的にマーカ位置とみなす所定範囲は、自マーカ9と隣接するマーカ9との中点までの領域を含むものと定義している。このため、互いに隣接するマーカ9間の中点よりも自マーカ9に近い位置にフォークリフト1が到達する確率を、自マーカ9のマーカ位置に到達する確率として推定することができる。
また、確率予測部75は、マーカ位置ごとに用意された到達確率情報を用いて、現時点におけるフォークリフト1の存在確率を予測している。このため、確率予測部75による予測処理を行うたびに、ランダムウォークの確率を算出する必要がなく、高速にフォークリフト1の存在確率を予測することができる。
また、平滑化部78は、各マーカ位置における確率の時間的な前後関係を考慮して、確率分布を平滑化している。これにより、確率を正確に予測することができる。よって、動線推定部79は、フォークリフト1が時間的に連続して移動するようなフォークリフト1の動線を推定することができる。
また、動線推定部79は、各時点において確率が最大のマーカ位置を時間的に接続することにより、フォークリフト1の動線を推定している。このため、フォークリフト1が存在する確率が最大の位置からフォークリフト1の動線を推定することができるため、フォークリフト1の動線を正確に推定することができる。
また、確率推定部76は、マーカ9を撮像した画像データに基づいて、フォークリフト1が各マーカ位置に存在する場合に、マーカ9の識別結果が示すマーカ9を観測する確率を推定している。このため、フォークリフト1の周囲を監視する監視カメラの画像データを利用して、確率を推定することができる。よって、特別な機器を追加することなく、低コストでフォークリフト1の動線を推定することができる。
[実施の形態2]
実施の形態1では、確率予測部75は、フォークリフト1がランダムウォークすると仮定してn−1回目の確率分布から、n回目の確率分布を予測した。これに対して、実施の形態2では、センサ情報取得部74が取得したセンサ情報に含まれる画像データからフォークリフト1の移動方向を推定し、当該移動方向にフォークリフト1が移動すると仮定してn−1回目の確率分布から、n回目の確率分布を予測する。
つまり、確率予測部75は、センサ情報取得部74が取得したセンサ情報に含まれる時間的に連続する複数の画像データから、フォークリフト1の移動方向を推定する。例えば、確率予測部75は、現時点の画像データと、1つ前の時点の画像データとに基づいて、画像データ中の特徴点の移動ベクトル(オプティカルフロー)を算出する。オプティカルフローは、例えば、一方の画像データから抽出した特徴領域を他方の画像データの中から探索するテンプレートマッチング法などの公知の技術を用いることにより算出することができる。そのため、その詳細な説明はここでは繰り返さない。
図22は、フォークリフト1のカメラ2が撮像した画像データにオプティカルフローを重畳させた図である。図22において、オプティカルフローを破線矢印で示している。カメラ2は、フォークリフト1の後方を映していることより、オプティカルフローの向きから、フォークリフト1は前進していると推定することができる。また、フォークリフト1は、前進動作においては、地点A→地点B→地点C→地点D→地点Aの順に走行するものとする。
図23および図24は、走行方向を考慮した到達確率情報について説明する図である。例えば、図23に示すように、フォークリフト1はZ1(地点A)を出発したとする。この場合、地点Aにフォークリフト1が存在する確率は1.0である。また、フォークリフト1が前進していることがオプティカルフローの向きから分かる場合には、フォークリフト1は地点Bに向かって走行すると考えらえる。このため、式2に示したランダムウォークのシステムモデルの代わりに、以下の式7に示す走行方向を考慮したシステムモデルp2(xn|xn−1)を用いる。
p2(xn|xn−1)=f2(xn−1,xn,tn) …(式7)
ここで、tn、f2(z1,z2,t)は以下の通りである。
tn:n−1回目とn回目のマーカ9の観測時刻の差(単位:[秒])
f2(z1,z2,t):フォークリフト1が前進することにより地点z1から時間t後に地点z2の領域に入る確率
f2(xn−1,xn,tn)の定義に従い、地点Aを出発したフォークリフト1が前進してt(=3.6[秒])後に地点A〜Dに到達する確率を計算すると、図24に示す確率となる。図24に示す到達確率情報が記憶部72に記憶されている。地点B〜Cを出発したフォークリフト1に対応する到達確率情報も記憶部72に記憶されているものとする。また、フォークリフト1が後進した場合の到達確率情報も記憶部72に記憶されているものとする。
確率予測部75は、式1においてp(xn|xn−1)の代わりに式7に示すp2(xn|xn−1)を用いた式に従って、n回目におけるフォークリフト1の各地点の存在確率を計算する。つまり、確率予測部75は、n−1回目のフォークリフト1の存在確率と、記憶部72に記憶されているフォークリフト1の走行方向に応じた到達確率情報とを用いて、n回目におけるフォークリフト1の各地点の存在確率を計算する。
以上説明したように、実施の形態2によると、フォークリフト1の走行速度および走行方向を考慮して、フォークリフト1が次に到達可能な位置を推定して各マーカ位置のフォークリフト1の存在確率を算出することができる。これにより、フォークリフト1の各マーカ位置における確率を正確に算出することができるため、フォークリフト1の動線を正確に推定することができる。
なお、実施の形態2では、フォークリフト1は、前進動作においては、地点A→地点B→地点C→地点D→地点Aの順に走行するものとしたが、必ずしもこのような仮定を設ける必要はない。例えば、確率予測部75は、オプティカルフローと画像データ中のマーカ9の位置関係とから、フォークリフト1がどの向きに走行しているのかが分かる場合には、それに従って、到達確率情報を読み出し、フォークリフト1の存在確率を計算してもよい。
[実施の形態3]
実施の形態1および2では、確率推定部76は、センサ情報に含まれる画像データからマーカ9を識別し、各地点においてフォークリフト1が、識別結果が示すマーカ9を観測する確率を推定した。実施の形態3では、工場内に設置された電波ビーコンからの送信信号に基づいて、電波ビーコンを識別し、各地点においてフォークリフト1が、識別結果が示す電波ビーコンから無線データを受信する確率を推定する。
図25は、本発明の実施の形態3に係るフォークリフト1の走行経路の一例を示す図である。
図25は、一例として、フォークリフト1が走行する工場内の様子を示している。工場内には図2に示したのと同様にマーカM1〜M4が設置されている。それに加え、地点Eおよび地点Fに電波ビーコン11が設置されている。
電波ビーコン11は、無線送信機の一種であり、BLE(Bluetooth Low Energy : Bluetoothは登録商標)の無線通信技術を利用して、例えば2.4GHz帯の電波を出力することにより、ビーコンIDを含む無線データを送信する。BLEでは、アダプティブ周波数ホッピングを利用し、他の電波ビーコン11が送信する電波との干渉を減らすことができる。
フォークリフト1の車載装置3が備える送受信部31は、無線受信部および無線送信部として機能し、電波ビーコン11から無線データを受信し、受信した無線データをセンサ情報に含めてサーバ7に送信する。
図26は、本発明の実施の形態3に係る車載装置3が送信するセンサ情報の一例を示す図である。センサ情報は、図6に示したセンサ情報に加えて、無線データを含む。無線データは、電波ビーコン11から受信した無線データのことである。なお、電波ビーコン11の識別子および設置位置との対応関係は、サーバ7において管理されている。地点Eの電波ビーコン11の識別子はID5であり、地点Fの電波ビーコン11の識別子はID6であるものとする。
センサ情報取得部74は、受信データ取得部としても機能し、無線データを含むセンサ情報を、通信部71を経由して、車載装置3から取得する。
サーバ7の確率推定部76は、センサ情報取得部74が取得したセンサ情報に含まれる無線データから電波ビーコン11の識別子を識別する。確率推定部76は、電波ビーコン11の識別結果に基づいて、当該無線データの取得時刻において、各地点においてフォークリフト1が、識別結果が示す電波ビーコン11から無線データを受信する確率を推定する。
記憶部72には、各地点xn(例、地点A、B、C、D、E、F)において、電波ビーコン11の識別結果がyn(例、ID5、ID6)となる確率p(yn|xn)を示す観測モデルが記憶されている。
図27は、観測モデルの一例を示す図である。例えば、地点Eの電波ビーコン11から送信された無線データに基づいて、地点A〜Fのそれぞれにおいて地点Eの電波ビーコン11を正しく識別できた確率を示している。ここで、地点Eの電波ビーコン11を正しく識別できたとは、地点Eの電波ビーコン11から送信される無線データを、所定の閾値以上の受信強度で受信できたことを指す。
つまり、地点A〜Fの確率は、それぞれ、0.2、0.2、0.0、0.0、0.9、0.2である。例えば、地点Aにおいては、0.2の確率で地点Eの電波ビーコン11を正しく識別できたが、地点Dにおいては、正しく識別できた確率は0.0である。これは、地点Eから送信された無線データのうち、地点Dで所定受信強度以上の無線データを受信できなかったと考えられる。
確率推定部76は、センサ情報に含まれる無線データから、地点Eに設置された電波ビーコン11を識別した場合には、図27に示した観測モデルに基づいて、フォークリフト1が、地点A〜Fのそれぞれにおいて、地点Eに設置された電波ビーコンから無線データを受信する確率を、それぞれ、0.2、0.2、0.0、0.0、0.9、0.2と推定する。
以上説明したように、実施の形態3によると、電波ビーコン11が送信した無線データに基づいて、フォークリフト1が各地点に存在する場合に、電波ビーコン11の識別結果が示す送信元の電波ビーコン11からデータを受信する確率を推定することができる。このため、例えば、マーカ9が柱等の死角に入りカメラ2でマーカ9を撮影できない場合であっても、上記確率を推定することができる。
[変形例]
実施の形態1〜3では、マーカ9は色ラベルから構成されるものとしたが、マーカ9の構成はこのような構成に限定されるものではない。
図28は、本発明の変形例に係るマーカ9の一例を示す図である。
マーカ9は、直線状に並べられた、検出が容易な4つの表示部としての照明ランプ9Lから構成される。各照明ランプ9Lは、例えば、赤外線や可視光線を出射する。検出の容易のため4つの照明ランプ9Lは、同一形状であることが望ましい。また、検出の容易のため4つの照明ランプ9Lは、同一波長の光を出射することが望ましい。
確率推定部76は、センサ情報に含まれる画像データの中から、マーカ9を検出する。つまり、直線状に4つ並んだ同一形状のマークをマーカ9として検出する。確率推定部76は、マーカ9を構成する各照明ランプ9Lの重心を求め、重心の複比を算出することにより、マーカ9を識別する。4つのマーカ9の重心を、A〜Dとした場合、複比は、(AC:CB)/(AD:DB)として算出される。
複比とマーカ9の識別子との関係はサーバ7において管理されているものとする。
なお、照明ランプ9Lの代わりに、表示部として色ラベルまたは反射材を用いることもできる。検出の容易のため4つの色ラベルまたは反射材は、同一形状であることが望ましい。また、検出の容易のため4つの色ラベルまたは反射材は、同一色または同一テクスチャであることが望ましい。
本変形例によると、サーバ7は、4つの照明ランプ9Lの複比を算出することによりマーカ9を識別することができる。このため、4つの照明ランプ9Lの配置間隔を変更することにより、容易に複比を変更することができ、これにより、サーバ7による観測対象のマーカ9を簡便に構成することができる。
[付記]
以上、本発明の実施の形態に係る走行経路管理システム10について説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、上述の実施の形態では、確率予測部75がランダムウォークのシステムモデルを用いてフォークリフト1の存在確率の予測処理を行い、確率推定部76が観測モデルを用いてマーカ9の観測確率を推定し、更新部77が存在確率に対するフィルタ操作を行い、平滑化部78が存在確率の平滑化を行ったが、これらの処理を、粒子フィルタ等を用いた近似処理により行ってもよい。粒子フィルタについては、非特許文献1および2に詳細に説明されているため、ここでは、その詳細な説明は繰り返さない。
また、上述の実施の形態では、産業用車両の例としてフォークリフト1について説明したが、産業用車両はこれらに限定されるものではない。例えば、物品をけん引して搬送するけん引車や、人力により物品を搬送するためのハンドリフトなどの産業用車両にも、上述の実施の形態を適用可能である。
上記したコンピュータプログラムは、コンピュータ読取可能な非一時的な記録媒体、例えば、HDD(Hard Disk Drive)、CD−ROM(Compact Disc-Read Only Memory)、半導体メモリなどに記録して流通させてもよいし、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、上記各装置の一部又は全部は、半導体集積回路により実現されてもよい。
また、上記各装置は、複数のコンピュータにより実現されてもよい。
また、上記実施の形態および上記変形例の少なくとも一部を任意に組み合わせるとしてもよい。
また、上記の開示は以下の付記1として実現することも可能である。
<付記1>
動線推定装置による観測対象のマーカであって、
4つの表示部が上記マーカを識別可能な所定の複比で配置されている、マーカ。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。