Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR AVOIDING COLLISION OF MULTIPLE ROBOTS BY USING EXTENDED COLLISION MAP, AND STORAGE MEDIUM READABLE BY COMPUTER RECORDING THE METHOD
Document Type and Number:
WIPO Patent Application WO/2005/096114
Kind Code:
A1
Abstract:
A method for avoiding collision between robots employed in multi-robot system by using an extended collision map and a storage medium readable by a computer recording the method are disclosed. In the method, the extended collision map is created by predicting whether or not collision occurs between a higher-order robot and a lower-order robot according to a path and a velocity profile of the higher­ order robot, thereby avoiding the collision by means of the extended collision map in a multiple-robot system. The method includes the steps of : (a) determining priorities and paths of each robot in the robots employed in the multi­robot system; (b) predicting the collision between a lower­ order robot and all higher-order robots having higher priorities than the lower-order robot; (c) generating a modified velocity profile of the lower-order robot in order to avoid the collision when the collision between the lower­order robot and the higher-order robots is predicted; and (d) determining velocity profiles for said each robot in the robots employed in the multi-robot system and moving said all higher-order robots.

Inventors:
LEE BEOMHEE (KR)
Application Number:
PCT/KR2004/003092
Publication Date:
October 13, 2005
Filing Date:
November 26, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SEOUL NAT UNIV IND FOUNDATION (KR)
LEE BEOMHEE (KR)
International Classes:
G05D1/02; (IPC1-7): G05D1/02
Foreign References:
EP0415067A21991-03-06
US5150452A1992-09-22
JPH02176518A1990-07-09
JPS6093522A1985-05-25
Attorney, Agent or Firm:
Lee, Chulhee (646 Yeoksam-dong, Gangnam-g, Seoul 135-080, KR)
Download PDF:
Claims:
Claims
1. A method for avoiding collision between robots employed in multirobot system by using an extended collision map, the method comprising the steps of: (a) determining priorities and paths of each robot employed in the multirobot system; (b) predicting collisions between a lowerorder robot and all the higherorder robots having higher priorities than the lowerorder robot; (c) generating a modified velocity profile of the lowerorder robot in order to avoid the collisions when the collision between the lowerorder robot and the higherorder robots is predicted to occur; and (d) determining velocity profiles for said each robot in the robots employed in the multirobot system and moving said all higherorder robots.
2. The method as claimed in claim 1, wherein step (a) further determines start points and destinations for said each robot.
3. The method as claimed in claim 1, wherein step (c) further includes step of reconfirming whether or not the lowerorder robot moving based on the modified velocity profile collides with said all higherorder robots having the higher priorities than the lowerorder robot.
4. The method as claimed in claim 1, wherein step (b) includes the steps of: (bl) calculating lengths between all points of the path of the lowerorder robot and all points of the paths of said all higherorder robots having the higher priorities than the lowerorder robot; (b2) storing information for collision prediction points when the lengths are less than a collision length; and (b3) completing the extended collision map by means of the information for the collision prediction points.
5. The method as claimed in claim 4, wherein the information for the collision prediction points includes movement time of the higherorder robots at the collision prediction points, and a length on the path of the lower order robot predicted to collide with the higherorder robots at the movement time.
6. The method as claimed in claim 1, wherein step (c) includes the steps of: (cl) extracting information for an predicted collision region in which the collision between the lowerorder robot and the higherorder robots is predicted from the extended collision map; (c2) determining whether or not the velocity profile of the lowerorder robot passes through the predicted collision region; and (c3) modifying the velocity profile of the lowerorder robot so that the velocity profile does not pass through the predicted collision region, when the velocity profile of the lowerorder robot passes through the predicted collision region;.
7. The method as claimed in claim 6, wherein determination at step (c2) is performed by determining whether or not the velocity profile of the lowerorder robot passes through a quadrangle area including an upper end and a lower end_of the predicted collision region.
8. The method as claimed in claim 7, wherein step (c3) includes: a step of generating a first velocity profile employing a right lower end point of the quadrangle area, which includes the upper end and the lower end of the predicted collision region, as an arrival point; and a step of generating a second velocity profile employing the right lower end point of the quadrangle area as a start point.
9. The method as claimed in claim 1, wherein step (c) includes the steps of: (cl) extracting information for an predicted collision region in which the collision between the lowerorder robot and the higherorder robots having the higher priorities than the lowerorder robot is predicted from the extended collision map; (c2) determining whether or not the velocity profile of the lowerorder robot passes through the predicted collision region; and (c3) delaying a start time of the lowerorder robot when the velocity profile of the lowerorder robot passes through the predicted collision region;.
10. The method as claimed in claim 9, wherein determination at step (c2) is performed by determining whether or not the velocity profile of the lowerorder robot passes through a quadrangle area including an upper end and a lower end of the predicted collision region.
11. The method as claimed in claim 10, wherein step (c3) calculates a start delay time by computing a difference between a time point corresponding a right lower vertex of the quadrangle area and a time point at which the velocity profile of the lowerorder robot meets with a lower end of the quadrangle area, and applying the start delay time to the velocity profile.
12. The method as claimed in claim 1, wherein step (c) includes the steps of: (cl) extracting information for an predicted collision region in which the collision between the lowerorder robot and the higherorder robots having the higher priorities than the lowerorder robot is predicted from the extended collision map; (c2) determining whether or not the velocity profile of the lowerorder robot passes through the predicted collision region; (c3) applying unit delay times to the modified velocity profile until the modified velocity profile does not pass through the predicted collision region; and (c4) calculating a total delay time which is a sum of the unit delay times.
13. A method for creating an extended collision map by predicting collision between a lowerorder robot and all higherorder robots having higher priorities than the lower order robot in order to avoid the collision between robots employed in multirobot system, the method comprising the steps of: (a) determining priorities and paths of each robot in the robots employed in the multirobot system; (b) calculating lengths between all points of the path of the lowerorder robot and all points of the paths of said all higherorder robots; (c) storing information for collision prediction points when the lengths are less than a collision length; and (d) marking the collision prediction points on a graph by using the information for the collision prediction points.
14. The method as claimed in claim 13, wherein the information for the collision prediction points includes movement time of the higherorder robots at the collision prediction points, and a length on the path of the lower order robot predicted to collide with the higherorder robots at the movement time.
15. A method for avoiding collision between robots employed in multirobot system by means of an extended collision map in a system in which a plurality of paths form a crossing and collision occurs only at the crossing, the method comprising the steps of: (a) determining priorities, movement paths, start points and destinations of each robot in the robots employed in the multirobot system; (b) predicting the collision at the crossing between a lowerorder robot and all higherorder robots having higher priorities than the lowerorder robot; (c) generating a modified velocity profile of the lowerorder robot in order to avoid the collision when the collision between the lowerorder robot and the higherorder robots is predicted; and (d) determining velocity profiles for said each robot in the robots employed in the multirobot system and moving said all higherorder robots.
16. The method as claimed in claim 15, wherein step (b) includes the steps of: (bl) calculating lengths between all points of the path of the lowerorder robot and all points of the paths of said all higherorder robots having the higher priorities than the lowerorder robot, while said all higherorder robots enter into the crossing and exit from the crossing; (b2) storing information for collision prediction points when the lengths are less than a collision length; and (b3) completing the extended collision map by means of the information for the collision prediction points.
17. A method for avoiding collision between robots employed in multirobot system moving in threedimensions, the method comprising the steps of: (a) determining priorities, paths, start points and destinations of each robot in the robots employed in the multirobot system; (b) predicting the collision between a lowerorder robot and all higherorder robots having higher priorities than the lowerorder robot; (c) generating a modified velocity profile of the lowerorder robot in order to avoid the collision when the collision between the lowerorder robot and the higherorder robots is predicted; and (d) determining velocity profiles for said each robot in the robots employed in the multirobot system and moving said all higherorder robots.
18. The method as claimed in claim 17, wherein step (b) includes the steps of: (bl) calculating lengths between all points of the path of the lowerorder robot and all points of the paths of said all higherorder robots having the higher priorities than the lowerorder robot; (b2) storing information for collision prediction points when the lengths are less than a collision length; and (b3) completing the extended collision map by means of the information for the collision prediction points.
19. A storage medium storing a program for performing a method according to one of claims 1 to 18, which can be read by a computer.
Description:
METHOD FOR AVOIDING COLLISION OF MULTIPLE ROBOTS BY USING EXTENDED COLLISION MAP, AND STORAGE MEDIUM READABLE BY COMPUTER RECORDING THE METHOD

Technical Field

The present invention relates to a method for avoiding collision between robots employed in multi-robot system by using an extended collision map and a storage medium readable by a computer recording the method. More particularly, the present invention relates to a method for avoiding collision between robots employed in multi-robot system by using an extended collision map, in which the extended collision map is created by predicting whether or not collision occurs between a higher-order robot and a lower-order robot according to a path and a velocity profile of the higher-order robot, thereby avoiding the collision by means of the extended collision map in a multiple-robot system, and a storage medium readable by a computer recording the method.

Background Art

Generally, robots may be simply defined as machines capable of operating like the hand or foot of a human. More strictly, robots may be simply defined as intelligent machines obeying commands. Further, robots may also be defined as a machine capable of automatically operating once being programmed by a human. Robots have been utilized in various fields: as industrial robots for working in place of a human, medical robots used for surgical operations, home-use robots for helping with housework, toy robots for children, and so on. Further, if transport means (e.g., cars and airplanes) are automatically controlled by computer program, the transport means may be referred to as a kind of robot. In a robot system having a plurality of operating units such as an industrial robot including a plurality of arms, one operating unit may collide with other operating units. Further, when a plurality of individual robots move along a path, the robots may collide with one another. Accordingly, it is necessary to provide a motion planning for determining a movement path, a movement time or velocity of each operating unit or each robot so that the operating units or the individual robots can move without colliding with one another. The motion planning may break down into a path planning and a trajectory planning. The path planning is to determine a movement path of a robot regardless of time, and the trajectory planning is to determine the degree of movement in consideration of a time factor. Specifically, it can be understood that multi-robots refers to a robot system which includes a plurality of operating units and an entity operating or moving individually or collectively in a space similarly to a set of a plurality of individual robots. Widely known methods used for a basic path planning for movement of a robot include a roadmap method, a cell decomposition method, a potential field method, etc. The roadmap method is a method for setting paths by means of a roadmap. The roadmap is obtained by connecting free spaces of a robot on a network connected by a first- order curve. When the roadmap is formed, the roadmap is used as a set of standardized paths. The path planning simply results in a connection between a start point and an arrival point. A formed path includes a trinity of connections of sub-paths. That is, the trinity of connections includes a connection between the start point and the roadmap, a connection on the roadmap, and a connection between the roadmap and the arrival point. A lot of methods basically employ the roadmap method for the path planning. The roadmap method may be classified into a visibility graph method, a retraction method, a freeway method, a silhouette method, etc. For better understanding of the roadmap method, the visibility graph method will now be described as an example. FIG. 1 is a diagram illustrating the visibility graph method of the roadmap method used for the path planning. FIG. 1 shows the visibility graph method formed in a space having three obstacles. The dotted line connects a start point and an arrival point with a roadmap. The visibility graph method, which is an initial path planning method, employs vertexes, start points and arrival points of all obstacles as nodes. As illustrated in FIG. 1, the link on a graph includes straight lines connecting two nodes which do not pass through the inside of the obstacle. Herein, the edge of the obstacle is also included in the link. In this way, the shortest path between the start point and the arrival point is determined. Next, the cell decomposition method will be described herein below. According to the cell decomposition method, it decomposes a free space of a robot into simple areas called cells, thereby easily generating a path between two points in the cells. The cell decomposition method may be classified into an exact method and an approximate method. The exact method will be described as an example herein below. FIGs. 2a through 2e are diagrams illustrating the cell decomposition method by the exact method from among the methods used for the path planning. Given a free space including three obstacles as illustrated in FIG. 2a, the exact method decomposes the free space into cells of lozenges and triangles and numbers the cells in sequence as illustrated in FIG. 2b. Then, the exact method makes a connection graph and draws a path between a start point and an arrival point on the connection graph as illustrated in FIG. 2c. Further, the exact method draws oblique lines in cells corresponding to the path on the connection graph, and completes the path by joining midpoints of the cells hatched by the oblique lines between the start point and the arrival point. However, the roadmap method and the cell decomposition method as described above require many experiential factors and include a large number of lattices dividing the free space, thereby increasing the computational complexity. Last, the potential field method will be described herein below. The potential field method establishes the path planning by means of repulsion from an obstacle and attraction toward a destination. Each entity is repulsed by an obstacle and other entities and is attracted toward an arrival point. FIG. 3 is a diagram illustrating the potential field method from among the methods used for the path planning. FIG. 3a shows two obstacles in a free space, FIG. 3b shows attraction potential with an arrival point, and FIG. 3c shows repulsion potential with the obstacle. Further, FIG. 3d shows a combination of the attraction potential with the repulsion potential. An entity beginning from a start point moves along valleys from a high potential to a low potential. The valleys are joined to one another to form a path. Though the potential field method is more efficient than any other methods and regarded as optimal since it converges very quickly, it may fall into a local minima of a potential function. An entity having fallen into the local minima may get into an infinite loop in which the entity cannot escape from the area and continuously stays around. A method, which is based on the basic path planning method as described above and applied to the path planning of the multi-robots, includes a centralized planning method and a decoupled planning method. The centralized planning method is a method for controlling each robot by a main computer. Accordingly, the centralized planning method creates a composite configuration space of a single robot by multiplying configuration spaces of each robot, and controls a path of an individual robot. Herein, a sum of orders of configuration spaces of each robot becomes an order of the composite configuration space, thereby increasing the order. Therefore, computation is complicated and difficult. In addition, much time is required. Meanwhile, the decoupled planning method is a method for reducing a computational complexity unlike the path planning of the multi-robots. That is, the decoupled planning method independently establishes paths for each robot and considers interaction between the paths. This method has a merit of a fast computation speed but a demerit of possible failure in the path planning. As described above, a variety of methods for avoiding collision of a robot have been proposed based on the basic path planning method and the path planning method for the multi-robots. U. S patent No. 5,150,452 discloses a method for generating a spatial map and a collision prediction map including a movement path of a robot, thereby avoiding collision. The method disclosed in U.S patent No. 5,150,452 generates lattices and determines whether or not collision occurs in each lattice by means of a combination of a logical exclusive OR and a non-logical exclusive OR. However, this method must generate a plurality of lattices and determine whether collision occurs in each lattice. Therefore, the method must generate the lattices by experience and perform large volume of computations for each lattice. Consequently, when the number of robots increases or a space is wide, it is difficult to perform efficient collision avoidance. U. S patents No. 5,179,329 and 5,568,030 disclose a collision prevention method of a mobile robot system for preventing mobile robots from colliding with one another in the mobile robot system including a plurality of mobile robots and a controller for controlling these mobile robots. This method establishes a map approach node, an operation node and a transit node in a map, determines a collision probability in each node, and controls paths of the mobile robots. However, this method must individually determine existence or absence of collision for a plurality of nodes, thereby causing a computational complexity. In particular, when both the number of the mobile robots existing in the mobile robot system and the number of the nodes on the map increase, the computation becomes increasingly complicated. As described above, conventional methods for avoiding collision between robots have a disadvantage in that performance of the collision avoidance is degraded as the number of the mobile robots increases. Further, since a technology for real-time operation of the multi-robots corresponds to a matter of non-linear control, the computation is complicated and the computation outcome suffers from a high error rate. Recently, a robot technology has been applied from airplanes, cars, trains, etc., which are automatically controlled, to industrial robots having multiple arms. However, a method for avoiding collision between robots employed in multi-robot system has not been sufficiently developed up to now. Accordingly, it is necessary to provide an effective realtime control method for preventing collision between robots employed in multi-robot system. Disclosure of the Invention

