(57)【特許請求の範囲】
【請求項１】
移動ロボットが回転したと推定される第１回転角を推定する第１回転角推定部；
前記移動ロボットの実際回転によって発生した第２回転角を測定する第２回転角測定部；
映像獲得手段から得た少なくとも順次的な２つの映像の変化量を算出する映像変化量算出部；および
前記第１回転角から前記第２回転角を減算した誤差角および前記映像変化量に基づいて前記移動ロボットのスリップ方向とスリップ角を算出してスリップの種類を検出し、その検出されたスリップ種類に応じてスリップ領域の脱出のための相違した脱出制御信号を出力するスリップ感知部を含み、
前記スリップ感知部は、前記映像変化量と基準変化量を比較し、前記映像変化量が基準変化量より小さい場合には前記移動ロボットが停滞したと推定し、停滞回数を算出することを特徴とする、
、移動ロボットのスリップ感知装置。
【請求項２】
前記スリップ感知部は、前記スリップ方向、スリップ角、および映像変化量に基づき、前記スリップ時に発生した位置情報のエラーに対して移動ロボットの前記位置情報を補正するための復旧信号を出力することを特徴とする、請求項１に記載の移動ロボットのスリップ感知装置。
【請求項３】
前記スリップ感知部は、前記誤差角が基準誤差角よりも大きい場合には、前記移動ロボットに第１スリップの発生を感知することを特徴とする、請求項１に記載の移動ロボットのスリップ感知装置。
【請求項４】
前記スリップ感知部は、前記スリップ感知時に前記誤差角の符号が負の値を有する場合には、前記移動ロボットの右輪にスリップが発生したと判断し、前記移動ロボットが予め設定された距離または時間を後進した後に左側方向に前進する脱出制御信号を出力することを特徴とする、請求項３に記載の移動ロボットのスリップ感知装置。
【請求項５】
前記スリップ感知部は、前記スリップ感知時に前記誤差角の符号が正の値を有する場合には、前記移動ロボットの左輪にスリップが発生したと判断し、前記移動ロボットが予め設定された距離または時間を後進した後に右側方向に前進する脱出制御信号を出力することを特徴とする、請求項３に記載の移動ロボットのスリップ感知装置。
【請求項６】
前記スリップ感知部は、
前記停滞回数が基準回数よりも大きく、これと共に前記誤差角に基づいた移動ロボットの速度が基準速度よりも大きい場合には、第２スリップの発生を感知することを特徴とする、請求項１に記載のロボットのスリップ感知装置。
【請求項７】
ａ）移動ロボットが回転したと推定される第１回転角を推定する段階；
ｂ）前記移動ロボットの実際回転によって発生した第２回転角を測定する段階；
ｃ）前記第１回転角から前記第２回転角を減算した誤差角を求め、その誤差角に基づいて前記移動ロボットのスリップ方向とスリップ角を算出して第１スリップを感知する段階；
ｄ）少なくとも順次的に入力された２つの映像の変化量を算出して第２スリップを感知する段階；を含み、
前記ｄ）段階は、
前記入力された映像をＮ領域に分割し、移動ロボットの進行方向または反対方向を基準として対象領域を１／Ｎだけ増加させ、各増加した領域の平均と分散を算出する段階、および
前記各領域の平均と分散値の変化量に基づき、前記映像が遮蔽されない場合に、前記映像変化量が基準変化量より小さい場合には入力映像が停滞したと推定して停滞回数を計算する段階、
を含む、移動ロボットのスリップ感知方法。
【請求項８】
前記スリップ感知方法は、
ｅ）前記感知された第１スリップと第２スリップに基づいてスリップの種類を検出し、その検出されたスリップの種類に応じて選択的にスリップ領域を脱出する段階をさらに含むことを特徴とする、請求項７に記載の移動ロボットのスリップ感知方法。
【請求項９】
前記スリップ感知方法は、
ｆ）前記スリップ方向、スリップ角、および映像変化量に基づいて移動ロボットの位置情報を補正して前記移動ロボットの位置を復旧する段階をさらに含むことを特徴とする、請求項８に記載の移動ロボットのスリップ感知方法。
【請求項１０】
前記第１回転角推定段階は、
前記移動ロボットの左輪駆動部の回転速度である第１角速度と右輪駆動部の回転速度である第２角速度を検出する段階、および
前記第１角速度と第２角速度の差および前記移動ロボットのタイヤの直径に基づいて前記第１回転角を算出する段階
を含むことを特徴とする、 請求項７に記載の移動ロボットのスリップ感知方法。
【請求項１１】
前記ｃ）段階は、
前記第１回転角と前記第２回転角の誤差角を求めて基準誤差角と比較する段階、および
前記誤差角が前記基準誤差角よりも大きい場合には、前記移動ロボットにスリップが発生したと判断してスリップ領域を脱出する段階、
を含むことを特徴とする、請求項１０に記載の移動ロボットのスリップ感知方法。
【請求項１２】
前記スリップ領域脱出段階は、
前記移動ロボットが予め設定された距離または時間を後進した後に前記スリップ方向と反対方向に前進して前記スリップ領域を脱出することを特徴とする、請求項１１に記載の移動ロボットのスリップ感知方法。
【請求項１３】
前記スリップ領域脱出段階は、
前記誤差角の符号が負の値を有する場合には、前記移動ロボットの右輪にスリップが発生したと判断し、予め設定された距離または時間を後進した後に左側方向に前進して前記スリップ領域を脱出することを特徴とする、請求項１１に記載の移動ロボットのスリップ感知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットの感知装置および方法に関し、より詳しくは、複数の方向センサと単一の映像センサを利用して移動ロボットの走行時に発生したスリップを正確に感知し、これに基づいて移動ロボットの走行を制御して危険地域を脱出し、スリップによって誤認識された移動ロボットの位置を復旧することができる移動ロボットの感知装置および方法に関する。
【背景技術】
【０００２】
最近、ロボット技術の発展に伴い、自らが経路を設定して移動する移動ロボットが活用されている。移動ロボットの代表的な例としては、住宅や建物内部を掃除する掃除用ロボットや、位置を案内する案内ロボットなどを挙げることができる。特に、掃除ロボットの場合には各種センサと走行手段を備え、走行しながら内部に備えられた真空掃除ユニットを利用して室内フロアを掃除し、現在では多数の製品が実際に用いられている。
【０００３】
このような移動ロボットが空間で効果的に位置を判断しながら移動するためには、移動している空間に対する地図を生成し、空間上の自身の位置を認識することが求められる。移動ロボットが周辺空間に対して自らが位置を認識して地図を形成することを、同時位置認識および地図形成（ＳＬＡＭ：Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ）という。
【０００４】
ＳＬＡＭ技法のうち、映像基盤のＳＬＡＭは、映像から抽出した視覚特徴点を利用して周辺環境に対する地図を生成し、ロボットの姿勢を推定する。通常の移動ロボットは、ジャイロスコープと駆動モータに備えられたエンコーダを利用して推測航法（ｄｅａｄ  ｒｅｃｋｏｎｉｎｇ）によって走行し、上部に設置されたカメラを利用して映像を分析して地図を生成する。このとき、ジャイロスコープとエンコーダからの走行情報による誤差が発生する場合、カメラから得られた映像情報を活用して累積する誤差が補正される。
【０００５】
上述した従来技術に係る移動ロボットは、走行時にスリップが発生した場合、効果的にスリップ領域を脱出することができなかったり、スリップ角と方向を正確に検出することができないという問題点があった。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したような問題点を解決するために、本発明は、側面スリップ時のスリップ角とスリップ方向を感知し、これと共に正面スリップを感知してスリップの種類を判断し、スリップの種類に応じて相違した方法によってスリップ領域を脱出し、発生したスリップ方向と時間を推定して累積した誤差を復旧することができる、移動ロボットの感知装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述したような目的を達成するために、本発明に係る移動ロボットのスリップ感知装置は、移動ロボットが回転したと推定される第１回転角を推定する第１回転角推定部；前記移動ロボットの実際回転によって発生した第２回転角を測定する第２回転角測定部；映像獲得手段から得た少なくとも順次的な２つの映像の変化量を算出する映像変化量算出部；および前記第１、２回転角の誤差角および前記映像変化量に基づいて前記移動ロボットのスリップ方向とスリップ角を算出してスリップの種類を検出し、その検出されたスリップ種類に応じてスリップ領域の脱出のための相違した脱出制御信号を出力するスリップ感知部；を含む。
【０００８】
前記スリップ感知部は、前記スリップ方向、スリップ角、および映像変化量に基づき、前記スリップ時に発生した位置情報のエラーに対して移動ロボットの位置を復旧する復旧信号を出力することを特徴とする。
前記スリップ感知部は、前記誤差角が基準誤差角よりも大きい場合には、前記移動ロボットに第１スリップの発生を感知することを特徴とする。
【０００９】
前記スリップ感知部は、前記スリップ感知時に前記誤差角の符号が負の値を有する場合には、前記移動ロボットの右輪にスリップが発生したと判断し、前記移動ロボットが予め設定された距離または時間を後進した後に左側方向に前進する脱出制御信号を出力することを特徴とする。
【００１０】
前記スリップ感知部は、前記スリップ感知時に前記誤差角の符号が正の値を有する場合には、前記移動ロボットの左輪にスリップが発生したと判断し、前記移動ロボットが予め設定された距離または時間を後進した後に右側方向に前進する脱出制御信号を出力することを特徴とする。
【００１１】
前記スリップ感知部は、前記映像変化量と基準変化量を比較し、前記映像変化量が基準変化量よりも小さな場合には前記移動ロボットが停滞したと推定し、停滞回数を算出することを特徴とする。
【００１２】
前記スリップ感知部は、前記停滞回数が基準回数よりも大きく、これと共に前記誤差角に基づいた移動ロボットの速度が基準速度よりも大きい場合には、第２スリップの発生を感知することを特徴とする。
【００１３】
上述した目的を達成するために、本発明に係る移動ロボットのスリップ感知方法は、ａ）移動ロボットが回転したと推定される第１回転角を推定する段階；ｂ）前記移動ロボットの実際回転によって発生した第２回転角を測定する段階；およびｃ）前記第１回転角と前記第２回転角の誤差角を求め、その誤差角に基づいて前記移動ロボットのスリップ方向とスリップ角を算出して第１スリップを感知する段階；を含む。
前記スリップ感知方法は、ｄ）少なくとも順次的に入力された２つの映像の変化量を算出して第２スリップを感知する段階をさらに含むことを特徴とする。
【００１４】
前記スリップ感知方法は、ｅ）前記感知された第１スリップと第２スリップに基づいてスリップの種類を検出し、その検出されたスリップの種類に応じて選択的にスリップ領域を脱出する段階をさらに含むことを特徴とする。
【００１５】
前記スリップ感知方法は、ｆ）前記スリップ方向、スリップ角、および映像変化量に基づいて移動ロボットの位置を復旧する段階をさらに含むことを特徴とする。
【００１６】
前記第１回転角推定段階は、前記移動ロボットの左輪駆動部の回転速度である第１角速度と右輪駆動部の回転速度である第２角速度を検出する段階、および前記第１角速度と第２角速度の差および前記移動ロボットのタイヤの直径に基づいて前記第１回転角を算出する段階を含むことを特徴とする。
【００１７】
前記ｃ）段階は、前記第１回転角と前記第２回転角の誤差角を求めて基準誤差角と比較する段階、および前記誤差角が前記基準誤差角よりも大きい場合には前記移動ロボットにスリップが発生したと判断し、スリップ領域を脱出する段階を含むことを特徴とする。
【００１８】
前記スリップ領域脱出段階は、前記移動ロボットが予め設定された距離または時間を後進した後に前記スリップ方向と反対方向に前進して前記スリップ領域を脱出することを特徴とする。
【００１９】
前記スリップ領域脱出段階は、前記誤差角の符号が負の値を有する場合には前記移動ロボットの右輪にスリップが発生したと判断し、予め設定された距離または時間を後進した後に左側方向に前進して前記スリップ領域を脱出することを特徴とする。
【００２０】
前記スリップ領域脱出段階は、前記誤差角の符号が正の値を有する場合には前記移動ロボットの左輪にスリップが発生したと判断し、予め設定された距離または時間を後進した後に右側方向に前進して前記スリップ領域を脱出することを特徴とする。
前記誤差角は、前記移動ロボットの初期位置を基準として＋１８０と−１８０度の間の値を有することを特徴とする。
【００２１】
前記誤差角が前記移動ロボットの移動時間に対して不連続区間を有する場合に、前記不連続区間の誤差角をｙ軸方向に平行移動させ、前記不連続区間が連続区間になるように前記誤差角を前処理することを特徴とする。
【００２２】
前記ｄ）段階は、前記入力された映像をＮ領域に分割し、移動ロボットの進行方向または反対方向を基準として対象領域を１／Ｎだけ増加させ、各増加した領域の平均と分散を算出する段階、および前記各領域の平均と分散値の変化量に基づき、前記映像が遮蔽されない場合に、前記映像変化量が基準変化量よりも小さい場合に入力映像が停滞したと推定して停滞回数を計算する段階を含むことを特徴とする。
【００２３】
前記ｄ）段階では、前記停滞回数が基準回数よりも大きく、これと共に前記誤差角に基づいた移動ロボットの速度が基準速度よりも大きい場合に、前記第２スリップの発生を感知することを特徴とする。
【００２４】
前記第２スリップの発生が感知されれば、前記移動ロボットは、予め設定された距離または時間を後進した後に前記スリップ発生領域を回避して走行することを特徴とする。
【発明の効果】
【００２５】
本発明の実施形態に係る移動ロボットのスリップ感知装置および方法は、側面スリップ時のスリップ角とスリップ方向を感知し、これと共に正面スリップを感知することにより、スリップの種類を判断することができる。
【００２６】
また、本発明の実施形態に係る移動ロボットのスリップ感知装置および方法は、検出されたスリップの種類に応じて相違した方法によって効率的にスリップ領域を脱出することができる。
【００２７】
さらに、本発明の実施形態に係る移動ロボットのスリップ感知装置および方法は、スリップ方向と時間を推定してスリップ時に累積した移動ロボットの位置誤差を復旧することができる。
【図面の簡単な説明】
【００２８】
【図１】図１は本発明の好ましい実施形態が適用される移動ロボットの構成を示すブロック図である。
【図２】図２は本発明の好ましい実施形態に係る移動ロボットのスリップ感知装置の構成を示すブロック図である。
【図３】図３は本発明の好ましい実施形態に係る移動ロボットのスリップ感知方法を示すフローチャートである。
【図４】図４は移動ロボットの走行中の時間ｔ１で左輪にスリップが発生した場合の推定回転角と測定回転角を示す図である。
【図５】図５は本発明の好ましい実施形態に係る移動ロボットのスリップ感知装置および方法によって感知された回転角データとこれを加工したデータを示す図である。
【図６】図６は時間ｔ１でスリップが発生した場合において、加工された推定回転角と測定回転角を示す図である。
【図７】図７は本発明の好ましい実施形態に係る移動ロボットのスリップ方法によって感知された第１スリップ感知結果を示す図である。
【図８】図８は得た映像を移動ロボットの進行方向（ｄ）を基準として４等分して映像獲得部の遮蔽可否を判断する過程を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の好ましい実施形態について、添付の図面を参照しながら詳しく説明する。まず、各図面の構成要素に参照符号を付与するにおいて、同じ構成要素に対しては、たとえ他の図面上に表示されていても、可能な限り同じ符号を有するようにしていることに留意しなければならない。また、本発明を説明するにおいて、関連する公知構成または機能に対する具体的な説明が本発明の要旨を不明瞭にし得ると判断される場合には、その詳細な説明は省略する。さらに、以下で本発明の好ましい実施形態を説明するが、本発明の技術的思想はこれに限定されたり制限されるものではなく、当業者によって変形されて多様に実施されることができることは勿論である。
図１は、本発明の好ましい実施形態が適用される移動ロボットの構成を示すブロック図である。
【００３０】
図１を参照すれば、前記移動ロボット１００は、映像を取得する映像獲得部１１０、映像獲得部１１０で得られた映像を処理して映像内の特徴点を抽出し、特徴点に対する記述子（ｄｅｓｃｒｉｐｔｏｒ）を生成する映像処理部１２０、移動ロボット１００の移動方向情報と移動距離などをセンシングするセンサ部１４０、得られた映像に基づいて移動ロボットが移動する空間に対する地図を生成し、得られた映像から抽出した特徴点に関する情報とセンサ部１４０から得られた走行情報に基づいて移動ロボットの作動を制御する主制御部１３０、主制御部１３０の制御によってロボットを駆動するロボット駆動部１５０、および移動ロボットのスリップ角、スリップ方向、およびスリップ種類を感知し、感知されたスリップ種類に応じてスリップ領域の脱出のための相違した脱出制御信号を出力するスリップ感知装置２００を含む。
【００３１】
映像獲得部１１０は、移動ロボットが位置した周辺環境に対する映像を取得する装置であって、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などのようなイメージセンサを含んで構成されることができる。本発明において、映像獲得部１１０は上を向くように配置され、天井映像を得るように配置されることが好ましい。より好ましくは、映像獲得部１１０は、魚眼レンズ（ｆｉｓｈｅｙｅ  ｌｅｎｓ）のような広角（ｗｉｄｅ  ａｎｇｌｅ）レンズを備え、広い範囲の天井映像を得られるようにする。
映像処理部１２０は、映像歪曲補正部１２１および映像品質点検部１２２を含む。
【００３２】
映像歪曲補正部１２１は、映像獲得部１１０で得られた映像の歪曲を補正する機能を実行する。映像獲得部１１０が魚眼レンズまたは広角レンズを含む場合、映像獲得部１１０を通じて得られた映像は歪曲（ｒａｄｉａｌ  ｄｉｓｔｏｒｔｉｏｎ）を含む。これにより、映像獲得部１１０は、事前に得られたカメラパラメータを利用して映像の歪曲を除去する。
【００３３】
映像品質点検部１２２は、得られた映像の可用性を判断する機能を実行する。映像獲得部１１０に直射光線が照射されたり、映像獲得部１１０がテーブルのような障害物によって隠れる場合、映像獲得部１１０で得られた映像は、移動ロボットの位置認識に使用されるのに不適合となることがある。これにより、映像品質点検部１２２は得られた映像を点検し、得られた映像が不適合である場合、これを排除する機能を実行する。一例として、映像品質点検部１２２は、得られた映像の明度を基準とし、明度が極めて高かったり低かったりする場合には不適合な映像として処理することができる。得られた映像が排除される場合、主制御部１３０は、ジャイロスコープ４４やエンコーダ１４２から得られた走行記録情報に基づいて移動ロボット１００の移動を制御することができる。
【００３４】
地図管理部１３１は、移動ロボット１００の映像獲得部１１０で得られた映像、移動ロボット１００の移動方向と距離などの走行情報、特徴点の位置などに基づいて移動ロボット１００が位置した空間に対する地図を生成して更新する機能を実行する。場合によっては、前記空間に対する地図が移動ロボット１００に予め提供されることができ、この場合には、空間に位置した障害物などの情報と特徴点情報に基づき、地図管理部１３１は地図を継続して更新するようにできる。
【００３５】
走行制御部１３２は、移動ロボット１００の現在位置および走行情報に基づいて移動ロボット１００の走行を制御する機能を実行する。移動ロボット１００の走行のための一実施形態として、移動ロボット１００は左輪１５１と右輪１５２を備え、左輪と右輪の駆動のためのロボット駆動部１５０として左輪駆動モータ（図示せず）と右輪駆動モータ（図示せず）を備えることができる。走行制御部１３２は、左輪駆動モータと右輪駆動モータそれぞれの回転を制御することにより、移動ロボット１００の前進、後進、左折、および右折などの走行が可能となるようにできる。この場合、左輪駆動モータと右輪駆動モータにはそれぞれエンコーダ１４２が備えられ、左輪駆動モータと右輪駆動モータの駆動情報を得る。
【００３６】
一方、前記走行制御部１３２は、拡張カルマンフィルタ（ＥＫＦ：Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）を活用し、現在特徴点の位置と移動ロボットの位置に基づいて以後の特徴点の位置と移動ロボットの位置を予測することにより、移動ロボット１００の走行を制御するように設計されることができる。
以下、図２を参照しながら、本発明の一実施形態に係る移動ロボットのスリップ感知装置２００を詳しく説明する。
図２は、本発明の好ましい実施形態に係る移動ロボットのスリップ感知装置の構成を示すブロック図である。
【００３７】
図２を参照すれば、本発明の一実施形態に係る移動ロボットのスリップ感知装置２００は、移動ロボットが回転したと推定される第１回転角を推定する第１回転角推定部２２０、前記移動ロボットの実際回転によって発生した第２回転角を測定する第２回転角測定部２４０、映像獲得手段から得た少なくとも順次的な２つの映像の変化量を算出する映像変化量算出部２５０、および前記第１、２回転角の誤差角および前記映像変化量に基づいて前記移動ロボットのスリップ方向とスリップ角を算出してスリップの種類を検出し、その検出されたスリップ種類に応じてスリップ領域の脱出のための相違した脱出制御信号を出力するスリップ感知部２１０を含む。
【００３８】
前記第１回転角推定部２２０は、ロボット駆動部１５０の回転軸の角速度を算出する駆動速度検出部２３０で検出した角速度の入力を受けて前記第１回転角を推定する。
【００３９】
ここで、前記駆動速度検出部２３０としてはホイールエンコーダが用いられることができ、前記第２回転角測定部２４０としてはジャイロスコープのような慣性センサが用いられることができる。また、前記駆動速度検出部２３０と第２回転角測定部２４０は、前記センサ部１４０のエンコーダ１４２と慣性センサ１４１がそのまま利用されることができる。この場合、前記推定された第１回転角は前記ホイールエンコーダが推定した回転角となり、前記第２回転角は前記慣性センサが測定した回転角となる。
【００４０】
前記スリップ感知部２１０は、前記スリップ方向、スリップ角、および映像変化量に基づき、前記スリップ時に発生した位置情報のエラーに対して移動ロボットの位置を復旧する信号を出力する。
【００４１】
前記スリップ感知部２１０は、前記誤差角が基準誤差角よりも大きい場合には、前記移動ロボットに側面スリップが発生したことを感知し、前記スリップがどの方向に発生したのかを知るために、前記誤差角の符号が正であるか負であるかを判断する。
【００４２】
前記スリップ感知部２１０は、スリップ感知時に前記誤差角の符号が負の値を有する場合には、前記移動ロボットの右輪１５２にスリップが発生したと判断する。前記スリップ感知部２１０は、上述したように右輪にスリップ発生した場合に、前記移動ロボットが予め設定された距離または時間を後進した後に左側方向に前進する脱出制御信号を出力する。
【００４３】
また、前記スリップ感知部２１０は、スリップ感知時に前記誤差角の符号が正の値を有する場合には、前記移動ロボットの左輪１５１にスリップが発生したと判断し、前記移動ロボットが予め設定された距離または時間を後進した後に右側方向に前進する脱出制御信号を出力する。
以下、図３〜図７を参照しながら、本発明の一実施形態に係る説明による移動ロボット１００のスリップ感知方法について説明する。
【００４４】
図３は、本発明の好ましい実施形態に係る移動ロボットのスリップ感知方法を示すフローチャートである。図４は、移動ロボットの走行中の時間ｔ１で左輪にスリップが発生した場合の推定回転角と測定回転角を示す図である。図５は、本発明の好ましい実施形態に係る移動ロボットのスリップ感知装置および方法によって感知された回転角データとこれを加工したデータを示す図である。図６は、時間ｔ１でスリップが発生した場合において、加工された推定回転角と測定回転角を示す図である。図７は、本発明の好ましい実施形態に係る移動ロボットのスリップ方法によって感知された第１スリップ感知結果を示す図である。図８は、得た映像を移動ロボットの進行方向（ｄ）を基準として４等分して映像獲得部の遮蔽可否を判断する過程を示す図である。
【００４５】
図３を参照すれば、移動ロボットのスリップ感知方法は、ａ）移動ロボットが回転したと推定される第１回転角を推定する段階（Ｓ２１０）、ｂ）前記移動ロボットの実際回転によって発生した第２回転角を測定する段階（Ｓ２１０）、およびｃ）前記第１回転角と前記第２回転角の誤差角を求め、その誤差角に基づいて前記移動ロボットのスリップ方向とスリップ角を算出して第１スリップを感知する段階（Ｓ２００）を含む。
【００４６】
前記スリップ感知方法は、ｄ）少なくとも順次的に入力された２つの映像の変化量を算出して第２スリップを感知する段階（Ｓ３００）をさらに含むことを特徴とする。
【００４７】
前記スリップ感知方法は、ｅ）前記感知された第１スリップと第２スリップに基づいてスリップの種類を検出し（Ｓ４００）、その検出されたスリップの種類に応じて選択的にスリップ領域を脱出する段階（Ｓ５００）をさらに含むことを特徴とする。
【００４８】
前記スリップ感知方法は、ｆ）前記スリップ方向、スリップ角、および映像変化量に基づいて移動ロボットの位置を復旧する段階（Ｓ６００）をさらに含むことを特徴とする。
【００４９】
前記第１回転角推定段階（Ｓ１２０）は、前記移動ロボットの左輪駆動部の回転速度である第１角速度と右輪駆動部の回転速度である第２角速度を検出し、前記第１角速度と第２角速度の差および前記移動ロボットのタイヤの直径に基づいて前記第１回転角を算出する。
【００５０】
前記第１スリップを感知する段階（Ｓ２００）では、前記第１回転角と前記第２回転角の誤差角を求めて基準誤差角と比較し、前記誤差角が前記基準誤差角よりも大きい場合には前記移動ロボットにスリップが発生したと判断し、スリップ領域を脱出する（Ｓ５００）。
【００５１】
このとき、前記移動ロボット１００は、予め設定された距離または時間を後進した後に、前記スリップ方向と反対方向に前進して前記スリップ領域を脱出するようになる。このとき、前記スリップ感知部２１０は、前記誤差角の符号が負の値を有する場合には前記移動ロボットの右輪にスリップが発生したと判断し、前記移動ロボット１００は、前記スリップ感知部の脱出制御信号によって予め設定された距離または時間を後進した後に左側方向に前進して前記スリップ領域を脱出するようになる。しかし、前記スリップ感知部２１０は、前記誤差角の符号が正の値を有する場合には前記移動ロボットの左輪にスリップが発生したと判断し、前記移動ロボット１００は、前記スリップ感知部の脱出制御信号によって予め設定された距離または時間を後進した後に右側方向に前進して前記スリップ領域を脱出するようになる。
図４〜図６を参照しながら、より詳細に前記第１スリップ感知段階について説明する。
【００５２】
まず、第１回転角推定部２２０は、駆動速度検出部２３０で測定したロボット駆動部の回転軸の角速度成分を積分し、移動ロボット１００が回転したと推定される回転角であるθｅｎｃｏを出力する。前記駆動速度検出部２３０は、差等駆動方式によって左輪１５１と右輪１５２から駆動回転角速度ｗＬとｗＲを測定する。移動ロボットの移動速度は、角速度の平均にタイヤの半径を掛けて求めることができる。また、回転角（θｅｎｃｏ）は、両タイヤの角速度差にタイヤの半径を掛けて求めることができる。これを再び積分するようになれば、エンコーダのような駆動速度検出２３０による回転角（θｅｎｃｏ）を求めることができる。
移動ロボット１００の線速度（ｖ）と回転角速度（ｗ）は、下記の数式（１）および（２）を利用して求めることができる。
【００５３】
【数１】
0005421461.tif 000002
【００５４】
【数２】
0005421461.tif 000003
【００５５】
ここで、ｖとｗのそれぞれは移動ロボットの線速度と回転角速度であり、ｒＲは右側タイヤの半径であり、ｒＬは左側タイヤの半径であり、ｗＲは右側タイヤの回転速度であり、ｗＬは左側タイヤの回転速度であり、Ｂは両タイヤ間の距離である。
【００５６】
図４に示すように、移動ロボット１００が初期位置（ｔ＝０）で走行また清掃を開始した後、時間ｔ＝ｔ１で右輪１５１にスリップが発生するようになれば、第１回転角推定部２２０に推定した回転角（θｅｎｃｏ）と第２回転角測定部２４０で測定した回転角（θｇｙｒｏ）の間に誤差角が発生する。前記スリップ感知部２１０は、このような誤差角を累積するようになる。
【００５７】
しかし、発明に係る実施形態では、移動ロボットの回転角は−π〜＋πで制限されているため、回転角の絶対値がπを超えれば符号が変わり、連続的な処理が不可能となる。これにより、これを再び前処理する過程が必要となる。
図５を参照しながら、前記前処理過程について詳しく説明する。
【００５８】
図５（ａ）に示すように、前記誤差角は−π〜＋πの値を有するため、前記誤差角が＋πを越す場合には−π〜０の値を有するようになる。これにより、前記誤差角は、＋πと−πに該当する移動時間に対して不連続区間を有するようになる。したがって、前記スリップ感知部２１０は、図５（ｂ）に示すように、前記不連続区間の誤差角をｙ軸方向に平行移動させ、前記不連続区間が連続区間となるように前記誤差角を前処理する。
【００５９】
移動ロボットの側面スリップは、一定時間内のθｇｙｒｏとθｅｎｃｏのパターンの差によって判断されることができる。このようなスリップは、移動ロボットの走行または回転経路に障害物が存在することにより、回転または走行制御命令による角度と実際回転角度の間に誤差が発生したことを意味する。すなわち、図６に示すように、移動ロボット１００が時間ｔ＝ｔ１でスリップが発生した場合に、回転角（θｇｙｒｏ、θｅｎｃｏ）のパターンはｔ＝ｔ１で異なる。
【００６０】
ただし、このような回転角パターンの誤差が移動ロボットのスリップと判断されるためには、一定時間だけスリップ状態が維持されなければならない。したがって、スリップを判断する場合に、回転角θｇｙｒｏ、θｅｎｃｏの出力データに一定のサンプリングウィンドウ区間で移動平均（ｍｏｖｉｎｇ  ａｖｅｒａｇｅ）を求めた後、その移動平均の差によってスリップ可否を判断する。前記誤差角は、下記の数式（３）によって求めることができる。
【００６１】
【数３】
0005421461.tif 000004
ここで、ＳｌｉｐＡｎｇｌｅ（ｎ）は、側面方向のスリップに対する第１回転角測定部と第２回転角測定部で出力した回転角に対する誤差角である。
【００６２】
スリップを感知するためには、一定したサンプリング時間間隔による回転角θｇｙｒｏとθｅｎｃの差を詳察しなければならない。したがって、前記回転角の差を明確に区分するために、各回転角の微分値であるｄθｇｙｒｏ／ｄｔ、ｄθｅｎｃ／ｄｔを求めることが必要であり、本実施形態ではガウス微分（Ｇａｕｓｓｉａｎ  ｄｅｒｉｖａｔｉｖｅ）演算子を適用してノイズ成分を除去した微分値を取る。
【００６３】
前記スリップ感知部２１０は、測定したスリップ角（Ｓｌｉｐ  Ａｎｇｌｅ）の絶対値が定められた基準値よりも大きければスリップが発生したと判断し、スリップ角とする。ＳｌｉｐＡｎｇｌｅの符号が正であれば、ロボットの進行方向の左側でスリップが発生したものとなり、負であれば右側でスリップが発生したものである。スリップが発生すれば、これ以上その方向に進行しないことによって位置誤差を減らすことができるため、後ろに少し下がった後に反対方向に回避する移動戦略を駆使することができる。
【００６４】
一方、スリップが発生した期間内のエンコーダに基づいたロボットの位置更新は、中止することによって実際位置を復旧することができる。このために、エンコーダ空間とジャイロ空間での方向角の差、すなわち、累積したスリップ角（ＳｌｉｐＡｎｇｌｅ）を利用してロボットの２次元平面座標を数式（４）および数式（５）のように修正する。
【００６５】
【数４】
0005421461.tif 000005
【００６６】
【数５】
0005421461.tif 000006
【００６７】
ここで、ｒはタイヤの半径であり、ｄｘ（ｎ）とｄｙ（ｎ）はそれぞれＸ軸方向とＹ軸方向の位置誤差であり、（ωＬ＋ωＲ）×ｒ／２は移動ロボットの移動速度であり、Ｗはデータ処理のためにローデータに適用されるウィンドウサイズである。
【００６８】
他の一側としては、前記スリップ感知部２１０は、前記映像変化量と基準変化量を比較し、前記映像変化量と基準変化量よりも小さい場合には前記移動ロボットが停滞したと推定して停滞回数をする。
【００６９】
前記スリップ感知部２１０は、前記停滞回数が基準回数よりも大きく、これと共に前記誤差角に基づいた移動ロボットの速度が基準速度よりも大きい場合には、第２スリップの発生を感知することを特徴とする。
【００７０】
前記映像変化量算出部２５０は、映像獲得部１１０によって得られた映像の明度変化を感知し、移動ロボット１００がテーブルのような障害物の下部に移動することを感知することができる。例えば、得られた映像の明度平均および分散を利用し、移動ロボット１００の映像獲得部１１０が障害物によって遮蔽されることを感知する。
【００７１】
映像獲得部１１０が障害物によって遮蔽される場合には、映像を基盤とした移動ロボット１００の位置制御が不可能になるため、前記スリップ感知部２１０はジャイロスコープのような慣性センサ２４０およびホイールエンコーダ２３から得た位置情報に基づいて移動ロボット１００の移動を制御する信号を出力する。
【００７２】
上述した慣性センサ２４０は慣性を感知し、移動ロボット１００のヘディング（ｈｅａｄｉｎｇ）方向を確認するようにするが、慣性センサ２４０のセンシング情報とホイールエンコーダ２３０のセンシング情報は、移動ロボット１００の走行情報（ｏｄｏｍｅｔｒｙ）を構成する。
図７を参照しながら、本発明の好ましい実施形態に係る移動ロボットのスリップ方法によって感知された第１スリップ感知結果を説明する。
【００７３】
図７において、Ｌ１とＬ２のそれぞれはホイールエンコーダとジャイロセンサ空間上での方向角を微分した値であり、Ｌ３はＬ１とＬ２の差を一定時間ウィンドウ内に合わせた値である。Ｌ３は一定値よりも大きくなれば、スリップとして分類される。
【００７４】
図７に示すように、Ｌ３上で３つのピークが現われ、１番目のピークは底に若干の凹凸があって一時的なスリップが発生した場合であり、２番目のピークは１８０度回転の開始と終了時に同期が合わずにホイールエンコーダとジャイロセンサのヘディングがずれて発生した場合である。
【００７５】
しかし、３番目のピークは、本発明者が定義したスリップが発生した場合に該当し、ここでは１．２程度の閾値（ｔｈｒｅｓｈｏｌｄ）を用いる。前記スリップは、一定時間に掃除ロボットが側面方向に押し合って発生したものである。
図８を参照しながら、より詳細に前記第２スリップ感知段階を説明する。
【００７６】
図８に示すように、前記第２スリップ感知段階（Ｓ３００）では、前記スリップ感知部２１０は、前記入力された映像をＮ領域に分割し、移動ロボットの進行方向または反対方向を基準として対象領域を１／Ｎだけ増加させ、各増加した領域の平均と分散を算出し（Ｓ３３０）、前記各領域の平均と分散値の変化量に基づいて前記映像が遮蔽されない場合に、前記映像変化量が基準変化量よりも小さい場合には入力映像が停滞したと推定して停滞回数を計算する（Ｓ３４０）。
【００７７】
すなわち、前記スリップ感知部２１０は、前記停滞回数が基準回数よりも大きく、これと共に前記誤差角に基づいた移動ロボットの速度が基準速度よりも大きい場合に、前記第２スリップの発生を感知するようになる。
【００７８】
もし、移動ロボット１００がテーブルの下部に入るようになる場合であれば、映像フレームの明度平均が次第に減少しながら、明度の分散値が大きくなった後に小さくなるであろう。本実施形態では、図７に示すように、上述したような場合に計算量を減少させる方法として、映像獲得部１１０で得られた映像を移動ロボット１００の進行方向（ｄ）を基準として４等分し、分割された各領域の明度平均値を利用して全体映像に対する平均と分散を求め、移動ロボット１００の遮蔽可否を判断することができる。
【００７９】
本実施形態では、正面スリップを感知するために、カメラのようなビジョンセンサを用いたが、加速度計を利用したり従動タイヤを利用して駆動タイヤとの回転数差を利用する方法が適用されることができる。
【００８０】
映像獲得手段であるカメラが遮蔽しなければ、連続した映像シーケンス上で差を計算してロボットカメラポーズの変化を推定する。しかし、得た映像ごとに背景照明の差が発生することがあるため、映像の平均と分散を求めて数式（６）および数式（７）のように正規化された映像を求め、その差として映像情報の変化量を測定する。
【００８１】
【数６】
0005421461.tif 000007
【００８２】
【数７】
0005421461.tif 000008
【００８３】
このとき、定められた基準値が変化量よりも少なければ、カメラポーズの停滞が発生したと推定する。しかし、移動ロボットのポーズに停滞が発生するかを信頼性あるように判断するために、連続的な停滞可否を探索する。同時に、ロボットの駆動速度が一定程度以上なので、停止状態でなければ正面スリップが発生したか両側面に挟まったものと判断する。
【００８４】
前記スリップ感知部２１０は、正面スリップを感知すれば、前記移動ロボットが予め設定された距離または時間を後進した後に、前記スリップ発生領域を回避して走行するように制御信号を出力する。すなわち、正面スリップの場合、後ろに回転して出るようにしてスリップが起こり得る環境を回避することができ、停滞回数とロボットの移動速度を掛け、後ろに後退してロボットの推定位置を修正する。
【００８５】
すなわち、本発明に適用される単一のカメラを装着したＳＬＡＭ方式の移動ロボットは、１秒あたり２−３フレームを処理するため、映像オドメタリー（Ｖｉｓｕａｌ  ｏｄｏｍｅｔｒｙ）によって正面スリップが感知される間、ＥＫＦ（Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）地図上に誤登録されたランドマーク（ｌａｎｄｍａｒｋ）の座標情報を修正する必要がある。したがって、ランドマーク初期化バッファに登録されているランドマークに対して共分散（ｃｏｖａｒｉａｎｃｅ）を増加させ、スリップで発生した誤差を以後の観測測定によって校正されることができるようにする。また、側面スリップ感知の場合には、比較的に短い時間に処理されることができるため、ＥＫＦの更新時に移動ロボットの現位置情報を補正する。
【００８６】
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技術分野において通常の知識を有する者であれば、本発明の本質的な特性から逸脱しない範囲内で多様な修正、変更、および置換が可能であろう。したがって、本発明に開示された実施形態および添付の図面は、本発明の技術思想を限定するためではなくて説明するためのものであり、このような実施形態および添付の図面によって本発明の技術思想の範囲が限定されることはない。本発明の保護範囲は添付の特許請求の範囲によって解釈されなければならず、それと同等な範囲内にあるすべての技術思想は、本発明の権利範囲に含まれるものと解釈されなければならない。
【図１】
0005421461.tif 000009
【図２】
0005421461.tif 000010
【図３】
0005421461.tif 000011
【図４】
0005421461.tif 000012
【図５】
0005421461.tif 000013
【図６】
0005421461.tif 000014
【図７】
0005421461.tif 000015
【図８】
0005421461.tif 000016