(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-05
(45)【発行日】2022-10-14
(54)【発明の名称】移動体
(51)【国際特許分類】
G05D 1/02 20200101AFI20221006BHJP
【FI】
G05D1/02 K
(21)【出願番号】P 2017243040
(22)【出願日】2017-12-19
【審査請求日】2020-10-02
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】阪下 英知
(72)【発明者】
【氏名】坂原 洋人
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開2017-120551(JP,A)
【文献】特開2004-201228(JP,A)
【文献】特開平05-257531(JP,A)
【文献】特開平06-035538(JP,A)
【文献】特表2017-501915(JP,A)
【文献】特開2011-134058(JP,A)
【文献】特開2001-197361(JP,A)
【文献】特開2004-245923(JP,A)
【文献】特開2014-098768(JP,A)
【文献】特開2006-167844(JP,A)
【文献】特開2013-153413(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
自律的に移動する移動体であって、
マーカの撮影画像を取得する撮影部と、
前記撮影画像において認識したマーカを用いて、前記移動体の位置を取得する位置取得部と、
前記移動体を移動させる移動機構と、
前記位置取得部によって取得された位置を用いて、前記移動機構を制御する移動制御部と、
前記マーカと前記移動体との位置関係があらかじめ決められたものである場合に、前記撮影部に撮影画像を取得させると共に、ある撮影画像がエラーとなった場合に、当該撮影画像とは露出の異なる撮影画像を前記撮影部に取得させる撮影制御部と、を備え、
前記位置取得部は、
前記撮影画像において認識したマーカが、あらかじめ決められたものと閾値を超えてずれている場合にエラーとすると共に、エラーとならない撮影画像を用いて前記移動体の位置を取得する、移動体。
【請求項2】
自律的に移動する移動体であって、
マーカの撮影画像を取得する撮影部と、
前記撮影画像において認識したマーカを用いて、前記移動体の位置を取得する位置取得部と、
前記移動体を移動させる移動機構と、
前記位置取得部によって取得された位置を用いて、前記移動機構を制御する移動制御部と、
ある撮影画像がエラーとなった場合に、当該撮影画像とは露出の異なる撮影画像を前記撮影部に取得させる
撮影制御部と、
前記移動体の現在位置を、前記マーカを用いないで取得する現在位置取得部と、を備え、
前記位置取得部は、前記撮影画像において認識したマーカを用いて取得した位置と、前記現在位置取得部によって取得された位置とが閾値を超えて異なる場合にエラーとすると共に、エラーとならない撮影画像を用いて前記移動体の位置を取得する、移動体。
【請求項3】
前記撮影制御部は、あらかじめ決められたように、新たに取得される撮影画像の露出を変更する、
請求項1または請求項2記載の移動体。
【請求項4】
前記撮影制御部は、取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更する、
請求項1または請求項2記載の移動体。
【請求項5】
前記撮影制御部は、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更する、請求項4記載の移動体。
【請求項6】
前記撮影制御部は、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更する、請求項4記載の移動体。
【請求項7】
自律的に移動する移動体であって、
マーカの撮影画像を取得する撮影部と、
前記撮影画像において認識したマーカを用いて、前記移動体の位置を取得する位置取得部と、
前記移動体を移動させる移動機構と、
前記位置取得部によって取得された位置を用いて、前記移動機構を制御する移動制御部と、
前記マーカと前記移動体との位置関係があらかじめ決められたものである場合に、前記撮影部に撮影画像を取得させ
ると共に、露出の異なる複数の撮影画像を取得するように前記撮影部を制御する撮影制御部と、を備え、
前記位置取得部は、前記撮影画像において認識したマーカが、あらかじめ決められたものと閾値を超えてずれている場合にエラーとする
と共に、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて前記移動体の位置を取得する、移動体。
【請求項8】
自律的に移動する移動体であって、
マーカの撮影画像を取得する撮影部と、
前記撮影画像において認識したマーカを用いて、前記移動体の位置を取得する位置取得部と、
前記移動体を移動させる移動機構と、
前記位置取得部によって取得された位置を用いて、前記移動機構を制御する移動制御部と、
露出の異なる複数の撮影画像を取得するように前記撮影部を制御する撮影制御部と、
前記移動体の現在位置を、前記マーカを用いないで取得する現在位置取得部
と、を備え、
前記位置取得部は、前記撮影画像において認識したマーカを用いて取得した位置と、前記現在位置取得部によって取得された位置とが閾値を超えて異なる場合にエラーとする
と共に、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて前記移動体の位置を取得する、移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律的に移動する移動体に関する。
【背景技術】
【0002】
従来の移動体において、移動環境に配置されたマーカを撮影し、その撮影したマーカを用いることによって、マーカに対する位置決めを行うことがあった。そのような移動体において、マーカの撮影時に逆光になることがあり得る。例えば、移動環境に配置されているマーカの背後にシャッターや窓が存在する状況において、通常は、シャッターやブラインド等が閉じられていることによってマーカの撮影時に逆光にならないが、商品搬出やその他の理由などによってシャッターやブラインド等が開けられた際に、逆光になることがある。そのような場合には、撮影画像において白飛びなどのため、マーカを適切に認識することができず、マーカを用いた位置決めを行うことができなくなるという問題があった。
【0003】
なお、関連した技術として、逆光状態で撮像する場合にも、光量検出手段によって検出された光量の情報を用いて、適切な露出調整を行う作物列検出装置が知られている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載された技術では、露出補正を行うために光量検出手段を別途、備える必要があり、それに応じて装置が複雑化すると共に、コストが増大するという問題があった。
【0006】
本発明は、上記課題を解決するためになされたものであり、簡易な構成によって、位置決めに用いられるマーカを適切に撮影することができる移動体を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、マーカの撮影画像を取得する撮影部と、撮影画像において認識したマーカを用いて、移動体の位置を取得する位置取得部と、移動体を移動させる移動機構と、位置取得部によって取得された位置を用いて、移動機構を制御する移動制御部と、露出の異なる撮影画像を取得するように撮影部を制御する撮影制御部と、を備え、位置取得部は、エラーとならない撮影画像を用いて移動体の位置を取得する、ものである。
このような構成により、露出の異なる撮影画像を取得する制御によって、適正な露出で撮影されたマーカの撮影画像を取得することができ、その撮影画像を用いることによって、適切な位置決めを行うことができるようになる。また、露出補正のための光量検出手段を設ける必要がないため、簡易な構成により、コストを増大させることなく、そのような撮影画像の取得を実現できることになる。
【0008】
また、本発明による移動体では、撮影制御部は、ある撮影画像がエラーとなった場合に、撮影画像とは露出の異なる撮影画像を撮影部に取得させてもよい。
このような構成により、撮影ごとにエラーかどうかを判断するため、必ずしも多くの撮影画像を一括して記憶する必要がないことになる。したがって、例えば、撮影画像を記憶する記録媒体の容量を小さくすることもできる。また、少ない撮影回数によって適正露出になった場合には、マーカを用いた位置の取得をより短時間で実現することができるようになる。
【0009】
また、本発明による移動体では、撮影制御部は、あらかじめ決められたように、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、例えば、撮影が繰り返されるごとに、露出がアンダー側からオーバー側に、またはオーバー側からアンダー側に徐々に変化するようにして撮影画像を取得することができ、いずれかの段階で、マーカに関する適正露出の撮影画像を取得することができるようになる。
【0010】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、あらかじめ決められたように、新たな撮影画像の露出を変更する場合と比較して、少ない撮影回数で適正露出の撮影画像を取得することができるようになる。
【0011】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、マーカを用いた移動体の位置決めごとに、撮影画像におけるマーカの位置が大きく変化する場合であっても、新たに取得される撮影画像の適正露出を決めることができるようになる。
【0012】
また、本発明による移動体では、撮影制御部は、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。
このような構成により、マーカを用いた移動体の位置決めごとに、撮影画像におけるマーカの位置があまり変化しない場合には、新たに取得される撮影画像の適正露出をより精度高く決めることができるようになる。
【0013】
また、本発明による移動体では、撮影制御部は、露出の異なる複数の撮影画像を取得するように撮影部を制御し、位置取得部は、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて移動体の位置を取得してもよい。
このような構成により、適正露出の撮影画像を得るために、撮影画像の取得、エラーかどうかの判断、エラーであった場合の再撮影を繰り返す必要がなくなる。
【0014】
また、本発明による移動体では、撮影制御部は、マーカと移動体との位置関係があらかじめ決められたものである場合に、撮影部に撮影画像を取得させ、位置取得部は、撮影画像において認識したマーカが、あらかじめ決められたものと閾値を超えてずれている場合にエラーとしてもよい。
このような構成により、簡単な画像処理によって、エラー判断を行うことができるようになる。
【0015】
また、本発明による移動体では、移動体の現在位置を、マーカを用いないで取得する現在位置取得部をさらに備え、位置取得部は、撮影画像において認識したマーカを用いて取得した位置と、現在位置取得部によって取得された位置とが閾値を超えて異なる場合にエラーとしてもよい。
このような構成により、マーカの撮影時における移動体とマーカとの位置関係が一定しないような状況であっても、エラーかどうかを判断することができるようになる。
【発明の効果】
【0016】
本発明による移動体によれば、簡易な構成によって、位置決めに用いられるマーカを適切に撮影することができるようになる。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施の形態による移動体の構成を示すブロック図
【
図2】同実施の形態による移動体の動作の一例を示すフローチャート
【
図3】同実施の形態による移動体の動作の他の一例を示すフローチャート
【
図4A】同実施の形態における配置されたマーカと移動体とを示す模式図
【
図4B】同実施の形態における配置されたマーカと移動体とを示す模式図
【
図5】同実施の形態におけるマーカの認識について説明するための図
【
図6】同実施の形態における撮影画像の一例を示す図
【発明を実施するための形態】
【0018】
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、マーカを撮影することによって位置を取得する移動体であって、露出の異なる撮影画像を取得し、エラーにならない撮影画像を用いて位置を取得するものである。
【0019】
図1は、本実施の形態による移動体1の構成を示すブロック図である。本実施の形態による移動体1は、自律的に移動するものであり、移動機構11と、撮影部12と、撮影制御部13と、位置取得部14と、現在位置取得部15と、移動制御部16とを備える。なお、移動体1が自律的に移動するとは、移動体1がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体1が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体1が、障害物に衝突しないように移動することであってもよい。移動体1は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
【0020】
移動機構11は、移動体1を移動させる。移動機構11は、例えば、移動体1を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構11は、例えば、走行部(例えば、車輪など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよい。なお、移動機構11が、移動体1を全方向に移動できるものである場合には、その走行部は、全方向移動車輪(例えば、オムニホイール、メカナムホイールなど)であってもよい。全方向移動車輪を有し、全方向に移動可能な移動体については、例えば、特開2017-128187号公報を参照されたい。この移動機構11としては、公知のものを用いることができるため、その詳細な説明を省略する。
【0021】
撮影部12は、移動環境に存在するマーカを撮影して撮影画像を取得する。撮影部12は、例えば、CCDやCMOSなどのイメージセンサによって実現することができる。また、撮影部12は、撮影対象からの光をイメージセンサの受光面に結像させるための光学系を含んでいてもよい。また、撮影画像のデータ形式等は問わない。撮影部12は、移動体1に固定されているため、移動体1の移動に応じて撮影対象が異なることになる。したがって、撮影部12は、連続的に撮影を行い、撮影範囲にマーカが含まれる場合に、そのマーカを含む撮影画像が位置取得部14等によって用いられてもよく、または、撮影制御部13からの撮影指示を受け付けた場合に、マーカを含む撮影画像を取得してもよい。なお、撮影範囲にマーカが含まれるかどうかは、例えば、マーカのパターンマッチングによって行ってもよく、その他の方法によって行ってもよい。
図4Aは、移動体1の撮影部12によってマーカ5が撮影されている状況を示す模式図である。
図4Aで示されるように、撮影部12の撮影範囲にマーカ5が存在することにより、撮影部12は、マーカ5の撮影画像を取得することができる。また、撮影部12は、撮影制御部13による制御に応じて、露出の異なる撮影画像を取得する。なお、その制御については後述する。ここで、撮影画像の露出を変更する方法としては、例えば、露光時間(シャッター速度)を変更する方法と、絞り値(F値)を変更する方法と、その両方を変更する方法がある。本実施の形態では、露光時間を変更することによって露出を変更する場合について主に説明する。
【0022】
マーカは、視覚的に認識可能な2次元の図形であり、移動体1の位置決めのために移動環境に配置されている。例えば、移動体1が給電位置や、搬送対象の積み降ろし位置に正確に移動できるようにするため、マーカが配置されていてもよい。マーカの形状(図形の形状)は問わないが、例えば、正方形状や、長方形状、その他の多角形状、円形状、楕円形状、また、それらの組み合わせであってもよい。なお、その形状は、特定可能な3以上の特徴点を有していることが好適である。また、その特徴点の少なくとも3点については、特徴点間のサイズが既知であることが好適である。そのサイズは、マーカと、撮影部12との相対的な位置関係を取得するのに必要であるため、移動体1の図示しない記録媒体において保持されており、位置取得部14等がアクセス可能になっていることが好適である。マーカは、例えば、紙やフィルム等に印刷され、移動環境に配置される。移動体1の移動環境に配置されるマーカのワールド座標系における位置(例えば、ワールド座標系とマーカの座標系との相対的な関係(平行移動、回転に関する情報)であってもよい。)は分かっていてもよく、または、そうでなくてもよい。前者の場合には、マーカの撮影画像を用いることによって、移動体1のワールド座標系における位置を取得することができるようになり、後者の場合には、マーカの撮影画像を用いることによって、移動体1のマーカに対する相対的な位置を取得することができるようになる。したがって、マーカのワールド座標系における位置が分からない場合には、移動環境に配置されているマーカに対する相対的な位置によって、位置決めを行うことになるため、移動体1の目的とする位置決め場所に対して、あらかじめ決められた相対的な位置となるように、そのマーカが配置されることが好適である。
【0023】
撮影制御部13は、露出の異なる撮影画像を取得するように撮影部12を制御する。撮影制御部13は、例えば、撮影部12に連続して撮影画像を取得させてもよく、マーカと移動体1との位置関係があらかじめ決められたものである場合に、撮影部12に撮影画像を取得させてもよい。前者の場合には、上記のように、マーカの含まれない撮影画像も取得されるため、パターンマッチング等によって、撮影画像にマーカが含まれるかどうかの判断が行われてもよい。また、撮影タイミングが、マーカと移動体1との位置関係があらかじめ決められたものである場合には、例えば、現在位置取得部15によって取得される現在位置などを用いて、マーカに対する移動体1の位置(この位置は、角度を含んでいてもよい。)が所定のものとなったと判断された時に、撮影が行われてもよい。具体的には、移動体1の撮影部12によってマーカを真正面から撮影できる位置となった場合に、撮影制御部13は、撮影を行うように撮影部12を制御してもよい。
【0024】
撮影制御部13が、露出の異なる撮影画像を取得するように撮影部12を制御する方法として、以下、(1)エラーとなった場合に、異なる露出で撮影するように制御する方法、(2)あらかじめ異なる露出で複数回の撮影をするように制御する方法について説明する。
【0025】
(1)エラーとなった場合に、異なる露出で撮影するように制御する方法
撮影制御部13は、ある撮影画像がエラーとなった場合に、その撮影画像とは露出の異なる撮影画像を撮影部12に取得させてもよい。撮影画像がエラーとなるとは、その撮影画像を用いて適切な位置の取得を行えないことである。撮影画像がエラーとなる原因としては、例えば、撮影画像においてマーカを認識できないことや、撮影画像でマーカを誤認識することなどがある。この(1)の場合には、撮影制御部13は、エラーとならなくなるまで、撮影部12に撮影画像の取得を繰り返させてもよい。なお、あらかじめ決められた上限数の撮影を行っても、エラーでない撮影画像を取得できない場合には、撮影制御部13は、異常が発生していると判断して、この制御を停止してもよい。
【0026】
その露出の変更において、撮影制御部13は、(A)あらかじめ決められたように、新たに取得される撮影画像の露出を変更してもよく、(B)取得済みの撮影画像の輝度を用いて、新たに取得される撮影画像の露出を変更してもよい。以下、(A),(B)のそれぞれについて説明する。
【0027】
(A)あらかじめ決められたように、新たな撮影画像の露出を変更する方法
この場合には、撮影制御部13は、例えば、撮影が繰り返されるごとに露出がオーバー側になるように(撮影画像が明るくなるように)、露出を変更してもよく、撮影が繰り返されるごとに露出がアンダー側になるように(撮影画像が暗くなるように)、露出を変更してもよく、その他のルールで露出を変更してもよい。
【0028】
具体的には、撮影制御部13は、1枚目の撮影画像を1/2000秒で撮影させ、エラーとなった場合には、次の撮影画像を1/1000秒で撮影させ、再度、エラーとなった場合には、次の撮影画像を1/500秒で撮影させる、というように、エラーでない撮影画像が取得されるまで、1/250秒、1/125秒、1/60秒、1/30秒、1/15秒、1/8秒、1/4秒のように、撮影ごとに露出の変更を繰り返してもよい。この場合には、露出をオーバー側に変更することになる。また逆に、撮影制御部13は、1枚目の撮影画像を1/4秒で撮影させ、エラーとなった場合には、次の撮影画像を1/8秒で撮影させる、というように、エラーでない撮影画像が取得されるまで、順次、露出をアンダー側に変更してもよい。
【0029】
(B)取得済みの撮影画像の輝度を用いて、新たな撮影画像の露出を変更する方法
この場合には、撮影制御部13は、例えば、取得済みの撮影画像の全体の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよく、取得済みの撮影画像の所定の箇所の輝度値を用いて、新たに取得される撮影画像の露出を変更してもよい。具体的な変更方法としては、取得済みの撮影画像の全体または所定の箇所の輝度値を、所定の閾値と比較し、取得済みの撮影画像の輝度値が閾値よりも大きい場合には、新たな撮影画像の露出をアンダー側になるように変更し、取得済みの撮影画像の輝度値が閾値よりも小さい場合には、新たな撮影画像の露出をオーバー側になるように変更してもよい。取得済みの撮影画像とは、取得された撮影画像のうち、最新の撮影画像(すなわち、最後に取得された撮影画像)であってもよい。また、マーカの撮影が、マーカと移動体1との位置関係があらかじめ決められたものである場合に行われるのであれば、通常、撮影画像におけるマーカの位置は概ね一定となる。
図6は、そのような撮影画像の一例を示す図である。
図6で示される撮影画像21において、表示板7に表示されているマーカ5が含まれている。例えば、撮影ごとに撮影画像21におけるマーカ5の位置が変動したとしても、概ね領域22の範囲内に入っていたとすると、撮影制御部13は、撮影画像21における領域22の輝度値を用いて、新たに取得する撮影画像の露出を決定してもよい。そのようにすることで、露出をより適切に決定できるようになる。また、取得済みの撮影画像の全体または所定の箇所の輝度値と、所定の閾値とを比較する場合に、撮影画像の全体や所定の箇所の輝度値の代表値と、所定の閾値とを比較してもよい。なお、代表値は、例えば、平均値であってもよく、中間値であってもよい。また、撮影画像の所定の箇所の輝度値と、所定の閾値とを比較する際には、代表値は、最大値や最小値であってもよい。撮影制御部13は、露出をアンダー側に変更する場合には、例えば、シャッター速度を1段階、速い方に変更し、露出をオーバー側に変更する場合には、例えば、シャッター速度を1段階、遅い方に変更してもよい。具体的には、取得済みの撮影画像のシャッター速度が1/1000秒であり、露出をアンダー側に変更する場合には、新たな撮影画像のシャッター速度は、1/2000秒に設定されてもよい。
【0030】
(2)あらかじめ異なる露出で複数回の撮影をするように制御する方法
撮影制御部13は、露出の異なる複数の撮影画像を取得するように撮影部12を制御してもよい。この場合には、あらかじめ複数の露出で撮影画像が取得され、そのうち、エラーにならない撮影画像を用いて位置の取得が行われることになる。例えば、撮影制御部13は、1/2000秒、1/1000秒、1/500秒、1/250秒、1/125秒、1/60秒、1/30秒、1/15秒、1/8秒、1/4秒のそれぞれのシャッター速度で撮影画像を取得するように撮影部12を制御してもよい。この場合には、10枚の撮影画像が一括して取得され、その10枚の撮影画像のうち、エラーとならないものが位置の取得に用いられるようになる。
【0031】
位置取得部14は、撮影画像において認識したマーカを用いて、移動体1の位置を取得する。その位置は、マーカに対する相対的な位置であってもよく、ワールド座標系における位置であってもよい。ここで、位置取得部14がマーカの撮影画像を用いて直接的に得ることができるのは、移動体1のマーカに対する相対的な位置(例えば、マーカ座標系での移動体1の位置など)である。一方、マーカのワールド座標系における位置が既知である場合には、位置取得部14は、その相対的な位置と、ワールド座標系におけるマーカの位置とを用いて、移動体1のワールド座標系における位置をも取得できることになる。位置取得部14が取得する位置は、角度(姿勢)を含まないものであってもよく、または角度を含んでいてもよい。その角度とは、マーカの面に対する相対的な角度であってもよく、ワールド座標系における角度であってもよい。本実施の形態では、位置取得部14によって取得される位置に、角度も含まれる場合について主に説明する。具体的な位置の取得方法については、後述する。
【0032】
位置取得部14は、エラーとならない撮影画像を用いて移動体1の位置を取得する。上記(1)のように撮影が行われた場合には、エラーとならなくなるまで撮影画像の取得が繰り返されるため、位置取得部14は、そのようにして最後に取得されたエラーでない撮影画像を用いて移動体1の位置を取得する。すなわち、位置取得部14は、エラーとならなかった1個目の撮影画像を用いて位置の取得を行ってもよい。また、上記(2)のように撮影が行われた場合には、位置取得部14は、取得された複数の撮影画像のうち、エラーとならない撮影画像を用いて移動体1の位置を取得する。
【0033】
なお、撮影画像がエラーであるかどうかの判断は、位置取得部14によって行われる。例えば、マーカと移動体1との位置関係があらかじめ決められたものである時に、撮影部12が撮影画像を取得する場合には、位置取得部14は、撮影画像において認識したマーカが、規定のマーカと閾値を超えてずれているときにエラーとしてもよい。マーカと移動体1との位置関係があらかじめ決められたものである時に、撮影部12が撮影画像を取得する場合には、通常、撮影画像において、マーカは、毎回所定の位置に存在することになる。その所定の位置に存在するマーカが、規定のマーカとして登録されているものとする。したがって、その所定の位置のマーカ(規定のマーカ)と、閾値を超えてずれている場合には、マーカの認識が不適切となるような露出で撮影が行われていることになるため、位置取得部14は、エラーと判断することになる。そのエラー判断について、
図5を用いて具体的に説明する。
図5(a)は、マーカと移動体1との位置関係があらかじめ決められたものである時に撮影された撮影画像に含まれるマーカ5(このマーカを、「理想的な位置のマーカ」と呼ぶことがある。)を示す図であり、
図5(b)は、撮影画像において適切に認識されたマーカ6を示す図であり、
図5(c)は、理想的な位置のマーカ5と、誤って認識されたマーカ6とを示す図である。適正露出で撮影画像が取得された場合には、
図5(b)で示されるマーカ6のように正しく認識されることになる。一方、例えば、露出がオーバーになっており、マーカ5の右側が白飛びしているような場合には、
図5(c)で示されるマーカ6のように誤って認識されることになる。そのような場合に、位置取得部14は、マーカ5,6の各頂点のずれに応じて、エラーかどうかを判断してもよい。具体的には、
図5(a)で示されるように、理想的な位置のマーカ5の4つの頂点T1~T4に関する撮影画像上の位置を、あらかじめ登録しておく。次に、例えば、
図5(b)または
図5(c)のように認識されたマーカ6の4つの頂点T1'~T4'に関する撮影画像上の位置をそれぞれ取得する。そして、T1とT1'との距離、T2とT2'との距離、T3とT3'との距離、T4とT4'との距離をそれぞれ算出し、その距離の代表値と閾値とを比較し、代表値が閾値を超えている場合に、エラーであると判断してもよい。その代表値は、例えば、平均値や最大値などであってもよい。なお、ここでは、マーカの特徴点である頂点の距離を用いて、エラーかどうかの判断を行う場合について説明したが、それ以外の特徴点の距離を用いて、エラーかどうかの判断を行ってもよい。頂点以外の特徴点としては、例えば、マーカの中心点や重心などがある。位置取得部14は、認識したマーカの中心点や重心などの特徴点と、あらかじめ登録されているマーカの特徴点との距離が、閾値を超えている場合に、エラーであると判断してもよい。また、ここでは、マーカの特徴点の距離によって、撮影画像において認識されたマーカが、規定のマーカから閾値を超えてずれているかどうかを判断する場合について説明したが、それ以外の方法によってその判断を行ってもよいことは言うまでもない。例えば、撮影画像において認識されたマーカの角度と、規定のマーカの角度とを比較することによってその判断を行ってもよい。
【0034】
また、例えば、マーカと移動体1との位置関係があらかじめ決められたものである時に、撮影部12が撮影画像を取得する場合には、位置取得部14は、撮影画像において認識したマーカを用いて取得した移動体1とマーカとの相対的な位置関係が、あらかじめ登録されている位置関係と閾値を超えてずれているときにエラーとしてもよい。マーカと移動体1との位置関係があらかじめ決められたものである時に撮影を行うと、通常、移動体1とマーカとの相対的な位置関係は、毎回同じになる。したがって、その位置関係を登録しておき、それと閾値を超えてずれている位置関係が取得された場合には、例えば、
図5(c)のように、誤認識されたマーカを用いて位置関係が取得されたことになるため、その撮影画像をエラーとしてもよい。
【0035】
また、位置取得部14は、撮影画像において認識したマーカを用いて取得した位置と、現在位置取得部15によって取得された位置とが閾値を超えて異なる場合にエラーとしてもよい。この場合には、マーカのワールド座標系における位置が既知であることが好適である。通常、現在位置取得部15によって取得される現在位置は、ワールド座標系における位置であるため、マーカを用いて取得した位置も、ワールド座標系における位置とする必要があるからである。例えば、
図5(c)で示されるように、誤ったマーカ6が認識された場合には、そのマーカ6に応じて、不正確な位置の取得が行われることになる。したがって、その不正確な位置と、現在位置取得部15によって取得された現在位置との差は大きな値となるため、このような方法によってもエラーの判断を行うことができることになる。
【0036】
なお、撮影画像におけるマーカの位置を用いたエラーの判断や、現在位置を用いたエラーの判断で使用される閾値としては、例えば、実際に移動体1を用いたマーカの適正露出での撮影を行うことによって、撮影画像において認識されたマーカと理想的な位置のマーカとの誤差や、マーカを用いて取得された位置と現在位置との誤差を算出し、それらの誤差についてはエラーと判断されないように設定されてもよい。
【0037】
また、位置取得部14は、撮影画像において、マーカを認識できない場合、例えば、パターンマッチング等を行ったとしても、マーカを認識できない場合には、エラーであると判断してもよい。例えば、撮影画像において、マーカの全体が白飛びや、黒つぶれになっている場合には、マーカを認識することもできなくなる。そのような場合には、エラーであると判断されてもよい。
【0038】
現在位置取得部15は、移動体1の現在位置を取得する。ただし、現在位置取得部15は、マーカを用いないで、すなわちマーカの撮影以外の方法によって、現在位置を取得するものとする。マーカを用いた位置の取得は、位置取得部14によって行われるからである。現在位置取得部15による現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の物体までの距離の測定結果を用いて行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、GPS(Global Positioning System)を用いる方法や、屋内GPSを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、例えば、周囲の物体までの距離の測定結果を用いたり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、SLAM(Simultaneous Localization and Mapping)などによって知られている方法を用いてもよい。また、あらかじめ作成された地図(例えば、周囲の物体までの距離の測定結果や撮影画像を有する地図など)が記憶されている場合には、現在位置取得部15は、周囲の物体までの距離を測定し、地図を用いて、その測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いて、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、現在位置取得部15は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、現在位置取得部15は、移動体1の向き(方向)を含む現在位置を取得することが好適である。その方向は、例えば、北を0度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。
【0039】
なお、位置取得部14は、撮影部12によってマーカが撮影された際にのみ、位置を取得できるものである。したがって、移動体1がマーカの存在しない箇所を移動している場合には、位置取得部14による位置の取得を行うことはできないため、移動体1は、マーカの撮影以外の方法によって移動体1の現在位置を取得する現在位置取得部15を備えていることが好適である。
【0040】
移動制御部16は、移動機構11を制御することによって、移動体1の移動を制御する。移動の制御は、移動体1の移動の向きや、移動の開始・停止などの制御であってもよい。例えば、移動経路が設定されている場合には、移動制御部16は、移動体1がその移動経路に沿って移動するように、移動機構11を制御してもよい。より具体的には、移動制御部16は、現在位置取得部15によって取得される現在位置が、その移動経路に沿ったものになるように、移動機構11を制御してもよい。また、移動制御部16は、地図を用いて、移動の制御を行ってもよい。その場合には、移動体1は、地図が記憶される記憶部を備えていてもよい。
【0041】
また、移動制御部16は、マーカを用いて取得された位置、すなわち位置取得部14によって取得された位置を用いて、移動機構11を制御する。移動制御部16は、位置取得部14によって取得された位置を用いて、移動体1が、所定の位置となるように移動させてもよい。具体的には、移動制御部16は、マーカを用いて取得された位置により、移動体1を給電位置や、搬送対象の積み降ろし位置などに移動させてもよい。通常、現在位置取得部15によって取得される位置よりも、マーカを用いて取得された位置の方が高い精度になる。したがって、移動制御部16は、高い精度の要求される移動については、マーカを用いて取得された位置を用いて行ってもよい。例えば、エレベータのカゴへの出入りなども、エレベータのカゴ内やエレベータホールに配置されたマーカを用いて行われてもよい。例えば、移動制御部16は、マーカの存在する位置までは、現在位置取得部15によって取得された現在位置を用いた移動制御を行い、撮影部12によってマーカが撮影された後は、マーカを用いて取得された位置を用いた移動制御を行ってもよい。なお、マーカを用いた移動制御は、すでに公知であり、その詳細な説明を省略する。
【0042】
次に、マーカを用いた位置の取得について説明する。ここで、撮影部12のローカル座標系をCCとし、マーカ5のローカル座標系をCMとする。また、ある点に関して、撮影部12の座標系CCにおける座標値を(x,y,z)=(px,py,pz)とし、マーカ5の座標系CMにおける座標値を(x1,y1,z1)=(px1,py1,pz1)とすると、両座標値は、両座標系間で座標値を変換する同次変換行列PCMを用いて次式のように関連づけられることになる。なお、Tは、転置を示している。
(px,py,pz,1)T=PCM(px1,py1,pz1,1)T
【0043】
上式の同次変換行列PCMには、引数qx,qy,qz,θ,φ,ψが含まれており、それらは、撮影部12の座標系CCに対するマーカの座標系CMの平行移動(qx,qy,qz)と回転(θ,φ,ψ)とを示すものである。なお、上記のように、マーカの3点の特徴点間のサイズが既知であるとすると、そのサイズ(特徴点間の距離)を用いることによって、同次変換行列PCMに含まれる各引数を求められることが知られており、同次変換行列PCMを特定することができる。このようにして、マーカを撮影することにより、同次変換行列PCMを算出でき、撮影部12の座標系CCとマーカ5の座標系CMとの関係、すなわち、マーカ5に対する撮影部12の相対的な位置を取得することができる。なお、移動体1のローカル座標系において、撮影部12の向きを含む位置は既知である。したがって、撮影部12とマーカ5との位置関係が分かれば、移動体1とマーカ5との位置関係も分かることになる。このようにして、移動体1は、マーカ5に対する移動体1の位置を取得することができるようになる。
【0044】
また、マーカ5のワールド座標系における位置が既知である場合には、移動体1とマーカ5との相対的な位置関係と、マーカ5のワールド座標系における位置とを用いることによって、移動体1のワールド座標系における位置をも取得できることは言うまでもない。
【0045】
また、本実施の形態では、マーカを用いた位置の取得に同次変換行列を用いる場合について主に説明したが、そうでなくてもよい。同次変換行列を用いない方法によっても、マーカを用いた位置の取得を行うことができることは言うまでもない。
【0046】
次に、移動体1の動作について
図2,
図3のフローチャートを用いて説明する。
図2は、上記(1)の方法によって撮影の制御を行う移動体1の動作を示すフローチャートである。
(ステップS101)移動制御部16は、移動体1の移動の制御を行う。この移動の制御は、例えば、目的地に向かう自律的な移動の制御である。このステップS101の移動の制御が繰り返して行われることによって、移動体1は、出発地から目的地に向けて移動することになる。
【0047】
(ステップS102)移動制御部16は、マーカを用いた位置決めを行うかどうか判断する。そして、マーカを用いた位置決めを行う場合には、ステップS103に進み、そうでない場合には、ステップS101に戻る。なお、移動制御部16は、例えば、現在位置取得部15によって取得された現在位置によって、マーカと移動体1との位置関係があらかじめ決められたものとなったことが分かった場合に、マーカを用いた位置決めを行うと判断してもよい。また、例えば、ステップS101での移動制御中にも撮影部12による撮影が行われている場合には、移動制御部16は、その撮影画像にマーカが含まれるようになったときに、マーカを用いた位置決めを行うと判断してもよい。
【0048】
(ステップS103)撮影部12は、撮影制御部13によって設定された露出によって、マーカの撮影画像を取得する。なお、1枚目の撮影画像を取得する際には、撮影制御部13は、デフォルトの露出に設定してもよい。その取得された撮影画像は、図示しない記録媒体で記憶されてもよい。
【0049】
(ステップS104)位置取得部14は、ステップS103で取得された撮影画像を用いて移動体1の位置を取得する。なお、エラーである場合には、位置を取得できないこともあり得る。
【0050】
(ステップS105)位置取得部14は、その位置の取得がエラーであるかどうか、すなわち取得された撮影画像がエラーであるかどうか判断する。そして、エラーである場合には、ステップS106に進み、そうでない場合には、ステップS107に進む。なお、あらかじめ決められた回数だけ撮影画像の取得が繰り返されてもエラーとなる場合には、異常が発生したとして、処理を終了してもよい。
【0051】
(ステップS106)撮影制御部13は、次の撮影画像の露出を設定する。その露出の設定は、上記(A)または(B)の方法によって行われてもよい。そして、ステップS103に戻る。
【0052】
(ステップS107)移動制御部16は、ステップS104で取得された移動体1の位置を用いて移動機構11を制御し、移動体1を移動させることによって、移動体1の位置決めを行う。そして、移動体1の移動に関する一連の処理は終了となる。なお、ステップS107において、その位置決めのための移動途中においても、撮影画像の取得と、取得された撮影画像において認識されたマーカを用いた移動制御を繰り返して行ってもよい。その場合には、最後に取得した撮影画像の露出設定を用いてマーカの撮影画像を取得するようにしてもよく、新たな撮影位置において撮影を行うごとに、ステップS103~S106の処理を繰り返してもよい。ここで、マーカを用いた移動制御とは、マーカを用いて取得された移動体1の位置に応じた移動制御であってもよい。
【0053】
図3は、上記(2)の方法によって撮影の制御を行う移動体1の動作を示すフローチャートである。なお、
図3のフローチャートにおいて、ステップS101,S102,S107は、
図2のフローチャートと同様であり、その説明を省略する。
【0054】
(ステップS201)撮影部12は、撮影制御部13による制御に応じて、マーカの複数の撮影画像を、各撮影画像の露出が異なるように取得する。その取得された複数の撮影画像は、図示しない記録媒体で記憶されてもよい。
【0055】
(ステップS202)位置取得部14は、カウンタiを1に設定する。
【0056】
(ステップS203)位置取得部14は、取得されたi番目の撮影画像を用いて移動体1の位置を取得する。なお、エラーである場合には、位置を取得できないこともあり得る。
【0057】
(ステップS204)位置取得部14は、その位置の取得がエラーであるかどうか、すなわちi番目の撮影画像がエラーであるかどうか判断する。そして、エラーである場合には、ステップS205に進み、そうでない場合には、ステップS107に進む。
【0058】
(ステップS205)位置取得部14は、カウンタiを1だけインクリメントする。
【0059】
(ステップS206)位置取得部14は、取得されたi番目の撮影画像が存在するかどうか判断する。そして、i番目の撮影画像が存在する場合には、ステップS203に戻り、そうでない場合には、取得されたすべての撮影画像がエラーとなったため、異常が発生したとして処理を終了する。
【0060】
なお、
図2,
図3のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、
図2,
図3のフローチャートには含まれていないが、現在位置取得部15による現在位置の取得は、マーカが撮影されるまでは繰り返して行われているものとする。また、撮影部12によってマーカの撮影が行われている際(ステップS103,S201)には、移動体1は、停止していることが好適である。
【0061】
以上のように、本実施の形態による移動体1によれば、逆光状態などであったとしても、位置決めに用いられるマーカを適切に撮影することができるようになる。例えば、
図4Aで示されるように、マーカ5の背後にシャッター9が存在するとする。
図4Aでは、そのシャッター9が閉まっているため、マーカ5の撮影は逆光にはならないが、
図4Bで示されるように、シャッター9が空いている場合には、マーカ5の撮影が逆光になることもある。そのような場合であっても、本実施の形態による移動体1では、上記のようにして、マーカの適正露出での撮影を行うことができるようになり、マーカを用いた適切な移動制御を実現できるようになる。また、マーカの適正露出の撮影画像を得るために、光量検知手段などを別途設ける必要がないため、簡易な構成によって、そのような適正露出の撮影を実現することができる。なお、マーカを適正露出で撮影するため、自動露出による撮影を行うことも考えられるが、その場合には、撮影画像の全体において露出が適正になるため、マーカの部分については、白飛びや黒つぶれなどになり、適正露出とならないことがある。したがって、本実施の形態のように撮影時の露出を制御することが好適である。
【0062】
なお、本実施の形態による移動体1において、障害物の検知が行われてもよい。その障害物の検知は、例えば、複数の方向について周りの物体までの距離を測定する測距センサによる測距結果を用いて行われてもよく、また、接触センサ等を用いて行われてもよい。そして、障害物が検知された場合には、移動制御部16は、その障害物との衝突を防止するように移動制御を行ってもよい。その移動制御は、例えば、移動の停止や減速、障害物の迂回等であってもよい。
【0063】
また、本実施の形態において、エラーの判断や移動制御に現在位置を用いない場合には、移動体1は、現在位置取得部15を備えていなくてもよい。
【0064】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0065】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0066】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0067】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0068】
また、上記実施の形態において、移動体1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0069】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0070】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0071】
以上より、本発明による移動体によれば、位置決めに用いられるマーカを適切に撮影できるという効果が得られ、マーカを用いた位置決めを行う移動体として有用である。
【符号の説明】
【0072】
1 移動体
11 移動機構
12 撮影部
13 撮影制御部
14 位置取得部
15 現在位置取得部
16 移動制御部