JP6879233B2 - 制御装置、方法及びプログラム - Google Patents

制御装置、方法及びプログラム Download PDF

Info

Publication number
JP6879233B2
JP6879233B2 JP2018043955A JP2018043955A JP6879233B2 JP 6879233 B2 JP6879233 B2 JP 6879233B2 JP 2018043955 A JP2018043955 A JP 2018043955A JP 2018043955 A JP2018043955 A JP 2018043955A JP 6879233 B2 JP6879233 B2 JP 6879233B2
Authority
JP
Japan
Prior art keywords
type
object unit
unit
control object
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018043955A
Other languages
English (en)
Other versions
JP2019053709A (ja
Inventor
洋 川野
洋 川野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JP2019053709A publication Critical patent/JP2019053709A/ja
Application granted granted Critical
Publication of JP6879233B2 publication Critical patent/JP6879233B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の制御対象物の行動を制御する技術に関する。
近年、多数の自律移動ロボットを効率的に制御にするための研究が活発に行われている。その任務内容は、人の入れない箇所の監視、物品の搬送などさまざまであるが、多数のロボットの協調動作による隊列形成を効率的に行わせるための技術が求められており盛んに研究が行われている。
特に、ロボットの隊列制御の中でも、ロボット同士が互いに接したままの状態で、アメーバのように全体で移動を行うという仮定の下でのロボット隊列制御においては、ロボット同士の相対的な位置関係から、各ロボットの絶対位置の決定が可能であるという利点と、付加的な位置計測用の装備を必要としないという利点があり、そのようなロボットの研究もおこなわれている(例えば、非特許文献1,2参照。)。
非特許文献1は、全てのロボットが同じ性質を持つ(ホモジニアス)という前提の下で、任意の初期隊列形成状態から目的隊列形成状態へ変形する隊列制御を実現する方法が開示されている。ここでは、8つのロボットを1つの単位として移動させることで、従来よりも効率的な隊列制御を実現している。
非特許文献2では、各矩形ロボットが異なる性質を持つ(ヘテロジニアス)という前提の下で、任意の形状隊列から他の形状隊列へ変形する隊列制御の方法が開示されている。
このような、多数のロボットによる効率的な隊列形成を実現するには、それぞれのロボットの配置、動作順序などを事前に計画することが重要である。このような計画においては、当然ながら、複数のロボットが動作する実環境における障害物の存在や経路の形状なども十分に考慮しなければならない。
Kawano, H., "Complete Reconfiguration Algorithm for Sliding Cube-shaped Modular Robots with only Sliding Motion Primitive", 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS 2015), pp.3276-3283, September 2015, Hamburg, Germany. R. Fitch, Z. Butler, D. Rus, "Reconfiguration Planning for Heterogeneous Self-Reconfiguring Robots", in Proc.2003 IEEE/RSJ Int. Conf. Intelligent Robots and Systems, pp. 2460-2467, Las Vegas, NV, Oct., 2003.
非特許文献2では、各ロボットが接した状態での動作を想定し、各ロボットが異なる特性(ヘテロジニアス)である、つまり、各ロボットの目標位置が特定されている場合の隊列制御を実現している。このような隊列制御は、例えば、カメラを搭載したロボット、車輪を搭載したロボット等の個々に異なる役割がある各ロボットをロボット隊列内の適切な位置に配置させつつ、隊列の形状を制御するといった運用に適している。
非特許文献1はホモジニアスを前提としており、隊列変形後の各ロボットの位置が保証されないため、ヘテロジニアスを前提とするような隊列形成の問題に適用することができない。
非特許文献2は、ヘテロジニアスを前提とする隊列形成を行うことができるが、隊列全体の形状の変形動作と、変形後のロボット位置の入れ替えを別個のプロセスとして行わなければならない。つまり、まずロボットの位置は問わずに形状(隊列)を目的隊列に変形する前に、各ロボットの位置が正しい目標位置となるように各ロボットの位置の入れ替えを行うための別の隊列形態をとり、ロボットの位置の入れ替えを行うのである。そのロボット位置の入れ替えの処理に非常に時間を要するため、全体として隊列制御にかかる時間が長いという問題がある。
このような現状に鑑みて、本発明は、隊列制御動作にかかる時間を短縮することができる制御装置、方法及びプログラムを提供することを目的とする。
この発明の一態様による制御装置は、制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、制御対象物単位には所定の初期位置及び所定の目標位置が定められており、初期位置の集合をSとし、目標位置の集合をGとし、第一型制御対象物単位の目標位置は第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は第二型制御対象物単位である制御対象物単位の目標位置であり、第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動制御部と、制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動制御部と、を含む制御装置であって、第一型制御対象物単位移動制御部は、 (CASE 1) 対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第二型制御対象物単位に隣接する位置又は移動後の第一型制御対象物単位に隣接する位置を目標位置とする第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 2) CASE 1に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第一型制御対象物単位の目標位置に他の第一型制御対象物単位が存在する場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 3) CASE 1及びCASE 2に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、CASE 4) CASE 1からCASE 3に該当する第一型制御対象物単位が存在しない場合には、S内でGに隣接する位置にある第一型制御対象物単位を標的第一型制御対象物単位として選択する標的第一型制御対象物単位選択部と、CASE 1の場合に、CASE 1で選択された標的第一型制御対象物単位をその目標位置に移動させる第一移動部と、CASE 2の場合に、他の第一型制御対象物単位を第1追い出し対象制御対象物単位とし、第1追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在するときにはその別の第一型制御対象物単位を第2追い出し対象制御対象物単位とする処理を、Kを正の整数として、第K追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在しなくなるまで繰り返し行い、k=1,…,Kとして、CASE 2で選択された標的第一型制御対象物単位、第1追い出し対象制御対象物単位、・・・、第K−1追い出し対象制御対象物単位のそれぞれを目標位置に移動させ、第K追い出し対象制御対象物単位を第K追い出し対象制御対象物単位の目標位置に最も近いG内の位置に移動させる第二移動部と、CASE 3及びCASE 4の場合に、CASE 3及びCASE 4で選択された標的第一型制御対象物単位を、現在の制御対象物単位構造に隣接する制御対象物のない空隙位置であって、その標的第一型制御対象物単位の目標位置に最も近いG内の位置に移動させる第三移動部と、全ての第一型制御対象物単位が目標位置に移動するまで、標的第一型制御対象物単位選択部、第一移動部、第二移動部及び第三移動部の処理を繰り返し行うように制御する第一制御部と、を含み、第二型制御対象物単位移動制御部は、目標位置に到達していない第二型制御対象物単位を標的第二型制御対象物単位として選択する標的第二型制御対象物単位選択部と、選択された標的第二型制御対象物単位を目標位置に移動させるときに制御対象物構造の接続性が維持されるかどうか判定し、(1)制御対象物構造の接続性が維持されると判定された場合には、選択された標的第二型制御対象物単位を目標位置に移動させ、(2)制御対象物構造の接続性が維持されないと判定された場合には、選択された標的第二型制御対象物単位の位置に制御対象物構造の接続性を維持しながら移動することができる第二型制御対象物単位である交換第二型制御対象物単位を選択し、選択された交換第二型制御対象物単位を選択された標的第二型制御対象物単位の位置に移動させた後に選択された標的第二型制御対象物単位を目標位置に移動させる移動制御部と、目標位置に到達していない第二型制御対象物単位がなくなるまで、標的第二型制御対象物単位選択部及び第二型制御対象物単位移動制御部の処理を繰り返し行うように制御する第二制御部と、を備えている。
この発明の一態様による制御装置は、制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、制御対象物単位には所定の初期位置及び所定の目標位置が定められており、初期位置の集合をSとし、目標位置の集合をGとし、第一型制御対象物単位の目標位置は第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は第二型制御対象物単位である制御対象物単位の目標位置であり、
第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動制御部と、制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動制御部と、を含む制御装置であって、制御対象物単位の初期位置の集合Sと目標位置の集合Gとは接しているとし、初期位置の集合Sに含まれる位置であって目標位置の集合Gに接している位置の1つを接続位置として、第一型制御対象物単位移動制御部は、各第一型制御対象物単位が制御対象物構造の接続性を維持しながら接続位置を通って目標位置に到達するまでのパスを接続位置から近い初期位置にある第一型制御対象物単位のパスから順に決定する第一パス決定部と、各第一型制御対象物単位が衝突しないように、各第一型制御対象物単位の待ち時間を決定する第一待ち時間調整部と、第一パス決定部により決定されたパス及び第一待ち時間調整部により決定された待ち時間に従って、各第一型制御対象物単位を移動させる第一移動部と、を含み、第二型制御対象物単位移動制御部は、各第二型制御対象物単位が制御対象物構造の接続性を維持しながら接続位置を通って目標位置に到達するまでのパスを接続位置から遠い位置を目標位置とする第二型制御対象物単位のパスから順に決定する第二パス決定部と、各第二型制御対象物単位が衝突しないように、各第二型制御対象物単位の待ち時間を決定する第二待ち時間調整部と、第二パス決定部により決定されたパス及び第二待ち時間調整部により決定された待ち時間に従って、各第二型制御対象物単位を移動させる第二移動部と、を備えている。
本発明に拠れば、隊列制御動作にかかる時間を短縮することができる。
ロボットの移動を説明するための図。 制御対象物の初期位置及び目標位置を説明するための図。 ボイドの移動の様子を説明するための図。 制御対象物単位を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物構造の非連続について説明するための図。 制御対象物構造の連続性を維持するための制御を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 制御対象物単位の移動を説明するための図。 第一実施形態の制御装置を説明するためのブロック図。 第一実施形態の制御方法を説明するための流れ図。 第一実施形態の制御方法を説明するための流れ図。 第二実施形態の制御装置を説明するためのブロック図。 第二実施形態の制御方法を説明するための流れ図。
以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
<理論的背景>
まず、行動制御システム及び方法の理論的背景について説明する。以下の説明において、制御対象物は、ロボットである。制御対象物は、制御の対象となり得るものであれば、ロボット以外であってもよい。
[問題設定]
任意の隊列形成を初期隊列形成状態として、制御対象物同士が接したままの状態を維持しつつ目的とする任意の隊列形成状態である目的隊列形成状態への隊列を移動させる隊列制御を、多数の制御対象物が協調して行う任務を、例えば図1に例示するような、互いに接する面同士をスライドさせて移動していくことが可能な立方体型の制御対象物の制御を想定して実現する。図2に示すように、壁で区切られた部屋(ただし図中、壁を省略する)において、初期隊列形成状態から目的隊列形成状態への変形を、複数の制御対象物の移動によって実現するものである。
初期隊列形成状態および目的隊列形成状態は、それぞれ図4B左に示すような8個の制御対象物から構成される立方体を基本構成要素(8マス制御対象物単位)として、これを組み合わせて形成される任意の形状であるものとする。8マス制御対象物単位のことを単に「制御対象物単位」と呼ぶこともある。異なる8マス制御対象物単位は異なる性質を持つ(ヘテロジニアス)ものとし、各8マス制御対象物単位内の各制御対象物は同一(ホモジニアス)とする。つまり、初期隊列形成状態および目的隊列形成状態において、各8マス制御対象物単位がどの位置にあるべきかは指定されているが、各8マス制御対象物単位内の各制御対象物の位置は問わない。
制御対象物については、例えば図1に示すように、制御対象物の周囲縦横高さ方向(以下「上下左右前後方向」ともいう)6マスのうち1つに他の制御対象物が存在している(1つの面を他制御対象物と共有している)状態を維持しながら移動をするものとする。この手法では1つの制御対象物自身が、一台の制御対象物のサイズ分の距離を移動することで、一回の動作の移動量を正確に測ることができるというメリットがある。また、1つの面を共有する隣り合う制御対象物との相対的な位置を計測しあうことで、制御対象物の群れ全体の中での各制御対象物の位置も容易に知ることができる。このため、制御対象物の移動量の誤差によって、隊列が崩れるといった問題を起こしにくく、また、各制御対象物の位置を把握するために付加的な位置計測用の装備を備えずとも位置の把握が可能である。また、複数の制御対象物を連結したように、同時に複数の制御対象物を移動させていくことが可能である。なお、制御対象物は、隣の位置に他の制御対象物が存在しているか否か、障害物があるか否か、そして、自身が目標位置上にいるかどうかを知ることができるものとする。
任務を行う制御対象物は、p個(p≧16=8×2)であり、各制御対象物は、隣接する制御対象物と一面以上を共有しつつ、三次元空間におけるX-Y-Z軸方向に移動可能とする。本発明では、制御対象物は図4Aに示すような4つの制御対象物で構成される制御対象物群を「4マス制御対象物単位」とし、図4Bのように4マス制御対象物単位を2つ組み合わせて構成されるメタブロック(以下、「8マス制御対象物単位」)を最小単位として初期隊列形成状態および目的隊列形成状態が形成されるものとする。よって、隊列を形成する制御対象物の総数pは8の倍数とする。
以下では、図4Bのドットで示す形状の4マス制御対象物単位を「第一型制御対象物単位」、図4Bの白色で示す形状の4マス制御対象物単位を「第二型制御対象物単位」と呼ぶこととする。
図1の各立方体は、それぞれの制御対象物の位置を示すものである。各立方体には制御対象物は一台しか存在することができない。それぞれの制御対象物は、移動しようとする方向に障害物か他の制御対象物がある場合には、静止をするものと仮定する。なお、制御対象物が存在しうる立方体状の空間をマス、または、格子ともいう。図2において、塗りつぶされたマスは制御対象物が存在する位置を示す。図2Aの制御対象物が存在する位置は制御対象物の初期位置の集合(初期隊列形成状態)を示し、図2Cの制御対象物が存在する位置は制御対象物の目標位置の集合(目的隊列形成状態)を示す。図2Bに示すように、目標位置の集合と初期位置の集合は接している。目標位置の集合で表される領域を目標隊列エリアともいう。このように、各初期位置及び各目標位置は、それぞれ縦横高さ方向の少なくとも何れかの方向において他の初期位置及び目標位置と隣接し、制御対象物の初期位置及び目標位置での隊列形状はそれぞれ一塊の任意の形状である。
[制御対象物の座標設定]
それぞれの制御対象物i(iは制御対象物番号を表すi=0,1,2,3,…,p-1)の位置を(Xr[i],Yr[i],Zr[i])とし、初期位置を(Xr0[i],Yr0[i],Zr0[i])とし、目標位置を(Xre[i],Yre[i],Zre[i])とするとき、本問題は、初期位置に配置された制御対象物が、目標位置まで移動するための行動計画を求めることと定義できる。制御対象物の初期位置の集合をs、目標位置(Xre[i],Yre[i],Zre[i])の集合をgとする。
[任務空間の定義]
iを制御対象物番号としたとき、制御対象物iの各状態(制御対象物の位置と行動)は離散値で表現される。部屋をX,Y,Zの直交座標系からなる3次元空間で表すと、X軸、Y軸、Z軸をそれぞれ離散化表現した値により各位置を表現する。つまり、部屋(3次元空間)は格子で区切られ、各格子が各位置に対応する。また、各格子において、障害物の「ある/なし」が予め設定されている。
[制御対象物動作の定義]
また、行動主体は部屋に配置されている各制御対象物となる。制御対象物i(iは制御対象物番号)の行動aは、静止、縦横高さ方向への1格子分の移動、の計7種類のうちのいずれかを取る。例えば、a∈{0,1,2,3,4,5,6}として、
0: 静止
1: 三次元空間内でX軸正方向に1格子だけ移動する
2: 三次元空間内でY軸正方向に1格子だけ移動する
3: 三次元空間内でX軸負方向に1格子だけ移動する
4: 三次元空間内でY軸負方向に1格子だけ移動する
5: 三次元空間内でZ軸正方向に1格子だけ移動する
6: 三次元空間内でZ軸負方向に1格子だけ移動する
とする。
[探索計算上の問題点]
このような任務環境における状態空間は、制御対象物数×3の次元数の状態を持ち、かつ選択可能な行動数は、制御対象物の行動(=7通り)の制御対象物数乗だけ存在する。例えば、制御対象物数が50で、部屋の縦横高さ方向の格子数がそれぞれ20であるとすれば状態数は20の150乗個にもなり、探索計算に要する資源の量は膨大なものとなる。さらに制御対象物数が1台増えるごとに、その状態数は8000倍増加していくことになる。[問題設定]の項で説明したように、制御対象物同士が接しているという拘束条件を取り入れる場合、制御対象物のお互いの移動を考慮したうえで探索計算行わなければならないために、根本的な計算量の削減は難しく、複数の制御対象物を使用する場合の大きな問題となっている。
[参考文献1におけるヘテロジニアス隊列制御における特徴]
非特許文献4におけるヘテロジニアス隊列制御では、上述の計算負荷の問題を解決するための方策の1つとして、ボイド制御の考え方を導入している。また、[問題設定]で述べたような隊列変形の問題を克服するために、8マス制御対象物単位を最小単位として移動を行う。
まず、ボイド制御について説明する。ここでいうボイドとは、ある制御対象物が別の位置に移動した後に、元いた位置にできる空隙のことである。別の言い方をすると、ボイドとは、制御対象物の移動する方向と反対の方向に移動する仮想的な存在である。こうした群制御対象物の隊列形成問題においては、複数の制御対象物の動作に着目するがゆえに、その探索計算量が爆発してしまうが、視点を変えて、ボイドの動きに着目すれば、多数の制御対象物の動作計画の問題を単一のボイドの動作計画として考えることができ、探索計算負荷の軽減に適している。制御対象物の移動に伴ってボイドが移動していく様子を示す図を図3に示す。しかし、参考文献1では、8マスの中にフルに制御対象物が充填された8マス制御対象物単位を移動の最小単位として採用しているために、隊列構造内にボイドを意図的に生成しなければ制御対象物の移動ができず、そのため、隣接していない制御対象物同士の行き来には不自由な点が多かった。そのため、隊列の全体形状変形の際に、同時に各制御対象物を目標位置まで到達させるための移動を同時に行いにくかった。
〔参考文献1〕Kawano, H., “Tunneling-Based Self-Reconfiguration of Heterogeneous Sliding Cube-Shaped Modular Robots in Environments with Obstacles”, 2017 IEEE International Conference on Robotics and Automation, pp.825-832, May 2017, Singapore.
[本発明の原理]
本発明では、初期隊列形成状態および目標隊列形成状態は、非特許文献2や参考文献1と同じく8マス制御対象物単位を最小単位として構成されるものとする一方で、移動にあたっては、図4Bに示す第一型制御対象物単位および第二型制御対象物単位の4マス制御対象物単位で移動することを特徴とする。
本発明の隊列変換は、大まかには、以下のように説明できる。
まず、初期隊列形成状態内の各8マス制御対象物単位中の第一型制御対象物単位を目的隊列中の目標位置に移動させる(第一型制御対象物単位移動ステップ、図16A。なお、移動後の制御対象物は第二型制御対象物単位の形をとる)。次に、初期隊列形成状態内の各8マス制御対象物単位中の第二型制御対象物単位を目的隊列中の目標位置に移動させる(第二型制御対象物単位移動ステップ、図16B。なお、移動後の制御対象物は第一型制御対象物単位の形をとる)。
第一型制御対象物単位移動及び第二型制御対象物単位移動ステップでは、それぞれ4マス制御対象物単位での移動が行われる。まず、この4マス制御対象物単位の移動の基本的な考え方を説明するため、8マス制御対象物単位中の一方の4マス制御対象物単位が空隙であるとした仮定した隊列形成状態(例えば、第一型制御対象物単位が存在せず、第二型制御対象物単位のみで形成される隊列形成状態)における4マス制御対象物単位の移動方法を説明する。
[4マス制御対象物単位の移動]
初期隊列形成状態を集合S、目標隊列形成状態状態を集合Gとする。集合Sと集合Gはそれぞれ隊列を構成する各制御対象物単位の位置情報の集合である。言い換えれば、8マス制御対象物単位には所定の初期位置及び所定の目標位置が定められているとして、その初期位置の集合をSとし、その目標位置の集合をGとする。なお、以下では、集合Sを、初期位置Sと呼ぶこともある。同様に、集合Gを、目標位置Gと呼ぶこともある。そして、第一型制御対象物単位の目標位置はその第一型制御対象物単位の制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置はその第二型制御対象物単位の制御対象物単位の目標位置であるとする。
ある4マス制御対象物単位jの位置を(Xr_u[j],Yr_u[j], Zr_u[j])(j=0,1,2,…j_max-1)としたとき、その制御対象物単位j内の制御対象物をj1,j2,j3,j4とすれば、
Xr[j1] = 2 × Xr_u[j]
Yr[j1] = 2 × Yr_u[j] + 1
Zr[j1] = 2 × Zr_u[j]
Xr[j2] = 2 × Xr_u[j] + 1
Yr[j2] = 2 × Yr_u[j]
Zr[j2] = 2 × Zr_u[j]
Xr[j3] = 2 × Xr_u[j]
Yr[j3] = 2 × Yr_u[j]
Zr[j3] = 2 × Zr_u[j]
Xr[j4] = 2 × Xr_u[j]
Yr[j4] = 2 × Yr_u[j]
Zr[j4] = 2 × Zr_u[j] + 1
ここで、j_maxは4マス制御対象物単位の総数、すなわちj_max=p/4であり、jは制御対象物単位を特定するIDに相当するものである。
なお、各制御対象物iが所属する制御対象物単位jは隊列制御のどの時刻においても不変である。また、各制御対象物単位jの初期位置を(Xr_u0[j],Yr_u0[j],Zr_u0[j])とし、目標位置を(Xr_ue[j],Yr_ue[j],Zr_ue[j])とする。
以下、第一型制御対象物単位に属する制御対象物を移動させることを、第一型制御対象物単位を移動させると略記することもある。同様に、第二型制御対象物単位に属する制御対象物を移動させることを、第二型制御対象物単位を移動させると略記することもある。
[ヘテロジニアス制御対象物隊列制御]
初期位置(Xr_u0[j],Yr_u0[j],Zr_u0[j])にある各制御対象物単位jの集合Sにより形成される開始隊列形成状態から、目標位置(Xr_ue[j],Yr_ue[j],Zr_ue[j])にある各制御対象物単位jの集合Gにより形成される目的隊列形成状態へ各制御対象物単位を移動させるヘテロジニアス制御対象物隊列制御の方法について以下説明していく。
ある時刻において、制御対象物単位jの目標位置(Xr_ue[j],Yr_ue[j],Zr_ue[j])が空隙のままであり、かつ目標位置(Xr_ue[j],Yr_ue[j],Zr_ue[j])に隣接する制御対象物単位の位置内に制御対象物単位j'に属する制御対象物4つが存在しているとする(図5A)。この場合、p個の制御対象物からなる隊列(制御対象物構造)内には非接続な箇所はなく、かつ各制御対象物単位内には、制御対象物が通過可能な空隙が4つ用意されているため、制御対象物構造内のある位置に存在する制御対象物単位jに属する制御対象物4つが、制御対象物構造内の空隙を伝って、制御対象物単位j'内の空隙に移動することは可能である(図5B、図5C)。そして、4つの空隙が制御対象物単位jに属する制御対象物によって埋められた状態の制御対象物位置j'から、隣接する位置(Xr_ue[j],Yr_ue[j],Zr_ue[j])に制御対象物単位jに属する4つの制御対象物を排出して、目標位置(Xr_ue[j],Yr_ue[j],Zr_ue[j])にて、制御対象物単位jの基本形状を形成させることも可能である(図5D)。
ここで、注意しなければならないのは、制御対象物単位jに属する制御対象物が制御対象物単位j'へ移動中には、もとは制御対象物単位jの制御対象物があった場所が空隙になってしまうという事実である。すると、制御対象物単位jを移動させることで、残りの制御対象物からなる隊列の接続性が維持されず、非連続状態となってしまう場合がある(図6)。図6では、図6Bから図6Cの状態に移行するときに、制御対象物単位jがあった位置が空隙となり、非連続状態が発生している。
なお、制御対象物単位が他の制御対象物単位と隣接することにより制御対象物単位が一塊の制御対象物構造を形成していることを制御対象物構造の接続性と言う。第一型制御対象物単位及び第二型制御対象物単位という用語を使えば、接続性とは、第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接することにより第一型制御対象物単位及び第二型制御対象物単位が一塊の制御対象物構造を形成していること言う。
このため、制御対象物単位jの位置によっては、制御対象物構造の接続を維持しつつ制御対象物単位jを移動させるために工夫が必要である。ここで、制御対象物単位jが制御対象物構造から取り払われる(現在の制御対象物隊列における制御対象物単位jの位置から移動する)際に、制御対象物構造が接続を維持できるかどうかの条件として、以下の式を用いる。
δ(j)>δ(j_n)…(1)
ここで、δ(j)は、制御対象物単位jの制御対象物単位j'からのマンハッタン距離である。ここで、j'は制御対象物単位jの目標位置の制御対象物単位を示すものとする。そして、j_nは、制御対象物単位jに隣接している制御対象物単位を一意に識別するための番号であり(nは正の整数)、δ(j_n)は制御対象物単位j_nの制御対象物単位j'からのマンハッタン距離である。全ての制御対象物単位j_nに対して式(1)が成立するならば、制御対象物単位jを制御対象物構造から取り払ったとしても制御対象物構造の接続性は維持できる。
そこで、制御対象物単位jの制御対象物単位j'の位置への移動を開始する前に、式(1)による判定を行い、その結果、δ(j)>δ(j_n)を満たさない制御対象物単位j_nが存在するならば、以下の方法をとる。
(1) δ(j_end)>δ(j)を満たす制御対象物単位j_endのうち、制御対象物単位j_endに隣接する全ての制御対象物単位j_end_nで式(1)が成立する制御対象物単位を1つ選択する(図7A)。ここでj_endは制御対象物構造中の端に位置する制御対象物単位である。
言い換えれば、この処理は、制御対象物構造中の端に位置する制御対象物単位(外側制御対象物単位)のうち、制御対象物単位jよりも制御対象物単位j'からみて離れた位置にある外側制御対象物単位であって、当該外側制御対象物単位を移動させても制御対象物構造の接続性が途切れない外側制御対象物単位を選択することといえる。
(2) 上記(1)で選択した制御対象物単位j_endに属する4つの制御対象物を、制御対象物単位jに隣接する制御対象物単位j_nのうちの1つである制御対象物単位j_k(k=1,…,n)の中の周囲に存在する4つの空隙位置に移動させ、制御対象物単位j_kとj_endに属する制御対象物で8マスの立方体構造をとるようにする(図7B)。
(3) 制御対象物単位jに所属する制御対象物と上記(1)で選択した制御対象物単位j_endに所属する制御対象物の位置を入れ替える(図7B)。言い換えれば、制御対象物単位j_endに所属する制御対象物を、制御対象物単位jに所属する制御対象物の位置に移動させる。このように、制御対象物(又は制御対象物単位)の位置の入れ替えとは、ある制御対象物(又はある制御対象物単位)が制御対象物構造の接続性を維持しつつ移動するために、別の制御対象物(又は別の制御対象物単位)が、そのある制御対象物(又はそのある制御対象物単位)の位置に移動することを意味する。
(4) 制御対象物単位jに所属する制御対象物を制御対象物単位j'の周りにある4つの空隙位置に移動させ、制御対象物単位jとj'に属する制御対象物で8マスの立方体構造をとるようにする(図7D)。その後、制御対象物単位jの制御対象物を目標位置に移動させる。
以上に述べた制御を、全ての制御対象物単位が目標位置につくまで繰り返し行えば、ヘテロジニアス隊列制御が完了する。この制御において、従来必要であった制御対象物同士の位置の入れ替え作業は、上記の(3)において代替されている。以上の手法によれば、全ての制御対象物単位について、初期位置から目標位置に至るまでに必要な移動量は、入れ替えがなかった場合の移動量と同程度であり、かつそのほかの移動は必要としない。すなわち、本手法により、隊列の全体変形と制御対象物位置の入れ替えが同時に行われている。
このように、全体の形状の変形動作と変形後の制御対象物位置の入れ替えを別個のプロセスとせずに同時に行うことで、隊列制御動作にかかる時間を短縮することができる。
[制御対象物単位の移動について]
本発明では、初期隊列形成状態と目的隊列形成状態は、それぞれ8マス制御対象物単位を複数個集めることで形成されるものとする。上述の4マス制御対象物単位の移動の説明では、8マス中の4マスが空隙であるものとして説明をしたが、本発明の実施形態では8マス全てが制御対象物で埋まっている状態となる。
集合Sおよび集合Gの定義は上述の説明と同じであるが、4マス制御対象物単位数j_maxは偶数であることを前提とする。4マス制御対象物単位が2つペアになって8マス制御対象物単位を形成するからである。また、1つの8マス制御対象物単位を構成する2つの4マス制御対象物単位である第一型制御対象物単位と第二型制御対象物単位の制御対象物番号(ID)の間には以下の関係が成り立つものとする。
jA+ j_max/2 = jB
ここで、第一実施形態では、jAは第一型制御対象物単位のID、jBは第二型制御対象物単位のIDである。また、第二実施形態では、jAは第二型制御対象物単位のID、jBは第一型制御対象物単位のIDである。例えば、j_max=8の場合、jA=0,1,2,3、jB=4,5,6,7であり、(jA,jB)=(0,4)(1,5)(2,6)(3,7)の組がそれぞれ8マス制御対象物単位を構成する。
各4マス制御対象物単位の移動の方法は既述の通りではあるが、上述の説明では8マス制御対象物単位中の一方の4マス制御対象物単位が空隙であることを前提としていたため空隙を通って移動ができた。一方、本発明の初期隊列形成状態は8マス全てが制御対象物で埋まっているため空隙がなく、自由に移動することはできない。そこで、第一実施形態では、以下のCASE 1からCASE 4の順に処理を行う。
[CASE 1] S内で相方の第一型制御対象物単位jAが存在しない状態になった第二型制御対象物単位jBに接する位置にある8マス制御対象物単位内の第一型制御対象物単位jAのうち以下のいずれかの位置を目標位置とする第一型制御対象物単位jAがある場合。
・S内の第二型制御対象物単位jBのみになった8マス制御対象物単位に接する位置にあるG内の8マスの空隙の制御対象物単位の位置、または、
・G内の第一型制御対象物単位jAに接する位置にあるG内の8マスの空隙の制御対象物単位の位置
上記条件に該当する第一型制御対象物単位が存在する場合、その中の1つを移動対象の制御対象物単位(標的第一型制御対象物単位)として選択し、図5に示すような動作で、G内目標位置まで移動を行う。
言い換えれば、この処理を実行する後述の標的第一型制御対象物単位選択部11は、対応する第一型制御対象物単位が初期位置から移動したあとの状態の第二型制御対象物単位に隣接する位置にあるS内の8マス制御対象物単位内の第一型制御対象物単位であって、対応する第一型制御対象物単位が初期位置から移動したあとの状態のS内第二型制御対象物単位に隣接する位置又はG内に移動後の第一型制御対象物単位に隣接する制御対象物のない位置を目標位置とするS内第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択する。
[CASE 2] CASE 1に該当する第一型制御対象物単位が存在せず、かつ、S内で相方の第一型制御対象物単位jAのいない状態になった第二型制御対象物単位jBに接する位置にある8マス制御対象物単位内の第一型制御対象物単位jAのうち、当該制御対象物単位のG内の目標位置に他のG内への移動後の第一型制御対象物単位が存在する場合。
この場合、CASE 2の条件に該当する第一型制御対象物単位の1つを移動対象の制御対象物単位(標的第一型制御対象物単位)として選択する。
言い換えれば、この処理を実行する後述の標的第一型制御対象物単位選択部11は、CASE 1に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動したあとの状態の第二型制御対象物単位に隣接する位置にあるS内の8マス制御対象物単位内の第一型制御対象物単位であって、その第一型制御対象物単位の目標位置に他のG内への移動後の第一型制御対象物単位が存在する場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択する。
その後、以下の手順で移動を行う。
(1) 標的第一型制御対象物単位のG内の目標位置に存在する他の第一型制御対象物単位を「第1追い出し対象制御対象物単位jA'」とし、第1追い出し対象制御対象物単位jA'のG内目標位置に他の第一型制御対象物単位が存在する場合には当該他の第一型制御対象物単位を「第2追い出し対象制御対象物単位jA''」とする。これを第k追い出し制御対象物単位(kは正の整数)のG内目標位置が他の第一型制御対象物単位に占有されない状態になるまで繰り返す。
(2) 標的第一型制御対象物単位を第1追い出し制御対象物単位に隣接する8マス制御対象物単位内の空隙位置に移動させた後、図7Bから図7Cの動作に従い第1追い出し制御対象物単位と標的第一型制御対象物単位の位置を入れ替え、標的第一型制御対象物単位を第1追い出し制御対象物単位が存在していた位置に移動させる。図7Aの左端に図示されている制御対象物単位j_endが「標的第一型制御対象物単位」であり、制御対象物単位jが「第1追い出し制御対象物単位」であり、制御対象物単位j_nが「第1追い出し制御対象物単位に隣接する8マス制御対象物単位」である。図7Bにおいて、制御対象物単位j_end(斜線で示された4マス制御対象物単位)が、制御対象物単位j_n内の空隙位置に移動しており、図7Cで制御対象物単位jの位置が同じ8マス制御対象物単位内の第二型制御対象物単位側の位置へ移動し、かつ、位置制御対象物単位j_endが、制御対象物単位jが元々存在していた位置に移動している。
(3) 第k追い出し制御対象物単位を第(k+1)追い出し制御対象物単位に隣接する8マス制御対象物単位の空隙位置に移動させた後、図7Bから図7Cの動作に従い第k追い出し制御対象物単位と第(k+1)追い出し制御対象物単位の位置を入れ替える。この処理を、k=1,2,…,K-1(Kは上記(1)で調べたkの総数)について順に繰り返す。
(4) 第K追い出し制御対象物単位を、現在の隊列形成状態に隣接する制御対象物の存在しない4マス制御対象物単位の位置のうち、G内の第K追い出し制御対象物単位の目標位置に最も近い4マス制御対象物単位の位置に移動させる。これは、図5に示すような動作で実現できる。
[CASE 3] CASE 1及びCASE 2に該当する第一型制御対象物単位が存在しない場合。
この場合、S内で相方の第一型制御対象物単位jAのいない状態になった第二型制御対象物単位jBに接する位置にある8マス制御対象物単位内の第一型制御対象物単位jAの1つを標的第一型制御対象物単位として選択し、現在の隊列形成状態に隣接する制御対象物単位の存在しない4マス制御対象物単位の位置のうち、G内の標的第一型制御対象物単位jAの目標位置に最も近い4マス制御対象物単位の位置に移動させる。
言い換えれば、この処理を実行する後述の標的第一型制御対象物単位選択部11は、CASE 1及びCASE 2に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動したあとの状態の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択する。
[CASE 4] CASE 1からCASE 3に該当する第一型制御対象物単位が存在しない場合。
この場合、S内でGに接する位置にある8マス制御対象物単位内の第一型制御対象物単位jAの中の1つを標的第一型制御対象物単位として選択し、現在の隊列形成状態に隣接する制御対象物の存在しない4マス制御対象物単位のうち、G内の標的第一型制御対象物単位jAの目標位置に最も近い4マス制御対象物単位に移動させる。
言い換えれば、この処理を実行する後述の標的第一型制御対象物単位選択部11は、CASE 1からCASE 3に該当する第一型制御対象物単位が存在しない場合には、S内でGに隣接する位置にある第一型制御対象物単位を標的第一型制御対象物単位として選択する
CASE 1からCASE 4の処理を、S内の全ての第一型制御対象物単位jAがG内の目標位置に到達するまで繰り返すことで、8マス全てが制御対象物で埋め尽くされた初期隊列形成状態から、第一型制御対象物単位の目的隊列形成状態への移動を行う。
その後は、初期隊列形成状態中には第二型制御対象物単位のみとなり、8マス制御対象物単位の位置内の残り4マス(当初、第一型制御対象物単位が存在していた場所)が空隙となるので、既述の4マス制御対象物単位の移動を用いて空隙を通って各第二型制御対象物単位を目的隊列形成状態中の目標位置へ移動させる。初期隊列形成状態から離れた位置にある目的隊列形成状態内の空隙から順に埋まっていくように、目標位置が遠いものから順に第二型制御対象物単位を移動させればよい。
<第一実施形態>
以下、第一実施形態の制御装置及び方法について説明する。
制御装置は、図17に示すように、第一型制御対象物単位移動制御部1、第二型制御対象物単位移動制御部2及び記憶部3を例えば備えている。
制御方法は、制御装置が、図18及び図19並びに以下に説明するステップS11からステップS23の処理を行うことにより例えば実現される。
第一型制御対象物単位及び第二型制御対象物単位には、当該制御対象物単位が目標位置への移動が完了したか否かを示す情報が対応付けられているものとする。ここでは、unfilled_g[j]を第一型制御対象物単位又は第二型制御対象物単位jが目標位置への移動が完了したか否かを示す値を格納した変数とし、
unfilled_g[j]=0(移動が完了していない)
unfilled_g[j]=1(移動が完了している)
であるものとして説明する。各jについてのunfilled_g[j]の初期値は0(移動が完了していない)とする。unfilled_g[j]は、記憶部3に格納される。また、unfilled_g[j]は、必要に応じて記憶部3から読み込まれる。
[第一型制御対象物単位移動制御部1]
第一型制御対象物単位移動制御部1は、初期隊列形成状態中の各8マス制御対象物単位中の4マス制御対象物単位である第一型制御対象物単位jAを、目的隊列形成状態中の各8マス制御対象物単位内の4マス制御対象物単位の位置へ移動させる(ステップS1)。このステップS1を、第一ステージともいう。
その際、第一型制御対象物単位移動制御部1は、制御対象物構造の接続性を維持しながら、第一型制御対象物単位をその目標位置に移動させる。
ここで、第一型制御対象物単位jAの移動先の4マス制御対象物単位は、8マス制御対象物単位中の第二型制御対象物単位jBに相当する位置となる。つまり、初期隊列形成状態中の第一型制御対象物単位は、目的隊列形成状態内で第二型制御対象物単位の形状に配置されることになる。なお、回転操作等を加えれば、初期隊列形成状態中の第一型制御対象物単位を、目的隊列形成状態内でも第一型制御対象物単位の形状に配置するようにすることも可能であるが、8マス制御対象物単位の各制御対象物は同一(ホモジニアス)であることを前提としているため、8マス制御対象物単位内の配置を合わせるために余計な移動操作をする必要性がないことから、より少ないステップ数で移動可能な第二型制御対象物単位の位置へ移動する方法を採用している。
[[標的第一型制御対象物単位選択部11]]
標的第一型制御対象物単位選択部11は、移動対象とする4マス制御対象物単位(標的第一型制御対象物単位)を選択する(ステップS11)。選択された標的第一型制御対象物単位についての情報は、第一移動部12、第二移動部13及び第三移動部14に出力される。標的第一型制御対象物単位は、隊列を形成するS内各8マス制御対象物単位の何れかにおける第一型制御対象物単位jA である。
具体的には、上述のCASE 1からCASE 4の何れかに該当する第一型制御対象物単位のうちの1つを標的第一型制御対象物単位j_fとして選択する。このとき、CASE 4よりはCASE 3を、CASE 3よりはCASE 2を、CASE 2よりはCASE 1を優先する。言い換えれば、CASE 1に該当する第一型制御対象物単位があればその中から標的第一型制御対象物単位を選択し、CASE 1に該当するものが無い場合はCASE 2に該当する第一型制御対象物単位があるか否かを調べて該当するものがあればそのうちの1つの標的第一型制御対象物単位を選択する。同様に、CASE 2に該当する第一型制御対象物単位がなければCASE 3を調べ該当するものがあればそのうちの1つの標的第一型制御対象物単位を選択する。CASE 3に該当する第一型制御対象物単位もなければ、CASE 4に該当する第一型制御対象物単位の中から1つの標的第一型制御対象物単位を選択する。
そして、標的第一型制御対象物単位がCASE 1に該当する場合は第一移動部12が実行され、標的第一型制御対象物単位がCASE 2に該当する場合は第二移動部13が実行され、CASE 3又はCASE 4に該当する場合は第三移動部14が実行される。
[[第一移動部12]]
第一移動部12は、標的第一型制御対象物単位をG内の目標位置へ移動させる。この移動は図10及び図11に示す動作から始め、図5に示す手順で行うことができる。目標位置への移動が完了したら、標的第一型制御対象物単位j_fに対応するunfilled_g[j_f]の値を1に設定する。つまり、標的第一型制御対象物単位j_fについては目標位置への移動が完了したことを示す情報を記憶部3に格納する。
このようにして、第一移動部12は、CASE 1で選択された標的第一型制御対象物単位をその目標位置に移動させる(ステップS12)。
[[第二移動部13]]
第二移動部13は、標的第一型制御対象物単位をG内の目標位置へ移動させるが、CASE 2の場合は標的第一型制御対象物単位の目標位置に他の制御対象物単位が存在しているため、まずは当該他の制御対象物単位を別の空隙に移動させつつ、目標位置に標的第一型制御対象物単位を移動させる必要がある。具体的に以下の手順で移動を行う。
(1) 標的第一型制御対象物単位のG内の目標位置に存在する他の第一型制御対象物単位を「第1追い出し対象制御対象物単位jA'」とし、追い出し対象制御対象物単位jA'のG内目標位置に他の第一型制御対象物単位が存在する場合には当該他の第一型制御対象物単位を「第2追い出し対象制御対象物単位jA''」とする。これを第k追い出し制御対象物単位(kは正の整数)のG内目標位置が他の第一型制御対象物単位に占有されない状態になるまで繰り返す。
(2) 標的第一型制御対象物単位を第1追い出し制御対象物単位に隣接する8マス制御対象物単位内の空隙位置に移動させた後、図7Bから図7Cの動作に従い第1追い出し制御対象物単位と標的第一型制御対象物単位の位置を入れ替え、(詳細は図12及び図13)、標的第一型制御対象物単位を第1追い出し制御対象物単位が存在していた位置に移動させる。
(3) 第k追い出し制御対象物単位を第(k+1)追い出し制御対象物単位に隣接する8マス制御対象物単位内の空隙位置に移動させた後、図7Bから図7Cの動作に従い第(k+1)追い出し制御対象物単位と第k追い出し制御対象物単位の位置を入れ替え(詳細は図12及び図13)、第k追い出し制御対象物単位を第(k+1)追い出し制御対象物単位が存在していた位置に移動させる。この処理を、k=1,…,K−1(Kは上記(1)で調べたkの総数)について順に繰り返す。
(4) 第K追い出し制御対象物単位を、現在の隊列形成状態に隣接する4マス制御対象物単位のうち、G内の第K追い出し制御対象物単位の目標位置に最も近い4マス制御対象物単位に移動させる。(ここで、第K追い出し制御対象物単位がその目標位置についていることも起こりうる。)これは、図5に示すような動作で実現できる。
(5) 目標位置への移動が完了したら、標的第一型制御対象物単位j_fに対応するunfilled_g[j_f]の値を1に設定する。また、第1追い出し制御対象物から第Kの追い出し制御対象物のうち、目標位置に着いたもののunfilled_g[j_f]の値を1に設定する。つまり、標的第一型制御対象物単位j_f、第1追い出し制御対象物から第K-1の追い出し制御対象物(場合によっては第K追い出し制御対象物も)については目標位置への移動が完了したことを示す情報を記憶部3に格納する。
このようにして、第二移動部13は、CASE 2で選択された標的第一型制御対象物単位の目標位置に存在する他の第一型制御対象物単位を第1追い出し対象制御対象物単位とし、第1追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在するときにはその別の第一型制御対象物単位を第2追い出し対象制御対象物単位とする処理を、Kを正の整数として、第K追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在しなくなるまで繰り返し行い、k=1,…,Kとして、CASE 2で選択された標的第一型制御対象物単位、第1追い出し対象制御対象物単位、・・・、第K−1追い出し対象制御対象物単位のそれぞれを目標位置に移動させ、第K追い出し対象制御対象物単位を第K追い出し対象制御対象物単位の目標位置に最も近いG内の位置に移動させる(ステップS13)。
[[第三移動部14]]
第三移動部14は、標的第一型制御対象物単位をG内の所定位置(以下、「暫定目標位置」という)へ移動させる。ここでの暫定目標位置とは、現在の隊列形成状態に隣接する制御対象物を含まない4マス制御対象物単位の位置のうち、G内の標的第一型制御対象物単位jAの目標位置に最も近い4マス制御対象物単位の位置である。CASE 3又はCASE 4の場合は、標的第一型制御対象物単位のG内の目標位置は現在の隊列形成状態に隣接する場所に無いため直接移動ができないことから、第三移動部14では現在の隊列形成状態に隣接する8マスの空隙を持つの制御対象物単位の位置に暫定的に標的第一型制御対象物単位を移動させることが目的である。具体的な移動はCASE3の移動の場合は、図10及び図11に始まり、図5に示す手順で行うことができる。CASE4の場合は、図14、及び図15に示す手順で行うことができる(図5内の最後の手順)。目標位置の代わりに暫定目標位置とする点を除いては、第一移動部12と第三移動部14の処理は同じであるとも言える。
このようにして、第三移動部14は、CASE 3及びCASE 4の場合に、CASE 3及びCASE 4で選択された標的第一型制御対象物単位を、現在の制御対象物単位構造に隣接する位置であって、その標的第一型制御対象物単位の目標位置に最も近いG内の位置に移動させる(ステップS14)。
[[第一制御部15]]
第一制御部15は、現在の隊列のすべての第一型制御対象物単位について目標位置への移動が完了したか否かを判定し、移動が完了していない第一型制御対象物単位があれば(例えば、unfilled_g[j]=0なるjが1つでもあれば)、標的第一型制御対象物単位選択部11、第一移動部12、第二移動部13及び第三移動部14を実行させる。
全ての第一型制御対象物単位について目標位置への移動が完了したら(例えば、全てのjについてunfilled_g[j]=1であるならば)、第二型制御対象物単位移動制御部2を実行させる。
このようにして、第一制御部15は、全ての第一型制御対象物単位が目標位置に移動するまで、標的第一型制御対象物単位選択部11、第一移動部12第二移動部13及び第三移動部14の処理を繰り返し行うように制御する。
[第二型制御対象物単位移動制御部2]
第二型制御対象物単位移動制御部2は、初期隊列形成状態S内の各8マス制御対象物単位中の第二型制御対象物単位を目的隊列形成状態内の各目標位置へ移動させる(ステップS2)。このステップS2を、第二ステージともいう。
その際、第二型制御対象物単位移動制御部2は、制御対象物構造の接続性を維持しながら、第二型制御対象物単位をその目標位置に移動させる。
第一型制御対象物単位移動制御部1を実行後の初期隊列形成状態には第二型制御対象物単位しか存在せず、目的隊列形成状態には第一型制御対象物単位しか存在しないので、各制御対象物単位間には4マスの空隙が存在する。よって、この空隙を通り抜けて移動させることが可能である。
第二型制御対象物単位移動制御部2は、図17に示すように、標的第二型制御対象物単位選択部21、移動制御部22及び第二制御部23を例えば備えている。
以下、各部の具体処理を説明する。
[[標的第二型制御対象物単位選択部21]]
標的第二型制御対象物単位選択部21は、移動対象とする4マス制御対象物単位(標的第二型制御対象物単位)を選択する。ここでの標的第二型制御対象物単位は、初期隊列形成状態を形成する各8マス制御対象物単位内の何れかにおける第二型制御対象物単位jBであって、まだ目標位置への移動が完了していない(unfilled_g[j]=0である)制御対象物単位であって、基準位置(X_first,Y_first,Z_first)にある制御対象物単位j'からマンハッタン距離の最も離れたG内位置を目標位置とする第二型制御対象物単位である。ここでいう基準位置は、S内8マス制御対象物単位のうち、Gに接する位置の8マス制御対象物単位の位置であればどれでもよいが、第一型制御対象物単位移動制御部1にて最初にSから移動を行った第一型制御対象物単位の初期位置を使用することにするのが簡便である。
言い換えれば、標的第二型制御対象物単位選択部21は、目標位置に到達していない第二型制御対象物単位を標的第二型制御対象物単位として選択する(ステップS21)。以下、標的第二型制御対象物単位をj_fであるものとして説明する。
[[移動制御部22]]
移動制御部22は、図17に示すように、接続性判定部221、交換第二型制御対象物単位選択部222、交換第二型制御対象物単位移動制御部223、交換第二型制御対象物単位押出制御部224及び標的第二型制御対象物単位移動制御部225を例えば備えている。
移動制御部22は、接続性判定部221、交換第二型制御対象物単位選択部222、交換第二型制御対象物単位移動制御部223、交換第二型制御対象物単位押出制御部224及び標的第二型制御対象物単位移動制御部225の処理により、標的第二型制御対象物単位を目標位置に移動させるときに制御対象物構造の接続性が維持されるかどうか判定し、(1)制御対象物構造の接続性が維持されると判定された場合には、標的第二型制御対象物単位を目標位置に移動させ、(2)制御対象物構造の接続性が維持されないと判定された場合には、標的第二型制御対象物単位の位置に制御対象物構造の接続性を維持しながら移動することができる第二型制御対象物単位である交換第二型制御対象物単位を選択し、交換第二型制御対象物単位を標的第二型制御対象物単位の位置に移動させた後に標的第二型制御対象物単位を目標位置に移動させる。
以下、各部の具体処理を説明する。
[[[接続性判定部221]]]
接続性判定部221は、標的第二型制御対象物単位j_fを移動させることで制御対象物構造の接続性が維持されるか否かを判定し(ステップS221)、接続性が維持される場合には標的第二型制御対象物単位移動制御部225を実行させ、接続性が維持されない場合には交換第二型制御対象物単位選択部222を実行させる。
具体的には、式(1)においてjをj_fと読み替え、j'をj_fの移動先である所定位置としたときに、jに隣接する全ての第二型制御対象物単位jBについて式(1)を満たせば接続性は維持されると判定し、そうでない場合には接続性は維持されないと判定する。
そして、接続性が維持されると判定された場合は標的第二型制御対象物単位移動制御部225を実行させ、接続性が維持されないと判定された場合は交換第二型制御対象物単位選択部222を実行させる。つまり、接続性が維持されない場合には、目標位置への移動が終わっていない他の第二型制御対象物単位を交換第二型制御対象物単位として、当該交換第二型制御対象物単位を標的第二型制御対象物単位の近傍に移動させ、標的第二型制御対象物単位の現在位置に交換第二型制御対象物単位を移動させたうえで標的第二型制御対象物単位を移動させることで、接続性が途切れないようにしようとするものである。
[[[交換第二型制御対象物単位選択部222]]]
交換第二型制御対象物単位選択部222は、標的第二型制御対象物単位j_fを移動させても制御対象物構造の接続性が途切れないように他の8マス制御対象物単位中の第二型制御対象物単位を標的第二型制御対象物単位j_fの現在位置に移動させるため、移動対象とする「他の第二型制御対象物単位」(以下、「交換第二型制御対象物単位」という)を選択する(ステップS222)。ここで選択する交換第二型制御対象物単位は、まだ目標位置への移動が完了していない第二型制御対象物単位とする。
具体的には、現在の制御対象物構造中で外側(端点)に位置する第二型制御対象物単位である外側制御対象物単位のうち、標的第二型制御対象物単位j_fの移動先であるG内の目標位置にある制御対象物単位j'から見て制御対象物単位j_fよりも離れた位置にある外側制御対象物単位であって、移動させても制御対象物構造の接続性が途切れない外側制御対象物単位を1つ選択し、交換第二型制御対象物単位とする。
具体的には、例えば以下の(1)の処理で実現できる。
(1) 標的第二型制御対象物単位j_fの位置から、δ値(制御対象物単位j'からみたマンハッタン距離)の大きな隣接する第二型制御対象物単位jBをたどっていき、それ以上δ値の大きな制御対象物単位に到達できなくなる第二型制御対象物単位jBを検出して、それを交換第二型制御対象物単位j_endとする。
[[[交換第二型制御対象物単位移動制御部223]]]
交換第二型制御対象物単位移動制御部223は、交換第二型制御対象物単位選択部222で選択した交換第二型制御対象物単位j_endに属する第二型制御対象物を標的第二型制御対象物単位j_fに隣接する8マス制御対象物単位の位置内にある空隙に移動させるよう制御する(ステップS223)。具体的には、例えば、以下の(1)から(4)の処理により実現される。
(1) 標的第二型制御対象物単位j_fに隣接する8マス制御対象物単位の位置であって、かつ交換第二型制御対象物単位j_endの位置と重ならない位置にある8マス制御対象物単位の位置のうち、標的第二型制御対象物単位j_fから、行動a=3,4,6の方向(つまり、x,y,z軸のいずれかの負方向)に隣接している位置にある8マス制御対象物単位の位置内の第二型制御対象物単位j_f_n(以下、「隣接空隙位置」という)を選択する。その際の隣接方向の逆方向をa_exに格納する。
(2) 上記(1)にて、該当の隣接空隙位置j_f_nが見つからなかった場合、標的第二型制御対象物単位j_fに隣接する8マス制御対象物単位の位置であって、かつ交換第二型制御対象物単位j_endの位置と重ならない位置にある8マス制御対象物単位の位置のうち、標的第二型制御対象物単位j_fから、行動a=1,2,5の方向(つまり、x,y,z軸の何れかの正方向)に隣接している8マス制御対象物単位の位置内の第二型制御対象物単位j_f_nを選択する。その際の隣接方向の逆方向をa_exに格納する。必ず(1)→(2)の順に処理を行う。これは、(2)にて選択される第二型制御対象物単位j_f_nを使用する後述の交換第二型制御対象物単位押出制御部224の処理において、(1)にて選択される可能性のある第二型制御対象物単位が存在しないことが、制御対象物構造の接続性を維持するうえで必須であるからである。
(3) 交換第二型制御対象物単位j_endの位置から、隣接空隙位置j_f_nに至るまでの制御対象物構造内をたどる道筋(経路に対応するS内の制御対象物単位各位置の列)を計算し、その道中の位置を
pass_j_f[nf](nf=0,1,2,…,nf_max)
として格納する。(pass_j_f[0]=j_end,pass_j_f[nf_max]=j_f_nとなる。)
(4) 交換第二型制御対象物単位j_endを制御対象物単位pass_j_f[1]内の空隙に移動させる。例えば、X軸の正方向への移動であれば、図8に示すような手順で移動させ、X軸の負方向への移動であれば図9に示す手順で移動させることができる。Y軸及びZ軸の正方向又は負方向への移動も同様に行うことができる。この後は、制御対象物単位j_f_n内の空隙に至るまで、pass_j_fに格納済みの道中にある制御対象物単位をたどらせつつ制御対象物単位j_endを移動させる。その移動は、各移動ステップにおいて、X正方向への移動ならば例えば図10に示す方法で、負方向への移動ならば、図11に示す方法で移動させる。Y軸及びZ軸の正方向又は負方向への移動も同様に行うことができる。
[[[交換第二型制御対象物単位押出制御部224]]]
交換第二型制御対象物単位押出制御部224は、標的第二型制御対象物単位j_fの現在位置に交換第二型制御対象物単位j_endを移動させる(ステップS224)。これに伴い、標的第二型制御対象物単位j_fは同じ8マス制御対象物単位内の第一型制御対象物単位の位置へ移動する。このとき、隣接方向をa_exに基づいて入れ替え操作を行えばよい。例えば、a_ex=1(X軸の正方向)である場合は、図12に示す制御対象物の移動により交換が実現できる。同様に、a_ex=3(X軸の負方向)である場合は、図13に示す制御対象物の移動により交換が実現できる。Y軸及びZ軸の正方向又は負方向についても同様に交換を行えばよい。
[[[標的第二型制御対象物単位移動制御部225]]]
標的第二型制御対象物単位移動制御部225は、標的第二型制御対象物単位j_fをG内の目標位置へ移動させる(ステップS225)。移動操作は、交換第二型制御対象物単位移動制御部223と同様の方法(例えば図10、図11に例示する手順の移動)である。標的第二型制御対象物単位j_fの目標位置にに移動させ、移動が完了したら、unfilled_g[j_f]の値を1に変更する。1は、目標位置に制御対象物単位が到達していることを示す値である。
[[第二制御部23]]
第二制御部23は、初期隊列形成状態S中の全ての第二型制御対象物単位が目標位置に到達しているかを判定し、到達していなければ標的第二型制御対象物単位選択部21に戻って移動を繰り返すよう制御する。完了していれば、目的隊列形成状態への移動が完了したものとして処理を終了する。例えば、制御対象物単位j=0から順にunfilled_g[j]の値を確認し、unfilled_g[j]=0なるjがあれば標的第二型制御対象物単位選択部を実行させ、全てのjについてunfilled_g[j_f]=1ならば処理を終了する。
このようにして、第二制御部23は、目標位置に到達していない第二型制御対象物単位がなくなるまで、標的第二型制御対象物単位選択部21及び移動制御部22の処理を繰り返し行うように制御する(ステップS23)。
<第二実施形態>
第一実施形態では、移動方向と並行な方向に複数の制御対象物単位が連続している場合において、初期位置にある各制御対象物単位を目標位置に移動を開始する時刻については、移動方向の先頭制御対象物単位から順に、1つ前に目標位置に移動を開始した制御対象物単位が、目標位置にたどりついた時刻の後にする手法、すなわち移動方向に連続する制御対象物単位が1つずつ移動する手法を採用していた。
これに対して制御対象物単位構造内の空隙をフルに使用すれば、複数の制御対象物単位を同時に目標位置まで移動させることも可能である。ここで、移動を開始しようとしている制御対象物単位が、1つ前に移動を開始した制御対象物単位の開始時刻から、一定時間内に移動を開始することができれば、全体の変形に要する時間を、制御対象物単位数の一乗に比例するものにすることができる。
ここで、初期位置の集合Sと目標位置の集合Gは接しているものとし、目標位置の集合Gに接している初期位置の集合S内の制御対象物単位の位置の1つを接続位置Gate_S(X_Gate, Y_Gate, Z_Gate)とする。言い換えれば、初期位置の集合Sに含まれる位置であって目標位置の集合Gに接している位置の1つを接続位置Gate_Sとする。
全ての制御対象物単位は、接続位置Gate_Sを経由して、目標位置G内に入っていくものとする。 第一実施形態と同様に、制御装置は、第一ステージで第一型制御対象物単位を目標位置Gに移動させ、第二ステージで第二型制御対象物単位を目標位置Gに移動させる。以下では、第一型制御対象物単位がjBであり、第二型制御対象物単位がjAである場合を例に挙げて説明する。
第一ステージにおいては、第一型制御対象物単位が移動を開始する順番としては、初期位置S内にて接続位置Gate_Sからのマンハッタン距離が小さい位置を初期位置とする第一型制御対象物単位jから、目標位置G内に入っていく第一型制御対象物単位を選ぶこととする。
第二ステージにおいては、第二型制御対象物単位が移動を開始する順番としては、目標位置G内にて接続位置Gate_Sからのマンハッタン距離が大きい位置を目標位置とする初期位置S内の第二型制御対象物単位jから、初期位置S内にてδ(接続位置Gate_Sからのマンハッタン距離)の大きい位置をたどっていくことでたどり着ける第二型制御対象物単位j_endのうち、第二型制御対象物単位j_endに隣接する第二型制御対象物単位のδ値が、その第二型制御対象物単位j_endのδ値より皆小さいものを選び、第二型制御対象物単位j_endを第二型制御対象物単位jと入れ替えて、第二型制御対象物単位jを移動可能とし、第二型制御対象物単位jを目標位置G内に移動させていくこととする。
開始時刻については、移動を開始しようとしている第一型制御対象物単位が、1つ前に移動を開始した第一型制御対象物単位の初期位置よりδ値においてdδだけ大きい場合、移動を開始しようとしている第一型制御対象物単位は、1つ前に移動を開始した第一型制御対象物単位の移動開始時刻から、tv-dδ時間ステップ後に移動を開始する。ここでtvは2以上の正の整数であり、例えばtv=2である。
同様に、開始時刻については、移動を開始しようとしている第二型制御対象物単位が、1つ前に移動を開始した第二型制御対象物単位の初期位置よりδ値においてdδだけ大きい場合、移動を開始しようとしている第二型制御対象物単位は、1つ前に移動を開始した第二型制御対象物単位の移動開始時刻から、tv-dδ時間ステップ後に移動を開始する。
このようにすることで、移動を行う各第二型制御対象物単位は、tv=2の場合、互いにちょうど1つ分以上の第一型制御対象物単位分の距離を開けつつ、同時に移動をすることになる。
さらに、第一型制御対象物単位が位置の入れ替えを行うときは、第一型制御対象物単位の位置の入れ替えの際に、第一型制御対象物単位の動作が接続位置Gate_Sからのマンハッタン距離を小さくする方向への移動を伴う場合にのみ、位置の入れ替えを行う第一型制御対象物単位の後続の第一型制御対象物単位はすべてtw時間ステップだけ、動作を停止する。twは、2以上の正の整数であり、例えばtw=2である。
同様に、第二型制御対象物単位が位置の入れ替えを行うときは、第二型制御対象物単位の位置の入れ替えの際に、第二型制御対象物単位の動作が接続位置Gate_Sからのマンハッタン距離を小さくする方向への移動を伴う場合にのみ、位置の入れ替えを行う第二型制御対象物単位の後続の第二型制御対象物単位はすべてtw時間ステップだけ、動作を停止する。
以下、第二実施形態の制御装置及び方法の動作の詳細を述べる。
制御装置は、図20に示すように、第一型制御対象物単位移動制御部1及び第二型制御対象物単位移動制御部2を例えば備えている。
第一型制御対象物単位移動制御部1は、第一パス決定部16、第一待ち時間調整部17及び第一移動部18を備えている。
第二型制御対象物単位移動制御部2は、第二パス決定部24、第二待ち時間調整部25及び第二移動部26を備えている。
制御方法は、制御装置が、図21及び以下に説明するステップS16,S17,S18,S24、S25,S26の処理を行うことにより例えば実現される。
以下、第一実施形態と異なる処理を中心に説明する。第一実施形態と同じ部分については説明を省略する。
以下、本発明の隊列制御装置の動作の詳細を述べる。
[第一パス決定部16]
第一パス決定部16は、各第一型制御対象物単位が制御対象物構造の接続性を維持しながら接続位置を通って目標位置に到達するまでのパスを接続位置Gate_Sから近い初期位置にある第一型制御対象物単位のパスから順に決定する(ステップS16)。
決定されたパスについての情報は、第一待ち時間調整部17及び第一移動部18に出力される。
例えば、第一パス決定部16は、以下に説明する(1)から(3)の処理を行うことにより、各第一型制御対象物単位jが、各々の初期位置から目標位置まで移動するためのパスを計算する。
以下の処理により、パスの各位置は、pass[j][t](t=0,1,2,…,t_max[j])に格納される。また、第一型制御対象物単位jが第一型制御対象物単位j'と入れ替えを行う時刻は、exchange[j][t](t=0,1,2,…,t_max[j])に格納される。第一型制御対象物単位jが後続の第一型制御対象物単位への待機を指示する時刻は、waiting_at[j][t](t=0,1,2,…,t_max[j])に格納される。なお、waiting_at[j][t]=1は待機を表し、waiting_at[j][t]=0は待機がないことを表す。
(1) 第一パス決定部16は、各第一型制御対象物単位の仮想位置を、その各第一型制御対象物単位の初期位置に設定する。ここで、第一パス決定部16の処理はパスを決定するだけであり、第一パス決定部16の処理においては第一型制御対象物単位の実際の位置は変わらない。各第一型制御対象物単位の実際の位置と区別するために、「仮想位置」という用語を用いる。
また、第一パス決定部16は、exchange[j][t], waiting_at[j][t]を全てのj,tで0に初期化する。
そして、第一パス決定部16は、(2)-(3)の処理を第一型制御対象物単位j_max/2から第一型制御対象物単位j_max-1まで実行する。ここで、jの番号は、δ値の小さい順に振ることとする。すなわち、δ(j_max/2)≦δ(j_max/2+1) ≦δj_max/2+2)≦…とする。
(2) 第一パス決定部16は、第一型制御対象物単位jの初期位置から、制御対象物単位の空隙、言い換えれば対応する第一型制御対象物単位がいなくなった第二型制御対象物単位の空隙をたどって接続位置Gate_Sに至る道筋を計算し、pass[j][t]に格納する。第一パス決定部16は、この時の接続位置Gate_Sが格納されているpass内のt番号を、time_at_gate[j]及びtime_at_end[j]のそれぞれに格納する。なお、第一パス決定部16は、第一型制御対象物単位jの移動開始時間t_start[j]は、δ(j)=δ(j-1)のときは、t_start[j]=t_strat[j-1]+tvに、δ(j)=δ(j-1)+1のときは、t_start[j]=t_strat[j-1]+tv-1にする。第一パス決定部16はt<t_startのpass値(すなわち、移動開始前のpass値)を、第一型制御対象物単位jの初期位置とする。
(3) 第一パス決定部16は、t=time_at_end[j]+1からのpass内に、接続位置Gate_Sから、第一型制御対象物単位jの目標位置G内目標位置までの道筋を計算して格納する。第一型制御対象物単位jの目標位置が、他の第一型制御対象物単位で埋められているかいないかで、処理が異なる。(3)の処理の例は、以下の(3-0)から(3-3)の処理である。
(3-0) 第一パス決定部16は、jm←jとする。
(3-1) 第一パス決定部16は、第一型制御対象物単位jmの目標位置が他の第一型制御対象物単位j'によって埋められている場合は、目標位置G内で第一型制御対象物単位j'の隣にある第一型制御対象物単位j_nまでの道筋を、t=time_at_end[j]+1からのpass[j][t]に追加する。第一パス決定部16は、j_nとしては、j_nからj'に至る方向a_exが1,2,5の場合を優先的に選び、そのようなj_nがない場合のみ、a_ex=3,4,6の場合のj_nを選ぶ。第一パス決定部16は、第一型制御対象物単位jmがj_nに至る時刻をt_exとしたとき、exchange[j][t_ex]←a_exとする。第一パス決定部16は、j'をpassの最後尾に追加し、その時のtをtime_at_end[j]とする。第一パス決定部16は、第一型制御対象物単位jmの仮想位置の値に、第一型制御対象物単位j'の仮想位置の値を代入し、(3-2)の処理を行う。第一パス決定部16は、第一型制御対象物単位jmの目標位置が他の第一型制御対象物単位j'によって埋められていない場合は、(3-3)の処理を行う。
(3-2) 第一パス決定部16は、第一型制御対象物単位j'の目標位置が、他の第一型制御対象物単位j''によって占有されている場合は、jm←j', j'←j''とし(3-1)の処理を繰り返す。そうでない場合は(3-3)の処理を行う。
(3-3) 第一パス決定部16は、(3-1)の処理での入れ替えがなかった場合は、第一型制御対象物単位jmの目標位置から、目標位置G内の未充填位置内でもっとも近いマンハッタン距離にあり、目標位置G内の充填済み位置に接した位置を目標位置j_targetとし、j_targetに接する目標位置G内充填済み位置をj_target'として、jmからj_target'に至る目標位置G内の充填済み位置を経由した道筋をpassに追加する。passの最後尾にj_targetを追加する。第一パス決定部16は、j_targetを格納したpassのt値をtime_at_end[j]とする。
第一パス決定部16は、(3-1)の処理での入れ替えがあった場合は、目標位置G内の未充填位置内で第一型制御対象物単位j'の目標位置から、もっとも近いマンハッタン距離にあり、かつ、「第一型制御対象物単位j'の現仮想位置から、接続位置Gate_Sからのδの値が第一型制御対象物単位j'の現仮想位置でのδ値より小さくならないようにたどって行ける目標位置G内の充填済み位置に接している位置」を目標位置j_targetとし、j_targetに接する目標位置G内充填済み位置をj_target'として、j'からj_target'に至る目標位置G内の充填済み位置を経由した道筋をpassに追加する。passの最後尾にj_targetを追加する。第一パス決定部16は、j_targetを格納したpassのt値をtime_at_end[j]とする。このように、第一パス決定部16は、後続の第一型制御対象物単位に衝突しないようδの小さくなる道をたどらないようにパスを決定する。
(3-4) また、第一パス決定部16は、pass内にて、第一型制御対象物単位の移動が、接続位置Gate_Sからのマンハッタン距離を減ずる方向のものとなる場合の時刻tでは、waiting_at[j][t]←1とする。このwaiting_at[j][t]←1とする処理は、第一待ち時間調整部17により行われてもよい。
[第一待ち時間調整部17]
第一待ち時間調整部17は、各第一型制御対象物単位が衝突しないように、各第一型制御対象物単位の待ち時間を決定する(ステップS17)。
決定された待ち時間についての情報は、第一移動部18に出力される。
第一待ち時間調整部17は、第一型制御対象物単位の入れ替え時の、他の第一型制御対象物単位の待ち時間を考慮して、pass値を修正する。第一待ち時間調整部17は、第一型制御対象物単位jが時刻tで入れ替えを行う場合、第一型制御対象物単位jの後続の全ての第一型制御対象物単位の時刻t以降のpass値をtw時間ステップ分ずらしていく。
例えば、第一待ち時間調整部17は、以下に説明する(1)から(2)の処理を行うことにより、各第一型制御対象物単位の待ち時間を決定する。
(1) 第一待ち時間調整部17は、(2)の処理を第一型制御対象物単位j_max/2から第一型制御対象物単位j_max-1まで実行する。
(2) 第一待ち時間調整部17は、t=0から、time_at_end[j]まで以下の(2-1)の処理を実行する。
(2-1) 第一待ち時間調整部17は、waiting_at[j][t]が0以外の値のとき、第一型制御対象物単位jの後続の第一型制御対象物単位j_sub (j_sub>j)すべてについて、pass[j_sub][t']←pass[j_sub][t'-tw]、exchange[j_sub][t']←exchange[j_sub][t'-tw]とし(t'≧t+tw)、waiting_at[j_sub][t']←waiting_at[j_sub][t'-tw]とし(t'≧t+tw)、pass[j_sub][t+tw-1]←pass[j_sub][t]、pass[j_sub][t+tw-2]←pass[j_sub][t]、pass[j_sub][t+1]←pass[j_sub][t]、exchange[j_sub][t]←0, exchange[j_sub][t+ tw-1]←0、exchange[j_sub][t+tw-2]←0、exchange[j_sub][t+1]←0、waiting_at[j_sub][t]←0,waiting_at[j_sub][t+tw-1]←0、waiting_at[j_sub][t+tw-2]←0、waiting_at[j_sub][t+1]←0とする。t<t_start[j_sub]のときは、t_start[j_sub]をtw回インクリメントする。第一待ち時間調整部17は、t<time_at_gate[j_sub]のときは、time_at_gate[j_sub]をtw回インクリメントする。第一待ち時間調整部17は、t<time_at_end[j_sub]のときは、time_at_end[j_sub]をtw回インクリメントする。
[第一移動部18]
第一移動部18は、第一パス決定部16により決定されたパス及び第一待ち時間調整部17により決定された待ち時間に従って、各第一型制御対象物単位を移動させる(ステップS18)。
具体的には、第一移動部18は、以下に説明する(1)の処理を行うことにより、決定されたパス及び待ち時間に従って、第一型制御対象物単位を移動させる。
(1) 第一移動部18は、時刻t=0からtime_at_end[j_max]-1まで、以下の処理(1-1)の処理を繰り返す。
(1-1) 第一移動部18は、全ての第一型制御対象物単位jについて、exchange[j][t]が0以外の値のときは、pass[j][t]の位置にある第一型制御対象物単位jをpass[j][t+1]の位置にある第一型制御対象物単位の位置に移動させる。以降、pass[j][t+1]の位置にあった第一型制御対象物単位を新たな第一型制御対象物単位jとする。exchange[j][t]→a_exとし、a_ex=1,2,5のときは、図12の動作で移動を行う。exchange[j][t]→a_exとし、a_ex=3,4,6のときは、図13の動作で移動を行う。
第一移動部18は、exchange[j][t]が0のときは、pass[j][t]の位置にある第一型制御対象物単位jをpass[j][t+1]の位置に移動させる。第一移動部18は、t≠time_at_end[j]-1のときは、第一型制御対象物単位の移動を、図10又は図11に示す動作で行う。第一移動部18は、t=time_at_end[j]-1のときは、第一型制御対象物単位の移動を、図14又は図15に示す動作で行う。第一移動部18は、pass[j][t]=pass[j][t+1]のときは何もしない。
[第二パス決定部24]
第二パス決定部24は、各第二型制御対象物単位が制御対象物構造の接続性を維持しながら接続位置を通って目標位置に到達するまでのパスを接続位置から遠い位置を目標位置とする第二型制御対象物単位のパスから順に決定する(ステップS24)。
決定されたパスについての情報は、第二待ち時間調整部25及び第二移動部26に出力される。
例えば、第二パス決定部24は、以下に説明する(1)から(3)の処理を行うことにより、各第二型制御対象物単位jが、各々の初期位置から目標位置まで移動するためのパスを計算する。
以下の処理により、パスの各位置は、pass[j][t](t=0,1,2,…,t_max[j])に格納される。また、第二型制御対象物単位jが第二型制御対象物単位j'と入れ替えを行う時刻は、exchange[j][t](t=0,1,2,…,t_max[j])に格納される。第二型制御対象物単位jが後続の第二型制御対象物単位への待機を指示する時刻は、waiting_at[j][t](t=0,1,2,…,t_max[j])に格納される。なお、waiting_at[j][t]=1は待機を表し、waiting_at[j][t]=0は待機がないことを表す。
(1) 第二パス決定部24は、全ての第二型制御対象物単位の仮想位置を第一移動部18の処理の終了後の位置に設定する。第二パス決定部24は、exchange[j][t],waiting_at[j][t]を全てのj,tで0に初期化する。第二パス決定部24は、(2)-(3)の処理を第二型制御対象物単位0から第二型制御対象物単位j_max/2-1まで実行する。ここで、jの番号は、目標位置G内での各第二型制御対象物単位の目標位置の接続位置Gate_Sからのマンハッタン距離δの大きい順に振ることとする。すなわち、δ(0)≧δ(1)≧δ(2)≧…≧δ(j_max/2-2)≧δ(j_max/2-1)とする。
(2) 第二パス決定部24は、第二型制御対象物単位jの開始位置から、δ値が大きくなる道筋に第二型制御対象物単位をたどっていき式(1)を満たす第二型制御対象物単位を探してj_start[j]とする。第二パス決定部24は、第二型制御対象物単位j_start[j]の移動開始時間t_start[j]は、t_start[j-1]のtv-(δ(j_start[j])-δ(j_start[j-1]))時間ステップ後とする。第二パス決定部24は、t<t_start(移動開始前)のpass値は、第二型制御対象物単位j_start[j]の初期位置とする。
第二パス決定部24は、j_start[j]=jの場合と、そうでない場合とに応じて、以下の(2-1)及び(2-2)の処理を実行する。
(2-1) 第二パス決定部24は、j_start[j]≠jのとき、初期位置S内で第二型制御対象物単位jの隣にある第二型制御対象物単位j_nまでの道筋を、t=0からのpassに追加する。第二パス決定部24は、j_nとして、j_nからjに至る方向a_exが1,2,5の場合を優先的に選び、そのようなj_nがない場合のみ、a_ex=3,4,6の場合のj_nを選ぶ。第二パス決定部24は、第二型制御対象物単位jがj_nに至る時刻をt_exとしたとき、exchange[j][t_ex]←a_exとする。第二パス決定部24は、jをpassの最後尾に追加し、その時のtをtime_at_end[j]とする。第二パス決定部24は、第二型制御対象物単位j_endの仮想位置の値に、第二型制御対象物単位jの仮想位置の値を代入する。また、第二パス決定部24は、pass内にて、δ値が大きくなる方向への移動を行う時刻について、waiting_at[j][t]←1とする。このwaiting_at[j][t]←1とする処理は、第二待ち時間調整部25により行われてもよい。j_start[j] = jのとき(2-2)の処理に進む。
(2-2) 第二パス決定部24は、第二型制御対象物単位jの位置から、接続位置Gate_Sを通って目標位置G内の第二型制御対象物単位jの目標位置までのパスを計算し、その道筋をpassに追加する。passの最後尾はjの目標位置である。
[第二待ち時間調整部25]
第二待ち時間調整部25は、各第二型制御対象物単位が衝突しないように、各第二型制御対象物単位の待ち時間を決定する(ステップS25)。
決定された待ち時間についての情報は、第二移動部26に出力される。
第二待ち時間調整部25は、第二型制御対象物単位の入れ替え時の、他の第二型制御対象物単位の待ち時間を考慮して、pass値を修正する。第二待ち時間調整部25は、第二型制御対象物単位jが時刻tで入れ替えを行う場合、第二型制御対象物単位jの後続の全ての第二型制御対象物単位の時刻t以降のpass値をtw時間ステップ分ずらしていく。
例えば、第二待ち時間調整部25は、以下に説明する(1)から(2)の処理を行うことにより、各第二型制御対象物単位の待ち時間を決定する。
決定された待ち時間についての情報は、第二移動部26に出力される。
(1) 第二待ち時間調整部25は、(2)の処理を第二型制御対象物単位0から第二型制御対象物単位j_maxまで実行する。
(2) 第二待ち時間調整部25は、t=0から、time_at_end[j]まで以下の(2-1)の処理を実行する。
(2-1) 第二待ち時間調整部25は、waiting_at[j][t]が0以外の値のとき、第二型制御対象物単位jの後続の第二型制御対象物単位j_sub (j_sub>j)すべてについて、pass[j_sub][t']←pass[j_sub][t'-tw]、exchange[j_sub][t']←exchange[j_sub][t'-tw]とし(t'≧t+tw)、waiting_at[j_sub][t']←waiting_at[j_sub][t'-tw]とし(t'≧t+tw)、pass[j_sub][t+tw-1]←pass[j_sub][t]、pass[j_sub][t+tw-2]←pass[j_sub][t]、pass[j_sub][t+1]←pass[j_sub][t]、exchange[j_sub][t]←0, exchange[j_sub][t+ tw-1]←0、exchange[j_sub][t+tw-2]←0、exchange[j_sub][t+1]←0、waiting_at[j_sub][t]←0,waiting_at[j_sub][t+tw-1]←0、waiting_at[j_sub][t+tw-2]←0、waiting_at[j_sub][t+1]←0とする。t<t_start[j_sub]のときは、t_start[j_sub]をtw回インクリメントする。第二待ち時間調整部25は、t<time_at_gate[j_sub]のときは、time_at_gate[j_sub]をtw回インクリメントする。第二待ち時間調整部25は、t<time_at_end[j_sub]のときは、time_at_end[j_sub]をtw回インクリメントする。
[第二移動部26]
第二移動部26は、第二パス決定部24により決定されたパス及び第二待ち時間調整部25により決定された待ち時間に従って、各第二型制御対象物単位を移動させる(ステップS26)。
具体的には、第二移動部26は、以下に説明する(1)の処理を行うことにより、決定されたパス及び待ち時間に従って、第二型制御対象物単位を移動させる。
(1) 第二移動部26は、時刻t=0からtime_at_end[j_max]-1まで、以下の(1-1)の処理を繰り返す。
(1-1) 第二移動部26は、全ての第二型制御対象物単位jについて、exchange[j][t]が0以外の値のときは、pass[j][t]の位置にある第二型制御対象物単位j_start[j]をpass[j][t+1]の位置にある第二型制御対象物単位の位置に移動させる。以降、pass[j][t+1]の位置にあった第二型制御対象物単位jを新たな第二型制御対象物単位j_start[j]とする。第二移動部26は、exchange[j][t]→a_exとし、a_ex=1,2,5のときは、図12の動作で移動を行う。第二移動部26は、exchange[j][t]→a_exとし、a_ex=3,4,6のときは、図13の動作で移動を行う。
第二移動部26は、exchange[j][t]が0のときは、pass[j][t]の位置にある第二型制御対象物単位j_start[j]をpass[j][t+1]の位置に移動させる。第二移動部26は、t=time_at_end[j]-1のときは、図14又は図15に示す動作で移動を行う。ただし、第二移動部26は、pass[j][t]=pass[j][t+1]のときは何もしない。
以下の式に示すように、tv-(δ(Mi)-δ(Mi-1))の時間差で各制御対象物単位が出発したとしても、最後の制御対象物単位が出発するまでの待ち時間は線形である。ここで、Miは現在時刻iで移動を開始する制御対象物単位であり、Mi-1は現在時刻iの1時間ステップ前の時刻i-1で移動を開始した制御対象物単位であるとする。
Σi=1 n{tv-(δ(Mi)-δ(Mi-1))}=tv(n-1)-(δ(Mn)-δ(M0))<tvn+n=(tv+1)n=O(n)
このため、以上の方法により、制御対象物単位数の一乗に比例する実行時間での隊列変形を実現することができる。
<変形例>
上記の説明においては、第一実施形態では、jAを第一型制御対象物単位とし、jBを第二型制御対象物単位とした。また、上記の説明において、第二実施形態では、jBを第一型制御対象物単位とし、jAを第二型制御対象物単位とした。
しかし、第一実施形態で、jBを第一型制御対象物単位とし、jAを第二型制御対象物単位としてもよい。同様に、第二実施形態で、jAを第一型制御対象物単位とし、jBを第二型制御対象物単位としてもよい。
なお、第一実施形態で、jBを第一型制御対象物単位としjAを第二型制御対象物単位とした場合には、第一型制御対象物単位は目標位置G内でjAに相当する位置となり、第二型制御対象物単位は目標位置G内でjBに相当する位置となる。また、第二実施形態で、jAを第一型制御対象物単位としjBを第二型制御対象物単位とした場合には、第一型制御対象物単位は目標位置G内でjBに相当する位置となり、第二型制御対象物単位は目標位置G内でjAに相当する位置となる。
上述の説明では第一型制御対象物単位と第二型制御対象物単位がそれぞれ図4Bに図示する4マスの制御対象物単位からなる形状であり、これらが組み合わさった8マスの制御対象物単位を基本構成要素として、この基本構成要素が複数接続されて隊列形成するものとして説明したが、本発明は、必ずしもこの形状に限定されるものではない。
本発明のポイントは、第一型制御対象物単位と第二型制御対象物単位が周囲に空隙を有する相補的な形状をしており、第一型制御対象物単位と第二型制御対象物単位を組み合わせてなる結合形状(上述の例でいうところの8マス立方体形状)を基本構成要素とし、この基本構成要素が複数接続されて隊列が形成されるものとしたとき、各制御対象物単位で、この単位を維持しつつ移動を行うことにある。第一型制御対象物単位と第二型制御対象物単位がそれぞれ周囲に空隙を有することを利用して、この空隙を使って隊列移動を効率的に行うことが基本的なアイデアである。ここで、第一型制御対象物単位に関する「周囲の空隙」とは、基本構成要素内で第一型制御対象物単位の属さない位置をいい、第二型制御対象物単位に関する「周囲の空隙」とは、基本構成要素内で第二型制御対象物単位の属さない位置をいう。
したがって、図4の例に限らず、第一型制御対象物単位と第二型制御対象物単位は相補的な形状であって、それぞれ以下の条件を満たすよう構成されていればよい。すなわち、第一型制御対象物単位と第二型制御対象物単位は、(1)三次元の直交座標系で各軸方向に長さM(M≧2、ただし、制御対象物1個の長さを長さ1とする)を有する立方体形状の空間(以降この空間をメタモジュールとする。)内の部分構造であり、(2)当該メタモジュール内の制御対象物単位に含まれる制御対象物の数と、当該メタモジュール内の制御対象物単位以外の部分(すなわち空隙)の数とが等しく、(3)各軸方向にM個の制御対象物が隣接する構造を含む。制御対象物単位に含まれる制御対象物の数をU個とすれば、Uは4以上の整数であることが好ましい。
実際に、図4に例示する第一型制御対象物単位と第二型制御対象物単位は、(1)各軸方向の長さM=2とした計8マスの立方体からなるメタモジュールの部分構造であり、(2)制御対象物単位内の制御対象物の数が4個、メタモジュール内の空隙の数が4個と等しく、(3)各軸方向において2個の制御対象物が隣接する構造が含まれている。この場合、U=4である。
<効果>
このような構成により、多数の制御対象物の存在を考慮しつつ、制御対象物同士が接したままの状態を維持しつつ任意の初期位置における隊列形成状態から、他の任意の目標位置における隊列形成状態へ障害物のある環境にてヘテロジニアス隊列制御を制御対象物台数の2乗に比例した実行時間で従来手法より短い時間で配置させることができる。
これにより、例えば、カメラを搭載した制御対象物、車輪を搭載した制御対象物等各制御対象物個々に異なる役割があって、各個の制御対象物を制御対象物隊列内の適切な位置に配置させつつ、隊列の形状を入れ替え前後で維持制御するといった運用が可能となる。また、すべての制御対象物に必要なすべての機能を実装する必要がなくなる。
[プログラム及び記録媒体]
制御装置の各部における処理をコンピュータによって実現する場合、これらの装置の各部がが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各部の処理がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、各部の処理は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理の少なくとも一部をハードウェア的に実現することとしてもよい。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
1 第一型制御対象物単位移動制御部
11 標的第一型制御対象物単位選択部
12 第一移動部
13 第二移動部
14 第三移動部
15 第一制御部
16 第一パス決定部
17 時間調整部
18 第一移動部
2 第二型制御対象物単位移動制御部
21 標的第二型制御対象物単位選択部
22 移動制御部
221 接続性判定部
222 交換第二型制御対象物単位選択部
223 交換第二型制御対象物単位移動制御部
224 交換第二型制御対象物単位押出制御部
225 標的第二型制御対象物単位移動制御部
23 第二制御部
24 第二パス決定部
25 時間調整部
26 第二移動部
3 記憶部