Therefore, the present invention has been made in view of the above-mentioned problems, and it is an object of the present invention to provide an extended collision map in which an predicted collision region between a higher-order robot and a lower-order robot is determined according to a velocity profile of the higher-order robot in a multiple- robot system. It is another object of the present invention to provide a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map, in which it is possible to prevent the multi- robots from colliding with one another by controlling a velocity profile of a lower-order robot by means of the extended collision map. It is further another object of the present invention to provide a collision prediction algorithm for estimating collision between a higher-order robot and a lower-order robot and a collision avoidance algorithm for avoiding collision between the higher-order robot and the lower-order robot. It is still another object of the present invention to provide a storage medium readable by a computer storing a collision avoidance method for preventing collision between robots employed in multi-robot system by means of an extended collision map. According to one aspect of the present invention, there is provided a method for avoiding collision between robots employed in multi-robot system by using an extended collision map, the method comprising the steps of: (a) determining priorities and paths of each robot employed in the multi-robot system; (b) predicting collisions between a lower-order robot and all the higher-order robots having higher priorities than the lower-order robot; (c) generating a modified velocity profile of the lower-order robot in order to avoid the collisions when the collision between the lower-order robot and the higher-order robots is predicted to occur; and (d) determining velocity profiles for said each robot in the robots employed in the multi-robot system and moving said all higher-order robots. According to another aspect of the present invention, there is provided a method for creating an extended collision map by predicting collision between a lower-order robot and all higher-order robots having higher priorities than the lower-order robot in order to avoid the collision between robots employed in multi-robot system, the method comprising the steps of: (a) determining priorities and paths of each robot in the robots employed in the multi- robot system; (b) calculating lengths between all points of the path of the lower-order robot and all points of the paths of said all higher-order robots; (c) storing information for collision prediction points when the lengths are less than a collision length; and (d) marking the collision prediction points on a graph by using the information for the collision prediction points. According to further another aspect of the present invention, there is provided a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map in a system in which a plurality of paths form a crossing and collision occurs only at the crossing, the method comprising the steps of: (a) determining priorities, movement paths, start points and destinations of each robot in the robots employed in the multi-robot system; (b) predicting the collision at the crossing between a lower-order robot and all higher-order robots having higher priorities than the lower-order robot; (c) generating a modified velocity profile of the lower- order robot in order to avoid the collision when the collision between the lower-order robot and the higher-order robots is predicted; and (d) determining velocity profiles for said each robot in the robots employed in the multi- robot system and moving said all higher-order robots. According to still another aspect of the present invention, there is provided a method for avoiding collision between robots employed in multi-robot system moving in three-dimensions, the method comprising the steps of: (a) determining priorities, paths, start points and destinations of each robot in the robots employed in the multi-robot system; (b) predicting the collision between a lower-order robot and all higher-order robots having higher priorities than the lower-order robot; (c) generating a modified velocity profile of the lower-order robot in order to avoid the collision when the collision between the lower-order robot and the higher-order robots is predicted; and (d) determining velocity profiles for said each robot in the robots employed in the multi-robot system and moving said all higher-order robots. According to yet another aspect of the present invention, there is provided a storage medium storing a program for performing the aforementioned methods, which can be read by a computer.

