WO2019045284A1 - 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇 - Google Patents

객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
WO2019045284A1
WO2019045284A1 PCT/KR2018/008650 KR2018008650W WO2019045284A1 WO 2019045284 A1 WO2019045284 A1 WO 2019045284A1 KR 2018008650 W KR2018008650 W KR 2018008650W WO 2019045284 A1 WO2019045284 A1 WO 2019045284A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
path
cost information
cell
grid map
Prior art date
Application number
PCT/KR2018/008650
Other languages
English (en)
French (fr)
Inventor
최지은
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2019045284A1 publication Critical patent/WO2019045284A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Definitions

  • the present invention relates to a method of moving a robot while maintaining an interval with an object, and a technique relating to a robot implementing the method.
  • robots can move based on information about a given space. In this process, the robot can create a path to avoid obstacles and move. This shows that robots need to avoid obstacles, such as walls and doors, and moving objects, which are new obstacles, while traveling from the current location to the target location.
  • a moving path is not necessarily set in a straight line.
  • a structure that is bent or bent due to the arrangement of fixed objects or moving objects it is necessary for the robot to move while maintaining distance from obstacles. Therefore, in the present specification, a method of avoiding obstacles and increasing the efficiency of the movement route in the course of generating the movement path of the robot will be described.
  • the present invention proposes a method of avoiding a collision with an obstacle in a complex spatial arrangement of a plurality of obstacles, but increasing a moving speed.
  • the robot sets a path
  • the sensing part of the robot provides a method of reducing a blind spot in which an obstacle can not be sensed.
  • a method of moving a robot while maintaining spacing between objects includes a first setting step of setting cost information of a cell in which a fixed object is placed using a grid map stored in a map storage unit, A second setting step in which the control unit sets cost information of a cell adjacent to the fixed object, a control unit configured to set cost information of cells for which cost information is not set in the grid map based on cost information of a cell in which adjacent cells and fixed objects are arranged And a path generation step of generating a path based on the cost information of the cells constituting the grid map by the robot.
  • a method of moving a robot while maintaining spacing between objects includes a step of generating a path having a predetermined distance from a fixed object using a grid map stored in a map storage unit of the robot, A step of moving the robot based on the created path, a step of sensing an object not stored in the grid map by the sensing unit of the robot, and a step of, when the object is adjacent to the path, And a second path generation step of generating a path having the second path.
  • the robot includes a sensing unit for sensing an obstacle disposed outside, a grid map for storing a position of a fixed object in a space where the robot moves, and a map storage A control unit that controls the sensing unit, the map storage unit, the moving unit, and the work unit, and generates a path that the robot moves with a preset distance from the fixed object, And stores it in a map storage unit.
  • the robot can generate the contour line grid map by applying the cost information of the cells (grids) stepwise differently around the wall / fixed obstacle to generate the robot travel path.
  • the robot can move at a distance from the obstacle, thereby increasing the moving speed of the robot.
  • a path can be efficiently generated in an environment in which a plurality of round structures are arranged.
  • FIG. 1 is a block diagram illustrating a configuration of a robot according to an embodiment of the present invention.
  • FIG. 2 and FIG. 3 are diagrams illustrating a configuration of a grid map stored in a map storage unit according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a process of setting cost information in a grid map that is primarily generated by a controller of a robot according to an embodiment of the present invention.
  • 5 and 6 are views illustrating an example of setting cost information according to the height of the sensing units of the robot and the height of the fixed object according to an embodiment of the present invention.
  • FIGS. 7 and 8 are diagrams for setting cost information of adjacent cells of a cell in which a stationary object is arranged according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating a process of generating a global path in a grid map including cost information according to an embodiment of the present invention.
  • FIG. 10 is a view showing paths generated by an embodiment of the present invention.
  • 11 and 12 are views illustrating a process of changing a path when a robot senses a new object according to an embodiment of the present invention.
  • FIG. 13 and 14 are views showing a process and a grid map of the robot moving with a certain distance from the obstacles according to another embodiment of the present invention.
  • 15 is a diagram illustrating a process of generating a route when a new obstacle is arranged adjacent to an existing object according to an embodiment of the present invention.
  • FIG. 16 is a diagram illustrating a process of generating a path when a new obstacle according to an embodiment of the present invention is placed on an existing object.
  • the terms first, second, A, B, (a), (b), and the like can be used. These terms are intended to distinguish the components from other components, and the terms do not limit the nature, order, order, or number of the components.
  • the global path means a path from the starting position or the current position of the robot to the target point by using a starting point.
  • the local path refers to a path newly created by the robot in the course of traveling along a global path or a newly created local path and is a path that the robot detects and generates surrounding obstacles with a certain period .
  • the robot may calculate the shortest path.
  • the shortest path converges to the wall following method due to the placement of objects, there is a problem that the speed of the robot is slowed down.
  • the robot since the robot moves close to the wall, the robot can not recognize a new object (moving obstacle, etc.) located behind the object such as a wall, for example, There is a problem that obstacles that are sensed to the maximum are detected and moved.
  • the space in which the robot moves is implemented as a grid map, and a cost is added on the grid map by reflecting information such as the distance from the fixed object or the fixed object based on the fixed object, And the like.
  • an object i.e., an obstacle
  • a communication unit 300 for exchanging information with an external server or other external robot for exchanging information with an external server or other external robot
  • a work unit 320 for performing a work by the robot.
  • the communication unit 300 and the interface unit 330 may be optionally included in the robot or not.
  • the sensing unit 100 refers to various types of sensors that sense the presence, distance, and characteristics of an external object.
  • the sensing unit 100 includes a ladder sensing unit 110, a depth sensing unit 120 for calculating a depth value, and at least one auxiliary sensing unit 130.
  • the auxiliary sensing unit 130 may include a vision sensing unit for calculating vision information, an infrared (IR) sensing unit, and an ultrasonic sensing unit.
  • the robot may more accurately detect an external obstacle by using two or more sensing parts.
  • the sensing unit 100 mainly includes an external object (such as an object or a robot, such as a person or a person) disposed outside using the RIDOS sensing unit 110 and the depth sensing unit 120, An obstacle that may collide).
  • an external object such as an object or a robot, such as a person or a person
  • the Lidar sensing unit 110 may sense an object of a specific height and the depth sensing unit 120 may sense objects of various heights. However, since the depth sensing unit 120 has a shorter recognition range than the Rada sensing unit 110, it shows an embodiment of fusing two sensor data.
  • an infrared sensing unit may be used instead of the lidar sensing unit 110.
  • a plurality of infrared sensing units may be disposed, infrared rays may be transmitted at a certain angle, and an object may be sensed in a point manner, such as the Rada sensing unit 110, according to characteristics of received signals.
  • the point method is a method of identifying an external object by calculating a point where the infrared signal is transmitted and received.
  • the infrared sensing unit can be used instead of the depth sensing unit 120.
  • the infrared sensing unit may be disposed at various heights of the robot 500 so that height information of objects in a forward direction or objects in a certain distance may be sensed among the objects sensed by the sensing unit 110, The information of the sensed objects and the information sensed by the sensing unit 110 may be combined to generate a two-dimensional or three-dimensional map.
  • the map storage unit 200 of FIG. 1 stores the robot's movement path on the grid map and the grid map, which stores the position of the fixed object in the space where the robot moves.
  • the map storage unit 200 stores cost information of each cell due to the positions of the objects disposed in the space in which the robot moves and the positions of the objects.
  • the cost information of each cell means the possibility of the robot avoiding or colliding with the obstacle when moving the corresponding cell or the possibility of moving adjacent to the obstacle. In a cell where the cost is zero or the cost is low, the robot is far away from obstacles such as stationary objects or moving objects.
  • the map storage unit 200 also stores path information generated by reflecting the cost information of each cell.
  • the path information and the cost information may be updated or added by the controller 400 when the robot senses a new object not stored on the map.
  • the map stored in the map storage unit 200 may be generated by reflecting the position information of the objects sensed by the sensing unit 100 during the movement of the robot 500.
  • the robot 500 shown in FIG. 1 generates a grid map in a contour line based on information (a type of environment information) of a fixed object (wall / fixed obstacle). Then, the robot 500 applies the cost of the grid (grid) step by step according to the distance from the environment information, generates the path according to the cost applied differently by the contour line method, and travels to the part where the empty space is large. This will be described in more detail.
  • FIG. 2 and FIG. 3 are diagrams illustrating a configuration of a grid map stored in a map storage unit according to an embodiment of the present invention.
  • the position of the obstacle in the entire space can be identified as 11 in Fig. If the entire space is divided by a predetermined cell, a grid map as shown in FIG. 2 can be formed. If the values of the cell with the obstacle and the cell without the obstacle are set differently based on 12 in FIG. 2, it can be a grid map.
  • controller 400 may set cost information for each cell based on the distance to the objects, the height of the object, and the like in the grid map generated primarily as shown in 12 of FIG.
  • FIG. 3 is a view showing a grid map including cost information according to an embodiment of the present invention.
  • the range of values that can be assigned as cost information is 0 (or a specific minimum value) to 9 as one embodiment. 0 ", or a cell having the minimum cost value, the cost information is not separately described in the drawing for convenience of explanation.
  • the fixed object of FIG. 2 is indicated by the same position cell in FIG.
  • the robot can not move, so the highest cost (for example, 9) can be allocated.
  • the highest cost for example, 9
  • the robot can not move, so the highest cost (for example, 9) can be allocated.
  • the other part of the fixed object can be confirmed using the sensing part 100, or a fixed object having a characteristic that other obstacles are unlikely to appear suddenly Objects can allocate lower costs.
  • the fixed objects hatched in FIG. 3 are allocated with cost information of 9 and 8.
  • Cells assigned to 9 are structurally difficult to identify new obstacles in the process of the mobile follow-up where the stationary objects are located.
  • the cells allocated to 8 are structurally easy to identify new obstacles in the process of mobile follow-up even though fixed objects are placed.
  • the center portion was set to a value of "8". This is because the robot can easily identify the new obstacle at the center of the stationary object where the robot is placed in a straight line.
  • the end of the fixed object indicated by 19 is set to a value of "9" since it is difficult to identify obstacles appearing on the opposite side in the moving process of the robot.
  • the cost information can be set to a value of " 4 " That is, the cell located on the side contacting the fixed object allocates the cost information of the value of 5 small " 4 ", and the cell located on the diagonal direction with the fixed object can allocate the cost information of 6 small value.
  • Cells adjacent to these cells are also assigned a value less than 5, 0 or less than 0. Cells with a value of 0 are not shown separately.
  • the path through which the robot can more easily distinguish the obstacle from the obstacle can be avoided.
  • obstacles that suddenly appear to travel at a certain distance from the stationary object may be more easily avoided than traveling along the side of the stationary object (for example, the wall).
  • the speed of the robot may be slowed down in the process of sensing the obstacle or performing the wall follow-up, but the speed of the robot may be accelerated if the robot moves at regular intervals with the fixed object.
  • a grid-like grid map can be implemented in a process of efficiently defining a space.
  • a path in which a shortest path moves adjacent to a wall can be derived.
  • the route close to the wall has a high risk of collision, and there is a problem that the travel time is rather increased because there are many motion changes in order to perform obstacle avoidance motion.
  • the robot generates a contour line grid map by stepwise applying cost information of cells (grids) around the wall / fixed obstacle and generates a contour line grid map based on the contour line- And sets the global path.
  • the robot sets the route away from the fixed object or the moving object, that is, in a direction in which the empty space is large, so that the obstacle avoidance is reduced, and efficient traveling is enabled.
  • efficient path generation is possible without any additional processing in an environment where a plurality of round structures are arranged.
  • the controller 400 sets the cost information of the cell in which the fixed object is placed using the grid map stored in the map storage unit 200, sets the cost information of the cell adjacent to the fixed object ,
  • the cost information of the cells in which the cost information is not set in the grid map is set based on the cost information of the cells in which the adjacent cells and the stationary objects are arranged so that the cost information is gradually decreased based on the cells in which the stationary objects are arranged have.
  • FIG. 4 is a diagram illustrating a process of setting cost information in a grid map that is primarily generated by a controller of a robot according to an embodiment of the present invention.
  • FIG. 3 illustrates a process of generating a grid map in which cost information having an embodiment of FIG. 3 is combined using the map shown in FIG.
  • the control unit 400 confirms the shape of the fixed objects disposed in the map storage unit 200.
  • the controller 400 sets the cost information of the cell in which the fixed object is arranged according to the shape of the fixed object (S31). In the case where the height information of the fixed object is confirmed and the height of the fixed object is a height covering the entire sensing portion 100 of the robot, it is difficult for the sensing portion 100 of the robot to overcome the fixed object and to sense other obstacles.
  • the cost information of the < RTI ID 0.0 >
  • the cost information of the fixed object is set low.
  • the robot can not pass through the robot but it is a height at which other objects can move and sense the approach.
  • the shape of the fixed object has no bend and the shape of the long object is unlikely that the moving object, which the robot can not detect, suddenly approaches the robot. Therefore, cost information can be set lower in the center of this fixed object.
  • the controller 400 After assigning cost information to all fixed objects, the controller 400 sets cost information for the cells adjacent to the fixed objects (S32). At this time, the control unit 400 controls the cost information to be set in the adjacent cells in a stepwise manner based on the cost information set for the adjacent fixed object.
  • the cost information set in the fixed object is Cost_obstacle
  • the cost information of the neighboring cells has a value smaller than a preset reference value of Cost_obstacle.
  • different cost information can be set for a cell tangentially touching a cell in which the stationary object is disposed, and a cell tangentially touching the stationary object.
  • the control unit 400 sets the cost information for all the cells in the space to which the robot should move, and then generates a path (S33).
  • a path We use the information about the robot's current position, the target point (Goal, G), and the gateway point (Pass, P) that the robot must pass in the space where the robot should move, Can be set.
  • the robot 500 moves according to the generated path.
  • the cost information of each cell can be changed corresponding to the position of a new obstacle (moving object or unfixed fixed object, etc.) on the grid map. That is, if the robot senses a new object in the moving process, the robot can change the cost information of the cell at the sensed position and change the path when the object needs to be changed (S35).
  • the process of FIG. 4 is summarized as follows.
  • the control unit 400 sets the cost information of the cell in which the fixed object is arranged using the grid map stored in the map storage unit 200 (S31). Then, the controller 400 sets cost information of a cell adjacent to the fixed object (S32). In addition, the control unit sets the cost information of the cells for which the cost information is not set in the grid map based on the cost information of the cells in which the adjacent cells and the fixed objects are arranged (S33). When the cost information of the cells on the grid map is determined, the control unit 400 generates a path based on the cost information of the cells constituting the grid map (S33).
  • the robot When the robot senses a new object (obstacle) that is not stored in the grid map in the moving process, the robot changes the cost information of the cell at the sensed position and changes the path (S35). This will be described with reference to FIG. 11 and FIG.
  • 5 and 6 are views illustrating an example of setting cost information according to the height of the sensing units of the robot and the height of the fixed object according to an embodiment of the present invention.
  • the height of the fixed object 1 is a shape that covers all the sensing parts 110, 120, 130a, 130b, and 130c.
  • the robot can not confirm the access status of other obstacles by the fixed object 1 at all, the robot can have a slow running speed in order to avoid collision when moving.
  • the cost information of the cell corresponding to the fixed object 1 can be set to a high value (for example, " 9 ") as indicated by 37.
  • the LIDAR sensing part 110, the depth sensing part 120 and the first auxiliary sensing part 130a are not covered by the fixed object 2 among the various sensing parts of the robot 500. Therefore, even if the robot 500 moves close to the fixed object 2, the robot 500 can quickly approach other obstacles by using the Lada sensing unit 110, the depth sensing unit 120, and the first auxiliary sensing unit 130a Sensing can be performed. Thus, the robot can move faster.
  • the cost information of the corresponding cell can be set to a lower value (for example, "7") than the case 37 in FIG.
  • the setting of cost information for adjacent cells can also be done in various ways. For example, a cell adjacent to a face of a cell in which a fixed object is disposed and a cell adjacent to a corner may have cost information differently.
  • the controller 400 may set the cost information of the cell in which the fixed object is arranged according to the height or shape of the fixed object. If the height of the fixed object is low or the height of the fixed object does not cover a part of the sensing unit 100 of the robot, the sensing unit 100 can be set to be lower than the cost information of the fixed object covering the entire sensing unit. In addition, if the distance between the fixed object and the fixed object is narrow, or if the fixed object is bent or bent, the cost information can be set correspondingly.
  • FIGS. 7 and 8 are diagrams for setting cost information of adjacent cells of a cell in which a stationary object is arranged according to an embodiment of the present invention.
  • the cost information of the cell in which the fixed object is placed is set to " 9 ".
  • Adjacent cells of the cell in which the fixed object is placed may be assigned a value smaller than the cost information of the fixed object.
  • the control unit 400 sets the cost information to a higher value, " 8 ", in the dead zone 41a where the robot can not easily sense other moving objects among the adjacent cells.
  • the control unit 400 sets cost information that the one of the four sides of the cell touches the fixed object and the cells 41b adjacent to the blind spot indicated by 41a are " 6 ".
  • cost information of " 5 " is assigned to the cells whose one side of the four sides of the cell is tangent to the fixed object and other fixed objects or cells not touching the dead zone 41a are indicated by 41.
  • the control unit 400 sets high cost information in the dead zone 41a so that the robot does not select the corresponding cell in the process of generating the path So that the running efficiency of the robot can be increased.
  • the cost information in which the fixed object is placed is set to " 9 ".
  • Adjacent cells of the cell in which the fixed object is placed may be assigned a value smaller than the cost information of the fixed object.
  • the robot should avoid collision. Therefore, the area indicated by 42a becomes a blind spot where the robot can not quickly sense when the moving object in the area where the robot can not sense approaches.
  • the control unit 400 allocates a value of 6, which is high cost information, as shown in 41 for the blind cell 42a.
  • the distance from the blind zone 42a to the center of the fixed object 42 is farther from the robot 42, so that the robot can quickly sense the moving object. Therefore, the cost information of " 5 " is allocated to the cell in contact with the blind spot 42a, and the cost information of " 4 " is allocated to the cell farther from the blind spot 42a.
  • FIG. 8 shows an embodiment in which cost information of neighboring cells is allocated in the case where a fixed object having a large number of bends or warps is arranged.
  • the control unit 400 allocates "9" as cost information of the cell in which the fixed object is placed, and assigns the cost information as "6" to the cells corresponding to the blind spot.
  • control unit 400 has one surface in contact with the fixed object, but all of the other areas are open spaces, so that the cost information of the cells where the robot easily senses the moving object approaching in the other direction is " 3 " .
  • the cost information of cells constituting fixed objects (cost information allocated to 9) or blocked spaces (indicated in 44a) is allocated to " 8 ". Further, a cell adjacent to 44a is assigned " 7 " as cost information smaller than 44a. In addition, as shown in FIG. 7, neighboring cells that are in contact with a fixed object or difficult to move objects can be assigned smaller cost information. For example, the cells indicated by 44b are allocated with cost information of " 4 " since the robot can easily sense the moving object using the sensing unit 100 or the moving object is a cell that is unlikely to appear suddenly.
  • the controller 400 sets cost information of the cells in which the fixed objects are arranged and sets different cost information in the adjacent cells due to the shape and position of the fixed object. Therefore, even if the robot is adjacent to the fixed object, the cost information is set low for the cell in which the robot can sense the moving object in the other direction, and the cost information is set high in the opposite blind spot. 5 and 6 that the controller 400 sets the cost information differently using the height information of the fixed object.
  • the cost information of the adjacent cells from the fixed object and the cost information of the fixed object can be configured to be greatly different from each other when the robot moves closer to the wall. This is to keep the robot at a certain distance from the wall but not too far.
  • cost information of the adjacent cells from the fixed object and cost information of the fixed object can be configured to have a small difference. This causes the cost information to gradually decrease with distance from the fixed object.
  • the generation method of the grid map is applied to a case where it is more efficient for the robot to travel with a large distance from the wall.
  • control unit 400 can increase the cost information in proportion to the number of faces contacting the fixed object, or increase the cost information in the blind spot due to the fixed object.
  • the meaning of increasing the cost information means that a higher value is set as the cost information set in the cell.
  • the controller 400 sets a lower value than the cost information of the cell corresponding to the fixed object as the cost information of the cell corresponding to the blind spot.
  • FIG. 9 is a diagram illustrating a process of generating a global path in a grid map including cost information according to an embodiment of the present invention.
  • the global path may include a destination point G and optionally a gateway point P1, P2, P3, as described above.
  • the control unit 400 generates a route around a gateway point and a target point at a start point where the robot is located, and selects a cell having the lowest cost information in the process.
  • the control unit 400 may selectively generate a gateway point reflecting the characteristics of a task performed by the robot (S51). Then, a global path that moves from the starting point to the target point is generated by reflecting the cost information and the location of the gateway point of each cell of the grid map. In more detail, the control unit determines the order of the gate points connecting the target point at the start point (S52).
  • the controller 400 may reflect the location of the fixed objects disposed between the gateway points and the cost information of the cells.
  • the control unit 400 When the order is determined, the control unit 400 generates a path from the start point to the next gateway point in accordance with the determined order (S53).
  • Path generation is performed based on the robot operation and the cost information of each cell. Then, the control unit 400 calculates the cost of the generated path (S54). The cost of the path is calculated by summing the cost information of the cells arranged in the path. When the calculated cost reaches a preset reference (S55), the robot stores the route (S56).
  • control unit 400 generates a path from the calculated gate point to the next gate point (S59) and repeats steps S54 to S58.
  • the robot can generate a path by reflecting the cost information of each cell from the poetic point to the target point, and the robot moves around the cells having the lowest cost, that is, The efficiency can be increased.
  • the length of the route can also be reflected in cost calculation.
  • all the cells in the grid map can have at least one cost information set.
  • the cost information increases when the number of cells that the robot has to pass through is increased. Therefore, the control unit 400 can increase the efficiency of traveling while preventing the route from being lengthened while traveling in a cell having many vacant spaces. If the speed of the robot is high, the minimum cost information (reference value) that the cell can have can be set to a lower value (0.5)
  • the control unit 400 determines a starting point and a target point to generate a path, generates a first path made up of cells connecting the determined starting point and the target point, collects cost information of the cells, . Thereafter, when the cost of the first path reaches a preset reference, the first path is stored in the map storage unit 200 of the robot. If the preset reference is not reached, the control unit 400 can generate the path again. Alternatively, it is possible to accumulate and store the generated routes, and then select the route with the smallest cost.
  • control unit 400 may determine one or more gateway points between the start point and the target point. Then, a starting cell and a terminating cell are determined from the starting point, one or more gate points and target points, and a path from the starting cell to the terminating cell is calculated. This will be described with reference to FIG.
  • FIG. 10 is a view showing paths generated by an embodiment of the present invention. The path was created to pass through cells with as low a cost as possible.
  • the control unit can determine one or more gateway points (P1, P2, P3) from the starting point S to the target point G, and can generate respective paths constituting the respective points have. For example, you can create a sub path that connects S-P1, P1-P2, P2-P3, and P3-G with the global path connecting S-P1-P2-P3-G.
  • P1, P2, P3 gateway points
  • control unit can determine the start cell and the end cell among the start point, one or more gate points and target points.
  • the path of S-P1 may be a start cell and a end cell, respectively.
  • P3 and G can be the start cell and the end cell, respectively.
  • control unit 400 generates a 1-1 route composed of cells connecting the start cell and the end cell, and calculates the cost of the 1-1 route.
  • the control unit 400 may store the first route in the map storage unit 200 so as to configure the global route. The process of generating these sub-paths is repeated for P1-P2, P2-P3, and P3-G.
  • the robot can sense a new moving object in the process of moving the robot based on the generated path.
  • the robot can update the cost information of the grid map based on the sensed moving object, and then generate a new path.
  • a case in which a moving object is sensed in a robot moving region in an area indicated by 61 in FIG. 10 will be described with reference to FIGS. 11 and 12.
  • FIG. 11 a case in which a moving object is sensed in a robot moving region in an area indicated by 61 in FIG. 10 will be described with reference to FIGS. 11 and 12.
  • 11 and 12 are views illustrating a process of changing a path when a robot senses a new object according to an embodiment of the present invention.
  • the control unit 400 changes the cost information of the cell of the grid map based on the position of the object sensed by the control unit 400, A path for avoiding a path is generated.
  • 61a shows a state in which a new object is sensed in a process of moving based on a path generated by the robot.
  • the new object that is sensed can be a moving object or a fixed object that does not move.
  • the moving unit 310 of the robot senses an object that is not stored in the grid map in the process of moving to the generated path.
  • the control unit 400 changes the cost information of the cell of the grid map and the cost information of the adjacent cells of the corresponding cell based on the position of the sensed object as shown in 61b. As in 61c, the control unit 400 generates a path that avoids the sensed object based on the changed cost information.
  • the cost information of the cells of the grid map can be set differently according to the shape and position of the sensed object in the course of sensing the object by the controller 400.
  • FIG. 11 is applicable to a case where the sensed new object is of such a size as to cover the sensing of the sensing unit 100 of the robot, as shown in the embodiment of FIG.
  • FIG. 12 shows an object in which the sensing unit of the robot senses a low-height object as shown in FIG. 6, in which case the controller 400 of the robot can set cost information of a cell corresponding to the position of the sensed object, .
  • a new object is sensed in the process of moving based on the generated path of the robot.
  • the controller 400 of the robot sets the cost information of the cell of the grid map corresponding to the position of the sensed object like 61e and changes the cost information of the neighboring cells.
  • Cost information of " 5 " is set according to characteristics such as the size of the sensed object is low or the height is low, so that the cost information of adjacent cells is also assigned a value of 1 or 2.
  • control unit 400 can configure the movement path as 61f, unlike 61c of FIG.
  • the comparison between 61c in FIG. 11 and 61f in FIG. 12 is as follows.
  • the control unit 400 may sum up the cost information of the cell through which the robot passes when calculating the cost of the path of the robot.
  • the robot can move more efficiently if the number of cells included in the path has the basic cost information.
  • the path including the cell with high cost information shows that the robot can not move efficiently. Accordingly, the robot can select a path (see 61 c in FIG. 11) or a path (see 61 f in FIG. 12) passing around the newly sensed object according to the characteristics of the newly sensed object.
  • the controller 400 sets the cost information of the cell at the sensed position to a higher value so as to move farther away from the object Can be set. That is, even if the height of the sensed object does not cover a part of the sensing unit 100 of the robot, high cost information of " 9 " is set so that the robot can move closer to the fixed object than the moving object.
  • control unit 400 when generating a path through which the robot passes between the sensed object and the fixed object, the control unit 400 can generate a path close to the fixed object. This is because the fixed object has been confirmed not to move.
  • control unit may set the cost information by setting the fixed object and the sensed object as one obstacle.
  • 11 and 12 can be applied in addition to the case where a new object is sensed on the path. That is, when a new object is sensed adjacent to the path and thus the cost information of the cell on the path is changed, the control unit 400 can generate a new path based on the changed cost information.
  • FIGS. 13 and 14 are views showing a process and a grid map of the robot moving with a certain distance from the obstacles according to another embodiment of the present invention.
  • a path is generated such that the robot maintains a predetermined distance from the obstacles and moves.
  • the control unit 400 of the robot generates a path having a preset distance from the fixed object using the grid map stored in the map storage unit 200 of the robot S71. Then, the robot moves based on the generated path (S72).
  • the controller 400 When the sensing unit 100 senses an object that is not stored in the grid map (S73), the controller 400 generates a path having a distance from the sensed object when the sensed object is adjacent to the path (S74 ).
  • the robot can generate a path by setting the distance between the obstacle (fixed object) of the grid map and the cell of two cells as a separation distance.
  • the spacing distance can be variously set, and when the fixed objects are densely arranged, the control unit 400 can reduce the separation distance.
  • the controller 400 If the distance between two closely spaced objects arranged in an area 80 where the objects are closely arranged, for example, two or more fixed objects disposed in the grid map is smaller than twice the distance, the controller 400 generates a path can do.
  • the distance between fixed objects is 2 cells.
  • the cell distance of two cells is smaller than the cell of four cells which is twice the separation distance. Therefore, the robot can not secure a distance of 2 cells from any fixed object.
  • the control unit 400 may generate a path passing through the center point between the fixed objects.
  • FIG. 15 is a diagram illustrating a process of generating a route when a new obstacle is arranged adjacent to an existing object according to an embodiment of the present invention.
  • the area 81 of FIG. 14 will be described with reference to FIG.
  • a new object is sensed (81a). If the distance between the newly sensed object and the fixed object is smaller than twice the separation distance, the control unit 400 generates a path close to the fixed object (81b). Since the newly sensed object is likely to move, the robot can generate a path close to the fixed object.
  • FIG. 16 is a diagram illustrating a process of generating a path when a new obstacle according to an embodiment of the present invention is placed on an existing object.
  • the area 81 of FIG. 14 will be described with reference to FIG.
  • a new object is sensed (81c). If the distance between the sensed object and the fixed object is smaller than the distance that the robot can pass, the controller 400 sets the fixed object and the sensed object as one obstacle, and the path having the distances from the obstacle is denoted as 81d .
  • the robot generates an efficient route and moves the robot by generating the map in a contour line method (a method of lowering the moving cost of the robot as the distance increases from the obstacle) independently of the algorithm of changing the route. Therefore, when the embodiment of the present invention is applied, an efficient optimal path can be derived rather than a shortest path.
  • a contour line method a method of lowering the moving cost of the robot as the distance increases from the obstacle
  • the embodiment of the present invention When the embodiment of the present invention is applied, it is possible to provide a safe path to the robot more in the process of sensing the new object and changing the path in the global path or in the middle.
  • various dynamic obstacles often appear and disappear in a complicated space, a curved space, and a large space.
  • the shortest path may increase the possibility of collision with an obstacle.
  • the present invention when the present invention is applied, it is possible to prevent the robot from reducing the speed in order to avoid the collision occurring in the blind spot, and to generate a path that does not pass through the blind spot as much as possible.
  • the present invention is not necessarily limited to these embodiments, and that all the elements within the scope of the present invention Or may be selectively coupled to one or more of them.
  • all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware.
  • the codes and code segments constituting the computer program may be easily deduced by those skilled in the art.
  • Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention.
  • the storage medium of the computer program includes a magnetic recording medium, an optical recording medium, and a storage medium including a semiconductor recording element.
  • a computer program embodying the present invention includes a program module that is transmitted in real time through an external device.
  • sensing unit 200 map storage unit
  • control unit 500 robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 객체와 간격을 유지하며 로봇을 이동시키는 방법은 로봇의 제어부가 맵저장부에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정하는 제1 설정단계, 상기 제어부가 상기 고정 객체에 인접한 셀의 코스트 정보를 설정하는 제2 설정단계, 상기 제어부가 상기 그리드맵에서 상기 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 상기 인접한 셀 및 상기 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정하는 제3 설정단계, 및 상기 로봇이 상기 그리드맵을 구성하는 셀들의 코스트 정보에 기반하여 경로를 생성하는 경로 생성 단계를 포함한다.

