JP6939396B2 - 隊列制御装置、隊列制御方法、およびプログラム - Google Patents
隊列制御装置、隊列制御方法、およびプログラム Download PDFInfo
- Publication number
- JP6939396B2 JP6939396B2 JP2017202115A JP2017202115A JP6939396B2 JP 6939396 B2 JP6939396 B2 JP 6939396B2 JP 2017202115 A JP2017202115 A JP 2017202115A JP 2017202115 A JP2017202115 A JP 2017202115A JP 6939396 B2 JP6939396 B2 JP 6939396B2
- Authority
- JP
- Japan
- Prior art keywords
- group
- control
- unit
- moving
- control object
- 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
Links
- 238000000034 method Methods 0.000 title claims description 118
- 230000015572 biosynthetic process Effects 0.000 title claims description 90
- 230000033001 locomotion Effects 0.000 claims description 146
- 239000011800 void material Substances 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 67
- 238000010586 diagram Methods 0.000 description 40
- 238000012545 processing Methods 0.000 description 36
- 238000004364 calculation method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
まず、本発明の隊列制御装置および方法の理論的背景について説明する。以下の説明において、制御対象物はロボットである。制御対象物は、制御の対象となり得るものであればロボット以外であってもよい。
任意の隊列形成を初期隊列形成状態として、制御対象物同士が接したままの状態を維持しつつ目的とする任意の隊列形成状態である目的隊列形成状態へ隊列を移動させる隊列制御を、多数の制御対象物が協調して行う任務を、例えば図1に例示するような、互いに接する面同士をスライドさせて移動していくことが可能な立方体型の制御対象物の制御を想定して実現する。制御対象物については、例えば図1に示すように、制御対象物の周囲縦横高さ方向(以下「上下左右前後方向」ともいう)6マスのうち一つに他の制御対象物が存在している(一つの面を他制御対象物と共有している)状態を維持しながら移動をするものとする。この手法では1つの制御対象物自身が、一個の制御対象物のサイズ分の距離を移動することで、一回の動作の移動量を正確に測ることができるというメリットがある。また、一つの面を共有する隣り合う制御対象物との相対的な位置を計測し合うことで、制御対象物の群全体の中での各制御対象物の位置も容易に知ることができる。このため、制御対象物の移動量の誤差によって、隊列が崩れるといった問題を起こしにくく、また、各制御対象物の位置を把握するために付加的な位置計測用の装備を備えずとも位置の把握が可能である。また、複数の制御対象物を連結したように、同時に複数の制御対象物を移動させていくことが可能である。なお、制御対象物は、隣の位置に他の制御対象物が存在しているか否か、障害物があるか否か、そして、自身が目的位置上にいるかどうかを知ることができるものとする。
それぞれの制御対象物i(iは制御対象物番号を表すi=0, 1, 2, 3, …, p-1、ただしpは第1の制御対象物群と第2の制御対象物群に含まれる制御対象物の総数とする)の位置を(Xr[i], Yr[i], Zr[i])とし、初期位置を(Xr0[i], Yr0[i], Zr0[i])とし、目的位置を(Xre[i], Yre[i], Zre[i])とするとき、本問題は、初期位置に配置された制御対象物が、目的位置まで移動するための行動計画を求めることと定義できる。ここで、Xr[i]はX軸方向の位置、Yr[i]はY軸方向の位置、Zr[i]はZ軸方向の位置である。各制御対象物が属する群の番号をSr[i]とする。例えば、Sr[i]=0は第1の制御対象物群、Sr[i]=1は第2の制御対象物群を表すものとする。
iを制御対象物番号としたとき、制御対象物iの各状態(制御対象物の位置と行動)は離散値で表現される。部屋をX, Y, Zの直交座標系からなる3次元空間で表すと、X軸、Y軸、Z軸をそれぞれ離散化表現した値により各位置を表現する。つまり、部屋(3次元空間)は格子で区切られ、各格子が各位置に対応する。また、各格子において、障害物の「ある/なし」が予め設定されている。
例えば、制御対象物である行動主体は部屋に配置されている各制御対象物である。制御対象物i(iは制御対象物番号)の行動aは、静止、縦横高さ(X軸、Y軸、Z軸)方向への1格子分の移動(正方向、負方向)、の計7種類のうちのいずれかを取る。例えば、a∈{0, 1, 2, 3, 4, 5, 6}として、
0: 静止
1: 三次元空間内でX軸正方向に1格子だけ移動する(図2紙面内右方向)
2: 三次元空間内でY軸正方向に1格子だけ移動する(図2紙面内手前方向)
3: 三次元空間内でX軸負方向に1格子だけ移動する(図2紙面内左方向)
4: 三次元空間内でY軸負方向に1格子だけ移動する(図2紙面内手後方向)
5: 三次元空間内でZ軸正方向に1格子だけ移動する(図2紙面内上方向)
6: 三次元空間内でZ軸負方向に1格子だけ移動する(図2紙面内下方向)
とする。
このような任務環境における状態空間は、制御対象物数×3の次元数の状態を持ち、かつ選択可能な行動数は、制御対象物の行動(=7通り)の制御対象物数乗だけ存在する。例えば、制御対象物数が50で、部屋の縦横高さ方向の格子数がそれぞれ20であるとすれば、状態数は20の150乗個にもなり、探索計算に要する資源の量は膨大なものとなる。さらに制御対象物数が1個増えるごとに、その状態数は8000倍増加していくことになる。[問題設定]の項で説明したように、制御対象物同士が接しているという拘束条件を取り入れる場合、制御対象物のお互いの移動を考慮したうえで探索計算を行わなければならないために、根本的な計算量の削減は難しく、複数の制御対象物を使用する場合の大きな問題となっている。
参考文献3におけるヘテロジニアス隊列制御では、上述の計算負荷の問題を解決するための方策の一つとして、ボイド制御の考え方を導入している。また、[問題設定]で述べたような隊列変形の問題を克服するために8マス制御対象物単位の考え方も導入している。
そこで本発明では、周囲に空隙を有する制御対象物単位を隊列の基本構成要素とし、隊列はこの制御対象物単位が複数接続することで構成され、制御対象物は、この制御対象物単位を維持しつつ移動を行うこととする。例えば、図2に示すように、4つの隣接した制御対象物を一つの単位(制御対象物単位)とし、制御対象物は、この制御対象物単位を維持しつつ移動を行う。言い換えると、4個毎に1つの制御対象物単位を構成し、1つの制御対象物単位を構成する4個の制御対象物は隣接した状態を維持しつつ移動を行う。制御対象物単位の集団は、互いに制御対象物単位ごとに少なくとも一面を共有し、接しながら移動をするように制御される。つまり、接続性を保ったまま隊列変形を行うこととする。また、各隊列内において全ての制御対象物は同一(ホモジニアス)であるとする。つまり、第一、第二の各隊列の間での制御対象物は区別されるが、どの制御対象物が各隊列内のどの位置にあるかは問わないものとする。
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
となり、移動している制御対象物群(Sr[i]=1)、すなわち第2の制御対象物群中の制御対象物の場合は、
Xr[j1] = 2 × Xr_u[j] + 1
Yr[j1] = 2 × Yr_u[j]
Zr[j1] = 2 × Zr_u[j] + 1
Xr[j2] = 2 × Xr_u[j]
Yr[j2] = 2 × Yr_u[j] + 1
Zr[j2] = 2 × Zr_u[j] + 1
Xr[j3] = 2 × Xr_u[j] + 1
Yr[j3] = 2 × Yr_u[j] + 1
Zr[j3] = 2 × Zr_u[j] + 1
Xr[j4] = 2 × Xr_u[j] + 1
Yr[j4] = 2 × Yr_u[j] + 1
Zr[j4] = 2 × Zr_u[j]
となる。
本発明では、Su[j]=1である制御対象物単位jからなる第2の制御対象物群(以下、M群とする)が、Su[j]=0である制御対象物単位jからなる第1の制御対象物群(以下、S群とする)が占有する空間内を任意方向(X, Y, Z軸の6方向)に移動するための透過隊列制御を実現する。つまり、移動する制御対象物群がM群であり、通り抜ける空間を占有する制御対象物群がS群であり、S群の群全体の形状と位置は移動前後で変わらない。「群全体の形状と位置が変わらない」という意味は、全体形状と位置が同じであれば、隊列内の個別の制御対象物の位置は入れ替わっても良いということである。
第一実施形態の隊列制御装置は、部分隊列について、M群がS群の占有する空間内の空隙を通って1制御対象物単位分、所定方向へ移動するよう制御を行うものである。
(第1工程)基準列をa方向に1マス移動させる工程
(第2工程)基準列に対して第1軸の向きに並行な列をa方向に1マス移動させる工程
(第3工程)基準列の対角位置にある列をaと逆の方向に1マス移動させる工程
(第4工程)上記第1〜第3工程の少なくとも何れかにより生成された空隙位置に、第2軸の向きに平行な方向に隣接する位置にある制御対象物を移動させる工程
の4つの工程を組み合わせて実現する。第1工程が、上述の「A)基本動作」に相当し、第2〜第4工程が上述の「B)調整動作」に相当する。
・移動方向aは予め与えられるものとする(以下、「移動方向指令値a」とよぶ)。
第一実施形態の隊列制御装置1は、図25に例示するように、状態判定部10、基本動作部11、および調整動作部12を含む。この隊列制御装置1が、図26に例示する各ステップの処理を行うことにより第一実施形態の隊列制御方法が実現される。
状態判定部10は、ステップS10の状態判定処理を実行する。具体的には、状態判定部10は、部分隊列がM群の制御対象物群とS群の制御対象物群とが組み合わさって構成される部分の移動方向に対して先頭側にS群の制御対象物群に属する制御対象物単位のみを含むか否か、および、末尾側にM群の制御対象物群に属する制御対象物単位のみを含むか否かに基づいて部分隊列の状態を表すモード値を決定する。
基本動作部11は、ステップS11、13、15の第一、第三、第五の移動処理を、調整動作部12と協調して実行する。具体的には、基本動作部11は、状態判定部10が決定したモード値と所定の移動方向に基づいて決定される所定列に属する制御対象物のうち、移動方向に対してM群制御対象物群に属する制御対象物のみが存在する基準列に属する複数の制御対象物を移動方向へまとめて移動させる。
調整動作部12は、ステップS11〜15の第一〜第五の移動処理を実行する。特に、ステップS11、13、15の第一、第三、第五の移動処理は基本動作部11と協調して実行する。具体的には、調整動作部12は、状態判定部10が決定したモード値と所定の移動方向に基づいて決定される所定列に所属する制御対象物のうち、基準列に水平面で隣接する列に属する制御対象物を移動方向へまとめて移動させる動作、もしくは、基準列の対角位置に存在する列に属する制御対象物を移動方向の逆方向へまとめて移動させる動作、もしくは、移動方向に直交する方向で空隙と接する制御対象物をその空隙内へ移動させる動作、のいずれかを実行する。
ステップS10において、状態判定部10は、M群とS群を構成する隊列の状態を判定し、状態を表すモード値を決定する。状態を表すモード値とは、M群とS群の占有する空間の重なりの状態を示す値である。モード値の例を図27に示す。line_mode[a]がモード値であり、0, 1, 2, 3の何れかの値をとる。ここでは、無地の立方体がM群に属する制御対象物であり、網掛けされた立方体がS群に属する制御対象物である。
部分隊列の移動方向aの先頭側にM群が占有する空間と重ならないS群の空間が存在し、部分隊列の移動方向aの末尾側(逆方向の先頭側)にS群が占有する空間と重ならないM群の空間が存在する状態である。
部分隊列の移動方向aの先頭側にM群が占有する空間と重ならないS群の空間が存在し、部分隊列の移動方向aの末尾側(逆方向の先頭側)にM群の空間が存在しない状態である。
部分隊列の移動方向aの先頭側にS群の空間が存在せず、部分隊列の移動方向aの末尾側(逆方向の先頭側)に隣接する位置にS群が占有する空間と重ならないM群の空間が存在する状態である。
部分隊列の移動方向aの先頭側と末尾側のどちらにも、M群とS群のいずれも他方の制御対象物群と重ならない空間が存在しない状態(つまり、M群とS群の占有する空間が完全に重なっている状態)に対応する。
ステップS11において、基本動作部11および調整動作部12は、モード値および移動方向の正負により定まる部分隊列内の所定列に所属する制御対象物のうち、M群が占有する空間内にある制御対象物を、a方向へ1マス移動させる。S群とM群両方の制御対象物が存在する部分において移動する制御対象物の含まれる所定列は、例えば表1に示すルールに従って選択される。表1において、各モード値に対応する行で「○」がついている列が移動対象となる所定列である。例えば、図9、11、13、15、17、19、21、23のT=0において太字で示す制御対象物が移動対象となる所定制御対象物である。
<移動方向が負方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・S群と空間を共有していないM群所属の制御対象物のうち4のもの
・M群と空間を共有しているS群所属の制御対象物のうち4のもの
<移動方向が正方向の場合>
・M群所属の各制御対象物単位中2, 3のもの
<移動方向が負方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・M群の占有する空間内にあるS群所属の各制御対象物単位のうち4のもの
<移動方向が正方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・S群所属の末尾以外の各制御対象物単位のうち4のもの
<移動方向が負方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・S群と空間を共有していないM群所属の各制御対象物のうち4のもの
・M群の占有する空間内にあるS群所属の各制御対象物単位のうち4のもの
<移動方向が正方向の場合>
・M群所属の各制御対象物単位中2, 3のもの
<移動方向が負方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・M群の占有する空間内にあるS群所属の各制御対象物単位のうち4のもの
<移動方向が正方向の場合>
・M群所属の各制御対象物単位中1, 2, 3のもの
・S群所属の末尾以外の各制御対象物単位のうち4のもの
ステップS11において、調整動作部12は、モード値および移動方向の正負により定まる所定制御対象物を、第2軸方向に移動させる。移動対象となる所定制御対象物は、例えば、図9、11、13、15、17、19、21、23のT=1において太字で示す制御対象物である。つまり、第二の移動処理において調整動作部12で移動対象となるのは、以下の制御対象物である。
<移動方向が負方向の場合>
・M群所属のa方向先頭の制御対象物単位中2のもの
・S群所属のa方向末尾の制御対象物単位中2のもの
<移動方向が正方向の場合>
・なし(移動しない)
<移動方向が負方向の場合>
・M群所属のa方向先頭の制御対象物単位中2のもの
・S群所属のa方向末尾の制御対象物単位中2のもの
・初期状態においてS群と空間を共有していたM群所属の制御対象物単位中a方向末尾の制御対象物単位のなかで4のもの
<移動方向が正方向の場合>
・S群所属のa方向末尾の制御対象物単位中2のもの
<移動方向が負方向の場合>
・M群所属のa方向先頭の制御対象物単位中2のもの
・S群所属のa方向末尾の制御対象物単位中2のもの
・初期状態においてM群と空間を共有していたS群所属の制御対象物単位中a方向先頭の制御対象物単位のなかで4のもの
<移動方向が正方向の場合>
・M群所属のa方向先頭の制御対象物単位中3のもの
<移動方向が負方向の場合>
・M群所属のa方向先頭の制御対象物単位中2のもの
・S群所属のa方向先頭の制御対象物単位中4のもの
・初期状態においてS群と空間を共有していたM群所属の制御対象物単位中a方向末尾の制御対象物単位のなかで4のもの
・初期状態においてM群と空間を共有していたS群所属の制御対象物単位中a方向先頭の制御対象物単位のなかで2のもの
<移動方向が正方向の場合>
・M群所属のa方向先頭の制御対象物単位中3のもの
・S群所属のa方向末尾の制御対象物単位中2のもの
ステップS13において、基本動作部11および調整動作部12は、モード値および移動方向の正負により定まる所定列に所属する制御対象物のうち、M群が占有する空間内にある制御対象物を、a方向と平行な方向へ1マス移動させる。所定列は、例えば表2に示すルールに従って選択される。表2において、各モード値に対応する行で「○」がついている列が移動対象となる所定列である。また、移動方向は、a方向にS群所属の制御対象物のみが並んでいる列(基準列の対角位置にある列)についてはaと逆方向、その他の列についてはa方向である。つまり、第三の移動処理において基本動作部11および調整動作部12で移動対象となるのは、以下の制御対象物である。例えば、図9、11、13、15、17、19、21、23のT=2において太字で示す制御対象物が移動対象となる所定制御対象物である。
<移動方向が負方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物のうち初期状態においてM群が占有する空間に対してa方向に隣接する制御対象物単位中の3を除いたもの
<移動方向が正方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物
・基準列に対して第1軸方向に平行な列の制御対象物
<移動方向が負方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物のうち初期状態においてM群が占有する空間に対してa方向に隣接する制御対象物単位中の3を除いたもの
<移動方向が正方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物のうち、初期状態においてM群が占有する空間内の末尾のS群制御対象物単位中の3を除いたもの
<移動方向が負方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物
・基準列に対して第1軸の向きに並行な列にある制御対象物
<移動方向が正方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物
・基準列に対して第1軸の向きに並行な列にある制御対象物
<移動方向が負方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物
・基準列に対して第1軸方向に平行な列の制御対象物
<移動方向が正方向の場合>
・基準列にあるM群所属の制御対象物
・基準列の対角位置にあるS群所属の制御対象物のうち初期状態においてM群が占有する空間内末尾のS群制御対象物単位中の3を除いたもの
ステップS14において、調整動作部12は、モード値および移動方向の正負により定まる所定制御対象物を、第2軸方向に移動させる。移動対象となる所定制御対象物は、例えば、図10、12、14、16、18、20、22、24のT=3において太字で示す制御対象物である。つまり、第四の移動処理において調整動作部12で移動対象となるのは、以下の制御対象物である。
<移動方向が負方向の場合>
・初期状態においてS群とM群が共有する空間に対してaと反対方向に隣接するM群所属の制御対象物単位中4のもの
・初期状態においてS群とM群が共有する空間内先頭のS群所属の制御対象物単位4のもの
<移動方向が正方向の場合>
・M群のa方向先頭の制御対象物単位中3のもの
・初期状態においてS群とM群が共有する空間に対してa方向に隣接するS群所属の制御対象物単位4のもの
・S群のa方向末尾の制御対象物単位中3のもの
・初期状態においてS群とM群が共有する空間に対してaと反対方向に隣接するM群所属の制御対象物単位中4のもの
<移動方向が負方向の場合>
・初期状態においてS群とM群が共有する空間内先頭のS群所属の制御対象物単位4のもの
<移動方向が正方向の場合>
・M群のa方向末尾の制御対象物単位中4のもの
・M群のa方向先頭の制御対象物単位中3のもの
・初期状態においてS群とM群が共有する空間に対してa方向に隣接するS群所属の制御対象物単位4のもの
<移動方向が負方向の場合>
・初期状態においてS群とM群が共有する空間に対してaと反対方向に隣接するM群所属の制御対象物単位中4のもの
<移動方向が正方向の場合>
・S群のa方向先頭の制御対象物単位中4のもの
・S群のa方向末尾の制御対象物単位中3のもの
・初期状態においてS群とM群が共有する空間に対してaと反対方向に隣接するM群所属の制御対象物単位中4のもの
<移動方向が負方向の場合>
・なし(移動しない)
<移動方向が正方向の場合>
・S群のa方向先頭の制御対象物単位中4のもの
・M群のa方向末尾の制御対象物単位中4のもの
ステップS15において、基本動作部11および調整動作部12は、モード値および移動方向の正負により定まる所定列に所属する制御対象物のうち、M群制御対象物のあるメタモジュール空間内にある制御対象物を、a方向と平行な方向へ1マス移動させる。所定列は、例えば表3に示すルールに従って選択される。表3において、各モード値に対応する行で「○」がついている列が移動対象となる所定列である。つまり、第五の移動処理において基本動作部11および調整動作部12で移動対象となるのは、以下の制御対象物である。例えば、図10、12、14、16、18、20、22、24のT=4において太字で示す制御対象物が移動対象となる所定制御対象物である。
・基準列にあるM群所属の制御対象物
・初期状態においてS群とM群が共有する空間に対してa方向に隣接するS群所属の制御対象物単位中4の位置にあるもの以外の、基準列と第1軸方向に平行な列にある制御対象物
・基準列にあるM群所属の制御対象物
・初期状態においてS群とM群が共有する空間に対してa方向に隣接するS群所属の制御対象物単位中4の位置にあるもの以外の、基準列と第1軸方向に平行な列にある制御対象物
・基準列にあるM群所属の制御対象物
・基準列にあるM群所属の制御対象物
・基準列にあるM群所属の制御対象物
・基準列と第1軸方向に平行な列にある制御対象物
・基準列にあるM群所属の制御対象物
・初期状態においてS群とM群が共有する空間内末尾のS群所属の制御対象物単位中4の位置にあるもの以外の、基準列と第1軸方向に平行な列にある制御対象物
・基準列にあるM群所属の制御対象物
・基準列と第1軸方向に平行な列にある制御対象物
・M群所属の制御対象物のうち先頭制御対象物単位内3のもの
・基準列にあるM群所属の制御対象物
・初期状態においてS群とM群が共有する空間内末尾のS群所属の制御対象物単位中4の位置にあるもの以外の、基準列と第1軸方向に平行な列にある制御対象物
・M群所属の制御対象物のうち先頭制御対象物単位内3のもの
第二実施形態では任意の隊列を対象としてM群がS群の占有する空間を通り抜けて1制御対象物単位分、所定方向に移動する隊列制御を実現する隊列制御装置について説明する。任意の隊列を部分隊列と剰余隊列に分割し、部分隊列については第一実施形態の隊列制御方法の各ステップにより隊列を移動させる。同時に、剰余隊列について並行して所定の移動を行う点が異なる。
第二実施形態の隊列制御装置2は、図28に例示するように、第一実施形態の状態判定部10、基本動作部11、および調整動作部12に加えて、隊列分割部20をさらに含む。この隊列制御装置2が、図29に例示する各ステップの処理を行うことにより第二実施形態の隊列制御方法が実現される。
隊列分割部20は、ステップS20の隊列分割処理を実行する。具体的には、隊列分割部20は、複数のS群の制御対象物群と複数のM群の制御対象物群とからなる全体隊列を、1以上の部分隊列と、部分隊列に含まれない制御対象物からなる1以上の剰余隊列とに分割する。
ステップS20において、隊列分割部20は、入力されたS群およびM群からなる全体隊列を、部分隊列単位に分割する。これにより、1以上の部分隊列と、当該部分隊列に含まれない1以上の剰余隊列とが生成される。
ステップS11の第一の移動処理において、基本動作部11および調整動作部12は、部分隊列ごとに第一実施形態の第一の移動処理を行うとともに、剰余隊列に含まれる各M群の制御対象物単位の各制御対象物を、1マス分、a方向に移動させる。
ステップS15の第五の移動処理において、基本動作部11および調整動作部12は、部分隊列毎に第一実施形態の第五の移動処理を行うとともに、剰余隊列に含まれる各M群の制御対象物単位の各制御対象物を、1マス分、a方向に移動させる。
第三実施形態は、第一実施形態と同じく部分隊列の移動を行う隊列制御装置である。第一実施形態はS群に所属する制御対象物の一部も移動させることで隊列制御を実現するが、第三実施形態はS群を一切動かすことなく隊列制御を行う。
(第1工程)基準列の全ての制御対象物と末尾M群制御対象物単位内の制御対象物のうちa方向へ移動可能なものを第3軸のa方向へ1マス移動させる工程(ここで、末尾M群制御対象物単位とはS群とM群の制御対象物単位が重なっている部分の末尾のM群制御対象物単位、もしくはS群とM群の制御対象物単位が重なっている部分の末尾にa方向の逆方向に接するM群の制御対象物単位である。)
(第2工程)所定制御対象物を第1軸方向の空隙に移動させる工程
(第3工程)所定制御対象物を第2軸方向の空隙に移動させる工程
第1工程が上述の「A)基本動作」に相当し、第2〜3工程が上述の「B)調整動作」に相当する。
第三実施形態の隊列制御装置3は、図35に例示するように、第一実施形態の基本動作部11および調整動作部12に加えて、第一判定部30および第二判定部31をさらに含む。この隊列制御装置3が、図36に例示する各ステップの処理を行うことにより第三実施形態の隊列制御方法が実現される。
ステップS30a〜S30bにおいて、第一判定部30は、移動が完了したか否かを判定し、完了していなければ(No)第一の移動処理を実行し、完了していれば(Yes)処理を終了する。
ステップS31において、基本動作部11および調整動作部12は、基準列の制御対象物と末尾M群制御対象物単位内の制御対象物のうちa方向に移動可能なもの全てを1マス分、a方向に移動させる。
ステップS32において、第二判定部31は、基準列以外の充填位置内のM群制御対象物単位内の制御対象物が占めるべき位置が全てM群制御対象物で充填され、かつ、基準列が占める位置以外の開放位置内の位置が全て空隙になっているか否かを判定し、条件を満たしていれば第一の判定処理を実行し、そうでなければ第二の移動処理を実行する。
ステップS33において、調整動作部12は、基準列以外の充填位置でまだM群制御対象物により充填されていない空隙に隣接する基準列の位置にM群の制御対象物があれば、当該制御対象物を当該空隙に移動させる。ここで、該当する充填位置が複数ある場合は、そのうちの何れか1つを選択するものとする。また、調整動作部12は、基準列以外の開放位置でまだM群制御対象物により充填されている位置に隣接する基準列の位置が空隙であれば、当該開放位置の制御対象物を当該基準列の空隙に移動させる。ここで、該当する開放位置が複数ある場合は、そのうちの何れか1つを選択するものとする。第二の移動処理を終えたら、第一の判定処理を実行する。
第四実施形態は、第三実施形態と同じくS群を一切動かすことなく部分隊列の隊列制御を行う隊列制御装置である。
第四実施形態の隊列制御装置4は、図37に例示するように、第一実施形態の状態判定部10、基本動作部11、および調整動作部12に加えて、行動指令値格納部40をさらに含む。この隊列制御装置4が、図38に例示する各ステップの処理を行うことにより第四実施形態の隊列制御方法が実現される。
・各制御対象物は、aの値に応じて、当該制御対象物が属する制御対象物単位中の位置を表す変数(Ir値という)が与えられているものとする。Ir値は、例えば、a=3のときは、図2に示した1, 2, 3, 4の何れかの値である。aの各値に対し、Ir値は、以下のように与えられる。
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j])ならば、Ir[i]=4、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j], 2×Zr_u[j]+1)ならば、Ir[i]=1、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j], 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=2、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=3、
とする。
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j])ならば、Ir[i]=1、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j], 2×Zr_u[j]+1)ならば、Ir[i]=2、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j], 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=4、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=3、
とする。
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j])ならば、Ir[i]=2、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j], 2×Zr_u[j]+1)ならば、Ir[i]=4、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j], 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=1、
(Xr[i], Yr[i], Zr[i])=(2×Xr_u[j]+1, 2×Yr_u[j]+1, 2×Zr_u[j]+1)ならば、Ir[i]=3、
とする。
行動指令値格納部40には、予め移動方向aの値に応じて決まる6種類の行動指令値a_t[ia](ia=1, 2, 3, 4, 5, 6)が格納されているものとする。
ステップS40において、状態判定部10は、M群とS群を構成する隊列の状態を判定し、状態を表すモード値line_mode[a]を決定する。末尾M群制御対象物単位がS群制御対象物単位と重なっているときはline_mode[a]←0とし、いないときはline_mode[a]←1とする。すなわち、移動方向aがX, Y, Z軸正方向のときは、S群とM群の制御対象物単位が組み合わさってメタモジュールを構成している部分の移動方向に接するM群のみで構成される制御対象物単位が存在しているときはline_mode[a]←0とし、存在しないときはline_mode[a]←1とする。
ステップS41において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列内のすべてのM群所属の制御対象物のうち、Ir値が2, 3のものをa_t[1]方向に1マス移動させる。ここでa_t[1]の方向は、表4に記載の通り、移動方向aに応じて定まるものである。例えば、移動方向a=3であれば、a_t[1]=3なので、X軸負方向である。なお、図31〜34においては、a=3の例が示されており、a_t[2]は第2軸正方向、a_t[4]は、第2軸負方向、a_t[5]は第1軸正方向、a_t[6]は第1軸負方向の移動となる。
line_mode[a]=0の場合は、上記(1)に加えて、部分隊列最後尾のM群制御対象物単位所属で、Ir値が1, 4の制御対象物をa_t[1]方向に1マス移動させる。
ステップS42において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列内の先頭の制御対象物単位所属のIr値が2の制御対象物をa_t[2]方向に1マス移動させる。
line_mode[a]=1の場合は、上記(1)に加えて、部分隊列末尾のM群制御対象物単位所属のIr値が4の制御対象物をa_t[4]方向に1マス移動させる。
ステップS43において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列内の先頭制御対象物単位以外のM群制御対象物単位所属のIr値が2の制御対象物をa_t[1]方向に1マス移動させる。また、全てのM群制御対象物単位所属のIr値が3の制御対象物をa_t[1]方向に1マス移動させる。
line_mode[a]=1の場合は、上記(1)に加えて、部分隊列末尾のM群制御対象物単位所属のIr値が4の制御対象物をa_t[1]方向に1マス移動させる。
ステップS44において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列の先頭M群制御対象物単位所属のIr値が3の制御対象物をa_t[5]方向に1マス移動させる。部分隊列末尾のM群制御対象物単位所属のIr値が1の制御対象物をa_t[6]方向に1マス移動させる。
ステップS45において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列の先頭以外の全てのM群制御対象物単位所属のIr値が2, 3の制御対象物をa_t[1]方向に1マス移動させる。
line_mode[a]=0の場合は、上記(1)に加えて、部分隊列末尾のM群所属制御対象物単位所属のIr値が1の制御対象物をa_t[1]方向に1マス移動させる。
line_mode[a]]=1の場合は、上記(1)に加えて、部分隊列末尾のM群所属制御対象物単位所属のIr値が1, 4の制御対象物をa_t[1]方向に1マス移動させる。
ステップS46において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列末尾のM群制御対象物単位所属のIr値が4の制御対象物をa_t[4]方向に1マス移動させる。
ステップS47において、基本動作部11および調整動作部12は、モード値に応じて以下の動作を行う。
部分隊列の先頭以外の全てのM群制御対象物単位所属のIr値が2, 3の制御対象物をa_t[1]方向に1マス移動させる。部分隊列末尾のM群制御対象物単位所属のIr値が1, 4の制御対象物をa_t[1]方向に1マス移動させる。
第五実施形態は、任意の隊列を対象としてM群がS群の占有する空間を通り抜けて1制御対象物単位分、所定方向に移動する隊列制御を実現する隊列制御装置である。第五実施形態では、第二実施形態と同じく、任意の隊列を部分隊列と剰余隊列に分割し、部分隊列については第四実施形態の隊列制御方法の各ステップにより隊列を移動させる。同時に、剰余隊列について並行して所定の移動を行う点が異なる。
第五実施形態の隊列制御装置5は、図39に例示するように、第二実施形態の隊列分割部20、状態判定部10、基本動作部11、および調整動作部12に加えて、行動指令値格納部40をさらに含む。この隊列制御装置5が、図40に例示する各ステップの処理を行うことにより第五実施形態の隊列制御方法が実現される。
ステップS20において、隊列分割部20は、隊列分割処理を実行する。隊列分割部20の処理は、第二実施形態の隊列分割部20と同じである。ただし、部分隊列の定義は第三実施形態のものとする。
ステップS51において、基本動作部11および調整動作部12は、部分隊列毎に第四実施形態の第一の移動処理を行うと共に、剰余隊列に含まれる各M群制御対象物単位所属の制御対象物について、a_t[1]方向に1マス移動させる。
ステップS57において、基本動作部11および調整動作部12は、部分隊列毎に第四実施形態の第七の移動処理を行うと共に、剰余隊列に含まれる各M群制御対象物単位所属の制御対象物について、a_t[1]方向に1マス移動させる。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
10 状態判定部
11 基本動作部
12 調整動作部
20 隊列分割部
30 第一判定部
31 第二判定部
40 行動指令値格納部
Claims (7)
- 制御対象物群は複数の制御対象物からなる制御対象物単位が所定の移動方向へ複数接続することで構成され、各制御対象物単位の周囲には他の制御対象物単位を構成する制御対象物が移動可能な空隙があり、部分隊列は上記移動方向へ移動するM群制御対象物群と形状および位置が変化しないS群制御対象物群とが組み合わさって構成され、
上記M群制御対象物群が各制御対象物単位を維持しつつ上記S群制御対象物群の存在する空間を通り抜けて上記移動方向へ移動するように各制御対象物群を制御する隊列制御装置であって、
上記部分隊列のうち上記移動方向に対してM群制御対象物群に属する制御対象物のみが存在する基準列に属する複数の制御対象物を上記移動方向へまとめて移動させる基本動作を実行する基本動作部と、
上記部分隊列のうち、上記基準列に水平面で隣接する列に属する制御対象物を上記移動方向へまとめて移動させる第一調整動作、もしくは、上記基準列の対角位置に存在する列に属する制御対象物を上記移動方向の逆方向へまとめて移動させる第二調整動作、もしくは、上記移動方向に直交する方向で上記空隙と接する制御対象物をその空隙内へ移動させる第三調整動作、のいずれかを実行する調整動作部と、
を含み、
上記基本動作、上記第一調整動作、および上記第二調整動作の少なくとも1つと、上記第三調整動作とが交互に実行される、
隊列制御装置。 - 請求項1に記載の隊列制御装置であって、
上記第三調整動作は、上記基準列に属する上記M群制御対象物群の制御対象物のうち、上記基準列以外の列に属する空隙と上記移動方向に直交する方向で接する制御対象物をその空隙内へ移動させる動作、もしくは、上記基準列以外の列に属する上記M群制御対象物群の制御対象物のうち、上記基準列に属する空隙と上記移動方向に直交する方向で接する制御対象物をその空隙内へ移動させる動作、のいずれかである、
隊列制御装置。 - 請求項1または2に記載の隊列制御装置であって、
上記部分隊列が上記M群制御対象物群と上記S群制御対象物群とが組み合わさって構成される部分の上記移動方向に対して先頭側に上記S群制御対象物群のみに属する制御対象物単位を含むか否か、および、末尾側に上記M群制御対象物群のみに属する制御対象物単位を含むか否かに基づいて上記部分隊列の状態を表すモード値を決定する状態判定部をさらに含み、
上記基本動作部は、上記モード値と上記移動方向に基づいて決定される所定列に属する制御対象物のうち上記基準列に属する複数の制御対象物を上記移動方向へまとめて移動させるものであり、
上記調整動作部は、上記モード値と上記移動方向に基づいて決定される所定列に所属する制御対象物のうち、上記基準列に水平面で隣接する列に属する制御対象物を上記移動方向へまとめて移動させる動作、もしくは、上記基準列の対角位置に存在する列に属する制御対象物を上記移動方向の逆方向へまとめて移動させる動作、もしくは、上記移動方向に直交する方向で上記空隙と接する制御対象物をその空隙内へ移動させる動作、のいずれかを実行するものである、
隊列制御装置。 - 請求項1に記載の隊列制御装置であって、
上記部分隊列が上記M群制御対象物群と上記S群制御対象物群とが組み合わさって構成される部分の上記移動方向に対して末尾側に上記M群制御対象物群のみに属する制御対象物単位を含むか否かに基づいて上記部分隊列の状態を表すモード値を決定する状態判定部と、
上記移動方向に応じて定まる複数の行動指令値を記憶する行動指令値格納部と、
をさらに含み、
上記基本動作部および上記調整動作部は、上記モード値に応じて上記M群制御対象物群に属する制御対象物と上記行動指令値を選択し、選択された制御対象物を選択された行動指令値に従って移動させるものである、
隊列制御装置。 - 請求項1から4のいずれかに記載の隊列制御装置であって、
複数の上記S群制御対象物群と複数の上記M群制御対象物群とからなる全体隊列を、1以上の上記部分隊列と、上記部分隊列に含まれない制御対象物からなる1以上の剰余隊列とに分割する隊列分割部をさらに含み、
上記基本動作部および上記調整動作部は、上記部分隊列および上記剰余隊列それぞれについて所定の制御対象物を移動させる動作を並行して実行するものである、
隊列制御装置。 - 制御対象物群は複数の制御対象物からなる制御対象物単位が所定の移動方向へ複数接続することで構成され、各制御対象物単位の周囲には他の制御対象物単位を構成する制御対象物が移動可能な空隙があり、部分隊列は上記移動方向へ移動するM群制御対象物群と形状および位置が変化しないS群制御対象物群とが組み合わさって構成され、
上記M群制御対象物群が各制御対象物単位を維持しつつ上記S群制御対象物群の存在する空間を通り抜けて上記移動方向へ移動するように各制御対象物群を制御する隊列制御装置が実行する隊列制御方法であって、
基本動作部が、上記部分隊列のうち上記移動方向に対してM群制御対象物群に属する制御対象物のみが存在する基準列に属する複数の制御対象物を上記移動方向へまとめて移動させる基本動作を実行し、
調整動作部が、上記部分隊列のうち、上記基準列に水平面で隣接する列に属する制御対象物を上記移動方向へまとめて移動させる第一調整動作、もしくは、上記基準列の対角位置に存在する列に属する制御対象物を上記移動方向の逆方向へまとめて移動させる第二調整動作、もしくは、上記移動方向に直交する方向で上記空隙と接する制御対象物をその空隙内へ移動させる第三調整動作、のいずれかを実行し、
上記基本動作、上記第一調整動作、および上記第二調整動作の少なくとも1つと、上記第三調整動作とが交互に実行される、
隊列制御方法。 - 請求項1から5のいずれかに記載の隊列制御装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202115A JP6939396B2 (ja) | 2017-10-18 | 2017-10-18 | 隊列制御装置、隊列制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017202115A JP6939396B2 (ja) | 2017-10-18 | 2017-10-18 | 隊列制御装置、隊列制御方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019075013A JP2019075013A (ja) | 2019-05-16 |
JP6939396B2 true JP6939396B2 (ja) | 2021-09-22 |
Family
ID=66545205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017202115A Active JP6939396B2 (ja) | 2017-10-18 | 2017-10-18 | 隊列制御装置、隊列制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6939396B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6946933B2 (ja) * | 2017-10-30 | 2021-10-13 | 日本電信電話株式会社 | 隊列制御装置、隊列制御方法、およびプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6477444B1 (en) * | 2000-07-07 | 2002-11-05 | Fuji Xerox Co., Ltd. | Method for the automated design of decentralized controllers for modular self-reconfigurable robots |
US6459957B1 (en) * | 2001-04-17 | 2002-10-01 | Fuji Xerox Co., Ltd. | Programmable smart membranes and methods therefor |
JP2003048179A (ja) * | 2001-05-29 | 2003-02-18 | Japan Science & Technology Corp | 複数歯車型ユニットで構成される変形可能な移動装置 |
US6725128B2 (en) * | 2001-07-02 | 2004-04-20 | Xerox Corporation | Self-reconfigurable robot |
US9956494B2 (en) * | 2013-03-15 | 2018-05-01 | Rnd By Us B.V. | Element comprising sensors for detecting grab motion or grab release motion for actuating inter-element holding or releasing |
JP6559591B2 (ja) * | 2016-02-12 | 2019-08-14 | 日本電信電話株式会社 | 行動制御システム、その方法及びプログラム |
-
2017
- 2017-10-18 JP JP2017202115A patent/JP6939396B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019075013A (ja) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6174523B2 (ja) | 行動制御システム、その方法及びプログラム | |
JP2019053709A (ja) | 制御装置、方法及びプログラム | |
JP6559591B2 (ja) | 行動制御システム、その方法及びプログラム | |
Barták et al. | Multi-agent path finding on real robots | |
JP6939396B2 (ja) | 隊列制御装置、隊列制御方法、およびプログラム | |
Fekete et al. | Connected reconfiguration of lattice-based cellular structures by finite-memory robots | |
JP6685957B2 (ja) | 制御対象物位置入れ替え制御装置、制御対象物位置入れ替え制御方法、プログラム | |
JP6939395B2 (ja) | 制御装置、方法及びプログラム | |
JP6777661B2 (ja) | 制御装置、方法及びプログラム | |
JP6392187B2 (ja) | 行動制御システム、その方法及びプログラム | |
JP6946933B2 (ja) | 隊列制御装置、隊列制御方法、およびプログラム | |
Hao | GridHub: a grid-based, high-density material handling system. | |
WO2020045022A1 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
JP6559582B2 (ja) | 行動制御システム、その方法及びプログラム | |
Lakhlef et al. | Optimization of the logical topology for mobile MEMS networks | |
JP7136365B2 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
JP6881352B2 (ja) | 制御装置、方法及びプログラム | |
JP2016095754A (ja) | 行動制御システム、その方法及びプログラム | |
Hall et al. | Self-Reconfiguration in Two-Dimensions via Active Subtraction with Modular Robots. | |
WO2022153475A1 (ja) | 制御装置、ハミルトン閉路拡張装置、方法及びプログラム | |
WO2023281625A1 (ja) | 制御装置、方法及びプログラム | |
JP7014099B2 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
JP6633467B2 (ja) | 行動制御システム、行動制御方法、プログラム | |
Koenig et al. | A case for collaborative construction as testbed for cooperative multi-agent planning | |
Odem et al. | A self-reconfiguration algorithm for sliding triangular modular robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20171030 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210216 |
|
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: 20210803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210816 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6939396 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |