(57)【要約】【課題】マーカの個数が少ない場合であっても高精度に自己位置を算出する移動ロボットを提供すること。【解決手段】移動領域の地図情報と、予め定められた場所に設置されたマーカの位置情報と、マーカを一意に識別する識別情報と、移動領域内に存在する複数の物体を区分しマーカの近傍に存在する境界線の位置情報と、を対応付けて格納する地図情報記憶部１２０と、撮像手段により撮影した画像からマーカの位置情報と識別情報とを検出するマーカ検出部１１１と、マーカの近傍に存在する境界線を画像から検出する境界線検出部１１２と、境界線の画像中における位置の情報を含む境界線のパラメータを算出するパラメータ算出部１１３と、地図情報記憶部１２０に記憶されている境界線の位置情報と、算出したパラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出部１１４とを備えた。【選択図】        図１
2006346767.tif 000002
【特許請求の範囲】
【請求項１】
移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記マーカを一意に識別する識別情報と、移動領域内に存在する複数の物体を区分し前記マーカの近傍に存在する境界線の位置情報と、を対応付けて格納する地図情報記憶手段と、
画像を撮影する撮像手段により撮影した画像から前記マーカの位置情報と前記識別情報とを検出するマーカ検出手段と、
前記マーカ検出手段が検出した前記マーカの近傍に存在する前記境界線を前記画像から検出する境界線検出手段と、
前記境界線検出手段が検出した前記境界線の前記画像中における位置の情報を含む前記境界線のパラメータを算出するパラメータ算出手段と、
前記地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出手段が算出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出手段と、
を備えたことを特徴とする移動ロボット。
【請求項２】
前記境界線検出手段は、前記マーカ検出手段が検出した前記マーカが前記画像内で占める領域を算出し、前記画像に含まれる複数の物体を区分する線のうち、算出した前記領域を通過する長さが最大の線を、前記マーカの近傍に存在する前記境界線として検出することを特徴とする請求項１に記載の移動ロボット。
【請求項３】
前記位置姿勢算出手段は、前記パラメータ算出手段が算出した前記パラメータに含まれる境界線の傾きの情報から、自装置が移動する平面に対して垂直方向の軸を中心とした回転角度を自装置の移動領域内における姿勢として算出し、算出した前記回転角度と、前記地図情報記憶手段に記憶されている前記マーカの位置情報に含まれる前記マーカの高さの情報とから、自装置の前記マーカに対する相対位置を自装置の移動領域内における位置として算出することを特徴とする請求項１に記載の移動ロボット。
【請求項４】
前記マーカ検出手段は、画像を撮影する複数の撮像手段によるステレオ視により自装置から前記マーカまでの距離を含む前記マーカの位置情報を算出し、
前記位置姿勢算出手段は、前記パラメータ算出手段が算出した前記パラメータに含まれる境界線の傾きの情報から、自装置が移動する平面に対して垂直方向の軸を中心とした回転角度を自装置の移動領域内における姿勢として算出し、算出した前記回転角度と、前記マーカ検出手段が検出した前記マーカまでの距離とから、自装置の前記マーカに対する相対位置を自装置の移動領域内における位置として算出することを特徴とする請求項１に記載の移動ロボット。
【請求項５】
移動領域の地図情報を利用者に対して表示するとともに利用者による前記マーカの位置情報の入力を受付ける表示操作手段と、
前記表示操作手段が利用者による前記マーカの位置情報の入力を受付けたときに、受付けた前記マーカの近傍に存在する前記境界線を前記地図情報から検出し、検出した前記境界線を、前記マーカの位置情報と対応付けて前記地図情報記憶手段に格納する地図情報作成手段と、
を備えたことを特徴とする請求項１に記載の移動ロボット。
【請求項６】
前記位置姿勢算出手段が算出した自装置の移動領域内における位置および姿勢と、前記地図情報とから、移動の目的地までの経路を算出し、算出した経路に沿って移動を行う移動制御手段をさらに備えたことを特徴とする請求項１に記載の移動ロボット。
【請求項７】
前記位置姿勢算出手段が算出した自装置の移動領域内における位置および姿勢と、前記地図情報とから、検出する前記マーカの位置情報を算出し、算出した位置情報に対する方向を前記撮像手段の撮影方向とする撮像制御手段をさらに備えたことを特徴とする請求項１に記載の移動ロボット。
【請求項８】
前記撮像制御手段は、画像の中央で前記マーカが撮影される方向を前記撮像手段の撮影方向とすることを特徴とする請求項７に記載の移動ロボット。
【請求項９】
移動ロボットの移動領域内に配置され、移動ロボットにより検出されて、移動ロボットの位置および姿勢を算出するための移動ロボット用マーカにおいて、
複数の発光素子と、マーカを一意に識別させるための識別情報として前記発光素子を予め定められた時間間隔または順序で発光させる駆動手段と、を備えたことを特徴とする移動ロボット用マーカ。
【請求項１０】
前記発光素子は赤外線を発光する赤外線発光素子であることを特徴とする請求項９に記載の移動ロボット用マーカ。
【請求項１１】
画像を撮影する撮像手段により撮影した画像から、複数の発光素子を予め定められた時間間隔または順序で発光する移動ロボットのためのマーカの位置情報と、前記マーカを一意に識別する識別情報とを検出するマーカ検出ステップと、
前記マーカ検出ステップが検出した前記マーカの近傍に存在し、移動領域内に存在する複数の物体を区分する境界線を、前記画像から検出する境界線検出ステップと、
前記境界線検出ステップが検出した前記境界線の前記画像中における位置の情報を含むパラメータを算出するパラメータ算出ステップと、
移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記識別情報と、前記境界線の位置情報と、を対応付けて格納する地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出ステップが検出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出ステップと、
を備えたことを特徴とする移動ロボットの位置姿勢算出方法。
【請求項１２】
移動領域内を移動する移動ロボットと、移動ロボットの移動領域内に配置され、移動ロボットにより検出されて、移動ロボットの位置および姿勢を算出するための移動ロボット用マーカと、を備えた移動ロボットの自律走行システムにおいて、
前記移動ロボット用マーカは、
複数の発光素子と、マーカを一意に識別させるための識別情報として前記発光素子を予め定められた時間間隔または順序で発光させる駆動手段と、を備え、
前記移動ロボットは、
移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記マーカを一意に識別する識別情報と、移動領域内に存在する複数の物体を区分し前記マーカの近傍に存在する境界線の位置情報と、を対応付けて格納する地図情報記憶手段と、
画像を撮影する撮像手段により撮影した画像から前記マーカの位置情報と前記識別情報とを検出するマーカ検出手段と、
前記マーカ検出手段が検出した前記マーカの近傍に存在する前記境界線を前記画像から検出する境界線検出手段と、
前記境界線検出手段が検出した前記境界線の前記画像中における位置の情報を含む前記境界線のパラメータを算出するパラメータ算出手段と、
前記地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出手段が算出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出手段と、
を備えたことを特徴とする移動ロボットの自律走行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、移動ロボット、マーカ、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システムに関するものである。
【背景技術】
【０００２】
近年、周辺の環境を認識し、自装置の位置の把握や障害物の回避をしながら自律的に移動する移動ロボットが開発されている。このような移動ロボットの自律走行システムでは、自装置の位置を正確に把握することが重要となる。
【０００３】
移動ロボットにおける自己位置の検出方法としては、移動ロボットに搭載したカメラで撮影した画像から、複数のランドマーク（標識）を検出し、ランドマークの見え方と、予めメモリなどの記憶装置に記憶しているランドマークの絶対座標値の情報をもとにして自己位置を検出する方法が提案されている（例えば、特許文献１）。
【０００４】
この方法では、発光素子により構成したマーカをランドマークとし、このマーカを室内に多数配置することによって、様々な環境中から確実にマーカを発見し、ロボットの自己位置を検出している。
【０００５】
【特許文献１】特開２００４−２１６５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法のように、マーカからロボットが自分の位置姿勢を検出しようとする場合、複数のマーカを撮影する必要があるため、ロボットが移動する環境中には多数のマーカを設置しなければならず、コストが増大するとともに、外観上も好ましくないという問題があった。
【０００７】
また、マーカの検出時においては複数のマーカを探索するのに時間がかかるという問題や、自己位置を検出する際には多数のマーカの正確な絶対座標値が必要であるため、これを予め与えておかなければならず、この入力作業の負担が大きいという問題があった。
【０００８】
また、マーカは１つの発光素子の点滅周期、点滅周期のパターンなどを検出して識別するが、障害物等が多数存在する複雑な移動環境下では、マーカを誤認識する可能性が高くなるという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、マーカの個数を少なくすることにより設置が容易で、外観上の支障とならないようにするとともに、マーカの個数が少ない場合であっても高精度にマーカを検出し、高精度に自己位置を算出することができる移動ロボット、マーカ、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、移動ロボットにおいて、移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記マーカを一意に識別する識別情報と、移動領域内に存在する複数の物体を区分し前記マーカの近傍に存在する境界線の位置情報と、を対応付けて格納する地図情報記憶手段と、画像を撮影する撮像手段により撮影した画像から前記マーカの位置情報と前記識別情報とを検出するマーカ検出手段と、前記マーカ検出手段が検出した前記マーカの近傍に存在する前記境界線を前記画像から検出する境界線検出手段と、前記境界線検出手段が検出した前記境界線の前記画像中における位置の情報を含む前記境界線のパラメータを算出するパラメータ算出手段と、前記地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出手段が算出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出手段と、を備えたことを特徴とする。
【００１１】
また、本発明は、移動ロボットの移動領域内に配置され、移動ロボットにより検出されて、移動ロボットの位置および姿勢を算出するための移動ロボット用マーカにおいて、複数の発光素子と、マーカを一意に識別させるための識別情報として前記発光素子を予め定められた時間間隔または順序で発光させる駆動手段と、を備えたことを特徴とする。
【００１２】
また、本発明は、移動ロボットの位置姿勢算出方法において、画像を撮影する撮像手段により撮影した画像から、複数の発光素子を予め定められた時間間隔または順序で発光する移動ロボットのためのマーカの位置情報と、前記マーカを一意に識別する識別情報とを検出するマーカ検出ステップと、前記マーカ検出ステップが検出した前記マーカの近傍に存在し、移動領域内に存在する複数の物体を区分する境界線を、前記画像から検出する境界線検出ステップと、前記境界線検出ステップが検出した前記境界線の前記画像中における位置の情報を含むパラメータを算出するパラメータ算出ステップと、移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記識別情報と、前記境界線の位置情報と、を対応付けて格納する地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出ステップが検出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出ステップと、を備えたことを特徴とする。
【００１３】
また、本発明は、移動領域内を移動する移動ロボットと、移動ロボットの移動領域内に配置され、移動ロボットにより検出されて、移動ロボットの位置および姿勢を算出するための移動ロボット用マーカと、を備えた移動ロボットの自律走行システムにおいて、前記移動ロボット用マーカは、複数の発光素子と、マーカを一意に識別させるための識別情報として前記発光素子を予め定められた時間間隔または順序で発光させる駆動手段と、を備え、前記移動ロボットは、移動領域の地図情報と、移動領域内の予め定められた場所に設置されたマーカの位置情報と、前記マーカを一意に識別する識別情報と、移動領域内に存在する複数の物体を区分し前記マーカの近傍に存在する境界線の位置情報と、を対応付けて格納する地図情報記憶手段と、画像を撮影する撮像手段により撮影した画像から前記マーカの位置情報と前記識別情報とを検出するマーカ検出手段と、前記マーカ検出手段が検出した前記マーカの近傍に存在する前記境界線を前記画像から検出する境界線検出手段と、前記境界線検出手段が検出した前記境界線の前記画像中における位置の情報を含む前記境界線のパラメータを算出するパラメータ算出手段と、前記地図情報記憶手段に記憶されている前記境界線の位置情報と、前記パラメータ算出手段が算出した前記パラメータとに基づいて自装置の移動領域内における位置および姿勢を算出する位置姿勢算出手段と、を備えたことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、障害物等が多数存在する複雑な移動環境下であっても高精度にマーカを識別するとともに、マーカの個数が少ない場合であっても高精度に移動ロボットの位置および姿勢を算出することができる。このため、マーカの設置が容易となり、外観上の見映えを向上することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかる移動ロボット、マーカ、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システムの最良な実施の形態を詳細に説明する。
【００１６】
本実施の形態にかかる移動ロボットは、カメラなどの撮像装置で撮影した画像中から、発光パターンによって識別可能なマーカと、当該マーカの近傍に存在する境界線を検出し、検出した境界線と、事前に記憶手段に記憶されているマーカや境界線の位置情報を含む地図情報とから自装置の位置および姿勢を算出するものである。
【００１７】
ここで、マーカとは、移動領域内の予め定められた場所に設置された移動ロボットが自己の位置および姿勢を算出するためのランドマークをいう。また、境界線とは、移動領域内に存在する複数の物体を区分する、マーカの近傍に存在する線をいう。
【００１８】
図１は、本実施の形態にかかる移動ロボット１００の構成を示すブロック図である。同図に示すように、移動ロボット１００は、主要なソフトウェア構成として、動作管理部１０１と、移動制御部１０２と、カメラ方向制御部１０３と、地図情報作成部１０４と、自己位置同定部１１０と、を備えている。カメラ方向制御部１０３は、本発明における撮像制御手段に相当する。
【００１９】
また、移動ロボット１００は、主要なハードウェア構成として、カメラ１０５と、距離センサ１０６と、オドメトリ１０７と、タッチパネル１０８と、地図情報記憶部１２０とを備えている。カメラ１０５は、本発明における撮像手段に相当し、タッチパネル１０８は、本発明における表示操作手段に相当する。
【００２０】
マーカ１３０は、移動ロボット１００の移動領域内に配置され、移動ロボット１００により検出されて、移動ロボット１００の位置および姿勢を算出するために利用されるものである。マーカ１３０は、移動領域において床面と平行の境界線、例えば、壁面と天井との境界線、または床面と当該床面に設置された物体との境界線、または複数の物体を区分する境界線などの近傍に設置する。
【００２１】
マーカ１３０は、カメラ１０５で撮影した画像から検出し位置および識別情報が特定できる構成および大きさであればよいので、小型の装置にすることができ、外観上の見映えを損なう可能性を低減することができる。
【００２２】
動作管理部１０１は、移動制御部１０２、カメラ方向制御部１０３、地図情報作成部１０４、自己位置同定部１１０、カメラ１０５、距離センサ１０６、オドメトリ１０７、タッチパネル１０８の処理を制御し、移動ロボット１００の動作の管理を行うものである。
【００２３】
移動制御部１０２は、自己位置同定部１１０により算出された移動ロボット１００の位置情報を参照し、移動機構（図示せず）の動作の制御を行うものである。移動機構とは、例えば、車輪を備えた車輪型移動ロボットであれば当該車輪を駆動する車輪駆動モータをいう。
【００２４】
カメラ方向制御部１０３は、マーカ１３０をカメラ１０５で撮影するため、カメラ１０５の光軸方向を変更する駆動装置（図示せず）を駆動制御するものである。
【００２５】
地図情報作成部１０４は、距離センサ１０６、オドメトリ１０７を用いて移動領域内の壁などの物体に沿って移動することにより取得した情報から、地図情報記憶部１２０に記憶する地図情報を作成するものである。地図情報作成処理の詳細は後述する。
【００２６】
カメラ１０５は、画像を撮影する撮像装置であり、１台の撮像装置から構成されるものでもよいし、複数の撮像装置により構成し、当該複数の撮像装置により取得した画像から撮影対象の位置情報を含む情報を検出可能とするように構成してもよい。カメラ１０５はＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの一般的に利用されているあらゆる撮像装置により構成することができる。なお、マーカ１３０として、後述する赤外線ＬＥＤを用いたマーカ１３０を適用する場合は、赤外線領域を検出可能な撮像装置によりカメラ１０５を構成する。
【００２７】
距離センサ１０６は、自装置から周囲の物体までの距離を検出するものであり、超音波センサなどの一般的に利用されているあらゆるセンサにより構成することができる。オドメトリ１０７は、車輪の回転量から移動ロボット１００の自己位置を推定するものである。タッチパネル１０８は、地図情報などの情報を表示するとともに、利用者が指や専用のペンで触れることにより指定した情報の入力を受付けるものである。
【００２８】
自己位置同定部１１０は、移動ロボット１００の位置姿勢を算出するものであり、マーカ検出部１１１と、境界線検出部１１２と、パラメータ算出部１１３と、位置姿勢算出部１１４とを備えている。
【００２９】
マーカ検出部１１１は、カメラ１０５により撮影された画像を取得し、取得した画像からマーカ１３０の３次元座標における位置情報と、マーカ１３０を一意に識別するための識別情報とを検出するものである。
【００３０】
境界線検出部１１２は、移動ロボット１００の移動領域内に存在する複数の物体を区分する線を、カメラ１０５が撮影した画像から検出し、検出した線の中から、マーカ検出部１１１により検出されたマーカ１３０の近傍の線を境界線として検出するものである。
【００３１】
パラメータ算出部１１３は、境界線検出部１１２が検出した境界線の、カメラ画像中における位置、傾きの情報を含むパラメータを算出するものである。
【００３２】
位置姿勢算出部１１４は、パラメータ算出部１１３により算出された境界線のパラメータに含まれる境界線の傾きの情報から、移動ロボット１００が移動する平面に対して垂直方向の軸を中心とした回転角度を算出し、算出した回転角度と、地図情報記憶部１２０に事前に記憶されているマーカ１３０の位置情報に含まれるマーカ１３０の高さの情報とから、移動ロボット１００のマーカ１３０に対する相対位置を算出するものである。
【００３３】
地図情報記憶部１２０は、移動ロボット１００が移動する移動領域の地図情報と、移動領域内のマーカ１３０の位置情報と、マーカ１３０の近傍に存在する境界線の位置情報とを対応付けて格納するものである。地図情報記憶部１２０は、位置姿勢算出部１１４が、移動ロボット１００の位置および姿勢を算出する際に参照される。
【００３４】
図２は、地図情報記憶部１２０に記憶されている地図情報の一例を示した説明図である。同図に示すように、地図情報は、移動領域全体のうち、壁などが存在するため移動ができない領域２０３と、マーカ１３０が存在する領域であるマーカ領域２０２と、マーカ領域２０２の近傍に存在する境界線２０１とを格納している。同図においては、地図情報は、移動ロボット１００が移動する面を上方から見た平面として表されている。
【００３５】
次に、本実施の形態における移動ロボット１００およびマーカ１３０の具体的な構成例について説明する。図３は、移動ロボット１００の構成の一例を示す説明図である。
【００３６】
同図に示すように、移動ロボット１００は、２台の撮像装置により構成されるステレオカメラであるカメラ１０５と、超音波による距離検出を行う５つの距離センサ１０６と、タッチパネル１０８と、車輪３０１とを備えている。なお、同図には図示しないが、移動ロボット１００には、車輪３０１の回転角度を検出して移動ロボット１００の姿勢を算出するオドメトリ１０７が内蔵されている。
【００３７】
車輪３０１は、左右独立に駆動し、左右それぞれの車輪を駆動する２個のモータを制御することによって、直線移動、円弧移動、その場旋回を行うことができる。カメラ１０５は、カメラ方向制御部１０３により、カメラ１０５の光軸を上下方向に回転させるカメラチルト回転軸３１１、左右方向に回転させるカメラパン回転軸３１２の回りを一定角度範囲回転させ、マーカ１３０の方向にカメラ光軸を向けることができる。
【００３８】
また、マーカ１３０を探索する際に、より広い範囲を探索できるようにするため、頭部水平回転軸３１３の回りを頭部全体が回転することにより、２台の撮像装置を同時に左右方向に回転させることができる。
【００３９】
図４は、マーカ１３０の構成の一例を示す説明図である。同図に示すように、マーカ１３０は、発光ＬＥＤ４０１と、駆動回路４０２と、ＬＥＤ光拡散カバー４０３と、電池４０４と、ケース４０５とを備えている。
【００４０】
発光ＬＥＤ４０１は、電流を流すことにより発光するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）である。マーカ１３０は、複数の発光ＬＥＤ４０１を備えている。
【００４１】
駆動回路４０２は、複数の発光ＬＥＤ４０１を予め定められた時間間隔または順序で発光させ、その発光パターンを、マーカ１３０を一意に識別させるための識別情報として利用できるようにするものである。駆動回路４０２が、本発明における駆動手段に相当する。
【００４２】
ＬＥＤ光拡散カバー４０３は、発光ＬＥＤ４０１から発光された光を拡散させ、移動ロボット１００のカメラ１０５により撮影された画像からマーカ１３０が検出しやすくするものである。
【００４３】
電池４０４は、発光ＬＥＤ４０１、駆動回路４０２へ電力を供給するものである。ケース４０５は、ＬＥＤ光拡散カバー４０３とともに、発光ＬＥＤ４０１、駆動回路４０２、電池４０４を格納するものである。
【００４４】
図５は、図４のように構成されたマーカ１３０の発光パターンの一例を示した説明図である。図５の（ａ）に示すように、例えば、複数の発光ＬＥＤ４０１を右回り、または左回りに順次発光させる発光パターンとすることができる。また、図５の（ｂ）に示すように、複数の発光ＬＥＤ４０１を、上半分および下半分、または左半分および右半分を切り替えて発光させる発光パターンとすることができる。
【００４５】
このように、異なる発光パターンを個々のマーカ１３０にそれぞれ割り当て、移動ロボット１００がその発光パターンを認識することにより、複雑な環境中からでもマーカ１３０を一意に識別することが可能となる。発光パターンが、本発明における識別情報に相当する。
【００４６】
なお、これらの発光パターンは例示であり、複数の発光素子を予め定められた時間間隔または順序で発光させることにより、マーカ１３０を一意に識別させるための識別情報として利用することのできるものであれば、あらゆる発光パターンを用いることができる。
【００４７】
図６は、マーカ１３０の構成の別の例を示す説明図である。同図においては、マーカ１３０は、赤外線ＬＥＤ６０１と、駆動回路４０２と、ＬＥＤ光拡散カバー６０３と、電池４０４と、ケース４０５とを備えている。
【００４８】
赤外線ＬＥＤ６０１は、赤外線を発光する発光ＬＥＤである。ＬＥＤ光拡散カバー６０３は、赤外線ＬＥＤ６０１から発光した赤外線を拡散するためのカバーである。その他の構成は、図４と同様であるのでその説明を省略する。
【００４９】
利用者は、赤外線ＬＥＤ６０１により発光された赤外光を認識できないため、生活の支障にならないという利点がある。また、ＬＥＤを傾斜させて取り付け、さらにＬＥＤ光拡散カバー６０３を取り付けることによって、マーカ１３０の周辺領域に赤外光を拡散させることができる。これにより、暗闇の環境下であってもマーカ１３０およびその近傍の境界線を検出することが可能となる。
【００５０】
図７は、図６のように構成されたマーカ１３０の照光範囲の一例を示した説明図である。同図に示すように、赤外線ＬＥＤにより構成されたマーカ１３０が壁と天井の境界線近傍に設置され、マーカ１３０の周辺のＬＥＤ照光範囲７０１にも赤外光が照光されているため、境界線７０３を検出することが可能となる。
【００５１】
次に、このように構成された本実施の形態にかかる移動ロボット１００による自律走行処理について説明する。図８は、本実施の形態における移動ロボット１００の自律走行処理の全体の流れを示すフローチャートである。
【００５２】
まず、移動ロボット１００の初期位置および姿勢を算出するため、位置姿勢算出処理が実行される（ステップＳ８０１）。位置姿勢算出処理の詳細については後述する。
【００５３】
次に、移動制御部１０２が、位置姿勢算出処理において算出された移動ロボット１００の現在の位置情報と、地図情報記憶部１２０に記憶された地図情報とから、移動先となる目的地までの移動経路を作成する（ステップＳ８０２）。
【００５４】
次に、移動制御部１０２が、生成した経路に沿って移動するように移動機構の制御を行う（ステップＳ８０３）。移動中、動作管理部１０１が、距離センサ１０６により、経路上に障害物が存在するか否かを検知する（ステップＳ８０４）。
【００５５】
障害物が検知された場合は（ステップＳ８０４：ＹＥＳ）、移動制御部１０２は、作成した経路をはずれて障害物を回避するように移動機構を制御する（ステップＳ８０５）。また、移動制御部１０２は、回避した分の移動量を考慮して、生成した経路を更新し、新たな経路を作成する（ステップＳ８０６）。
【００５６】
ステップＳ８０４において、障害物が検知されていない場合は（ステップＳ８０４：ＮＯ）、移動制御部１０２は、地図情報記憶部１２０に記憶されているマーカ１３０の位置情報を参照し、マーカ１３０の近傍の位置に到達したか否かを判断する（ステップＳ８０７）。
【００５７】
マーカ１３０の近傍に到達した場合は（ステップＳ８０７：ＹＥＳ）、位置姿勢算出処理を再度実行する（ステップＳ８０８）。また、移動制御部１０２は、算出した位置および姿勢を考慮して、生成した経路を更新し、新たな経路を作成する（ステップＳ８０９）。これにより、移動時に生じた経路からのずれを補正し、正しく目的地へ到達するように制御することが可能となる。
【００５８】
ステップＳ８０７において、マーカ１３０の近傍に到達していないと判断された場合は（ステップＳ８０７：ＮＯ）、移動制御部１０２は、目的地に到達したか否かを判断する（ステップＳ８１０）。
【００５９】
目的地に到達していない場合は（ステップＳ８１０：ＮＯ）、ステップＳ８０３に戻り移動処理を繰り返す。目的地に到達した場合は（ステップＳ８１０：ＹＥＳ）、自律走行処理を終了する。
【００６０】
次に、ステップＳ８０１およびステップＳ８０８における位置姿勢算出処理の詳細について説明する。図９は、位置姿勢算出処理の全体の流れを示すフローチャートである。
【００６１】
まず、移動制御部１０２が、マーカ１３０を観測できる位置に移動するように移動機構を制御する（ステップＳ９０１）。次に、カメラ方向制御部１０３が、観測するマーカ１３０の方向にカメラ１０５の撮影方向を向けるように制御する（ステップＳ９０２）。
【００６２】
次に、マーカ検出部１１１が、カメラ画像からマーカ１３０の検出処理を行い、マーカ１３０が検出できたか否かを判断する（ステップＳ９０３）。マーカ１３０の検出は、画像から色検出、パターン検出、点滅周期検出、点滅パターン検出などの従来から用いられているあらゆる方法を適用することができる。
【００６３】
図１０は、カメラ画像から検出されたマーカ１３０の一例を示す説明図である。同図において、１つの格子１００１が１画素を示している。同図の（ａ）は、例えば、離れた距離からマーカ１３０を検出した場合に、ノイズや照明条件などの原因により、一部の画素が欠けて検出された状態を表している。
【００６４】
また、同図の（ｂ）は、欠けている画素の隣接する２つ以上の画素がマーカ１３０であると判断できる場合に、欠けている画素もマーカ１３０の一部とする領域結合や、孤立している画素を除去する孤立点除去を行い、マーカ１３０の占める画素の領域(以下、マーカ画素領域という)を特定した結果を表している。同図の（ｂ）においては、左上隅１００２、右上隅１００３、左下隅１００４、右下隅１００５によって囲まれる矩形領域が、マーカ画素領域として特定されている。
【００６５】
同図の（ｃ）は、マーカ１００６の上辺が、壁と天井との境界線１００７と接するようにマーカ１００６が設置されている状態を示している。このような場合は、左上隅１００２、右上隅１００３を通る線を境界線として検出するように境界線検出部１１２を構成することができる。このように、左上隅１００２、右上隅１００３、左下隅１００４、右下隅１００５の情報を、境界線検出の精度を高めるために利用することができる。境界線検出処理については後述する。
【００６６】
ステップＳ９０３において、マーカ１３０を検出できなかった場合は（ステップＳ９０３：ＮＯ）、移動制御部１０２は、観測位置を変更するために移動の制御を行い（ステップＳ９０８）、処理を繰り返す（ステップＳ９０２）。
【００６７】
マーカ１３０を検出した場合は、マーカ検出部１１１は、検出したマーカ１３０が、画像の中央付近に存在するか否かを判断する（ステップＳ９０４）。中央付近に存在しないと判断した場合は（ステップＳ９０４：ＮＯ）、画像の中央付近にマーカ１３０が位置するようにカメラ１０５の方向を制御するため、ステップＳ９０２に戻り処理を繰り返す。
【００６８】
このように画像の中央にマーカ１３０が存在するか否かを判断するのは、マーカ１３０が画像中心に存在するほうが、レンズ歪みの影響を受けにくく、検出位置精度が向上するとともに、境界線の検出精度も向上するためである
【００６９】
ステップＳ９０４において、マーカ１３０が画像の中央付近に存在すると判断した場合は（ステップＳ９０４：ＹＥＳ）、境界線検出部１１２が、カメラ画像から、検出したマーカ１３０の近傍を通る境界線の検出処理を実行する（ステップＳ９０５）。以下に、境界線検出処理の詳細について説明する。
【００７０】
まず、カメラ画像に対してエッジ検出処理を行い、画像中のエッジを検出する。エッジとは、画像中の明るい部分と暗い部分の境界をいう。さらに、検出したエッジに対してＨｏｕｇｈ変換を行い、エッジが直線状に並ぶ線を検出する。
【００７１】
次に、検出された複数の線から、マーカ近傍を通る境界線を検出する。ここで、マーカ近傍を通る境界線とは、マーカ画素領域内を通り、エッジを最も多く含む線をいう。
【００７２】
なお、図１０に示すようなマーカ画素領域の左上隅１００２、右上隅１００３、左下隅１００４、右下隅１００５を利用し、境界線検出の精度を高めることができる。この場合、例えば、図１０（ｃ）のようにマーカ１３０の上辺が壁と天井との境界線１００７に接しているものとすると、左上隅１００２および右上隅１００３を通る線のうち、マーカ画素領域内を通り、エッジを最も多く含む線を境界線として検出すればよい。このように、マーカ１３０をもとにして境界線を検出するので、簡単な処理で確実に境界線を検出できる。
【００７３】
ステップＳ９０５において、境界線の検出処理を実行した後、境界線検出部１１２は、境界線が検出されたか否かを判断する（ステップＳ９０６）。検出されない場合は（ステップＳ９０６：ＮＯ）、移動制御部１０２は、観測位置を変更するために移動の制御を行い（ステップＳ９０８）、処理を繰り返す（ステップＳ９０２）。
【００７４】
境界線が検出された場合は（ステップＳ９０６：ＹＥＳ）、パラメータ算出部１１３が、カメラ画像上における境界線のパラメータを算出する（ステップＳ９０７）。境界線のパラメータとして、画像上のおける境界線の傾きａを算出する。境界線の傾きａは、検出した境界線から２点を取り出し、それぞれのＸ座標の差をｄｘｄ、Ｙ座標の差をｄｙｄとすると、ａ＝ｄｙｄ/ｄｘｄにより算出することができる。
【００７５】
次に、移動ロボット１００の位置および姿勢を算出するため、以下のステップＳ９０９〜ステップＳ９１１までの処理を算出する。
【００７６】
図１１は、移動ロボット１００の位置および姿勢を算出する際に使用する座標系の一例を示した説明図である。同図に示すように、Ｘ軸、Ｚ軸は移動ロボット１００が移動する水平面上に存在し、Ｘ軸は壁の一面と平行であるような座標系をとるものとする。また、基準点Ｏはカメラ焦点とし、カメラ光軸はこの基準点を中心として壁方向から角度θ、水平面から仰角ψの方向を向いているものとする。さらに、マーカ１３０の座標をＰｍ（Ｘｍ、Ｙｍ、Ｚｍ）、マーカ１３０から基準点Ｏまでの距離をＤ、境界線をＰ（Ｘ、Ｙ、Ｚ）、境界線Ｐのカメラ画像上への投影点をＰｄ（Ｘｄ、Ｙｄ）とする。
【００７７】
移動ロボット１００の位置を算出するためには、マーカ１３０の位置に対する基準点（ロボットの存在する位置）Ｏの相対位置、すなわち、Ｘｍ、Ｙｍ、Ｚｍを求める必要がある。また、移動ロボット１００の姿勢を算出するためには、θとψを求める必要があるが、ψはカメラチルト回転軸方向の回転角度と同じであるので、θを求めればよい。
【００７８】
最初に、位置姿勢算出部１１４が、算出した境界線のパラメータから移動ロボット１００の回転角度θを算出する（ステップＳ９０９）。回転角度θの算出は、以下のような手順により実行する。
【００７９】
まず、境界線Ｐ（Ｘ、Ｙ、Ｚ）を画面座標系に座標変換した線をＰ’とすると、以下の（１）式が成立する。ここで、Ｒ(ｘ、θ)はＸ軸回りのθ回転行列を、Ｒ(ｙ、θ)はＹ軸回りのθ回転行列を表す。
【数１】
2006346767.tif 000003
【００８０】
また、Ｐｄは、Ｐ’と射影行列Ａとを用いて、以下の（２）式のように表される。
【数２】
2006346767.tif 000004
【００８１】
この式により、Ｐｄ（Ｘｄ、Ｙｄ）が、Ｘ、Ｙ、Ｚ、θ、ψを用いて表される。射影行列Ａがカメラ焦点距離ｆを用いて以下の（３）式で表されるとき、境界線の画面上での傾きの計算値ｄｙｄ/ｄｘｄは、以下の（４）式により求めることができる。
【数３】
2006346767.tif 000005
【数４】
2006346767.tif 000006
【００８２】
（４）式により算出された傾きの計算値が、画像処理により検出された境界線の傾きaと等しいことから、以下の（５）式が成り立つ。
【数５】
2006346767.tif 000007
【００８３】
次に、マーカ１３０はカメラ画像中央に存在するため、Ｐｍ（Ｘｍ、Ｙｍ、Ｚｍ）とＤ、θおよびψの関係は、以下の（６）式により表すことができる。
【数６】
2006346767.tif 000008
【００８４】
傾きａとψの値は既知であるため、上記（５）式および（６）式から、移動ロボット１００の姿勢を表す角度θを求めることができる。
【００８５】
次に、位置姿勢算出部１１４が、ステップＳ９０９において算出した回転角度とマーカ１３０の高さの情報とから、マーカ１３０までの距離Ｄを算出する（ステップＳ９１０）。天井までの高さ情報Ｚｍを、マーカ１３０の位置情報として地図情報記憶部１２０に記憶しておけば、（６）式からＤを算出することができる。
【００８６】
なお、カメラ１０５がステレオカメラの構成の場合は、ステレオ視の手法により、マーカ１３０までの距離Ｄを求めることができるため、事前に天井までの高さ情報Ｚｍを記憶し、距離Ｄを算出する必要がない。
【００８７】
次に、位置姿勢算出部１１４が、ステップＳ９０９において算出した回転角度θと、ステップＳ９１０において算出したマーカ１３０までの距離Ｄとから、マーカ１３０に対する相対位置（Ｘｍ、Ｙｍ、Ｚｍ）を算出する（ステップＳ９１１）。具体的には、算出した距離Ｄ、回転角度θの値と、既知の値である仰角ψとを、（６）式に代入することにより、相対位置Ｘｍ、Ｙｍ、Ｚｍを求めることができる。
【００８８】
次に、このように構成された本実施の形態にかかる移動ロボット１００による地図情報作成処理について説明する。地図情報作成処理とは、移動ロボット１００の自律走行を実行する前に、移動ロボット１００が自律走行を行う領域である移動領域の地図情報を作成し、地図情報記憶部１２０に記憶するための処理をいう。
【００８９】
図１２は、本実施の形態における移動ロボット１００の地図情報作成処理の全体の流れを示すフローチャートである。まず、移動制御部１０２が、移動ロボット１００を壁の近傍まで移動するように移動機構を制御する（ステップＳ１２０１）。
【００９０】
次に、移動制御部１０２が、壁と予め定められた一定の距離を保ちながら、移動ロボット１００を壁に沿って移動させる（ステップＳ１２０２）。移動に伴い、地図情報作成部１０４は、オドメトリ１０７および距離センサ１０６の情報をもとに地図情報を作成する（ステップＳ１２０３）。
【００９１】
次に、移動制御部１０２が、移動領域を一周したか否かを判断し（ステップＳ１２０４）、一周していない場合は（ステップＳ１２０４：ＮＯ）、移動処理を継続する（ステップＳ１２０２）。一周した場合は（ステップＳ１２０４：ＹＥＳ）、動作管理部１０１が、作成した地図をタッチパネル１０８の表示画面上に表示する（ステップＳ１２０５）。
【００９２】
図１３は、地図情報作成処理における移動ロボット１００の移動軌跡の一例を示す説明図である。同図に示すように、移動ロボット１００が、マーカ１３０が２つ配置されている移動領域の壁沿いに移動し、そのときの軌跡が点線の移動軌跡１３０１により表されている。
【００９３】
なお、このような移動軌跡により作成された地図情報が、図２に示す地図情報である。タッチパネル１０８の表示画面上には、図２に示すような地図情報が表示される。
【００９４】
ステップＳ１２０５において作成した地図を表示した後、動作管理部１０１が、タッチパネル１０８から利用者によるマーカ位置の入力を受付ける（ステップＳ１２０６）。次に、地図情報作成部１０４が、受付けたマーカ位置の情報を地図情報に追加する（ステップＳ１２０７）。
【００９５】
次に、地図情報作成部１０４が、追加したマーカ１３０の近傍に壁などの物体を区分する線が存在するか否かを判断する（ステップＳ１２０８）。線が存在する場合は（ステップＳ１２０８：ＹＥＳ）、地図情報作成部１０４は、この線を、追加したマーカ１３０に対応する境界線として、地図情報に追加する（ステップＳ１２０９）。
【００９６】
図１４は、マーカ１３０の近傍の線を検出する処理の一例を示す説明図である。同図は、図２に示す地図情報の一部を拡大したものである。
【００９７】
表示された地図情報の１つの格子１４０１を利用者が示したとすると（ステップＳ１２０６）、地図情報作成部１０４は、格子１４０１を中心として予め定められた個数の周囲の格子の窓１４０２を地図情報から切り出す。次に、地図情報作成部１０４は、移動ロボット１００が移動できる領域と移動できない領域の境界１４０３を求める。境界１４０３の位置から、最小二乗法などを用いて線１４０４を求め、境界線として地図データに追加する（ステップＳ１２０９）。
【００９８】
ステップＳ１２０８において、線が存在しないと判断された場合は（ステップＳ１２０８：ＮＯ）、動作管理部１０１が、タッチパネル１０８から利用者による境界線位置の入力を受付ける（ステップＳ１２１０）。すなわち、追加したマーカ１３０の近傍から壁などの物体を区分する線が検出できなかった場合は、利用者が手動で境界線を入力することができる。次に、地図情報作成部１０４は、受付けた境界線の位置情報を、地図情報に追加する（ステップＳ１２１１）。
【００９９】
ステップＳ１２０９またはステップＳ１２１１において、地図情報作成部１０４が地図情報を追加した後、動作管理部１０１が、すべてのマーカ位置および境界線位置の入力が完了したか否かを判断し（ステップＳ１２１２）、すべての入力が完了していない場合は（ステップＳ１２１２：ＮＯ）、マーカ位置の入力を再度受付けて処理を繰り返す（ステップＳ１２０６）。すべての入力が完了した場合は（ステップＳ１２１２：ＹＥＳ）、地図情報作成処理を終了する。
【０１００】
このように、本実施の形態にかかる移動ロボット１００は、カメラなどの撮像装置で撮影した画像中から、発光パターンによって識別可能なマーカと、当該マーカの近傍に存在する境界線を検出し、検出した境界線と、事前に記憶手段に記憶されているマーカや境界線の位置情報を含む地図情報とから自装置の位置および姿勢を算出することができる。このため、マーカの個数が少ない場合であっても高精度に移動ロボット１００の位置および姿勢を算出することができ、マーカの設置が容易となり、外観上の見映えを向上することができる。
【０１０１】
また、移動ロボット１００が作成して画面上に表示した地図情報上で、少数のマーカの位置情報を指定することにより地図情報を作成することができるため、屋内形状地図の入力やマーカの座標値の入力作業が不要となり、利用者の地図情報作成の負担を軽減することができる。
【産業上の利用可能性】
【０１０２】
以上のように、本発明にかかる移動ロボット、マーカ、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システムは、屋内環境で自己位置を補正しながら目的地へ移動する移動ロボット、当該移動ロボットのためのマーカ、当該移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システムに適している。
【図面の簡単な説明】
【０１０３】
【図１】本実施の形態にかかる移動ロボットの構成を示すブロック図である。
【図２】地図情報記憶部に記憶されている地図情報の一例を示した説明図である。
【図３】移動ロボットの構成の一例を示す説明図である。
【図４】マーカの構成の一例を示す説明図である。
【図５】マーカの発光パターンの一例を示した説明図である。
【図６】マーカの構成の別の例を示す説明図である。
【図７】マーカの照光範囲の一例を示した説明図である。
【図８】本実施の形態における移動ロボットの自律走行処理の全体の流れを示すフローチャートである。
【図９】位置姿勢算出処理の全体の流れを示すフローチャートである。
【図１０】カメラ画像から検出されたマーカの一例を示す説明図である。
【図１１】移動ロボットの位置および姿勢を算出する際に使用する座標系の一例を示した説明図である。
【図１２】本実施の形態における移動ロボットの地図情報作成処理の全体の流れを示すフローチャートである。
【図１３】地図情報作成処理における移動ロボットの移動軌跡の一例を示す説明図である。
【図１４】マーカの近傍の線を検出する処理の一例を示す説明図である。
【符号の説明】
【０１０４】
１００  移動ロボット
１０１  動作管理部
１０２  移動制御部
１０３  カメラ方向制御部
１０４  地図情報作成部
１０５  カメラ
１０６  距離センサ
１０７  オドメトリ
１０８  タッチパネル
１１０  自己位置同定部
１１１  マーカ検出部
１１２  境界線検出部
１１３  パラメータ算出部
１１４  位置姿勢算出部
１２０  地図情報記憶部
１３０  マーカ
２０１  境界線
２０２  マーカ領域
２０３  領域
３０１  車輪
３１１  カメラチルト回転軸
３１２  カメラパン回転軸
３１３  頭部水平回転軸
４０１  発光ＬＥＤ
４０２  駆動回路
４０３  ＬＥＤ光拡散カバー
４０４  電池
４０５  ケース
６０１  赤外線ＬＥＤ
６０３  ＬＥＤ光拡散カバー
７０１  ＬＥＤ照光範囲
７０３  境界線
１００１  格子
１００２  左上隅
１００３  右上隅
１００４  左下隅
１００５  右下隅
１００６  マーカ
１００７  境界線
１３０１  移動軌跡
１４０１  格子
１４０２  格子の窓
１４０３  境界
１４０４  線
【図１】
2006346767.tif 000009
【図２】
2006346767.tif 000010
【図３】
2006346767.tif 000011
【図４】
2006346767.tif 000012
【図５】
2006346767.tif 000013
【図６】
2006346767.tif 000014
【図７】
2006346767.tif 000015
【図８】
2006346767.tif 000016
【図９】
2006346767.tif 000017
【図１０】
2006346767.tif 000018
【図１１】
2006346767.tif 000019
【図１２】
2006346767.tif 000020
【図１３】
2006346767.tif 000021
【図１４】
2006346767.tif 000022