Description

객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇
본 발명은 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 대규모 유동인구 공간에서 로봇은 주어진 공간에 대한 정보에 기반하여 이동할 수 있다. 이 과정에서 로봇은 장애물을 회피하는 경로를 생성하고 이동할 수 있다. 이는 로봇이 현재 위치에서 타겟 지점까지 도달하는 과정에서 벽, 문 등 고정된 객쳉와 새로운 장애물인 이동 객체를 회피하여 주행하는 것이 필요함을 보여준다.
그런데, 대규모 유동인구 공간에는 반드시 직선 형태로만 이동 경로가 설정되지 않으며 또한 고정 객체나 이동 객체들의 배치로 인하여 휘어지거나 굴곡된 구조인 경우 로봇은 장애물과 거리를 유지하며 이동하는 것이 필요하다. 따라서, 본 명세서에서는 로봇이 이동 경로를 생성하는 과정에서 장애물 회피와 이동 경로의 효율성을 높이는 방안에 대해 살펴본다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 장애물이 다수 배치되거나 복잡한 공간 구성에서 로봇이 장애물과의 충돌을 회피하되 이동 속도를 높이는 방안을 제시한다.
또한. 본 명세서에서는 로봇이 경로를 설정함에 있어서 로봇의 센싱부가 장애물을 센싱하지 못하는 사각 지대를 줄이는 방안을 제시한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 객체와 간격을 유지하며 로봇을 이동시키는 방법은 로봇의 제어부가 맵저장부에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정하는 제1 설정단계, 제어부가 고정 객체에 인접한 셀의 코스트 정보를 설정하는 제2 설정단계, 제어부가 그리드맵에서 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 인접한 셀 및 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정하는 제3 설정단계, 및 로봇이 그리드맵을 구성하는 셀들의 코스트 정보에 기반하여 경로를 생성하는 경로 생성 단계를 포함한다.
본 발명의 다른 실시예에 의한 객체와 간격을 유지하며 로봇을 이동시키는 방법은 로봇의 제어부가 로봇의 맵저장부에 저장된 그리드맵을 이용하여 고정 객체와 미리 설정된 이격거리를 가지는 경로를 생성하는 제1경로 생성 단계, 생성된 경로에 기반하여 로봇이 이동하는 단계, 로봇의 센싱부가 그리드맵에 저장되지 않은 객체를 센싱하는 단계, 및 제어부가 센싱된 객체가 경로에 인접한 경우 센싱된 객체와 이격 거리를 가지는 경로를 생성하는 제2경로 생성 단계를 포함한다.
본 발명의 또다른 실시예에 의한 로봇은 외부에 배치된 장애물을 센싱하는 센싱부, 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 그리드맵과 그리드맵 상에서 로봇의 이동 경로를 저장하는 맵저장부, 로봇을 이동시키는 이동부, 로봇이 작업을 수행하는 작업부, 및 센싱부와 맵저장부와 이동부와 작업부를 제어하며, 로봇이 고정 객체와 미리 설정된 이격 거리를 가지고 이동하는 경로를 생성하여 맵저장부에 저장하는 제어부를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇은 벽/고정 장애물 주위에 셀들(격자들)의 코스트 정보를 단계적으로 달리 적용하여 등고선 방식의 그리드맵을 생성하여 로봇의 이동 경로를 생성할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 로봇은 장애물과 거리를 유지하며 이동할 수 있으므로 로봇의 이동 속도를 높일 수 있도록 한다.
또한, 본 발명의 실시예들을 적용할 경우 라운드 형태의 구조물이 다수 배치된 공간의 환경에서 효율적으로 경로를 생성할 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 맵저장부에 저장되는 그리드맵의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇의 제어부가 1차적으로 생성된 그리드맵에 코스트 정보를 설정하는 과정을 보여주는 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 의한 로봇의 센싱부들의 높이와 고정 객체의 높이에 따라 코스트 정보를 달리 설정하는 예를 보여주는 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 의한 고정 객체가 배치된 셀의 인접한 셀의 코스트 정보를 설정하는 도면이다.
도 9는 본 발명의 일 실시예에 의한 코스트 정보를 포함하는 그리드맵에서 전역 경로를 생성하는 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의해 생성된 경로를 보여주는 도면이다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 로봇이 새로운 객체를 센싱한 경우에 경로를 변경하는 과정을 보여주는 도면이다.
도 13 및 도 14는 본 발명의 다른 실시예에 의한 로봇이 장애물들과 일정한 거리를 유지하며 이동하는 과정 및 그리드맵을 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 새로운 장애물이 기존의 객체에 인접하게 배치된 경우의 경로를 생성하는 과정을 보여주는 도면이다.
도 16은 본 발명의 일 실시예에 의한 새로운 장애물이 기존의 객체에 붙어서 배치된 경우의 경로를 생성하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 사용할 용어들을 정의한다. 전역 경로(Global path)는 로봇의 시작 위치 또는 현재 위치를 출발점(Starting Point)로 하여 목적지점(Target Point)까지의 경로를 의미한다.
로컬 경로(Local path, 지역 경로)는 로봇이 전역 경로 또는 새로 생성한 로컬 경로를 따라 주행하는 과정에서 새롭게 생성하는 경로를 의미하며, 로봇이 일정한 주기를 가지고 주위의 장애물을 감지하여 생성하는 경로이다.
전역 경로 및 로컬 경로를 생성하는 과정에서 로봇은 최단 경로를 산출할 수도 있다. 그러나 객체들의 배치로 인해 최단 경로가 월 팔로잉(Wall Following) 방식으로 수렴하는 경우 로봇의 속도가 느려지는 문제가 있다. 특히 월 팔로잉 과정에서는 로봇이 벽에 가까이 이동함으로 인해, 벽과 같은 객체의 뒤쪽, 예를 들어 로봇이 감지하지 못하는 영역에 있는 새로운 객체(이동 장애물 등)를 확인할 수 없기 때문에 로봇은 센싱부를 이용하여 최대한 센싱되는 장애물들을 판별하며 이동하는 문제점이 있다. 따라서, 본 명세서에서는 로봇이 이동할 공간을 그리드맵으로 구현하되 고정 객체를 기준으로 고정객체 또는 고정객체로부터의 거리 등의 정보를 반영하여 그리드맵 상에서 코스트(cost)를 부가하여 로봇이 경로를 설정할 수 있도록 하는 방안을 제시한다.
도 1은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(500)의 구성요소로 외부에 배치된 객체(즉, 장애물)를 센싱하는 센싱부(100), 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 맵저장부(200), 로봇을 이동시키는 이동부(310), 외부 서버 혹은 외부의 다른 로봇과 정보를 교환하는 통신부(300), 그리고 로봇이 작업을 수행하는 작업부(320)를 포함한다.
또한 각 구성요소들을 제어하며 로봇이 고정 객체와 미리 설정된 이격 거리를 가지고 이동하는 경로를 생성하여 맵저장부(200)에 저장하는 제어부(400)와 로봇의 동작 상태를 출력하고 외부로부터 입력되는 지시를 수신하는 인터페이스부(330)를 포함한다. 실시예에 따라 통신부(300) 및 인터페이스부(330)는 선택적으로 로봇에 포함될 수도 있고 포함되지 않을 수도 있다.
센싱부(100)는 외부 사물의 존재 혹은 거리, 특성 등을 센싱하는 다양한 종류의 센서들을 의미한다. 본 발명의 실시예들을 적용할 경우, 센싱부(100)는 라이다 센싱부(110), 뎁스 값을 산출하는 뎁스 센싱부(120), 하나 이상의 보조 센싱부(130)를 포함한다. 보조 센싱부(130)는 비전 정보를 산출하는 비전 센싱부, 적외선(IR) 센싱부, 초음파 센싱부 등을 포함할 수 있다. 로봇은 둘 이상의 센싱부들을 이용하여 보다 정확하게 외부의 장애물을 감지할 수도 있다.
본 명세서에서의 일 실시예에서 센싱부(100)는 전술한 다양한 센싱부들 중에서 주요하게 라이다 센싱부(110)와 뎁스 센싱부(120)를 이용하여 외부에 배치된 객체(사물 또는 사람 등 로봇이 충돌할 수 있는 장애물)을 감지한다.
물론, 전술한 다양한 센싱부를 결합할 수 있는데, 예를 들어 라이다 센싱부(110)와 비전 센싱부, 또는 적외선 센싱부와 뎁스 센싱부(120), 초음파 센싱부와 라이다 센싱부(110), 혹은 각각의 센싱부들을 독자적으로 사용하여 외부의 객체를 감지할 수 있다.
라이다(Lidar) 센싱부(110)는 특정한 높이의 객체를 센싱할 수 있으며, 뎁스(Depth) 센싱부(120)는 다양한 높이의 객체를 센싱할 수 있다. 다만, 뎁스 센싱부(120)는 라이다 센싱부(110) 보다 인식하는 범위가 짧기 때문에 두 센서 데이터를 융합하는 실시예를 보여준다.
본 발명의 다른 실시예에 의하면, 라이다 센싱부(110)가 센싱한 결과와 뎁스 센싱부(120)가 센싱한 결과를 결합하여 2차원 또는 3차원 맵을 생성할 수 있다. 이 과정에서 라이다 센싱부(110) 대신 적외선 센싱부를 이용할 수도 있다. 예를 들어, 적외선 센싱부를 다수 배치하고, 일정 각도로 적외선 신호를 전송하여 수신되는 신호의 특성에 따라 라이다 센싱부(110)와 같이 포인트 방식으로 객체를 센싱할 수 있다. 포인트 방식이란 적외선 신호가 전송 및 수신된 지점을 포인트로 산출하여 외부의 객체를 확인하는 방식이다.
뿐만 아니라, 적외선 센싱부를 뎁스 센싱부(120) 대신 이용할 수 있다. 라이다 센싱부(110)가 센싱한 객체들 중에서 전진 방향의 객체들, 또는 일정한 거리 내의 객체들의 높이 정보를 센싱할 수 있도록 로봇(500)의 다양한 높이에 적외선 센싱부를 배치하고 각각의 적외선 센싱부가 센싱한 객체들의 정보와 라이다 센싱부(110)가 센싱한 정보를 결합하여 2차원 또는 3차원 맵을 생성할 수 있다.
도 1의 맵저장부(200)는 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 그리드맵과 그리드맵 상에서 로봇의 이동 경로를 저장한다. 또한, 맵저장부(200)는 로봇이 이동할 공간에 배치된 객체들의 위치 및 이들 객체들의 위치로 인한 각 셀의 코스트(cost) 정보를 저장한다.
각 셀의 코스트 정보는 해당 셀을 이동할 경우 로봇이 장애물을 회피하거나 혹은 충돌할 가능성 또는 장애물에 인접하여 이동할 가능성 등을 의미한다. 코스트가 0 이거나 코스트가 낮은 셀에서는 로봇이 고정 객체나 이동 객체와 같은 장애물로부터 멀리 떨어져 있는 경우를 포함한다.
또한 맵저장부(200)는 각 셀들의 코스트 정보를 반영하여 생성한 경로 정보도 저장한다. 경로 정보와 코스트 정보는 로봇이 맵 상에 저장되지 않은 새로운 객체를 센싱할 경우 제어부(400)에 의해 업데이트 되거나 추가될 수 있다.
맵저장부(200)에 저장되는 맵은 로봇(500)이 이동 과정에서 센싱부(100)가 센싱한 객체들의 위치 정보를 반영하여 생성될 수 있다. 도 1에 제시된 로봇(500)은 고정 객체(벽/고정장애물)의 정보(일종의 환경정보)에 기반하여 등고선 방식으로 그리드맵을 생성한다. 그리고 로봇(500)은 환경정보에서부터의 거리에 따라 그리드(격자)의 코스트를 단계적으로 달리 적용하고, 등고선 방식으로 다르게 적용된 코스트에 따라 경로를 생성하여 빈 공간이 많은 부분으로 주행한다. 이에 대해 보다 상세히 살펴본다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 맵저장부에 저장되는 그리드맵의 구성을 보여주는 도면이다. 전체 공간에서 장애물의 위치는 도 2의 11과 같이 확인될 수 있다. 그리고 전체 공간을 소정의 셀로 나누면 도 2의 12와 같은 그리드맵을 형성할 수 있다. 도 2의 12를 기반으로 장애물이 있는 셀과 장애물이 없는 셀의 값을 달리 설정하면 그리드맵이 될 수 있다.
또한, 제어부(400)는 도 2의 12와 같이 1차로 생성된 그리드맵에서 객체들과의 거리 혹은 객체의 높이 등에 기반하여 각 셀별로 코스트 정보를 설정할 수 있다.
도 3은 본 발명의 일 실시예에 의한 코스트 정보가 포함된 그리드맵을 보여주는 도면이다. 코스트 정보로 할당할 수 있는 값의 범위는 0(또는 특정한 최소값) 내지 9를 일 실시예로 한다. 0이거나 또는 최소 코스트 값을 가지는 셀은 설명의 편의를 위하여 별도로 도면상에 코스트 정보를 기재하지 않았다. 도 2의 고정 객체를 도 3에서도 동일한 위치의 셀로 표시하였다.
고정 객체가 있는 공간에서는 로봇이 이동할 수 없으므로 가장 높은 코스트(예를 들어 9)를 할당할 수 있다. 물론, 고정 객체인 경우라 하여도 로봇의 특정 센싱부의 위치보다 낮은 크기여서 센싱부(100)를 이용하여 고정 객체의 다른 쪽을 확인할 수 있거나 혹은 다른 장애물이 갑자기 등장할 가능성이 낮은 특성을 가지는 고정 객체는 보다 낮은 코스트를 할당할 수 있다.
도 3에서 해칭된 고정객체들은 9 및 8이라는 코스트 정보를 할당한 상태이다. 9로 할당된 셀은 고정 객체가 배치되었으며 로봇이 월팔로잉을 하는 과정에서 새로운 장애물을 확인하는 것이 구조적으로 어려운 경우이다. 반면 8로 할당된 셀은 고정 객체가 배치되었으나 로봇이 월팔로잉을 하는 과정에서 새로운 장애물을 확인하는 것이 구조적으로 용이한 경우이다.
예를 들어, (18, 3)~(18, 12)에 배치된 고정 객체(19로 지시됨)에서 중심 부분은 "8"의 값으로 설정되었다. 이는 로봇이 일직선으로 놓여진 고정 객체의 중심부에서는 새로운 장애물이 등장하여도 로봇이 쉽게 확인할 수 있는 영역이므로 "8"이라는 코스트 정보를 설정하였다. 반면 19로 지시되는 고정 객체의 끝 부분은 로봇이 이동 과정에서 반대편에서 등장하는 장애물을 확인하기 어려우므로 "9"의 값으로 설정되었다.
그리고 고정 객체에 인접한 셀들은 고정 객체보다는 낮은 코스트 정보를 설정할 수 있다. 예를 들어 고정 객체보다 5만큼 작은 "4"의 값으로 코스트 정보가 설정될 수 있다. 즉, 고정객체와 접하는 면에 위치한 셀은 5 작은 "4"의 값의 코스트 정보를 할당하며, 고정 객체와 대각선 방향에 위치하는 셀은 6작은 값의 코스트 정보를 할당할 수 있다.
그리고 이들 셀에 인접한 셀들 역시 5 보다 작은 값이 할당되는데 0 또는 0보다 작은 값은 모두 0으로 한다. 0의 값을 가지는 셀은 별도로 표시하지 않았다.
도 3과 같이 로봇이 장애물을 보다 쉽게 판별하여 회피할 수 있는 경로는 가능한 셀의 코스트 정보가 낮은 경로를 일실시예로 한다. 로봇이 장애물을 쉽게 판별하기 위해서는 고정객체(예를 들어 벽)의 측면을 따라서 주행하는 것 보다 고정 객체와 일정 거리를 두고 주행하는 것이 갑자기 등장하는 장애물을 보다 쉽게 회피할 수 있다. 또한 장애물을 센싱하거나 월 팔로잉을 수행하는 과정에서 로봇의 속도가 느려질 수 있으나, 고정 객체와 일정한 간격을 두고 이동할 경우 로봇의 속도가 빨라질 수 있다.
특히, 공간을 효율적으로 정의하는 과정에서 격자 방식의 그리드맵을 구현할 수 있는데, 라운드 환경에 그리드맵을 적용할 경우 최단 경로가 벽에 인접하여 이동하는 경로를 도출할 수 있다. 그러나 벽에 가깝게 가는 경로는 충돌 위험이 크며 장애물 회피 모션을 하기 위해 모션 변화가 많으므로 오히려 주행 시간을 증가시키는 문제가 발생한다.
따라서, 본 발명의 실시예에 의한 도면에서 로봇은 벽/고정 장애물 주위에 셀들(격자들)의 코스트 정보를 단계적으로 달리 적용하여 등고선 방식의 그리드맵을 생성하고, 해당 등고선 기반의 그리드맵에 기반하여 전역 경로를 설정한다.
그 결과 로봇은 고정 객체 또는 이동 객체가로부터 떨어진, 즉 빈 공간이 많은 방향으로 경로를 설정하므로, 장애물 회피를 할 경우가 적어져 효율적인 주행이 가능하도록 한다. 또한 라운드 형태의 구조물이 다수 배치된 공간의 환경에서 별도의 처리 없이 효율적인 경로 생성이 가능하다.
도 3에 제시된 바와 같이, 제어부(400)는 맵저장부(200)에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정하고, 고정 객체에 인접한 셀의 코스트 정보를 설정한 후, 그리드맵에서 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 인접한 셀 및 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정하여 고정 객체가 배치된 셀을 기준으로 코스트 정보가 점점 낮아지도록 구성할 수 있다.
도 4는 본 발명의 일 실시예에 의한 로봇의 제어부가 1차적으로 생성된 그리드맵에 코스트 정보를 설정하는 과정을 보여주는 도면이다. 도 2의 12와 같은 맵을 이용하여 도 3을 실시예로 하는 코스트 정보가 결합된 그리드맵을 생성하는 과정을 보여준다.
제어부(400)는 맵저장부(200)에 배치된 고정객체들의 형상을 확인한다. 그리고 제어부(400)는 고정 객체의 형상에 따라 고정 객체가 배치된 셀의 코스트 정보를 설정한다(S31). 고정 객체의 높이 정보가 확인되고 고정 객체의 높이가 로봇의 센싱부(100) 전체를 가리는 높이인 경우에는 로봇의 센싱부(100)가 고정 객체를 넘어서 다른 장애물을 센싱하기 어려우므로 이러한 경우 고정 객체의 코스트 정보를 높게 설정한다
반면, 고정 객체의 높이가 낮거나 또는 고정 객체가 로봇의 센싱부(100) 중 일부 또는 전체를 가로막지 않는 높이라면 고정 객체의 코스트 정보를 낮게 설정한다. 이는 로봇이 이동할 수는 없지만 다른 객체를 센싱할 수는 있는 높이를 의미한다. 예를 들어 높이가 30센티미터이고 로봇의 센싱부(100)가 로봇의 80센티미터 높이에 배치된 경우, 로봇이 이를 통과하여 지나갈 수는 없지만 다른 객체가 이동하여 다가오는 것을 센싱할 수는 있는 높이이다. 또한, 도 3의 19에서 살펴보았듯이 고정 객체의 형상이 굴곡이 없으며 긴 형태로 구성된 형상에서는 로봇이 감지하지 못하는 이동 객체가 갑자기 로봇에게 근접할 가능성이 낮다. 따라서 이렇나 형상의 고정 객체의 중심부에는 코스트 정보를 낮게 설정할 수 있다.
모든 고정 객체들에 대해 코스트 정보를 할당한 후, 제어부(400)는 각 고정 객체들에 인접한 셀에 대해 코스트 정보를 설정한다(S32). 이때 제어부(400)는 인접한 고정 객체에 설정된 코스트 정보를 기준으로 단계적으로 적은 값이 인접한 셀들에 코스트 정보로 설정되도록 제어한다.
일 실시예로 고정 객체에 설정된 코스트 정보가 Cost_obstacle 인 경우 인접한 셀의 코스트 정보는 Cost_obstacle 보다 미리 설정된 기준보다 작은 값을 가지도록 한다. 또한, 고정 객체가 배치된 셀과 면으로 접하는 셀과 고정 객체와 꼭지점으로 접하는 셀에 대해 상이한 코스트 정보를 설정할 수 있다.
제어부(400)는 로봇이 이동해야 하는 공간 내의 모든 셀에 대해 코스트 정보를 설정한 후 경로를 생성한다(S33). 로봇이 이동해야 하는 공간에서 로봇의 현재 위치와 목표지점(Goal, G), 그리고 로봇이 반드시 거쳐야 하는 관문 지점(Pass, P)에 대한 정보를 이용하되 가장 코스트 정보가 낮은 셀들의 가중치를 높여 경로를 설정할 수 있다. 그 결과 로봇(500)은 생성된 경로에 따라 이동한다.
이 과정에서 로봇이 새로운 장애물을 센싱하는 경우 그리드맵 상에 새로운 장애물(이동 객체 또는 미확인되었던 고정 객체 등)의 위치에 대응하여 각 셀들의 코스트 정보를 변경할 수 있다. 즉, 로봇은 이동 과정에서 새로운 객체를 센싱하면, 객체가 센싱된 위치의 셀의 코스트 정보를 변경하고 경로 변경이 필요한 경우 새로이 경로를 변경할 수 있다(S35).
도 4의 과정을 정리하면 다음과 같다. 제어부(400)가 맵저장부(200)에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정한다(S31). 그리고 제어부(400)는 고정 객체에 인접한 셀의 코스트 정보를 설정한다(S32). 또한 제어부는 그리드맵에서 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 인접한 셀 및 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정한다(S33). 그리고 그리드맵 상의 셀들의 코스트 정보가 확정되면, 제어부(400)는 그리드맵을 구성하는 셀들의 코스트 정보에 기반하여 경로를 생성한다(S33).
이후, 로봇은 이동하는 과정에서 그리드맵에 위치가 저장되지 않은 새로운 객체(장애물)을 센싱하면 센싱한 위치의 셀의 코스트 정보를 변경하고 경로를 변경한다(S35). 이는 도 11 및 도 12에서 살펴본다.
도 5 및 도 6은 본 발명의 일 실시예에 의한 로봇의 센싱부들의 높이와 고정 객체의 높이에 따라 코스트 정보를 달리 설정하는 예를 보여주는 도면이다.
도 5는 로봇(500)의 다양한 센싱부들이 배치되어 있으나, 고정 객체(1)의 높이가 모든 센싱부들(110, 120, 130a, 130b, 130c)을 가리는 형상임을 보여준다. 이 경우 로봇은 고정 객체(1)에 의해 다른 장애물의 접근 상황을 전혀 확인할 수 없으므로 로봇은 이동시 충돌을 회피하기 위해 느린 주행 속도를 가질 수 있다. 이 경우 고정 객체(1)에 대응하는 셀의 코스트 정보는 37에 지시된 바와 같이 높은 값(예를 들어 "9")을 설정할 수 있다.
도 6은 로봇(500)의 다양한 센싱부들 중에서 라이다 센싱부(110), 뎁스 센싱부(120) 그리고 제1보조센싱부(130a)가 고정 객체(2)에 가려지지 않는다. 따라서 로봇(500)은 고정 객체(2)에 근접하여 이동하는 경우라도 다른 장애물의 접근을 라이다 센싱부(110), 뎁스 센싱부(120) 그리고 제1보조센싱부(130a)를 이용하여 빨리 센싱할 수 있다. 따라서, 로봇은 보다 빨리 이동할 수 있다. 도 6과 같은 고정객체(2)에 대해서는 대응하는 셀의 코스트 정보는 38에 지시된 바와 같이 도 5의 경우(37) 보다 낮은 값(예를 들어 "7")을 설정할 수 있다.
인접한 셀에 대한 코스트 정보의 설정 역시 다양한 방식으로 이루어질 수 있다. 예를 들어, 고정 객체가 배치된 셀의 면에 인접한 셀과 모서리에 인접한 셀이 상이하게 코스트 정보를 가질 수 있다.
도 3과 도 5, 그리고 도 6의 코스트 정보를 설정하는 과정을 정리하면 다음과 같다. 제어부(400)는 고정 객체의 높이 또는 형상에 따라 고정 객체가 배치된 셀의 코스트 정보를 달리 설정할 수 있다. 고정 객체의 높이가 낮거나 고정 객체의 높이가 로봇의 센싱부(100)의 일부를 가리지 않는 경우에는 센싱부(100)를 전부 가리는 고정 객체의 코스트 정보 보다 낮게 설정할 수 있다. 또한, 고정 객체와 고정 객체 사이의 간격이 좁거나 또는 고정 객체가 휘어지거나 굴곡이 많은 경우에는 그에 대응하여 코스트 정보를 설정할 수 있다.
도 7 및 도 8은 본 발명의 일 실시예에 의한 고정 객체가 배치된 셀의 인접한 셀의 코스트 정보를 설정하는 도면이다.
도 7의 41을 살펴보면 고정 객체가 배치된 셀의 코스트 정보는 "9"로 설정된다. 고정 객체가 배치된 셀의 인접셀들은 고정 객체의 코스트 정보 보다 작은 값이 할당될 수 있다. 제어부(400)는 인접셀들 중에서도 로봇이 다른 이동 객체들을 쉽게 센싱하지 못하는 사각지대(41a)는 코스트 정보를 보다 높은 값, "8"로 설정한다. 한편, 제어부(400)는 고정 객체에 셀의 4면 중 1면이 접하면서 또한 41a로 지시되는 사각지대에 인접한 셀들(41b)은 "6"이라는 코스트 정보를 설정한다.
그리고 고정 객체에 셀의 4면 중 1면이 접하고 그 외에 다른 고정 객체 또는 사각지대(41a)에 접하지 않는 셀들은 41에 표시된 바와 같이 "5"라는 코스트 정보가 할당된다.
고정 객체가 꺾어지거나 휘어지는 형상을 가짐으로 인해 사각지대가 발생하는 경우, 제어부(400)는 이러한 사각지대(41a)에도 높은 코스트 정보를 설정하여 로봇이 경로를 생성하는 과정에서 해당 셀을 선택하지 않도록 하여 로봇의 주행 효율을 높일 수 있다.
도 7의 42를 살펴보면 고정 객체가 배치된 코스트 정보는 "9"로 설정된다. 고정 객체가 배치된 셀의 인접셀들은 고정 객체의 코스트 정보 보다 작은 값이 할당될 수 있다. 그런데 고정 객체가 배치된 끝부분에서 이동 객체가 돌발하여 등장할 경우 로봇은 충돌을 피해야 한다. 따라서 42a로 지시되는 영역은 로봇이 센싱할 수 없는 영역에 있는 이동 객체가 접근할 경우 로봇이 빨리 센싱하지 못하는 사각지대가 된다. 제어부(400)는 사각지대의 셀(42a) 대해 41에서 살펴본 바와 같이 높은 코스트 정보인 6의 값을 할당한다.
42에서 고정 객체의 중심부로 갈수록 사각 지대(42a)와 거리가 멀기 때문에 로봇이 이동 객체를 빨리 센싱할 수 있다. 따라서, 사각지대(42a)와 접하는 셀은 "5"라는 코스트 정보가 할당되고, 사각지대(42a)에서 보다 멀리 있는 셀은 "4"라는 코스트 정보가 할당된다.
도 8의 43은 굴곡이 많거나 휘어진 고정 객체가 배치된 경우에 인접 셀들의 코스트 정보를 할당한 실시예이다. 휘어지거나 굴곡이 많은 경우 로봇이 다른 방향으로 쉽게 센싱이 가능한 영역과 그렇지 않은 사각지대 영역으로 나눌 수 있다. 43에 도시된 바와 같이 제어부(400)는 고정객체가 배치된 셀의 코스트 정보로 "9"를 할당하고 사각지대에 대응하는 셀들은 "6"으로 코스트 정보를 할당한다.
또한, 제어부(400)는 고정 객체와 하나의 면을 접하고 있으나 그 외 영역은 모두 열린 공간이어서 로봇이 다른 방향에서 접근하는 이동 객체를 쉽게 센싱할 수 있는 위치의 셀들의 코스트 정보는 "3"으로 할당한다.
도 8의 44를 살펴보면, 고정 객체들(코스트 정보가 9로 할당됨) 사이에 배치되거나 막힌 공간(44a에서 지시)을 구성하는 셀들의 코스트 정보는 "8"로 할당된다. 또한, 44a에 인접한 셀은 44a 보다 작은 코스트 정보로 "7"이 할당된다. 그 외에 앞서 도 7에서 살펴본 바와 같이 고정 객체에 접하고 있거나 이동 객체가 나오기 어려운 인접셀들은 더 작은 코스트 정보가 할당될 수 있다. 예를 들어, 44b로 지시되는 셀들은 로봇이 센싱부(100)를 이용하여 이동 객체를 쉽게 센싱할 수 있거나 혹은 이동 객체가 갑자기 등장하기 어려운 셀들이므로 "4"라는 코스트 정보가 할당된다.
정리하면 다음과 같다. 제어부(400)는 고정 객체가 배치된 셀들의 코스트 정보를 설정하고, 고정 객체의 형상이나 위치 등으로 인하여 인접셀들에 각각 상이한 코스트 정보를 설정할 수 있다. 따라서 고정 객체에 인접한 경우라 하여도 로봇이 다른 방향으로 이동 객체를 센싱할 수 있는 셀에 대해서는 코스트 정보를 낮게 하고 그 반대의 사각지대에서는 코스트 정보를 높게 설정한다. 또한, 제어부(400)가 고정 객체의 높이 정보를 이용하여 코스트 정보를 상이하게 설정하는 것도 도 5 및 6에서 살펴보았다.
로봇이 벽에 가까이 이동하는 작업을 수행하는 경우에 고정 객체로부터 인접한 셀의 코스트 정보와 고정 객체의 코스트 정보는 큰 차이가 나도록 구성할 수 있다. 이는 로봇이 벽과 일정한 거리는 유지하되 너무 멀리 주행하지 않도록 하기 위함이다.
반면, 로봇이 벽과 거리를 많이 두는 것에 중점을 둘 경우에는 고정 객체로부터 인접한 셀의 코스트 정보와 고정 객체의 코스트 정보가 작은 차이가 나도록 구성할 수 있다. 이는 고정 객체로부터 멀어지는 거리에 따라 코스트 정보가 점진적으로 낮아지도록 한다. 이러한 그리드맵의 생성 방식은 로봇이 벽과 거리를 크게 두고 주행하는 것이 더 효율적인 경우에 적용한다.
따라서, 제어부(400)는 고정 객체에 접하는 면의 수에 비례하여 코스트 정보를 증가시키거나 고정 객체로 인한 사각 지대에서 코스트 정보를 증가시킬 수 있다. 코스트 정보를 증가시킨다는 의미는 셀에 설정되는 코스트 정보로 보다 높은 값이 설정되도록 하는 것을 의미한다. 물론 제어부(400)는 고정 객체에 대응하는 셀의 코스트 정보 보다는 낮은 값을 사각 지대에 대응하는 셀의 코스트 정보로 설정한다.
도 9는 본 발명의 일 실시예에 의한 코스트 정보를 포함하는 그리드맵에서 전역 경로를 생성하는 과정을 보여주는 도면이다.
전역 경로는 전술한 바와 같이 목표 지점(G)과 선택적으로 관문 지점(P1, P2, P3)을 포함할 수 있다. 제어부(400)는 로봇이 위치한 시작점에서 관문 지점 및 목표 지점을 중심으로 경로를 생성하며 이 과정에서 가장 코스트 정보가 낮은 셀을 선택하여 경로를 생성할 수 있다.
제어부(400)는 로봇이 수행하는 작업의 특성을 반영하여 관문 지점을 선택적으로 생성할 수 있다(S51). 그리고 그리드맵의 각 셀들의 코스트 정보 및 관문 지점의 위치를 반영하여 출발점에서 목표 지점까지 이동하는 전역 경로를 생성한다. 보다 상세히 살펴보면, 제어부는 시작 지점에서 목표 지점을 연결하는 관문 지점들의 순서를 결정한다(S52).
결정 과정에서 제어부(400)는 관문 지점들 사이에 배치되는 고정 객체들의 위치와 셀들의 코스트 정보를 반영할 수 있다. 순서가 결정되면, 제어부(400)는 결정된 순서에 따라 시작점에서 다음 관문지점까지의 경로를 생성한다(S53).
경로 생성은 로봇의 작업 및 각 셀의 코스트 정보에 기반하여 산출한다. 그리고 제어부(400)는 생성된 경로의 코스트를 산출한다(S54). 경로의 코스트를 산출하는 것은 경로에 배치된 셀들의 코스트 정보를 모두 합한 것을 일 실시예로 한다. 산출된 코스트가 미리 설정된 기준에 도달하는 경우(S55) 로봇은 해당 경로를 저장한다(S56).
그리고 목표지점까지 경로를 생성했는지 확인하고(S58) 목표 지점까지 경로가 생성된 경우 종료한다. 반면, 목표 지점까지 경로가 생성되지 않았다면, 제어부(400)는 경로가 산출된 관문 지점에서 다음 관문 지점까지 경로를 생성하고(S59) S54 내지 S58 단계를 반복한다.
한편 S55에서 산출된 코스트가 미리 설정된 기준에 도달하지 않는 경우, 예를 들어 코스트가 지나치게 높이 산출되거나, 이전에 계산했던 경로의 코스트보다 높은 경우, 새로운 경로를 생성하고(S57), S54 단계를 진행한다.
도 9의 실시예를 적용하면 로봇은 시적 지점부터 목표 지점까지 각 셀의 코스트 정보를 반영하여 경로를 생성할 수 있으며 가장 코스트가 낮은, 즉 우선 순위가 높은 셀들을 중심으로 로봇이 이동하여 주행의 효율을 높일 수 있다.
S54에서 코스트 산출시 경로의 길이도 반영할 수 있다. 일 실시예로 그리드맵에서 모든 셀은 최소 1 이상의 코스트 정보가 설정되도록 할 수 있다. 이 경우, 로봇이 통과해야 하는 셀의 수가 늘어날 경우 코스트 정보가 증가함을 보여준다. 따라서 제어부(400)는 빈 공간이 많은 셀을 주행하면서도 경로가 길어지지 않도록 하여 주행의 효율성을 높일 수 있다. 만약 로봇의 속도가 빠른 경우라면 셀이 가질 수 있는 최소 코스트 정보(기준값)를 더 낮은 값(0.5)으로 설정할 수 있다
도 9를 정리하면 다음과 같다.
제어부(400)는 경로를 생성하기 위해 시작 지점과 목표 지점을 결정하고 결정된 시작 지점과 목표 지점을 연결하는 셀들로 구성된 제1경로를 생성하고, 셀들의 코스트 정보를 취합하여 제1경로의 코스트를 산출한다. 이후, 제1경로의 코스트가 미리 설정된 기준에 도달하는 경우 제1경로를 로봇의 맵저장부(200)에 저장한다. 만약 미리 설정된 기준에 도달하지 않는 경우에는 제어부(400)는 다시 경로를 생성할 수 있다. 또는 생성된 경로를 누적하여 저장한 후 가장 코스트가 적은 경로를 선택할 수 있다.
또한 제어부(400)는 시작 지점과 목표 지점 사이에는 하나 이상의 관문 지점을 결정할 수 있다. 그리고 시작 지점과 하나 이상의 관문 지점과 목표 지점 중에서 시작 셀과 종료 셀을 결정하여 시작 셀에서 종료 셀에 이르는 경로를 산출한다. 이에 대해 도 10에서 살펴본다.
도 10은 본 발명의 일 실시예에 의해 생성된 경로를 보여주는 도면이다. 가능한 코스트가 낮은 셀을 통과하도록 경로가 생성되었다.
도 10에 도시된 바와 같이, 제어부는 시작 지점(S)에서 목표 지점(G)에 이르는 하나 이상의 관문 지점(P1, P2, P3)을 결정하고, 각 지점 간을 구성하는 경로를 각각 생성할 수 있다. 예를 들어 S-P1-P2-P3-G 를 연결하는 전역 경로와 S-P1, P1-P2, P2-P3, P3-G을 연결하는 하위 경로를 생성할 수 있다.
하위 경로들을 생성하기 위해 제어부는 시작 지점과 하나 이상의 관문 지점과 목표 지점 중에서 시작 셀과 종료 셀을 결정할 수 있다. 일 실시예로 S-P1의 경로는 S와 P1이 각각 시작 셀과 종료 셀이 될 수 있다. 마찬가지로 P3-G에서는 P3와 G가 각각 시작 셀과 종료 셀이 될 수 있다.
그리고 제어부(400)가 시작 셀과 종료 셀을 연결하는 셀들로 구성된 제1-1경로를 생성하고, 제1-1 경로의 코스트를 산출한다. 제1-1경로의 코스트가 미리 설정된 기준에 도달하는 경우 제1-1 경로를 전술한 전역 경로를 구성하도록 제어부(400)가 맵저장부(200)에 저장할 수 있다. 그리고 이러한 하위 경로를 생성하는 과정은 P1-P2, P2-P3, P3-G들에도 반복된다.
도 10에 제시된 바와 같이 생성된 경로에 기반하여 로봇이 이동하는 과정에서 로봇은 새로운 이동 객체를 센싱할 수 있다. 이 경우 로봇은 센싱한 이동 객체에 기반하여 그리드맵의 코스트 정보를 업데이트한 후 새로운 경로를 생성할 수 있다. 예를 들어 도 10의 61이 지시하는 영역에서 로봇이 이동하는 과정에서 이동 객체를 센싱한 경우를 도 11 및 도 12에서 살펴본다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 로봇이 새로운 객체를 센싱한 경우에 경로를 변경하는 과정을 보여주는 도면이다. 센싱부(100)가 그리드맵에 저장되지 않은 객체를 센싱한 경우, 제어부(400)가 센싱한 객체의 위치에 기반하여 그리드맵의 셀의 코스트 정보를 변경하고 변경된 코스트 정보에 기반하여 센싱한 객체를 회피하는 경로를 생성하는 과정을 보여준다.
도 11의 61a는 로봇이 생성된 경로에 기반하여 이동하는 과정에서 새로운 객체가 센싱된 상태를 보여준다. 센싱된 새로운 객체는 이동하는 객체일 수도 있고 이동하지 않는 고정된 객체일 수 있다. 로봇의 이동부(310)는 생성된 경로로 이동하는 과정에서 센싱부(100)가 그리드맵에 저장되지 않은 객체를 센싱한 상태이다.
제어부(400)는 센싱한 객체의 위치에 기반하여 그리드맵의 셀의 코스트 정보 및 해당 셀의 인접한 셀들의 코스트 정보를 61b와 같이 변경한다. 그리고 61c와 같이 제어부(400)는 변경된 코스트 정보에 기반하여 센싱한 객체를 회피하는 경로를 생성한다.
제어부(400)가 객체를 센싱하는 과정에서 센싱된 객체의 형상이나 위치에 따라 그리드맵의 셀의 코스트 정보가 달리 설정될 수 있다. 도 11은 센싱된 새로운 객체가 도 5의 실시예에서 살펴본 바와 같이 로봇의 센싱부(100)의 센싱을 가리는 크기인 경우 적용 가능하다.
한편 도 12는 로봇의 센싱부가 센싱한 객체는 도 6과 같이 높이가 낮은 객체로 이 경우 로봇의 제어부(400)가 센싱된 객체의 위치에 대응하는 셀의 코스트 정보를 도 11과 달리 설정할 수 있다. 도 12의 61d에 제시된 바와 같이 로봇이 생성된 경로에 기반하여 이동하는 과정에서 새로운 객체가 센싱된 상태를 보여준다. 로봇의 제어부(400)는 61e와 같이 센싱된 객체의 위치에 대응하여 그리드맵의 셀의 코스트 정보를 설정하고 인접 셀들의 코스트 정보를 변경한다.
센싱된 객체의 크기가 작거나 높이가 낮는 등의 특징에 따라 "5"라는 코스트 정보가 설정되며, 그로 인해 인접한 셀들의 코스트 정보도 1 또는 2의 값이 할당된다.
도 11의 61c와 달리 센싱된 객체로 인해 변화된 셀들의 코스트 정보가 크지 않으므로, 제어부(400)는 이동 경로를 61f와 같이 구성할 수 있다.
도 11의 61c 및 도 12의 61f를 비교하면 다음과 같다. 제어부(400)는 로봇의 경로의 코스트를 산출함에 있어서 로봇이 통과하는 셀의 코스트 정보를 합산할 수 있다. 코스트 정보가 설정되지 않은 셀은 기본 코스트 정보를 가지는 경우 경로 내에 포함되는 셀의 수가 적을수록 로봇은 보다 효율적으로 이동할 수 있다. 그러나, 코스트 정보가 높은 셀을 포함하는 경로는 로봇이 효율적으로 이동하지 못함을 보여준다. 따라서 새로이 센싱되는 객체의 특성에 따라 로봇은 멀리 돌아가는 경로(도 11의 61c 참조)를 선택하거나 또는 새로 센싱된 객체의 주변을 통과하는 경로(도 12의 61f 참조)를 선택할 수 있다.
또한, 도 11 및 도 12에서 새로 센싱한 객체가 이동성을 가지거나 혹은 이동성을 가질 것으로 예측될 경우 제어부(400)는 해당 객체로부터 보다 멀리 이동할 수 있도록 센싱된 위치의 셀의 코스트 정보를 높은 값으로 설정할 수 있다. 즉, 센싱된 객체의 높이가 로봇의 센싱부(100) 중 일부를 가리지 않는 경우라 하여도 "9"라는 높은 코스트 정보를 설정하여 로봇이 이동 객체 보다는 고정 객체에 근접하여 이동할 수 있도록 한다.
정리하면, 센싱된 객체와 고정 객체 사이를 로봇이 통과하는 경로를 생성할 경우 제어부(400)는 고정 객체에 근접한 경로를 생성할 수 있다. 이는 고정 객체가 이동하지 않는 것으로 확인되었기 때문이다.
또한, 센싱된 객체와 고정 객체와의 거리가 매우 밀접하여 로봇이 이들 객체들 사이를 통과하기 어려운 경우에 제어부는 고정 객체와 센싱된 객체를 하나의 장애물로 설정하여 코스트 정보를 설정할 수도 있다.
경로 상에 새로운 객체가 센싱된 경우 외에도 도 11 및 도 12의 과정을 적용할 수 있다. 즉, 경로에 인접하여 새로운 객체가 센싱되고 그로 인해 경로 상의 셀의 코스트 정보가 변화한 경우에도 제어부(400)는 변경된 코스트 정보에 기반하여 새로운 경로를 생성할 수 있다.
도 13 및 도 14는 본 발명의 다른 실시예에 의한 로봇이 장애물들과 일정한 거리를 유지하며 이동하는 과정 및 그리드맵을 보여주는 도면이다. 앞서 도 4 내지 도 12에서 살펴본 코스트 정보를 사용하는 방식의 다른 실시예로 로봇이 장애물들과 미리 설정된 이격 거리를 유지하고 이동하도록 경로를 생성하는 실시예이다.
로봇의 제어부(400)가 로봇의 맵저장부(200)에 저장된 그리드맵을 이용하여 고정 객체와 미리 설정된 이격거리를 가지는 경로를 생성한다(S71). 이후 생성된 경로에 기반하여 로봇이 이동한다(S72). 이동 과정에서 센싱부(100)가 그리드맵에 저장되지 않은 객체를 센싱하면(S73), 제어부(400)는 센싱된 객체가 경로에 인접한 경우 센싱된 객체와 이격 거리를 가지는 경로를 생성한다(S74).
도 13의 S71에 대해 도 14에서 보다 상세히 살펴본다. 로봇이 그리드맵의 장애물들(고정 객체)와 2칸의 셀의 거리를 이격 거리로 설정하여 경로를 생성할 수 있다. 이격 거리는 다양하게 설정될 수 있으며, 고정 객체들이 조밀하게 배치된 경우 제어부(400)는 이격 거리를 줄일 수 있다.
객체들이 밀접하게 배치된 영역(80), 예를 들어 그리드맵에 배치된 둘 이상의 고정 객체들 간의 거리가 이격 거리의 2배 보다 작은 경우 제어부(400)는 고정 객체들 사이를 통과하는 경로를 생성할 수 있다. 80에서는 고정 객체들 사이의 거리가 2칸의 셀 거리이다. 2칸의 셀 거리는 이격 거리의 2배인 4칸의 셀 보다 작은 거리이다. 따라서 로봇은 어느 고정 객체로부터도 2칸의 셀이라는 이격 거리를 확보할 수 없다. 이 경우 제어부(400)는 고정 객체들 사이의 중심 지점을 통과하는 경로를 생성할 수 있다.
도 15는 본 발명의 일 실시예에 의한 새로운 장애물이 기존의 객체에 인접하게 배치된 경우의 경로를 생성하는 과정을 보여주는 도면이다. 도 14의 81 영역을 도 15에서 살펴본다. 로봇이 이동하는 과정에서 새로운 객체를 센싱한다(81a). 그리고 새로이 센싱한 객체와 고정 객체와의 거리가 이격 거리의 2배보다 작은 경우 제어부(400)는 고정 객체에 근접한 경로를 생성한다(81b). 이는 새로 센싱된 객체가 이동할 가능성이 있으므로 로봇은 고정 객체에 근접하도록 경로를 생성할 수 있다.
도 16은 본 발명의 일 실시예에 의한 새로운 장애물이 기존의 객체에 붙어서 배치된 경우의 경로를 생성하는 과정을 보여주는 도면이다. 도 14의 81 영역을 도 16에서 살펴본다. 로봇이 이동하는 과정에서 새로운 객체를 센싱한다(81c). 센싱된 객체와 고정 객체와의 거리가 로봇이 통과할 수 있는 거리보다 작은 경우, 제어부(400)는 고정 객체와 센싱된 객체를 하나의 장애물로 설정하고 장애물과 이격 거리를 가지는 경로를 81d와 같이 생성한다.
이는 로봇이 이동하는 공간의 장애물들로부터 이격하여 장애물이 배치되지 않은 중앙(빈 공간이 많은 부분)으로 경로를 생성할 수 있도록 한다. 빈 공간의 방향으로 경로를 생성함으로써 로봇은 장애물을 우회할 수 있으므로, 장애물 회피의 신뢰성을 확보한다. 또한, 로봇은 장애물로부터 이격하여 이동함으로 장애물로 인한 사각지대에서의 충돌 혹은 장애물의 이동 등을 방지하기 위한 장애물 회피 모션을 적게 수행할 수 있으며, 이는 로봇이 더욱 빠르고 효율적으로 목적 지점에 도달하도록 한다.
또한, 로봇은 경로를 변경하는 알고리즘과 독립적으로 등고선 방식(장애물을 기준으로 거리가 멀어질수록 로봇의 이동 코스트를 낮추는 방식)으로 맵을 생성함으로 인해 효율적인 경로 생성 및 로봇의 이동이 가능해진다. 따라서 본 발명의 실시예를 적용할 경우 최단경로 보다는 효율적인 최적 경로 도출이 가능하다.
본 발명의 실시예를 적용할 경우, 전역 경로 혹은 중간에 로봇이 새로운 객체를 센싱하여 경로를 변경하는 과정에서 보다 로봇에게 안전한 경로를 제공할 수 있다. 특히, 복잡하게 구성된 공간, 휘어진 공간, 대면적의 공간에는 다양한 동적 장애물이 등장하고 사라지는 경우가 많으며 이 경우 최단 경로는 오히려 장애물과의 충돌 가능성을 높일 수 있다.
또한, 사각형의 정형화된 형태의 공간이 아닌 대규모 유동인구 공간에서는 꺾인 공간 혹은 라운드 형태의 공간이 다수 배치되므로 본 발명의 실시예를 적용할 경우 이러한 공간을 그리드맵 기반으로 변환하되 월 팔로잉 방식 대신 로봇의 센싱부(100)의 센싱 시야를 확보하도록 경로를 제공할 수 있다.
앞서 살펴본 코스트 정보를 설정하거나 객체들과 일정한 간격을 유지하도록 이동하는 경로를 생성할 경우, 로봇은 이동 객체와의 충돌 가능성을 줄이거나 이동 객체를 보다 빨리 센싱할 수 있도록 여유공간이 많은 방향으로 경로를 생성하여 효율적인 주행을 할 수 있다. 또한, 복잡한 환경에서 고정된 기둥과 같은 장애물이 많을 경우 최적 경로를 생성할 경우 이를 바로 옆으로 회피해가는 경로가 나오는 경우가 많아 장애물 회피의 신뢰성을 확보하지 못한다.
또한, 본 발명을 적용할 경우 사각지대에서 발생하는 충돌을 회피하기 위해 로봇이 속도를 줄이는 것을 방지하며 사각 지대를 최대한 통과하지 않는 경로를 생성할 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
<부호의 설명>
100: 센싱부 200: 맵저장부
300: 통신부 310: 이동부
320: 작업부 330: 인터페이스부
400: 제어부 500: 로봇

