(57)【要約】【課題】ロボットなどの移動体が目標位置を検出することが簡単な構成で良好に行えるようにする。【解決手段】移動体（例えばロボット１）に取り付けられた撮像部１４で目標箇所（例えば充電ステーション２）を撮像し、撮像した画像から目標箇所２を検出することで、移動体を目標箇所に誘導する。ここで、目標箇所の表面２ａと直交する法線とほぼ平行な平面２０Ｌ−１，２０Ｌ−２，２０Ｒ−１，２０Ｒ−２（または曲面）を持って突出すると共に、突出した平面２０Ｌ−１，２０Ｌ−２，２０Ｒ−１，２０Ｒ−２（または曲面）が、周囲の目標箇所の表面２ａとは異なる特定色または異なる特定模様であるマーカ２０Ｌ，２０Ｒを備える。【選択図】図１
2020204992.tif 000002
【特許請求の範囲】
【請求項１】
移動物体に取り付けられた撮像部で目標箇所を撮像し、撮像した画像から前記目標箇所を検出することで、前記移動物体を前記目標箇所に誘導する目標検出システムであり、
当該目標箇所の表面と直交する法線とほぼ平行な平面または曲面を持って突出すると共に、突出した前記平面または前記曲面が、周囲の前記目標箇所の表面とは異なる特定色または異なる特定模様であるマーカを備える
目標検出システム。
【請求項２】
前記移動物体は、前記撮像部が撮像した画像から、前記マーカの前記平面または前記曲面を抽出することで、前記移動物体から見た前記目標箇所の方向を検出する
請求項１に記載の目標検出システム。
【請求項３】
さらに前記移動物体は、前記撮像部が撮像した画像から、前記移動物体と前記目標箇所との距離を検出する
請求項２に記載の目標検出システム。
【請求項４】
前記マーカは、前記目標箇所に複数配置し、
複数配置したそれぞれの前記マーカの前記平面または前記曲面は、相互に平行に配置した
請求項３に記載の目標検出システム。
【請求項５】
前記平面または前記曲面を平行配置したそれぞれの前記マーカは、前記平面または前記曲面の一方と他方を、それぞれ異なる色または模様とした
請求項４に記載の目標検出システム。
【請求項６】
さらに前記マーカは、前記目標箇所の中心に近い箇所に、第１の対の複数のマーカを配置すると共に、
前記中心から見て前記第１の対の複数のマーカよりも外側となる箇所に、第２の対の複数のマーカを配置し、
前記第１の対の複数のマーカは、前記第２の対の複数のマーカよりも前記平面または前記曲面の突出長を短くし、
前記移動物体は、前記マーカとの距離に基づいて、第１の対の複数のマーカを使って、前記目標箇所を検出する状態と、第２の対の複数のマーカを使って、前記目標箇所を検出する状態を切り替えるようにした
請求項４に記載の目標検出システム。
【請求項７】
前記マーカは円筒形状または箱型形状である
請求項３に記載の目標検出システム。
【請求項８】
前記移動物体に配置された前記撮像部は、前記マーカを撮像した画像から一部分を切り出して、前記目標箇所を検出するようにした
請求項３に記載の目標検出システム。
【請求項９】
前記マーカは、内部に光源を有し、前記光源の発光で前記突出した面を前記特定色とする
請求項１に記載の目標検出システム。
【請求項１０】
移動物体が目標箇所を検出するために、前記目標箇所に設置される目標検出用マーカであって、
前記目標箇所の表面と直交する法線とほぼ平行に突出した平面または曲面を有し、
突出した前記平面または前記曲面は、前記目標検出用マーカの背景となる前記目標箇所の表面と異なる色または異なる模様とした
目標検出用マーカ。
【請求項１１】
移動ロボット内のバッテリを充電させる充電ステーションであって、
前記移動ロボットが充電時に接続される接続箇所と、
前記接続箇所に設置され、当該接続箇所の表面と直交する法線とほぼ平行な平面または曲面を持って突出すると共に、突出した前記平面または前記曲面が、周囲の前記接続箇所の表面とは異なる特定色または異なる特定模様であるマーカと、を備える
充電ステーション。
【請求項１２】
目標箇所に設置されたマーカを、移動物体に配置された撮像部で撮像して検出することで、前記目標箇所を検出しながら前記移動物体を前記目標箇所に誘導する目標検出方法であって、
前記マーカは、前記目標箇所の表面と直交する法線方向に突出した平面または曲面を有し、
前記移動物体は、前記撮像部で撮像された画像から、前記マーカの周囲の前記目標箇所とは異なる特定色または異なる特定模様の箇所を抽出して、前記平面または前記曲面を検出することで、前記移動物体を前記目標箇所に誘導する
目標検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、目標検出システム、目標検出用マーカ、充電ステーションおよび目標検出方法に関する。
【背景技術】
【０００２】
従来、自律移動が可能なロボットを運用する場合、充電ステーションを設置して、待機時には、ロボットが充電ステーションで充電しながら待機するようにしている。したがって、充電ステーションから離れた場所に移動したロボットが、その場所での作業を終了すると、充電ステーションに戻る動作が行われる。充電ステーションに戻る際には、目標地点である充電ステーションの位置を探知する必要がある。
【０００３】
移動が可能なロボットが目標地点にアプローチするための方法の一つとしては、マーカを用いる方法が知られている。例えば、特許文献１には、目標地点にマーカを設置し、ロボットがそのマーカを探索する手法が記載されている。
特許文献１に記載された手法では、マーカの形状知識をロボットに予め記憶させておき、カメラ画像によりマーカを観測することで、マーカまでの距離と方向を取得するようにしている。
また、特許文献２には、複数のマーカを設置して、マーカまでの距離と方向に加えて、充電器までのアプローチ方向についてもロボットが取得可能とする点について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０５２９２４号公報
【特許文献２】特開２００８−２１０４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１や特許文献２に記載された手法ではカメラ画像によってマーカから情報を検出している。ここで、特許文献１に記載されるマーカの形状そのもので位置探索を行うようにした場合、マーカの形状を認識するため高精細で歪みの小さい、高価なカメラが必要になる。仮に、歪みが大きい比較的安価なカメラを用いた場合、マーカ形状の照合難易度が上がり、マーカを大きくする必要が生じ、マーカが目立ちすぎて、見映え上好ましくない状態になってしまう。
同様に安価なカメラを用いた場合、充電ステーションなどへのアプローチのためにマーカを用いる状況を想定すると、マーカの向いている方向を検出するために、カメラ画像上の僅かな形状変化が捉えらなくなる場合がある。このため、ロボットの充電ステーションアプローチにおける誘導角度精度が低下する可能性が高くなってしまう。
【０００６】
また、特許文献２に記載された手法では、複数マーカを用いることで、ロボットとマーカとの相対距離、角度、およびマーカの向いている方向を検出している。しかし、この特許文献２に記載される手法は、特許文献１におけるマーカの形状の問題が、複数マーカ同士の位置関係に置き換わっているだけであり、依然としてカメラ精度が問題となる。
【０００７】
本発明は、ロボットなどの移動体が目標位置を探知することを、簡単な構成で良好に行うことができる目標検出システム、目標検出用マーカ、充電ステーションおよび目標検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、移動物体に取り付けられた撮像部で目標箇所を撮像し、撮像した画像から目標箇所を検出することで、移動物体を目標箇所に誘導する目標検出システムである。
ここで、目標箇所には、この目標箇所の表面と直交する法線とほぼ平行な平面または曲面を持って突出すると共に、突出した平面または曲面が、周囲の目標箇所の表面とは異なる特定色または異なる特定模様であるマーカを備えるようにした。
【発明の効果】
【０００９】
本発明によれば、移動物体（移動ロボット）側で撮像した画像から色または模様の検出状態に基づいて、簡単な演算処理で精度よく移動物体（移動ロボット）から見た目標箇所の方向または目標箇所までの距離を検出することができる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態例による充電ステーション（Ａ）とロボット（Ｂ）の概略構成を示す斜視図である。
【図２】本発明の一実施の形態例によるロボットの制御構成の例を示すブロック図である。
【図３】本発明の一実施の形態例によるロボットのハードウェア構成例を示すブロック図である。
【図４】本発明の一実施の形態例による充電ステーションへの移動処理の流れを示すフローチャートである。
【図５】本発明の一実施の形態例による充電ステーション接近時のロボット動作の例を示す斜視図である。である。
【図６】本発明の一実施の形態例による位置判定処理例を示すフローチャートである。
【図７】本発明の一実施の形態例によるカメラ画像の例を示す図である。
【図８】本発明の一実施の形態例による位置計算処理を説明する図である。
【図９】本発明の一実施の形態例の充電ステーションの変形例（変形例１）を示す斜視図である。
【図１０】本発明の一実施の形態例の充電ステーションの変形例（変形例２）を示す斜視図である。
【図１１】本発明の一実施の形態例の充電ステーションの変形例（変形例３）を示す斜視図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施の形態例（以下、「本例」と称する）を、添付図面を参照して説明する。
【００１２】
［全体構成］
図１は、本例の位置・方向検出システムを搭載した移動ロボット１（図１の（Ｂ））と、充電ステーション２（図１の（Ａ））の外観を示す。図１の（Ａ）に示す充電ステーション２は、部屋の壁面などに設置される。
また、図１の（Ｂ）は、人間の形状を模したヒューマノイドロボットとして構成されるロボットであり、本体１０の上部に頭部１ａが取り付けられ、自律移動を行うことができる。なお、図１の（Ｂ）に示す状態は、移動ロボット１の背面側を示している。この移動ロボット１の背面側が、図１（Ａ）の充電ステーション２に接続される。
【００１３】
移動ロボット１は、本体１０、車輪１１Ｌ、１１Ｒ、補助車輪１２、充電端子１３、カメラ１４、車輪駆動部１５、制御装置１６、ロボット側充電装置１７、および３Ｄカメラ１９から構成される。３Ｄカメラ１９は、移動ロボット１の頭部に設置され、移動ロボット１の前方を撮影する。一方、カメラ１４は移動ロボット１の後方を撮影するものである。カメラ１４や３Ｄカメラ１９は、「撮像部」とも称される。
【００１４】
移動ロボット１の前方を撮影する３Ｄカメラ１９は、移動ロボット１が移動する際に、前方の状況を確認するために撮影を行うものである。移動ロボット１は、３Ｄカメラ１９による撮影画像に基づいて、前方の障害物までの距離などを比較的高精度に検知することができる。このため、３Ｄカメラ１９としては、撮像を行う画像センサの画素数が多く解像度が高い画像の撮像が可能であり、装着された撮像用のレンズも歪の少ないものが使用される。
【００１５】
一方、移動ロボット１の背面１ｂに取り付けられたカメラ１４は、移動ロボット１の背面１ｂ側の周囲の状況をそれなりの精度で検知するためのものである。カメラ１４としては、撮像を行う画像センサの画素数がそれ程多くなくてもよい。すなわち、カメラ１４の解像度はそれ程高くする必要はなく、装着される撮像用のレンズの歪みもある程度まで許容されるものでよい。したがって、カメラ１４には、比較的安価なカメラが使用される。
【００１６】
車輪１１Ｌ，１１Ｒと補助車輪１２は、本体１０の下部に配置され、これらの車輪１１Ｌ、１１Ｒと補助車輪１２とで、移動ロボット１を床面に接地させている。補助車輪１２はボールキャスタなどで構成され、全方向に回転可能としてある。左右の車輪１１Ｌ，１１Ｒは、車輪駆動部１５により独立に駆動され、これにより移動ロボット１を任意の方向に移動させる。
【００１７】
移動ロボット１の本体１０の背面側には、ロボット側充電端子１３が取り付けられている。このロボット側充電端子１３が、後述する充電ステーション２側の端子２３と接続されたとき、充電ステーション２から電力がロボット側充電装置１７に供給される。この充電ステーション２から供給される電力で、移動ロボット１に内蔵されたバッテリ（不図示）が充電される。
【００１８】
移動ロボットの車輪駆動部１５は、車輪１１Ｌ、１１Ｒに動力を供給するための不図示のモータ、モータの回転角度を検出するエンコーダ、およびモータを制御するモータドライバから構成される。そして、制御装置１６は、目標速度と目標旋回角速度を車輪駆動部１５に指示する。この指示に基づいて、車輪駆動部１５は、車輪１１Ｌ，１１Ｒを駆動する。
【００１９】
充電ステーション２は、マーカ２０Ｌ、２０Ｒ、電源装置２１、外部電源接続用プラグ２２、および充電端子２３から構成される。
電源装置２１は、外部電源接続用プラグ２２を介して電力の供給を受け、充電ステーション側充電端子２３がロボット側充電端子１３と接続された場合に、電源装置２１から移動ロボット１への給電を行う。
【００２０】
制御装置１６は、３Ｄカメラ１９やカメラ１４が撮像した画像に基づいて、周囲の状況を検出しながら、車輪駆動部１５による車輪１１Ｌ、１１Ｒの駆動を制御して、移動ロボット１を移動させる。
この制御装置１６の制御による移動ロボット１の移動には、移動ロボット１が充電ステーション２から離れた位置であるときに、充電ステーション２に戻る動作も含まれる。
【００２１】
移動ロボット１が充電ステーション２に戻る動作を行う際には、充電ステーション２に配置されたマーカ２０Ｌ、２０Ｒをカメラ１４が撮像した画像に基づいて、目標箇所（接続箇所）である充電ステーション２を検出して、検出した充電ステーション２にドッキングする誘導動作を行う。ここで、移動ロボット１の背面側に配置されたカメラ１４を使用するのは、充電ステーション２に移動ロボット１がドッキングする際に、移動ロボット１の背面が充電ステーション２に接する状態になるためである。
移動ロボット１の背面が充電ステーション２に接する状態で、充電ステーション２にドッキングすることで、ドッキング時には、移動ロボット１の正面が外側を向き、移動ロボット１が周囲の人への案内などができる状態になっている。
【００２２】
次に、充電ステーション２に取り付けられたマーカ２０Ｌ、２０Ｒの構成について説明する。
図１（Ａ）に示すように、充電ステーション２は、所定の筐体で構成され、例えばその筐体の正面（表面）２ａの下側のほぼ中央に、充電端子２３が配置される。
２つのマーカ２０Ｌ、２０Ｒは、直立した薄い板で構成され、正面２ａと垂直な状態で突出している。つまり、マーカ２０Ｌ、２０Ｒは、正面（表面）２ａと直交する法線方向に離れるように所定長だけ伸びた状態に配置される。本例の場合には、２つのマーカ２０Ｌ、２０Ｒとしては、同一サイズのものが利用される。
【００２３】
マーカ２０Ｌ、２０Ｒが正面２ａから法線方向に離れるように配置されることで、各マーカ２０Ｌ、２０Ｒの側面２０Ｌ−１、２０Ｌ−２、２０Ｒ−１、２０Ｒ−２は、移動ロボット１を充電ステーション２に正しく誘導する際の目印となる。つまり、カメラ１４が備える画像センサの光軸に対して平行となるように充電ステーション２の正面２ａに対してマーカ２０Ｌ、２０Ｒが垂直に配置される。
２つのマーカ２０Ｌ、２０Ｒは、充電端子２３が配置された中央から左右に同じ距離だけ離れた位置に配置されている。但し、２つのマーカ２０Ｌ、２０Ｒは、充電端子２３を配置した位置よりは上側に配置される。
【００２４】
また、左側のマーカ２０Ｌの右側面２０Ｌ−１と左側面２０Ｌ−２は、異なる色とする。さらに、右側のマーカ２０Ｒの右側面２０Ｒ−１と左側面２０Ｒ−２も、異なる色とする。それぞれのマーカ２０Ｌ、２０Ｒの右側面２０Ｌ−１、２０Ｒ−１と左側面２０Ｌ−２、２０Ｒ−２とを異なる色にする場合、２つのマーカ２０Ｌ、２０Ｒで向き合った内側になる側面２０Ｌ−１，２０Ｒ−２を同じ第１の色とし、外側になる側面２０Ｌ−２、２０Ｒ−１を同じ第２の色とする。なお、これらのマーカ２０Ｌ、２０Ｒの背景となる、充電ステーション２の筐体の正面２ａについては、さらに別の第３の色とする。
但し、マーカ２０Ｌ、２０Ｒの各側面の内側と外側で色を変えるのは一例であり、いずれのマーカ２０Ｌ、２０Ｒについても、右側面２０Ｌ−１、２０Ｒ−１を第１の色とし、左側面２０Ｌ−２、２０Ｒ−２を第２の色としてもよい。あるいは、４つの側面２０Ｌ−１、２０Ｌ−２、２０Ｒ−１、２０Ｒ−２をすべて異なる色にしてもよい。
【００２５】
さらにまた、色を変える代わりに、それぞれの面の模様（パターン）を変えるようにしてもよい。すなわち、左側のマーカ２０Ｌの右側面２０Ｌ−１と左側面２０Ｌ−２は、異なる模様とし、右側のマーカ２０Ｒの右側面２０Ｒ−１と左側面２０Ｒ−２についても、異なる模様としてもよい。
【００２６】
［制御装置の構成］
図２は、移動ロボット１の制御装置１６の機能構成を示すブロック図である。
制御装置１６は、位置・方向検出システム３０を内蔵する。位置・方向検出システム３０は、画像取得部３１と、マーカ認識部３２と、マーカデータ部３３とを備える。
画像取得部３１は、撮像部であるカメラ１４が撮像した画像データを取得する。取得した画像データは、マーカ認識部３２に送り、撮像画像に含まれるマーカを認識する。ここで、マーカデータ部３３には、それぞれのマーカ２０Ｌ、２０Ｒの右側面２０Ｌ−１、２０Ｒ−１と左側面２０Ｌ−２、２０Ｒ−２の色の組み合わせと、充電ステーション２の正面２ａの色と、それぞれのマーカ２０Ｌ、２０Ｒの配置位置の詳細についてのデータが記憶される。
【００２７】
そして、マーカ認識部３２は、カメラ１４が撮像した画像データと、各マーカ２０Ｌ、２０Ｒとを使って、カメラ１４からマーカ２０Ｌ、２０Ｒまでの距離と方向、つまり移動ロボット１から充電ステーション２までの距離と方向を検出する。カメラ１４からマーカ２０Ｌ、２０Ｒまでの距離と方向を検出する処理の具体例については後述する。
【００２８】
マーカ認識部３２が検出した移動ロボット１から充電ステーション２までの距離と方向のデータは、制御装置１６の行動生成部３４に送られる。行動生成部３４は、充電ステーション２までの距離と方向のデータに基づいて、車輪駆動部１５での車輪１１の駆動を制御する。
なお、マーカ認識部３２が検出した移動ロボット１から充電ステーション２までの距離と方向のデータに基づいて、行動生成部３４が車輪駆動部１５を制御するのは、移動ロボット１が充電ステーション２に接近した状態の場合である。例えば移動ロボット１が充電ステーション２に１ｍ程度まで接近したときである。
移動ロボット１が充電ステーション２に接近するまでは、移動ロボット１の正面側に配置された３Ｄカメラ１９が撮像した画像に基づいて、行動生成部３４が車輪駆動部１５を制御する。
【００２９】
図３は、図２に示す制御装置１６をコンピュータ装置で構成した場合のハードウェア構成例を示す。
図２に示すコンピュータ装置は、バスにそれぞれ接続されたＣＰＵ（Central Processing Unit：中央処理装置）１６ａ、ＲＯＭ（Read Only Memory）１６ｂ、およびＲＡＭ（Random Access Memory）１６ｃを備える。さらに、コンピュータ装置は、不揮発性ストレージ１６ｄ、ネットワークインタフェース１６ｅ、カメラインタフェース１６ｆ、および駆動系インタフェース１６ｇを備える。
【００３０】
ＣＰＵ１６ａは、制御装置１６での制御処理を実行するソフトウェアのプログラムコードをＲＯＭ１６ｂから読み出して実行する演算処理部である。
ＲＡＭ１６ｃには、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
【００３１】
不揮発性ストレージ１６ｄには、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）などの大容量情報記憶媒体が用いられる。不揮発性ストレージ１６ｄには、制御装置１６が実行する制御機能についてのプログラムが記録される。図２に示すマーカデータ部３３の記憶データについても、不揮発性ストレージ１６ｄに記憶される。
【００３２】
ネットワークインタフェース１６ｅには、例えば、ＮＩＣ（Network Interface Card）などが用いられる。ネットワークインタフェース１６ｅは、無線ＬＡＮ（Local Area Network）などを介して外部と各種情報の送受信を行う。
【００３３】
なお、制御装置１６を図３に示すコンピュータ装置で構成するのは一例であり、コンピュータ装置以外のその他の演算処理装置で構成してもよい。例えば、制御装置１６が行う機能の一部又は全部を、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などのハードウェアによって実現してもよい。
【００３４】
［移動ロボットの動作］
次に、図４のフローチャートを参照して、移動ロボット１が充電ステーション２にアプローチする場面の動作を説明する。
まず、移動ロボット１の行動生成部３４は、移動ロボット１が正面前方に進む動作で、充電ステーション１の近傍まで移動したか否かを判断する（ステップＳ１１）。このステップＳ１１で、充電ステーション１の近傍でないと判断したとき（ステップＳ１１のＮｏ）には、行動生成部３４は、移動ロボット１が正面前方に進む動作で充電ステーション１の近傍までの移動を継続して行う。
【００３５】
そして、ステップＳ１１で、充電ステーション１の近傍になったとき判断したとき（ステップＳ１１のＹｅｓ）には、行動生成部３４は、移動ロボット１の向きを１８０°反転させる（ステップＳ１２）。
すなわち、図５（Ａ）に示すように、充電ステーション２の近傍位置まで移動した移動ロボット１は、その位置で１８０°反転する動作Ｍ１を行い、図５（Ｂ）に示すように、移動ロボット１の背面のカメラ１４を、充電ステーション２の側に向ける。その上で、図４のフローチャートのステップＳ１３〜Ｓ１６に示す処理にて、移動ロボット１を充電ステーション２まで移動させる動作Ｍ２を行う。
なお、図５では説明を簡単にするために、充電ステーション２の斜め前の位置で移動ロボット１が反転する状態を示したが、本来は移動ロボット１が反転したとき、移動ロボット１は、充電ステーション２の正面２ａと正対するのが好ましい。
【００３６】
図４のフローチャートのステップＳ１３以降を説明すると、まず、行動生成部３４は、カメラ１４が撮像した画像から、位置情報を取得する（ステップＳ１３）。
ここでは、行動生成部３４は、ある瞬間のカメラ１４が備えるレンズの光軸と、そのレンズの交点を原点とし、撮像方向をＸ軸、光軸方向をＹ軸とするカメラ座標系と等しいロボット座標系を保持している。
【００３７】
そして、行動生成部３４は、車輪駆動部１５より車輪１１Ｒ、Ｌそれぞれの回転角度φＲ、Ｌ、回転角速度ｄφＲ、Ｌを入手し、ロボット座標系上での移動ロボット１の位置を更新する。更新処理は次の［数１］式により表される。
【００３８】
【数１】
2020204992.tif 000003
【００３９】
［数１］式において、添え字ｋは現在時刻を、ｋ−１は更新１ステップ前時刻を表す。Ｄは２つの車輪１１Ｌ，１１Ｒの間の長さであり、ＲＸは移動ロボット１のロボット座標系のＸ座標であり、ＲＹは同じくＹ座標である。Ｒηはロボットの向いている方向である。
【００４０】
次に、行動生成部３４は、位置・方向検出システム３０より目標位置となる充電ステーション２の位置と向いている方向を取得する（ステップＳ１４）。
その後、行動生成部３４は、目標位置に対してステップＳ１３で算出した現在位置を結ぶ移動経路を算出する（ステップＳ１５）。ここでは、例えばＲＲＴ（Rapidly exploring Random Tree）法や、Ａ＊などの手法により算出することができる。
【００４１】
行動生成部３４では、算出された移動経路より移動経路長が算出され、移動経路長と車輪駆動部１５が保持する移動ロボット１の最大加速度、最大速度を満たすように台形速度パターンが算出される。台形速度パターンは車輪駆動部１５への送信間隔毎の指令値に分割され、行動生成部３４に記録される。これにより移動ロボット１がどの時刻（ＴＫ）で経路上のどの位置（Ｒ）にいるかが明らかになり、Ｒの前後の時刻（ＴＫ−１、ＴＫ＋１）の経路点座標を参照し、時刻ＴＫでの移動ロボットの目標旋回方向が算出される。時刻ＴＫでの目標旋回方向と時刻ＴＫの１ステップ前の目標旋回方向の差分を前述した送信間隔で除算することにより目標旋回角速度情報を決定する。以上の計算により、行動生成部３４は、各時刻におけるロボットの目標速度と目標旋回角速度からなる移動計画を生成する。
【００４２】
そして、行動生成部３４は、各時刻ごとにステップＳ１５において算出された目標速度と目標旋回角速度を車輪駆動部１５に送信する（ステップＳ１６）。
【００４３】
次に、図６のフローチャートを参照して、マーカ認識部３２が、画像取得部３１とマーカデータ部３３から取得した情報を基に、マーカ２０Ｌ，２０Ｒとカメラ１４との相対位置と、マーカ２０Ｌ，２０Ｒの向いている方向を算出する処理の詳細を説明する。
まず、マーカ認識部３２は、取得したカメラ１４の撮像画像から、水平方向の１ラインを切り出す（ステップＳ２１）。
ここでは、例えば図７に示すように、マーカ２０Ｌ，２０Ｒの双方が含まれるように、所定の垂直位置の水平方向の１ラインＬ１を切り出す。
【００４４】
そして、マーカ認識部３２は、切り出した１ラインＬ１の箇所に、マーカ２０Ｌ，２０Ｒが撮像されているか否かを判断する（ステップＳ２２）。このステップＳ２２で、マーカが撮像されている場合（ステップＳ２２のＹｅｓ）には、ラインＬ１上に背景色、マーカ側面色、背景色、マーカ側面色、背景色のパターンがライン上に現れる。パターンが背景色、マーカ側面色、マーカ側面色、背景色の場合、マーカ側面色が連続しており、マーカ側面の塗り分けにより大まかにマーカ２０Ｌ，２０Ｒに対してカメラ１４が左右どちらかにいるかを判断できる。このようにして、マーカ２０Ｌ，２０Ｒとカメラ１４との相対関係を算出する（ステップＳ２３）。
【００４５】
例えばマーカ２０Ｌ，２０Ｒの側面色として、右側面２０Ｌ−１，２０Ｒ−１で同色（緑色）が配置され、左側面２０Ｌ−２，２０Ｒ−２で同色（赤色）が配置されている場合、緑しか見えないならば右側、赤しか見えない場合は左側にいることになる。このとき、左右のどの程度の角度が算出できるかは、マーカ２０Ｌ，２０Ｒの形状と配置に依存する。
なお、ステップＳ２２の判断で、いずれのパターンも出現しない場合、つまり２０Ｌ，２０Ｒが撮像されていない状況でのとき（ステップＳ２２のＮｏ）、マーカ２０Ｌ，２０Ｒの検出による位置検出処理を終了する。
【００４６】
次に、図８を参照して、ステップＳ２３での具体的な位置関係の算出処理の例を説明する。
図８は、カメラ１４がマーカ２０Ｌ，２０Ｒを撮影する状況の上面図である。ここでの座標系はカメラ座標系であり、カメラ１４が備える画像センサ（イメージャ）の撮像面α１は、距離ｆだけ離れてｘ軸に平行にある。また計算の簡便化のため、撮像面α１と反対に距離ｆだけ離れた計算面α２を仮想的に設定している。
【００４７】
マーカ２０Ｒと充電ステーション２の正面２ａとの接合点を点Ｐ、他方（正面２ａから最も離れた点）を点Ｑとする。線分ＰＱの長さはｌであり、計算面α２と点Ｐを通り、線分ＰＱに垂直な直線との交点を点Ｓとする。計算面α２とｙ軸の交点をＯとし、線分ＯＳの長さをｈ、線分ＳＰの長さをＬとする。線分ＰＱとｙ軸のなす角度をθとする。
座標原点と点Ｐおよび点Ｑを結んだ直線が計算面α２となす交点を点ｘｐ、点ｘｑとする。以上の幾何関係を用いると、次の［数２］式が成立する。
【００４８】
【数２】
2020204992.tif 000004
【００４９】
［数２］式において、ｆ，ｌ，Ｌはマーカデータ部３３より取得する情報であり、ｘｐ，ｘｑは切り出されたライン上のピクセル座標の正負符号を反転させた値である。同様にマーカ２０Ｌとの間でも次の［数２］式が成立する。
【００５０】
【数３】
2020204992.tif 000005
【００５１】
［数３］式において、各変数は［数２］式と同様に定義されるが、［数２］式と等価でない変数は変数にオーバーラインを引いてあらわされている。また、次の［数４］式の値は、マーカ２０Ｒとマーカ２０Ｌとの間の距離を示す式であり、マーカデータ部３３より取得可能である。
【００５２】
【数４】
2020204992.tif 000006
【００５３】
これらの［数２］式〜［数４］式を用いることによって、４つの未知数［Ｌ，Ｌ（オーバーライン），θ，ｈ］を解くことに十分な独立した関係式５本が得られることになり、未知数を算出することができる。マーカ２０Ｌ，２０Ｒの中央点Ｃは、［数５］式で表される。
【００５４】
【数５】
2020204992.tif 000007
【００５５】
以上により、マーカ認識部３２は、マーカ２０Ｌ，２０Ｒとカメラ１４の相対関係である
【００５６】
【数６】
2020204992.tif 000008
【００５７】
を算出することができる。この相対関係のデータは、行動推定部３４に送信される。
以上説明したように、本例の位置・方向検出システムによると、比較的簡単な演算処理で、マーカ２０Ｌ，２０Ｒの位置と、マーカ２０Ｌ，２０Ｒの向いている方向を取得することができる。この場合、マーカ画像を得るカメラ１４が、ある程度解像度が低いと共にレンズの歪があったとしても、移動ロボット１を誘導するのに十分な精度で計算ができる。
したがって、高価な低歪、高精細カメラを使用せずに、比較的安価なカメラ１４で、マーカに対して相対的な位置・方向を検出することができる。
【００５８】
［変形例］
なお、本発明は、上述した各実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施の形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００５９】
例えば、図１に示す構成では、２つのマーカ２０Ｌ，２０Ｒを充電ステーション２の正面２ａに配置した。これに対して、２つ以上のマーカを配置するようにしてもよい。
図９は、２つのマーカ２０Ｌ，２０Ｒの他に、補助マーカ２４Ｌ，２４Ｒを配置した例を示す。この図９に示す例では、２つのマーカ２０Ｌ，２０Ｒの間に、補助マーカ２４Ｌ，２４Ｒを配置する。図９に示すように、マーカ２０Ｌ，２０Ｒの突出長をｌ１とし、補助マーカ２４Ｌ，２４Ｒの突出長をｌ２としたとき、ｌ１＞ｌ２となるように設定する。図９の例では、マーカ２０Ｌ，２０Ｒと補助マーカ２４Ｌ，２４Ｒとで、垂直方向（高さ方向）の長さは同じとする。
【００６０】
この図９に示す構成のとき、移動ロボット１は、２つのマーカ２０Ｌ，２０Ｒとの位置および方向を検出して、ある程度の距離（例えば３０センチ程度）まで充電ステーション２に接近する処理を行う。その後は、移動ロボット１は、２つの補助マーカ２４Ｌ，２４Ｒとの位置および方向を検出する処理に切り替える。そして、２つの補助マーカ２４Ｌ，２４Ｒとの位置および方向の検出を行いながら、最終的に、移動ロボット１は、充電ステーション２とドッキングする位置まで移動する処理を行う。
なお、図９に示す構成の場合、２つのマーカ２０Ｌ，２０Ｒの各側面と、２つの補助マーカ２４Ｌ，２４Ｒの各側面は、それぞれ色または模様を分けるようにして、カメラ画像から区別できるようにするのが好ましい。
このように複数の対のマーカを用意することで、より精度の高い位置検出と方向検出が可能になる。
【００６１】
あるいは、図１０に示すように、１つの円筒形状のマーカ２５を、充電ステーション２から突出させた構成としてもよい。この場合、円筒形状のマーカ２５の右側面（右半分）と左側面（左半分）とを、別の色または模様とするのが好ましい。
さらにまた、図１１に示すように、１つの箱型形状（立方体形状）のマーカ２６を、充電ステーション２から突出させた構成としてもよい。この場合にも、マーカ２６の右側面と左側面とを、別の色または模様とするのが好ましい。
【００６２】
また、ここまでの説明では、各側面の色を変えて、色から各側面を検出するようにしたが、各側面の模様を変えた場合、制御装置１６内では、色の検出の代わりに、画像から模様を検出することになる。この場合、色を検出する際には、カメラ画像から水平方向の１ラインのみを切り出したが、模様が判別できるように、カメラ画像から水平方向の複数ラインを切り出して、判断するのが好ましい。
【００６３】
また、各側面の色を変える代わりに、マーカ２０Ｌ，２０Ｒに発光ダイオードや有機ＥＬパネルなどの発光素子（光源）を組み込み、任意のタイミングで各側面をそれぞれ異なる色（または同じ色）に発光させるようにして、カメラ画像から、発光色や発光タイミングを検出するようにしてもよい。あるいは、マーカ２０Ｌ，２０Ｒに光源を組み込む場合には、充電ステーション２の正面２ａとは異なる色で常時発光させてもよい。
【００６４】
また、図１に示す構成では、充電ステーション２に設置したマーカ２０Ｌ，２０Ｒの各面２０Ｌ−１，２０Ｌ−２，２０Ｒ−１，２０Ｒ−２は、設置箇所である充電ステーション２の正面（表面）２ａと直交する法線と平行とした。このマーカ２０Ｌ，２０Ｒの各面２０Ｌ−１，２０Ｌ−２，２０Ｒ−１，２０Ｒ−２が突出する方向は、正面（表面）２ａと直交する法線と平行であることが好ましいが、法線と完全に平行ではなく、若干ずれていてもよい。すなわち、マーカ２０Ｌ，２０Ｒの各面２０Ｌ−１，２０Ｌ−２，２０Ｒ−１，２０Ｒ−２は、正面（表面）２ａと直交する法線とほぼ平行であればよい。
【００６５】
また、ここまでの説明では、移動ロボットが充電ステーションに移動する際の距離と方向を検出する処理に適用した。これに対して、本発明は、その他の移動体が基準となる目標位置に移動する際の誘導処理に適用してもよい。
【００６６】
また、図２の構成図では、制御線や情報線は説明上必要と考えられるものだけを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。また、図４や図６に示すフローチャートにおいて、処理結果に影響を及ぼさない範囲で、複数の処理を同時に実行したり、処理順序を変更してもよい。
【００６７】
また、実施の形態例で説明した構成は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、光ディスク等の記録媒体に置くことができる。
【符号の説明】
【００６８】
１…移動ロボット、１ａ…頭部、１ｂ…背面、２…充電ステーション、２ａ…正面（表面）、１０…本体、１１Ｌ，１１Ｒ…車輪、１２…補助車輪、１３…ロボット側充電端子、１４…カメラ、１５…車輪駆動部、１６…制御装置、１６ａ…中央制御ユニット（ＣＰＵ）、１６ｂ…ＲＯＭ、１６ｃ…ＲＡＭ、１６ｄ…不揮発性ストレージ、１６ｅ…ネットワークインタフェース、１６ｆ…カメラインタフェース、１６ｇ…駆動系インタフェース、１７…ロボット側充電装置、１９…３Ｄカメラ、２０Ｌ，２０Ｒ…マーカ、２０Ｌ−１，２０Ｒ−１…右側面、２０Ｌ−２，２０Ｒ−２…左側面、２１…電源装置、２２…外部電源接続用プラグ、２３…充電ステーション側充電端子、２４Ｌ，２４Ｒ…補助マーカ、２５…マーカ（円筒形状）、２６…マーカ（箱型形状）、３０…位置・方向検出システム、３１…画像取得部、３２…マーカ認識部、３３…マーカデータ部、３４…行動生成部
【図１】
2020204992.tif 000009
【図２】
2020204992.tif 000010
【図３】
2020204992.tif 000011
【図４】
2020204992.tif 000012
【図５】
2020204992.tif 000013
【図６】
2020204992.tif 000014
【図７】
2020204992.tif 000015
【図８】
2020204992.tif 000016
【図９】
2020204992.tif 000017
【図１０】
2020204992.tif 000018
【図１１】
2020204992.tif 000019