(57)【要約】【課題】制御図形によって移動を制御可能な移動ロボットを提供する。【解決手段】自律的に移動する移動ロボット１は、シートに表示された２次元図形であって、仮想的な図形である仮想図形の２次元図形に対する相対的な位置関係を示す仮想図形情報を含むコードを表示する２次元図形である制御図形を撮影する撮影手段１１と、撮影画像に含まれる制御図形から、仮想図形情報を取得する取得手段１３と、撮影画像に含まれる制御図形と、制御図形のサイズを示すサイズ情報と、取得手段１３が取得した仮想図形情報とを用いて、移動ロボット１と仮想図形との位置関係を取得する位置関係取得手段１４と、移動ロボット１を移動させる移動手段１５と、位置関係取得手段１４が取得した位置関係に応じて、移動手段１５による移動を制御する移動制御手段１６とを備える。【選択図】図２
2015055969.tif 000002
【特許請求の範囲】
【請求項１】
自律的に移動する移動ロボットであって、
シートに表示された２次元図形であって、仮想的な図形である仮想図形の前記２次元図形に対する相対的な位置関係を示す仮想図形情報を含むコードを表示する２次元図形である制御図形を撮影する撮影手段と、
前記撮影手段が撮影した撮影画像に含まれる制御図形から、前記仮想図形情報を取得する取得手段と、
前記撮影画像に含まれる制御図形と、当該制御図形のサイズを示すサイズ情報と、前記取得手段が取得した仮想図形情報とを用いて、前記移動ロボットと前記仮想図形との位置関係を取得する位置関係取得手段と、
前記移動ロボットを移動させる移動手段と、
前記位置関係取得手段が取得した位置関係に応じて、前記移動手段による移動を制御する移動制御手段と、を備えた移動ロボット。
【請求項２】
前記位置関係取得手段は、前記撮影画像に含まれる制御図形とサイズ情報とを用いて、前記移動ロボットの座標系と前記制御図形の座標系との座標変換を示す座標変換情報を算出し、当該座標変換情報と前記仮想図形情報とを用いて、前記移動ロボットと前記仮想図形との位置関係を取得する、請求項１記載の移動ロボット。
【請求項３】
前記コードは、前記制御図形の位置及び姿勢を示す位置姿勢情報をも含み、
前記取得手段は、前記位置姿勢情報をも取得し、
前記位置関係取得手段は、前記取得手段が取得した位置姿勢情報をも用いて、前記移動ロボットの座標系と前記制御図形の座標系との座標変換を示す座標変換情報を算出する、請求項２記載の移動ロボット。
【請求項４】
前記コードは、前記サイズ情報をも含み、
前記取得手段は、前記サイズ情報をも取得し、
前記位置関係取得手段が用いるサイズ情報は、前記取得手段が取得したサイズ情報である、請求項１から請求項３のいずれか記載の移動ロボット。
【請求項５】
前記仮想図形は、移動に関する境界を示すものであり、
前記移動制御手段は、前記仮想図形の示す境界を越えないで移動するように、前記移動手段による移動を制御する、請求項１から請求項４のいずれか記載の移動ロボット。
【請求項６】
請求項１から請求項５のいずれか記載の移動ロボットと、
当該移動ロボットの移動の制御に用いられる前記制御図形の表示された１または２以上のシートと、を備え、
ユーザが、前記制御図形の表示されたシートを前記移動ロボットの移動空間に配置することにより前記移動ロボットの移動が制御される、移動ロボット制御システム。
【請求項７】
請求項１から請求項５のいずれか記載の移動ロボットが撮影する制御図形の表示されたシートであって、
前記仮想図形情報を含むコードを表示する制御図形が表示されたシート。
【請求項８】
自律的に移動する移動ロボットにおける処理をコンピュータに実行させるためのプログラムであって、
シートに表示された２次元図形であって、仮想的な図形である仮想図形の前記２次元図形に対する相対的な位置関係を示す仮想図形情報を含むコードを表示する２次元図形である制御図形を撮影する撮影手段が撮影した撮影画像に含まれる制御図形から、前記仮想図形情報を取得する取得ステップと、
前記撮影画像に含まれる制御図形と、当該制御図形のサイズを示すサイズ情報と、前記取得ステップで取得した仮想図形情報とを用いて、前記移動ロボットと前記仮想図形との位置関係を取得する位置関係取得ステップと、
前記位置関係取得ステップで取得した位置関係に応じて、前記移動ロボットを移動させる移動手段による移動を制御する移動制御ステップと、をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律的に移動する移動ロボット等に関する。
【背景技術】
【０００２】
従来、移動ロボットにおいて、移動範囲等を制限することが行われていた。例えば、特許文献１には、バーコードパターンの表示された物体を複数用意することによって仮想壁を定義し、掃除ロボットの移動を制限することが記載されている。また、例えば、特許文献２には、バーコードを印刷した紙を床面に一定間隔で貼り付け、掃除ロボット等を誘導することが記載されている。また、特許文献３には、バーコードなどで規定されたランドマークで有界領域を策定し、ロボットが隣接する有界領域へ移動しないようにすることが記載されている。また、特許文献４には、掃除ロボットが標示体の位置を検出及び記録し、その標示体が取り除かれた後も、その標示体が存在するかのように掃除を実行することが記載されている。また、赤外線を発する部品を掃除ロボットの移動空間に配置することによって、掃除ロボットの進入を制限するための仮想壁を設けたり、掃除ロボットが充電のため自動的にホームベースに帰還できるようにしたりすることが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２２１４９０号公報
【特許文献２】国際公開第２００５／０９２６３２号
【特許文献３】特開２０１３−１４４１１２号公報
【特許文献４】特開２０１２−２３９８９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の移動ロボットにおいては、移動を制限したい領域や、移動させたい領域に、物体を配置したりバーコードを貼付したりする必要があった。例えば、特許文献１では、掃除ロボットの移動を制限するために用いられる仮想ラインを２個以上の特定パターンを用いて定義するため、２個以上の特定パターンをそれぞれ有する２個以上の物体を仮想ラインの位置に配置する必要があった。また、例えば、特許文献４でも、掃除ロボットが標示体の位置を検出及び記録するまでは、掃除ロボットに通過してほしくない領域に標示体を配置したり、掃除ロボットに掃除をしてほしい領域に標示体を配置したりすることが必要であった。また、仮想壁や移動ルート等は、実空間に配置されたバーコード等によって決められるものであり、それらの範囲等を任意に設定することはできなった。また、赤外線を発する部品を用いる場合には、その部品自体が高価であり、またその部品の動作のために充電池等の電源が必要であるという問題があった。また、赤外線による制御の場合には、窓際等の自然光の入射するところでは、自然光に含まれる赤外線によって誤作動する可能性があるという問題もあった。
【０００５】
本発明は、上記問題を解決するためになされたものであり、移動ロボットの移動を制御するための仮想壁等の設定に用いられるものを、必ずしも仮想壁等の近くに配置しなくてもよいようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による移動ロボットは、自律的に移動する移動ロボットであって、シートに表示された２次元図形であって、仮想的な図形である仮想図形の２次元図形に対する相対的な位置関係を示す仮想図形情報を含むコードを表示する２次元図形である制御図形を撮影する撮影手段と、撮影手段が撮影した撮影画像に含まれる制御図形から、仮想図形情報を取得する取得手段と、撮影画像に含まれる制御図形と、制御図形のサイズを示すサイズ情報と、取得手段が取得した仮想図形情報とを用いて、移動ロボットと仮想図形との位置関係を取得する位置関係取得手段と、移動ロボットを移動させる移動手段と、位置関係取得手段が取得した位置関係に応じて、移動手段による移動を制御する移動制御手段と、を備えたものである。
このような構成により、制御図形のコードに含まれる仮想図形情報によって、移動ロボットの移動を制御することができる。したがって、仮想図形情報によって任意の仮想図形を設定できるため、制御図形を必ずしも仮想図形の近くに配置しなくてもよく、移動ロボットの移動制御の設定の自由度が高まることになる。例えば、制御図形を必ずしも仮想壁の位置に配置しなくてもよいことになる。また例えば、任意の形状や範囲の仮想壁等を設定することができるようになる。また、仮想図形の設定のために赤外線を発する部品を用いなくてよいため、仮想図形を容易に設定することができ、また自然光によって誤作動することもない。
【０００７】
また、本発明による移動ロボットでは、位置関係取得手段は、撮影画像に含まれる制御図形とサイズ情報とを用いて、移動ロボットの座標系と制御図形の座標系との座標変換を示す座標変換情報を算出し、座標変換情報と仮想図形情報とを用いて、移動ロボットと仮想図形との位置関係を取得してもよい。
【０００８】
また、本発明による移動ロボットでは、コードは、制御図形の位置及び姿勢を示す位置姿勢情報をも含み、取得手段は、位置姿勢情報をも取得してもよい。その場合には、位置関係取得手段は、取得手段が取得した位置姿勢情報をも用いて、移動ロボットの座標系と制御図形の座標系との座標変換を示す座標変換情報を算出することになる。
このような構成により、制御図形に応じた任意の座標系における移動ロボットの位置を特定することも可能になる。したがって、例えば、制御図形に応じた座標系が、移動ロボットの存在する領域の座標系に対応している場合には、移動ロボットは、制御図形を用いることによって、その領域における移動ロボットの絶対的な位置を取得することも可能となる。
【０００９】
また、本発明による移動ロボットでは、コードは、サイズ情報をも含み、取得手段は、サイズ情報をも取得し、位置関係取得手段が用いるサイズ情報は、取得手段が取得したサイズ情報であってもよい。
このような構成により、制御情報ごとにサイズ情報が異なる場合であっても、そのサイズ情報をコードに含めることにより、移動ロボットと仮想図形情報との位置関係を適切に取得することができるようになる。
【００１０】
また、本発明による移動ロボットでは、仮想図形は、移動に関する境界を示すものであり、移動制御手段は、仮想図形の示す境界を越えないで移動するように、移動手段による移動を制御してもよい。
このような構成により、仮想図形によって、移動ロボットに対して仮想的な境界を設定できるようになる。
【００１１】
また、本発明による移動ロボットでは、制御図形は、２次元コードであってもよい。
このような構成により、仮想図形のコードに含まれる仮想図形情報やその他の情報を精度高く読み出すことができるようになる。
【００１２】
また、本発明による移動ロボット制御システムは、上記移動ロボットと、その移動ロボットの移動の制御に用いられる前記制御図形の表示された１または２以上のシートと、を備え、ユーザが、制御図形の表示されたシートを移動ロボットの移動空間に配置することにより移動ロボットの移動が制御される、ものである。
このような構成により、制御図形の表示されたシートを用いることにより、移動ロボットの移動を制御することができる。
【００１３】
また、本発明による制御図形の表示されたシートは、上記移動ロボットが撮影する制御図形の表示されたシートであって、仮想図形情報を含むコードを表示する制御図形の表示されたシートである。
このような構成により、このシートを移動ロボットの移動する範囲に配置することによって、そのシートに表示された制御図形のコードに含まれる仮想図形情報を用いて、移動ロボットの移動を制御することができる。
【発明の効果】
【００１４】
本発明による移動ロボット等によれば、制御図形のコードに含まれる仮想図形情報によって、移動ロボットの移動を制御できるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１による移動ロボットと制御図形との関係を示す模式図
【図２】同実施の形態による移動ロボットの構成を示すブロック図
【図３】同実施の形態における制御図形と撮影画像との関係を示す図
【図４】同実施の形態による移動ロボットの動作を示すフローチャート
【図５】同実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００１６】
以下、本発明による移動ロボットや、制御図形の表示されたシートについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【００１７】
（実施の形態１）
本発明の実施の形態１による移動ロボットについて、図面を参照しながら説明する。本実施の形態による移動ロボットは、２次元の図形である制御図形を用いて移動に関する制御がなされるロボットである。
【００１８】
図１は、本実施の形態による移動ロボット１、及び制御図形２の表示されたシート３を備えた移動ロボット制御システムと、仮想図形４との関係を示す図である。制御図形２は、仮想図形情報を含むコードを表示する２次元図形である。その仮想図形情報は、仮想的な図形である仮想図形４の制御図形２に対する相対的な位置関係を示す情報である。移動ロボット１は、撮影手段１１によって制御図形２を撮影し、その撮影画像に含まれる制御図形２と、制御図形２の実空間でのサイズとを用いることによって、移動ロボット１に対する制御図形２の位置（ベクトルＣ）や姿勢（例えば、オイラー角や、オイラー角に応じた回転行列、制御図形２の法線ベクトル等である。以下、他の姿勢についても同様である）をＵＶＷ座標系（移動ロボット１のローカル座標系）上の情報として知ることができる。また、移動ロボット１は、撮影画像に含まれる制御図形２から仮想図形情報を読み出すことによって、ＵＶＷ座標系における仮想図形４の位置関係、すなわち制御図形２に対する仮想図形４の位置関係を知ることができる。その結果、移動ロボット１は、移動ロボット１と、仮想図形４との位置関係をＵＶＷ座標系上で知ることができ、その仮想図形４との位置関係に応じた移動制御を行うことができる。その仮想図形は、後述するように、例えば仮想壁等を示す図形であってもよい。また、移動ロボット１は、ワールド座標系（移動空間に固定された絶対座標系）であるＸＹＺ座標系における制御図形２の位置（ベクトルＢ）や姿勢を、例えば、制御図形２のコードに含めるようにして知ることができてもよい。移動ロボット１は、このＸＹＺ座標系における制御図形２の姿勢と、先に求めたＵＶＷ座標系における制御図形２の姿勢から、ＸＹＺ座標系とＵＶＷ座標系の変換を求めることができる。これにより先に求めたＵＶＷ座標系におけるベクトルＣを、ＸＹＺ座標系におけるベクトルとして求めることができる。その結果、移動ロボット１は、ＸＹＺ座標系における移動ロボット１の位置（ベクトルＡ＝ベクトルＢ−ベクトルＣ）や姿勢を知ることもできる。以下、そのような移動ロボット１の詳細について説明する。
【００１９】
図２は、本実施の形態による移動ロボット１の構成を示すブロック図である。本実施の形態による移動ロボット１は、自律的に移動するロボットであって、撮影手段１１と、記憶手段１２と、取得手段１３と、位置関係取得手段１４と、移動手段１５と、移動制御手段１６とを備える。なお、自律的に移動するとは、ユーザ等から受け付ける操作指示に応じて移動するのではない、という意味である。この移動ロボット１は、例えば、掃除ロボットであってもよく、エンターテイメントロボットであってもよく、監視ロボットであってもよく、自律的に移動するその他の用途のロボットであってもよい。
【００２０】
撮影手段１１は、シート３に表示された制御図形２を撮影する。撮影手段１１は、例えば、ＣＣＤやＣＭＯＳなどのイメージセンサによって実現することができる。また、撮影手段１１は、撮影対象からの光をイメージセンサの受光平面に結像させるための光学系を有していてもよい。また、撮影画像のデータ形式等は問わない。通常、撮影手段１１は移動ロボット１に固定されているため、移動ロボット１の移動に応じて撮影手段１１の撮影対象が異なることになる。したがって、撮影手段１１は、連続的に撮影を行い、撮影範囲に制御図形２が含まれる場合に、その制御図形２を含む撮影画像を記憶手段１２に蓄積してもよい。なお、撮影範囲に制御図形２が含まれるかどうかは、例えば、制御図形２のパターンマッチングによって行ってもよく、その他の方法によって行ってもよい。
【００２１】
ここで、制御図形２について説明する。制御図形２は、前述のように、コードを表示する２次元図形である。制御図形２の形状は、例えば、正方形や、長方形、その他の四角形状、その他の多角形状であってもよく、円形状や楕円形状、それらの組み合わせ等であってもよい。ただし、その制御図形２は、特定可能な３以上の点を有していることが好適である。その特定可能な点は、例えば、多角形の頂点であってもよく、円形状における切り欠き等のマークであってもよく、楕円形における長軸や単軸との交点であってもよく、特定可能なその他の点であってもよい。例えば、その特定可能な点間の距離が、後述するサイズ情報によって示されてもよい。なお、上記撮影手段１１が撮影した撮影画像において、上記少なくとも３点と、仮想図形情報等を含むコードとを認識しうる範囲内において、制御図形２は凹凸があってもよく、曲面であってもよい。ただし、各点やコードの認識のし易さ、作成のし易さ、貼付のし易さ等の観点から、制御図形２は平面図形であることが好ましく、紙、フィルム、箔、織物等のシート３への印刷物等が好ましい。また、使用空間の美観上、制御図形が容易に認識できる範囲で、シートの色、背景図柄等も適宜選択することができる。制御図形２に表示されるコードは、仮想図形情報を含んでいる。また、そのコードは、サイズ情報を含んでいてもよく、位置姿勢情報を含んでいてもよい。制御図形２のコードは、例えば、２次元コードであってもよく、または、その他のコードであってもよい。前者の場合には、制御図形２は、２次元コードそのものであってもよい。２次元コードは、２つの次元の方向（例えば、水平方向と垂直方向）に情報を有するコードであり、例えば、マトリックス式の２次元コードであるＱＲコード（登録商標）であってもよく、スタック式の２次元コードであってもよく、その他の形式の２次元コードであってもよい。本実施の形態では、制御図形２がＱＲコード（登録商標）である場合について主に説明する。制御図形２が２次元コードでない場合には、サイズ情報等を含むコードは、例えば、サイズ情報等を示す文字列であってもよい。その場合には、制御図形２は、例えば、矩形や多角形状等の枠と、その枠内に表示された文字列とを表示するものであってもよい。その文字列は、数字や記号をも含んでいてもよい。
【００２２】
仮想図形情報は、制御図形２に対する仮想図形の相対的な位置関係を示す情報である。その仮想図形は、例えば、立体であってもよく、平面や曲面であってもよく、直線や曲線であってもよく、点であってもよく、それらを組み合わせたものであってもよい。仮想図形情報が平面である仮想図形を示す場合に、その仮想図形の平面は、制御図形２の延長面である平面内に存在する矩形であってもよい。その矩形の上辺及び下辺が水平方向であり、右辺及び左辺が鉛直方向である場合には、仮想図形情報は、制御図形２の中心位置を基準とした仮想図形の４辺のそれぞれまでの距離を示す情報であってもよい。また、その仮想図形の平面が、制御図形２の延長面内に存在しない場合には、仮想図形情報は、制御図形２に対する仮想図形の位置を示す情報と、制御図形２に対する仮想図形の姿勢を示す情報とをさらに含んでいてもよい。その仮想図形情報は、制御図形２と所定の位置関係にある、制御図形２を基準としたＩＪＫ座標系あるいはＸＹＺ座標系における仮想図形の位置関係を示す情報であってもよい。例えば、その仮想図形は、ＸＹＺ座標系の座標値であってもよく、ａ１Ｘ＋ａ２Ｙ＋ａ３Ｚ＋ａ４＝０等で示される平面であってもよく、（Ｘ−ｂ１）／ｃ１＝（Ｙ−ｂ２）／ｃ２＝（Ｚ−ｂ３）／ｃ３等で示される直線であってもよく、その他の図形であってもよい。なお、ａ１〜ａ４，ｂ１〜ｂ３，ｃ１〜ｃ３は係数である。仮想図形情報の用途については後述する。
【００２３】
サイズ情報は、制御図形２のサイズを示す情報である。そのサイズは、通常、実空間でのサイズである。また、後述するように、撮影画像に含まれる制御図形２と、そのサイズ情報とを用いて、移動ロボット１の座標系における制御図形２の位置や姿勢を取得できるのであれば、サイズ情報はどのような情報であってもよい。そのサイズ情報は、例えば、制御図形２における特定可能な複数の点間のサイズ（長さ）を示すものであってもよい。その特定可能な複数の点は、制御図形２の輪郭上に存在してもよく、輪郭内に存在してもよい。すなわち、サイズ情報は、制御図形２の輪郭に関するサイズを示す情報であってもよく、制御図形２の輪郭以外の領域に関するサイズを示す情報であってもよい。その複数の点は、３点以上であってもよい。また、サイズ情報は、特定可能な複数の点間のサイズを結果として知ることができるのであれば、そのサイズそのものでなくてもよい。例えば、制御図形２が正方形である場合には、サイズ情報は一辺の長さであってもよい。その場合には、一辺の長さを用いて対角の頂点間の長さを算出できるからである。また、撮影画像に含まれる制御図形２における特定可能な点間の距離と、サイズ情報の示す実空間での長さとの対応が分かるようになっていることが好適である。例えば、制御図形２が長方形であり、サイズ情報が長辺の長さ及び短辺の長さである場合には、撮影画像において、長方形の長辺と短辺とを区別できないことがある。したがって、そのような場合には、例えば、長辺が水平方向となるように決められていてもよく、長辺や短辺の少なくとも一方を、他方と区別できるようにしていてもよい。後者の場合としては、例えば、一方の辺に切り欠きや突起等のマークを付けてもよく、長辺と短辺との色を変更してもよい。本実施の形態では、サイズ情報が、正方形であるＱＲコード（登録商標）の一辺の長さを示す場合について主に説明する。なお、サイズ情報は、制御図形２のコードに含まれていてもよく、または、移動ロボット１の図示しない記録媒体で記憶されていてもよい。前者の場合には、制御図形２ごとにサイズ情報が異なってもよいことになる。一方、後者の場合には、あらかじめ決められたサイズ情報の制御図形２を用いることが必要となる。
【００２４】
位置姿勢情報は、制御図形２の位置及び姿勢を示す情報である。その位置姿勢情報は、例えば、図１のＸＹＺ座標系における制御図形２の位置と姿勢を示す情報であってもよい。位置は、例えば、ＸＹＺ座標系における制御図形２の代表点の位置であってもよい。代表点とは、例えば、中心点であってもよく、特定の頂点であってもよく、または、制御図形２におけるその他の点であってもよい。その代表点は、撮影画像に含まれる制御図形２においても特定可能な点であることが好適である。また、姿勢は、前述のように、ＸＹＺ座標系に対する制御図形２のオイラー角や、そのオイラー角に応じた回転行列、ＸＹＺ座標系における制御図形２の法線ベクトル等であってもよい。
【００２５】
なお、サイズ情報や位置姿勢情報は、結果としてサイズや位置及び姿勢を知ることができる情報であれば、サイズそのものを示す情報や、位置及び姿勢そのものを示す情報でなくてもよい。具体的には、制御図形２が正方形や矩形である場合には、３次元座標系における４頂点の座標値が分かれば、サイズや位置、姿勢を取得することができる。したがって、そのような場合には、制御図形２の４頂点の座標値が、サイズ情報及び位置姿勢情報であると考えることができる。
【００２６】
ここで、仮想図形情報を少なくとも含むコードを表示する制御図形２が表示されたシート３を生成する方法について簡単に説明する。ユーザは、制御図形２と仮想図形との位置関係を決定し、その位置関係に応じた仮想図形情報を取得する。その仮想図形情報は、あらかじめ決められたフォーマットに応じた仮想図形の位置を示す数字列等（例えば、座標値や、平面の式の係数、直線の式の係数等）であってもよい。そして、ユーザは、その仮想図形情報を含むコードを表示する制御図形２を、コンピュータを用いることなどによって生成する。例えば、制御図形２が２次元コードである場合には、仮想図形情報を２次元コードのエンコーダでエンコードすることにより、２次元コードである制御図形２を生成できる。そして、その制御図形２をプリントアウトすることによって、制御図形２が表示されるシート３を生成することができる。なお、制御図形２のコードには、前述のようにサイズ情報や、位置姿勢情報が含まれていてもよい。例えば、プリンタ等に依存して制御図形２の大きさが異なることがあり得るため、ユーザは、プリントアウトした制御図形２のサイズを定規等で測ることによってサイズ情報を特定し、そのサイズ情報を含むコードを生成するようにしてもよい。また、例えば、制御図形２のコードが文字列である場合には、ユーザは、仮想図形情報等を示す文字列を含む制御図形２をプリントアウトしたり、手書きしたりすることによって、制御図形２が表示されるシート３を生成してもよい。
【００２７】
記憶手段１２には、撮影手段１１によって撮影された撮影画像が記憶される。その撮影画像は、前述のように、制御図形２を有するものであってもよい。その撮影画像は、例えば、撮影手段１１によって蓄積されてもよい。記憶手段１２での記憶は、ＲＡＭ等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。記憶手段１２は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００２８】
取得手段１３は、撮影手段１１が撮影した撮影画像に含まれる制御図形２から、仮想図形情報を取得する。具体的には、制御図形２のコードから仮想図形情報を取得する。また、制御図形２のコードにサイズ情報や位置姿勢情報が含まれる場合には、取得手段１３は、撮影画像に含まれる制御図形２から、サイズ情報や位置姿勢情報をも取得してもよい。制御図形２が２次元コードである場合には、取得手段１３は、その２次元コードをデコードすることによって、仮想図形情報等を取得できる。また、制御図形２が文字列を含むコードである場合には、取得手段１３は、その文字列を文字認識することによって、仮想図形情報等を取得できる。なお、取得手段１３は、台形補正等によって歪みを除去した後に、文字認識を行ってもよい。取得手段１３によって取得された仮想図形情報等は、図示しない記録媒体において記憶されてもよい。
【００２９】
位置関係取得手段１４は、撮影画像に含まれる制御図形２と、その制御図形２のサイズを示すサイズ情報と、取得手段１３が取得した仮想図形情報とを用いて、移動ロボット１と仮想図形との位置関係を取得する。そのサイズ情報は、取得手段１３が取得したものであってもよく、または図示しない記録媒体で記憶されているものであってもよい。移動ロボット１と仮想図形との位置関係は、移動ロボット１の座標系における仮想図形の位置関係を示す情報であってもよい。具体的には、位置関係取得手段１４は、撮影画像に含まれる制御図形２とサイズ情報とを用いて、移動ロボット１の座標系と制御図形２の座標系との座標変換を示す座標変換情報を算出してもよい。移動ロボット１の座標系における長さの単位と、サイズ情報の長さの単位とが異なる場合には、位置関係取得手段１４は、サイズ情報を、移動ロボット１の座標系の長さの単位に変換してから用いてもよい。移動ロボット１の座標系とは、例えば、移動ロボット１が移動制御に用いる座標系であってもよい。制御図形２の座標系とは、制御図形２と所定の位置関係にある座標系であってもよい。その座標変換情報は、両座標系の座標変換を行うことができる情報であればどのようなものであってもよく、例えば、一方の座標系における他方の座標系の原点の位置を示す情報と、一方の座標系における他方の座標系の姿勢を示す情報（例えば、オイラー角や回転行列等）とを含んでいてもよい。位置関係取得手段１４は、その座標変換情報と仮想図形情報とを用いて、移動ロボット１と仮想図形との位置関係を取得してもよい。また、取得手段１３が位置姿勢情報を取得した場合には、位置関係取得手段１４は、取得手段１３が取得した位置姿勢情報をも用いて、移動ロボット１の座標系と制御図形２の座標系との座標変換を示す座標変換情報を算出してもよい。位置関係取得手段１４によって取得された位置関係を示す情報は、図示しない記録媒体で記憶されてもよい。なお、この位置関係の取得の処理の詳細については後述する。
【００３０】
移動手段１５は、移動ロボット１を移動させる。その移動の方法は問わない。移動手段１５は、例えば、タイヤや車輪、無限軌道等を用いて平面上を走行する走行手段であってもよく、歩行ロボットが有する脚式の移動手段であってもよく、プロペラ等を用いて空中を飛行する飛行手段であってもよく、移動のためのその他の手段であってもよい。
【００３１】
移動制御手段１６は、位置関係取得手段１４が取得した位置関係に応じて、移動手段１５による移動を制御する。すなわち、移動制御手段１６は、移動ロボット１に対する仮想図形の位置関係に応じて、移動ロボット１の位置を制御する。例えば、仮想図形が移動に関する境界を示す場合には、移動制御手段１６は、移動ロボット１が仮想図形の示す境界を越えないで移動するように、移動手段１５による移動を制御してもよい。具体的には、移動制御手段１６は、移動ロボット１の現在位置を取得し、その現在位置の軌跡が仮想図形によって示される境界と交わらないように制御してもよい。例えば、移動制御手段１６は、移動ロボット１が境界の前に位置した場合に、方向を転換するように移動手段１５を制御してもよく、停止するように移動手段１５を制御してもよい。また、例えば、移動ロボット１の通過するべき位置を仮想図形が示す場合には、移動制御手段１６は、仮想図形の示す位置に移動ロボット１が到達するように、または、仮想図形の示すルートを移動ロボット１が移動するように移動手段１５を制御してもよい。具体的には、移動制御手段１６は、移動ロボット１の目標位置を仮想図形の示す位置に設定し、移動ロボット１が仮想図形の位置に到達するように移動手段１５を制御してもよい。また、例えば、移動ロボット１がより長時間滞在するべき領域を仮想図形が示す場合には、移動制御手段１６は、仮想図形の示す領域における移動ロボット１の滞在時間が、他の領域に対して長くなるように移動手段１５を制御してもよい。このような制御は、例えば、掃除ロボットである移動ロボット１に特定の領域を念入りに掃除させたい場合や、監視ロボットである移動ロボット１に特定の領域を念入りに監視させたい場合などに有用である。また、仮想図形の用途を示す情報が、制御図形２の表示するコードに含まれており、移動制御手段１６は、その用途に応じた制御を行ってもよい。その用途は、例えば、境界や、目的地、ルート、滞在等であってもよい。なお、境界を越えないようにする移動制御や、目的地に到達するようにする移動制御、指定されたルートを通過するようにする移動制御等はすでに公知であり、その説明を省略する。また、現在位置を取得する方法は、例えば、オドメトリによる方法であってもよく、ＧＰＳ等によって取得する方法であってもよく、加速度センサやジャイロ等を用いて取得する方法であってもよく、その他の方法であってもよい。
【００３２】
ここで、位置関係取得手段１４による移動ロボット１と仮想図形との位置関係を取得する方法について説明する。ここでは、制御図形２は、仮想図形情報とサイズ情報と位置姿勢情報とを含む正方形の２次元コードであるとする。また、サイズ情報は、その２次元コードの実空間における一辺の長さ「Ｌ」であるとする。また、位置姿勢情報は、制御図形２と所定の位置関係にある３次元直交座標系であるＸＹＺ座標系における制御図形２の中心位置を示すベクトルＷｐｃと、ワールド座標系に対する制御図形２のｚ−ｘ−ｚのオイラー角（θ，φ，ψ）とであるとする。なお、そのｐの左上の添字がＷである場合には、ワールド座標系のベクトルであることを示し、Ｌである場合には、後述する移動ロボット１のローカル座標系のベクトルであることを示すものとする。
【００３３】
図３で示されるように、ローカル座標系ｘｙｚは、撮影手段１１の視点を原点とし、受光平面と平行な方向にｘｙ座標をとり、そのｘｙ直交座標系に直交する視線方向にｚ軸をとった３次元直交座標系である。その撮影画像における制御図形２の４頂点を頂点Ｖ１〜Ｖ４とし、ローカル座標系における頂点Ｖｉの位置ベクトルを、Ｌｐｓｉ＝（ｐｓｉｘ，ｐｓｉｙ，ｆ）Ｔとする。ただし、ｉ＝１，２，３，４であり、Ｔは転置を示す。また、ｐｓｉｘ，ｐｓｉｙは、頂点Ｖｉのｘｙ平面上の座標値であり、撮影画像において、基準点から各頂点Ｖ１〜Ｖ４までのｘ軸方向及びｙ軸方向の距離を測定することによって取得できる。基準点は、ローカル座標系でｘ＝ｙ＝０となる撮影画像上の点である。また、ｆは、焦点距離であり、撮影手段１１の光学系によって決まる値である。なお、ローカル座標系と、ワールド座標系と、実空間とのそれぞれにおいて、長さの単位は同じであるとしている。
【００３４】
実空間における制御図形２の４頂点の位置は、ローカル座標系において、スカラーｋｉを用いて次のように表すことができる。
Ｌｐｉ＝ｋｉＬｐｓｉ      （１）
また、制御図形２の２次元コードから取得されたサイズ情報「Ｌ」を用いると、次の３個の式が得られる。
｜Ｌｐ１−Ｌｐ２｜＝Ｌ      （２）
｜Ｌｐ３−Ｌｐ１｜＝Ｌ      （３）
｜Ｌｐ２−Ｌｐ３｜＝２１／２Ｌ      （４）
したがって、（１）〜（４）式を用いることによって、ｋ１，ｋ２，ｋ３を求めることができ、その結果、（１）式から、ローカル座標系における制御図形２の各頂点の位置ベクトルＬｐｉを計算することができる。
【００３５】
また、ＲＱＲ（θ，φ，ψ），Ｒｃａｍ（α，β，γ）を、それぞれｚ−ｘ−ｚのオイラー角（θ，φ，ψ），（α，β，γ）の回転行列であるとする。（θ，φ，ψ）は、前述のように、ワールド座標系における、ＱＲコード（登録商標）である制御図形２の姿勢を示すｚ−ｘ−ｚのオイラー角であり、（α，β，γ）は、ワールド座標系における、撮影手段１１の受光平面の姿勢を示すｚ−ｘ−ｚのオイラー角である。
【００３６】
ワールド座標系の原点に、オイラー角（θ，φ，ψ）＝（０，０，０）となるように制御図形２の中心位置を配置したときの制御図形２の３頂点のベクトルをそれぞれ０ｐ１，０ｐ２，及び０ｐ３とすると、次式のようになる。
０ｐ１＝（−Ｌ／２，＋Ｌ／２，０）Ｔ      （５）
０ｐ２＝（＋Ｌ／２，＋Ｌ／２，０）Ｔ      （６）
０ｐ３＝（−Ｌ／２，−Ｌ／２，０）Ｔ      （７）
【００３７】
また、ワールド座標系における制御図形２の各頂点のベクトルＷｐｉは、次のようにできる。
Ｗｐｉ＝ＲＱＲ０ｐｉ＋Ｗｐｃ      （８）
ここで、Ｗｐｃは、前述のように、ワールド座標系における制御図形２の中心位置を示す位置ベクトルである。Ｗｐｃ，ＲＱＲは、制御図形２のコードに含まれる位置姿勢情報から得られる情報であり、０ｐｉは、制御図形２のコードに含まれるサイズ情報と、上記（５）〜（７）式とを用いて容易に得られる情報である。
【００３８】
また、（８）式の両辺にＲｃａｍを掛けて整理すると、ｉ＝１，２，３について次式のようになる。
ＲｃａｍＲＱＲ０ｐｉ＝Ｒｃａｍ（Ｗｐｉ−Ｗｐｃ）
＝Ｌｐｉ−Ｌｐｃ      （９）
ここで、Ｌｐｃ＝（Ｌｐ２＋Ｌｐ３）／２であるため、それを用いて（９）式を解くことによって、オイラー角（α，β，γ）を取得することができる。また、ワールド座標系におけるローカル座標系の原点から制御図形２の中心位置までのベクトルをＷｐｄとすると、
Ｗｐｄ＝Ｒｃａｍ−１・Ｌｐｃ      （１０）
となる。したがって、ワールド座標系の原点からローカル座標系の原点までのベクトルＷｐｃａｍを、次式のように算出できる。
Ｗｐｃａｍ＝Ｗｐｃ−Ｗｐｄ
＝Ｗｐｃ−Ｒｃａｍ−１・Ｌｐｃ      （１１）
なお、上記説明は、ＷｐｃａｍやＲｃａｍを算出する一例であって、他の方法によってそれらを算出することもできる。例えば、ローカル座標系における制御図形２の各頂点の位置ベクトルＬｐｉを用いて、ローカル座標系における制御図形２の姿勢を示すオイラー角を算出することも可能であり、それを用いることによって、Ｒｃａｍ等を算出することも可能である。
【００３９】
このようにして、ワールド座標系とローカル座標系との座標変換を示す座標変換情報であるベクトルＷｐｃａｍ及び回転行列Ｒｃａｍを得ることができたため、それらを用いて、ワールド座標系の仮想図形を示す仮想図形情報を、ローカル座標系における仮想図形の情報に変換できるようになる。したがって、位置関係取得手段１４は、ローカル座標系における仮想図形の位置関係、すなわち、移動ロボット１と仮想図形との位置関係を取得することができる。
【００４０】
なお、２以上の制御図形２を用いた移動ロボット１の制御も可能である。その場合には、制御図形２ごとに、仮想図形を設定することができる。例えば、第１の制御図形２のコードに含まれる仮想図形情報で示される仮想図形について、移動ロボット１のローカル座標系における位置関係を取得し、第２の制御図形２のコードに含まれる仮想図形情報で示される仮想図形についても、移動ロボット１のローカル座標系における位置関係を取得することによって、移動ロボット１は、その２個の仮想図形に応じて制御されることになる。また、１個の制御図形２のコードに、２以上の仮想図形を示す仮想図形情報が含まれていてもよい。また、２以上の制御図形２によって、同じ仮想図形を設定するようにしてもよい。制御図形２が撮影されなければ、その制御図形２のコードに含まれる仮想図形情報に応じた制御を行うことができない。したがって、制御図形２が撮影される可能性を上げるために、２以上の制御図形２によって同じ仮想図形を設定することは好ましいことである。なお、その場合には、それらの制御図形２は、異なる位置に配置されることが好適である。
【００４１】
また、移動ロボット１の座標系として、視点を原点とし、受光平面がｘｙ平面に平行となる座標系を用いる場合について説明したが、そうでなくてもよい。別途、移動ロボット１の座標系が存在してもよい。その場合には、上述したｘｙｚ座標系と、移動ロボット１の座標系との座標変換を行うことによって、上述したｘｙｚ座標系における仮想図形の位置関係を、移動ロボット１の座標系における仮想図形の位置関係に変換することができる。また、移動ロボット１において、撮影方向や撮影位置が変化しうる場合（例えば、制御図形２を探すため、移動ロボット１において、撮影手段１１をパンニングしたり、チルトしたりする場合）には、移動ロボット１の基準位置、基準面に対する視点位置、受光平面の姿勢を考慮した上で、ｘｙｚ座標系と、移動ロボット１の座標系との変換を行ってもよい。
【００４２】
また、上記説明では、制御図形２の位置や姿勢が、２次元コードに含まれる位置姿勢情報によって示される場合について説明したが、そうでなくてもよい。その位置姿勢情報は、あらかじめ決められたものであってもよい。あらかじめ決められた位置姿勢情報としては、例えば、Ｗｐｃ＝（０，０，０）Ｔであり、ＲＱＲが３次元の単位行列である場合、すなわち、制御図形２の中心位置がワールド座標系の原点であり、制御図形２がＸＹ平面上にある場合としてもよい。なお、ＲＱＲが３次元の単位行列である場合には、通常、オイラー角は、（θ，φ，ψ）＝（０，０，０）となる。また、それ以外のあらかじめ決められた位置姿勢情報を用いてもよい。その場合には、例えば、そのあらかじめ決められた位置姿勢情報が制御図形２のコードに含まれていてもよく、または、移動ロボット１の図示しない記録媒体において、そのあらかじめ決められた位置姿勢情報が記憶されており、位置関係取得手段１４は、その位置姿勢情報を読み出して用いてもよい。ここで、上記説明のように、制御図形２の位置や姿勢が、２次元コードに含まれる位置姿勢情報によって示される場合のメリットについて簡単に説明する。その場合には、例えば、ワールド座標系の原点を、移動ロボット１の移動空間の基準点（例えば、ある部屋の基準点等）とすることができる。そして、あらかじめ移動ロボット１がワールド座標系における移動空間の地図情報を保持している場合には、移動ロボット１は、撮影された制御図形２を用いてＷｐｃａｍやＲｃａｍを算出することによって、地図上における位置を知ることができる。したがって、その場合には、移動ロボット１は、制御図形２を用いることによって、仮想図形の位置のみでなく、自らの位置をも知ることができるようになる。
【００４３】
次に、移動ロボット１の動作について図４のフローチャートを用いて説明する。このフローチャートでは、制御図形２のコードに仮想図形情報、サイズ情報、及び位置姿勢情報が含まれる場合について説明する。
（ステップＳ１０１）撮影手段１１は、撮影した画像に制御図形２が含まれているかどうか判断する。そして、制御図形２が含まれている場合には、ステップＳ１０２に進み、そうでない場合には、撮影した画像に制御図形２が含まれるまで、ステップＳ１０１の処理を繰り返す。なお、撮影手段１１は、前述のように、パターンマッチング等によって、制御図形２を撮影したかどうかを判断してもよい。
【００４４】
（ステップＳ１０２）撮影手段１１は、撮影した画像に含まれる制御図形２が、すでに仮想図形情報等を取得したものであるかどうか判断する。そして、その制御図形２が、すでに仮想図形情報等を取得したものである場合には、撮影した画像を蓄積せずにステップＳ１０１に戻り、そうでない場合には、撮影した画像を記憶手段１２に蓄積してステップＳ１０３に進む。なお、撮影手段１１は、過去に撮影した制御図形２の画像を図示しない記録媒体で記憶しておき、撮影画像に含まれる制御図形２が、その記録媒体で記憶されている制御図形２のいずれかと一致する場合には、すでに仮想図形情報等を取得した制御図形２であると判断してもよい。その場合には、撮影手段１１は、ステップＳ１０３に進む際に、新たに撮影した制御図形２の画像を、その図示しない記録媒体に蓄積するものとする。
【００４５】
（ステップＳ１０３）取得手段１３は、記憶手段１２で記憶されている撮影画像に含まれる制御図形２のコードから仮想図形情報等を取得する。その取得の際に、取得手段１３は、デコードや文字認識等の処理を行ってもよい。また、取得された仮想図形情報等は、図示しない記録媒体で記憶されてもよい。
【００４６】
（ステップＳ１０４）位置関係取得手段１４は、移動ロボット１の座標系と、制御図形２に対応する座標系との座標変換に関する座標変換情報を取得する。その取得された座標変換情報は、図示しない記録媒体で記憶されてもよい。具体的には、位置関係取得手段１４は、サイズ情報と、撮影画像における制御図形２の頂点の位置と、（１）〜（４）式とを用いて、Ｌｐ１，Ｌｐ２，Ｌｐ３を算出し、またその結果を用いてＬｐｃを算出する。また、位置関係取得手段１４は、位置姿勢情報に含まれる制御図形２の姿勢を示す情報から、ＲＱＲを算出し、そのＲＱＲと、（５）〜（７）、（９）式と、サイズ情報とを用いて、撮影手段１１の受光平面のオイラー角（α，β，γ）を算出することによって、回転行列Ｒｃａｍを取得する。また、位置関係取得手段１４は、（１１）式と、位置姿勢情報に含まれる制御図形２の中心位置Ｗｐｃと、算出した回転行列Ｒｃａｍとを用いて、Ｗｐｃａｍを算出する。このようにして、位置関係取得手段１４は、座標変換情報であるベクトルＷｐｃａｍ及び回転行列Ｒｃａｍを取得することができる。
【００４７】
（ステップＳ１０５）位置関係取得手段１４は、取得手段１３によって取得された仮想図形情報の示す仮想図形に対して座標変換情報に応じた座標変換を行うことにより、移動ロボット１の座標系における仮想図形の位置関係を示す情報を取得する。具体的には、位置関係取得手段１４は、ベクトルＷｐｃａｍ及び回転行列Ｒｃａｍを用いて仮想図形情報の示すワールド座標系における仮想図形の位置関係を、ローカル座標系における仮想図形の位置関係に変換する。
【００４８】
（ステップＳ１０６）位置関係取得手段１４は、移動制御手段１６に対して、移動ロボット１の座標系における仮想図形の位置関係を示す情報である制御情報を設定する。そして、ステップＳ１０１に戻る。
なお、図４のフローチャートには含まれないが、移動制御手段１６は、その設定された制御情報に応じて、移動手段１５による移動を制御するものとする。また、移動手段１５は、移動制御手段１６の制御に応じて移動ロボット１を移動させる。その結果、例えば、移動ロボット１は、境界を示す仮想図形を超えないように移動したり、ルートを示す仮想図形をたどるように移動したりすることになる。また、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００４９】
次に、実験例について説明する。この実験では、三脚の上部に２次元コードとしてＱＲコード（登録商標）を用い、ＱＲコード（登録商標）による制御図形２の印刷された紙のシート３を固定した。その２次元コードに次の情報が含まれているものとする。なお、この具体例では、制御図形２の延長面内に仮想図形が存在し、次のｔ，ｂ，ｌ，ｒは、それぞれ制御図形２の中心位置から仮想図形の上辺、下辺、左辺、右辺までの長さであるとしている。なお、長さの単位は、ｍｍである。
仮想図形情報：（ｔ，ｂ，ｌ，ｒ）＝（５００，１０００，２０００，８００）
位置姿勢情報：
制御図形２の中心位置（Ｘ，Ｙ，Ｚ）＝（１２０００，２５００，１２００）
制御図形２の姿勢（θ，φ，ψ）＝（９０°，０，０）
サイズ情報：Ｌ＝１８０
【００５０】
また、撮影手段１１の撮影機構としては、６Ｍピクセル、１／２．５型のＣＣＤを有するデジタルカメラ（ＳＯＮＹ  ＤＳＣ−Ｔ９）を用いた。なお、そのデジタルカメラの焦点距離は６．３３ｍｍに設定した。また、撮影手段１１を、２次元コードから約３ｍの位置に配置した。そして、デジタルカメラで撮影した撮影画像を用いて、仮想図形情報、位置姿勢情報、サイズ情報を取得し（ステップＳ１０１〜Ｓ１０３）、上述のように座標変換情報を取得することによって、移動ロボット１のローカル座標系における仮想図形の位置を算出した（ステップＳ１０４，Ｓ１０５）。その結果、その仮想図形は、２次元コードの中心位置から上述のｔ，ｂ，ｌ，ｒに応じた距離の４辺を有する仮想面となっていた。したがって、その仮想面を用いて移動ロボット１を制御することにより、例えば、移動ロボット１の移動範囲を制限することなどができる。
【００５１】
なお、この具体例では、シート３が紙である場合について説明したが、シート３は、２次元図形である制御図形２を表示することができるものであれば、どのようなものであってもよい。シート３は、例えば、フィルム、箔、膜、織物、プレート、板状のものなどであってもよく、制御図形２を表示可能なその他のものであってもよい。
【００５２】
また、制御図形２の表示されたシート３をユーザが作成する場合について説明したが、そうでなくてもよい。例えば、複数のシート３があらかじめ用意されており、ユーザは、その中から目的にあったシート３を選択し、移動ロボット１の移動空間に配置してもよい。具体的には、次のようなシート３のセットが用意されていてもよい。
仮想図形（仮想壁）に関する情報                シートの枚数
後方進入禁止                                    ５枚
前方１ｍ以後進入禁止                            ２枚
半径２ｍ以内進入禁止                            ２枚
後方３０ｃｍ以後、左右方向各１ｍの範囲進入禁止  ２枚
後方３０ｃｍ以後、左方向１ｍの範囲侵入禁止      ２枚
後方３０ｃｍ以後、左方向２ｍの範囲侵入禁止      ２枚
後方３０ｃｍ以後、右方向１ｍの範囲侵入禁止      ２枚
後方３０ｃｍ以後、右方向２ｍの範囲侵入禁止      ２枚
シートに向かって右方向１ｍの範囲進入禁止        ２枚
シートに向かって左方向１ｍの範囲進入禁止        ２枚
：                                              ：
：                                              ：
それらのシート３は、制御図形２に対して、前、後、上、下、右、左、斜め右上、斜め右下、斜め左上、斜め左下等の所定の範囲（例えば、Ａ１メートル〜Ａ２メートル等）にある仮想図形を用いて、移動ロボット１の進入禁止や、近接促進等の移動制御を行うものである。
【００５３】
なお、「後方進入禁止」等の仮想図形の位置関係を示す文字列や図などの情報が、制御図形２の表示されたシート３と対応付けられて表示されていてもよい。例えば、その仮想図形の位置関係を示す情報は、シート３の裏面に記載されていてもよく、シール状のシート３の枠外等に記載されていてもよい。また、例えば、「後方進入禁止」のシート３に表示されている制御図形２は、その制御図形２の延長面である仮想壁を示す仮想図形情報を含むコードを表示するものであってもよい。また、例えば、「前方１ｍ以後進入禁止」のシート３に表示されている制御図形２は、その制御図形２の前方１ｍの位置に、制御図形２と平行な方向に延びる仮想壁を示す仮想図形情報を含むコードを表示するものであってもよい。また、例えば、「後方３０ｃｍ以後、右方向０．２〜１ｍの範囲侵入禁止」のシート３に表示されている制御図形２は、その制御図形２の右側２０ｃｍから１ｍまでの範囲であり、制御図形２の面から３０ｃｍだけ後方（制御図形２の裏面側）の位置の仮想壁を示す仮想図形情報を含むコードを表示するものであってもよい。そのシート３を壁に貼付することによって、例えば、その仮想壁の裏側に扉が存在するような場合に、その扉まで移動ロボット１が移動しないように制御することができる。また、ユーザは、例えば、「半径２ｍ以内進入禁止」に対応するシート３を壁等に貼付することによって、移動ロボット１がその制御図形２の中心位置から半径２メートル以内に近づかないように制御することができる。
更に、上記シートは裏側に粘着剤層が形成され、多数の上記制御図形が並んで納められて制御図形部分が個々に型抜きされており、ユーザーが適宜必要な制御図形を剥がして用いるようになっていてもよい。尚特定の制御図形が無くなった時に備え、制御図形の印刷原稿を原紙として加えておけば、足らなくなった制御図形をユーザーが適宜印刷して用いることができる。
【００５４】
以上のように、本実施の形態による移動ロボット１によれば、移動ロボット１の移動を制御するための制御図形２のコードが仮想図形情報を含み、その仮想図形情報を用いて移動ロボット１が制御されることによって、移動ロボット１の制御の自由度が高まることになる。例えば、従来例では、バーコード等を配置した位置が仮想壁等を決定することになっていたが、本実施の形態の場合には、その仮想壁等を制御図形２に対して任意の位置に設定することができることになる。また、上述のｔ，ｂ，ｌ，ｒ等の仮想図形情報を用いることにより、その仮想壁等の範囲を決定することもでき、より細かい移動制御を実現できるようになる。また、コードにサイズ情報も含まれている場合には、異なったサイズの制御図形２を用いたとしても、移動ロボット１の制御を適切に行うことができるようになる。また、制御図形２のコードにサイズ情報や、位置姿勢情報も含まれている場合には、制御図形２のコードに含まれる情報のみで自己完結することになり、移動ロボット１に対してサイズ情報等を与える必要がなくなる。
【００５５】
また、上記説明では、制御図形２に対応する座標系をワールド座標系とし、移動ロボット１に対応する座標系をローカル座標系としたが、それらの名称は、単に両座標系を区別するために用いただけであり、ワールド座標系とローカル座標系とは逆であってもよい。
【００５６】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００５７】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、あるいは、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００５８】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、生成したりした情報や、各構成要素が処理で用いるしきい値や数式、設定値等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
【００５９】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値や各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００６０】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。なお、上記実施の形態における移動ロボット１の少なくとも一部の機能を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、自律的に移動する移動ロボットにおける処理をコンピュータに実行させるためのプログラムであって、シートに表示された２次元図形であって、仮想的な図形である仮想図形の２次元図形に対する相対的な位置関係を示す仮想図形情報を含むコードを表示する２次元図形である制御図形を撮影する撮影手段が撮影した撮影画像に含まれる制御図形から、仮想図形情報を取得する取得ステップと、撮影画像に含まれる制御図形と、制御図形のサイズを示すサイズ情報と、取得ステップで取得した仮想図形情報とを用いて、移動ロボットと仮想図形との位置関係を取得する位置関係取得ステップと、位置関係取得ステップで取得した位置関係に応じて、移動ロボットを移動させる移動手段による移動を制御する移動制御ステップと、をコンピュータに実行させるためのプログラムである。
【００６１】
なお、上記プログラムにおいて、情報を取得する取得ステップなどでは、ハードウェアでしか行われない処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理は少なくとも含まれない。
【００６２】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【００６３】
図５は、上記プログラムを実行して、上記実施の形態による移動ロボット１の少なくとも一部の機能を実現するコンピュータシステム９００の内部構成を示す図である。図５において、コンピュータシステム９００は、ＣＤ−ＲＯＭドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。また、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮやＷＡＮ等への接続を提供する図示しないネットワークカードを含んでいてもよい。
【００６４】
コンピュータシステム９００に、上記実施の形態による移動ロボット１の少なくとも一部の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。また、ＣＤ−ＲＯＭ９２１に代えて他の記録媒体（例えば、ＤＶＤ等）を介して、プログラムがコンピュータシステム９００に読み込まれてもよい。
【００６５】
プログラムは、コンピュータ９０１に、上記実施の形態による移動ロボット１の少なくとも一部の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【００６６】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００６７】
以上より、本発明による移動ロボット等によれば、制御図形のコードに含まれる仮想図形情報によって、移動ロボットの移動を制御できるという効果が得られ、自律的に移動する移動ロボット等として有用である。
【符号の説明】
【００６８】
１  移動ロボット
２  制御図形
３  シート
１１  撮影手段
１２  記憶手段
１３  取得手段
１４  位置関係取得手段
１５  移動手段
１６  移動制御手段
【図１】
2015055969.tif 000003
【図２】
2015055969.tif 000004
【図３】
2015055969.tif 000005
【図４】
2015055969.tif 000006
【図５】
2015055969.tif 000007