Claims (16)

  1. 로봇의 제어부가 맵저장부에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정하는 제1 설정단계;
    상기 제어부가 상기 고정 객체에 인접한 셀의 코스트 정보를 설정하는 제2 설정단계;
    상기 제어부가 상기 그리드맵에서 상기 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 상기 인접한 셀 및 상기 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정하는 제3 설정단계; 및
    상기 로봇이 상기 그리드맵을 구성하는 셀들의 코스트 정보에 기반하여 경로를 생성하는 경로 생성 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  2. 제1항에 있어서,
    상기 제1설정 단계는
    상기 제어부가 상기 고정 객체의 높이 또는 형상에 따라 상기 고정 객체가 배치된 셀의 코스트 정보를 달리 설정하는 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  3. 제1항에 있어서,
    상기 제2설정 단계는
    상기 제어부가 상기 고정 객체에 접하는 면의 수에 비례하여 코스트 정보를 증가시키거나 상기 고정 객체로 인한 사각 지대에서 코스트 정보를 증가시키는 단계를 더 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  4. 제1항에 있어서,
    상기 경로 생성 단계는
    상기 제어부가 시작 지점과 목표 지점을 결정하고 상기 결정된 시작 지점과 목표 지점을 연결하는 셀들로 구성된 제1경로를 생성하는 단계;
    상기 제어부가 상기 셀들의 코스트 정보를 취합하여 상기 제1경로의 코스트를 산출하는 단계; 및
    상기 제1경로의 코스트가 미리 설정된 기준에 도달하는 경우 상기 제1경로를 상기 로봇의 맵저장부에 저장하는 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  5. 제1항에 있어서,
    상기 경로 생성 단계는
    상기 제어부가 시작 지점과 목표지점, 그리고 하나 이상의 관문 지점을 결정하고 상기 시작 지점과 상기 하나 이상의 관문 지점과 상기 목표 지점 중에서 시작 셀과 종료 셀을 결정하는 단계;
    상기 제어부가 시작 셀과 상기 종료 셀을 연결하는 셀들로 구성된 제1-1경로를 생성하는 단계; 및
    상기 제어부가 상기 제1-1 경로의 코스트를 산출하는 단계; 및
    상기 제1-1경로의 코스트가 미리 설정된 기준에 도달하는 경우 상기 제1-1 경로를 상기 제1경로를 구성하도록 상기 로봇의 맵저장부에 저장하는 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  6. 제1항에 있어서,
    상기 경로 생성 단계 이후에
    상기 로봇의 이동부가 상기 생성된 경로로 이동하는 단계;
    상기 로봇의 센싱부가 상기 그리드맵에 저장되지 않은 객체를 센싱하는 단계;
    상기 제어부가 상기 센싱한 객체의 위치에 기반하여 상기 그리드맵의 셀의 코스트 정보를 변경하는 단계; 및
    상기 제어부가 상기 변경된 코스트 정보에 기반하여 상기 센싱한 객체를 회피하는 경로를 생성하는 단계를 더 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  7. 로봇의 제어부가 상기 로봇의 맵저장부에 저장된 그리드맵을 이용하여 고정 객체와 미리 설정된 이격거리를 가지는 경로를 생성하는 제1경로 생성 단계;
    상기 생성된 경로에 기반하여 로봇이 이동하는 단계;
    상기 로봇의 센싱부가 상기 그리드맵에 저장되지 않은 객체를 센싱하는 단계; 및
    상기 제어부가 상기 센싱된 객체가 상기 경로에 인접한 경우 상기 센싱된 객체와 상기 이격 거리를 가지는 경로를 생성하는 제2경로 생성 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  8. 제7항에 있어서,
    상기 제1경로 생성 단계에서
    상기 그리드맵에 배치된 둘 이상의 고정 객체들 간의 거리가 상기 이격 거리의 2배 보다 작은 경우, 상기 제어부가 상기 고정 객체들 사이를 통과하는 경로를 생성하는 단계를 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  9. 제7항에 있어서,
    상기 제2경로 생성 단계에서
    상기 센싱된 객체와 고정 객체와의 거리가 상기 이격 거리의 2배보다 작은 경우 상기 제어부가 상기 고정 객체에 근접한 경로를 생성하는 단계를 더 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  10. 제7항에 있어서,
    상기 제2경로 생성 단계에서
    상기 센싱된 객체와 고정 객체와의 거리가 상기 로봇이 통과할 수 있는 거리보다 작은 경우, 상기 제어부가 상기 고정 객체와 상기 센싱된 객체를 하나의 장애물로 설정하고 상기 장애물과 상기 이격 거리를 가지는 경로를 생성하는 단계를 더 포함하는, 객체와 간격을 유지하며 로봇을 이동시키는 방법.
  11. 외부에 배치된 장애물을 센싱하는 센싱부;
    상기 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 그리드맵과 상기 그리드맵 상에서 상기 로봇의 이동 경로를 저장하는 맵저장부;
    상기 로봇을 이동시키는 이동부;
    상기 로봇이 작업을 수행하는 작업부; 및
    상기 센싱부와 상기 맵저장부와 상기 이동부와 상기 작업부를 제어하며, 상기 로봇이 상기 고정 객체와 미리 설정된 이격 거리를 가지고 이동하는 경로를 생성하여 상기 맵저장부에 저장하는 제어부를 포함하는, 객체와 간격을 유지하며 이동하는 로봇.
  12. 제11항에 있어서,
    상기 제어부가 맵저장부에 저장된 그리드맵을 이용하여 고정 객체가 배치된 셀의 코스트 정보를 설정하고, 상기 고정 객체에 인접한 셀의 코스트 정보를 설정한 후, 상기 그리드맵에서 상기 코스트 정보가 설정되지 않은 셀들의 코스트 정보를 상기 인접한 셀 및 상기 고정 객체가 배치된 셀의 코스트 정보에 기반하여 설정한 후,
    상기 제어부가 상기 그리드맵을 구성하는 셀들의 코스트 정보에 기반하여 경로를 생성하는, 객체와 간격을 유지하며 이동하는 로봇.
  13. 제12항에 있어서,
    상기 제어부가 상기 고정 객체의 높이 또는 형상에 따라 상기 고정 객체가 배치된 셀의 코스트 정보를 달리 설정하는, 객체와 간격을 유지하며 이동하는 로봇.
  14. 제12항에 있어서,
    상기 제어부가 상기 고정 객체에 접하는 면의 수에 비례하여 코스트 정보를 증가시키거나 상기 고정 객체로 인한 사각 지대에서 코스트 정보를 증가시키는, 객체와 간격을 유지하며 이동하는 로봇.
  15. 제13항에 있어서,
    상기 로봇의 센싱부가 상기 로봇의 이동부가 로봇을 이동시키는 과정에서 상기 그리드맵에 저장되지 않은 객체를 센싱하면,
    상기 제어부가 상기 센싱한 객체의 위치에 기반하여 상기 그리드맵의 셀의 코스트 정보를 변경하여 상기 변경된 코스트 정보에 기반하여 상기 센싱한 객체를 회피하는 경로를 생성하는, 객체와 간격을 유지하며 이동하는 로봇.
  16. 제11항에 있어서,
    상기 제어부가 상기 맵저장부에 저장된 그리드맵을 이용하여 고정 객체와 미리 설정된 이격거리를 가지는 경로를 생성하고 상기 생성된 경로에 기반하여 상기 로봇을 이동시키도록 상기 이동부를 제어하며,
    상기 그리드맵에 저장되지 않은 객체가 상기 센싱부에 의해 센싱되고 상기 센싱된 객체가 상기 생성된 경로에 인접한 경우
    상기 제어부가 상기 센싱된 객체와 상기 이격 거리를 가지는 경로를 생성하는, 객체와 간격을 유지하며 이동하는 로봇.