Brief Description of the Drawings

The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which: FIG. 1 is a diagram illustrating a visibility graph method used for a path planning; FIGs. 2a through 2e are diagrams illustrating a cell decomposition method by an exact method from among methods used for a path planning; FIG. 3 is a diagram illustrating a potential field method from among methods used for a path planning; FIG. 4 is a diagram illustrating whether or not collision occurs according to movement of each robot in two- robot system; FIG. 5 is a graph drawing a predicted collision region in a trajectory of a lower-order robot in two-robot system; FIG. 6 is a flow diagram illustrating a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map according to a preferred embodiment of the present invention; FIG. 7 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates in detail a method for generating a new velocity profile of a lower-order robot through a collision avoidance algorithm; FIG. 8 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map according to a preferred embodiment of the present invention, which shows a collision prediction algorithm for predicting whether or not collision occurs between a target robot and all higher-order robots having higher priorities than the target robot; FIG. 9 is a diagram of a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map according to a preferred embodiment of the present invention, which illustrates information for a collision prediction point and a method for creating a collision map by means of the information; FIG. 10 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing a speed reduction method; FIG. 11 is a diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a method for avoiding collision by means of a collision avoidance algorithm employing a speed reduction method; FIG. 12 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing a time delay method; FIG. 13 is a diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a method for avoiding collision by means of a collision avoidance algorithm employing a time delay method; FIG. 14 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing a minimum time delay method; and FIG. 15 is a diagram of a method for avoiding collision between robots employed in multi-robot system by using an extended collision map according to a preferred embodiment of the present invention, which illustrates a process for applying a minimum time delay method.

Best Mode for Carrying Out the Invention

Reference will now be made in detail to the preferred embodiments of the present invention. It is noted that the same reference numerals are used to designate the same elements as those shown in other drawings. In the following description of the present invention, a detailed description of known configurations and functions incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. A motion planning of a robot for avoiding collision includes a path planning and a trajectory planning. A collision avoidance method for multi-robots may be classified into a first collision avoidance method through a path modification and a second collision avoidance method through a velocity tuning. According to the path modification method, a path of at least one robot from among the robots employed in multi-robot system is controlled at a location where collision is predicted, thereby avoiding the collision. According to the velocity tuning method, a movement velocity of at least one robot from among the robots employed in multi-robot system is controlled at a location where collision is predicted, thereby avoiding collision. However, since these collision avoidance methods raise a non-linear issue, it is very difficult to acquire an exact or an analytic solution. A collision avoidance method using a collision map is proposed based on the problem as described above. The collision .map may be regarded as a tool devised for avoiding collision when applying the velocity tuning method, which shows paths of each entity and trajectory information on a graph for tuning velocity. A basic collision map proposed as a collision avoidance method for two robots is disclosed on "Collision-Free Motion Planning of Two Robots (IEEE Trans. Syst., Man, Cybern., vol. SMC-17, pp 21-31, Jan. /Feb. 1987)" of B.H.LEE and C.S.G.LEE. Hereinafter, the collision avoidance method through the velocity tuning method will be described with reference to FIG. 4. FIG. 4 is a diagram illustrating whether or not collision occurs according to movement of each robot in two- robot system. A robot 402 and a robot 404 are shaped like circles having predetermined radii. It is assumed that a start point and an arrival point are predetermined and the robot 402 has a priority higher than that of the robot 404. Accordingly, the robot 402 having the higher priority must move along an initial path 406 of the robot 402 according to a planned velocity profile, and the robot 404 having the lower priority should move along an initial path 408 of the robot 404 but while varying its velocity profile. Then, environment in which the two robots 402 and 404 move may be simplified as illustrated in FIG. 4a. In FIG. 4a, a radius R of a circle is sum of a radius Ri of the robot 402 and a radius R2 of the robot 404. When it is assumed that a virtual robot 410 having the radius R, which is obtained by summing up the radius Ri of the robot 402 and the radius R2 of the robot 404, moves along the initial path 406 of the robot 402 having the higher priority according to a velocity profile identical to that of the robot 404, it may be predicted that the robot 402 collides the robot 404 when the virtual robot 410 meets with the initial path 408 of the robot 404. In FIG. 4a, a length of a portion in which paths of the virtual robot 410 and the robot 404 overlap is a collision length at a specific time. This collision length is used for completion of a collision map. FIG. 4b is a diagram geometrically illustrating whether the robot 402 collides with the robot 404 or not. Hereinafter, whether the robot 402 collides with the robot 404 or not will be described with reference to FIG. 4b. In FIG. 4b, a pi(k) is a point at which the robot 402 is located at time k. The initial path 408 of the robot 404 may be expressed by equation 1.

Equation 1 P2 = p2(k0)+Δ(p2(kf)-p2(ko) )

When a length between the pi(k) and the initial path 408 of the robot 404 is smaller than or equal to the radius of the virtual robot 410, the robot 402 may collide with the robot 404 at time k. That is, the robot 402 may collide with the robot 404 only when the circle representing the virtual robot 410 intersects with the initial path 408 of the robot 404. Further, when equation 2 has a real root, the robot 402 may collide with the robot 404.

Equation 2 (R1+R2)2 = I l Pi(k)-p2 I I2

When equation 1 is put into p2 of equation 2, equation 3 may be obtained.

Equation 3 (R1+R2)2 = {pi(k)-p2(ko)-Δ(p2(kf)-p2(ko) ) }τ •{pi(k)-p2(k0)-Δ(p2(kf)-p2(k0)) }

A predicted collision region according to FIG. 4 may be drawn as illustrated in FIG. 5 for a trajectory of the robot 404. FIG. 5 is a diagram illustrating the predicted collision region in the trajectory of the robot having a lower priority in the two-robot system. FIG. 5 shows a collision map for the robot 404. According to the collision map, the horizontal axis represents time, the vertical axis represents a traveled length, and collision lengths obtained for each time are marked by a graph. When the trajectory of the robot 404 penetrates the predicted collision region, the robot 404 collides with the robot 402. Accordingly, it is necessary to modify the velocity profile of the robot 404 and allow the trajectory of the robot 404 to avoid the predicted collision region. That is, the velocity profile of the robot 404 is controlled to escape from region information (also referred to as 'collision box' ) of a quadrangle including the upper limits and the lower limits of a time and a length of the predicted collision region. The collision map for two robots as described above has limitations in that it can only be applied for a couple of entities and it is fixed with respect to the velocity profile of the robot 402 having the priority. Further, there are also restrictions in that all paths of the robots 402 and 404 must be straight lines. In order to overcome these limitations and restrictions, the present invention provides a method for avoiding collision between robots employed in multi-robot system by means of an extended collision map. Each robot in the multi-robots has its priorities. Accordingly, a lower-order robot having a low priority creates a collision map for paths of all higher-order robots having the higher priorities. The total sum of all collision maps simply constitutes the extended collision map. In the extended collision map, a velocity profile of the lower-order robot modifies according to modify in a velocity profile of the higher-order robots. An existing collision map can be applied only when two robots move along straight paths. However, the extended collision map can be applied not only to multiple entities but also to all paths including straight lines and curved lines. The method for avoiding the collision between the robots employed in multi-robot system by means of the extended collision map according to the present invention includes an individual collision prediction algorithm and an individual collision avoidance algorithm. FIG. 6 is a flow diagram illustrating the method for avoiding the collision between the robots employed in multi- robot system by means of the extended collision map according to a preferred embodiment of the present invention. This method will be described on an assumption that the total number of entities in a multiple robot system is N. In order to apply the method, a priority, a start point, a destination and a path are determined for each robot employed in the multiple robot system (S602) . The path along which each robot is to move is determined in advance before the method is applied. That is, the path along which each robot is to move is determined in advance, similarly to a car moving on a predetermined road or arms of an industrial robot operating along predetermined paths. Further, the highest-order robot moves along a path of the highest-order robot according to an initial velocity profile. That is, the highest-order robot moves itself regardless of a lower-order robot. Accordingly, the lower-order robot must be controlled to avoid collision with the highest-order robot. Since the highest-order robot moves along its own path regardless of the lower-order robot, the method according to the present invention is applied to a second-order robot and the next-order robots (S604) . Then, it is predicted whether or not an nth order robot collides with all the higher-order robots by means of the collision prediction algorithm (S606) . The collision prediction algorithm calculates length between all points (target points may be determined at predetermined intervals) on paths of the higher-order robot and the lower-order robot and determines whether the calculated lengths are less than a collision length or not. Herein, the collision length represents a length in which a higher-order robot collides with a lower-order robot. When it is assumed that the higher-order robot and the lower-order robot are shaped like circles, a sum of radii of the higher-order robot and the lower-order robot corresponds to the collision length. Herein, whether or not the nth order robot collides with the highest-order robot to an (n-l)th order robot is predicted. When a higher-order robot predicted to collide with the nth order robot exists through the collision prediction algorithm, a new velocity profile for the nth order robot is generated in order to prevent the nth order robot from colliding with all the higher-order robots (S608) . When occurrence of collision is predicted for all robots, it is determined whether or not the collision avoidance has been finally performed up to the nth order robot because a modified velocity profile must be generated (S610) . When it is determined that the collision avoidance has not been performed up to the nth order robot, the collision avoidance and the collision prediction are performed for an (n+l)th order robot again (S612) . After generating the modified velocity profile for the collision prediction and the collision avoidance up to the nth order robot, all robots simultaneously move based on the new velocity profiles (S614) . Hereinafter, the method for avoiding the collision between the robots employed in multi-robot system by means of the extended collision map illustrated in FIG. 6 will be described in detail with reference to FIG. 7. FIG. 7 is a flow diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates in detail a method for generating a new velocity profile of a lower-order robot through the collision avoidance algorithm. The same descriptions already given with FIG. 6 will be omitted and the method for generating the new velocity profile of the lower-order robot through the collision avoidance algorithm will be described herein below. It is determined whether or not collision between the nth order robot and all the higher-order robots is likely to happen by using the collision prediction algorithm (S702) . If no collision is predicted, it is determined whether or not the collision avoidance has been performed up to the nth order robot (S710) . If collision is predicted, a new velocity profile for the nth order robot is generated for the collision avoidance (S704) . As the new velocity profile for the nth order robot has been generated, the nth order robot potentially collides with other higher-order robots according to modify in the velocity profile of the nth order robot, which has not been likely before creation of the new velocity profile. Accordingly, it becomes possible that collision between the nth order robot and all the higher-order robots occurs due to the new velocity profile (S706) . Then, it is determined whether or not the nth order robot moving based on the newly- generated velocity profile collides with the higher-order robots (S708) . When collision is predicted, the velocity profile of the nth order robot is modified again, thereby generating a new velocity profile (S704) . When it is finally determined that the nth order robot does not collide with all the higher-order robots, the new velocity profile of the nth order robot is confirmed. Then, it is determined whether or not the collision prediction and the collision avoidance have been performed for all the robots (S710) . When velocity profiles for all the robots are determined, all the robots simultaneously move according to the determined velocity profile. The present invention can be applied even when a new robot is added to the multiple robot system. That is, it is possible to determine a priority, a start point, a destination and an addition time of the newly added robot, create an extended collision map at that time, and predict and avoid collision. Hereinafter, the collision prediction algorithm will be described. FIG. 8 is a flow diagram of a method for avoiding collision between robots employed in multi-robot system by means of the extended collision map according to a preferred embodiment of the present invention, which shows the collision prediction algorithm for predicting whether or not collision occurs between a target robot and all higher-order robots having higher priorities than the target robot. The collision prediction algorithm is for calculating lengths between points on a path of the target robot and points on paths of all the robots having priorities higher than a priority of the target robot, and determining whether the calculated lengths are less than a collision length or not. In FIG. 8, an nth order robot represents the target robot and an mth order robot represents robots having priorities higher than the priority of the target robot. Herein, the m includes integer numbers from 1 to (n-1) . First, lengths between all points on the paths of the mth order robot and all points on the path of the target robot are calculated (S802) . Then, it is determined whether or not these calculated lengths are less than the collision length (S804) . Herein, the collision length represents a length in which the mth order robot collides with the target robot. When it is assumed that the mth order robot and the target robot are shaped like circles, a sum of radii of the mth order robot and the target robot corresponds to the collision length. It is preferred that calculation for lengths between all points on the paths of the mth order robot and all points on the path of the target robot is performed for all points on the path of the target robot with respect to a predetermined point on the paths of the mth order robot. However, the scope of the present invention is not limited to this method. In establishing the collision length, it is also allowed to additionally set a safety length for ensuring stability, extending compared to the collision length considering the shape and size of each robot and margin. When it is determined that the calculated lengths are less than the collision length, information for a collision prediction point is stored in order to complete a collision map (S806) . The information for the collision prediction point includes time information of the mth order robot and location information for the path of the target robot at a point at which collision is predicted. Hereinafter, the time information of the mth order robot and the location information for the path of the target robot will be described as the information for the collision prediction point with reference to FIG. 9. FIG. 9 is a diagram of the method for avoiding the collision between the robots employed in multi-robot system by means of the extended collision map according to a preferred embodiment of the present invention, which illustrates the information for the collision prediction point and a method for creating a collision map by means of the information. In FIG. 9 (a), it is assumed that lengths between a point Pi(tc) on the path of the mth order robot and points p2(a), p2(b), p2(c) and P2(d) on the path of the target robot are less than the collision length. Then, when the mth order robot stays in the point pi(tc) and the target robot stays in the points p2(a), p2(b), P2(c) and p2(d), the mth order robot collides with the target robot. This may be shown as illustrated in FIG. 9(b) . In the collision map, a horizontal axis represents a time and a vertical axis represents a traveled length of the target robot. If the target robot passes through the collision prediction point at a specific time tc, the target robot collides with the mth order robot. Accordingly, it is necessary to prevent the target robot from passing through the collision prediction point at time tc. After the information for the collision prediction point is stored, it is determined whether or not the calculation for the lengths between all points on the path of the mth order robot and all points on the path of the target robot has been completed (S808) . When the calculation is not completed, the procedure returns to step 802. However, when the calculation is completed, the collision prediction is performed for all robots having priorities higher than the priority of the target robot (S810) . When there exists a higher-order robot for which the collision prediction has not been performed, the prior steps are repeated in order to estimate collision between the higher-order robot and the target robot (S812) . When the collision prediction between the higher-order robot and the target robot has been finally completed, the collision map is completed (S814) . Herein, a sum of collision maps of individual robots may be referred to as the extended collision map. This collision map is used for the collision avoidance algorithm. According to the collision prediction algorithm as described above, it is determined whether lengths between all points on paths of each robot are less than the collision length or not. However, when collision probability is estimated in advance, it is also possible to perform collision prediction based on a point at which collision is estimated. For example, when a plurality of cars move on a road and each of the cars moves along a predetermined lane, collision between the cars may occur in a place in which paths of the cars intersect. In this case, the prediction of collision can be given simply by predicting collisions at the intersection. That is, only while a higher-order car having a high priority enters into or exits from an intersection, it is also possible to determine whether the higher-order car collides with a lower-order car or not. Accordingly, when collision is predicted only in an intersection of each path such as a road system for cars, the collision can be predicted based on the intersection, thereby reducing the amount of calculation for collision prediction. Since a path of each robot is initially determined, it is not sufficient to use the collision avoidance method through the path modification as a collision avoidance method. Instead, the collision avoidance method through the velocity tuning should be used. The collision avoidance method through the velocity tuning may be used in various ways according to the setting of a velocity profile. The present invention proposes a speed reduction method, a time delay method and a minimum time delay method. FIG. 10 is a flow diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing the speed reduction method. FIG. 11 is a diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a method for avoiding collision by means of the collision avoidance algorithm employing the speed reduction method. Hereinafter, the collision avoidance algorithm employing the speed reduction method will be described with reference to FIG. 10. For the purpose of description, the collision avoidance algorithm is applied to two-robot system. First, quadrangle region information including an predicted collision region is extracted from a collision map having been created through the collision prediction algorithm (S1002) . The quadrangle region information including the predicted collision region is expressed by a quadrangle formed by interconnecting the upper limits and the lower limits of the predicted collision region. It is determined whether a velocity profile of a target robot passes through a quadrangle area or not (S1004) . When the velocity profile of the target robot does not pass through the quadrangle area, additional steps are not required and the collision avoidance algorithm ends (S1012) . However, when the velocity profile of the target robot passes through the quadrangle area, the target robot and a higher-order robot collides with each other. Accordingly, it is required to avoid the collision between the target robot and the higher-order robot. The collision avoidance algorithm employing the speed reduction method generates a new velocity profile between a start point and a point in which collision is predicted, avoids the collision by controlling the target robot into decreasing the speed or into stopping at the collision prediction point, and controlling the target robot at moving toward an initial destination again. Thereafter, a first velocity profile is generated, which employs a right lower end point of the quadrangle area as an arrival point (S1006) . A second velocity profile is generated, which employs a right lower end point of the quadrangle area as a start point and employs the original arrival point as an arrival point (S1008) . Herein, the velocity profile may have a shape of a trapezoid drawn by movement from a stationary state through accelerated movement and movement with a constant velocity and then decelerated movement. Of course, the velocity profile may- have other various shapes. The first velocity profile and the second velocity profile generated in this way are combined with each other, thereby obtaining a modified velocity profile for avoiding the collision (SlOlO) . Referring to FIG. 11a, a second-order robot is passing through the predicted collision region. Accordingly, the collision is avoided by generating and using the first velocity profile, which employs the right lower end point of the quadrangle area as the arrival point, and the second velocity profile employing the right lower end point of the quadrangle area as the start point, as illustrated in FIG. lib. FIG. 12 is a flow diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing the time delay method. FIG. 13 is a diagram of the method for avoiding the collision between the robots employed in multi- robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a method for avoiding collision by means of the collision avoidance algorithm employing the time delay method. The collision avoidance algorithm employing the time delay method allows a target robot to escape from the predicted collision region by moving the target robot rightward without a modification in a shape of a velocity profile. First, quadrangle region information including the predicted collision region is extracted from a collision map having been created through the collision prediction algorithm (S1202) . The quadrangle region information including the predicted collision region is expressed by a quadrangle formed by interconnecting the upper limits and the lowest limits of the predicted collision region. It is determined whether a velocity profile of a target robot passes through a quadrangle area or not (S1204) . When the velocity profile of the target robot does not pass through the quadrangle area, additional steps are not required and the collision avoidance algorithm ends (S1212) . However, when the velocity profile of the target robot passes through the quadrangle area, the target robot and a higher-order robot collides with each other. Accordingly, it is required to avoid the collision between the target robot and the higher-order robot. A start delay time is calculated in order to avoid the collision (S1206) . The start delay time may be calculated by a difference between a time point at a right lower vertex of the quadrangle area and a time point at which the velocity profile meets with a lower end of the quadrangle area. Then, the start delay time is applied to the existing velocity profile, so that the target robot is prevented from colliding with a higher-order robot (S1208) . When it is predicted that the target robot collides with the higher-order robot as illustrated in FIG. 13a, the start delay time is applied to the velocity profile of the target robot, thereby moving the velocity profile rightward as illustrated in FIG. 13b. Therefore, the collision can be avoided. Herein, since the time delay method as described above uses the quadrangle region information including the predicted collision region, the amount of calculation is small and the calculation is simple. However, a wasted time delay occurs. Accordingly, in order to minimize a delay time, the following minimum time delay method may be used. Further, according to the minimum time delay method, the amount of calculation increases, but it does not matter when a computer having a fast calculation speed is used. FIG. 14 is a flow diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a collision avoidance algorithm employing the minimum time delay method. FIG. 15 is a diagram of the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to a preferred embodiment of the present invention, which illustrates a process for applying the minimum time delay method. Hereinafter, the collision avoidance algorithm employing the minimum time delay method will be described with reference to FIG. 14. First, information for an predicted collision region is extracted from a collision map (S1402) . Then, it is determined whether a velocity profile of a target robot passes through the predicted collision region or not (S1404) . When the velocity profile of the target robot does not pass through the predicted collision region, the total delay time is zero. Accordingly, it is not necessary to adjust the velocity profile. However, when the velocity profile of the target robot passes through the predicted collision region, unit delay time dτ is applied to the velocity profile (S1406) . The unit delay time may be variously set from several microseconds to several tens or several hundreds of seconds according to characteristics of multiple robot system to which the present invention is applied. However, the scope of the present invention is not limited to the aforementioned values. Then, it is determined again whether the velocity profile of the target robot having moved for the unit delay time passes through the predicted collision region or not (S1404) . When it is determined that collision does not occur, a new velocity profile reflecting the total delay time is generated and the collision avoidance algorithm ends (S1408) . Referring to FIG. 15, it can be understood that the delay time is reduced by Δt when a velocity profile, which has the total delay time td, is finally generated by means of the minimum time delay method, as compared with the case of simply employing the time delay method. The collision avoidance algorithm as described above performs collision avoidance in such a manner that it is based on initial velocity profiles of each robot and modifies the velocity profiles. However, in an embodiment of the present invention, it is noted that various velocity tuning techniques may be used in addition to the collision avoidance algorithm as described above. For example, instead of delaying start, simultaneous start may be employed at an initial stage while the movement speed is decreased to be slower than that when the collision occurs, so that the velocity profile of the robot is prevented from passing through an predicted collision region. In the above embodiments, two robots are described. However, it is noted that the method for avoiding the collision between the robots employed in multi-robot system by using the extended collision map according to the present invention can be used regardless of the number of robots as described above. Specifically, the method according to the present invention can be applied to a robot moving in three- dimensions as well as a robot moving in two-dimensions. This is because the extended collision map according to the present invention is created by calculating lengths between paths of each robot and determining whether the calculated lengths are less than a collision length or not. Consequently, the method of the present invention is good for collision avoidance of a robot (e.g., airplane) moving in three-dimensions as well as a robot (e.g., car) moving in two-dimensions. Therefore, the method is an effective collision avoidance method. Hereinafter, a description will be given on a storage medium readable by a computer storing a program for the collision avoidance method for preventing collision between the robots employed in multi-robot system by means of the extended collision map according to the present invention method. The storage medium readable by the computer may include an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, equipment or apparatus, or electric wave medium, but the scope of the present invention is not limited to the system, equipment or apparatus, or the electric wave medium. The storage medium readable by the computer may include the following specific examples. That is, the storage medium readable by the computer includes an electrical connection unit having one or more wires, a diskette of a portable computer, a Random Access Memory (RAM), a Read Only Memory (ROM), an Electrically Erasable Programmable Read Only Memory (EEPROM) , a flash memory, an optic fiber, a portable Compact Disk-Read Only Memory (CD- ROM) , etc. In order to print program, the program may be electrically captured through optically scanning of a sheet of paper or another medium, and may be processed through a compiling, an analysis or by another proper scheme, if the situation requires, before being stored in a computer memory. Therefore, the storage medium readable by the computer may be a sheet of paper or another proper medium. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiment and the drawings, but, on the contrary, it is intended to cover various modifications and variations within the spirit and scope of the appended claims.

Industrial Applicability

According to the present invention as described above, a velocity profile of a lower-order robot is controlled according to priorities by means of an extended collision map in multi-robots, thereby avoiding a collision. Specifically, a collision avoidance method of a robot according to the prior art cannot completely solve a mathematically non-linear problem. Further, in case of multi-robots, it is difficult to control the multi-robots. In contrast, according to the present invention, it is possible to enable robots to move along their own path within an optimal time while preventing the robots from colliding with one another regardless of the number of the robots. Further, according to the present invention, it is possible to prevent multi-robots from colliding with one another by means of a collision prediction algorithm even when paths of the multi-robots are not straight lines. Furthermore, the present invention proposes an effective method for collision avoidance. More specifically, according to a minimum time delay method, it is possible to reduce a start delay time of a lower-order robot. Moreover, the present invention can be effectively used for an automatic adjustment or collision avoidance control of cars, trains or airplanes, operation and control of industrial robots having a plurality of arms, etc, so that it can be effectively utilized for upcoming ubiquitous environments.