Claims (5)

  1. 制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、
    制御対象物単位には所定の初期位置及び所定の目標位置が定められており、上記初期位置の集合をSとし、上記目標位置の集合をGとし、第一型制御対象物単位の目標位置は上記第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は上記第二型制御対象物単位である制御対象物単位の目標位置であり、
    第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、
    制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動制御部と、
    制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動制御部と、
    を含む制御装置であって、
    上記第一型制御対象物単位移動制御部は、
    (CASE 1) 対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第二型制御対象物単位に隣接する位置又は移動後の第一型制御対象物単位に隣接する位置を目標位置とする第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 2) CASE 1に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第一型制御対象物単位の目標位置に他の第一型制御対象物単位が存在する場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 3) CASE 1及びCASE 2に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 4) CASE 1からCASE 3に該当する第一型制御対象物単位が存在しない場合には、S内でGに隣接する位置にある第一型制御対象物単位を標的第一型制御対象物単位として選択する標的第一型制御対象物単位選択部と、
    CASE 1の場合に、CASE 1で選択された標的第一型制御対象物単位をその目標位置に移動させる第一移動部と、
    CASE 2の場合に、上記他の第一型制御対象物単位を第1追い出し対象制御対象物単位とし、第1追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在するときにはその別の第一型制御対象物単位を第2追い出し対象制御対象物単位とする処理を、Kを正の整数として、第K追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在しなくなるまで繰り返し行い、k=1,…,Kとして、CASE 2で選択された標的第一型制御対象物単位、第1追い出し対象制御対象物単位、・・・、第K−1追い出し対象制御対象物単位のそれぞれを目標位置に移動させ、第K追い出し対象制御対象物単位を第K追い出し対象制御対象物単位の目標位置に最も近いG内の位置に移動させる第二移動部と、
    CASE 3及びCASE 4の場合に、CASE 3及びCASE 4で選択された標的第一型制御対象物単位を、現在の制御対象物単位構造に隣接する制御対象物のない空隙位置であって、その標的第一型制御対象物単位の目標位置に最も近いG内の位置に移動させる第三移動部と、
    全ての第一型制御対象物単位が目標位置に移動するまで、上記標的第一型制御対象物単位選択部、上記第一移動部、上記第二移動部及び上記第三移動部の処理を繰り返し行うように制御する第一制御部と、
    を含み、
    上記第二型制御対象物単位移動制御部は、
    目標位置に到達していない第二型制御対象物単位を標的第二型制御対象物単位として選択する標的第二型制御対象物単位選択部と、
    上記選択された標的第二型制御対象物単位を目標位置に移動させるときに制御対象物構造の接続性が維持されるかどうか判定し、(1)制御対象物構造の接続性が維持されると判定された場合には、上記選択された標的第二型制御対象物単位を目標位置に移動させ、(2)制御対象物構造の接続性が維持されないと判定された場合には、上記選択された標的第二型制御対象物単位の位置に制御対象物構造の接続性を維持しながら移動することができる第二型制御対象物単位である交換第二型制御対象物単位を選択し、上記選択された交換第二型制御対象物単位を上記選択された標的第二型制御対象物単位の位置に移動させた後に上記選択された標的第二型制御対象物単位を目標位置に移動させる移動制御部と、
    目標位置に到達していない第二型制御対象物単位がなくなるまで、上記標的第二型制御対象物単位選択部及び上記第二型制御対象物単位移動制御部の処理を繰り返し行うように制御する第二制御部と、
    を含む制御装置。
  2. 制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、
    制御対象物単位には所定の初期位置及び所定の目標位置が定められており、上記初期位置の集合をSとし、上記目標位置の集合をGとし、第一型制御対象物単位の目標位置は上記第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は上記第二型制御対象物単位である制御対象物単位の目標位置であり、
    第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、
    制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動制御部と、
    制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動制御部と、
    を含む制御装置であって、
    上記制御対象物単位の上記初期位置の集合Sと上記目標位置の集合Gとは接しているとし、上記初期位置の集合Sに含まれる位置であって上記目標位置の集合Gに接している位置の1つを接続位置として、
    上記第一型制御対象物単位移動制御部は、
    各第一型制御対象物単位が制御対象物構造の接続性を維持しながら上記接続位置を通って目標位置に到達するまでのパスを上記接続位置から近い初期位置にある第一型制御対象物単位のパスから順に決定する第一パス決定部と、
    各第一型制御対象物単位が衝突しないように、各第一型制御対象物単位の待ち時間を決定する第一待ち時間調整部と、
    上記第一パス決定部により決定されたパス及び上記第一待ち時間調整部により決定された待ち時間に従って、各第一型制御対象物単位を移動させる第一移動部と、
    を含み、
    上記第二型制御対象物単位移動制御部は、
    各第二型制御対象物単位が制御対象物構造の接続性を維持しながら上記接続位置を通って目標位置に到達するまでのパスを上記接続位置から遠い位置を目標位置とする第二型制御対象物単位のパスから順に決定する第二パス決定部と、
    各第二型制御対象物単位が衝突しないように、各第二型制御対象物単位の待ち時間を決定する第二待ち時間調整部と、
    上記第二パス決定部により決定されたパス及び上記第二待ち時間調整部により決定された待ち時間に従って、各第二型制御対象物単位を移動させる第二移動部と、
    を含む、
    制御装置。
  3. 制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、
    制御対象物単位には所定の初期位置及び所定の目標位置が定められており、上記初期位置の集合をSとし、上記目標位置の集合をGとし、第一型制御対象物単位の目標位置は上記第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は上記第二型制御対象物単位である制御対象物単位の目標位置であり、
    第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、
    第一型制御対象物単位移動制御部が、制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動ステップと、
    第二型制御対象物単位移動制御部が、制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動ステップと、
    を含む制御方法であって、
    上記第一型制御対象物単位移動制御ステップは、
    標的第一型制御対象物単位選択部が、(CASE 1) 対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第二型制御対象物単位に隣接する位置又は移動後の第一型制御対象物単位に隣接する位置を目標位置とする第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 2) CASE 1に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位であって、その第一型制御対象物単位の目標位置に他の第一型制御対象物単位が存在する場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 3) CASE 1及びCASE 2に該当する第一型制御対象物単位が存在しない場合において、対応する第一型制御対象物単位が初期位置から移動した後の第二型制御対象物単位に隣接する位置にあるS内の第一型制御対象物単位がある場合には、その第一型制御対象物単位を標的第一型制御対象物単位として選択し、(CASE 4) CASE 1からCASE 3に該当する第一型制御対象物単位が存在しない場合には、S内でGに隣接する位置にある第一型制御対象物単位を標的第一型制御対象物単位として選択する標的第一型制御対象物単位選択ステップと、
    第一移動部が、CASE 1の場合に、CASE 1で選択された標的第一型制御対象物単位をその目標位置に移動させる第一移動ステップと、
    第二移動部が、CASE 2の場合に、上記他の第一型制御対象物単位を第1追い出し対象制御対象物単位とし、第1追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在するときにはその別の第一型制御対象物単位を第2追い出し対象制御対象物単位とする処理を、Kを正の整数として、第K追い出し対象制御対象物単位の目標位置に別の第一型制御対象物単位が存在しなくなるまで繰り返し行い、k=1,…,Kとして、CASE 2で選択された標的第一型制御対象物単位、第1追い出し対象制御対象物単位、・・・、第K−1追い出し対象制御対象物単位のそれぞれを目標位置に移動させ、第K追い出し対象制御対象物単位を第K追い出し対象制御対象物単位の目標位置に最も近いG内の位置に移動させる第二移動ステップと、
    第三移動部が、CASE 3及びCASE 4の場合に、CASE 3及びCASE 4で選択された標的第一型制御対象物単位を、現在の制御対象物単位構造に隣接する制御対象物のない空隙位置であって、その標的第一型制御対象物単位の目標位置に最も近いG内の位置に移動させる第三移動ステップと、
    第一制御部が、全ての第一型制御対象物単位が目標位置に移動するまで、上記標的第一型制御対象物単位選択ステップ、上記第一移動ステップ、上記第二移動ステップ及び上記第三移動ステップの処理を繰り返し行うように制御する第一制御ステップと、
    を含み、
    上記第二型制御対象物単位移動制御ステップは、
    標的第二型制御対象物単位選択部が、目標位置に到達していない第二型制御対象物単位を標的第二型制御対象物単位として選択する標的第二型制御対象物単位選択ステップと、
    移動制御部が、上記選択された標的第二型制御対象物単位を目標位置に移動させるときに制御対象物構造の接続性が維持されるかどうか判定し、(1)制御対象物構造の接続性が維持されると判定された場合には、上記選択された標的第二型制御対象物単位を目標位置に移動させ、(2)制御対象物構造の接続性が維持されないと判定された場合には、上記選択された標的第二型制御対象物単位の位置に制御対象物構造の接続性を維持しながら移動することができる第二型制御対象物単位である交換第二型制御対象物単位を選択し、上記選択された交換第二型制御対象物単位を上記選択された標的第二型制御対象物単位の位置に移動させた後に上記選択された標的第二型制御対象物単位を目標位置に移動させる移動制御ステップと、
    第二制御部が、目標位置に到達していない第二型制御対象物単位がなくなるまで、上記標的第二型制御対象物単位選択ステップ及び上記第二型制御対象物単位移動制御ステップの処理を繰り返し行うように制御する第二制御ステップと、
    を含む制御方法。
  4. 制御対象物単位は複数あり、各制御対象物単位は第一型制御対象物単位及び第二型制御対象物単位から構成されており、第一型制御対象物単位と第二型制御対象物単位はそれぞれU個(Uは4以上の整数)の制御対象物から構成されており、
    制御対象物単位には所定の初期位置及び所定の目標位置が定められており、上記初期位置の集合をSとし、上記目標位置の集合をGとし、第一型制御対象物単位の目標位置は上記第一型制御対象物単位である制御対象物単位の目標位置であり、第二型制御対象物単位の目標位置は上記第二型制御対象物単位である制御対象物単位の目標位置であり、
    第一型制御対象物単位及び第二型制御対象物単位が他の第一型制御対象物単位及び第二型制御対象物単位と隣接するが、第一型制御対象物単位及び第二型制御対象物単位の周囲には他の第一型制御対象物単位及び第二型制御対象物単位を構成する制御対象物が移動可能な空隙が有ることを制御対象物構造の接続性と言うとして、
    第一型制御対象物単位移動制御部が、制御対象物構造の接続性を維持しながら、各制御対象物単位の第一型制御対象物単位を、その目標位置に移動させる第一型制御対象物単位移動ステップと、
    第二型制御対象物単位移動制御部が、制御対象物構造の接続性を維持しながら、各制御対象物単位の第二型制御対象物単位を、その目標位置に移動させる第二型制御対象物単位移動ステップと、
    を含む制御方法であって、
    上記制御対象物単位の上記初期位置の集合Sと上記目標位置の集合Gとは接しているとし、上記初期位置の集合Sに含まれる位置であって上記目標位置の集合Gに接している位置の1つを接続位置として、
    上記第一型制御対象物単位移動制御ステップは、
    第一パス決定部が、各第一型制御対象物単位が制御対象物構造の接続性を維持しながら上記接続位置を通って目標位置に到達するまでのパスを上記接続位置から近い初期位置にある第一型制御対象物単位のパスから順に決定する第一パス決定ステップと、
    第一待ち時間調整部が、各第一型制御対象物単位が衝突しないように、各第一型制御対象物単位の待ち時間を決定する第一待ち時間調整ステップと、
    第一移動部が、上記第一パス決定ステップにより決定されたパス及び上記第一待ち時間調整ステップにより決定された待ち時間に従って、各第一型制御対象物単位を移動させる第一移動ステップと、
    を含み、
    上記第二型制御対象物単位移動制御ステップは、
    第二パス決定部が、各第二型制御対象物単位が制御対象物構造の接続性を維持しながら上記接続位置を通って目標位置に到達するまでのパスを上記接続位置から遠い位置を目標位置とする第二型制御対象物単位のパスから順に決定する第二パス決定ステップと、
    第二待ち時間調整部が、各第二型制御対象物単位が衝突しないように、各第二型制御対象物単位の待ち時間を決定する第二待ち時間調整ステップと、
    第二移動部が、上記第二パス決定ステップにより決定されたパス及び上記第二待ち時間調整ステップにより決定された待ち時間に従って、各第二型制御対象物単位を移動させる第二移動ステップと、
    を含む、
    制御方法。
  5. 請求項1又は2の制御装置の各部としてコンピュータを機能させるためのコンピュータ読み取り可能なプログラム。