PCT/KR2018/008650 2017-08-30 2018-07-30 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇 WO2019045284A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0110170 2017-08-30
KR1020170110170A KR20190023834A (ko) 2017-08-30 2017-08-30 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇

Publications (1)

Publication Number Publication Date
WO2019045284A1 true WO2019045284A1 (ko) 2019-03-07

Family

ID=65525826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/008650 WO2019045284A1 (ko) 2017-08-30 2018-07-30 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇

Country Status (2)

Country Link
KR (1) KR20190023834A (ko)
WO (1) WO2019045284A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110039540A (zh) * 2019-05-27 2019-07-23 聊城大学 一种多目标同时优化的服务机器人路径规划方法
CN111006666A (zh) * 2019-11-21 2020-04-14 深圳市优必选科技股份有限公司 机器人路径规划方法、装置、存储介质和机器人
WO2022007350A1 (zh) * 2020-07-08 2022-01-13 格力电器(武汉)有限公司 一种全局路径规划方法、装置、终端及可读存储介质
WO2023193056A1 (en) * 2022-04-06 2023-10-12 Freelance Robotics Pty Ltd 3d modelling and robotic tool system and method
EP4170452A4 (en) * 2020-06-22 2024-04-17 Jingdong Tech Information Tech Co Ltd PATH PLANNING METHOD AND APPARATUS, ROBOT AND STORAGE MEDIUM

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102432120B1 (ko) * 2020-06-18 2022-08-12 주식회사 클로봇 다수의 이동로봇들 간의 교통 상황을 고려한 주행 관리 서버 및 방법
CN114200917B (zh) * 2020-08-27 2023-09-01 郑州宇通客车股份有限公司 一种车辆换道控制方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101096592B1 (ko) * 2010-09-29 2011-12-20 국방과학연구소 장애물격자지도를 활용하는 무인차량의 자율주행성능 향상 장치 및 방법
US20120143372A1 (en) * 2010-12-06 2012-06-07 Samsung Electronics Co., Ltd. Robot and method for planning path of the same
KR20130101913A (ko) * 2012-03-06 2013-09-16 고려대학교 산학협력단 로봇의 주행 경로 계획 장치 및 방법
KR20130106161A (ko) * 2012-03-19 2013-09-27 노틸러스효성 주식회사 이동식 로봇의 전역경로 최적화 방법
KR20150136399A (ko) * 2014-05-27 2015-12-07 한국생산기술연구원 충돌 예측 로봇 원격 제어 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101096592B1 (ko) * 2010-09-29 2011-12-20 국방과학연구소 장애물격자지도를 활용하는 무인차량의 자율주행성능 향상 장치 및 방법
US20120143372A1 (en) * 2010-12-06 2012-06-07 Samsung Electronics Co., Ltd. Robot and method for planning path of the same
KR20130101913A (ko) * 2012-03-06 2013-09-16 고려대학교 산학협력단 로봇의 주행 경로 계획 장치 및 방법
KR20130106161A (ko) * 2012-03-19 2013-09-27 노틸러스효성 주식회사 이동식 로봇의 전역경로 최적화 방법
KR20150136399A (ko) * 2014-05-27 2015-12-07 한국생산기술연구원 충돌 예측 로봇 원격 제어 시스템 및 그 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110039540A (zh) * 2019-05-27 2019-07-23 聊城大学 一种多目标同时优化的服务机器人路径规划方法
CN111006666A (zh) * 2019-11-21 2020-04-14 深圳市优必选科技股份有限公司 机器人路径规划方法、装置、存储介质和机器人
CN111006666B (zh) * 2019-11-21 2021-10-29 深圳市优必选科技股份有限公司 机器人路径规划方法、装置、存储介质和机器人
EP4170452A4 (en) * 2020-06-22 2024-04-17 Jingdong Tech Information Tech Co Ltd PATH PLANNING METHOD AND APPARATUS, ROBOT AND STORAGE MEDIUM
WO2022007350A1 (zh) * 2020-07-08 2022-01-13 格力电器(武汉)有限公司 一种全局路径规划方法、装置、终端及可读存储介质
WO2023193056A1 (en) * 2022-04-06 2023-10-12 Freelance Robotics Pty Ltd 3d modelling and robotic tool system and method

