WO2023281625A1 - 制御装置、方法及びプログラム - Google Patents
制御装置、方法及びプログラム Download PDFInfo
- Publication number
- WO2023281625A1 WO2023281625A1 PCT/JP2021/025458 JP2021025458W WO2023281625A1 WO 2023281625 A1 WO2023281625 A1 WO 2023281625A1 JP 2021025458 W JP2021025458 W JP 2021025458W WO 2023281625 A1 WO2023281625 A1 WO 2023281625A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- controlled object
- object unit
- type
- unit
- movement
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 62
- 230000033001 locomotion Effects 0.000 claims abstract description 104
- 230000008569 process Effects 0.000 description 49
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 239000011800 void material Substances 0.000 description 13
- 230000005641 tunneling Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000224489 Amoeba Species 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
Definitions
- the present invention relates to technology for controlling the actions of multiple controlled objects.
- Non-Patent Document 1 a plurality of cubic robots extend and contract with each other (a robot moves while expanding and contracting while being in contact with another robot). Robot platoon deformation by is handled.
- the robots are in contact with each other, and each robot has the same characteristics (homogeneous).
- formation control is realized when the target position of each robot within the target form is not fixed.
- deformation of a robot structure based on a robot unit composed of robots of 8 squares is dealt with. Deformation requires a deformation time proportional to the square of the number of robots.
- Non-Patent Document 2 deals with robot platoon deformation due to plane shearing motion between a plurality of cubic robots (a motion in which a robot slides on the contact surface while being in contact with another robot).
- deformation of a robot structure based on a robot unit composed of robots of 8 squares is dealt with.
- Each robot unit is of different characteristics (heterogeneous). In other words, row control is realized when the target position of each robot within the target form is determined for each robot.
- Deformation requires a deformation time proportional to the number of robots.
- Both the inventions of Non-Patent Documents 1 and 2 do not require a space other than the space occupied by the initial position and the target position of the robot in the deformation process, and can be applied in a space with obstacles. It cannot be applied when there are multiple overlapping portions.
- the controlled object unit includes the first type controlled object unit and the second type controlled object unit, and the first type controlled object unit and the second type controlled object unit Each is composed of U (U is an integer of 4 or more) control objects, and each control object has an initial position and a target position.
- the constructed structure is composed of a combined controlled object unit composed of 2U controlled objects by combining the first type controlled object unit and the second type controlled object unit.
- the initial position is S
- the target position is G
- the common position of the initial position S and the target position G is S ⁇ G
- the position obtained by removing the common position S ⁇ G of the initial position S and the target position G from the target position G is G-S ⁇ G
- the position obtained by excluding the common position S ⁇ G between the initial position S and the target position G from the initial position S is S-S ⁇ G
- a part of the first-type controlled object unit at the initial position S is G-S ⁇ G
- FIG. 4 is a diagram for explaining an example of movement of a robot;
- FIG. 4 is a diagram for explaining an example of an initial position and a target position for each controlled object;
- FIG. 4 is a diagram for explaining an example of how voids move;
- FIG. 4 is a diagram for explaining an example of control target units;
- FIG. 10 is a diagram for explaining an example of seeding;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for explaining an example of a deformation process from S to G;
- FIG. 10 is a diagram for
- FIG. 4 is a diagram for explaining an example of movement in units of control objects;
- FIG. 4 is a diagram for explaining an example of movement in units of control objects;
- FIG. 4 is a diagram for explaining an example of movement in units of control objects;
- the figure which shows the example of functional structure of a control apparatus.
- FIG. 1 illustrates, for example, a mission in which a large number of controlled objects cooperate to move while maintaining contact with each controlled object, and transform the platoon from the initial position to the target position.
- the use of such a cubic controlled object that can be moved by sliding the surfaces that are in contact with each other is assumed. As shown in FIG. 2, this is realized by moving a plurality of controlled objects from initial positions to target positions in a room partitioned by walls (walls are omitted in the figure).
- another object to be controlled exists in one of the six squares in the vertical, horizontal, and height directions around the object to be controlled (hereinafter also referred to as "up, down, left, right, front, and rear directions"). It shall move while maintaining the state where it is.
- This method has the advantage that one controlled object itself moves a distance corresponding to the size of one controlled object, so that the movement amount of one operation can be accurately measured.
- the position of each controlled object in the entire group of controlled objects can be easily known. For this reason, it is difficult to cause a problem that the formation is broken due to an error in the amount of movement of the controlled object.
- Each cube in FIG. 1 indicates the position of each controlled object. Only one controlled object can exist in each cube. Each controlled object is assumed to be stationary if there is an obstacle or other controlled object in the direction in which it intends to move.
- a cubic space in which a controlled object can exist is also called a mass or a grid.
- dark gray squares indicate positions where control objects exist.
- the positions where the controlled objects exist in FIG. 2A indicate a set of initial positions of the controlled objects, and the positions where the controlled objects exist in FIG.
- each initial position and each target position are adjacent to other initial positions and target positions in at least one of the vertical and horizontal directions, respectively, and the platoon shape at the initial position and target position of the control object is Each is a lump of arbitrary shape.
- each state of the controlled object i (the position and behavior of the controlled object) is represented by a discrete value.
- each position is expressed by values obtained by discretely expressing the X, Y, and Z axes. That is, the room (three-dimensional space) is partitioned by grids, and each grid corresponds to each position. Also, in each grid, "presence/absence" of obstacles is set in advance.
- the subject of action is each controlled object arranged in the room.
- the action a of the controlled object i takes one of 7 types of movement, i.e., resting and moving in the vertical, horizontal and vertical directions by one grid.
- the search calculation when incorporating the constraint condition that the controlled objects are in contact with each other, the search calculation must be performed after considering the mutual movement of the controlled objects. Moreover, it is difficult to fundamentally reduce the amount of calculation, which is a big problem when using multiple controlled objects.
- Homogeneous platoon control in Reference 1 introduces the concept of void control as one of the measures for solving the problem of computational load described above.
- the idea of 8 control object units is introduced.
- the void here means a gap that appears at an empty position after a certain controlled object moves to another position, as illustrated in FIG. 3 .
- a void is a virtual entity that moves in the direction opposite to the direction in which the controlled object moves.
- the motion planning problem of the controlled object can be considered as a single void motion plan, which is suitable for reducing the search computation load.
- deformation is realized by void control under homogeneous conditions, taking into consideration that there are multiple common parts of sets of initial positions and target positions.
- the deformation does not require any space other than the set of the initial position and the target position, there is a problem in that the deformation time required is proportional to the square of the number of objects to be controlled. The reason for this is that it is difficult to secure the space necessary for simultaneous movement of multiple voids in a robot structure in which control objects are densely assembled, and for this reason, it is necessary to move multiple control objects in parallel. It is difficult to speed up the deformation process with
- the reason why the four controlled objects are moved as one unit is that the controlled objects belonging to other controlled object units pass through the four void spaces inside each controlled object unit. This makes it easy to move between control objects belonging to different control object units. It is also easy to maintain connectivity when a controlled object belonging to another controlled object unit passes through the four void spaces inside each controlled object unit. That is, this leads to a reduction in the computational load for considering the connection between controlled objects in determining the operation of each controlled object that must take into account the maintenance of the platoon form.
- a control object unit formed by four control objects is a unit of one mass (in this embodiment, this unit is hereinafter also referred to as a "mass unit” or a “position unit”).
- this unit is hereinafter also referred to as a "mass unit” or a "position unit”).
- Ir[i] (1, 2, 3, 4) be a variable indicating which position among i1, i2, i3, and i4 the controlled object is located.
- the initial position of each controlled object be (Xr_u0[j], Yr_u0[j], Zr_u0[j]) and the set be S
- the target position be (Xr_ue[j], Yr_ue[j], Zr_ue[j ]) and let its set be G.
- the total number p of controlled objects is assumed to be a multiple of 4.
- control object unit As shown in FIG. 4B, by combining two control object units, it is possible to configure a control object unit of 8 squares, and a control object group composed of a control object unit of 8 squares. platoon control is also possible by performing control in units of 4 cells to be controlled. A combination of these two control object units is sometimes called a combined control object unit.
- control target unit may be configured to satisfy the following conditions. That is, the control object unit is (1) a cube having a length M (M ⁇ 2, where the length of one control object is defined as length 1) in each axial direction in a three-dimensional orthogonal coordinate system. It is a partial structure within the shape space (hereinafter referred to as a metamodule) (in other words, the controlled object unit occupies a part of the metamodule), and (2) the controlled object unit within the metamodule. is equal to the number of parts (i.e., gaps) other than the control object unit in the metamodule, and (3) M control objects are adjacent in each axial direction.
- control object unit a structure composed of four control objects shown in FIG. 4 will be described as a control object unit. A similar effect can be obtained if the control object unit is configured to satisfy the above conditions (1) to (3) in the module.
- a structure consisting of each controlled object i that constitutes an 8-square controlled object unit is defined in the initial position set s, where each controlled object has an initial position (Xr0[i], Yr0[i], Zr0[i ]) to each target position (Xre[i], Yre[i], Zre[i]) in the set g of target positions.
- each controlled object has an initial position (Xr0[i], Yr0[i], Zr0[i ]) to each target position (Xre[i], Yre[i], Zre[i]) in the set g of target positions.
- the sets s and g are composed of an 8-square control object unit formed by combining two 4-square control object units.
- j2 is a 4-square control object unit represented by a dot in FIG. 4B. Let the name of j1 be LCMM and the name of j2 be UCMM. j1 is sometimes called the second type controlled object unit, and j2 is sometimes called the first type controlled object unit.
- the controlled object unit includes the first type controlled object unit and the second type controlled object unit, and each of the first type controlled object unit and the second type controlled object unit has U (U is an integer of 4 or more), each controlled object has an initial position and a target position, and the structure composed of the controlled objects at the initial position and the target position is , the first-type controlled-object unit and the second-type controlled-object unit are combined to form a combined controlled-object unit composed of 2U controlled-objects.
- the transformation process takes place in two stages.
- a method called tunneling is used in the deformation processes (1) and (2).
- a series of control object units connecting the head control object unit Head and the tail control object unit Tail follows the operation of the head control object unit Head in a snake-like shape. It works in a way that It should be noted that this is also true for a controlled object structure that uses other controlled object units that perform tunneling, such as a 2 ⁇ 2 ⁇ 2 controlled object unit that uses an expansion/contraction control object unit as shown in Non-Patent Document 1.
- the tunneling operation is the same, and the method of selecting head and tail for tunneling shown in the present invention is similarly applicable.
- the platooning using tunneling has the advantage that the platooning operation can be performed without using any positions other than the set of initial positions and the set of target positions, even in an environment with obstacles.
- the structure to be transformed in process (1) is a structure with LCMMs at all positions in S ⁇ G. Some intra-S LCMMs still have UCMMs. There is no UCMM in G-S ⁇ G. That is, the transformation process of (1) is a transformation process between S composed of 8-mass control object units and S ⁇ G composed of 4-mass control object LCMM. Tunneling deformation occurs while a structure made in units of objects is developed into a structure made in units of 4 squares of controlled objects. Since only UCMMs in S move in the deformation in process (1), no disconnection occurs in the whole structure.
- process (2) of the S ⁇ G structure composed of LCMMs, all UCMMs on LCMMs in S at the start of process (2) are moved into G, and at the same time, LCMMs in S-S ⁇ G are moved to Move everything into G.
- the LCMMs in G do not move at all, thus maintaining the connectivity of G during deformation.
- n GS ⁇ G be the number of positions in GS ⁇ G, and this deformation process moves n GS ⁇ G of UCMMs in S to GS ⁇ G to generate an S ⁇ G structure by LCMM.
- jmax/2 ⁇ n GS ⁇ G UCMMs remain in S. Among them are those that remain in S ⁇ G.
- the initial position S is indicated by a thick line
- the LCMM in the position within G-S ⁇ G is indicated by horizontal stripes
- the UCMM in the position of S ⁇ G and the UCMM+LCMM in the position of S-S ⁇ G are downward to the right.
- the LCMMs (without UCMMs) remaining at the position S ⁇ G after the first deformation process are shown in a checkered pattern
- the LCMMs (without UCMMs) remaining at the position S-S ⁇ G are diagonally downward to the right. Indicated by stripes.
- the upper left, lower left, and lower right three cells indicate LCMM
- the upper right one cell indicates UCMM.
- Estage1[i] 1,2,3,,,
- the UCMM in S that has the shortest Manhattan distance in S from Estage1 [i] should preferentially start moving.
- jmax/2 ⁇ n GS ⁇ G and all positions in GS ⁇ G can be filled by process (1).
- the head of tunneling in this process is the position in A GS ⁇ Gi + Estage1[i] that has the closest Manhattan distance in G from Estage1[i] and is in contact with the void position in A GS ⁇ Gi . There is (Fig. 8).
- the tunneling Head is set to a position that has the closest Manhattan distance in G from Estage1[i] and is in contact with the gap position in A GS ⁇ Gi .
- Tail be the position in S where UCMM remains and the closest Manhattan distance in S from Estage1[i].
- the UCMM is moved to the AGS ⁇ Gi space position in contact with the Head by the reverse operation of the operations shown in FIGS. 10 and 11 .
- Repeat (3) if there are still gap positions left in A GS ⁇ Gi . If not, go to (4) (4) increment i. If there is still a gap position in GS ⁇ G, go to (3), otherwise end.
- the position with the smallest distance is selected as the tail position Tail.
- the operation (i) corresponds to the operation (1) above
- the operation (ii) (iii) corresponds to the operation (2) above
- the operation (iv) corresponds to the operation ( It corresponds to the operation of 3).
- each control object unit that moves starts moving one by one and ends when it reaches the target position. is not done in parallel.
- the interval between movement start times for each movement control object is set to a sufficiently constant value, the interval between each movement control object can be maintained at a certain distance or more, and collision can be avoided.
- the start of the motion at each step of each controlled object unit j calculated in [S ⁇ M_Navigation_1] (the motion of moving the distance of one controlled object unit is called one step) is The movement of each controlled object unit may be easily parallelized by performing the movement after the controlled object unit j', which started to move one step before, completes the operation several steps ahead. Details of these processes are as follows.
- step 2 the movement of UCMMs in SS ⁇ G precedes the movement of LCMMs in SS ⁇ G.
- the UCMM that has the shortest Manhattan distance in A ss ⁇ Gi from Estage2[i] should preferentially start moving and enter G. always go through Estage2[i].
- the LCMM in A ss ⁇ Gi moves into G, the LCMM at the position where the Manhattan distance in A ss ⁇ Gi from Estage2[i] is the largest should start moving preferentially and enter G. Connection can be maintained by always going through Estage2[i].
- the movement start time of the UCMM in Head[1] is three steps later than the movement start time of the UCMM in Head[1] at the j-1th time.
- t_void[j] be the time when one of the positions in G that is in contact with Estage2[i] becomes a void after this movement of Head[] in G, and the j-th UCMM or LCMM in Tail is exactly at time t_void[j ], start moving the UCMM or LCMM at the Tail position so that it can reach the position of Estage2[i] (when the LCMM starts moving, the operations in FIGS. 10 and 11, when the UCMM starts moving, the operations in FIG. Movement in both LCMM and UCMM is the operation of FIG. 12).
- ⁇ Head is Manhattan distance in G from Estage2[i] of Head[1]
- ⁇ Tail is Manhattan distance in SS ⁇ G from Estage2[i] of Tail position.
- Movement to Estage2[i] of UCMM at the Tail position or LCMM is performed on the optimal route within Ass ⁇ Gi (minimum number of required movement steps).
- a UCMM arriving at Estage2[i] moves to a UCMM-free position in G that touches Estage2[i].
- j is incremented and (4) is repeated. If not, increment i and go to (3).
- the operation (i) corresponds to the operation (1) above, the operation (ii) corresponds to the operation (4)(a) above, and the operation (iii) corresponds to the operation ( 4) This corresponds to the operation of (b), and the operation of (iv) corresponds to the operation of (4)(c).
- FIG. 9 is a diagram showing an example of the operation for each controlled object by [S ⁇ G_Navigation_2] (process (2)).
- the first control object unit in Head[1] is It shows that the first controlled object unit in Tail has moved to Head[1] by moving to one square in the direction of the arrow in (2).
- FIG. 9(3) as a result of selecting Estage2[1], Tail and Head[1], Head[2], Head[3], Head[4], Head[1] , Head[2], Head[3], and Head[4] moves 1 square in the direction of the arrow in FIG. It shows that the unit has moved to Head[4].
- [S ⁇ G deformation process] (1) Execute [S ⁇ G_Navigation_1] on the virtual robot. This processing is performed by the first movement planning unit 1, which will be described later.
- the control device comprises, for example, a first movement planning section 1, a second movement planning section 2, and a movement section 3, as shown in FIG.
- control method is implemented, for example, by having each component of the control device perform the processing from step S1 to step S3 described below and shown in FIG.
- the first movement planning unit 1 moves a part of the first-type controlled object unit at the initial position S to GS ⁇ G, thereby filling GS ⁇ G as the second-type controlled object unit.
- a first movement plan is created (step S1). The created first movement plan is output to the movement unit 3 .
- the first movement planning unit 1 creates the first movement plan by performing the processing [S ⁇ G_Navigation_1] described above.
- the first movement planning unit 1 performs the above-described [Linearization_S_M_1] process to convert the created first movement plan into recreate.
- the recreated first movement plan is output to the movement unit 3 .
- the second movement planning unit 2 moves each first-type controlled object unit in SS ⁇ G to the target position G, and then moves each second-type controlled object unit in SS ⁇ G to the target position G.
- a second movement plan is created (step S2). The created second movement plan is output to the movement unit 3 .
- the second movement planning unit 2 creates the second movement plan by performing the processing [S ⁇ G_Navigation_2] described above.
- a first movement plan and a second movement plan are input to the movement unit 3 .
- the movement unit 3 moves the control object unit according to the first movement plan and the second movement plan (step S3).
- the moving unit 3 moves the controlled objects in units of controlled objects using the methods described in [S ⁇ G_Navigation_1], [Linearization_S_G_1], and [S ⁇ G_Navigation_2].
- control device may be performed directly or may be performed via a storage unit (not shown).
- a program that describes this process can be recorded on a computer-readable recording medium.
- a computer-readable recording medium is, for example, a non-temporary recording medium, specifically a magnetic recording device, an optical disc, or the like.
- this program will be carried out, for example, by selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded.
- the program may be distributed by storing the program in the storage device of the server computer and transferring the program from the server computer to other computers via the network.
- a computer that executes such a program for example, first stores a program recorded on a portable recording medium or a program transferred from a server computer once in the auxiliary recording unit 1050, which is its own non-temporary storage device. Store. When executing the process, this computer reads the program stored in the auxiliary recording section 1050, which is its own non-temporary storage device, into the storage section 1020, and executes the process according to the read program. As another execution form of this program, the computer may read the program directly from the portable recording medium into the storage unit 1020 and execute processing according to the program. It is also possible to execute processing in accordance with the received program each time the is transferred.
- ASP Application Service Provider
- the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service, which does not transfer the program from the server computer to this computer, and realizes the processing function only by its execution instruction and result acquisition.
- ASP Application Service Provider
- the program in this embodiment includes information that is used for processing by a computer and that conforms to the program (data that is not a direct instruction to the computer but has the property of prescribing the processing of the computer, etc.).
- the device is configured by executing a predetermined program on a computer, but at least part of these processing contents may be implemented by hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
初期位置をSとし、目標位置をGとして、初期位置Sと目標位置Gの共通位置をS∩Gとし、目標位置Gから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をG-S∩Gとし、初期位置Sから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をS-S∩Gとして、第一移動計画部1は、初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する。第二移動計画部2は、S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する。移動部3は、第一移動計画及び第二移動計画に従って、制御対象物単位を移動させる。
Description
本発明は、複数の制御対象物の行動を制御する技術に関する。
近年、多数の自律移動ロボットを効率的に制御にするための研究が活発に行われている。その任務内容は、人の入れない箇所の監視、物品の搬送などさまざまであるが、多数のロボットの協調動作による隊列形成を効率的に行わせるための技術が求められており盛んに研究が行われている。
特に、ロボットの隊列制御の中でも、ロボット同士が互いに接したままの状態で、アメーバのように全体で移動を行うという仮定の下でのロボット隊列制御においては、ロボット同士の相対的な位置関係から、各ロボットの絶対位置の決定が可能であるという利点と、付加的な位置計測用の装備を必要としないという利点があり、そのようなロボットの研究もおこなわれている。例えば、非特許文献1に示す研究に至る一連の研究では、ある隊列から他の隊列に変化する隊列制御が示されている(例えば、非特許文献1参照。)。
このような、多数のロボットによる効率的な隊列形成を実現するには、それぞれのロボットの配置、動作順序などを事前に計画することが重要である。このような計画においては、当然ながら、複数のロボットが動作する実環境における障害物の存在や経路の形状なども十分に考慮しなければならない。
非特許文献1に示す研究に示されている手法では、複数の立方体形状のロボット同士での伸長収縮面動作(あるロボットが、他のロボットと接した状態で、伸び縮みしつつ移動する動作)によるロボットの隊列変形が扱われている。ここでは、各ロボットが接した状態での動作を想定し、各ロボットが同じ特性(ホモジニアス)である。つまり、目標形態内部での各ロボットの目標位置が定まってない場合の隊列制御を実現している。また、8マスのロボットにより構成されたロボット単位を基本としたロボット構造体の変形を扱っている。変形はロボット数の2乗に比例した変形時間を要する。
非特許文献2では、複数の立方体形状のロボット同士での面せん断動作(あるロボットが、他のロボットと接した状態で、接する面上をスライド移動する動作)によるロボットの隊列変形が扱われている。ここでも、8マスのロボットにより構成されたロボット単位を基本としたロボット構造体の変形を扱っている。各ロボット単位は異なる特性(ヘテロジニアス)である。つまり、目標形態内部での各ロボット単位の目標位置が各ロボット単位ごとに定まっている場合の隊列制御を実現している。変形にはロボット数に比例した変形時間を要する。
非特許文献1,2の発明ともにロボットの初期位置と目標位置の集合が占める空間以外の空間を変形過程において必要とせず、障害物のある空間での適用が可能であるが、初期位置と目標位置の重なり合う部分が複数存在する場合に適用することは不可能である。
S. Vassilvitskii, M. Yim, J. Suh, "A Complete, Local and Parallel Reconfiguration Algorithm for Cube Style Modular Robots", in Proc.2002 IEEE Int. Conf. Robotics and Automation, pp. 117-122, Washington DC, May, 2002.
Kawano H., Distributed Linear Heterogeneous Reconfiguration of Cubic Modular Robots via Simultaneous Tunneling and Permutation", IEEE Transactions on Robotics, Vol. 36, Issue 1, pp. 62-77, Feb. 2020.
初期位置と目標位置の重なり合う部分が複数存在する場合にも、従来より高速な隊列変形を行うことができる制御装置、方法及びプログラムを提供することを目的とする。
この発明の一態様による制御装置は、制御対象物単位には第一型制御対象物単位及び第二型制御対象物単位があり、第一型制御対象物単位及び第二型制御対象物単位のそれぞれはU個(Uは4以上の整数)の制御対象物から構成されており、各制御対象物には初期位置及び目標位置が定められており、初期位置及び目標位置にある制御対象物から構成される構造体は、第一型制御対象物単位及び第二型制御対象物単位が組み合わさることにより2U個の制御対象物で構成される合体制御対象物単位で構成されており、第一型制御対象物単位及び第二型制御対象物単位の制御対象物単位の周囲には、他の制御対象物単位が通過でき、制御対象物単位同士が位置を入れ替える空間があり、初期位置をSとし、目標位置をGとして、初期位置Sと目標位置Gの共通位置をS∩Gとし、目標位置Gから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をG-S∩Gとし、初期位置Sから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をS-S∩Gとして、初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する第一移動計画部と、S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する第二移動計画部と、第一移動計画及び第二移動計画に従って、制御対象物単位を移動させる移動部と、を備えている。
この発明によれば、初期位置と目標位置の重なり合う部分が複数存在する場合にも従来より高速な隊列変形を行うことができる。
以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
<理論的背景>
まず、制御装置及び方法の理論的背景について説明する。以下、行動制御の対象である制御対象物が、ロボットである場合を例に挙げて説明するが、制御対象物は、制御の対象となり得るものであれば、ロボット以外であってもよい。
まず、制御装置及び方法の理論的背景について説明する。以下、行動制御の対象である制御対象物が、ロボットである場合を例に挙げて説明するが、制御対象物は、制御の対象となり得るものであれば、ロボット以外であってもよい。
[問題設定]
多数の制御対象物が協調して、各制御対象物が接した状態を維持しつつ移動を行い、初期位置における隊列形成状態から目標位置への隊列変形を行う任務は、例えば図1に例示するような、互いに接する面同士をスライドさせて移動していくことが可能な立方体型の制御対象物の使用を想定する。図2に示すように、壁で区切られた部屋(ただし図中、壁を省略する)においての初期位置から目標位置まで複数の制御対象物の移動によって実現するものである。
多数の制御対象物が協調して、各制御対象物が接した状態を維持しつつ移動を行い、初期位置における隊列形成状態から目標位置への隊列変形を行う任務は、例えば図1に例示するような、互いに接する面同士をスライドさせて移動していくことが可能な立方体型の制御対象物の使用を想定する。図2に示すように、壁で区切られた部屋(ただし図中、壁を省略する)においての初期位置から目標位置まで複数の制御対象物の移動によって実現するものである。
制御対象物については、例えば図1に示すように、制御対象物の周囲縦横高さ方向(以下「上下左右前後方向」ともいう)6マスのうち一つに他の制御対象物が存在している状態を維持しながら移動をするものとする。この手法では1つの制御対象物自身が、一台の制御対象物のサイズ分の距離を移動することで、一回の動作の移動量を正確に測ることができるというメリットがある。また、一つの面を共有する隣り合う制御対象物との相対的な位置を計測しあうことで、制御対象物の群れ全体の中での各制御対象物の位置も容易に知ることができる。このため、制御対象物の移動量の誤差によって、隊列が崩れるといった問題を起こしにくい。また、複数の制御対象物を連結したように、同時に複数の制御対象物を移動させていくことが可能である。なお、制御対象物は、隣の位置に他の制御対象物が存在しているか否か、障害物があるか否か、そして、自身が目標位置上にいるかどうかを知ることができるものとする。
任務を行う制御対象物は、p台(p≧32=8×2)であり、各制御対象物は、隣接する制御対象物と一面以上を共有しつつ、三次元空間におけるX-Y-Z軸方向に移動可能とする。図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は制御対象物番号を表す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の各状態(制御対象物の位置と行動)は離散値で表現される。部屋を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格子だけ移動する
とする。
また、行動主体は部屋に配置されている各制御対象物となる。制御対象物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倍増加していくことになる。本実施形態の[問題設定]の項で説明したように、制御対象物同士が接しているという拘束条件を取り入れる場合、制御対象物のお互いの移動を考慮したうえで探索計算行わなければならないために、根本的な計算量の削減は難しく、複数制御対象物を使用する場合の大きな問題となっている。
このような任務環境における状態空間は、制御対象物数×3の次元数の状態を持ち、かつ選択可能な行動数は、制御対象物の行動(=7通り)の制御対象物数乗だけ存在する。例えば、制御対象物数が50で、部屋の縦横高さ方向の格子数がそれぞれ20であるとすれば状態数は20の150乗個にもなり、探索計算に要する資源の量は膨大なものとなる。さらに制御対象物数が1台増えるごとに、その状態数は8000倍増加していくことになる。本実施形態の[問題設定]の項で説明したように、制御対象物同士が接しているという拘束条件を取り入れる場合、制御対象物のお互いの移動を考慮したうえで探索計算行わなければならないために、根本的な計算量の削減は難しく、複数制御対象物を使用する場合の大きな問題となっている。
[参考文献1における特徴]
参考文献1におけるホモジニアス隊列制御では、上述の計算負荷の問題を解決するための方策の一つとして、ボイド制御の考え方を導入している。また、[問題設定]で述べたような隊列変形の問題を克服するために8マス制御対象物単位の考え方も導入している。
参考文献1におけるホモジニアス隊列制御では、上述の計算負荷の問題を解決するための方策の一つとして、ボイド制御の考え方を導入している。また、[問題設定]で述べたような隊列変形の問題を克服するために8マス制御対象物単位の考え方も導入している。
まず、ボイド制御について説明する。ここでいうボイドとは、図3に例示するように、ある制御対象物が別の位置に移動した後に、空いた位置にできる空隙のことである。別の言い方をすると、ボイドとは、制御対象物の移動する方向と反対の方向に移動する仮想的な存在である。こうした群制御対象物の隊列形成問題においては、複数の制御対象物の動作に着目するがゆえに、その探索計算量が爆発してしまうが、視点を変えて、ボイドの動きに着目すれば、多数の制御対象物の動作計画の問題を単一のボイドの動作計画として考えることができ、探索計算負荷の軽減に適している。参考文献1においては、初期位置と目標位置の集合の共通部分が複数存在することを考慮して、ホモジニアス条件でのボイド制御による変形を実現している。しかし、初期位置と目標位置の集合以外の空間を変形に要しないものの、変形所要時間が制御対象物数の2乗に比例するという変形の遅さが問題であった。その理由として、制御対象物が密に組まれたロボット構造体内に、複数ボイドの同時移動に必要な空間を確保することが難しく、そのために、複数の制御対象物の移動を並列して行うことで変形過程を高速化することが難しい点が挙げられる。
〔参考文献1〕H. Kawano, “Distributed Tunneling Reconfiguration of Sliding Cubic Modular Robots in Severe Space Requirements”, in Proc.14th Int. Symposium on Distributed Autonomous Robotic Systems, paper no. 1, Boulder, CO, Oct., 2018.
[4マス制御対象物単位の導入]
そこで、図4Aに示すように、4つの隣接した制御対象物を一つの単位とし(制御対象物単位)、制御対象物は、この制御対象物単位を維持しつつ移動を行うこととする。言い換えると、4台毎に1つの制御対象物単位を構成し、1つの制御対象物単位を構成する4台の制御対象物はそれぞれ3つの方向において1つの制御対象物単位を構成する他の制御対象物と隣接した状態を維持しつつ移動を行う。この制御対象物単位の集団は、互いに制御対象物単位ごとに一面を共有し、接しながら移動をするように制御される。各制御対象物は、同一でありホモジニアスであるものとする。
[4マス制御対象物単位の導入]
そこで、図4Aに示すように、4つの隣接した制御対象物を一つの単位とし(制御対象物単位)、制御対象物は、この制御対象物単位を維持しつつ移動を行うこととする。言い換えると、4台毎に1つの制御対象物単位を構成し、1つの制御対象物単位を構成する4台の制御対象物はそれぞれ3つの方向において1つの制御対象物単位を構成する他の制御対象物と隣接した状態を維持しつつ移動を行う。この制御対象物単位の集団は、互いに制御対象物単位ごとに一面を共有し、接しながら移動をするように制御される。各制御対象物は、同一でありホモジニアスであるものとする。
このような4つの制御対象物を一つの単位とした移動を行う理由は、各制御対象物単位の内部にある4つの空隙空間を、他の制御対象物単位に属する制御対象物が通過することが出来、それにより、異なる制御対象物単位内に属する制御対象物同士の行き来がすることが容易である点である。また、各制御対象物単位の内部にある4つの空隙空間を、他の制御対象物単位に属する制御対象物が通過する際の接続性の維持も容易である。すなわちこれは、隊列形態の維持を考量しなければならない各制御対象物の動作の決定において、制御対象物同士の接続を考慮するための計算負荷を軽減することにつながるからである。
ここでは4台の制御対象物がなす制御対象物単位が一つのマスの単位(本実施形態では、以下、この単位を「マス単位」または「位置単位」ともいう)であるとし、一つのマス単位を一状態として状態空間を組む。制御対象物単位の位置を(Xr_u[j],Yr_u[j], Zr_u[j])(j=0,1,2,…j_max-1)としたとき、その制御対象物単位j内の制御対象物をi1,i2,i3,i4とすれば、
Xr[i1] = 2 × Xr_u[j]
Yr[i1] = 2 × Yr_u[j] + 1
Zr[i1] = 2 × Zr_u[j]
Xr[i2] = 2 × Xr_u[j] + 1
Yr[i2] = 2 × Yr_u[j]
Zr[i2] = 2 × Zr_u[j]
Xr[i3] = 2 × Xr_u[j]
Yr[i3] = 2 × Yr_u[j]
Zr[i3] = 2 × Zr_u[j]+1
Xr[i4] = 2 × Xr_u[j]
Yr[i4] = 2 × Yr_u[j]
Zr[i4] = 2 × Zr_u[j]
なお、各制御対象物iが所属する制御対象物単位jを表す変数をRr[i]=jとする。また、制御対象物が上記i1,i2,i3,i4のどの位置にあるかを指す変数をIr[i]=(1,2,3,4)とする。各制御対象物単位の初期位置を(Xr_u0[j],Yr_u0[j],Zr_u0[j])としその集合をSとする、目標位置を(Xr_ue[j],Yr_ue[j],Zr_ue[j])としその集合をGとする。以下、制御対象物の全体数pを4の倍数とする。
Xr[i1] = 2 × Xr_u[j]
Yr[i1] = 2 × Yr_u[j] + 1
Zr[i1] = 2 × Zr_u[j]
Xr[i2] = 2 × Xr_u[j] + 1
Yr[i2] = 2 × Yr_u[j]
Zr[i2] = 2 × Zr_u[j]
Xr[i3] = 2 × Xr_u[j]
Yr[i3] = 2 × Yr_u[j]
Zr[i3] = 2 × Zr_u[j]+1
Xr[i4] = 2 × Xr_u[j]
Yr[i4] = 2 × Yr_u[j]
Zr[i4] = 2 × Zr_u[j]
なお、各制御対象物iが所属する制御対象物単位jを表す変数をRr[i]=jとする。また、制御対象物が上記i1,i2,i3,i4のどの位置にあるかを指す変数をIr[i]=(1,2,3,4)とする。各制御対象物単位の初期位置を(Xr_u0[j],Yr_u0[j],Zr_u0[j])としその集合をSとする、目標位置を(Xr_ue[j],Yr_ue[j],Zr_ue[j])としその集合をGとする。以下、制御対象物の全体数pを4の倍数とする。
なお、図4Bのように、二つの制御対象物単位を合わせることで、8マスの制御対象物単位を構成することも可能であり、8マスの制御対象物単位で構成された制御対象物群の隊列制御も、4マス制御対象物単位の制御を行うことで可能となる。この二つの制御対象物単位を組み合わせたものを、合体制御対象物単位と呼ぶこともある。
また、図4の例に限らず、制御対象物単位は以下の条件を満たすよう構成されていればよい。すなわち、制御対象物単位は、(1)三次元の直交座標系で各軸方向に長さM(M≧2、ただし、制御対象物1個の長さを長さ1とする)を有する立方体形状の空間(以降この空間をメタモジュールとする。)内の部分構造であり(言い換えれば、制御対象物単位はメタモジュールの一部を占め)、(2)当該メタモジュール内の制御対象物単位に含まれる制御対象物の数と、当該メタモジュール内の制御対象物単位以外の部分(すなわち空隙)の数とが等しく、(3)各軸方向にM個の制御対象物が隣接する構造を含む。例えば、図4に例示する制御対象物単位は、(1)各軸方向の長さM=2とした計8マスの立方体からなるメタモジュールの部分構造であり、(2)制御対象物単位内の制御対象物の数が4個、メタモジュール内の空隙の数が4個と等しく、(3)各軸方向において2個の制御対象物が隣接する構造が含まれている。
以後の説明では、制御対象物単位の一例として、図4に示す4個の制御対象物からなる構造を制御対象物単位とする場合について説明するが、例えば、M3個分の大きさのメタモジュール内で上述の(1)~(3)の条件を満たすよう構成された制御対象物単位であれば同様の効果を得ることができる。
[ホモジニアス隊列制御]
8マス制御対象物単位を構成する各制御対象物iからなる構造体を、初期位置の集合s内にて、各制御対象物が初期位置(Xr0[i],Yr0[i],Zr0[i])に存在する状態から、目標位置の集合g内の各目標位置(Xre[i],Yre[i],Zre[i])にある状態に変形させるホモジニアス制御対象物隊列制御の方法について以下説明していく。
8マス制御対象物単位を構成する各制御対象物iからなる構造体を、初期位置の集合s内にて、各制御対象物が初期位置(Xr0[i],Yr0[i],Zr0[i])に存在する状態から、目標位置の集合g内の各目標位置(Xre[i],Yre[i],Zre[i])にある状態に変形させるホモジニアス制御対象物隊列制御の方法について以下説明していく。
集合s、gは、4マスの制御対象物単位2つが合わさってできる8マスの制御対象物単位で構成されているものとする。4マス制御対象物単位数j_maxは偶数であり、一つの8マス制御対象物単位を構成する二つの4マス制御対象物単位j1,j2の番号の間には、j1+ j_max/2 = j2の関係がある(j_max=8の場合、0,1,2,3がj1、4,5,6,7がj2であり、(j1,j2)=(0,4)(1,5)(2,6)(3,7)の組が8マス単位を構成する。)。j2は図4Bでいうところのドットで表された4マス制御対象物単位である。j1の名称をLCMM、j2の名称をUCMMとする。j1を第二型制御対象物単位、j2を第一型制御対象物単位と呼ぶこともある。
このように、制御対象物単位には第一型制御対象物単位及び第二型制御対象物単位があり、第一型制御対象物単位及び第二型制御対象物単位のそれぞれはU個(Uは4以上の整数)の制御対象物から構成されており、各制御対象物には初期位置及び目標位置が定められており、初期位置及び目標位置にある制御対象物から構成される構造体は、第一型制御対象物単位及び第二型制御対象物単位が組み合わさることにより2U個の制御対象物で構成される合体制御対象物単位で構成されているとする。
変形の過程は2段階で行われる。
(1) 8マス制御対象物単位初期位置Sから、LCMMからなるS∪G構造を作り出すホモジニアス変形過程([第一変形過程]、図7(1)→(2))。
(2) S∪G構造から8マス制御対象物単位目標位置Gへのホモジニアス変形過程([第二変形過程]、図7(2)→(3))。
図5に示す通り、(1)と(2)の変形過程においては、タネリングと呼ばれる方法をとる。図5に示す動作においては、先頭の制御対象物単位Headと尾部の制御対象物単位Tailを結ぶ一連の制御対象物単位がいわば蛇のような形で、先頭制御対象物単位Headの動作を追従する方式で動作する。なお、他のタネリングを行う制御対象物単位、例えば非特許文献1に示すような伸長収縮制御対象物単位を使用した2×2×2の制御対象物単位を使用した制御対象物構造においてもこのタネリング動作は同様であり、本発明で示すタネリングのHeadとTailの選択方法は、同様に適用可能である。タネリングを使用した隊列変形には障害物のある環境においても、隊列変形動作を初期位置の集合と目標位置の集合以外の位置を使用せずに実行可能であるという利点がある。
過程(1)における変形先の構造は、S∪G内の全ての位置にLCMMがある構造である。いくつかのS内LCMM上にはUCMMが残っているものもある。G-S∩G内にはUCMMは存在しない。すなわち、(1)の変形過程は、8マス制御対象物単位から構成されたSと、4マス制御対象物LCMMで構成されたS∪Gとの間の変形過程となるため、8マス制御対象物単位でなされた構造物を4マスの制御対象物単位でなされた構造物に展開しつつのタネリング変形となる。過程(1)における変形ではS内のUCMMのみが移動をするので、全体の構造に非接続は発生しない。そのような非接続の発生しない過程(1)によって、過程(2)に先立って、LCMMからなるS∪G構造を構成することで、複数のS∩Gがある場合にて変形中に、複数のS∩G同士の接続が失われてしまうことを回避している。このように、〔参考文献1〕で問題となっていた「密なロボット構造による制御対象物の同時移動の困難さからくる低速性」が、4マスの制御対象物単位を使用した空隙の多い構造を採用することから解決可能となっている。
過程(2)においては、LCMMで構成されたS∪G構造のうち、過程(2)開始時点でS内LCMM上にあるUCMMをすべてG内に移動させ、同時に、S-S∩G内のLCMMをすべてG内に移動させる。過程(2)において、G内のLCMMは一切動作をしないことで、変形中のGの接続を維持している。過程(2)においては、S∩Gによって分断された複数のS-S∩G内のLCMMの移動においての非接続を回避するのみで、全体構造の接続性を維持することが可能である。
[第一変形過程]
G-S∩G内の位置の個数をnG-S∩Gとし、本変形過程は、S内のUCMMのうち、nG-S∩G個をG-S∩Gに移動させてLCMMによるS∪G構造を生成する。本過程の結果、jmax/2 - nG-S∩G個のUCMMがS内に残留する。それらの中にはS∩G内に残留するものも含まれる。
G-S∩G内の位置の個数をnG-S∩Gとし、本変形過程は、S内のUCMMのうち、nG-S∩G個をG-S∩Gに移動させてLCMMによるS∪G構造を生成する。本過程の結果、jmax/2 - nG-S∩G個のUCMMがS内に残留する。それらの中にはS∩G内に残留するものも含まれる。
図6において、初期位置Sを太線で示し、G-S∩G内の位置にあるLCMMを横ストライプで示し、S∩Gの位置にあるUCMMと、S-S∩Gの位置にあるUCMM+LCMMを右下がりの対角ストライプで示している。図7において、第一変形過程の結果S∩Gの位置に残っているLCMM(UCMMなし)を市松模様で示し、S-S∩Gの位置に残されたLCMM(UCMMなし)を右下がりの対角ストライプで示す。なお、合体制御対象物単位の位置を示す4マスの中の、左上、左下、右下の3マスはLCMMを示し、右上の1マスはUCMMを示す。
先に述べたように、変形過程中は、S∩Gが0集合ではなく、かつ複数の非接続な領域に分かれている場合についても接続を維持することが必要であるが、過程(1)では、移動を行うのはUCMMのみで、LCMMは一切移動をしない。そのためS∩Gが複数あろうとも、変形過程中にS内のLCMM制御対象物同士の接続が失われることはない(移動しないLCMMによって接続が保持されるため)。
ここで、Sによって分断された複数のG-S∩Gの領域をAG-S∩G1, AG-S∩G2, AG-S∩G3, AG-S∩G4,,,として、それぞれの分断領域に接するS∩G内の位置を一つずつ選んでEstage1[i](i = 1,2,3,,,)とする。AG-S∩GiにS内のUCMMが移動する際には、Estage1[i]から最もS内マンハッタン距離が小さい位置にあるS内UCMMから優先的に移動を開始するものとし、AG-S∩Giに入る際は必ずEstage1[i]を経由することとすることで、移動中のUCMM同士の衝突をさけることができる。jmax/2≧nG-S∩Gであり、G-S∩G内の全ての位置を過程(1)により、埋めることができる。本過程でのタネリングのHeadは、 AG-S∩Gi+Estage1[i]内の位置のうち、Estage1[i]からのG内マンハッタン距離が最も近く、かつ AG-S∩Gi内の空隙位置に接する位置である(図8)。
[S→G_Navigation_1](過程(1))
(1) Estage1の決定:Sによって分断された複数のG-S∩Gの領域をAG-S∩G1, AG-S∩G2, AG-S∩G3, …,AG-S∩GIとし、それぞれの分断領域に接するS∩G内の位置を一つずつ選んでEstage1[i](i = 1,2,3,…,I)とする。
(1) Estage1の決定:Sによって分断された複数のG-S∩Gの領域をAG-S∩G1, AG-S∩G2, AG-S∩G3, …,AG-S∩GIとし、それぞれの分断領域に接するS∩G内の位置を一つずつ選んでEstage1[i](i = 1,2,3,…,I)とする。
(2) i←1とする。
(3)タネリングHeadを AG-S∩Gi+Estage1[i]内の位置のうち、Estage1[i]からのG内マンハッタン距離が最も近く、かつAG-S∩Gi内の空隙位置に接する位置とする。また、TailをS内の位置のうち、UCMMが残っており、かつEstage1[i]からのS内マンハッタン距離が最も近い位置とする。Tailの位置にあるUCMMをEstage1[i]までS内を最適経路(所要移動ステップ数最小)で移動させ、その後Estage1[i]からHead位置まで、すでにLCMMで埋まっているG-S∩G内位置を最適経路(所要移動ステップ数最小)をたどって移動させる(図12の動作により)。Head位置からは、図10及び図11に示す動作の逆動作により、Headに接するAG-S∩Gi内空隙位置にUCMMを移動させる。AG-S∩Giにまだ空隙位置が残っているならば(3)を繰り返す。残っていないならば(4)へ
(4)iをインクリメントする。まだG-S∩G内に空隙位置があるなら(3)へ、ないならば終了。
(4)iをインクリメントする。まだG-S∩G内に空隙位置があるなら(3)へ、ないならば終了。
すなわち、(i)少なくとも1つの部分目標位置領域AG-S∩Gi(i=1,…,I)のそれぞれに接するS∩G内の位置が入口位置Estage1[i](i=1,…,I)として選択される。また、(ii) AG-S∩Gi+Estage1[i]に属する位置のうち、入口位置Estage1[i](i=1,…,I)からのG内マンハッタン距離が最も小さく、部分目標位置領域AG-S∩Gi(i=1,…,I)の中の制御対象物単位が存在していない空隙位置に隣接する位置が先頭位置Headとして選択される。また、(iii)初期位置Sに属する位置のうち、第一型制御対象物単位が残っている位置であって、入口位置Estage1[i](i=1,…,I)からのS内マンハッタン距離が最も小さい位置が尾部位置Tailとして選択される。また、(iv)尾部位置Tailにある第一型制御対象物単位が入口位置Estage1[i](i=1,…,I)及び先頭位置Headを通ってAG-S∩Gi内空隙位置に移動した後、第二型制御対象物単位とされる。
これらの(i)から(iv)の動作が繰り返し行われる。
(i)の動作は前記の(1)の動作に対応しており、(ii)(iii)の動作は前記の(2)の動作に対応しており、(iv)の動作は前記の(3)の動作に対応している。
[S→G_Navigation_1](過程(1))により、図8に例示するように、初期位置Sにある第一型制御対象物単位の一部が、G-S∩Gに移動する。
[S→G_Navigation_1]で計算された変形過程では、移動を行う制御対象物単位が一つずつ移動を開始し、目的位置到達して移動を終了する方式をとっており、制御対象物単位の移動は並列では行われない。しかし、それぞれの移動制御対象物単位の移動開始時刻の間隔を十分な定数値にとれば、各移動制御対象物間の間隔を一定の距離以上で維持することができ、衝突を避けることができる。すなわち、[S→M_Navigation_1]で計算された各制御対象物単位jの各ステップ(1制御対象物単位分の距離を移動する動作を一ステップと呼ぶことにする。)での動作の開始を、一つ前に移動を開始した制御対象物単位j’が、数ステップ先での動作を完了した後におこなうようにすることで、簡単に制御対象物単位の移動を並列化してもよい。これらの処理の詳細は以下の通りである。
その処理の詳細は以下の通りである。
[Linearization_S_G_1]
(1)各移動制御対象物の動作開始時刻を0にリセットする。
(1)各移動制御対象物の動作開始時刻を0にリセットする。
(2)i=2とする。t_interval_S_M = 2とする。(3)をiをインクリメントしながらi=nG-S∩Gまで繰り返す。
(3)[S→M_Navigation_1]にてi番目に移動を開始する制御対象物単位について、i-1番目に移動を開始する制御対象物単位が、 kステップ目の動作(k=1,2,3、k_last[i-1])を完了する時刻をend_time[k][i-1]としたとき、i番目に移動を開始する制御対象物単位のkステップ目の動作の開始時刻がk<= k_last[i-1] - t_interval_S_Mの時は、end_time[k+t_interval_S_M][i-1]より早くならない値に調整する。k>k_last[i-1] - t_interval_S_Mの際は、kステップ目の動作の開始時刻が、end_time[k_last[i-1]][i-1]より早くならない値に調整する。これを、k=1からk_last[i]まで繰り返す。
[第二変形過程]
過程(1)においてS-S∩G内に残されたUCMM,LCMMは、過程(2)にて、すべてG内に移動する。変形過程(2)においては、G内のLCMMは不動である。すでにG内のLCMMはすべて接続が維持された状態なので、S-S∩G内のUCMMがG内に移動する際には接続維持について特段の注意は要しない。ただし、S-S∩G内のLCMMがG内に移動する際には接続維持のために注意が必要である。ここで、Gにより分断された複数のS内の領域をAs-s∩G1, As-s∩G2, As-s∩G3, As-s∩G4,,,として、それぞれの分断領域がGに接する位置を一つずつ選んでEstage2[i](i = 1,2,3,,,)とする。過程2では、S-S∩G内のUCMMの移動がS-S∩G内のLCMMの移動に先んじて行われる。As-s∩Gi内のUCMMがG内に移動する際には、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が小さい位置にあるUCMMから優先的に移動を開始するものとし、Gへ入る際は必ずEstage2[i]を経由する。As-s∩Gi内のLCMMがG内に移動する際には、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が大きい位置にあるLCMMから優先的に移動を開始するものとし、Gへ入る際は必ずEstage2[i]を経由することで、接続の維持を行うことができる。
過程(1)においてS-S∩G内に残されたUCMM,LCMMは、過程(2)にて、すべてG内に移動する。変形過程(2)においては、G内のLCMMは不動である。すでにG内のLCMMはすべて接続が維持された状態なので、S-S∩G内のUCMMがG内に移動する際には接続維持について特段の注意は要しない。ただし、S-S∩G内のLCMMがG内に移動する際には接続維持のために注意が必要である。ここで、Gにより分断された複数のS内の領域をAs-s∩G1, As-s∩G2, As-s∩G3, As-s∩G4,,,として、それぞれの分断領域がGに接する位置を一つずつ選んでEstage2[i](i = 1,2,3,,,)とする。過程2では、S-S∩G内のUCMMの移動がS-S∩G内のLCMMの移動に先んじて行われる。As-s∩Gi内のUCMMがG内に移動する際には、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が小さい位置にあるUCMMから優先的に移動を開始するものとし、Gへ入る際は必ずEstage2[i]を経由する。As-s∩Gi内のLCMMがG内に移動する際には、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が大きい位置にあるLCMMから優先的に移動を開始するものとし、Gへ入る際は必ずEstage2[i]を経由することで、接続の維持を行うことができる。
Estage2[i]にj番目に到達したUCMM,LCMMがG内に入る際には、すでにG内にあるUCMMがEstage2[i]に到達したUCMM,LCMMのG内への侵入を妨げている場合がある。そのような場合は、Estage2[i]に接するG内の位置がすべてUCMMで埋められているときである。そのような場合は、G内のUCMMで埋められていない位置に接していて、かつその位置にはUCMMがあるG内位置の中で、最もEstage2[i]からのG内でのマンハッタン距離が小さい位置をHead[1]とする。続いて、Head[1]の位置からG内でのマンハッタン距離が一つずつ小さくなるようにEstage2[i]までの位置をたどっていき、それぞれの位置をHead[1]に近い順にHead[2],Head[3],Head[4]…としていく。あとは、Head[1]にあるUCMMをHead[1]に接するG内のUCMMのない位置に移動させ、次のタネリングステップ(Head[1]のUCMMが移動を完了した後)にて、Head[2] にあるUCMMをHead[1]に移動させ、その後、Head[3] にあるUCMMをHead[2]に移動させという形に、Estage2[i]にあるUCMMがG内に入るスペースができるまで(Estage2[i]の隣のG内位置にUCMMのない位置ができるまで)くり返す。そのあと、Estage2[i]にあるUCMMをEstage2[i]の隣のUCMMのないG内位置に移動させる(図9)。
[S→G_Navigation_2](過程(2))
(1) Gにより分断された複数のS内の領域をAs-s∩G1, As-s∩G2, As-s∩G3, …,As-s∩Gn_Aとし、それぞれの分断領域がGに接するS-S∩G内の位置を一つずつ選んでEstage2[i](i = 1,2,3,…,n_A)とする。それぞれの分断領域が持つUCMMとLCMMの総数をn_div[i]とする。
(1) Gにより分断された複数のS内の領域をAs-s∩G1, As-s∩G2, As-s∩G3, …,As-s∩Gn_Aとし、それぞれの分断領域がGに接するS-S∩G内の位置を一つずつ選んでEstage2[i](i = 1,2,3,…,n_A)とする。それぞれの分断領域が持つUCMMとLCMMの総数をn_div[i]とする。
(2)i←1とする。
(3)As-s∩Giが存在するならばj←1とする。しないならば終了。
(4)(a)As-s∩Gi内にUCMMがある場合は、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が小さい位置にあるUCMMの位置をTailとして選択する。ない場合は、Estage2[i]から最もAs-s∩Gi内マンハッタン距離が大きい位置にあるLCMMの位置をTailとして選択する。(b)Estage2[i]に接するG内の位置がすべてUCMMで埋められている場合は、G内のUCMMで埋められていない位置に接していて、かつその位置にはUCMMがあるG内位置の中で、最もEstage2[i]からのG内でのマンハッタン距離が小さい位置をHead[1]とする。Estage2[i]に接するG内の位置がすべてUCMMで埋められていない場合は、Head[1]は選択されず、後述するTailにある第一制御対象物単位又は第二制御対象物単位の移動のみが行われる。(c)続いて、Head[1]の位置からG内でのマンハッタン距離が一つずつ小さくなるようにEstage2[i]までの位置をたどっていき、それぞれの位置をHead[1]に近い順にHead[2],Head[3],Head[4]…としていく。続いて、Head[1]にあるUCMMをHead[1]に接するG内のUCMMのない位置に移動させ、次のタネリングステップ(Head[1]のUCMMが移動を完了した後)にて、Head[2] にあるUCMMをHead[1]に移動させ、その後、Head[3] にあるUCMMをHead[2]に移動させという形に、Estage2[i]にあるUCMMがG内に入るスペースができるまで(Estage2[i]の隣のG内位置にUCMMのない位置ができるまで)くり返す(図12の動作使用)。この際、Head[1]にあるUCMMの移動開始時刻は、j-1番目の時のHead[1]にあったUCMMの移動開始時刻の3ステップ以降後とする。このG内のHead[]の移動ののちにEstage2[i]に接するG内位置の一つが空隙となる時刻をt_void[j]として、Tailにあるj番目のUCMMもしくはLCMMがちょうど時刻t_void[j]にEstage2[i]の位置に到着できるように、Tail位置のUCMM,もしくはLCMMを移動開始させる(LCMMの移動開始時は図10及び図11の動作、UCMMの移動開始は図12の動作、LCMM,UCMMともに移動は図12の動作)。具体的には、Head[1]の位置のUCMMの移動開始時刻から、ΔTail - ΔHead時刻ステップだけ、早い時間にTail位置のUCMM、LCMMを移動開始させればよい((b)におけるEstage2[i]に接するG内の位置がすべてUCMMで埋められていない場合には、ΔHead=0であり、j-1番目の時のHead[1]にあったUCMMの移動開始時刻の3ステップ以降後から、ΔTail時刻ステップだけ、早い時間にTail位置のUCMM、LCMMを移動開始させればよい。)。ΔHead は、Head[1]のEstage2[i]からのG内マンハッタン距離、 ΔTailはTail位置のEstage2[i]からのS-S∩G内マンハッタン距離である。Tail位置のUCMM,もしくはLCMMのEstage2[i]への移動はAs-s∩Gi内最適経路上(所要移動ステップ数最小)で移動させる。Estage2[i]へ到着したUCMMは、Estage2[i]に接するG内のUCMMのない位置へと移動する。この後、As-s∩Gi内にまだ移動を開始していないUCMMかLCMMがある場合jをインクリメントして(4)を繰り返す。ない場合はiをインクリメントして(3)へ。
すなわち、(i)前記各部分初期位置領域AS-S∩Gi(i=1,…,n_A)内のGに接する少なくとも1つの位置が入口位置Estage2[i](i=1,…,n_A)として選択される。(ii)部分初期位置領域AS-S∩Gi(i=1,…,n_A)に第一型制御対象物単位が残っている場合には、部分初期位置領域AS-S∩Giに属する位置のうち、第一型制御対象物単位が残っている位置であって、入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も小さい位置が尾部位置Tailとして選択され、そうでない場合には、第二型制御対象物単位が残っている位置であって、入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も大きい位置が尾部位置Tailとして選択される。(iii)目標位置Gに属する位置であって第一型制御対象物単位が存在している位置のうち、目標位置Gの中の第一型制御対象物単位が存在していない空隙位置に隣接する位置の中で、入口位置Estage2[i](i=1,…,n_A)からのG内マンハッタン距離が最も小さい位置が先頭位置Head[1]として選択される。(iv)先頭位置Head[1]にある第一型制御対象物単位から入口位置Estage2[i](i=1,…,n_A)にある第一型制御対象物単位までの一連の第一型制御対象物単位が空隙位置方向に移動され、尾部位置Tailにある第一型制御対象物単位又は第二型制御対象物単位がEstage2[i]に接するG内のUCMMのない位置に移動される。
これらの(i)から(iv)の動作が繰り返し行われる。
(i)の動作は前記の(1)の動作に対応しており、(ii)の動作は前記の(4)(a)の動作に対応しており、(iii)の動作は前記の(4)(b)の動作に対応しており、(iv)の動作は前記の(4)(c)の動作に対応している。
図9は、[S→G_Navigation_2](過程(2))による制御対象物単位の動作の例を示す図である。例えば、図9(2)は、図9(2)のようにEstage2[1],Tail及びHead[1]が選択された結果、Head[1]にあった第一制御対象物単位が図9(2)内の矢印の方向に1マスに移動し、Tailにあった第一制御対象物単位がHead[1]に移動したことを示している。また、例えば、図9(3)は、のようにEstage2[1],Tail及びHead[1],Head[2],Head[3],Head[4]が選択された結果、Head[1],Head[2],Head[3],Head[4]にあった第一制御対象物単位が図9(3)内の矢印の方向に1マス移動し、Tailにあった第一制御対象物単位がHead[4]に移動したことを示している。
(図10及び図11(LCMM→UCMMへの変形)の動作は、図12の動作(UCMMの移動)の1.5倍の長さの時間を要しているが、2倍以内である。もし、これがX倍以上(X>=2)になると、Head[1][j]とHead[1][j-1]の動作開始時間の間隔をX+2時間ステップ以上にする必要がある。)
[All_Transformation]
S→Gの変形過程の詳細は以下のとおりである。
[All_Transformation]
S→Gの変形過程の詳細は以下のとおりである。
[S→Gの変形過程]
(1)仮想ロボットで[S→G_Navigation_1]を実行する。この処理は、後述する第一移動計画部1により行われる。
(1)仮想ロボットで[S→G_Navigation_1]を実行する。この処理は、後述する第一移動計画部1により行われる。
(2)仮想ロボットで[Linearization_S_G_1]を実行する。この処理は、後述する第一移動計画部1により行われる。
(3)仮想ロボットで[S→G_Navigation_2]を実行する。この処理は、後述する第二移動計画部2により行われる。
(4)[S→G_Navigation_1]及び[Linearization_S_G_1]で作成された第一移動計画、[S→G_Navigation_2]で作成された第二移動計画に従い制御対象物を移動させる。この処理は、後述する移動部3により行われる。
[実施形態]
以下、本発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。まず、制御装置及び方法の実施形態について説明する。
以下、本発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。まず、制御装置及び方法の実施形態について説明する。
制御装置は、図13に示すように、第一移動計画部1、第二移動計画部2及び移動部3を例えば備えている。
制御方法は、制御装置の各構成部が、以下に説明する及び図14に示すステップS1からステップS3の処理を行うことにより例えば実現される。
以下、制御装置の各構成部について説明する。
<第一移動計画部1>
第一移動計画部1は、初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する(ステップS1)。作成された第一移動計画は、移動部3に出力される。
第一移動計画部1は、初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する(ステップS1)。作成された第一移動計画は、移動部3に出力される。
例えば、第一移動計画部1は、先に説明した[S→G_Navigation_1]の処理を行うことにより、第一移動計画を作成する。
第一移動計画部では、(i)少なくとも1つの部分目標位置領域AG-S∩Gi(i=1,…,I)のそれぞれに接するS∩G内の位置を入口位置Estage1[i](i=1,…,I)として選択し、(ii)部分目標位置領域AG-S∩Gi(i=1,…,I)に属する位置もしくはEstage1[i]のうち、部分目標位置領域AG-S∩Gi(i=1,…,I)の中の制御対象物単位が存在していない空隙位置に隣接して、かつ第二制御対象物単位が存在しており、入口位置Estage1[i](i=1,…,I)からのG内のマンハッタン距離が最も小さい位置を先頭位置Headとして選択し、(iii)初期位置Sに属する位置のうち、第一型制御対象物単位が残っている位置であって、入口位置Estage1[i](i=1,…,I)からのS内マンハッタン距離が最も小さい位置を尾部位置Tailとして選択し、(iv)尾部位置Tailにある第一型制御対象物単位を入口位置Estage1[i](i=1,…,I)及び先頭位置Headを通ってG-S∩G内空隙位置に移動させて第二型制御対象物単位とする、という動作が繰り返し行われる。
必要に応じて、第一移動計画部1は、先に説明した[Linearization_S_M_1]の処理を行うことにより、作成された第一移動計画を、制御対象物単位の移動が並列に行われるように、作成し直す。[Linearization_S_M_1]の処理が行われる場合には、作成し直された第一移動計画が、移動部3に出力される。
<第二移動計画部2>
第二移動計画部2は、S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する(ステップS2)。作成された第二移動計画は、移動部3に出力される。
第二移動計画部2は、S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する(ステップS2)。作成された第二移動計画は、移動部3に出力される。
例えば、第二移動計画部2は、先に説明した[S→G_Navigation_2]の処理を行うことにより、第二移動計画を作成する。
第二移動計画では、(i)少なくとも1つの部分初期位置領域AS-S∩Gi(i=1,…,n_A)内の位置であってGに接するS-S∩G内の位置を入口位置Estage2[i](i=1,…,n_A)として選択し、(ii)部分初期位置領域AS-S∩Gi(i=1,…,n_A)に第一型制御対象物単位が残っている場合には、部分初期位置領域AS-S∩Giに属する位置のうち、第一型制御対象物単位が残っている位置であって、入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も小さい位置を尾部位置Tailとして選択し、そうでない場合には、第二型制御対象物単位が残っている位置であって、入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も大きい位置を尾部位置Tailとして選択し、(iii)目標位置Gに属する位置であって、第一型制御対象物単位が存在しており、かつ、Gの中の第一型制御対象物単位が存在していない空隙位置に隣接している位置のうち、入口位置Estage2[i](i=1,…,n_A)からのG内マンハッタン距離が最も小さい位置を先頭位置Head[1]として選択し、(iv)先頭位置Head[1]にある第一型制御対象物単位から入口位置Estage2[i](i=1,…,n_A)にある第一型制御対象物単位までの一連の第一型制御対象物単位を空隙位置方向に移動させ、尾部位置Tailにある第一型制御対象物単位又は第二型制御対象物単位を入口位置Estage2[i](i=1,…,n_A)に接するG内空隙位置に移動させる、という動作が繰り返し行われる。
<移動部3>
移動部3には、第一移動計画及び第二移動計画が入力される。
移動部3には、第一移動計画及び第二移動計画が入力される。
移動部3は、第一移動計画及び第二移動計画に従って、制御対象物単位を移動させる(ステップS3)。
例えば、移動部3は、[S→G_Navigation_1], [Linearization_S_G_1], [S→G_Navigation_2]で説明した方法により、制御対象物を制御対象物単位で移動させる。
[変形例]
以上、本発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、本発明に含まれることはいうまでもない。
以上、本発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、本発明に含まれることはいうまでもない。
実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、制御装置の構成部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
[プログラム、記録媒体]
上述した各装置の各部の処理をコンピュータにより実現してもよく、この場合は各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図15に示すコンピュータ1000の記憶部1020に読み込ませ、演算処理部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
上述した各装置の各部の処理をコンピュータにより実現してもよく、この場合は各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図15に示すコンピュータ1000の記憶部1020に読み込ませ、演算処理部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、非一時的な記録媒体であり、具体的には、磁気記録装置、光ディスク、等である。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の非一時的な記憶装置である補助記録部1050に格納する。そして、処理の実行時、このコンピュータは、自己の非一時的な記憶装置である補助記録部1050に格納されたプログラムを記憶部1020に読み込み、読み込んだプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを記憶部1020に読み込み、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
Claims (6)
- 制御対象物単位には第一型制御対象物単位及び第二型制御対象物単位があり、第一型制御対象物単位及び第二型制御対象物単位のそれぞれはU個(Uは4以上の整数)の制御対象物から構成されており、
各制御対象物には初期位置及び目標位置が定められており、初期位置及び目標位置にある制御対象物から構成される構造体は、第一型制御対象物単位及び第二型制御対象物単位が組み合わさることにより2U個の制御対象物で構成される合体制御対象物単位で構成されており、
第一型制御対象物単位及び第二型制御対象物単位の制御対象物単位の周囲には、他の制御対象物単位が通過でき、制御対象物単位同士が位置を入れ替える空間があり、
制御対象物単位の初期位置をSとし、制御対象物単位の目標位置をGとして、初期位置Sと目標位置Gの共通位置をS∩Gとし、目標位置Gから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をG-S∩Gとし、初期位置Sから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をS-S∩Gとして、
初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する第一移動計画部と、
S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する第二移動計画部と、
前記第一移動計画及び前記第二移動計画に従って、制御対象物単位を移動させる移動部と、
を含む制御装置。 - 請求項1の制御装置であって、
G-S∩Gは初期位置Sによって分断された少なくとも1つの部分目標位置領域AG-S∩Gi(i=1,…,I)で構成されており、
前記第一移動計画では、
(i)前記少なくとも1つの部分目標位置領域AG-S∩Gi(i=1,…,I)のそれぞれに接するS∩G内の位置を入口位置Estage1[i](i=1,…,I)として選択し、
(ii)部分目標位置領域AG-S∩Gi(i=1,…,I)に属する位置もしくはEstage1[i]のうち、前記部分目標位置領域AG-S∩Gi(i=1,…,I)の中の制御対象物単位が存在していない空隙位置に隣接して、かつ第二制御対象物単位が存在しており、前記入口位置Estage1[i](i=1,…,I)からのG内のマンハッタン距離が最も小さい位置を先頭位置Headとして選択し、
(iii)初期位置Sに属する位置のうち、第一型制御対象物単位が残っている位置であって、前記入口位置Estage1[i](i=1,…,I)からのS内マンハッタン距離が最も小さい位置を尾部位置Tailとして選択し、
(iv)尾部位置Tailにある第一型制御対象物単位を前記前記入口位置Estage1[i](i=1,…,I)及び前記先頭位置Headを通って前記空隙位置に移動させて第二型制御対象物単位とする、
という動作が繰り返し行われる、
制御装置。 - 請求項1又は2の制御装置であって、
前記第一移動計画では、少なくとも2個の第一型制御対象物単位の移動が、前記少なくとも2個の第一型制御対象物単位が衝突しないように、並列に行われる、
制御装置。 - 請求項1から3の何れかの制御装置であって、
S-S∩Gは目標位置Gによって分断された少なくとも1つの部分初期位置領域AS-S∩Gi(i=1,…,n_A)で構成されており、
前記第二移動計画では、
(i)前記少なくとも1つの部分初期位置領域AS-S∩Gi(i=1,…,n_A)内の位置であってGに接するS-S∩G内の位置を入口位置Estage2[i](i=1,…,n_A)として選択し、
(ii)前記部分初期位置領域AS-S∩Gi(i=1,…,n_A)に第一型制御対象物単位が残っている場合には、部分初期位置領域AS-S∩Giに属する位置のうち、第一型制御対象物単位が残っている位置であって、前記入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も小さい位置を尾部位置Tailとして選択し、そうでない場合には、第二型制御対象物単位が残っている位置であって、前記入口位置Estage2[i](i=1,…,n_A)からのAS-S∩Gi内マンハッタン距離が最も大きい位置を尾部位置Tailとして選択し、
(iii)目標位置Gに属する位置であって、第一型制御対象物単位が存在しており、かつ、Gの中の第一型制御対象物単位が存在していない空隙位置に隣接している位置のうち、前記入口位置Estage2[i](i=1,…,n_A)からのG内マンハッタン距離が最も小さい位置を先頭位置Head[1]として選択し、
(iv)前記先頭位置Head[1]にある第一型制御対象物単位から前記入口位置Estage2[i](i=1,…,n_A)にある第一型制御対象物単位までの一連の第一型制御対象物単位を前記空隙位置方向に移動させ、前記尾部位置Tailにある第一型制御対象物単位又は第二型制御対象物単位を前記入口位置Estage2[i](i=1,…,n_A)に接するG内空隙位置に移動させる、
という動作が繰り返し行われる、
制御装置。 - 制御対象物単位には第一型制御対象物単位及び第二型制御対象物単位があり、第一型制御対象物単位及び第二型制御対象物単位のそれぞれはU個(Uは4以上の整数)の制御対象物から構成されており、
各制御対象物には初期位置及び目標位置が定められており、初期位置及び目標位置にある制御対象物から構成される構造体は、第一型制御対象物単位及び第二型制御対象物単位が組み合わさることにより2U個の制御対象物で構成される合体制御対象物単位で構成されており、
第一型制御対象物単位及び第二型制御対象物単位の制御対象物単位の周囲には、他の制御対象物単位が通過でき、制御対象物単位同士が位置を入れ替える空間があり、
制御対象物単位の初期位置をSとし、制御対象物単位の目標位置をGとして、初期位置Sと目標位置Gの共通位置をS∩Gとし、目標位置Gから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をG-S∩Gとし、初期位置Sから、初期位置Sと目標位置Gの共通位置S∩Gを除いた位置をS-S∩Gとして、
第一移動計画部が、初期位置Sにある第一型制御対象物単位の一部を、G-S∩Gに移動させることで、第二型制御対象物単位としてG-S∩Gを充填させるための第一移動計画を作成する第一移動計画ステップと、
第二移動計画部が、S-S∩Gにある各第一型制御対象物単位を目標位置Gに移動させたのち、S-S∩Gにある各第二型制御対象物単位を目標位置Gに移動させるための第二移動計画を作成する第二移動計画ステップと、
移動部が、前記第一移動計画及び前記第二移動計画に従って、制御対象物単位を移動させる移動ステップと、
を含む制御方法。 - 請求項1から請求項4に記載の何れかの制御装置の各部としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/025458 WO2023281625A1 (ja) | 2021-07-06 | 2021-07-06 | 制御装置、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/025458 WO2023281625A1 (ja) | 2021-07-06 | 2021-07-06 | 制御装置、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023281625A1 true WO2023281625A1 (ja) | 2023-01-12 |
Family
ID=84800490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/025458 WO2023281625A1 (ja) | 2021-07-06 | 2021-07-06 | 制御装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023281625A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140273730A1 (en) * | 2013-03-15 | 2014-09-18 | A.Q.B. Venture Capital B.V. | Element comprising sensors for detecting grab motion or grab release motion for actuating inter-element holding or releasing |
JP2019053709A (ja) * | 2017-09-15 | 2019-04-04 | 日本電信電話株式会社 | 制御装置、方法及びプログラム |
-
2021
- 2021-07-06 WO PCT/JP2021/025458 patent/WO2023281625A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140273730A1 (en) * | 2013-03-15 | 2014-09-18 | A.Q.B. Venture Capital B.V. | Element comprising sensors for detecting grab motion or grab release motion for actuating inter-element holding or releasing |
JP2019053709A (ja) * | 2017-09-15 | 2019-04-04 | 日本電信電話株式会社 | 制御装置、方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pamecha et al. | Useful metrics for modular robot motion planning | |
Chiang et al. | Modular robot motion planning using similarity metrics | |
JP6879233B2 (ja) | 制御装置、方法及びプログラム | |
JP6559591B2 (ja) | 行動制御システム、その方法及びプログラム | |
Kawano | Tunneling-based self-reconfiguration of heterogeneous sliding cube-shaped modular robots in environments with obstacles | |
WO2023281625A1 (ja) | 制御装置、方法及びプログラム | |
Moussa et al. | Cluster-based distributed self-reconfiguration algorithm for modular robots | |
JP7136365B2 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
WO2023281582A1 (ja) | 制御装置、方法及びプログラム | |
JP6685957B2 (ja) | 制御対象物位置入れ替え制御装置、制御対象物位置入れ替え制御方法、プログラム | |
JP6777661B2 (ja) | 制御装置、方法及びプログラム | |
JP6939395B2 (ja) | 制御装置、方法及びプログラム | |
Shome | Roadmaps for robot motion planning with groups of robots | |
Hołobut et al. | Distributed computation of forces in modular-robotic ensembles as part of reconfiguration planning | |
WO2022239063A1 (ja) | 制御装置、方法及びプログラム | |
WO2020039951A1 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
WO2020045022A1 (ja) | 移動ロボット、移動ロボットの制御方法及びプログラム | |
US20240077869A1 (en) | Control apparatus, hamiltonian cycle extension apparatus, these methods and programs | |
WO2023276065A1 (ja) | 制御装置、方法及びプログラム | |
JP6939396B2 (ja) | 隊列制御装置、隊列制御方法、およびプログラム | |
Yu | Expected constant-factor optimal multi-robot path planning in well-connected environments | |
JP6946933B2 (ja) | 隊列制御装置、隊列制御方法、およびプログラム | |
JP6881352B2 (ja) | 制御装置、方法及びプログラム | |
Odem et al. | A self-reconfiguration algorithm for sliding triangular modular robots | |
JP6633467B2 (ja) | 行動制御システム、行動制御方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21949261 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21949261 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |