IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気通信システム株式会社の特許一覧

特開2023-172498移動体、移動体システム、移動体の制御方法およびプログラム
<>
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図1
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図2
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図3
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図4
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図5
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図6
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図7
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図8
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図9
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図10
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図11
  • 特開-移動体、移動体システム、移動体の制御方法およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172498
(43)【公開日】2023-12-06
(54)【発明の名称】移動体、移動体システム、移動体の制御方法およびプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20231129BHJP
   G08G 1/16 20060101ALI20231129BHJP
【FI】
G05D1/02 H
G08G1/16 E
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022084346
(22)【出願日】2022-05-24
(71)【出願人】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】松本 晃
(72)【発明者】
【氏名】伊藤 哲也
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA01
5H181AA26
5H181BB01
5H181CC04
5H181LL01
5H181LL09
5H301AA01
5H301CC03
5H301CC06
5H301CC10
5H301FF05
5H301GG09
5H301QQ08
(57)【要約】
【課題】後続の移動体が先行する移動体に精度よく追従できる移動体、移動体システム、移動体の制御方法およびプログラムを提供すること。
【解決手段】本開示の移動体1000は、先行移動体検出部1100、追従移動体検出部1200および移動制御部1800を備える。先行移動体検出部1100は、移動体1000に先行する先行移動体との相対位置を検出する。追従移動体検出部1200は、移動体1000に追従する追従移動体との相対位置を検出する。移動制御部1800は、先行移動体との相対位置に基づいて、先行移動体を追従するように移動体1000の移動を制御する。また、移動制御部1800は、追従移動体との相対位置に基づいて、移動体1000が追従移動体から所定の範囲内に位置するように移動体1000の移動を制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動体であって、
前記移動体に先行する先行移動体との相対位置を検出する先行移動体検出部と、
前記移動体に追従する追従移動体との相対位置を検出する追従移動体検出部と、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する移動制御部と、を備える
移動体。
【請求項2】
前記移動制御部は、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御するための移動制御量を算出すると共に、
前記追従移動体との相対位置に基づいて、前記移動制御量で前記移動体を制御した際に前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動制御量を決定する
請求項1に記載の移動体。
【請求項3】
前記移動制御部は、
前記先行移動体との相対位置と予め設定された前記先行移動体との相対位置との相対位置差を算出し、
前記相対位置差が所定の閾値を超える場合、前記先行移動体を追従するように前記移動体の移動を制御する
請求項1に記載の移動体。
【請求項4】
前記移動制御部は、
所定の確率で、前記先行移動体を追従するように前記移動体の移動を制御する
請求項1に記載の移動体。
【請求項5】
通信と光と音との少なくとも一つの手段によって、前記先行移動体の制御情報を検出する動作情報検出部をさらに備え、
前記移動制御部は、
前記先行移動体の制御情報に基づいて、前記移動体の移動を制御する
請求項1に記載の移動体。
【請求項6】
前記先行移動体が今後実行する動作情報に対応する予備動作を検出する動作情報検出部をさらに備え、
前記先行移動体が今後実行する動作情報に基づいて、前記移動体の移動を制御する
請求項1に記載の移動体。
【請求項7】
第1移動体と、
前記第1移動体に追従する第2移動体と、を備え、
前記第2移動体は、
前記第1移動体との相対位置を検出する先行移動体検出部と、
前記第1移動体との相対位置に基づいて、前記第1移動体に追従するように前記第2移動体の移動を制御する移動制御部と、を備え、
前記第1移動体は、
前記第2移動体との相対位置を検出する追従移動体検出部と、
前記第2移動体との相対位置に基づいて、前記第2移動体の先行移動体検出部の検出範囲内に位置するように前記第1移動体の移動を制御する移動制御部と、を備える
移動体システム。
【請求項8】
前記第1移動体に先行する第3移動体をさらに備え、
前記第1移動体は、
第3移動体との相対位置を検出する先行移動体検出部と、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御する移動制御部と、をさらに備え、
前記第1移動体の移動制御部は、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御するための移動制御量を算出すると共に、
前記第2移動体との相対位置に基づいて、前記移動制御量で前記第1移動体を制御した際に前記第1移動体が前記第2移動体の先行移動体検出部の検出範囲内に位置するように前記移動制御量を決定する
請求項7に記載の移動体システム。
【請求項9】
移動体の制御方法であって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する
移動体の制御方法。
【請求項10】
移動体に実行させるプログラムであって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する処理を移動体に実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体、移動体システム、移動体の制御方法およびプログラムに関する。
【背景技術】
【0002】
自動走行車やロボットなどの複数台のモビリティを使って列を作って隊列・追従走行すると、追従側の制御がシンプルになり制御が簡単となりコストが削減できる。加えて、スケーラビリティが高く台数を増減させることにより簡単に作業可能なエリアを拡充することが可能になる。また、1つの目的を達成するのに1台の高機能な機器では、重さ、通路の幅および時間制限などから実施が難しい場面でも複数で分担させることで実施可能な場合がある。追従する制御を行う方法には、制御対象の移動体全体を見て実施する中央集権的な制御と、それぞれの移動体が追従相手をみて制御する自律分散的な制御がある。
【0003】
自律分散的な制御、すなわち移動体が先行する移動体の動作を把握して追従する制御において、種々の技術が知られている。
例えば、特許文献1では、手動運転される先頭車両を含む複数の車両の各々に搭載され、先行車両との間の無線通信を通じて先行車両に自車両が追従するように自車両を制御する車両制御システムが開示されている。車両制御システムは、自車両の状態を検出するセンサと、自車両の挙動を調節するアクチュエータと、自車両を統括的に制御する制御装置と、を備える。しかしながら、特許文献1では、車両は、無線通信を利用しないと隊列走行を行うための情報を取得できない。
【0004】
他方、先行する移動体にマーカを貼り付けて、後続の移動体がカメラで当該マーカを読み取るなどして先行する移動体の動きを把握する。そして、後続の移動体が、先行する移動体と同じ動作を行う、または目標地点を計算して当該目標地点に向かうことで追従走行する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2019-189033号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、背景技術に係る技術では、先行する移動体が複雑な動きをした場合には、後続の移動体が精度よく追従できないという課題があった。
【0007】
本開示は、そのような課題を鑑みることによって、後続の移動体が先行する移動体に精度よく追従できる移動体、移動体システム、移動体の制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の移動体は、
移動体であって、
前記移動体に先行する先行移動体との相対位置を検出する先行移動体検出部と、
前記移動体に追従する追従移動体との相対位置を検出する追従移動体検出部と、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する移動制御部と、を備える。
【0009】
本開示の移動体システムは、
第1移動体と、
前記第1移動体に追従する第2移動体と、を備え、
前記第2移動体は、
前記第1移動体との相対位置を検出する先行移動体検出部と、
前記第1移動体との相対位置に基づいて、前記第1移動体に追従するように前記第2移動体の移動を制御する移動制御部と、を備え、
前記第1移動体は、
前記第2移動体との相対位置を検出する追従移動体検出部と、
前記第2移動体との相対位置に基づいて、前記第2移動体の先行移動体検出部の検出範囲内に位置するように前記第1移動体の移動を制御する移動制御部と、を備える。
【0010】
本開示の移動体の制御方法は、
移動体の制御方法であって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する。
【0011】
本開示のプログラムは、
移動体に実行させるプログラムであって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する処理を移動体に実行させる。
【発明の効果】
【0012】
本開示によって、後続の移動体が先行する移動体に精度よく追従できる移動体、移動体システム、移動体の制御方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0013】
図1】第1の実施形態に係る移動体の構成の一例を示すブロック図である。
図2】第2の実施形態に係る移動体の構成の一例を示すブロック図である。
図3】第2の実施形態に係る移動体を上側から見た図である。
図4】第2の実施形態に係る移動体を下側から見た図である。
図5】第2の実施形態に係る移動体システムの構成の一例を示す図である。
図6】第2の実施形態に係る移動体システムの動作の一例を示すフローチャートである。
図7】第2の実施形態に係る移動体システムの各移動体の移動制御の一例を示す図である。
図8】第2の実施形態に係る移動体システムの各移動体の移動制御の一例を示す図である。
図9】第2の実施形態に係る移動体システムの各移動体の移動制御の一例を示す図である。
図10】第2の実施形態に係る移動体システムの各移動体の移動制御の一例を示す図である。
図11】第3の実施形態に係る移動体の構成の一例を示すブロック図である。
図12】本実施形態に係るコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【0015】
(第1の実施形態)
まず、図1を用いて、第1の実施形態に係る移動体1000の構成を説明する。移動体1000は、先行移動体検出部1100、追従移動体検出部1200および移動制御部1800を備える。
【0016】
先行移動体検出部1100は、移動体1000に先行する先行移動体との相対位置を検出する。追従移動体検出部1200は、移動体1000に追従する追従移動体との相対位置を検出する。移動制御部1800は、先行移動体との相対位置に基づいて、先行移動体を追従するように移動体1000の移動を制御する。また、移動制御部1800は、追従移動体との相対位置に基づいて、移動体1000が追従移動体から所定の範囲内に位置するように移動体1000の移動を制御する。
【0017】
したがって、第1の実施形態に係る移動体1000は、後続の移動体(追従移動体)が精度よく移動体1000に追従できるように移動する。
【0018】
(第2の実施形態)
続いて、図2を用いて、第2の実施形態に係る移動体1000の構成を説明する。図2に示すように、移動体1000は、先行移動体検出部1100、追従移動体検出部1200、移動制御部1800および移動機構部1900を備える移動体であり、例えば車両やロボットなど車輪やキャタピラを持つ移動体や、ドローンなどプロペラを持つ移動体である。
【0019】
先行移動体検出部1100は、移動体1000に先行する移動体(以下、先行移動体)との相対位置を検出するセンサであり、例えば、RGBカメラ、LiDAR、測距センサなどである。以下、相対位置は、2次元空間または3次元空間での相対位置を示す。相対位置は、移動体間の距離や角度で示されてもよい。
【0020】
追従移動体検出部1200は、移動体1000に追従する移動体(以下、追従移動体)との相対位置を検出するセンサであり、例えば、RGBカメラ、LiDAR、測距センサなどである。
【0021】
移動制御部1800は、先行移動体との相対位置に基づいて、先行移動体に追従するように移動体1000の移動を制御する。具体的には、移動制御部1800は、先行移動体との相対位置と予め設定された先行移動体との相対位置との相対位置差から、先行移動体を追従するように移動体1000の移動を制御するための移動制御量を算出する。そして、移動制御部1800は、移動制御量に応じて移動体1000の移動を制御する。
【0022】
加えて、移動制御部1800は、追従移動体との相対位置に基づいて、移動体1000が追従移動体から所定の範囲内に位置するように移動体1000の移動を制御する。当該所定の範囲は、追従移動体が移動体1000を見失わない範囲であり、各々設定できる。例えば、当該所定の範囲は、追従移動体に設けられた移動体との相対位置を検出するためのRGBカメラやセンサ等の検出範囲内である。具体的には、移動制御部1800は、追従移動体との相対位置に基づいて、前述した移動制御量で移動体1000を制御した際に移動体1000が追従移動体から所定の範囲内に位置するように移動制御量を決定する。
【0023】
ここで、移動体1000の先行移動体検出部1100では、先行移動体との相対位置を検出する際に誤差が発生する可能性がある。当該検出誤差が発生した場合、移動体1000は先行移動体が静止しているにもかかわらず常に動き続けてしまう可能性がある。移動体1000は、上述の構成に加えて、次の当該検出誤差によって常に動き続けてしまう可能性を低減する構成を備える。移動体1000の移動制御部1800は、前述した相対位置差が所定の閾値を超える場合、先行移動体を追従するように移動体1000の移動を制御する。一方、移動制御部1800は、相対位置差が所定の閾値以下の場合、移動体1000の移動の制御を停止する。他方、移動制御部1800は、所定の確率で、先行移動体を追従するように移動体1000の移動を制御してもよい。また、移動制御部1800は、先行移動体との相対位置を検出してから所定の時間経過後、先行移動体を追従するように移動体1000の移動を制御してもよい。
【0024】
ここで、移動制御部1800は、移動機構部1900を動作させることによって、上述したように移動体1000の移動を制御する。
移動機構部1900は、移動体1000を移動させるための機構であり、例えばタイヤやキャタピラ、プロペラなどである。
【0025】
続いて、図3を用いて、第2の実施形態に係る移動体1000を上側から見た構成の一例を説明する。図3に示すように、移動体1000は、一方側に先行移動体検出部1100としてRGBカメラを装備し、反対の他方側に追従移動体検出部1200としてRGBカメラを装備している。
【0026】
続いて、図4を用いて、第2の実施形態に係る移動体1000を下側(地面側)から見た構成の一例を説明する。図4に示すように、移動体1000は、移動機構部1900として左タイヤ1901、右タイヤ1902、自在輪1903からなり、2輪作動駆動型の移動機構を構成する。ここでは2輪作動駆動型の移動機構の例を示したが3輪、4輪など車輪の数やその移動機構の形式に依存するものではない。
【0027】
続いて、図5を用いて、第2の実施形態に係る移動体システム2の構成の一例を説明する。移動体システム2は、複数の移動体1000を備え、複数の移動体1000が横隊列走行するシステムである。図5に示す一例では、移動体システム2は、移動体1010(第3移動体)、移動体1020(第1移動体)および移動体1030(第2移動体)を備え、移動体1010、移動体1020および移動体1030の3台が横隊列走行するシステムである。移動体1010、移動体1020、移動体1030は、それぞれ上述した移動体1000と同様の構成を備える。つまり、移動体1010は、先行移動体検出部1110、追従移動体検出部1210、移動制御部1810および移動機構部1910を備える。移動体1020は、先行移動体検出部1120、追従移動体検出部1220、移動制御部1820および移動機構部1920を備える。移動体1030は、先行移動体検出部1130、追従移動体検出部1230、移動制御部1830および移動機構部1930を備える。
【0028】
移動体1010は、移動体1020の先行移動体となる関係である。移動体1020は、移動体1010の追従移動体かつ移動体1030の先行移動体となる関係である。移動体1030は、移動体1020の追従移動体となる関係である。ここでは、移動体1010~1030は全く同じ構成の移動体としているが、移動体1010の先行移動体検出部1110と、移動体1030の追従移動体検出部1230は図5に示す一例では使用しないので省略してもよい。
【0029】
移動体1010は、3台の集団の中で先行する移動体である。先行して移動する方法は、ゴールまで自律移動する方法のほか、ラジコンなど人が遠隔制御可能な機構を装備して遠隔操作によって移動してもよく、特に方式は問わない。
【0030】
移動体1020および移動体1030は、例えば次の構成を備える。
移動体1020の先行移動体検出部1120は、移動体1010との相対位置を検出する。移動体1010との相対位置に基づいて、移動体1010に追従するように移動体1020の移動を制御する。また、移動体1020の追従移動体検出部1220は、移動体1030との相対位置を検出する。移動制御部1820は、移動体1030との相対位置に基づいて、移動体1030の先行移動体検出部1130(例えばRGBカメラ)の検出範囲内に位置するように移動体1020の移動を制御する。ここで、移動制御部1820は、移動体1010との相対位置に基づいて、移動体1010を追従するように移動体1020の移動を制御するための移動制御量を算出する。それと共に、移動制御部1820は、移動体1030との相対位置に基づいて、移動制御量で移動体1020を制御した際に移動体1020が移動体1030の先行移動体検出部1130の検出範囲内に位置するように移動制御量を決定する。
【0031】
移動体1030の先行移動体検出部1130は、移動体1020との相対位置を検出する。移動制御部1830は、移動体1020との相対位置に基づいて、移動体1020に追従するように移動体1030の移動を制御する。
【0032】
また、移動体システム2は、各移動体における先行移動体検出部の当該検出誤差は、追従する段数が大きければ大きいほど蓄積する。例えば、追従する段数は、最も先行する移動体、つまり移動体1010からの距離であり、移動体1020は段数が1、移動体1030は段数が2である。移動体システム2は、上述の構成に加えて、段数を考慮し、次の当該検出誤差によって常に動き続けてしまう可能性を低減する構成を備える。移動体1020の移動制御部1820は、移動体1010との相対位置と予め設定された移動体1010との相対位置との相対位置差を算出する。移動制御部1820は、相対位置差が第1の閾値を超える場合、移動体1010を追従するように移動体1020の移動を制御する。また、移動体1030の移動制御部1830は、移動体1020との相対位置と予め設定された移動体1020との相対位置との相対位置差を算出する。移動制御部1830は、相対位置差が第1の閾値よりも高い第2の閾値を超える場合、移動体1020を追従するように移動体1030の移動を制御する。
【0033】
他方、移動体システム2は、次の構成を備えていてもよい。
移動体1020の移動制御部1820は、第1確率で、移動体1010を追従するように移動体1020の移動を制御する。また、移動体1030の移動制御部1830は、第1確率よりも低い第2確率で、移動体1020を追従するように移動体1030の移動を制御する。
また、移動体1020の移動制御部1820は、移動体1010との相対位置を検出してから第1の待機時間経過後、移動体1010を追従するように移動体1020の移動を制御する。移動体1030の移動制御部1830は、移動体1020との相対位置を検出してから第1の待機時間よりも長い第2の待機時間経過後、移動体1020を追従するように移動体1030の移動を制御する。
【0034】
続いて、図6を用いて、第2の実施形態に係る移動体システム2における移動体1010、移動体1020および移動体1030の動作を説明する。ここでは、先行移動体と追従移動体の両方が存在する移動体1020の動作について説明するが、移動体1010、1030も先行移動体、追従移動体の両方が存在しない以外、動作は同じである。また本実施形態では、3台の構成を示したが2台以上であれば動作はすべて同じとなる。
【0035】
移動体1020の移動制御部1820は、RGBカメラなどの先行移動体検出部1120を用いて先行移動体1010に対する相対位置VSを検出する(ステップS101)。以下の説明では、相対位置は、2次元空間中または3次元空間中の相対位置であり、ベクトル量で表される。なお、相対位置は、移動体間の距離および角度で示されてもよい。
【0036】
移動体1020の移動制御部1820は、次の方法で先行移動体1010に対する相対位置を検出する。例えば二次元バーコードを先行移動体1010に張り付けしておく。移動体1020の先行移動体検出部1120は二次元バーコードを検出する。移動制御部1820は、その形状と大きさから相対位置VSを計算する。具体的には、検出した二次元バーコードの形状から相対角度と、二次元バーコードの大きさから相対距離を求め相対位置VSとする。なお、移動体1020は、先行移動体1010の追従面が平らであるならばセンサとしてLiDARを用いてその面の傾きと面の大きさを検出してもよい。
【0037】
次に、移動制御部1820は、予め設定した先行移動体1010に対する相対位置VBと検出した先行移動体1010に対する相対位置VSとの相対位置差VDを算出する(ステップS102)。相対位置VBは、移動体1020が先行移動体1010を追従する際にどの位置にいるかを示すものである。相対位置差VDは、ベクトル量であり、VD=VB-VSとして算出される。
【0038】
次に、移動制御部1820は、算出された相対位置差VDが閾値αより大きいか否かを判定する(ステップS103)。
相対位置差VDが閾値α以下の場合、移動制御を行うことなくステップS101に戻る(ステップS103のNo)。一方、相対位置差VDが閾値αより大きい場合(ステップS103のYes)、相対位置差VDを最小にするような移動制御量VAを算出する(ステップS104)。移動制御量VAは、ベクトル量で表され、例えばVA=-VDとして算出される。
【0039】
上述した閾値αは、移動制御を行うか否かを判定するためのパラメータである。閾値αが十分小さい場合は移動開始や停止などの追従動作の遅れがなくなる。しかし、先行移動体検出部1120など検出誤差などによって、例えば静止しているにもかかわらず検出した値に一定の幅を持ってしまう場合、移動体1020は常に動き続けてしまう。そのため、閾値αは、ある程度の大きさを持つことが望ましい。一方で、閾値αが十分に大きい場合、常に移動体1020が動き続けることはないが、移動体1020が移動を開始または停止する際の動き出しまでの時間や停止するまでの時間が増大するため、移動体1020は遅れて先行移動体1010を追従することになる。
【0040】
ここで、追従する段数が大きければ大きいほど各先行移動体検出部の検出誤差が蓄積する。当該検出誤差が蓄積する程、移動体が常に動き続けてしまう可能性が高くなる。したがって、上述した閾値αは、追従する段数が大きければ大きいほど高くし、移動体が常に動き続けてしまう可能性を低減する。例えば、追従移動体1030の閾値αは、移動体1020の閾値αよりも高く設定される。
【0041】
なお、ステップS103において閾値αの大小によって移動制御するか否かを判断しているが、移動制御部1820は、所定の確率で移動体1020を移動制御してもよい。追従する段数が大きければ大きいほど検出誤差が蓄積するため、確率は追従する段数が大きければ大きいほど低く設定され、各移動体が常に動き続けてしまう可能性を低減する。例えば、追従移動体1030の確率は、移動体1020の確率よりも低く設定される。
【0042】
また、ステップS103において閾値αの大小によって移動制御するか否かを判断しているが、移動制御部1820は、所定の待機時間経過後、ステップS104の処理を行ってもよい。追従する段数が大きければ大きいほど検出誤差が蓄積するため、待機時間は追従する段数が大きければ大きいほど長く設定され、各移動体が常に動き続けてしまう可能性を低減する。例えば、追従移動体1030の待機時間は、移動体1020の待機時間よりも長く設定される。
【0043】
次に、移動制御部1820は、RGBカメラなどの追従移動体検出部1220を用いて追従移動体1030に対する相対位置VRを計算する(ステップS105)。
【0044】
次に、移動制御部1820は、相対位置VRに基づいて、移動体1020を移動制御量VAで移動制御した際に移動体1020が追従移動体1030の検出範囲内に存在するか否かを判断する(ステップS106)。つまり、移動制御部1820は、移動制御した際に移動体1020が追従移動体1030によって見失われないか否かを判断する。追従移動体1030の検出範囲は、追従移動体1030の先行移動体検出部1130の検出範囲であり、先行移動体検出部1130(例えばRGBカメラ)の仕様(例えば画角と画素)と検出するマーカの大きさから算出される。移動体1020は、追従移動体1030の検出範囲を予め記憶している。
【0045】
移動体1020が追従移動体1030の検出範囲内に存在しない場合(ステップS107のYes)、移動制御部1820は、移動体1020を移動制御量VAで移動制御した際に移動体1020が追従移動体1030の検出範囲内に存在するように移動制御量VAを修正する(ステップS108)。この際、移動制御部1820は、移動制御量VAを線形的に減少させる、すなわちベクトル量を小さくするように移動制御量VAを修正する。一方、移動体1020が追従移動体1030の検出範囲内に存在する場合(ステップS107のYes)、移動制御部1820は、ステップS108で移動制御量VAを修正しない。
【0046】
次に、移動制御部1820は、移動機構部1900に移動体1020が移動制御量VAで移動するように指示する(ステップS109)。
なお、ステップS109において、移動制御部1820は、移動機構部1900に移動体1020が移動制御量VAで移動するように指示する内容を記憶する。そして、移動制御部1820は、記憶した指示内容に基づいて、移動体1020が所定時間内に同じ移動をする場合は当該同じ移動を制御しないようにしてもよい。そうすることによって、先行移動体検出部1120の検出誤差によって移動体1020が常に動き続けてしまう可能性を低減する。
【0047】
続いて、図7図10を用いて、移動体システム2における移動体1010、移動体1020および移動体1030の移動制御の一例を説明する。図7に示す一例では、先行移動体1010は、移動体1020によって見失われないように移動を制御している。次に、図8に示す一例では、移動体1020は、追従移動体1030によって見失われないように移動を制御している。すなわち、すべての移動体が先行する移動体を見失うことなく移動を制御することができる。図7および図8は直線的に移動体が移動した一例であるが、図9および図10のように移動体が回転し角度が変わっても同様である。
【0048】
なお、本実施形態では、先行移動体検出部1120と追従移動体検出部1220は別の構成としたが1台であってもよい。
【0049】
上述の説明より、第2の実施形態に係る移動体システム2では、移動体1000は、先行移動体との相対位置に基づいて、先行移動体を追従するように移動体1000の移動を制御する。それに伴って、移動体1000は、追従移動体との相対位置に基づいて、移動体1000が追従移動体から所定の範囲内に位置するように移動体1000の移動を制御する。つまり、移動体1000が追従移動体を見失わないように、または追従移動体によって見失われないように移動を制御する。移動体1000では、後続の移動体が精度よく追従できる。
【0050】
また、移動体システム2では、移動体1000は、移動を制御するか否かの判定のために、閾値α、確率および経過時間を用いる。したがって、移動体1000では、先行移動体との相対位置を検出する際の検出誤差によって移動体1000が常に動き続ける可能性を低減することができる。
【0051】
また、移動体システム2では、システムを構成する各移動体の段数に応じて前述の閾値α、確率および経過時間を変更する。したがって、各移動体では、先行移動体との相対位置を検出する際の検出誤差の蓄積を考慮して、各移動体が常に動き続ける可能性を低減することができる。
【0052】
また、移動体システム2では、移動体1000は、移動制御量VAで移動するように指示する内容を記憶することで、所定の時間内に同じ動作をしないように制御する。したがって、移動体1000は、先行移動体との相対位置を検出する際の検出誤差によって移動体1000が常に動き続ける可能性を低減することができる。
【0053】
(第3の実施形態)
続いて、図11を用いて、第3の実施形態に係る移動体2000の構成の一例を説明する。図11に示すように、移動体2000は、第2の実施形態に係る移動体1000に動作情報検出部1600および動作情報伝達部1700を追加した構成である。
【0054】
動作情報伝達部1700は、移動制御部1800によって決定された制御情報(例えば移動制御量)を移動体2000の追従移動体に伝達する。動作情報伝達部1700は、ディスプレイやLEDなどの光のほか、ブザーやスピーカーなどの音、無線通信など、通信と光と音との少なくとも一つの手段によって伝達する。なお、動作情報伝達部1700は、移動体2000の先行移動体に制御情報を伝達してもよい。
【0055】
また、動作情報伝達部1700は、移動体2000が実行する動作の前に、移動体2000の今後実行する動作情報に対応する予備動作を移動体2000に実行させる。例えば、予備動作は、移動体2000が左、右、直進など移動するなどの今後実行する動作情報にそれぞれに紐づけられて記憶されている。なお、動作情報伝達部1700は、ディスプレイやLEDなどの光のほか、ブザーやスピーカーなどの音、無線通信など、通信と光と音との少なくとも一つの手段によって予備動作を伝達してもよい。
【0056】
動作情報検出部1600は、通信と光と音との少なくとも一つの手段によって、移動体2000の先行移動体の制御情報を検出する。移動制御部1800は、先行移動体の制御情報を用いて、移動体2000の移動を制御する。
【0057】
また、動作情報検出部1600は、先行移動体の予備動作を検出する。動作情報検出部1600は、例えば、RGBカメラである。移動制御部1800は、先行移動体の予備動作を用いて、移動体2000の移動を制御する。この際、予備動作は、先行移動体が左、右、直進など移動するなどの今後実行する動作情報にそれぞれ紐づけられて記憶されている。
【0058】
続いて、第3の実施形態に係る移動体システム3(不図示)の構成の一例を説明する。移動体システム3は、複数の移動体2000を備え、複数の移動体2000が横隊列走行するシステムである。例えば、移動体システム3は、移動体2010、移動体2020および移動体2030を備え、移動体2010、移動体2020および移動体2030の3台が横隊列走行するシステムである。
【0059】
移動体システム3の移動体2010、移動体2020および移動体2030は、それぞれ第2の実施形態に係る移動体システム2の移動体1010、移動体1020および移動体1030に対応する(図5を参照)。ここで、移動体2020は、先行移動体検出部1120、追従移動体検出部1220、移動制御部1820および移動機構部1920に加えて、動作情報伝達部1720を備える。また、移動体2030は、先行移動体検出部1130、追従移動体検出部1230、移動制御部1830および移動機構部1930に加えて、動作情報検出部1630を備える。
【0060】
具体的には、移動体2020の動作情報伝達部1720は、通信と光と音との少なくとも一つの手段によって、移動体2020の制御情報を移動体2030に伝達する。そして、移動体2030の動作情報検出部1630は、移動体2020の制御情報を検出する。移動体2030の移動制御部1830は、移動体2020の制御情報に基づいて、移動体2030の移動を制御する。
【0061】
また、移動体2020の動作情報伝達部1700は、今後実行する動作情報に対応する予備動作を移動体2020に実行させる。移動体2030の動作情報検出部1600は、先行移動体の予備動作を検出する。移動体2030の移動制御部1830は、移動体2020の予備動作に基づいて、移動体2030の移動を制御する。
【0062】
上述の説明より、第3の実施形態に係る移動体2000は、先行移動体または追従移動体の移動制御情報や今後実行する動作情報を検出する。移動体2000は、検出した情報を用いることで先行移動体または追従移動体の動作をより把握し、より精度よく移動を制御することができる。
【0063】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上述の移動体1000および移動体2000は、車輪を持つ移動体に限られず、ドローンのように空中を3次元的に動作する移動体でもよい。この場合、移動体1000および移動体2000は、移動機構部1900の構成を備えなくてもよい。
また、例えば、上述の移動体2000にて先行移動体ならびに予備動作を検出するためにRGBカメラを用いることで動作情報検出部1600と追従移動体検出部1200を1つとして構成してもよい。
【0064】
<ハードウェア構成>
続いて、図12を用いて、第1、第2、第3の実施形態に係る移動体1000および移動体2000のコンピュータ500のハードウェア構成例を説明する。図12においてコンピュータ500は、プロセッサ501と、メモリ502とを有している。プロセッサ501は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ501は、複数のプロセッサを含んでもよい。メモリ502は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ502は、プロセッサ501から離れて配置されたストレージを含んでもよい。この場合、プロセッサ501は、図示されていないI/Oインターフェイスを介してメモリ502にアクセスしてもよい。
【0065】
また、上述の実施形態における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。上述の実施形態における各構成の機能(処理)を、コンピュータにより実現してもよい。例えば、メモリ502に実施形態における方法を行うためのプログラムを格納し、各機能を、メモリ502に格納されたプログラムをプロセッサ501で実行することにより実現してもよい。
【0066】
これらのプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
【0067】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
移動体であって、
前記移動体に先行する先行移動体との相対位置を検出する先行移動体検出部と、
前記移動体に追従する追従移動体との相対位置を検出する追従移動体検出部と、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する移動制御部と、を備える
移動体。
(付記2)
前記移動制御部は、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御するための移動制御量を算出すると共に、
前記追従移動体との相対位置に基づいて、前記移動制御量で前記移動体を制御した際に前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動制御量を決定する
付記1に記載の移動体。
(付記3)
前記移動制御部は、
前記先行移動体との相対位置と予め設定された前記先行移動体との相対位置との相対位置差を算出し、
前記相対位置差が所定の閾値を超える場合、前記先行移動体を追従するように前記移動体の移動を制御する
付記1に記載の移動体。
(付記4)
前記移動制御部は、
所定の確率で、前記先行移動体を追従するように前記移動体の移動を制御する
付記1に記載の移動体。
(付記5)
前記移動制御部は、
前記先行移動体との相対位置を検出してから所定の時間経過後、前記先行移動体を追従するように前記移動体の移動を制御する
付記1に記載の移動体。
(付記6)
通信と光と音との少なくとも一つの手段によって、前記移動体の制御情報を前記追従移動体に伝達する動作情報伝達部をさらに備える
付記1に記載の移動体。
(付記7)
通信と光と音との少なくとも一つの手段によって、前記先行移動体の制御情報を検出する動作情報検出部をさらに備え、
前記移動制御部は、
前記先行移動体の制御情報に基づいて、前記移動体の移動を制御する
付記1に記載の移動体。
(付記8)
前記移動制御部は、
前記移動体が今後実行する動作情報に対応する予備動作を前記移動体に実行させる
付記1に記載の移動体。
(付記9)
前記先行移動体が今後実行する動作情報に対応する予備動作を検出する動作情報検出部をさらに備え、
前記先行移動体が今後実行する動作情報に基づいて、前記移動体の移動を制御する
付記1に記載の移動体。
(付記10)
第1移動体と、
前記第1移動体に追従する第2移動体と、を備え、
前記第2移動体は、
前記第1移動体との相対位置を検出する先行移動体検出部と、
前記第1移動体との相対位置に基づいて、前記第1移動体に追従するように前記第2移動体の移動を制御する移動制御部と、を備え、
前記第1移動体は、
前記第2移動体との相対位置を検出する追従移動体検出部と、
前記第2移動体との相対位置に基づいて、前記第2移動体の先行移動体検出部の検出範囲内に位置するように前記第1移動体の移動を制御する移動制御部と、を備える
移動体システム。
(付記11)
前記第1移動体に先行する第3移動体をさらに備え、
前記第1移動体は、
第3移動体との相対位置を検出する先行移動体検出部と、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御する移動制御部と、をさらに備え、
前記第1移動体の移動制御部は、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御するための移動制御量を算出すると共に、
前記第2移動体との相対位置に基づいて、前記移動制御量で前記第1移動体を制御した際に前記第1移動体が前記第2移動体の先行移動体検出部の検出範囲内に位置するように前記移動制御量を決定する
付記10に記載の移動体システム。
(付記12)
前記第1移動体に先行する第3移動体をさらに備え、
前記第1移動体は、
第3移動体との相対位置を検出する先行移動体検出部と、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御する移動制御部と、をさらに備え、
前記第1移動体の移動制御部は、
前記第3移動体との相対位置と予め設定された前記第3移動体との相対位置との相対位置差を算出し、前記相対位置差が第1の閾値を超える場合、前記第3移動体を追従するように前記第1移動体の移動を制御し、
前記第2移動体の移動制御部は、
前記第1移動体との相対位置と予め設定された前記第1移動体との相対位置との相対位置差を算出し、前記相対位置差が前記第1の閾値よりも高い第2の閾値を超える場合、前記第1移動体を追従するように前記第2移動体の移動を制御する
付記10に記載の移動体システム。
(付記13)
前記第1移動体に先行する第3移動体をさらに備え、
前記第1移動体は、
第3移動体との相対位置を検出する先行移動体検出部と、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように前記第1移動体の移動を制御する移動制御部と、をさらに備え、
前記第1移動体の移動制御部は、
第1確率で、前記第3移動体を追従するように前記第1移動体の移動を制御し、
前記第2移動体の移動制御部は、
前記第1確率よりも低い第2確率で、前記第1移動体を追従するように前記第2移動体の移動を制御する
付記10に記載の移動体システム。
(付記14)
前記第1移動体は、通信と光と音との少なくとも一つの手段によって、前記第1移動体の制御情報を前記第2移動体に伝達する動作情報伝達部をさらに備え、
前記第2移動体は、前記第1移動体の制御情報を検出する動作情報検出部をさらに備え、
前記第2移動体の移動制御部は、
前記第1移動体の制御情報に基づいて、前記第2移動体の移動を制御する
付記10に記載の移動体システム。
(付記15)
前記第1移動体の移動制御部は、
前記第1移動体が今後実行する動作情報に対応する予備動作を前記第1移動体に実行させ、
前記第2移動体は、前記第1移動体の予備動作を検出する動作情報検出部をさらに備え、
前記第2移動体の移動制御部は、
前記第1移動体の予備動作に対応する前記第1移動体が今後実行する動作情報に基づいて、前記第2移動体の移動を制御する
付記10に記載の移動体システム。
(付記16)
前記第1移動体に先行する第3移動体をさらに備え、
前記第1移動体は、
第3移動体との相対位置を検出する先行移動体検出部と、
前記第3移動体との相対位置に基づいて、前記第3移動体を追従するように自装置の移動を制御する移動制御部と、をさらに備え、
前記第1移動体の移動制御部は、
前記第3移動体との相対位置を検出してから第1の待機時間経過後、前記第3移動体を追従するように前記第1移動体の移動を制御し、
前記第2移動体の移動制御部は、
前記第1移動体との相対位置を検出してから前記第1の待機時間よりも長い第2の待機時間経過後、前記第1移動体を追従するように前記第2移動体の移動を制御する
付記10に記載の移動体システム。
(付記17)
移動体の制御方法であって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する
移動体の制御方法。
(付記18)
移動体に実行させるプログラムであって、
前記移動体に先行する先行移動体との相対位置を検出し、
前記移動体に追従する追従移動体との相対位置を検出し、
前記先行移動体との相対位置に基づいて、前記先行移動体を追従するように前記移動体の移動を制御すると共に、前記追従移動体との相対位置に基づいて、前記移動体が前記追従移動体から所定の範囲内に位置するように前記移動体の移動を制御する処理を移動体に実行させる
プログラム。
【符号の説明】
【0068】
2、3 移動体システム
500 コンピュータ
501 プロセッサ
502 メモリ
1000、2000 移動体
1010、2010 移動体(第3の移動体)
1020、2020 移動体(第1の移動体)
1030、2030 移動体(第2の移動体)
1100 先行移動体検出部
1200 追従移動体検出部
1600 動作情報検出部
1700 動作情報伝達部
1800 移動制御部
1900 移動機構部
1901 左タイヤ
1902 右タイヤ
1903 自在輪
1910 移動機構部
1920 移動機構部
1930 移動機構部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12