Also Published As

Publication number Publication date
KR20190023834A (ko) 2019-03-08

Similar Documents

Publication Publication Date Title
WO2019045284A1 (ko) 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇
WO2019045293A1 (ko) 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇
KR20190134554A (ko) 동적 장애물을 식별하는 방법 및 이를 구현한 로봇
WO2018230852A1 (ko) 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
WO2018052204A1 (ko) 공항 로봇 및 그를 포함하는 공항 로봇 시스템
WO2017082606A1 (ko) 스마트 대피 유도 시스템 및 그 방법
KR101382982B1 (ko) 로봇의 주행 경로 계획 장치 및 방법
JP4621073B2 (ja) ロボット制御装置
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2018186583A1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
WO2011013862A1 (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
WO2018230845A1 (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
WO2015194865A1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2020226187A1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
WO2019004621A1 (ko) 진입제한영역을 식별하는 방법 및 이를 구현하는 로봇
WO2020241930A1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2020027515A1 (ko) 속성 블록을 설정하는 이동 로봇
WO2020218644A1 (ko) 인공지능을 이용하여 로봇의 위치를 재정의하는 방법 및 로봇
KR20220055167A (ko) 자율주행 로봇, 자율주행 로봇의 충돌 회피 방법 및 월드 맵 관리 방법
WO2020230931A1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법
WO2020141900A1 (ko) 이동 로봇 및 그 구동 방법
WO2019045288A1 (ko) 다중 로봇이 공간을 분할-작업하는 방법 및 이를 구현하는 로봇
JP2006259951A (ja) 警報装置、警報システム及び警報用コンピュータプログラム
JP6609588B2 (ja) 自律型モビリティシステムおよび自律型モビリティの制御方法
KR20210056694A (ko) 충돌을 회피하는 방법 및 이를 구현한 로봇 및 서버

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: 18850376

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: 18850376

Country of ref document: EP

Kind code of ref document: A1