JP2018043955A 2017-09-15 2018-03-12 制御装置、方法及びプログラム Active JP6879233B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017178127 2017-09-15
JP2017178127 2017-09-15

Publications (2)

Publication Number Publication Date
JP2019053709A JP2019053709A (ja) 2019-04-04
JP6879233B2 true JP6879233B2 (ja) 2021-06-02

Family

ID=66014967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043955A Active JP6879233B2 (ja) 2017-09-15 2018-03-12 制御装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6879233B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7167880B2 (ja) * 2019-08-27 2022-11-09 トヨタ自動車株式会社 停止線位置推定装置及び車両制御システム
US20240077869A1 (en) 2021-01-15 2024-03-07 Nippon Telegraph And Telephone Corporation Control apparatus, hamiltonian cycle extension apparatus, these methods and programs
WO2023281582A1 (ja) * 2021-07-05 2023-01-12 日本電信電話株式会社 制御装置、方法及びプログラム
WO2023281625A1 (ja) * 2021-07-06 2023-01-12 日本電信電話株式会社 制御装置、方法及びプログラム
WO2023195065A1 (ja) * 2022-04-05 2023-10-12 日本電信電話株式会社 制御装置、方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2933247B2 (ja) * 1991-10-29 1999-08-09 川崎重工業株式会社 ロボット装置

