(57)【要約】【課題】撮影したマーカを用いて位置決めを行う移動体において、逆光状態などで不適切な露出の撮影を行うと、撮影画像においてマーカを検出できなくなるという問題があった。【解決手段】自律的に移動する移動体１は、マーカの撮影画像を取得する撮影部１２と、撮影画像において認識したマーカを用いて、移動体１の位置を取得する位置取得部１４と、移動体１を移動させる移動機構１１と、取得された位置を用いて、移動機構１１を制御する移動制御部１６と、露出の異なる撮影画像を取得するように撮影部１２を制御する撮影制御部１３とを備え、位置取得部１４は、エラーとならない撮影画像を用いて位置を取得する。このようにして、適正露出で撮影したマーカの撮影画像を取得できるようになり、撮影されたマーカを用いて、適切な位置決めを行うことができるようになる。【選択図】図１
2019109776.tif 000002
【特許請求の範囲】
【請求項１】
自律的に移動する移動体であって、
マーカの撮影画像を取得する撮影部と、
前記撮影画像において認識したマーカを用いて、前記移動体の位置を取得する位置取得部と、
前記移動体を移動させる移動機構と、
前記位置取得部によって取得された位置を用いて、前記移動機構を制御する移動制御部と、
露出の異なる撮影画像を取得するように前記撮影部を制御する撮影制御部と、を備え、
前記位置取得部は、エラーとならない撮影画像を用いて前記移動体の位置を取得する、移動体。
【請求項２】
前記撮影制御部は、ある撮影画像がエラーとなった場合に、当該撮影画像とは露出の異なる撮影画像を前記撮影部に取得させる、請求項１記載の移動体。
【請求項３】
前記撮影制御部は、あらかじめ決められたように、新たに取得される撮影画像の露出を変更する、請求項２記載の移動体。
【請求項４】
前記撮影制御部は、取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更する、請求項２記載の移動体。
【請求項５】
前記撮影制御部は、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更する、請求項４記載の移動体。
【請求項６】
前記撮影制御部は、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更する、請求項４記載の移動体。
【請求項７】
前記撮影制御部は、露出の異なる複数の撮影画像を取得するように前記撮影部を制御し、
前記位置取得部は、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて前記移動体の位置を取得する、請求項１記載の移動体。
【請求項８】
前記撮影制御部は、前記マーカと前記移動体との位置関係があらかじめ決められたものである場合に、前記撮影部に撮影画像を取得させ、
前記位置取得部は、前記撮影画像において認識したマーカが、あらかじめ決められたものと閾値を超えてずれている場合にエラーとする、請求項１から請求項７のいずれか記載の移動体。
【請求項９】
前記移動体の現在位置を、前記マーカを用いないで取得する現在位置取得部をさらに備え、
前記位置取得部は、前記撮影画像において認識したマーカを用いて取得した位置と、前記現在位置取得部によって取得された位置とが閾値を超えて異なる場合にエラーとする、請求項１から請求項７のいずれか記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律的に移動する移動体に関する。
【背景技術】
【０００２】
従来の移動体において、移動環境に配置されたマーカを撮影し、その撮影したマーカを用いることによって、マーカに対する位置決めを行うことがあった。そのような移動体において、マーカの撮影時に逆光になることがあり得る。例えば、移動環境に配置されているマーカの背後にシャッターや窓が存在する状況において、通常は、シャッターやブラインド等が閉じられていることによってマーカの撮影時に逆光にならないが、商品搬出やその他の理由などによってシャッターやブラインド等が開けられた際に、逆光になることがある。そのような場合には、撮影画像において白飛びなどのため、マーカを適切に認識することができず、マーカを用いた位置決めを行うことができなくなるという問題があった。
【０００３】
なお、関連した技術として、逆光状態で撮像する場合にも、光量検出手段によって検出された光量の情報を用いて、適切な露出調整を行う作物列検出装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２６５５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載された技術では、露出補正を行うために光量検出手段を別途、備える必要があり、それに応じて装置が複雑化すると共に、コストが増大するという問題があった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、簡易な構成によって、位置決めに用いられるマーカを適切に撮影することができる移動体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、マーカの撮影画像を取得する撮影部と、撮影画像において認識したマーカを用いて、移動体の位置を取得する位置取得部と、移動体を移動させる移動機構と、位置取得部によって取得された位置を用いて、移動機構を制御する移動制御部と、露出の異なる撮影画像を取得するように撮影部を制御する撮影制御部と、を備え、位置取得部は、エラーとならない撮影画像を用いて移動体の位置を取得する、ものである。
このような構成により、露出の異なる撮影画像を取得する制御によって、適正な露出で撮影されたマーカの撮影画像を取得することができ、その撮影画像を用いることによって、適切な位置決めを行うことができるようになる。また、露出補正のための光量検出手段を設ける必要がないため、簡易な構成により、コストを増大させることなく、そのような撮影画像の取得を実現できることになる。
【０００８】
また、本発明による移動体では、撮影制御部は、ある撮影画像がエラーとなった場合に、撮影画像とは露出の異なる撮影画像を撮影部に取得させてもよい。
このような構成により、撮影ごとにエラーかどうかを判断するため、必ずしも多くの撮影画像を一括して記憶する必要がないことになる。したがって、例えば、撮影画像を記憶する記録媒体の容量を小さくすることもできる。また、少ない撮影回数によって適正露出になった場合には、マーカを用いた位置の取得をより短時間で実現することができるようになる。
【０００９】
また、本発明による移動体では、撮影制御部は、あらかじめ決められたように、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、例えば、撮影が繰り返されるごとに、露出がアンダー側からオーバー側に、またはオーバー側からアンダー側に徐々に変化するようにして撮影画像を取得することができ、いずれかの段階で、マーカに関する適正露出の撮影画像を取得することができるようになる。
【００１０】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、あらかじめ決められたように、新たな撮影画像の露出を変更する場合と比較して、少ない撮影回数で適正露出の撮影画像を取得することができるようになる。
【００１１】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、マーカを用いた移動体の位置決めごとに、撮影画像におけるマーカの位置が大きく変化する場合であっても、新たに取得される撮影画像の適正露出を決めることができるようになる。
【００１２】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、マーカを用いた移動体の位置決めごとに、撮影画像におけるマーカの位置があまり変化しない場合には、新たに取得される撮影画像の適正露出をより精度高く決めることができるようになる。
【００１３】
また、本発明による移動体では、撮影制御部は、露出の異なる複数の撮影画像を取得するように撮影部を制御し、位置取得部は、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて移動体の位置を取得してもよい。
このような構成により、適正露出の撮影画像を得るために、撮影画像の取得、エラーかどうかの判断、エラーであった場合の再撮影を繰り返す必要がなくなる。
【００１４】
また、本発明による移動体では、撮影制御部は、マーカと移動体との位置関係があらかじめ決められたものである場合に、撮影部に撮影画像を取得させ、位置取得部は、撮影画像において認識したマーカが、あらかじめ決められたものと閾値を超えてずれている場合にエラーとしてもよい。
このような構成により、簡単な画像処理によって、エラー判断を行うことができるようになる。
【００１５】
また、本発明による移動体では、移動体の現在位置を、マーカを用いないで取得する現在位置取得部をさらに備え、位置取得部は、撮影画像において認識したマーカを用いて取得した位置と、現在位置取得部によって取得された位置とが閾値を超えて異なる場合にエラーとしてもよい。
このような構成により、マーカの撮影時における移動体とマーカとの位置関係が一定しないような状況であっても、エラーかどうかを判断することができるようになる。
【発明の効果】
【００１６】
本発明による移動体によれば、簡易な構成によって、位置決めに用いられるマーカを適切に撮影することができるようになる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態による移動体の構成を示すブロック図
【図２】同実施の形態による移動体の動作の一例を示すフローチャート
【図３】同実施の形態による移動体の動作の他の一例を示すフローチャート
【図４Ａ】同実施の形態における配置されたマーカと移動体とを示す模式図
【図４Ｂ】同実施の形態における配置されたマーカと移動体とを示す模式図
【図５】同実施の形態におけるマーカの認識について説明するための図
【図６】同実施の形態における撮影画像の一例を示す図
【発明を実施するための形態】
【００１８】
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、マーカを撮影することによって位置を取得する移動体であって、露出の異なる撮影画像を取得し、エラーにならない撮影画像を用いて位置を取得するものである。
【００１９】
図１は、本実施の形態による移動体１の構成を示すブロック図である。本実施の形態による移動体１は、自律的に移動するものであり、移動機構１１と、撮影部１２と、撮影制御部１３と、位置取得部１４と、現在位置取得部１５と、移動制御部１６とを備える。なお、移動体１が自律的に移動するとは、移動体１がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体１が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体１が、障害物に衝突しないように移動することであってもよい。移動体１は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
【００２０】
移動機構１１は、移動体１を移動させる。移動機構１１は、例えば、移動体１を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構１１は、例えば、走行部（例えば、車輪など）と、その走行部を駆動する駆動手段（例えば、モータやエンジンなど）とを有していてもよい。なお、移動機構１１が、移動体１を全方向に移動できるものである場合には、その走行部は、全方向移動車輪（例えば、オムニホイール、メカナムホイールなど）であってもよい。全方向移動車輪を有し、全方向に移動可能な移動体については、例えば、特開２０１７−１２８１８７号公報を参照されたい。この移動機構１１としては、公知のものを用いることができるため、その詳細な説明を省略する。
【００２１】
撮影部１２は、移動環境に存在するマーカを撮影して撮影画像を取得する。撮影部１２は、例えば、ＣＣＤやＣＭＯＳなどのイメージセンサによって実現することができる。また、撮影部１２は、撮影対象からの光をイメージセンサの受光面に結像させるための光学系を含んでいてもよい。また、撮影画像のデータ形式等は問わない。撮影部１２は、移動体１に固定されているため、移動体１の移動に応じて撮影対象が異なることになる。したがって、撮影部１２は、連続的に撮影を行い、撮影範囲にマーカが含まれる場合に、そのマーカを含む撮影画像が位置取得部１４等によって用いられてもよく、または、撮影制御部１３からの撮影指示を受け付けた場合に、マーカを含む撮影画像を取得してもよい。なお、撮影範囲にマーカが含まれるかどうかは、例えば、マーカのパターンマッチングによって行ってもよく、その他の方法によって行ってもよい。図４Ａは、移動体１の撮影部１２によってマーカ５が撮影されている状況を示す模式図である。図４Ａで示されるように、撮影部１２の撮影範囲にマーカ５が存在することにより、撮影部１２は、マーカ５の撮影画像を取得することができる。また、撮影部１２は、撮影制御部１３による制御に応じて、露出の異なる撮影画像を取得する。なお、その制御については後述する。ここで、撮影画像の露出を変更する方法としては、例えば、露光時間（シャッター速度）を変更する方法と、絞り値（Ｆ値）を変更する方法と、その両方を変更する方法がある。本実施の形態では、露光時間を変更することによって露出を変更する場合について主に説明する。
【００２２】
マーカは、視覚的に認識可能な２次元の図形であり、移動体１の位置決めのために移動環境に配置されている。例えば、移動体１が給電位置や、搬送対象の積み降ろし位置に正確に移動できるようにするため、マーカが配置されていてもよい。マーカの形状（図形の形状）は問わないが、例えば、正方形状や、長方形状、その他の多角形状、円形状、楕円形状、また、それらの組み合わせであってもよい。なお、その形状は、特定可能な３以上の特徴点を有していることが好適である。また、その特徴点の少なくとも３点については、特徴点間のサイズが既知であることが好適である。そのサイズは、マーカと、撮影部１２との相対的な位置関係を取得するのに必要であるため、移動体１の図示しない記録媒体において保持されており、位置取得部１４等がアクセス可能になっていることが好適である。マーカは、例えば、紙やフィルム等に印刷され、移動環境に配置される。移動体１の移動環境に配置されるマーカのワールド座標系における位置（例えば、ワールド座標系とマーカの座標系との相対的な関係（平行移動、回転に関する情報）であってもよい。）は分かっていてもよく、または、そうでなくてもよい。前者の場合には、マーカの撮影画像を用いることによって、移動体１のワールド座標系における位置を取得することができるようになり、後者の場合には、マーカの撮影画像を用いることによって、移動体１のマーカに対する相対的な位置を取得することができるようになる。したがって、マーカのワールド座標系における位置が分からない場合には、移動環境に配置されているマーカに対する相対的な位置によって、位置決めを行うことになるため、移動体１の目的とする位置決め場所に対して、あらかじめ決められた相対的な位置となるように、そのマーカが配置されることが好適である。
【００２３】
撮影制御部１３は、露出の異なる撮影画像を取得するように撮影部１２を制御する。撮影制御部１３は、例えば、撮影部１２に連続して撮影画像を取得させてもよく、マーカと移動体１との位置関係があらかじめ決められたものである場合に、撮影部１２に撮影画像を取得させてもよい。前者の場合には、上記のように、マーカの含まれない撮影画像も取得されるため、パターンマッチング等によって、撮影画像にマーカが含まれるかどうかの判断が行われてもよい。また、撮影タイミングが、マーカと移動体１との位置関係があらかじめ決められたものである場合には、例えば、現在位置取得部１５によって取得される現在位置などを用いて、マーカに対する移動体１の位置（この位置は、角度を含んでいてもよい。）が所定のものとなったと判断された時に、撮影が行われてもよい。具体的には、移動体１の撮影部１２によってマーカを真正面から撮影できる位置となった場合に、撮影制御部１３は、撮影を行うように撮影部１２を制御してもよい。
【００２４】
撮影制御部１３が、露出の異なる撮影画像を取得するように撮影部１２を制御する方法として、以下、（１）エラーとなった場合に、異なる露出で撮影するように制御する方法、（２）あらかじめ異なる露出で複数回の撮影をするように制御する方法について説明する。
【００２５】
（１）エラーとなった場合に、異なる露出で撮影するように制御する方法
撮影制御部１３は、ある撮影画像がエラーとなった場合に、その撮影画像とは露出の異なる撮影画像を撮影部１２に取得させてもよい。撮影画像がエラーとなるとは、その撮影画像を用いて適切な位置の取得を行えないことである。撮影画像がエラーとなる原因としては、例えば、撮影画像においてマーカを認識できないことや、撮影画像でマーカを誤認識することなどがある。この（１）の場合には、撮影制御部１３は、エラーとならなくなるまで、撮影部１２に撮影画像の取得を繰り返させてもよい。なお、あらかじめ決められた上限数の撮影を行っても、エラーでない撮影画像を取得できない場合には、撮影制御部１３は、異常が発生していると判断して、この制御を停止してもよい。
【００２６】
その露出の変更において、撮影制御部１３は、（Ａ）あらかじめ決められたように、新たに取得される撮影画像の露出を変更してもよく、（Ｂ）取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更してもよい。以下、（Ａ），（Ｂ）のそれぞれについて説明する。
【００２７】
（Ａ）あらかじめ決められたように、新たな撮影画像の露出を変更する方法
この場合には、撮影制御部１３は、例えば、撮影が繰り返されるごとに露出がオーバー側になるように（撮影画像が明るくなるように）、露出を変更してもよく、撮影が繰り返されるごとに露出がアンダー側になるように（撮影画像が暗くなるように）、露出を変更してもよく、その他のルールで露出を変更してもよい。
【００２８】
具体的には、撮影制御部１３は、１枚目の撮影画像を１／２０００秒で撮影させ、エラーとなった場合には、次の撮影画像を１／１０００秒で撮影させ、再度、エラーとなった場合には、次の撮影画像を１／５００秒で撮影させる、というように、エラーでない撮影画像が取得されるまで、１／２５０秒、１／１２５秒、１／６０秒、１／３０秒、１／１５秒、１／８秒、１／４秒のように、撮影ごとに露出の変更を繰り返してもよい。この場合には、露出をオーバー側に変更することになる。また逆に、撮影制御部１３は、１枚目の撮影画像を１／４秒で撮影させ、エラーとなった場合には、次の撮影画像を１／８秒で撮影させる、というように、エラーでない撮影画像が取得されるまで、順次、露出をアンダー側に変更してもよい。
【００２９】
（Ｂ）取得済みの撮影画像の輝度を用いて、新たな撮影画像の露出を変更する方法
この場合には、撮影制御部１３は、例えば、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよく、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。具体的な変更方法としては、取得済みの撮影画像の全体または所定の箇所の輝度値を、所定の閾値と比較し、取得済みの撮影画像の輝度値が閾値よりも大きい場合には、新たな撮影画像の露出をアンダー側になるように変更し、取得済みの撮影画像の輝度値が閾値よりも小さい場合には、新たな撮影画像の露出をオーバー側になるように変更してもよい。取得済みの撮影画像とは、取得された撮影画像のうち、最新の撮影画像（すなわち、最後に取得された撮影画像）であってもよい。また、マーカの撮影が、マーカと移動体１との位置関係があらかじめ決められたものである場合に行われるのであれば、通常、撮影画像におけるマーカの位置は概ね一定となる。図６は、そのような撮影画像の一例を示す図である。図６で示される撮影画像２１において、表示板７に表示されているマーカ５が含まれている。例えば、撮影ごとに撮影画像２１におけるマーカ５の位置が変動したとしても、概ね領域２２の範囲内に入っていたとすると、撮影制御部１３は、撮影画像２１における領域２２の輝度値を用いて、新たに取得する撮影画像の露出を決定してもよい。そのようにすることで、露出をより適切に決定できるようになる。また、取得済みの撮影画像の全体または所定の箇所の輝度値と、所定の閾値とを比較する場合に、撮影画像の全体や所定の箇所の輝度値の代表値と、所定の閾値とを比較してもよい。なお、代表値は、例えば、平均値であってもよく、中間値であってもよい。また、撮影画像の所定の箇所の輝度値と、所定の閾値とを比較する際には、代表値は、最大値や最小値であってもよい。撮影制御部１３は、露出をアンダー側に変更する場合には、例えば、シャッター速度を１段階、速い方に変更し、露出をオーバー側に変更する場合には、例えば、シャッター速度を１段階、遅い方に変更してもよい。具体的には、取得済みの撮影画像のシャッター速度が１／１０００秒であり、露出をアンダー側に変更する場合には、新たな撮影画像のシャッター速度は、１／２０００秒に設定されてもよい。
【００３０】
（２）あらかじめ異なる露出で複数回の撮影をするように制御する方法
撮影制御部１３は、露出の異なる複数の撮影画像を取得するように撮影部１２を制御してもよい。この場合には、あらかじめ複数の露出で撮影画像が取得され、そのうち、エラーにならない撮影画像を用いて位置の取得が行われることになる。例えば、撮影制御部１３は、１／２０００秒、１／１０００秒、１／５００秒、１／２５０秒、１／１２５秒、１／６０秒、１／３０秒、１／１５秒、１／８秒、１／４秒のそれぞれのシャッター速度で撮影画像を取得するように撮影部１２を制御してもよい。この場合には、１０枚の撮影画像が一括して取得され、その１０枚の撮影画像のうち、エラーとならないものが位置の取得に用いられるようになる。
【００３１】
位置取得部１４は、撮影画像において認識したマーカを用いて、移動体１の位置を取得する。その位置は、マーカに対する相対的な位置であってもよく、ワールド座標系における位置であってもよい。ここで、位置取得部１４がマーカの撮影画像を用いて直接的に得ることができるのは、移動体１のマーカに対する相対的な位置（例えば、マーカ座標系での移動体１の位置など）である。一方、マーカのワールド座標系における位置が既知である場合には、位置取得部１４は、その相対的な位置と、ワールド座標系におけるマーカの位置とを用いて、移動体１のワールド座標系における位置をも取得できることになる。位置取得部１４が取得する位置は、角度（姿勢）を含まないものであってもよく、または角度を含んでいてもよい。その角度とは、マーカの面に対する相対的な角度であってもよく、ワールド座標系における角度であってもよい。本実施の形態では、位置取得部１４によって取得される位置に、角度も含まれる場合について主に説明する。具体的な位置の取得方法については、後述する。
【００３２】
位置取得部１４は、エラーとならない撮影画像を用いて移動体１の位置を取得する。上記（１）のように撮影が行われた場合には、エラーとならなくなるまで撮影画像の取得が繰り返されるため、位置取得部１４は、そのようにして最後に取得されたエラーでない撮影画像を用いて移動体１の位置を取得する。すなわち、位置取得部１４は、エラーとならなかった１個目の撮影画像を用いて位置の取得を行ってもよい。また、上記（２）のように撮影が行われた場合には、位置取得部１４は、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて移動体１の位置を取得する。
【００３３】
なお、撮影画像がエラーであるかどうかの判断は、位置取得部１４によって行われる。例えば、マーカと移動体１との位置関係があらかじめ決められたものである時に、撮影部１２が撮影画像を取得する場合には、位置取得部１４は、撮影画像において認識したマーカが、規定のマーカと閾値を超えてずれているときにエラーとしてもよい。マーカと移動体１との位置関係があらかじめ決められたものである時に、撮影部１２が撮影画像を取得する場合には、通常、撮影画像において、マーカは、毎回所定の位置に存在することになる。その所定の位置に存在するマーカが、規定のマーカとして登録されているものとする。したがって、その所定の位置のマーカ（規定のマーカ）と、閾値を超えてずれている場合には、マーカの認識が不適切となるような露出で撮影が行われていることになるため、位置取得部１４は、エラーと判断することになる。そのエラー判断について、図５を用いて具体的に説明する。図５（ａ）は、マーカと移動体１との位置関係があらかじめ決められたものである時に撮影された撮影画像に含まれるマーカ５（このマーカを、「理想的な位置のマーカ」と呼ぶことがある。）を示す図であり、図５（ｂ）は、撮影画像において適切に認識されたマーカ６を示す図であり、図５（ｃ）は、理想的な位置のマーカ５と、誤って認識されたマーカ６とを示す図である。適正露出で撮影画像が取得された場合には、図５（ｂ）で示されるマーカ６のように正しく認識されることになる。一方、例えば、露出がオーバーになっており、マーカ５の右側が白飛びしているような場合には、図５（ｃ）で示されるマーカ６のように誤って認識されることになる。そのような場合に、位置取得部１４は、マーカ５，６の各頂点のずれに応じて、エラーかどうかを判断してもよい。具体的には、図５（ａ）で示されるように、理想的な位置のマーカ５の４つの頂点Ｔ１〜Ｔ４に関する撮影画像上の位置を、あらかじめ登録しておく。次に、例えば、図５（ｂ）または図５（ｃ）のように認識されたマーカ６の４つの頂点Ｔ１'〜Ｔ４'に関する撮影画像上の位置をそれぞれ取得する。そして、Ｔ１とＴ１'との距離、Ｔ２とＴ２'との距離、Ｔ３とＴ３'との距離、Ｔ４とＴ４'との距離をそれぞれ算出し、その距離の代表値と閾値とを比較し、代表値が閾値を超えている場合に、エラーであると判断してもよい。その代表値は、例えば、平均値や最大値などであってもよい。なお、ここでは、マーカの特徴点である頂点の距離を用いて、エラーかどうかの判断を行う場合について説明したが、それ以外の特徴点の距離を用いて、エラーかどうかの判断を行ってもよい。頂点以外の特徴点としては、例えば、マーカの中心点や重心などがある。位置取得部１４は、認識したマーカの中心点や重心などの特徴点と、あらかじめ登録されているマーカの特徴点との距離が、閾値を超えている場合に、エラーであると判断してもよい。また、ここでは、マーカの特徴点の距離によって、撮影画像において認識されたマーカが、規定のマーカから閾値を超えてずれているかどうかを判断する場合について説明したが、それ以外の方法によってその判断を行ってもよいことは言うまでもない。例えば、撮影画像において認識されたマーカの角度と、規定のマーカの角度とを比較することによってその判断を行ってもよい。
【００３４】
また、例えば、マーカと移動体１との位置関係があらかじめ決められたものである時に、撮影部１２が撮影画像を取得する場合には、位置取得部１４は、撮影画像において認識したマーカを用いて取得した移動体１とマーカとの相対的な位置関係が、あらかじめ登録されている位置関係と閾値を超えてずれているときにエラーとしてもよい。マーカと移動体１との位置関係があらかじめ決められたものである時に撮影を行うと、通常、移動体１とマーカとの相対的な位置関係は、毎回同じになる。したがって、その位置関係を登録しておき、それと閾値を超えてずれている位置関係が取得された場合には、例えば、図５（ｃ）のように、誤認識されたマーカを用いて位置関係が取得されたことになるため、その撮影画像をエラーとしてもよい。
【００３５】
また、位置取得部１４は、撮影画像において認識したマーカを用いて取得した位置と、現在位置取得部１５によって取得された位置とが閾値を超えて異なる場合にエラーとしてもよい。この場合には、マーカのワールド座標系における位置が既知であることが好適である。通常、現在位置取得部１５によって取得される現在位置は、ワールド座標系における位置であるため、マーカを用いて取得した位置も、ワールド座標系における位置とする必要があるからである。例えば、図５（ｃ）で示されるように、誤ったマーカ６が認識された場合には、そのマーカ６に応じて、不正確な位置の取得が行われることになる。したがって、その不正確な位置と、現在位置取得部１５によって取得された現在位置との差は大きな値となるため、このような方法によってもエラーの判断を行うことができることになる。
【００３６】
なお、撮影画像におけるマーカの位置を用いたエラーの判断や、現在位置を用いたエラーの判断で使用される閾値としては、例えば、実際に移動体１を用いたマーカの適正露出での撮影を行うことによって、撮影画像において認識されたマーカと理想的な位置のマーカとの誤差や、マーカを用いて取得された位置と現在位置との誤差を算出し、それらの誤差についてはエラーと判断されないように設定されてもよい。
【００３７】
また、位置取得部１４は、撮影画像において、マーカを認識できない場合、例えば、パターンマッチング等を行ったとしても、マーカを認識できない場合には、エラーであると判断してもよい。例えば、撮影画像において、マーカの全体が白飛びや、黒つぶれになっている場合には、マーカを認識することもできなくなる。そのような場合には、エラーであると判断されてもよい。
【００３８】
現在位置取得部１５は、移動体１の現在位置を取得する。ただし、現在位置取得部１５は、マーカを用いないで、すなわちマーカの撮影以外の方法によって、現在位置を取得するものとする。マーカを用いた位置の取得は、位置取得部１４によって行われるからである。現在位置取得部１５による現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の物体までの距離の測定結果を用いて行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、ＧＰＳ（Global Positioning System）を用いる方法や、屋内ＧＰＳを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、例えば、周囲の物体までの距離の測定結果を用いたり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、ＳＬＡＭ（Simultaneous Localization and Mapping）などによって知られている方法を用いてもよい。また、あらかじめ作成された地図（例えば、周囲の物体までの距離の測定結果や撮影画像を有する地図など）が記憶されている場合には、現在位置取得部１５は、周囲の物体までの距離を測定し、地図を用いて、その測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いて、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、現在位置取得部１５は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、現在位置取得部１５は、移動体１の向き（方向）を含む現在位置を取得することが好適である。その方向は、例えば、北を０度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。
【００３９】
なお、位置取得部１４は、撮影部１２によってマーカが撮影された際にのみ、位置を取得できるものである。したがって、移動体１がマーカの存在しない箇所を移動している場合には、位置取得部１４による位置の取得を行うことはできないため、移動体１は、マーカの撮影以外の方法によって移動体１の現在位置を取得する現在位置取得部１５を備えていることが好適である。
【００４０】
移動制御部１６は、移動機構１１を制御することによって、移動体１の移動を制御する。移動の制御は、移動体１の移動の向きや、移動の開始・停止などの制御であってもよい。例えば、移動経路が設定されている場合には、移動制御部１６は、移動体１がその移動経路に沿って移動するように、移動機構１１を制御してもよい。より具体的には、移動制御部１６は、現在位置取得部１５によって取得される現在位置が、その移動経路に沿ったものになるように、移動機構１１を制御してもよい。また、移動制御部１６は、地図を用いて、移動の制御を行ってもよい。その場合には、移動体１は、地図が記憶される記憶部を備えていてもよい。
【００４１】
また、移動制御部１６は、マーカを用いて取得された位置、すなわち位置取得部１４によって取得された位置を用いて、移動機構１１を制御する。移動制御部１６は、位置取得部１４によって取得された位置を用いて、移動体１が、所定の位置となるように移動させてもよい。具体的には、移動制御部１６は、マーカを用いて取得された位置により、移動体１を給電位置や、搬送対象の積み降ろし位置などに移動させてもよい。通常、現在位置取得部１５によって取得される位置よりも、マーカを用いて取得された位置の方が高い精度になる。したがって、移動制御部１６は、高い精度の要求される移動については、マーカを用いて取得された位置を用いて行ってもよい。例えば、エレベータのカゴへの出入りなども、エレベータのカゴ内やエレベータホールに配置されたマーカを用いて行われてもよい。例えば、移動制御部１６は、マーカの存在する位置までは、現在位置取得部１５によって取得された現在位置を用いた移動制御を行い、撮影部１２によってマーカが撮影された後は、マーカを用いて取得された位置を用いた移動制御を行ってもよい。なお、マーカを用いた移動制御は、すでに公知であり、その詳細な説明を省略する。
【００４２】
次に、マーカを用いた位置の取得について説明する。ここで、撮影部１２のローカル座標系をＣＣとし、マーカ５のローカル座標系をＣＭとする。また、ある点に関して、撮影部１２の座標系ＣＣにおける座標値を（ｘ，ｙ，ｚ）＝（ｐｘ，ｐｙ，ｐｚ）とし、マーカ５の座標系ＣＭにおける座標値を（ｘ１，ｙ１，ｚ１）＝（ｐｘ１，ｐｙ１，ｐｚ１）とすると、両座標値は、両座標系間で座標値を変換する同次変換行列ＰＣＭを用いて次式のように関連づけられることになる。なお、Ｔは、転置を示している。
（ｐｘ，ｐｙ，ｐｚ，１）Ｔ＝ＰＣＭ（ｐｘ１，ｐｙ１，ｐｚ１，１）Ｔ
【００４３】
上式の同次変換行列ＰＣＭには、引数ｑｘ，ｑｙ，ｑｚ，θ，φ，ψが含まれており、それらは、撮影部１２の座標系ＣＣに対するマーカの座標系ＣＭの平行移動（ｑｘ，ｑｙ，ｑｚ）と回転（θ，φ，ψ）とを示すものである。なお、上記のように、マーカの３点の特徴点間のサイズが既知であるとすると、そのサイズ（特徴点間の距離）を用いることによって、同次変換行列ＰＣＭに含まれる各引数を求められることが知られており、同次変換行列ＰＣＭを特定することができる。このようにして、マーカを撮影することにより、同次変換行列ＰＣＭを算出でき、撮影部１２の座標系ＣＣとマーカ５の座標系ＣＭとの関係、すなわち、マーカ５に対する撮影部１２の相対的な位置を取得することができる。なお、移動体１のローカル座標系において、撮影部１２の向きを含む位置は既知である。したがって、撮影部１２とマーカ５との位置関係が分かれば、移動体１とマーカ５との位置関係も分かることになる。このようにして、移動体１は、マーカ５に対する移動体１の位置を取得することができるようになる。
【００４４】
また、マーカ５のワールド座標系における位置が既知である場合には、移動体１とマーカ５との相対的な位置関係と、マーカ５のワールド座標系における位置とを用いることによって、移動体１のワールド座標系における位置をも取得できることは言うまでもない。
【００４５】
また、本実施の形態では、マーカを用いた位置の取得に同次変換行列を用いる場合について主に説明したが、そうでなくてもよい。同次変換行列を用いない方法によっても、マーカを用いた位置の取得を行うことができることは言うまでもない。
【００４６】
次に、移動体１の動作について図２，図３のフローチャートを用いて説明する。図２は、上記（１）の方法によって撮影の制御を行う移動体１の動作を示すフローチャートである。
（ステップＳ１０１）移動制御部１６は、移動体１の移動の制御を行う。この移動の制御は、例えば、目的地に向かう自律的な移動の制御である。このステップＳ１０１の移動の制御が繰り返して行われることによって、移動体１は、出発地から目的地に向けて移動することになる。
【００４７】
（ステップＳ１０２）移動制御部１６は、マーカを用いた位置決めを行うかどうか判断する。そして、マーカを用いた位置決めを行う場合には、ステップＳ１０３に進み、そうでない場合には、ステップＳ１０１に戻る。なお、移動制御部１６は、例えば、現在位置取得部１５によって取得された現在位置によって、マーカと移動体１との位置関係があらかじめ決められたものとなったことが分かった場合に、マーカを用いた位置決めを行うと判断してもよい。また、例えば、ステップＳ１０１での移動制御中にも撮影部１２による撮影が行われている場合には、移動制御部１６は、その撮影画像にマーカが含まれるようになったときに、マーカを用いた位置決めを行うと判断してもよい。
【００４８】
（ステップＳ１０３）撮影部１２は、撮影制御部１３によって設定された露出によって、マーカの撮影画像を取得する。なお、１枚目の撮影画像を取得する際には、撮影制御部１３は、デフォルトの露出に設定してもよい。その取得された撮影画像は、図示しない記録媒体で記憶されてもよい。
【００４９】
（ステップＳ１０４）位置取得部１４は、ステップＳ１０３で取得された撮影画像を用いて移動体１の位置を取得する。なお、エラーである場合には、位置を取得できないこともあり得る。
【００５０】
（ステップＳ１０５）位置取得部１４は、その位置の取得がエラーであるかどうか、すなわち取得された撮影画像がエラーであるかどうか判断する。そして、エラーである場合には、ステップＳ１０６に進み、そうでない場合には、ステップＳ１０７に進む。なお、あらかじめ決められた回数だけ撮影画像の取得が繰り返されてもエラーとなる場合には、異常が発生したとして、処理を終了してもよい。
【００５１】
（ステップＳ１０６）撮影制御部１３は、次の撮影画像の露出を設定する。その露出の設定は、上記（Ａ）または（Ｂ）の方法によって行われてもよい。そして、ステップＳ１０３に戻る。
【００５２】
（ステップＳ１０７）移動制御部１６は、ステップＳ１０４で取得された移動体１の位置を用いて移動機構１１を制御し、移動体１を移動させることによって、移動体１の位置決めを行う。そして、移動体１の移動に関する一連の処理は終了となる。なお、ステップＳ１０７において、その位置決めのための移動途中においても、撮影画像の取得と、取得された撮影画像において認識されたマーカを用いた移動制御を繰り返して行ってもよい。その場合には、最後に取得した撮影画像の露出設定を用いてマーカの撮影画像を取得するようにしてもよく、新たな撮影位置において撮影を行うごとに、ステップＳ１０３〜Ｓ１０６の処理を繰り返してもよい。ここで、マーカを用いた移動制御とは、マーカを用いて取得された移動体１の位置に応じた移動制御であってもよい。
【００５３】
図３は、上記（２）の方法によって撮影の制御を行う移動体１の動作を示すフローチャートである。なお、図３のフローチャートにおいて、ステップＳ１０１，Ｓ１０２，Ｓ１０７は、図２のフローチャートと同様であり、その説明を省略する。
【００５４】
（ステップＳ２０１）撮影部１２は、撮影制御部１３による制御に応じて、マーカの複数の撮影画像を、各撮影画像の露出が異なるように取得する。その取得された複数の撮影画像は、図示しない記録媒体で記憶されてもよい。
【００５５】
（ステップＳ２０２）位置取得部１４は、カウンタｉを１に設定する。
【００５６】
（ステップＳ２０３）位置取得部１４は、取得されたｉ番目の撮影画像を用いて移動体１の位置を取得する。なお、エラーである場合には、位置を取得できないこともあり得る。
【００５７】
（ステップＳ２０４）位置取得部１４は、その位置の取得がエラーであるかどうか、すなわちｉ番目の撮影画像がエラーであるかどうか判断する。そして、エラーである場合には、ステップＳ２０５に進み、そうでない場合には、ステップＳ１０７に進む。
【００５８】
（ステップＳ２０５）位置取得部１４は、カウンタｉを１だけインクリメントする。
【００５９】
（ステップＳ２０６）位置取得部１４は、取得されたｉ番目の撮影画像が存在するかどうか判断する。そして、ｉ番目の撮影画像が存在する場合には、ステップＳ２０３に戻り、そうでない場合には、取得されたすべての撮影画像がエラーとなったため、異常が発生したとして処理を終了する。
【００６０】
なお、図２，図３のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図２，図３のフローチャートには含まれていないが、現在位置取得部１５による現在位置の取得は、マーカが撮影されるまでは繰り返して行われているものとする。また、撮影部１２によってマーカの撮影が行われている際（ステップＳ１０３，Ｓ２０１）には、移動体１は、停止していることが好適である。
【００６１】
以上のように、本実施の形態による移動体１によれば、逆光状態などであったとしても、位置決めに用いられるマーカを適切に撮影することができるようになる。例えば、図４Ａで示されるように、マーカ５の背後にシャッター９が存在するとする。図４Ａでは、そのシャッター９が閉まっているため、マーカ５の撮影は逆光にはならないが、図４Ｂで示されるように、シャッター９が空いている場合には、マーカ５の撮影が逆光になることもある。そのような場合であっても、本実施の形態による移動体１では、上記のようにして、マーカの適正露出での撮影を行うことができるようになり、マーカを用いた適切な移動制御を実現できるようになる。また、マーカの適正露出の撮影画像を得るために、光量検知手段などを別途設ける必要がないため、簡易な構成によって、そのような適正露出の撮影を実現することができる。なお、マーカを適正露出で撮影するため、自動露出による撮影を行うことも考えられるが、その場合には、撮影画像の全体において露出が適正になるため、マーカの部分については、白飛びや黒つぶれなどになり、適正露出とならないことがある。したがって、本実施の形態のように撮影時の露出を制御することが好適である。
【００６２】
なお、本実施の形態による移動体１において、障害物の検知が行われてもよい。その障害物の検知は、例えば、複数の方向について周りの物体までの距離を測定する測距センサによる測距結果を用いて行われてもよく、また、接触センサ等を用いて行われてもよい。そして、障害物が検知された場合には、移動制御部１６は、その障害物との衝突を防止するように移動制御を行ってもよい。その移動制御は、例えば、移動の停止や減速、障害物の迂回等であってもよい。
【００６３】
また、本実施の形態において、エラーの判断や移動制御に現在位置を用いない場合には、移動体１は、現在位置取得部１５を備えていなくてもよい。
【００６４】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００６５】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００６６】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００６７】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００６８】
また、上記実施の形態において、移動体１に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【００６９】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【００７０】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００７１】
以上より、本発明による移動体によれば、位置決めに用いられるマーカを適切に撮影できるという効果が得られ、マーカを用いた位置決めを行う移動体として有用である。
【符号の説明】
【００７２】
１  移動体
１１  移動機構
１２  撮影部
１３  撮影制御部
１４  位置取得部
１５  現在位置取得部
１６  移動制御部
【図１】
2019109776.tif 000003
【図２】
2019109776.tif 000004
【図３】
2019109776.tif 000005
【図４Ａ】
2019109776.tif 000006
【図４Ｂ】
2019109776.tif 000007
【図５】
2019109776.tif 000008
【図６】
2019109776.tif 000009