JP2014178789A - 追跡装置、追跡プログラムおよび追跡方法 - Google Patents

追跡装置、追跡プログラムおよび追跡方法 Download PDF

Info

Publication number
JP2014178789A
JP2014178789A JP2013051162A JP2013051162A JP2014178789A JP 2014178789 A JP2014178789 A JP 2014178789A JP 2013051162 A JP2013051162 A JP 2013051162A JP 2013051162 A JP2013051162 A JP 2013051162A JP 2014178789 A JP2014178789 A JP 2014178789A
Authority
JP
Japan
Prior art keywords
distance
data
moving body
cluster
person
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013051162A
Other languages
English (en)
Other versions
JP6094279B2 (ja
Inventor
Saiki Luis Yoichi Morales
サイキ ルイス ヨウイチ モラレス
Takahiro Miyashita
敬宏 宮下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2013051162A priority Critical patent/JP6094279B2/ja
Publication of JP2014178789A publication Critical patent/JP2014178789A/ja
Application granted granted Critical
Publication of JP6094279B2 publication Critical patent/JP6094279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

【構成】 追跡システム10は、移動体12を含み、移動体は或る環境内を移動する。このとき、移動体に設けられた距離センサ22a、22で距離データが検出され、移動体の各車輪16a、16bの回転数データも検出される。コンピュータ(30)は、回転数データに基づいて移動体の位置および向きを算出し、検出した距離データを、距離を計測された点の位置データに変換する。この位置データを所定のルールでクラスタリングし、各クラスタの特徴量に基づいて各クラスタが静的物体または動的物体に対応するかどうかを判別する。したがって、静的物体であることが判別されたクラスタに含まれる位置データに対応する距離データを用いて移動体の位置が推定される。
【効果】 環境における移動体の位置を正しく推定して、当該移動体が適用されるロボットに位置に応じた所定のサービスを正しく提供させることができる。
【選択図】 図1

Description

この発明は追跡装置、追跡プログラムおよび追跡方法に関し、特にたとえば、距離センサを備える移動体を用いて人を追跡する、追跡装置、追跡プログラムおよび追跡方法に関する。
この発明の背景技術の一例が非特許文献1に開示される。この非特許文献1では、距離センサ(レーザレンジファインダ)を用いるとともに、センサ空間における足の見え方をテンプレートとして格納しておき、テンプレート群とセンサデータとのブロックマッチングにより人の追跡を行う。
奥迫伸一,坂根茂幸:レーザレンジファインダを用いた移動ロボットによる人の追跡, 日本ロボット学会誌,Vol.24, No.5, pp.605-613, 2006
しかし、この背景技術では、移動ロボットを基準にロボット座標系において人を追跡するため、現実空間(世界座標系)における移動ロボットおよび人間の位置を正しく知ることができない。たとえば、移動ロボットに或る環境において道案内のようなサービスを提供させる場合には、移動ロボットや人間の位置を正しく知る必要があるが、背景技術の追跡方法では、このようなサービスを移動ロボットに提供させることは考慮されていないため、正しくサービスを提供することができない。
それゆえに、この発明の主たる目的は、新規な、追跡装置、追跡プログラムおよび追跡方法を提供することである。
この発明の他の目的は、現実空間において人を追跡する物体の位置を正しく推定することができる、追跡装置、追跡プログラムおよび追跡方法を提供することである。
第1の発明は、距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡する追跡装置であって、距離センサで検出された距離データから、距離を計測された点の位置データを算出する位置データ算出手段、位置データ算出手段によって算出された位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリング手段、クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断手段、条件判断手段の判断結果に応じて複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別する判別手段、環境についての地図データと、判別手段によって静的物体に対応することが判別されたクラスタに含まれる位置データに対応する距離データを用いて、移動体の位置を推定する移動体位置推定手段、判別手段の判別結果に基づいて環境内に存在する1または複数の人間を検知する検知手段、検知手段によって検知された1または複数の人間のうち、1人の人間を選択する選択手段、および選択手段によって選択された人間に移動体を追従させる追従手段、追跡装置である。
第1の発明では、追跡装置は距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡する。位置データ算出手段は、距離センサで検出された距離データから、距離を計測された点の位置データを算出する。たとえば、位置データは、距離を計測したときの移動体の位置を基準しても算出してもよいし、移動体の移動開始位置を基準として算出してもよい。クラスタリング手段は、位置データ算出手段によって算出された位置データを所定のルールに従って複数のクラスタにクラスタリングする。条件判断手段は、クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する。たとえば、所定の条件は、クラスタの特徴についての条件であり、より具体的には、人間のような動的物体であるか、壁や柱のような静的物体であるかを判別するための条件である。判別手段は、条件判断手段の判断結果に応じて複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別する。移動体位置推定手段は、環境についての地図データと、判別手段によって静的物体に対応することが判別されたクラスタに含まれる位置データに対応する距離データを用いて、移動体の位置を推定する。検知手段は、前記判別手段の判別結果に基づいて環境内に存在する1または複数の人間を検知する。つまり、検知手段は、動的物体であることが判別されたクラスタを人間として検知する。選択手段は、検知手段によって検知された1または複数の人間のうち、1人の人間を選択する。そして、追従手段は、選択手段によって選択された人間に移動体を追従させる。
第1の発明によれば、移動体に設置した距離センサで距離を計測された点に対応する位置データを所定のルールに従って複数のクラスタにクラスタリングし、各クラスタが所定の条件を満たすかどうかを判別するだけで、静的物体についてのクラスタに含まれる位置データに対応する距離データを用いて移動体の位置を推定するので、人間のような動的物体が存在する環境においても、移動体の位置を出来る限り正しく推定することができる。したがって、移動体が適用されるロボットに、正しい位置に基づいて所定のサービスを提供させることができる。
第2の発明は、第1の発明に従属し、検知手段によって検知された1または複数の人間の位置を推定する人間位置推定手段をさらに備える。
第2の発明では、人間位置推定手段は、検知された1または複数の人間の位置を例えばパーティクルフィルタを用いて推定する。
第2の発明によれば、追従する人間の位置を正しく推定することにより、移動体をより正確に追従させることができる。
第3の発明は、第1または第2の発明に従属し、所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることである。
第3の発明では、所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることであり、近くに有る点が同じクラスタに分類される。
第3の発明によれば、点同士の距離を検出するだけなので、簡単にクラスタリングすることができる。
第4の発明は、第1ないし第3の発明のいずれかに従属し、所定の条件は、クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含む。
第4の発明では、所定の条件は、クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含み、クラスタに含まれる点が少ない場合には、当該クラスタに含まれる点(位置データ)に対応する距離データは消去される。たとえば、クラスタに含まれる点の数が少ない場合には、動的物体であるか、静的物体であるかを判別することができないため、当該クラスタは消去されるのである。
第4の発明によれば、動的物体であるか、静的物体であるかを判別できない不要なデータを消去することができる。
第5の発明は、第1ないし第4の発明のいずれかに従属し、クラスタリング手段によってクラスタリングされた複数のクラスタの各々の特徴を抽出する抽出手段をさらに備え、条件判断手段は、抽出手段によって抽出された特徴が所定の条件を満たすかどうかを判断する。
第5の発明では、抽出手段は、複数のクラスタの各々の特徴を抽出する。条件判断手段は、各クラスタの特徴が所定の条件を満たすかどうかを判断する。
第5の発明によれば、クラスタに含まれる点の個数以外の特徴によって所定の条件を満たすかどうかを判断することができる。
第6の発明は、第5の発明に従属し、抽出手段によって抽出された特徴は、クラスタに含まれる位置データが示す複数の点の分散についての特徴量である。
第6の発明では、クラスタの特徴は、当該クラスタに含まれる位置データが示す複数の点の分散についての特徴量であり、たとえば、クラスタの形状に関する特徴である。
第6の発明によれば、クラスタの形状に関する特徴が所定の条件を満たすかどうかで、動的物体であるか、静的物体であるかを判別することができる。
第7の発明は、第6の発明に従属し、特徴量は、クラスタに含まれる位置データが示す複数の点の分散行列についての固有値であり、所定の条件は、固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む。
第7の発明では、特徴量は、クラスタに含まれる位置データが示す複数の点の分散行列についての固有値である。たとえば、特徴量は、クラスタに含まれる複数の点の分散についての主成分であり、分散行列の固有値で表される。たとえば、所定の条件は、固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む。したがって、固有値の最大値が第1所定値以下である場合、または、2番目に大きい固有値が第2所定値以上である場合に、所定の条件を満たさないことが判断され、当該固有値を有するクラスタが消去される。
第7の発明によれば、クラスタに含まれる位置データが示す複数の点の分散行列についての固有値に基づいて不要なデータを消去することができる。
第8の発明は、距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡するコンピュータの追跡プログラムであって、コンピュータに、距離センサで検出された距離データから、距離を計測された点の位置データを算出する位置データ算出ステップ、位置データ算出ステップにおいて算出した位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリングステップ、クラスタリングステップにおいてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断ステップ、条件判断ステップの判断結果に応じて複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別する判別ステップ、環境についての地図データと、判別ステップにおいて静的物体に対応することを判別したクラスタに含まれる位置データに対応する距離データを用いて、移動体の位置を推定する移動体位置推定ステップ、判別ステップの判別結果に基づいて環境内に存在する1または複数の人間を検知する検知ステップ、検知ステップにおいて検知した1または複数の人間のうち、1人の人間を選択する選択ステップ、および選択ステップにおいて選択した人間に移動体を追従させる追従ステップを実行させる、追跡プログラムである。
第9の発明は、距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡するコンピュータの追跡方法であって、コンピュータは、(a)距離センサで検出された距離データから、距離を計測された点の位置データを算出し、(b)ステップ(a)において算出した位置データを所定のルールに従って複数のクラスタにクラスタリングし、(c)ステップ(b)においてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断し、(d)ステップ(c)の判断結果に応じて複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別し、(e)環境についての地図データと、ステップ(d)において静的物体に対応することを判別したクラスタに含まれる位置データに対応する距離データを用いて、移動体の位置を推定し、(f)ステップId)の判別結果に基づいて環境内に存在する1または複数の人間を検知し、(g)ステップ(f)において検知した1または複数の人間のうち、1人の人間を選択し、そして(h)ステップ(g)において選択した人間に移動体を追従させる、追跡方法である。
第8および第9の発明においても、第1の発明と同様に、人間を追跡する移動体の位置を出来る限り正しく推定することができる。
この発明によれば、移動体に設置した距離センサで距離を計測された点に対応する位置データを所定のルールに従って複数のクラスタにクラスタリングし、各クラスタが所定の条件を満たすかどうかを判別するだけで、静的物体についてのクラスタに含まれる位置データに対応する距離データを用いて移動体の位置を推定するので、人間のような動的物体が存在する環境においても、移動体の位置を出来る限り正しく推定することができる。したがって、移動体が適用されるロボットに、正しい位置に基づいて所定のサービスを提供させることができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はこの発明の追跡システムの外観構成の一例を示す図解図である。 図2は図1に示す追跡システムの電気的な構成の一例を示すブロック図である。 図3は図1および図2に示す距離センサの検出範囲を説明するための図解図である。 図4は移動体の位置および向きを算出するためのパラメータを説明するための図解図である。 図5はグリッドマップの一例を示す図解図である。 図6は動的物体と静的物体を判別する方法を説明するための図解図である。 図7は動的物体と静的物体を判別する方法を説明するための他の図解図である。 図8は動的物体と静的物体を判別する方法を説明するためのその他の図解図である。 図9は動的物体と静的物体を判別する方法を説明するためのさらに他の図解図である。 図10は静的物体を判定する具体的な場合を説明するための図解図である。 図11は動的物体と静的物体を判別した結果、静的物体以外の点を削除した場合の一例を示す図解図である。 図12は人間の位置を推定する方法を説明するための図解図である。 図13は図12に後続し、人間の位置を推定する方法を説明するための図解図である。 図14は図2に示すRAMのメモリマップの一例を示す図解図である。 図15は図2に示すCPUの全体処理の一部を示すフロー図である。 図16は図2に示すCPUの全体処理の他の一部であって、図15に後続するフロー図である。 図17は図2に示すCPUのデータ判別処理の一部を示すフロー図である。 図18は図2に示すCPUのデータ判別処理の他の一部であって、図17に後続するフロー図である。 図19は図2に示す人間位置推定処理を示すフロー図である。 図20は図2に示す追従処理を示すフロー図である。
図1(A)を参照して、この実施例の追跡システム10は、電気車椅子のような移動体12を含み、移動体12は、その下部に、左右の前輪(キャスター)14a、14bおよび左右の後輪16a、16bを備えている。また、移動体12の左側の枠の上部には操作レバー18が設けられる。さらに、移動体12の左側の枠であり、左足を置くステップ20aの左側に、距離センサ22aが取り付けられる。ただし、距離センサ22aは、移動体12の右側の枠であり、右足を置くステップ20bの右側に取り付けてもよい。また、移動体12を上方から見た模式図である図1(B)に示すように、移動体12の後方に、距離センサ22bが設けられる。
なお、この実施例では、距離センサ22aおよび22bを移動体12の前後に取り付けるようにしてあるが、移動体12の左右に取り付けるようにしてもよい。このように2つの距離センサ22a、22bを移動体12の前後または左右に設けるのは、移動体12の周りを全周(360°)に渡って、距離を検出(計測)するためである。ただし、これは単なる一例であり、距離センサは1つでもよく、または、3つ以上設けてもよい。
また、この実施例では、距離センサ22aおよび22bは、或る環境内の壁、柱のような固定物(静的物体)のみならず、人間のような移動物(動的物体)を検出(判別)する。このため、後述するように、距離センサ22a、22bを、その検出位置が地面ないし床面から所定の高さになるように設置してある。この実施例では、所定の高さは11cmである。これは、人間の脚(足首辺り)を検出するためである。
図1(A)に戻って、移動体12の座席シートの下側であり、左の後輪16aと右の後輪16bの間には、ボックス24が設けられる。この中に、後述するコンピュータ30、入出力インターフェイス(以下、単に「インターフェイス」という。)32、モータドライバ34a、34b、モータ36a、36bおよびエンコーダ38a、38bが設けられる(図2参照)。ただし、コンピュータ30およびインターフェイス32は、ボックス24の外に設けるようにしてもよい。
図2は図1(A)および(B)に示した追跡システム10の電気的な構成を示すブロック図である。図2に示すように、追跡システム10は、移動体12の追跡装置として機能するコンピュータ30を含む。コンピュータ30は、汎用のパーソナルコンピュータやワークステーションなどのコンピュータであり、CPU30a、RAM30bおよびHDD30cなどのコンポーネントを備える。
また、コンピュータ30には、上述した操作レバー18および距離センサ22a、22bが接続されるとともに、インターフェイス32が接続される。インターフェイス32には、モータドライバ34aを介してモータ36aが接続されるとともに、モータドライバ34bを介してモータ36bが接続される。また、インターフェイス32には、エンコーダ38aおよび38bが接続される。
図示は省略するが、モータ36aの回転軸と左の後輪16aの回転軸がギアを用いて連結され、モータ36bの回転軸と右の後輪16bの回転軸がギアを用いて連結される。
コンピュータ30は、この実施例の追跡システム10の全体的な制御を司る。この実施例では、CPU30aは、操作レバー18からの操作入力に応じてモータ36a、36bの駆動を制御したり、つまり移動体12の移動を制御したり、距離センサ22a、22bおよびエンコーダ38a、38bで検出された距離データや回転数データを取得および記憶したりする。また、コンピュータ30は、移動体12が移動する(所定のサービスを提供する)環境についての地図(地図データ)と、検出したデータに基づいて、移動体12の位置を推定(決定)する。
操作レバー18は、ユーザによって操作され、操作に応じた信号(操作入力)をコンピュータ30に与える。たとえば、前進、後退、停止、左折、右折および旋回などの操作を行うことができる。
ただし、リモートコントローラ(図示せず)を用いて、遠隔操作により、操作入力をコンピュータ30に与えることもできる。また、移動体12は、自律航行(自律移動)可能である。
距離センサ22a、22bは、たとえば、汎用のレーザレンジファインダ(LRF)であり、レーザーを照射し、物体に反射して戻ってくるまでの時間から当該物体との距離を計測するものである。たとえば、トランスミッタ(図示せず)から照射したレーザーを回転ミラー(図示せず)で反射させて、扇状に一定角度(たとえば、0.25度)ずつスキャンする。また、この実施例では、検出範囲(図3参照)の全体をスキャンする周期は、25msecである。
図3は、距離センサ22a、22bの検出範囲(計測範囲)を説明するための図解図である。この実施例の距離センサ22a、22bの計測範囲は、半径R(R≒10〜15m)の扇形状で示される。扇の角度は、正面方向を中心として左側および右側のそれぞれに135°である。つまり、正面を中心とする270°の範囲について距離を検出することができる。
図2に戻って、モータドライバ34a、34bは、コンピュータ30からの指示に基づいて、モータ36a、36bを駆動する。エンコーダ38aは、モータ36aの回転数(rps)を検出し、回転数についてのデータ(回転数データ)を、インターフェイス32を介してコンピュータ30に入力する。同様に、エンコーダ38bは、モータ36bの回転数を検出し、回転数についての回転数データを、インターフェイスを介してコンピュータ30に入力する。
コンピュータ30は、距離センサ22a、22bで検出される距離データと、エンコーダ38a、38bで検出される回転数データを取得して、RAM30b(HDD30cでもよい。)に記憶する。ただし、距離センサ22aで検出される距離データと距離センサ22bで検出される距離データは区別されるとともに、同じ時点において検出された距離データと回転数データは互いに関連付けられる。
たとえば、移動体12は、身振り手振りのような身体動作および発話の少なくとも一方を用いたコミュニケーションを実行可能なロボットなどに適用され、当該ロボットは、自身が適用される環境(ショッピングモール、空港やイベント会場など)において、特定の人間の買い物を手伝ったり、道案内、接客、商品や展示品を説明(案内)したりなどの所定のサービスを提供する。つまり、買い物用や荷物運搬用のカートを押すロボットやガイドロボットとして機能する。また、特定の人間が車椅子を使用する場合には、当該車椅子を押すロボットとして機能する場合もある。
たとえば、本件の出願人等が開発するとともに、製造販売するコミュニケーションロボット「Robovie(ロボビー)(登録商標)」を用いることができる。ロボットは、自身が適用される環境内において特定の人間を追従したり、移動した位置(場所)に応じた所定のサービスを提供したりする。したがって、ロボット(移動体12)は、環境内における自身の位置および特定の人間の位置を知る必要がある。
また、ロボットが上記の所定のサービスを提供する場合には、たとえば、ロボット(移動体12)のスタート位置および向き(初期位置および初期の向き)、通過点および終点は外部のコンピュータから与えられ、ロボット(移動体12)は初期位置から移動を開始する。ただし、スタート位置、通過点および終点は時系列に従って指示される。また、外部のコンピュータは、ロボット(移動体12)の管理者ないし遠隔操作を行う者が操作するコンピュータであって、ロボット(移動体12)と通信可能に設けられる。以下、この実施例において、同じである。
したがって、この実施例の追跡システム10では、環境内(世界座標系)における移動体12の位置を推定し、また移動体12の距離センサ22a、22bで検知可能な人間の位置を推定する。また、追跡システム10では、知された1または複数の人間から1の特定の人間を選択する。そして、選択した1人の人間を追従するように移動経路を決定(算出)し、算出した移動経路に従って(沿って)移動体12を移動させる。そして、移動体12(ロボット)は、移動中または/および通過点や終点において選択した1人の人間に所定のサービスを提供する。
この実施例では、パーティクルフィルタを用いて、移動体12の位置および環境内に存在し、検知された1または複数の人間の位置が推定される。
ここで、パーティクルフィルタとは、多数の粒子を用いて、前時刻の状態からの予測と現在の観測情報から現在の状態を推定する手法である。パーティクルフィルタでは、予測、観測、リサンプリングを繰り返すことによって移動体12および人間を追跡する。ただし、移動体12を追跡するためのパーティクルフィルタと、人間を追跡するためのパーティクルフィルタはそれぞれ独立している。また、複数の人間を追跡する場合には、各人間用のパーティクルフィルタが設けられる。
なお、この実施例では、検知した人間の位置を推定することと、選択された1人の人間に追従して移動体12を移動させることを、それぞれ追跡ということがある。つまり、パーティクルフィルタを用いたソフトウェアにより人間を追跡するとともに、移動体12の移動により選択された1人の人間を追跡するのである。
まず、移動体12を追跡する場合について説明する。
<予測>
時刻t−1のパーティクルiから時刻tにおけるパーティクルiの位置(方向を含む“状態”)を予測する。この実施例では、移動体12の状態ベクトルはx=[x,y,θ]であり、位置(x,y)および向き(θ)で表される。また、パーティクルフィルタはn個(この実施例では、400個)のパーティクルを含み、i番目のパーティクルの状態ベクトルはx=[x,y,θで表される。この実施例では、時刻tにおけるパーティクルiの状態ベクトルxi tは、数1に従って算出される。
[数1]
i t=f(xi t-1,ut-1,Δt)
ただし、数1に示すuは移動体12の動作情報u=[v,ω]Tであり、数2に従って算出される。ここで、vは移動体12の速度であり、ωは車輪16aおよび16bの車軸の中心(図4参照)であり、車軸と垂直な軸周りの角度速である。また、VL、VRは移動体12の左右の車輪(16a、16b)の移動速度であり、Dは移動体12の車輪(16a、16b)間距離である。
[数2]
Figure 2014178789
左右の車輪(16a、16b)の移動速度VL、VRは、左右の車輪(16a、16b)の回転数から算出することができ、また、車輪間隔Dは予め知ることができる。ただし、回転数に応じた移動速度VL、VRのテーブルを用意しておき、計算せずに、テーブルを参照することにより移動速度VL、VRを取得してもよい。
そして、算出された動作u=[v,ω]Tを積分することにより、前回算出した移動体12の位置(xt-1,yt-1)および向きθt-1からの移動距離dと回転角度αを求めることができる。ただし、初期位置(x0,y0)および初期の向きθ0は外部から与えられる。したがって、上記の数1は数3のように表すことができる。
[数3]
i t=xi t-1+v・cos(θt-1)・Δt
i t=yi t-1+v・sin(θt-1)・Δt
θi t=θi t-1+ω・Δt
このように、前時刻t−1における各パーティクルiの状態xi t-1から時間tにおける各パーティクルiの状態xi tが予測される。
<観測>
予測された位置における各パーティクルiの尤度および重要度(重み)wi tを算出する。この実施例では、尤度は図5に示すようなグリッドマップについての地図データを用いて算出する。ただし、図5では、移動体12が移動する環境の一部についてのグリッドマップを示す。図5を参照して分かるように、グリッドマップは、複数のグリッド線が縦横に等間隔で描画されることにより生成される。詳細な説明は省略するが、グリッドマップは、移動体12が移動する環境(現実空間)を真上方向から俯瞰的に見た場合の2次元のマップである。つまり、グリッドマップは、世界座標系で作成されている。
たとえば、グリッドマップでは、グリッド線の間隔は現実空間における所定の長さ(5〜10cm)に相当する。また、壁や柱などの静的物体に相当する部分(距離センサ22a、22bで距離を計測可能な表面部分)が描画されたグリッドに対応して、静的物体であることの情報が記憶されている。図5では、静的物体であることの情報が記憶されているグリッドに黒色を付してある。
上述したように推定された時刻tにおける各パーティクルiの状態xi tにおけるグリッドマップ上の計測結果(シュミレーション結果)が、実際の距離センサ22a、22bの計測結果(計測値zt)と等しくなる確率(尤度)が数4に従って求められる。
[数4]
i t=(zi t|xi t
i t=hc/Total
ただし、この実施例では、計測値ztは、1周期にスキャンするレーザーの総数Total(この実施例では、1080)のうち、実際に距離を計測したレーザーの数hcについての割合である。ただし、距離センサ22a、22bのそれぞれについて、計測値ztが求められ、尤度もそれぞれの距離センサ22a、22bについて求められる。
そして、数5に示すように、各パーティクルiの重みwi tは、すべてのパーティクルiの尤度合計で各パーティクルiの尤度を正規化することにより、算出(決定)される。ただし、数5において、nはパーティクルiの総数(この実施例では、400)である。また、数5では、“=”は代入を意味する。
[数5]

Figure 2014178789
この実施例では、尤度が重みwi tとして決定されるが、これに限定される必要はない。尤度の大きさに比例して重みwi tを決定してもよいし、尤度の最も高いパーティクルiから順に重みwi tを線形的に変化させるように決定してもよいし、一定の閾値毎に重みwi tを段階的に変化するように決定してもよい。
ただし、各パーティクルiについては、グリッドマップ上の状態xi tが示す位置(xt,yt)において、距離センサ22a、22bと同様に、状態xi tが示す向きθtを中心に左右135度の範囲で0.25度ずつスキャンした場合に、レーザーが静的物体であることの情報が記憶されたグリッドに当った数が検出され、スキャンした総数(1080)における当った数の割合が算出される。ただし、レーザー光が届くのは距離Rである。
<リサンプリング>
観測により求めた各パーティクルiの重みwi tに比例した確率で復元抽出によりパーティクルiを選択し、時刻tでのパーティクルiの集合を求める。したがって、重みwi t(尤度)の小さい(低い)パーティクルiは選択されずに消滅し、重みwi t(尤度)の大きい(高い)パーティクルiは何度も選択され仲間を増やす(分裂する)。リサンプリングされたパーティクルiが次の推定に用いられる。ただし、この実施例では、各パーティクルiの平均座標が移動体12の位置(xt,yt)として推定され、各パーティクルiの平均の向きが移動体12の向き(θt)として推定される。
このように移動体12の位置を推定(修正)するのは、回転数データに基づいてジオメトリ計算(数2、数3)により、初期位置(x0,y0)および初期の向き(θ0)から累積的に時間毎の移動体12の位置および向きを求める場合には、車輪16a、16bの滑りの発生等の要因により、誤差が発生するからである。実験した環境下においては、移動体12が30cm進む毎に約5%のずれ(誤差)が発生した。
また、このような追跡システム10は、ショッピングモール、空港やイベント会場など、人間、カートや台車のような動的物体が存在する環境において移動する(所定のサービスを提供する)移動体12の位置を推定するため、この場合には、距離センサ22a、22bで検出された距離データのうち、人間などの動的物体を計測した場合の距離データは使用されない。このような動的物体の情報については、地図データ(グリッドマップ)に記憶されていないからである。
そこで、この実施例では、距離データに基づいて、壁、柱などの静的物体(環境)を計測した距離データおよび環境に存在する人間または人間と思われる動的物体を計測した距離データを判別する。以下、静的物体についての距離データおよび動的物体についての距離データを判別する方法について説明する。
たとえば、図6には、壁の前に2人の人間が存在し、そのような状況において、移動体12が壁や人間に対面し、移動体12に設けられた距離センサ22aで距離を検出する様子が示される。ただし、図6では、壁、人間および移動体12を上方から見た図である。また、ここでは、簡単のため、距離センサ22aの計測範囲は、正面を中心とする約90°の範囲であり、その計測範囲を約3°ずつスキャンした場合について示してある。さらに、図6では、検出(計測)される距離は点線で示してある。また、上述したように、距離センサ22aは、床ないし地面から所定の高さに設置され、したがって、人間については、その脚(足首辺り)との距離を計測する。
図6に示すような場合について、静的物体についての距離データおよび動的物体についての距離データを判別する方法について説明する。この実施例では、まず、移動体12に搭載された距離センサ22a、22bのそれぞれで計測された距離データから、当該距離データを検出したときの移動体12の位置および向きを基準とする2次元の座標系(移動体座標系)の位置(点)データが算出される。このとき、2つの距離センサ22a、22bの取り付け位置が考慮される。つまり、移動体12の位置と、距離センサ22a、22bの取り付け位置のずれが調整される。当然のことではあるが、距離データを検出したときの距離センサ22a、22bの計測範囲における角度も考慮される。つまり、距離センサ22a、22bで検出された位置(点)について、移動体12を基準とした極座標のデータが取得されるのである。ただし、この実施例では、世界座標系における移動体12の位置(xt,yt)および向きθtは所定時間(たとえば、30秒)毎に推定(更新)されるため、距離データは、推定された現実空間上の位置(xt,yt)および向きθtに基づいて、2次元の世界座標系の位置データに変換される。
この変換された位置データに対応する位置(点)を所定のルールに従ってクラスタリングし、クラスタリングされた点群(クラスタ)の特徴から壁や柱のような静的物体および人間のような動的物体を判別する。そして、静的物体であることが判別されたクラスタに含まれる位置(点)データに対応する距離データを用いて移動体12の位置が推定される。一方、動的物体であることが判別されたクラスタに含まれる位置(点)データに対応する距離データは移動体12の位置を推定する場合には使用されない。ただし、クラスタに含まれる点の数が所定数NP(この実施例では、5)よりも少ない場合には、動的物体であるか静的物体であるかを判別するのが困難であるため、このようなクラスタに含まれる位置データに対応する距離データについては消去するようにしてある。このクラスタに含まれる位置データ(点)の数もクラスタの特徴の1つである。
クラスタリングでは、距離が所定値TH(この実施例では、10cm)未満である位置(点)同士が同じクラスタに分類される。具体的には、着目する点との距離が最も近い(短い)点を検出し、その距離が所定値TH未満であるかどうかを判断する。そして、距離が所定値TH未満である場合には、検出した点を着目する点と同じクラスタに分類する。一方、距離が所定値TH以上である場合には、検出した点を着目する点とは異なる新しいクラスタに分類する。そして、新しいクラスタに分類した点を着目する点として、上記のようなクラスタリングを行う。このようにして、クラスタリングはすべての点について行われる。
図7は、図6において移動体12の距離センサ22aによって距離を計測された点(位置)を白丸印で示す。ただし、図7では、距離を計測された点(位置)を分かり易く示すために、壁と人間を省略してある。このような点が上述した方法により、クラスタリングされる。ただし、上述したように、実際には、世界座標系に座標変換された位置データについてクラスタリングが行われる。
図8は、図7に示す各点(位置)について、上述した方法により、クラスタリングを行った場合に生成されたクラスタを示す。図8から分かるように、たとえば、7つのクラスタが生成される。図8(図9および図10も同じ。)では、同じクラスタに分類されていることを示すために点を囲んである。
クラスタリングを終えると、各クラスタについての特徴を抽出(算出)する。この実施例では、クラスタの特徴は、当該クラスタに含まれる複数の点の分散についての主成分であり、分散行列についての固有値λ,λである。ただし、λは分散行列についての固有値の中で最も大きい固有値であり、λは固有値λの次に(2番目に)大きい固有値である。図9では、分かり易く示すために、クラスタの特徴(分散の主成分)を実線で示し、クラスタに含まれる点を省略してある。
上述したように、クラスタに含まれる点の数が所定数NP未満であるクラスタについては、動的物体か静的物体かを判別することが困難であるため、固有値を算出するまでも無く、消去される。したがって、図8および図9に示すように、点の数が4つであるクラスタ4は消去される。図9(図11も同じ。)では、クラスタ4が消去されたことを、当該クラスタ4に含まれる点を囲む線を点線で記載することにより表現している。ただし、実際には、クラスタに含まれる点(位置データ)に対応する距離データが消去される。
固有値λ,λを算出する場合には、まず、各クラスタでは、クラスタに含まれる複数の点についての重心(または平均)(μx,μy)が数6に従って算出される。ただし、クラスタにn個の点が含まれているものとする。
[数6]

Figure 2014178789
算出された重心(μx,μy)を基準とした場合についてのクラスタの分散行列Σは数7で示され、その固有値が数8に従って算出される。
[数7]
Σij = E[(Xi −μi)(Xj −μj)]=E(XiXj)−E(Xi)E(Xj)
ただし、μi=E(Xi)であり、この実施例では、2つの固有値λ,λを算出するため、i=j=1,2である。
[数8]
Σx−λIx=(Σ−λI)x=0
det(Σ−λI)=0
ただし、この実施例では、2つの固有値λ,λを算出するため、Iは2行2列の単位行列である。
このようにして、固有値λ,λが算出されると、この固有値λ,λを用いて、動的物体であるか、静的物体であるかが判別される。具体的には、固有値λが第1閾値(たとえば、65cm)よりも大きい場合、または、固有値λが第2閾値(たとえば、3cm)よりも小さい場合には、このような固有値λ,λを有するクラスタを静的物体と判別する。ただし、第1閾値および第2閾値は、人間のような動的物体と壁や柱のような静的物体を判別するために実験等により経験的に得られた数値である。
このように、固有値λが第2閾値よりも小さい場合には、クラスタの形状が細長く、壁に対応するクラスタと考えられるからである。また、固有値λが第1閾値よりも大きい場合には、図10に示すように、通路の角に相当する部分の壁や柱に対応するクラスタと考えられるからである。したがって、固有値λが第1閾値以下である場合、または、固有値λが第2閾値以上である場合には、人間の脚(足首辺り)に相当する物体すなわち人間または人間のような物体に対応するクラスタであると考え、このような固有値λ,λを有するクラスタを動的物体と判別する。
ただし、この実施例では、固有値λ,λの両方が第2閾値(たとえば、3cm)よりも小さい場合には、物体が小さ過ぎると判断し、当該固有値λ,λを有するクラスタに含まれる位置データに対応する距離データを消去する。
図11は、図9に示したクラスタ1−3、5−7について、それぞれの特徴に基づいて静的物体であるか動的物体であるかを判別し、動的物体であることが判別されたクラスタ(図11では、クラスタ2、3、5、6)を消去(非表示)した図である。上述したように、移動体12の位置を推定する場合には、図6−図9および図11に示す、壁や柱のような静的物体についてのクラスタに含まれる位置データに対応する距離データのみが用いられる。
次に、人間を追跡する場合について説明する。この実施例では、移動体12が適用される環境内に存在し、移動体12に設けられる距離センサ22a、22bの検出範囲に存在する1または複数の人間が検出(検知)され、検知された1または複数の人間の位置が推定される。また、検知された1または複数の人間のうち、1人の人間が選択され、選択された1人の人間に移動体12を追従させる。人間の位置の推定には、パーティクルフィルタが用いられる。ただし、上述したように、1人の人間に対して1つのパーティクルフィルタが用いられる(生成される)。以下、人間を検知し、検知した1または複数の人間の位置を推定する方法と、選択した1人の人間を追跡する方法について具体的に説明する。
上述したように、移動体12の位置を推定する際に、クラスタの特徴から動的物体であることが判別されたクラスタは人間に対応する。つまり、人間が検知される。人間が検知されると、当該人間に対応するクラスタに含まれる複数の点の重心(または平均)の位置を当該人間の位置として決定し、識別情報(人間ID)を付して管理する。以下、識別情報を付した人間の位置を人間情報という。ただし、後述するように、人間情報には、人間の速度(移動速度)も含まれる。
1または複数の人間が検知されると、上述したように、各人間についてパーティクルフィルタを用いて位置が推定される。パーティクルフィルタについては、上述したため、移動体12の位置を推定する場合と異なる点についてのみ説明することにする。
人間の状態ベクトルは、x=[x,y,vx,vyTであり、位置(x,y)および速度(vx,vy)で表される。また、パーティクルフィルタはm個(この実施例では、50個)のパーティクルを含み、m番目のパーティクルの状態ベクトルはxm==[xm,ym,vm x,vm yTで表される。また、この実施例では、時刻tにおけるパーティクルmの状態ベクトルxm tは、数9に従って算出される。ただし、Δtはフレーム間(現状態と次の状態の間)に時間であり、ωx,ωyはそれぞれ平均0であり、標準偏差σx,σyのガウシアンノイズである。
[数9]

Figure 2014178789
なお、このように、ガウシアンノイズにより拡散させて、現在の状態xm t-1から次の状態xm tを予測するのは、人間が歩行する場合に、その進行方向が一直線上とは限らないからである。
また、実際の人間の位置(測定される位置)は、移動体12の位置を推定する際に、動的物体であることが判別されたクラスタの重心を算出することにより知ることができる。実際の人間の速度は、実際の人間の位置の時間毎の変化(Δt)から算出することができる。そして、各パーティクルmについて予測した位置および速度と、実際の人間の位置および速度の尤度を求めて、各パーティクルmの重み(重要度)が更新される。
なお、前回検出した人間と同じ人間についてのクラスタであるかどうかは、前回検出したクラスタの重心からの距離が所定距離(たとえば、時間Δtの間に人間が進むと考えられる距離)内であるかどうかで判断される。
また、人間の速度は、重心のx成分およびy成分のそれぞれについての時間Δtの間における変化量で算出される。
図12および図13を用いて、パーティクルフィルタを用いて、2人の人間のそれぞれについての位置を推定(追跡)する方法について説明する。図12(A)は、時間tにおいて、検知した2人の人間についてパーティクルフィルタを生成した状態を示す。ただし、図12(A)において(図12(C)、図13(B)および図13(D)も同じ。)、実線の丸印は移動体12に設けられた距離センサ22aで距離を検出された点(人間の脚の周囲)を示し、この丸印よりも大きい実線の楕円は初期分布またはリサンプリングされたパーティクルの範囲(分布範囲)を規定する。
図12(A)に示すように、移動体12(ロボット)は、2人の人間の後方であり、当該2人の人間の一方に追従するように移動しているものとする。図12(A)では、移動体12(ロボット)は白抜き矢印の方向に移動する。ただし、図12(B)、(C)および図13(A)−図13(D)は簡単のため移動体12を省略してある。また、図12(A)(図12(C)、図13(B)および図13(D)も同じ。)では、2人の人間もそれぞれ白抜き矢印で示す方向に移動し、移動体12に設けられた距離センサ22aで各人間の脚との距離を背面側から検出している様子が示される。
図12(B)に示すように、時間tにおいて、時間t+1の状態xm t+1が予測される。ただし、数9に従って予測される。以下、状態を予測する場合について同じ。この図12(B)では(図13(A)および(C)も同じ。)、点線の丸印は移動体12に設けられた距離センサ22aで距離を検出された点(人間の脚の周囲)を示し、この点線の丸印よりも大きい点線の楕円は予測(分散)されたパーティクルmの範囲(予測範囲)を規定する。
そして、図12(C)に示すように、時間t+1の測定値(実際の位置および速度)に応じて各パーティクルmの尤度が求められ、尤度から各パーティクルmの重みが算出され、パーティクルmがリサンプリングされる。
次に、図13(A)に示すように、時間t+1において、時間t+2の状態xm t+2が予測される。図示は省略するが、上述したように、時間の経過に従って、ロボット(移動体12)は一方の人間を追従するように移動されている。ただし、追従する人間が立ち止まっている場合には、ロボット(移動体12)の移動が停止されることもある。
図13(B)に示すように、時間t+2の測定値に応じて各パーティクルmの尤度が求められ、尤度から各パーティクルmの重みが算出され、パーティクルmがリサンプリングされる。
図13(C)に示すように、時間t+2において、時間t+3の状態xm t+3が予測される。そして、図13(D)に示すように、時間t+3の測定値に応じて各パーティクルmの尤度が求められ、尤度から各パーティクルmの重みが算出され、パーティクルmがリサンプリングされる。
このように、予測、計測、リサンプリングが繰り返し行われ、人間の位置が推測(追跡)されるのである。ただし、この実施例では、予測されたパーティクルmの分散の主成分(固有値)λaが所定値L(この実施例では、0.4m)を超えた場合には、該当する人間についての位置の推定を終了するようにしてある。このような場合には、人間はロボット(移動体12)から離れる方向にまたは離れる速度で移動していると考えられるからである。詳細な説明は省略するが、固有値λaは、パーティクルmについての分散行列の固有値のうちの最大値であり、上記の固有値λ1と同じ方法で算出される。
次に、選択した人間を追従する方法について説明する。この実施例では、検知された1または複数の人間のうち、1人の人間がロボット(移動体12)によって自動的に選択されたり、外部のコンピュータからの指示に従って選択されたりする。詳細な説明は省略するが、たとえば、ロボット(移動体12)は、検知された1または複数の人間のうちから、ランダムに1人の人間を選択したり、自身の前方であり最も距離が近い人間を選択したり、話掛けられた人間を選択したりする。また、たとえば、外部のコンピュータでは、マップ(グリッドマップ)上に検知した人間を表示し、当該コンピュータの操作者が所望の人間を選択すると、選択された人間の位置がロボット(移動体12)に送信される。
1人の人間が選択されると、当該人間を追従するように、ロボット(移動体12)は移動する。この実施例では、ロボット(移動体12)の移動経路が算出され、算出された移動経路に従って移動するようにロボット(移動体12)のモータ36a、36bが駆動される。
具体的には、ロボット(移動体12)の現在位置と、追従する人間の現在位置を結ぶ直線が移動経路として算出される。ただし、移動経路上に、壁や柱以外の静的物体、追従する人間以外の動的物体または動的物体の移動経路が重なっている場合には、これらの物体や移動経路を避けるべく、算出された移動経路が変更される。たとえば、グリッドマップ上に、障害となる物体、すなわち、壁や柱以外の静的物体、追従する人間以外の動的物体または動的物体の移動経路を描画し、これらが描画されていないグリッド上を移動して選択された人間を追従するように、移動経路を再計算する。
なお、移動経路の算出方法は一例であり、他の算出方法が採用されてもよい。たとえば、人間は基本的には直線的に移動しないため、追従する人間の移動方向(速度ベクトルの向き)と、ロボット(移動体12)の移動方向(θ)とが所定角度(たとえば、15°〜30°)以内であれば、ロボット(移動体12)を現在の移動方向であり、追従する人間に所定距離近づくように、移動経路を算出してもよい。かかる場合にも、障害となる物体が存在する場合には、移動経路が再計算される。
たとえば、追従する人間の速度と同じ速度で、算出した移動経路に従って移動するように、モータ36a、36bが駆動される。ただし、ロボット(移動体12)と追従する人間の距離が所定距離(たとえば、100cm)を超えて離れている場合には、追従する人間の速度よりも速い速度で移動するようにモータ36a、36bが駆動される。詳細な説明は省略するが、モータ36a、36の回転速度を異ならせることにより、ロボット(移動体12)を、左右の斜め方向への移動、左折、右折、左旋回または右旋回させることができる。
図14は、図2に示したコンピュータ30に内蔵されるRAM30bのメモリマップ300の一例を示す。図14に示すように、RAM30bは、プログラム記憶領域302およびデータ記憶領域304を含む。
プログラム記憶領域302には、メイン処理プログラム302a、データ記憶プログラム302b、位置データ算出プログラム302c、データ判別プログラム302d、移動体位置推定プログラム302e、人間位置推定プログラム302f、移動経路算出プログラム302gおよび追従プログラム302hなどが記憶される。
メイン処理プログラム302aは、追跡システム10のメインルーチンを処理するためのプログラムである。データ記憶プログラム302bは、距離データおよび回転数データを取得して、RAM30bのデータ記憶領域304に記憶するためのプログラムである。
位置データ算出プログラム302cは、検出した距離データから、移動体12の位置および向きを基準として移動体座標系の位置データを算出し、算出した位置データを世界座標系の位置データに座標変換するためのプログラムである。データ判別プログラム302dは、移動体12の位置推定に先立って、位置データ算出プログラム302cに従って算出(座標変換)された位置データをクラスタリングし、静的物体に対応するクラスタまたは動的物体に対応するクラスタに判別するためのプログラムである。
移動体位置推定プログラム302eは、データ判別プログラム302dに従って静的物体に対応することが判別されたクラスタに含まれる位置データに対応する距離データと地図データ304eに基づき、パーティクルフィルタを用いて、移動体12の位置(状態)を推定するためのプログラムである。
人間位置推定プログラム302fは、データ判別プログラム302dに従って動的物体に対応することが判別されたクラスタを人間として検知し、パーティクルフィルタを用いて、検知した人間の位置(状態)を推定するためのプログラムである。
移動経路算出プログラム302gは、データ判別プログラム302dの判別結果から障害となる物体を考慮するとともに、地図データ304eを参照して、選択した1人の人間に移動体12を追従させるための移動経路を算出(再計算)するためのプログラムである。追従プログラム302hは、移動経路算出プログラム302gに従って算出された移動経路に従って沿って移動体12を移動させるためのプログラムである。
図示は省略するが、人間の追跡(追従)や所定のサービスの提供に必要な他のプログラムもプログラム記憶領域302に記憶される。
また、データ記憶領域304には、距離データバッファ304aおよび回転数データバッファ304bが設けられる。距離データバッファ304aは、データ記憶プログラム302bに従って距離データを記憶する。同様に、回転数データバッファ304bは、データ記憶プログラム302bに従って回転数データを記憶する。
また、データ記憶領域304には、位置データ304c、クラスタデータ304d、地図データ304eおよび状態データ304fが記憶される。計測位置データ304cは、位置データ算出プログラム302cに従って距離データバッファ304aに記憶された距離データから算出され、世界座標系に座標変換された位置(点)データである。詳細な説明は省略するが、距離データと対応する位置データとは互いに関連付けされている。
クラスタデータ304dは、距離データから算出され、座標変換された位置データをクラスタリングしたクラスタ毎のデータである。地図データ304eは、移動体12が移動する環境についてのグリッドマップのデータである。この地図データ304eでは、グリッドマップのみならず、上述したように、静的物体(の表面)に相当するグリッドに対応して静的物体であることを示す情報が記憶されている。
移動体状態データ304fは、移動体位置推定プログラム302eに従って推定された移動体12の状態(位置および向き)についてのデータである。人間情報データ304gは、人間位置推定プログラム302gに従って推定された人間の状態(位置および速度)に、人間の識別情報が付されたデータである。上述したように、各人間の状態(位置および速度)は、それぞれ、パーティクルフィルタを用いて推定され、各人間について推定された状態が時系列に従って記憶される。
図示は省略するが、データ記憶領域304には、人間の追跡(追従)や所定のサービスの提供に必要な他のデータが記憶されたり、上記のプログラムの実行のために必要なフラグやタイマ(カウンタ)などが設けられたりする。
図15および図16は図2に示したCPU30aの全体処理を示すフロー図である。CPU30aは、外部からスタート位置、1または複数の通過点、および終点を与えられると、図15に示すように全体処理を開始し、ステップS1で、距離センサ22a、22bを駆動する。このとき、CPU30aは、距離センサ22a、22bからの距離データの取得および記憶を開始する。
次のステップS3では、最初の通過点を設定する。ここでは、指示された通過点のうち、最初の通過点の座標が設定される。そして、ステップS5で、移動体12の自律航行(自律移動)を開始する。つまり、CPU30aは、全体処理とは並行して、移動体12の移動制御の処理(この実施例では、図20に示す追従処理)を実行する。
続くステップS7では、距離データおよび回転数データを取得するとともに記憶する。つまり、CPU30aは、距離センサ22a、22bからの距離データを取得するとともに、エンコーダ38a、38bからの回転数データを取得し、互いに関連付けて、それぞれ時系列に従ってRAM30bに記憶する。
続いて、ステップS9で、移動体12の位置および向きに応じて距離データから位置データを算出する。ここでは、上述したように、距離センサ22a、22bのそれぞれで検出された距離のデータから、移動体12の位置および向きを基準として移動体座標系の位置データが算出される。このとき、上述したように、2つの距離センサ22a、22bの取り付け位置が考慮される。そして、ステップS11で、ステップS9で算出された位置データを世界座標系の位置データに変換する。
図16に示すように、続くステップS13では、後述するデータ判別処理(図17および図18参照)を実行し、ステップS15で、前回位置推定(S17)を行ってから所定時間を経過したかどうかを判断する。このとき、CPU30aは、図示しないタイマを用いて時間をカウントする。また、この実施例では、所定時間が経過したかどうかを判断するようにしてあるが、所定距離移動したかどうかを判断するようにしてもよい。ただし、ステップS15の処理は省略してもよい。
なお、全体処理を開始し、最初にステップS15の判断処理が実行される場合には、位置推定を一度も行っていないため、“YES”と判断するようにしてある。
ステップS15で“NO”であれば、つまり前回位置推定を行ってから所定時間を経過していなければ、そのまま図15に示したステップS7に戻る。一方、ステップS15で“YES”であれば、つまり前回位置推定を行ってから所定時間を経過すれば、ステップS17で、地図を参照して位置および角度を推定する。ここでは、CPU30aは、上述したように、地図データ304e、回転数データ、および静的物体と判別されたクラスタに含まれる位置データに対応する距離データを用いて、パーティクルフィルタにより移動体12の位置および向きを推定する。したがって、ステップS17の処理によって、移動体状態データ304fが更新される。
続くステップS19では、通過点に到達したかどうかを判断する。ここでは、CPU30aは、ステップS17で推定した位置が設定された通過点と一致するかどうかを判断する。ステップS19で“YES”であれば、つまり通過点に到達すれば、ステップS21で、次の通過点または終点を設定して、ステップS7に戻る。一方、ステップS19で“NO”であれば、つまり通過点に到達していなければ、ステップS23で、終点に到達したかどうかを判断する。ここでは、CPU30aは、ステップS17で推定した位置が終点と一致するかどうかを判断する。
なお、詳細な説明は省略するが、ロボット(移動体12)は、設定された通過点や終点に移動させるように、追従する人間をコミュニケーションにより誘導する。たとえば、音声により、道順を説明する。また、音声および身振り手振りのような身体動作の両方で道順を説明する。この実施例では、ロボット(移動体12)を人間の後方を追従するように移動させるため、音声または音声と身体動作で道順を案内するようにしてあるが、ロボット(移動体12)が人間を先導する場合には、身体動作(たとえば、指差し)だけで誘導してもよい。
ステップS23で“NO”であれば、つまり終点に到達していなければ、ステップS7に戻る。一方、ステップS23で“YES”であれば、つまり終点に到達すれば、全体処理を終了する。
なお、詳細な説明は省略するが、位置を推定する(ステップS17の処理を実行する)ために用いられた距離データおよび回転数データは、バッファ304a、304bから消去される。
図17および図18は、図16に示したステップS13のデータ判別処理を示すフロー図である。図17に示すように、CPU30aは、データ判別処理を開始すると、ステップS33で、着目する点(位置データに対応する位置)についての新しいクラスタを生成する。たとえば、ステップS33では、まだクラスタに分類されていない位置データが任意に選択され、新しいクラスタが生成される。このとき、着目する点についての位置データを含む新しいクラスタのデータが追加される。つまり、新しいクラスタのデータを追加することにより、クラスタデータ304dが更新される。
続くステップS35では、次の点への距離が所定値TH(この実施例では、10cm)未満であるかどうかを判断する。ここでは、CPU30aは、着目する点に最も近い点との距離が所定値TH未満であるかどうかを判断するのである。ステップS35で“NO”であれば、つまり次の点への距離が所定値TH以上であれば、新しいクラスタを生成するために、ステップS33に戻る。一方、ステップS35で“YES”であれば、つまり次の点への距離が所定値TH未満であれば、ステップS37で、当該次の点を既存のクラスタに追加する。つまり、当該次の点が着目する点と同じクラスタに分類される。
続いて、ステップS39では、すべての点についてクラスタリングを行ったかどうかを判断する。ここでは、CPU30aは、クラスタに分類されていない位置データが残っていないかどうかを判断するのである。ステップS39で“NO”であれば、つまりクラスタリングを行っていない点が残っていれば、ステップS35に戻る。図示は省略するが、このとき、直前にクラスタに分類された点が着目する点に設定される。
一方、ステップS39で“YES”であれば、つまりすべての点についてクラスタリングを行えば、クラスタリングを終了したと判断し、ステップS41で、1番目のクラスタを読み出し、図18に示すステップS43で、当該クラスタに含まれる点の数が所定数NP(この実施例では、5)未満かどうかどうかを判断する。
なお、ステップS41では、説明の便宜上、1番目のクラスタを読み出すように説明したが、ここでは、任意のクラスタが読み出される。後述するステップS57においても同様であるが、このステップS57では、静的物体であることが判別されていない任意のクラスタが読み出される。ただし、クラスタを生成した順番に従ってクラスタを読み出すようにしてもよい。
ステップS43で“YES”であれば、つまり当該クラスタに含まれる点の数が所定数NP未満であれば、静的物体か動的物体かの判別が出来ないと判断して、ステップS48に進む。一方、ステップS43で“NO”であれば、つまり当該クラスタに含まれる点の数が所定数NP以上であれば、ステップS45で、数4−数6に従って、当該クラスタの固有値λ1、λ2を算出する。
次のステップS47では、固有値λ1およびλ2の両方が第2閾値Hmin(この実施例では、3cm)未満であるかどうかを判断する。上述したように、ここでは、静的物体または動的物体を判別することができるかどうかが判断されるのである。ステップS47で“YES”であれば、つまり固有値λ1およびλ2の両方が第2閾値Hmin未満であれば、ステップS48で、当該クラスタに含まれる位置データに対応する距離データを消去して、ステップS55に進む。一方、ステップS47で“NO”であれば、つまり固有値λ1およびλ2の少なくとも一方が第2閾値Hmin以上であれば、ステップS49で、固有値λ1が第1閾値Hmaxよりも大きい、または、固有値λ2が第2閾値Hmin未満であるかどうかを判断する。上述したように、ここでは、人間のような動的物体であるか、壁や柱のような静的物体であるかが判断(判別)される。
ステップS49で“YES”であれば、つまり固有値λ1が第1閾値Hmaxよりも大きい、または、固有値λ2が第2閾値Hmin未満であれば、壁や柱のような静的物体であると判断し、ステップS51で、当該クラスタを静的物体に対応するクラスタに決定して、ステップS55に進む。たとえば、ステップS51では、静的物体であることが当該クラスタにラベリングされる。
一方、ステップS49で“NO”であれば、つまり固有値λ1が第1閾値Hmax以下である、または、固有値λ2が第2閾値Hmin以上である場合には、人間のような動的物体であると判断して、ステップS53で、当該クラスタを動的物体に対応するクラスタに決定して、ステップS55に進む。たとえば、ステップS53では、動的物体であることが討議あクラスタにラベリングされる。
ステップS55では、すべてのクラスタを判別したかどうかを判断する。ステップS55で“NO”であれば、つまりまだ判別していないクラスタが存在する場合には、ステップS57で、次のクラスタを読み出し、ステップS43に戻る。一方、ステップS55で“YES”であれば、つまりすべてのクラスタを判別すれば、図14に示した全体処理にリターンする。
図19は、図2に示したCPU30aの人間位置推定処理を示すフロー図である。この人間位置推定処理は、CPU30aによって、上述した全体処理と並行して実行される。図19に示すように、CPU30aは、人間位置推定処理を開始すると、ステップS71で、人間を検知する。ここでは、データ判別処理の判別結果を参照して、動的物体と判別されたクラスタを人間に対応するクラスタとして検知する。このとき、人間に対応するクラスタに含まれる位置データに対応する複数の位置(点)の重心が算出され、算出された重心が人間の位置に決定される。
次のステップS73では、新しい人間を検知したかどうかを判断する。ここでは、現在パーティクルフィルタで位置を推定(追跡)している人間以外の人間を検知したかどうかを判断する。つまり、人間情報データ304gに記憶されていない人間を検知したかどうかを判断するのである。
ステップS73で“NO”であれば、つまり新しい人間を検知しなければ、そのままステップS77に進む。一方、ステップS73で“YES”であれば、つまり新しい人間を検知すれば、ステップS75で、新しく検知された人間の位置に識別情報を付した人間情報を記憶して、ステップS77に進む。このステップS75では、上述したように決定された人間の位置に人間IDが付され、RAM30bに記憶される。したがって、人間情報データ304gが更新される。なお、人間情報には、人間の速度も含まれるが新しく検知された時点においては、位置のみが記述される。
ステップS77では、人間の位置および速度を推定する。ここでは、CPU30aは、上述したように、パーティクルフィルタにより人間の位置および速度を推定する。したがって、ステップS77の処理によって、人間情報データ304gが更新される。ただし、ステップS77では、人間の状態が上書きされるのではなく、時系列に従って追加的に記憶される。
次のステップS79では、予測したパーティクルmにおける分散行列の固有値λaが所定距離L(この実施例では、0.4m)を超えたかどうかを判断する。ステップS79で“NO”であれば、つまり固有値λaが所定距離L以下であれば、そのままステップS83に進む。一方、ステップS79で“YES”であれば、つまり固有値λaが所定距離Lを超えれば、ステップS81で、該当するパーティクルmに対応する人間についての人間情報を削除して、ステップS83に進む。
ただし、パーティクルフィルタは、人間毎に生成され、人間毎に状態(位置および速度)を推定するため、ステップS77−S81の処理は、各人間について実行される。
ステップS83では、人間位置推定処理を終了するかどうかを判断する。ここでは、CPU30aは、移動体12が終点に移動し、全体処理を終了したかどうかを判断する。ステップS83で“NO”であれば、つまり人間位置推定処理を終了しない場合には、そのままステップS71に戻る。一方、ステップS83で“YES”であれば、そのまま人間位置推定処理を終了する。
図20は、図2に示したCPU30aの追従処理のフロー図である。この追従処理もまた、CPU30aによって、全体処理や人間位置推定処理と並行して実行される。図20に示すように、CPU30aは、追従処理を開始すると、ステップS101で、追従する人間を選択する。ここでは、上述したように、ロボットまたは移動体12(CPU30a)が追従する人間を選択したり、外部のコンピュータから指示された人間を選択したりする。
次のステップS103では、選択された人間の位置および速度を取得する。つまり、CPU30aは、人間情報データ304gを参照して、選択された人間に対応する人間情報から位置および速度を取得する。
さらに、ステップS105では、静的物体と選択された人間以外の動的物体を検出する。ここでは、CPU30aは、地図データ304eを参照するとともに、全体処理におけるクラスタの判別結果から、静的物体および動的物体と判別されたクラスタのうち、グリッドマップに載っていない静的物体と、選択された人間以外の動的物体を検出する。つまり、障害となり得る物体が検出される。
次のステップS107では、上述したように、移動経路を算出する。そして、ステップS109では、移動経路に従って移動体12を移動させる。つまり、CPU30aの指示の下、移動経路に沿って移動体12を移動させるように、モータドライバ34a、34bによって、モータ36a、36bが駆動される。
そして、ステップS111では、追従処理を終了するかどうかを判断する。ここでは、CPU30aは、移動体12が終点に移動し、全体処理を終了したかどうかを判断する。ステップS111で“YES”であれば、そのまま追従処理を終了する。一方、ステップS111で“NO”であれば、つまり追従処理を終了しない場合には、ステップS113で、追従する人間の変更かどうかを判断する。ここでは、CPU30aは、人間位置推定処理において追従している人間の人間情報が削除されたり、追従する人間の変更指示が外部のコンピュータから与えられたりしたかどうかを判断する。ステップS113で“NO”であれば、つまり追従する人間を変更しない場合には、ステップS103に戻るが、ステップS113で“YES”であれば、つまり追従する人間を変更する場合には、ステップS101に戻る。
この実施例によれば、距離センサの計測結果から静的物体および動的物体を判別し、静的物体についての計測結果のみを用いて移動体の位置を推定するので、動的物体の計測結果による影響を可及的少なくすることができる。つまり、人間などの動的物体が存在する環境においても、出来る限り正しく位置を推定することができる。つまり、移動体の位置を正しく推定し、検知した人間のうちから選択した1人の人間に移動体を追従させるので、人間を正確に追跡することができる。したがって、移動体を適用するロボットに、正しい位置に基づいた所定のサービスを提供させることができる。
また、この実施例によれば、人間の位置をパーティクルフィルタを用いて推定(追跡)するので、人間の位置を正しく推定し、より正確に移動体を追従させることができる。
さらに、この実施例では、距離センサで検出された距離データを位置データに変換するだけで静的物体および動的物体を判別できるので、カメラ等の他のセンサを設ける必要が無い。つまり、コストが高くなったり、画像処理などの負荷が大きくなったりすることもない。
さらにまた、この実施例では、位置データ(点)の数が所定数NP未満のクラスタや固有値λ1およびλ2の両方が第2閾値Hmin未満であるクラスタに含まれる位置データに対応する距離データを消去するようにしたが、これらのクラスタについても障害となる物体として移動経路の計算において考慮するようにしてもよい。
なお、この実施例では、動的物体の例として人間ないし人間のような物体を判別する場合について詳細に説明したが、上述したように、ショッピングカートや台車などの他の動的物体を判別することもできる。ただし、ショッピングカートや台車などの他の動的物体を判別する場合には、クラスタに含まれる位置データ(点)の数やその分散についての主成分(分散行列の固有値)が満たす条件をそれぞれの場合について決定する必要がある。
また、この実施例では、距離データを世界座標系の位置データに変換してクラスタリングするようにしたが、距離データを移動体を基準とした座標系(移動体座標系)の位置データに変換してクラスタリングするようにしてもよい。
さらに、この実施例では、パーティクルフィルタを用いて移動体や人間の位置を推定するようにしたがカルマンフィルタを用いてもよい。カルマンフィルタを用いた位置推定の手法は既に周知であるため、その説明は省略する。
さらにまた、この実施例で示した具体的な数値は単なる一例であり、限定されるべきではなく、実施される製品等に応じて適宜変更可能である。また、この実施例では、所定値や閾値を用いて大小を判断するステップにおいて、当該所定値や当該閾値を含まないようにしたが、当該所定値や当該閾値を含んで大小を判断するようにしてもよい。
10 …追跡システム
12 …移動体
16a、16b …車輪
18 …操作レバー
22a、22b …距離センサ
30 …コンピュータ
34a、34b …モータドライバ
36a、36b …モータ
38a、38b …エンコーダ

Claims (9)

  1. 距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡する追跡装置であって、
    前記距離センサで検出された距離データから、距離を計測された点の位置データを算出する位置データ算出手段、
    前記位置データ算出手段によって算出された位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリング手段、
    前記クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断手段、
    前記条件判断手段の判断結果に応じて前記複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別する判別手段、
    前記環境についての地図データと、前記判別手段によって静的物体に対応することが判別されたクラスタに含まれる位置データに対応する距離データを用いて、前記移動体の位置を推定する移動体位置推定手段、
    前記判別手段の判別結果に基づいて前記環境内に存在する1または複数の人間を検知する検知手段、
    前記検知手段によって検知された1または複数の人間のうち、1人の人間を選択する選択手段、および
    前記選択手段によって選択された人間に前記移動体を追従させる追従手段を備える、追跡装置。
  2. 前記検知手段によって検知された1または複数の人間の位置を推定する人間位置推定手段をさらに備える、請求項1記載の追跡装置。
  3. 前記所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることである、請求項1または2記載の追跡装置。
  4. 前記所定の条件は、前記クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含む、請求項1ないし3のいずれかに記載の追跡装置。
  5. 前記クラスタリング手段によってクラスタリングされた複数のクラスタの各々の特徴を抽出する抽出手段をさらに備え、
    前記条件判断手段は、前記抽出手段によって抽出された特徴が前記所定の条件を満たすかどうかを判断する、請求項1ないし4のいずれかに記載の追跡装置。
  6. 前記抽出手段によって抽出された特徴は、前記クラスタに含まれる位置データが示す複数の点の分散についての特徴量である、請求項5記載の追跡装置。
  7. 前記特徴量は、前記クラスタに含まれる位置データが示す複数の点の分散行列についての固有値であり、
    前記所定の条件は、前記固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい前記固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む、請求項6記載の追跡装置。
  8. 距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡するコンピュータの追跡プログラムであって、
    前記コンピュータに、
    前記距離センサで検出された距離データから、距離を計測された点の位置データを算出する位置データ算出ステップ、
    前記位置データ算出ステップにおいて算出した位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリングステップ、
    前記クラスタリングステップにおいてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断ステップ、
    前記条件判断ステップの判断結果に応じて前記複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別する判別ステップ、
    前記環境についての地図データと、前記判別ステップにおいて静的物体に対応することを判別したクラスタに含まれる位置データに対応する距離データを用いて、前記移動体の位置を推定する移動体位置推定ステップ、
    前記判別ステップの判別結果に基づいて前記環境内に存在する1または複数の人間を検知する検知ステップ、
    前記検知ステップにおいて検知した1または複数の人間のうち、1人の人間を選択する選択ステップ、および
    前記選択ステップにおいて選択した人間に前記移動体を追従させる追従ステップを実行させる、追跡プログラム。
  9. 距離センサを設置し環境内を移動する移動体を用いて当該環境内に存在する人間を追跡するコンピュータの追跡方法であって、
    前記コンピュータは、
    (a)前記距離センサで検出された距離データから、距離を計測された点の位置データを算出し、
    (b)前記ステップ(a)において算出した位置データを所定のルールに従って複数のクラスタにクラスタリングし、
    (c)前記ステップ(b)においてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断し、
    (d)前記ステップ(c)の判断結果に応じて前記複数のクラスタの各々が動的物体または静的物体に対応するかどうかを判別し、
    (e)前記環境についての地図データと、前記ステップ(d)において静的物体に対応することを判別したクラスタに含まれる位置データに対応する距離データを用いて、前記移動体の位置を推定し、
    (f)前記ステップ(d)の判別結果に基づいて前記環境内に存在する1または複数の人間を検知し、
    (g)前記ステップ(f)において検知した1または複数の人間のうち、1人の人間を選択し、そして
    (h)前記ステップ(g)において選択した人間に前記移動体を追従させる、追跡方法。
JP2013051162A 2013-03-14 2013-03-14 追跡装置、追跡プログラムおよび追跡方法 Active JP6094279B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013051162A JP6094279B2 (ja) 2013-03-14 2013-03-14 追跡装置、追跡プログラムおよび追跡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051162A JP6094279B2 (ja) 2013-03-14 2013-03-14 追跡装置、追跡プログラムおよび追跡方法

Publications (2)

Publication Number Publication Date
JP2014178789A true JP2014178789A (ja) 2014-09-25
JP6094279B2 JP6094279B2 (ja) 2017-03-15

Family

ID=51698698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051162A Active JP6094279B2 (ja) 2013-03-14 2013-03-14 追跡装置、追跡プログラムおよび追跡方法

Country Status (1)

Country Link
JP (1) JP6094279B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016080671A (ja) * 2014-10-20 2016-05-16 純一 水澤 人間の動きを測定するロボット計測器
JP2018173707A (ja) * 2017-03-31 2018-11-08 株式会社国際電気通信基礎技術研究所 人推定システムおよび推定プログラム
CN113689471A (zh) * 2021-09-09 2021-11-23 中国联合网络通信集团有限公司 目标跟踪方法、装置、计算机设备及存储介质
WO2022259823A1 (ja) * 2021-06-08 2022-12-15 株式会社デンソー 物体認識システム、物体認識方法、物体認識プログラム
DE102021003051A1 (de) 2021-06-16 2022-12-22 BIBA - Bremer Institut für Produktion und Logistik GmbH System und Verfahren zum personen-und/oder personengruppenindividuellen Leiten von Personen und/oder Personengruppen in Innenbereichen und/oder Außenbereichen
WO2023157394A1 (ja) * 2022-02-15 2023-08-24 株式会社デンソー 認識システム、認識装置、認識方法、認識プログラム
JP7420682B2 (ja) 2020-08-25 2024-01-23 慶應義塾 歩行計測システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002048513A (ja) * 2000-05-26 2002-02-15 Honda Motor Co Ltd 位置検出装置、位置検出方法、及び位置検出プログラム
JP2005292972A (ja) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International 対象物認識装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002048513A (ja) * 2000-05-26 2002-02-15 Honda Motor Co Ltd 位置検出装置、位置検出方法、及び位置検出プログラム
JP2005292972A (ja) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International 対象物認識装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
萩田紀博,外1名: ""生活環境で動作するロボットと人とのインタラクションについての研究動向"", 人工知能学会誌, vol. 第28巻,第2号, JPN6017000988, 1 March 2013 (2013-03-01), pages 217 - 223, ISSN: 0003480953 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016080671A (ja) * 2014-10-20 2016-05-16 純一 水澤 人間の動きを測定するロボット計測器
JP2018173707A (ja) * 2017-03-31 2018-11-08 株式会社国際電気通信基礎技術研究所 人推定システムおよび推定プログラム
JP7420682B2 (ja) 2020-08-25 2024-01-23 慶應義塾 歩行計測システム
WO2022259823A1 (ja) * 2021-06-08 2022-12-15 株式会社デンソー 物体認識システム、物体認識方法、物体認識プログラム
JP7444136B2 (ja) 2021-06-08 2024-03-06 株式会社デンソー 物体認識システム、物体認識方法、物体認識プログラム
DE102021003051A1 (de) 2021-06-16 2022-12-22 BIBA - Bremer Institut für Produktion und Logistik GmbH System und Verfahren zum personen-und/oder personengruppenindividuellen Leiten von Personen und/oder Personengruppen in Innenbereichen und/oder Außenbereichen
CN113689471A (zh) * 2021-09-09 2021-11-23 中国联合网络通信集团有限公司 目标跟踪方法、装置、计算机设备及存储介质
CN113689471B (zh) * 2021-09-09 2023-08-18 中国联合网络通信集团有限公司 目标跟踪方法、装置、计算机设备及存储介质
WO2023157394A1 (ja) * 2022-02-15 2023-08-24 株式会社デンソー 認識システム、認識装置、認識方法、認識プログラム

Also Published As

Publication number Publication date
JP6094279B2 (ja) 2017-03-15

Similar Documents

Publication Publication Date Title
JP6094279B2 (ja) 追跡装置、追跡プログラムおよび追跡方法
JP6202517B2 (ja) 地図作成装置、地図作成プログラムおよび地図作成方法
JP5803054B2 (ja) 自律移動装置
JP5112666B2 (ja) 移動装置
JP5394597B2 (ja) 自律移動装置、自律移動方法、及び自律移動装置用のプログラム
JP4464893B2 (ja) 移動ロボット
JP2019500693A (ja) 自律視覚ナビゲーション
WO2013046563A1 (ja) 自律移動装置、自律移動方法、及び、自律移動装置用のプログラム
JP2011054082A (ja) 自律移動装置
JP2013225253A (ja) 自律移動装置、自律移動方法及び自律移動装置用のプログラム
JP2020004095A (ja) 自律移動体制御装置及び自律移動体
JP2009223757A (ja) 自律移動体、その制御システム、自己位置推定方法
JP6299957B2 (ja) 移動体制御装置、移動体制御プログラムおよび移動体制御方法
US20230185317A1 (en) Information processing device, information processing system, method, and program
JP6156793B2 (ja) 位置推定装置、位置推定プログラムおよび位置推定方法
JP7317436B2 (ja) ロボット、ロボット制御プログラムおよびロボット制御方法
Chikhalikar et al. An object-oriented navigation strategy for service robots leveraging semantic information
Hoang et al. Proposal of algorithms for navigation and obstacles avoidance of autonomous mobile robot
Ziebinski et al. Obstacle avoidance by a mobile platform using an ultrasound sensor
CN115164931A (zh) 一种盲人出行辅助系统、方法及设备
JP2019197241A (ja) 通行人追従型の移動ロボットの誘導
KR20220107344A (ko) 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법
CN113465592A (zh) 导航方法及自行走装置
JP2017224048A (ja) 移動目標決定装置、及び、移動目標決定方法
JP2021163215A (ja) 移動体制御装置、移動体制御プログラム及び移動体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170130

R150 Certificate of patent or registration of utility model

Ref document number: 6094279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250