Also Published As

Publication number Publication date
JP2019053709A (ja) 2019-04-04

Similar Documents

Publication Publication Date Title
JP6879233B2 (ja) 制御装置、方法及びプログラム
Yu et al. Planning optimal paths for multiple robots on graphs
Iversen et al. Benchmarking motion planning algorithms for bin-picking applications
JP2017142738A (ja) 行動制御システム、その方法及びプログラム
Pal et al. A focused wave front algorithm for mobile robot path planning
Gonzalez-Rodriguez et al. Collision-free motion planning and scheduling
JP6881352B2 (ja) 制御装置、方法及びプログラム
Sagar et al. Multi-goal path planning for robotic agents with discrete-step locomotion
JP6939395B2 (ja) 制御装置、方法及びプログラム
Bateau et al. Increasing the efficiency of distributed goal-filling algorithms for self-reconfigurable hexagonal metamorphic robots
JP6777661B2 (ja) 制御装置、方法及びプログラム
JP6685957B2 (ja) 制御対象物位置入れ替え制御装置、制御対象物位置入れ替え制御方法、プログラム
JP6939396B2 (ja) 隊列制御装置、隊列制御方法、およびプログラム
WO2023281625A1 (ja) 制御装置、方法及びプログラム
WO2022239063A1 (ja) 制御装置、方法及びプログラム
JP7014099B2 (ja) 移動ロボット、移動ロボットの制御方法及びプログラム
JP6946933B2 (ja) 隊列制御装置、隊列制御方法、およびプログラム
Tamura et al. A new path planning algorithm for manipulators
WO2023281582A1 (ja) 制御装置、方法及びプログラム
JP7480869B2 (ja) 制御装置、ハミルトン閉路拡張装置、方法及びプログラム
JP7014101B2 (ja) 移動ロボット、移動ロボットの制御方法及びプログラム
Odem et al. A Self-Reconfiguration Algorithm for Sliding Triangular Modular Robots
WO2023276065A1 (ja) 制御装置、方法及びプログラム
Bennewitz et al. Finding solvable priority schemes for decoupled path planning techniques for teams of mobile robots
JP6392187B2 (ja) 行動制御システム、その方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210412

R150 Certificate of patent or registration of utility model

Ref document number: 6879233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150