WO2019045293A1 - 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 - Google Patents
타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 Download PDFInfo
- Publication number
- WO2019045293A1 WO2019045293A1 PCT/KR2018/008782 KR2018008782W WO2019045293A1 WO 2019045293 A1 WO2019045293 A1 WO 2019045293A1 KR 2018008782 W KR2018008782 W KR 2018008782W WO 2019045293 A1 WO2019045293 A1 WO 2019045293A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- obstacle
- sensing
- target
- path
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
Definitions
- the present invention relates to a method for generating a target-oriented local path and to a robot implementing the method.
- robots can move based on information about a given space.
- the robot maintains the information of the target point to be reached and can create and move the path. That is, the robot can generate a path from the current position to the target point (target point), and can move based on the generated path.
- variables can be generated in the process of moving based on the time and route of generating the route.
- the variables that can occur are the obstacles that are not predicted by the robot on the path generated by the robot. Or the structure of the space is changed at the time when the robot travels, unlike the point in time when the map information is generated.
- the robot can generate a local path reflecting the local information when generating the path.
- a situation occurs in which a robot is moved after a path is created, or a person is moved or obstacles are deployed to generate a variable in path travel. Therefore, we will consider how to effectively generate a local path and reflect it in the course of travel in order to cope with the same variables as the situation where obstacles are placed in the process of creating and moving the robot.
- the present invention proposes a method of estimating and generating a global path and a local path in a large area, and a robot implementing the method.
- a robot and a method for traveling along a real-time optimal path while avoiding an obstacle by moving a robot by integrating a global path and a local path are provided.
- a method for generating a target-oriented local path is a method for generating a target-oriented local path using a fixed map of a map storage unit reflecting the position of a fixed object and a plurality of target cells Generating a global path including at least one of the target cells arranged in the global path and a sensing unit for sensing the direction and distance of movement of the robot toward at least one of the N target cells selected by the control unit based on the position of the current robot among the target cells arranged in the global path, Sensing the obstacle not stored in the fixed map, the control unit selecting the target cell corresponding to the direction and the distance in which the obstacle is not sensed in accordance with the priority, the control unit generates a local path on which the robot moves with the selected target cell And the control unit includes controlling the moving unit of the robot so that the robot moves along the local path.
- a robot for generating a target-oriented local path includes a sensing unit, a moving unit, a work unit, a robot including a plurality of target cells from a starting point to a target point, The global path, and the N target cells selected based on the position of the current robot among the target cells arranged in the global path, and reflects the result of sensing the obstacle by the sensing unit corresponding to the direction and distance that the robot moves
- a map storage unit, a map storage unit, a moving unit, and a work unit, and the control unit selects a target cell corresponding to a direction and a distance in which no obstacle is sensed according to a priority order, And generates a local path through which the robot moves.
- the robot moves by integrating the global path and the local path corresponding to the change of the field situation, so that the robot can travel along the real time optimal path while avoiding obstacles.
- the robot is moved based on the local path in the process of actual movement, thereby improving the obstacle avoidance ability and maintaining the traveling speed of the robot, So that the robot can travel.
- FIG. 1 is a block diagram of a robot for generating a target-oriented local path according to an embodiment of the present invention.
- FIG. 2 and FIG. 3 are diagrams showing a configuration of a fixed map stored in a map storage unit according to an embodiment of the present invention.
- FIG. 3 is a diagram showing a configuration of a fixed map in which the positions of objects sensed by various sensing parts of the robot are displayed.
- FIG. 4 is a diagram illustrating a process in which a robot generates a global path and generates and moves a local path according to an embodiment of the present invention.
- FIG. 5 is a diagram illustrating a process of generating a global path according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating a process of generating a local path according to an exemplary embodiment of the present invention. Referring to FIG. 6
- FIG. 7 is a diagram for sensing the presence or absence of an obstacle within a certain range and comparing the sensing region with a target cell according to an embodiment of the present invention.
- FIG. 8 is a diagram for sensing an obstacle within a certain range of a sensing unit according to another embodiment of the present invention and comparing the same with a target cell.
- FIG. 9 is a diagram for determining a traveling direction of a robot based on sensing results of sensing units according to an embodiment of the present invention.
- FIG. 10 is a diagram illustrating a process of moving a robot without generating a local path, unlike FIG.
- FIG. 11 is a view showing a result of sensing the sensing part of the robot by level to generate the local path of the present invention.
- FIG. 12 is a diagram illustrating movement of a robot combining a global path and a local path according to an embodiment of the present invention.
- FIG. 13 is a diagram illustrating a robot selecting a specific sensing area and reflecting it on a local path according to an embodiment of the present invention.
- FIG. 14 is a view showing a robot selecting a specific sensing area and reflecting it on a local path according to another embodiment of the present invention.
- 15 is a diagram illustrating a process of generating a target-oriented local path by a robot according to an embodiment of the present invention.
- 16 is a diagram illustrating a process of generating a global path and a local path according to another embodiment of the present invention.
- 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 500 includes a sensing unit 100 that senses an object (i.e., an obstacle) disposed on the outside as a component of the robot 500, a map storage unit 200 that stores a position of a fixed object in a space in which the robot moves A moving unit 310 for moving the robot, a communication unit 300 for exchanging information with an external server or another external robot, and a work unit 320 for performing a work by the robot.
- a sensing unit 100 that senses an object (i.e., an obstacle) disposed on the outside as a component of the robot 500
- a map storage unit 200 that stores a position of a fixed object in a space in which the robot moves
- a moving unit 310 for moving the robot a communication unit 300 for exchanging information with an external server or another external robot
- a work unit 320 for performing a work by the robot.
- the robot 500 also includes a control unit 400 for controlling the respective components, and an interface unit 330 for outputting the operation state of the robot and receiving an instruction input from the outside.
- 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 depth sensing unit for calculating a depth value, a vision sensing unit for calculating vision information, an infrared (IR) sensing unit, an ultrasonic sensing unit, . ≪ / RTI >
- 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.
- the robot 500 may include an infrared sensing unit instead of the Rada 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 robot 500 may include an infrared sensing unit instead of the depth sensing unit 120.
- An infrared sensing unit is arranged at various heights of the robot 500 so that height information of objects arranged in the forward direction or height information of objects within a certain distance can be sensed among the objects sensed by the sensing unit 110,
- the infrared sensing unit of the infrared sensing unit 110 may combine the information of the sensed objects and the information sensed by the sensing unit 110 to generate a two-dimensional or three-dimensional map.
- the map storage unit 220 of FIG. 1 may store the global path and the local path in the global path storage unit 210 and the local path storage unit 220, respectively.
- FIG. 2 and FIG. 3 are diagrams showing a configuration of a fixed 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. Then, dividing the entire space by a predetermined cell results in 12 in Fig. If the values of the cell with the obstacle and the cell without the obstacle are set differently based on 12 of FIG. 2, it can be a fixed map.
- the color display includes displaying the value of the cell stored in the interface unit of the robot as a specific cell.
- a value indicating an obstacle placed in each cell can be stored have.
- two or more sensing units when used to store the results of sensing the obstacles on the map, they can be stored separately.
- an object sensed by the Rada sensing unit 110, an object sensed by the depth sensing unit 120, and an object sensed by both the Rada sensing unit 110 and the depth sensing unit 120 are classified into a map And can be stored in the storage unit. This will be described with reference to FIG.
- FIG. 3 is a diagram showing a configuration of a fixed map in which the positions of objects sensed by various sensing parts of the robot are displayed.
- the fixed map 200a is stored in the map storage unit 200, and the robot 500 may have at least one fixed map 200a.
- FIG. 3 is a map showing whether a fixed object that does not move based on a cell to which the entire space is uniformly distributed is arranged.
- the size of the cell in FIG. 3 can be determined in consideration of the moving speed of the robot, the size of the robot, or the sensing resolution of the sensing unit 100.
- the size of the cell can be determined based on the size of the robot, and the size of the cell can be determined by the moving speed per second based on the moving speed of the robot.
- Objects (obstacles) in the fixed map 220a of FIG. 3 may be represented by D / L / F. This is differently displayed depending on the type of the sensing unit for sensing objects, and in the case of “ D “, it means when the depth sensing unit 120 senses an object in the corresponding cell. And if it is " L “, it means that the Ridas sensing unit 110 senses the object in the corresponding cell. In case of " F ", both the lidar sensing unit 110 and the depth sensing unit 120 sense the object.
- the map configuration of FIG. 3 corresponds to an embodiment.
- the fixed object may be displayed as a categorized number according to the configuration method, or the color of the cell may be specified so that the object can be displayed and the position of the object can be confirmed.
- the robot can generate a global path to move to a target point (Goal Point, G) with a specific position as a starting point.
- a target point Goal Point, G
- the robot can create a global path according to the type of work the robot should perform.
- the global path generated by the controller 400 of the robot 500 is shown by a line.
- FIG. 3 shows the global path including the pass point (P), which is a point that must be included in the global path up to the target point G of the robot, in the form of arrows.
- the local path can be created in various ways. In the present specification, it is desired to configure the local path to be efficiently generated in accordance with the global path as much as possible.
- 4 is a diagram illustrating a process in which a robot generates a global path and generates and moves a local path according to an embodiment of the present invention.
- 4 is a diagram illustrating a process of generating a local path in a process of moving a robot after creating a global route before moving.
- the control unit 400 generates a global path by combining the positions of the objects in the space stored in the map storage unit 200 and the points at which the robot 500 should pass through the traveling process (S21). The generation of the global path will be described later.
- the global path can vary depending on the size of the space, the number of objects, and the number of points that must pass.
- the creation of the global path can be performed only once before the robot arrives at the destination.
- the creation of the global path may be newly created while passing through the points to be passed as described above.
- the control unit 400 can determine whether the robot is moving at the time of global path generation in accordance with a preset reference (time, moving distance, etc.).
- the robot 500 can generate a new global path according to the number of moving objects sensed in the process of moving the robot, or in accordance with the generation process of the local path that does not match the original global path.
- the robot senses the object in the N cells arranged on the path before the movement (S22).
- the cells indicated by the arrows are cells arranged on the global path.
- the sensing unit 100 is checked to see if the object is located at each cell. N can be changed according to the moving speed of the robot and the distribution situation of the object on the outside.
- N may be proportional to Vc and inversely proportional to Obj_ratio. That is, when the speed Vc of the robot is fast, the time to stay in one cell is shortened, and more cells can be moved within a given time, so that it is possible to detect whether an obstacle is arranged to a further cell can do. On the other hand, if the probability of an object is high, the probability that a new object will appear on the path soon after sensing an object that is an obstacle to a far-away cell can be reduced.
- N may be fixedly set in the control unit 400 in advance.
- the controller 400 increases the number of N by integrating the number of objects, the number of occurrences, or the distribution of objects around the obstacle in the process of repeating the process of step S22 Or reduced.
- the value of N is calculated by using the control unit (e.g., a robot) using any one or more of the information necessary for the robot to reach the target cell, the distribution of obstacles, the speed of occurrence of the obstacle, the size of the robot, 400 can determine.
- the control unit e.g., a robot
- the control unit generates a local path by reflecting the result of sensing the object in the N cells (S23). For example, if no objects are sensed in all of the N cells, the robot can generate a local path that goes directly to the Nth cell. On the other hand, when the object is sensed in some cells among the N cells, the local path can be generated so that the object moves to the cell located farthest away from the sensor.
- Steps S22 and S23 are summarized as follows.
- the control unit 400 plans the local path by using the cells of N (T1, T2, T3, ..., TN) received from the global path and allocates the local path from the TN (The object is not sensed) from the cell TN having a higher priority, and moves to the corresponding cell if the cell is movable.
- the robot moves along the created path, and moves in the course of performing the obstacle avoiding motion (S24).
- the sensing unit 100 continuously senses the proximity obstacle in the moving process and performs motion to avoid the proximity obstacle when it is sensed.
- the avoidance motion of the near obstacle includes a corresponding motion to the obstacle that suddenly appears in the movement process along the local path.
- the corresponding motion it is possible to perform a motion of running a wall running along the side surface of the obstacle, or a motion of avoiding the obstacle by rotation after the backward movement.
- the proximity obstacle avoidance motion is divided into two methods, namely, the month following method and the back method.
- the controller 400 controls the robot to move around the obstacle. This includes a method in which, when the width of the sensed obstacle is small, the robot travels along the local path to depart from the local path, and moves back along the local path after the obstacle is distant from the obstacle.
- the back moving method is a method in which the controller 400 moves backward to move away from an obstacle and then moves in a direction in which there is no obstacle. This is because if the width of the sensed obstacle is large, the speed may be slowed down when the robot follows the walking obstacle. Therefore, the controller 400 controls the back moving method Can be selected.
- the above-described S22 and S23 can be repeated in real time. This can be repeated in real time or at a constant period (for example, 20 ms) in consideration of the moving speed of the robot and a situation in which the object, which is an obstacle, is sensed by the sensing unit 100.
- FIG. 5 is a diagram illustrating a process of generating a global path according to an embodiment of the present invention.
- the creation of the global path can be performed by the control unit 400 as an environment variable, such as the gateway point P on the map, the target point, and the work to be performed by the robot.
- a global path can be created in real time or at a certain time interval (5 to 8 seconds).
- the global path can be generated by reflecting the moving speed of the robot, the probability that the objects not arranged in the map are sensed, or the distribution of the sensed objects.
- the control unit of the robot confirms the position of the object arranged from the current position to the target point G or the gateway point P to be the intermediate target in the fixed map (S31), and generates the global path by reflecting the environment information of the robot (S32). That is, the environment information of the fixed map and the robot is used to generate the global path.
- the environment information refers to a type of work the robot has to perform, a condition that the robot must cover a certain range of cells in the space of the given map, or the like.
- the robot determines that the robot has performed tasks (monitoring, security search, cleaning, etc.) up to one cell on each side of the cell where the robot moves, the robot reflects this in the process of generating the global path, You can create a global path with more than one space.
- the controller 400 of the robot can generate the global path by reflecting the environment information.
- the controller 400 of the robot can generate a global path so as to reduce the maximum change in direction. This also applies when creating a local path.
- the direction change is an embodiment, and if the velocity is important during the movement of the robot, the global path can be generated in the direction of maximizing the speed. Also, if it is necessary to cover a lot of space, the control unit 400 can densely generate a global path.
- the environmental information that the robot reflects in the process of creating the global path or the local path may be the moving speed of the robot, the turning speed of the robot, the working cell of the robot, . 5, the controller 400 may generate a global path that passes through the gateway point P and reaches the target point G as shown in FIG.
- the global path means a path including a plurality of target cells from a position of a fixed object in a space in which the robot moves and a target point to a starting point.
- FIG. 6 is a diagram illustrating a process of generating a local path according to an exemplary embodiment of the present invention.
- FIG. 41 of FIG. 6 shows an embodiment of the global path.
- the target point including the gate point
- G The order of movement of the global path from S to G.
- N is set to 3 in N cells received by the robot to generate a local path.
- the value of N can be changed in the process of moving the global path according to the characteristics of the external obstacle or the moving speed of the robot, which are identified in the process of moving the robot. For example, in an area where a large number of obstacles are sensed, the robot sets the N value to a low value.
- the robot sets the N value to a high value.
- the number of obstacles (area) placed in a specific sensing area at the time of generating the local path is temporarily stored, and when the next local path is generated, the number of obstacles sensed (area)
- the value of N can be increased or decreased.
- the sensing unit 100 senses whether an obstacle object is disposed between T3 and S, which are the farthest target cells. If there is no obstacle between the sensing results S-T3, S creates a local path to go directly to T3.
- the robot moves along the generated local path in a linear direction from S to T3 as shown at 42 and reaches T3 without passing through T1 and T2, and T3 becomes a new starting point.
- the sensing unit 100 senses whether an obstacle object is disposed between the distant target cells T2 and S next. If there is no obstacle between the sensing results S-T2, S creates a local path to go directly to T2. The robot moving along the generated local path moves in a linear direction from S to T2 as shown in 43 and reaches T2. If it is not possible to move to T2, the robot moves to T1. In this process, if the object is placed in the T1 direction, it can move to the obstacle avoidance motion.
- FIG. 7 is a diagram for sensing the presence or absence of an obstacle within a certain range and comparing the sensing region with a target cell according to an embodiment of the present invention.
- the sensing unit 100 senses whether an obstacle is arranged in the direction of the target cell to which the robot is to be moved using the ladder sensing unit 110 or the depth sensing unit 120 described above.
- the Lidia sensing unit 110 may sense objects disposed within a certain range (angular range of 360 degrees or less). A process of sensing in the space corresponding to the target cells T1 to T3 of the space arranged as shown in FIG.
- the sensing unit 100 of the robot senses the object within a certain range.
- the area to be sensed can be divided into a distance and a direction by a sensing method.
- objects can be sensed within a certain distance within a range of 270 degrees or 360 degrees.
- the sensing angle can be adjusted in consideration of the movement of the robot and the characteristics of objects in the space.
- the lidar sensing unit 110 senses the object according to any one of the angular references divided into various degrees such as 1 degree, 7.5 degrees, 10 degrees, and 15 degrees by dividing the whole angle, As shown in FIG. 7, the Ridas sensing unit 110 at the S position can sense that some angles overlap. For example, in the portion indicated by 45 in FIG. 7, it can be seen that the Rada sensing unit 110 performs sensing 10 times at the S position.
- the LA is the first sensing (1 st Sensing) using the sensing unit 110, the area is a state object is not sensed. Similarly, the object is not sensed in the second to fourth sensing areas (2 nd to 4 th ). These second to fourth sensing areas are identified as target cells T1 (priority level 3) and T2 (priority level 2). In this case, the control unit 400 confirms that T1 and T2 are movable cells.
- the controller 400 of the robot can control the moving unit 310 to linearly move to the T3 cell having the highest priority.
- the control unit 400 can control the moving unit 310 to move the robot to the T2 cell.
- the sensing ranges of FIG. 7 may be partially overlapping. 7, the first sensing region and the second sensing region are partially overlapped, and the second, third, ..., ninth and tenth sensing regions are overlapped. This is a function that can be selectively implemented by the robot to increase the accuracy of object sensing.
- the Rada sensing unit 110 can sense the distances of the obstacles arranged in the direction of the N target cells to sense the obstacle. For example, the distances of the obstacles arranged in the T3 direction, the T2 direction, and the T1 direction can be sensed. If the obstacle is disposed at a distance closer than T3 in the T3 direction or in the T3 direction, If deployed, the robot does not move to T3.
- the robot can move to T2.
- the distance and direction between the robot and the target cell can be confirmed by using the fixed map stored in the map storage unit 200, and the lidar sensing unit 110 senses the obstacles arranged in the corresponding direction, can do.
- FIG. 7 has been described mainly with respect to the Raid sensing part 110, the same effect can be obtained by using the depth sensing part 120.
- the Rada sensing unit 110 senses objects within a very wide range of angles while the depth sensing unit 120 senses objects in the direction of robot movement, thereby complementarily sensing an object.
- the depth sensing unit 120 can sense a wider range than the Ridas sensing unit 110 when sensing.
- the depth sensing unit 120 may sense the depth values of the objects in the third to seventh sensing areas indicated by 45 in FIG.
- the control unit 400 can confirm the placement of objects using the value sensed by the ladder sensing unit 110 and the value sensed by the depth sensing unit 120.
- the depth sensing unit 120 senses the depths of the objects arranged in the direction of the T3 cell among the movable target cells T1, T2, and T3. Then, the depth sensing unit 120 determines whether movement is possible to the T3 based on the sensing. If possible, the robot 500 moves. On the other hand, if it is impossible to move to T3 after checking the positions of the objects arranged in the direction of the T3 cell, the position of the objects in the direction of the T2 cell may be sensed and then moved to T2 or T1.
- the depth sensing unit 120 can generate the depth values of the objects disposed in the front direction of the robot. Particularly, when the depth sensing unit 120 generates the depth values of the obstacles arranged in the direction of the target cells, The controller 400 can select a target cell to be moved. In one embodiment, when the depth sensing unit 120 generates a distance of a distance of the obstacle from the direction T3 to a distance that is longer than the distance T3, the local path can be linearly formed from S to T3.
- FIG. 8 is a diagram for sensing an obstacle within a certain range of a sensing unit according to another embodiment of the present invention and comparing the same with a target cell.
- the sensing unit 100 confirms that the obstacle 1 is disposed in the direction of the target cells T1, T2, T3. That is, an obstacle is arranged in the area of the T3 cell, and it is confirmed that the robot collides with the robot in the progress of the robot. As a result, the control unit 400 of the robot moves to T2, which is the next target cell, not T3.
- 52 shows a state in which the obstacle 2 is arranged close to the robot in the process of moving to the T2 cell.
- the robot moves away from the obstacle 2 while maintaining a certain distance by using various sensing parts of the sensing part 100, for example, an ultrasonic sensing part, an infrared sensing part, .
- the robot moves based on the local path in the process of actual movement of the robot, thereby improving the obstacle avoidance ability and making the motion of the robot natural.
- the robot moves only after setting the node-based global path, not only the motion is unnatural, but also the efficiency of avoiding and moving obstacles may be lowered.
- the sensing unit 100 senses whether the robot can move to the position of the target cell (TN ⁇ T1) derived from the global path and moves to the selected target cell instead of depending only on the local path in response to the appearance of the obstacle, You can create a local path on the basis of the path.
- the fixed map uses heterogeneous sensing units of various heights (depth and radius), so that all obstacles at various heights can be identified.
- FIG. 9 is a diagram for determining a traveling direction of a robot based on sensing results of sensing units according to an embodiment of the present invention.
- the sensing unit 100 senses whether an obstacle (object) is disposed within a range of level 1 (Lv1), level 2 (Lv2), or level 3 (Lv3).
- the level corresponds to the target cells on the global path where the robot moves to the target position.
- level 1 is a distance range corresponding to a position of a target cell having a first priority
- level 2 is a distance range corresponding to a position of a target cell having a second priority
- level 3 is a distance range corresponding to a target having a third priority Is the distance range corresponding to the position of the cell.
- the original movement path of the robot needs to be moved linearly to the target position, but when the local path is applied, it can move between the two obstacles. In this case, since the robot can move without performing the close avoidance motion for the two obstacles, the moving speed of the robot can be increased. After passing through the obstacle, the robot again detects an obstacle, generates a local route, and moves accordingly.
- the sensing unit 100 determines whether there is an obstacle in the process of moving the robot to the target cell (the target cell having the highest priority) that is farthest within the range to which the robot is to move.
- the sensing unit 100 may determine the obstacle based on the size of the robot, the size of the robot, the size of the obstacle, and the margin during the sensing process of the obstacle.
- FIG. 10 is a diagram illustrating a process of moving a robot without generating a local path, unlike FIG.
- the robot moves along the global path.
- the obstacle When the obstacle is sensed in the movement process, it operates according to the proximity avoidance motion avoiding the obstacle. This lowers the speed of the robot. Also, unlike FIG. 9, since the obstacle is moved closer to the obstacle and the obstacle is avoided again, the moving distance of the robot increases and the moving efficiency of the robot is lowered.
- FIG. 11 is a view showing a result of sensing the sensing part of the robot by level to generate the local path of the present invention.
- the level depends on the number of target cells referenced in the global path at the current position of the robot. When the number of target cells increases, the robot can deal with obstacles more variously, but the amount of computation increases. Also, even if a local path that moves to a target cell at a long distance is generated due to an increase in the number of target cells, a new obstacle may appear in the movement process and a situation may arise in which a close avoidance motion must be performed.
- the controller 400 of the robot determines the number of target cells in consideration of the number of objects, i.e., the cumulative number of times the obstacles appear, the distribution of obstacles (which can be calculated using the Raid sensing unit 110) Can be adjusted.
- the control unit 400 confirms the sensing result of the sensing unit 100 that the path that can be traveled at the level 1 is calculated with the target cell being the farthest as a priority.
- the controller 400 can identify a region where a collision occurs in a level and a non-collision region using the Lada sensing portion 110 and the depth sensing portion 120.
- Reference numeral 61 denotes a global path generated by the control unit 400. If the robot does not create a local path, it moves to S, T1, T2, ..., T5, G.
- 62 and 63 are embodiments in which a local path is generated using three target cells.
- 62 is an example in which the sensing result of the sensing unit 100 is confirmed that the robot can travel to the highest level T3 among the three target cells, and a local path in which the robot moves is generated at T3.
- 63 is the second one among the three target cells, which is able to travel up to a high level T2, and the sensing result of the sensing unit 100 is confirmed, thereby generating a local path in which the robot moves by T2.
- various sensing units can be used together to cope with the sudden approaching obstacle in the course of the movement of the robot.
- the robots move by integrating the global path and the local path, thereby ensuring the optimum path and obstacle avoidance and smooth motion.
- Efficiency In the embodiment of FIG. 9, which identifies an obstacle at a long distance to generate a local path, and in the embodiment of FIG. 10 which takes a motion to avoid an obstacle while moving based on a global path to a destination position, Efficiency.
- the control unit 400 may reflect both the radius and the margin of the robot as environment variables in the process of generating the local path to ensure the reliability of the obstacle avoidance.
- sensing units (lidar / depth / ultrasonic waves) constituting the sensing unit 100 are arranged at various heights of the robots so that all obstacles having various heights can be recognized, Enabling the robot to travel.
- the sensing speed and accuracy can be enhanced when the sensing unit 100 senses a focus in a specific range.
- the controller 400 may sense the object only in the direction in which the target cell is located in the process of sensing the object so that the sensing speed and accuracy of the obstacle can be increased.
- the three target cells (T1, T2, T3) calculated in the global path constitute a local path depending on the presence or absence of an obstacle.
- Priorities can be assigned in the order of T2 and T1 based on the farthest target cell, that is, the highest priority target cell T3, and whether the robot can move from the farthest (highest priority) target cell You can verify and create a local path. If all the target cells are unable to move because of obstacles, it is possible to perform the wall-following method or the back-moving method according to the motion corresponding to the obstacle.
- the current position of the robot can be moved so that the robot can move in another direction. For example, if the movement to T1, T2, T3 in Fig. 12 is impossible due to an obstacle, the robot moves to a cell indicated by M capable of moving at right angles to the target point G to regenerate the local path The process can be repeated. Alternatively, the robot may move to M and create a new global path.
- FIG. 13 This difference will be discussed in more detail in FIGS. 13 and 14.
- FIG. 13 is a diagram illustrating a robot selecting a specific sensing area and reflecting it on a local path according to an embodiment of the present invention.
- Fig. 13 three target cells are arranged, and the obstacles are arranged far away from the target cell.
- the controller 400 of the robot sets the sensing area in the direction of the farthest target cell T3 having the highest priority.
- the sensing unit 100 of the robot senses the object in the sensing area and moves along the local path in the direction of T3.
- position information on three target cells (T1, T2, T3) closest to the current position in the global path in the global path is identified. And registers the position of the obstacles within a range defined by the distance from level 4 (LV1 to LV4) at a certain angle (within 270 degrees or 360 degrees). Then, selectable sensing areas are identified based on the position of the registered obstacle.
- the selectable sensing region includes an area in which no obstacle is arranged among the directions in which the target cell is located. In this process, it is checked whether or not there is a sensing area that can be sensed in the vicinity of the position of the farthest target cell T3. If possible, the sensing unit 100 senses whether an obstacle exists in the sensing area, do.
- FIG. 14 is a view showing a robot selecting a specific sensing area and reflecting it on a local path according to another embodiment of the present invention.
- three target cells are arranged, and the obstacles are arranged adjacent to the target cell.
- the controller 400 of the robot can not move the obstacle in the direction of the farthest, the highest priority target cell T3 and the direction T2, and thus the sensing area is moved in the direction of the next target cell T1 Setting.
- the sensing unit 100 of the robot senses the object in the sensing area and moves in the direction T1 along the local path.
- the local path corresponds to a direction and a distance in which the robot moves in at least one of N target cells selected based on the position of the current robot among the target cells arranged in the global path, 100) generated by the control unit 400 to reflect the result of sensing the obstacle.
- the controller 400 selects a target cell corresponding to a direction and a distance in which an obstacle is not sensed according to a priority order, and generates a local path through which the robot moves with the selected target cell.
- the priority includes setting the priority in the farthest order in a certain range (N).
- 15 is a diagram illustrating a process of generating a target-oriented local path by a robot according to an embodiment of the present invention.
- the control unit 400 of the robot uses the fixed map of the map storage unit reflecting the position of the fixed object and the environment information of the robot or generates a global path including a plurality of target cells from the start point to the target point by reflecting the environment information (S71) .
- the environmental information reflects at least one of a target point on a fixed map, a gateway point, a range of cells to be operated when the robot runs, and a moving speed of the robot.
- the global path of the robot can have a dense configuration on the fixed map.
- the space becomes a gateway point, and the controller 400 can generate a global path so as to pass through the gateway point optimally.
- the robot After generating the global path, the robot performs steps S72 to S74 for generating a local path using the sensing process.
- the sensing unit corresponds to a direction and a distance in which the robot moves toward at least one of the N target cells selected by the control unit 400 based on the current position of the robot among the target cells arranged in the global path, An unstored obstacle is sensed (S72). After selecting three target cells in FIGS. 6 to 14, a process of sensing an obstacle in the sensing unit 100 according to the direction and distance that the robot moves to the target cell having the highest priority has been described.
- the controller 400 selects the target cell corresponding to the direction and the distance in which the obstacle is not sensed according to the priority order (S73), and the controller 400 generates a local path on which the robot moves with the selected target cell (S74) . Thereafter, the control unit 400 controls the moving unit 310 of the robot so that the robot moves along the local path. As a result, the robot moves along the local path (S75).
- the sensing step of S72 will be described in detail.
- the sensing unit 100 can sense the obstacle in the sensing area within the entire sensing angle (270 to 360 degrees), and can sense the obstacle in the specific sensing area. Accordingly, in the sensing step, the controller 400 selects the N closest target cells T1, T2, ..., TN to be moved in the global path based on the current position of the robot. 6 to 14, the process of selecting three target cells T1, T2, T3 by setting N to 3 has been described.
- the control unit 400 assigns priorities in the order of TN, TN-1, ..., Tl in order of T1, T2, ... in the order close to the position of the robot.
- the control unit 400 compares the target cell with the target cell in order of priority with respect to the position information of the obstacle sensed by the sensing unit 100. If the target cell having the higher priority is able to move, Set to the local path.
- a global path and a local path can be estimated and generated in a large area.
- two or more types of sensing units can be used, it is possible to compare the obstacles having various heights to the fixed map or to update the fixed object with the fixed object to generate the global path to the final destination.
- the local path is generated using the position information of the target cells on the route (determined by N) within a radius near the current robot position in the created global path.
- the obstacles sensed by the two or more sensing units obtained above are abstracted and used for local path planning, as shown in FIGS. 13 and 14.
- FIG. 13 and 14 the obstacles sensed by the two or more sensing units obtained above are abstracted and used for local path planning, as shown in FIGS. 13 and 14.
- the robot moves by integrating the global route and the local route, it is possible to travel along the optimum route in real time while avoiding obstacles. Also, since the local path is generated by considering the size of the obstacle, the size of the robot, and the margin that can be passed, the traveling speed can be secured while avoiding obstacles safely.
- 16 is a diagram illustrating a process of generating a global path and a local path according to another embodiment of the present invention.
- the control unit 400 generates a global path by combining information on the positions of the objects in the space stored in the map storage unit 200 and the points at which the robot 500 should pass through the traveling process (S80).
- the global path can vary depending on the size of the space, the number of objects, and the number of points that must pass.
- the creation of the global path can be performed only once before the robot arrives at the destination.
- the creation of the global path may be newly created while passing through the points to be passed as described above.
- the control unit 400 can determine whether the robot is moving at the time of global path generation in accordance with a preset reference (time, moving distance, etc.).
- the robot senses the object in N target cells disposed on the path before movement (S81). This involves generating more optimized local paths at the time of path creation and also sensing whether new objects that are not reflected in the global path creation process are placed in the path.
- the control unit 400 of the robot performs motion to avoid the proximity obstacle (S87).
- the avoidance motion of the proximity obstacle includes a corresponding motion for the sudden obstacle that suddenly appears in the course of the robot moving along the path after generating the path.
- the corresponding motion it is possible to perform a wall running (wall following method) running along the side surface of the obstacle, or a motion (back moving method) to avoid an obstacle by turning back after the obstacle.
- the robot confirms whether it has reached the target point (S88). If it does not arrive, it is determined whether or not it is time to create a global route (S89). If it is not necessary to regenerate the global route, movement is performed in a step S81. On the other hand, if the global path is to be regenerated, the global path is created in step S80 and then moved.
- the generation time of the global path can be configured according to the time, distance, or environmental change of the robot. For example, if there is no change in the sensed state after generating the global route in step S80, the robot does not correspond to the time when the global route is generated because the robot maintains the global route and moves.
- the global path needs to be modified on the global path, for example, if the obstacle that can not reach the gateway point is newly sensed, it is necessary to create a global path excluding the gateway point.
- a new global route can be created when the gateway point (P) to which the robot has to pass is excluded from the travel route due to the appearance of the obstacle.
- the robot can select the cell corresponding to the passing point in the process of reaching the target point, and calculate the global path or the local path.
- a gate point indicated by P is a cell that the robot must pass through in the movement process.
- the target point marked G is the robot's final destination for the global path. The robot generates the P point in the process of generating the global path, and can reflect this in the process of generating the local path.
- 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
본 발명은 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 공간을 분할-작업하는 로봇은 로봇이 이동하는 공간의 고정 객체의 위치와 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로, 그리고 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 선택된 N개의 타겟셀 중 어느 하나 이상으로 로봇이 이동하는 방향 및 거리에 대응하여 센싱부가 장애물을 센싱한 결과를 반영하여 생성된 로컬 경로를 저장하는 맵 저장부와 센싱부와 맵 저장부와 이동부와 작업부를 제어하며, 제어부는 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하여 선택한 타겟셀로 로봇이 이동하는 로컬 경로를 생성하는 제어부를 포함한다.
Description
본 발명은 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 대규모 유동인구 공간에서 로봇은 주어진 공간에 대한 정보에 기반하여 이동할 수 있다. 이 과정에서 로봇은 도달해야 하는 타겟 지점의 정보를 유지하며 경로를 생성하여 이동할 수 있다. 즉, 로봇은 현재 위치에서 타겟 지점(목표 지점)까지 도달하기 위한 경로를 생성하고, 생성된 경로에 기반하여 이동할 수 있다.
그런데, 경로를 생성하는 시점과 경로에 기반하여 이동하는 과정에서 다양한 변수가 발생할 수 있다. 발생할 수 있는 변수란 로봇이 생성한 경로 상에 로봇이 예측하지 못한 장애물이 배치되는 것을 의미한다. 또는 맵 정보가 생성된 시점과 달리 로봇이 주행하는 시점에서 공간의 구조가 변경되는 것 역시 발생할 수 있는 변수이다.
변수에 대응하기 위해서 로봇은 경로 생성시 로컬 정보를 반영한 로컬 경로(local path)를 생성할 수 있다. 특히, 인적, 물적 교류가 활발한 대규모 유동인구 공간에서는 로봇이 경로를 생성한 시점 이후에도 사람이 이동하거나 장애물이 배치되어 경로 주행에 변수를 발생시키는 상황이 발생한다. 따라서, 로봇이 경로를 생성하여 이동하는 과정에서 장애물이 배치되는 상황과 같은 변수에 대응하기 위해 로컬 경로를 효과적으로 생성하여 이를 주행 과정에서 반영하는 방안에 대해 살펴본다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 대면적에서 전역 경로와 로컬 경로를 추정하여 생성하는 방안 및 이를 구현하는 로봇을 제안한다.
또한. 본 명세서에서는 전역 경로와 로컬 경로를 통합하여 로봇이 이동하여 장애물을 회피하면서도 실시간 최적 경로를 따라 주행하는 방법 및 로봇을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 타겟 지향 로컬 경로를 생성하는 방법은 로봇의 제어부가 고정 객체의 위치가 반영된 맵저장부의 고정맵 및 로봇의 환경 정보를 이용하여 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로를 생성하는 단계, 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 제어부가 선택한 N개의 타겟셀 중 어느 하나 이상을 향하여 로봇이 이동하는 방향 및 거리에 대응하여 센싱부가 고정맵에 저장되지 않은 장애물을 센싱하는 단계, 제어부는 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하는 단계, 제어부는 선택한 타겟셀로 로봇이 이동하는 로컬 경로를 생성하는 단계, 및 제어부는 로봇이 로컬 경로를 따라 이동하도록 로봇의 이동부를 제어하는 단계를 포함한다.
본 발명의 다른 실시예에 의한 타겟 지향 로컬 경로를 생성하는 로봇은 센싱부, 이동부, 작업부, 로봇이 이동하는 공간의 고정 객체의 위치와 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로, 그리고 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 선택된 N개의 타겟셀 중 어느 하나 이상으로 로봇이 이동하는 방향 및 거리에 대응하여 센싱부가 장애물을 센싱한 결과를 반영하여 생성된 로컬 경로를 저장하는 맵 저장부, 센싱부와 맵 저장부와 이동부와 작업부를 제어하며, 제어부는 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하여 선택한 타겟셀로 로봇이 이동하는 로컬 경로를 생성하는 제어부를 포함한다.
본 발명의 실시예들을 적용할 경우, 전역 경로와 현장 상황의 변화에 대응적인 로컬 경로를 통합하여 로봇이 이동하므로, 장애물을 회피하면서도 실시간 최적 경로를 따라 주행할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 전역 경로를 생성한 후, 로봇이 실제 이동하는 과정에서는 로컬 경로에 기반하여 이동하도록 구현하여 장애물 회피 능력을 향상시키고 로봇의 주행 속도를 유지하면서 전역 경로에서 벗어나지 않도록 로봇이 주행할 수 있도록 한다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 타겟 지향 로컬 경로를 생성하는 로봇의 구성을 보여주는 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 맵저장부에 저장되는 고정맵의 구성을 보여주는 도면이다.
도 3은 로봇의 다양한 센싱부들이 센싱한 객체들의 위치를 표시한 고정맵의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 로봇이 전역 경로를 생성하고 로컬 경로를 생성하여 이동하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 전역경로를 생성하는 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 로컬 경로를 생성하는 과정을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 센싱부가 일정 범위 내의 장애물의 존재 유무를 센싱하고 이를 타겟셀과 비교하는 도면이다.
도 8은 본 발명의 다른 실시에에 의한 센싱부가 일정 범위 내의 장애물을 센싱하고 이를 타겟셀과 비교하는 도면이다.
도 9는 본 발명의 일 실시예에 의한 센싱부들의 센싱 결과에 기반하여 로봇의 주행 방향을 결정하는 도면이다.
도 10은 도 9와 달리 로컬 경로의 생성 없이 로봇이 이동하는 과정을 보여주는 도면이다.
도 11은 본 발명의 로컬 경로를 생성하기 위해 로봇의 센싱부가 레벨 별로 센싱한 결과를 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 전역 경로와 로컬 경로를 결합한 로봇의 이동을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 로봇이 특정한 센싱 영역을 선택하여 로컬 경로에 반영하는 도면이다.
도 14는 본 발명의 다른 실시예에 의한 로봇이 특정한 센싱 영역을 선택하여 로컬 경로에 반영하는 도면이다.
도 15는 본 발명의 일 실시예에 의한 로봇이 타겟 지향 로컬 경로를 생성하는 과정을 보여주는 도면이다.
도 16은 본 발명의 다른 실시예에 의한 전역 경로와 로컬 경로를 생성하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 사용할 용어들을 정의한다. 전역 경로(Global path)는 로봇의 시작 위치 또는 현재 위치를 출발점(Starting Point)로 하여 목적지점(Target Point)까지의 경로를 의미한다.
로컬 경로(Local path, 지역 경로)는 로봇이 전역 경로 또는 새로 생성한 로컬 경로를 따라 주행하는 과정에서 새롭게 생성하는 경로를 의미하며, 로봇이 일정한 주기를 가지고 주위의 장애물을 감지하여 생성하는 경로이다.
도 1은 본 발명의 일 실시예에 의한 타겟 지향 로컬 경로를 생성하는 로봇의 구성을 보여주는 도면이다. 로봇(500)은 로봇(500)의 구성요소로 외부에 배치된 객체(즉, 장애물)를 센싱하는 센싱부(100), 로봇이 이동하는 공간의 고정 객체의 위치를 저장하는 맵저장부(200), 로봇을 이동시키는 이동부(310), 외부 서버 혹은 외부의 다른 로봇과 정보를 교환하는 통신부(300), 그리고 로봇이 작업을 수행하는 작업부(320)를 포함한다.
또한 로봇(500)은 각 구성요소들을 제어하는 제어부(400)와 로봇의 동작 상태를 출력하고 외부로부터 입력되는 지시를 수신하는 인터페이스부(330)를 포함한다. 실시예에 따라 통신부(300) 및 인터페이스부(330)는 선택적으로 로봇에 포함될 수도 있고 포함되지 않을 수도 있따.
센싱부(100)는 외부 사물의 존재 혹은 거리, 특성 등을 센싱하는 다양한 종류의 센서들을 의미한다. 본 발명의 실시예들을 적용할 경우, 센싱부(100)는 뎁스 값을 산출하는 뎁스 센싱부, 비전 정보를 산출하는 비전 센싱부, 적외선(IR) 센싱부, 초음파 센싱부, 라이다 센싱부 등을 포함할 수 있다. 로봇은 둘 이상의 센싱부들을 이용하여 보다 정확하게 외부의 장애물을 감지할 수도 있다.
본 명세서에서의 일 실시예에서 센싱부(100)는 전술한 다양한 센싱부들 중에서 주요하게 라이다 센싱부(110)와 뎁스 센싱부(120)를 이용하여 외부에 배치된 객체(사물 또는 사람 등 로봇이 충돌할 수 있는 장애물)을 감지한다. 물론, 전술한 다양한 센싱부를 결합할 수 있는데, 예를 들어 라이다 센싱부(110)와 비전 센싱부, 또는 적외선 센싱부와 뎁스 센싱부(120), 초음파 센싱부와 라이다 센싱부(110), 혹은 각각의 센싱부들을 독자적으로 사용하여 외부의 객체를 감지할 수 있다.
라이다(Lidar) 센싱부(110)는 특정한 높이의 객체를 센싱할 수 있으며, 뎁스(Depth) 센싱부(120)는 다양한 높이의 객체를 센싱할 수 있다. 다만, 뎁스 센싱부(120)는 라이다 센싱부(110) 보다 인식하는 범위가 짧기 때문에 두 센서 데이터를 융합하는 실시예를 보여준다.
본 발명의 다른 실시예에 의하면, 라이다 센싱부(110)가 센싱한 결과와 뎁스 센싱부(120)가 센싱한 결과를 결합하여 2차원 또는 3차원 맵을 생성할 수 있다. 이 과정에서 로봇(500)은 라이다 센싱부(110) 대신 적외선 센싱부를 포함할 수도 있다. 예를 들어, 적외선 센싱부를 다수 배치하고, 일정 각도로 적외선 신호를 전송하여 수신되는 신호의 특성에 따라 라이다 센싱부(110)와 같이 포인트 방식으로 객체를 센싱할 수 있다.
뿐만 아니라, 로봇(500)은 적외선 센싱부를 뎁스 센싱부(120) 대신 포함할 수 있다. 라이다 센싱부(110)가 센싱한 객체들 중에서 전진 방향에 배치된 객체들의 높이 정보, 또는 일정한 거리 내의 객체들의 높이 정보를 센싱할 수 있도록 로봇(500)의 다양한 높이에 적외선 센싱부를 배치하고 각각의 적외선 센싱부가 센싱한 객체들의 정보와 라이다 센싱부(110)가 센싱한 정보를 결합하여 2차원 또는 3차원 맵을 생성할 수 있다.
도 1의 맵 저장부(220)는 전역 경로와 로컬 경로를 각각 전역경로 저장부(210) 및 로컬 경로 저장부(220)에 저장할 수 있다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 맵저장부에 저장되는 고정맵의 구성을 보여주는 도면이다. 전체 공간에서 장애물의 위치는 도 2의 11과 같이 확인될 수 있다. 그리고 전체 공간을 소정의 셀로 나누면 도 2의 12가 된다. 도 2의 12를 기반으로 장애물이 있는 셀과 장애물이 없는 셀의 값을 달리 설정하면 고정맵이 될 수 있다.
물론, 셀의 값 외에도 12와 같이 검은 색이라는 컬러로도 장애물을 표시할 수 있다. 컬러로 표시하는 것은 로봇의 인터페이스부가 저장된 셀의 값을 특정한 셀로 표시하는 것을 포함하며, 로봇의 맵 저장부에 저장될 경우에는 도 3와 같이 각 셀에 배치된 장애물을 지시하는 값이 저장될 수 있다.
한편, 둘 이상의 센싱부를 이용하여 장애물을 센싱한 결과를 맵 상에 저장할 경우 이를 구분하여 저장할 수 있다. 예를 들어, 라이다 센싱부(110)가 센싱한 객체와 뎁스 센싱부(120)가 센싱한 객체, 그리고 라이다 센싱부(110) 및 뎁스 센싱부(120) 모두 센싱한 객체를 구분하여 맵 저장부에 저장할 수 있다. 이에 대해 도 3에서 살펴본다.
도 3은 로봇의 다양한 센싱부들이 센싱한 객체들의 위치를 표시한 고정맵의 구성을 보여주는 도면이다. 고정맵(200a)은 맵저장부(200)에 저장되며, 로봇(500)은 적어도 하나 이상의 고정맵(200a)을 보유할 수 있다. 도 3은 전체 공간을 균일하게 배분한 셀을 기준으로 이동하지 않는 고정 객체가 배치되었는지를 표시한 맵이다.
도 3의 셀의 크기는 로봇의 이동 속도와 로봇의 크기, 혹은 센싱부(100)의 센싱 해상도(Sensing Resolution) 등을 고려하여 결정할 수 있다. 예를 들어, 로봇의 크기를 기준으로 셀의 크기를 정할 수 있고, 로봇의 이동 속도를 기준으로 초당 이동 속도의 크기만큼 셀의 크기를 정할 수 있다.
도 3의 고정맵(220a)에서 객체(장애물)들은 D/L/F로 표시될 수 있다. 이는 객체들을 센싱하는 센싱부의 종류에 따라 달리 표시한 것으로, "D"인 경우에는 뎁스 센싱부(120)가 해당 셀에서 객체를 센싱한 경우 의미한다. "L"인 경우에는 라이다 센싱부(110)가 해당 셀에서 객체를 센싱한 경우를 의미한다. "F"인 경우에는 라이다 센싱부(110) 및 뎁스 센싱부(120) 모두 객체를 센싱한 경우를 의미한다.
도 3의 맵 구성은 일 실시예에 해당하며, 구성 방식에 따라 고정된 객체를 숫자로 카테고리화 하여 표시하거나 셀의 색상을 특정하게 지정하여 객체를 표시하고 객체의 위치를 확인할 수 있다.
한편, 도 3과 같은 구성에서 로봇은 특정 위치를 시작점으로 하여 목표지점(Goal Point, G)까지 이동하기 위해 전역 경로를 생성할 수 있다. 특히, 로봇이 수행해야 하는 작업의 종류에 따라 로봇은 전역 경로를 생성할 수 있는데, 도 3에서는 로봇(500)의 제어부(400)가 생성한 전역 경로를 선으로 보여준다.
예를 들어, (0, 0)에서 출발하여 (18, 13)에 도달하는 전역 경로로 이동하는 경로를 보여준다. 이 과정에서 로봇(500)이 수행해야 하는 작업의 종류 혹은 로봇이 반드시 경로 내에 포함시켜야 하는 셀의 위치(P) 등을 고려하여 전역 경로를 생성할 수 있다. 따라서, 도 3은 로봇의 목표지점인 G까지의 전역 경로 중에서 반드시 포함되어야 하는 지점인 관문 지점(Pass Point, P)을 포함한 전역 경로를 화살표로 표시하고 있다.
한편, 도 3과 같이 고정맵(200a)을 기준으로 전역 경로를 생성하는 경우, 이는 이동하는 객체들, 즉 고정맵(200a)에서 그 존재가 확인되지 않는 장애물들의 위치는 전역 경로의 생성에 반영되지 않는다. 왜냐하면, 로봇의 제어부(400)는 전역 경로를 생성함에 있어서 고정맵(200a) 상의 장애물들(D/L/F)만을 고려할 수 있기 때문이다. 그러므로, 로봇의 제어부(400)는 이동 과정에서 고정맵(200a)에 없었던 장애물을 센싱할 경우, 새로운 로컬 경로를 생성하고, 이에 기반하여 이동할 수 있다.
한편, 로컬 경로는 다양한 방법으로 생성할 수 있는데, 본 명세서에서는 전역 경로에 최대한 일치하여 로컬 경로가 효율적으로 생성되도록 구성하고자 한다.
도 4는 본 발명의 일 실시예에 의한 로봇이 전역 경로를 생성하고 로컬 경로를 생성하여 이동하는 과정을 보여주는 도면이다. 도 4는 로봇이 이동 전에 전역 경로를 생성한 후 이동하는 과정에서 로컬 경로를 생성하는 과정을 보여주는 도면이다.
제어부(400)는 맵저장부(200)에 저장된 공간 내의 객체들의 위치와 로봇(500)이 주행 과정에서 통과해야 하는 지점에 대한 정보를 조합하여 전역 경로를 생성한다(S21). 전역 경로의 생성에 대해서는 후술한다. 전역 경로는 공간의 크기 및 객체의 수, 그리고 통과해야 하는 지점 등의 수에 따라 달라질 수 있다. 전역 경로의 생성은 로봇이 목적지에 도착하기 전까지 1회만 수행할 수도 있다.
또는 전역 경로의 생성은 앞서 살펴본 통과해야 하는 지점을 통과하면서 새롭게 생성할 수도 있다. 또는 로봇이 이동하는 과정에서 전역 경로 생성 시점인지 여부를 미리 설정된 기준(시간, 이동 거리 등)에 따라 제어부(400)가 판단할 수 있다. 또는, 로봇(500)은 로봇이 이동하는 과정에서 센싱한 이동 객체의 수에 따라, 혹은 원래의 전역 경로에 일치하지 않는 로컬 경로의 생성 과정에 따라 새로이 전역 경로를 생성할 수 있다.
이후, 로봇은 이동 전에 경로 상에 배치된 N 개의 셀에서 객체를 센싱한다(S22). 앞서 도 3에서 살펴본 바와 같이 화살표가 표시된 셀들이 전역 경로 상에 배치된 셀들이다. 이들 각 셀의 위치에서 객체가 배치되었는지를 센싱부(100)를 제어하여 확인한다. N개는 로봇의 이동 속도와 외부에 객체의 분포 상황에 따라 달라질 수 있다.
일 실시예로, 로봇이 하나의 셀을 이동하는 속도가 Vc이며, 외부의 객체가 등장할 확률이 Obj_ratio인 경우, N은 Vc에 비례하고 Obj_ratio에 반비례할 수 있다. 즉, 로봇의 속도(Vc)가 빠를 경우, 하나의 셀에 머무르는 시간이 짧아지며, 주어진 시간 내에 더 많은 셀을 이동할 수 있으므로, 더 멀리 있는 셀(N이 증가)까지 장애물이 배치되어 있는지를 센싱할 수 있다. 반면, 객체가 등장할 확률이 높은 경우, 멀리 있는 셀까지 장애물인 객체를 센싱하여도 곧 새로운 객체가 경로 상에 등장할 가능성이 높으므로, N을 줄일 수 있다.
N의 수는 제어부(400)에 미리 고정되어 설정될 수도 있다. 반면, 일 실시예에 의하면 제어부(400)가 S22 과정을 이동 과정에서 반복하는 과정에서 센싱한 장애물인 객체의 수나 등장 횟수, 혹은 주변에 객체들이 분포된 상황 등을 종합하여 N의 수를 증가시키거나 혹은 감소시킬 수 있다.
정리하면 N의 값은 로봇이 타겟셀에 도달하는데 필요한 이동 시간, 장애물의 분포, 장애물의 등장 속도, 로봇의 크기, 장애물의 수 또는 장애물의 크기 등의 정보들 중 어느 하나 이상을 이용하여 제어부(400)가 결정할 수 있다.
전술한 N 개의 셀에서 객체를 센싱한 결과를 반영하여 제어부는 로컬 경로를 생성한다(S23). 예를 들어, N 개의 셀들 모두 객체가 센싱되지 않은 경우, 로봇은 N번째 셀로 바로 이동하는 로컬 경로를 생성할 수 있다. 반면 N 개의 셀들 중에서 일부 셀에 객체가 센싱된 경우, 객체가 센싱되지 않았으면서 가장 멀리 배치된 셀로 이동하도록 로컬 경로를 생성할 수 있다.
S22 및 S23 단계를 정리하면 다음과 같다. 제어부(400)는 전역 경로에서 전달받은 N개(T1, T2, T3, ..., TN)의 셀을 이용하여 로컬 경로를 계획하고, 가장 멀리 배치된 셀인 TN부터 가장 가까운 셀인 T1 순으로 우선순위를 가지도록 하여, 우선순위가 높은 셀(TN)부터 이동 가능한지(객체가 센싱되지 않았는지)를 확인하여 이동 가능한 경우 해당 셀로 이동한다.
그리고 로봇은 로컬 경로가 생성되면 로봇은 생성된 경로를 따라 이동하며, 이 과정에서 근접 장애물 회피 모션을 수행하며 이동한다(S24). 이동 과정에서 근접 장애물을 센싱부(100)가 지속적으로 센싱하여 근접 장애물이 센싱된 경우 이를 회피하는 모션을 수행한다.
즉, 근접 장애물의 회피 모션이란 로컬 경로를 따라 이동 과정에서 갑자기 나타나는 돌발 장애물에 대한 대응 모션을 포함한다. 대응 모션의 일 실시예로 해당 장애물을 옆면을 따라 주행하는 벽면 주행을 수행하거나, 또는 후진 후 회전 등으로 장애물을 회피하는 모션을 수행할 수 있다.
근접 장애물 회피 모션은 전술한 월 팔로잉 방식과 백 무빙 방식 두 가지 방식으로 나누어진다. 월 팔로잉 방식은 장애물이 센싱된 경우, 제어부(400)는 장애물의 주변을 따라 로봇이 이동하도록 제어하는 방식이다. 이는 센싱된 장애물의 폭이 작을 경우 로봇이 로컬 경로를 일부 이탈하도록 주행하여 장애물과 멀어진 후에 다시 로컬 경로를 따라 이동하는 방식을 포함한다.
한편, 백 무빙 방식은 제어부(400)가 장애물로부터 멀어지도록 후진한 후에 장애물이 없는 방향으로 회전하여 이동하는 방식이다. 이는 센싱된 장애물의 폭이 클 경우 이를 월 팔로잉 방식으로 팔로잉하면 속도가 느려질 수 있으므로, 제어부(400)는 로봇의 크기와 이동 속도, 장애물의 크기에 따라 후진하여 회전 후 이동하는 백 무빙 방식을 선택할 수 있다.
본 명세서의 일 실시예에 의하면 전술한 S22 및 S23은 실시간으로 반복할 수 있다. 이 역시 로봇의 이동 속도와 장애물인 객체가 센싱부(100)에 센싱되는 상황 등을 고려하여 실시간 또는 일정한 주기(예를 들어 20ms)를 두고 반복될 수 있다.
도 5는 본 발명의 일 실시예에 의한 전역경로를 생성하는 과정을 보여주는 도면이다. 전역 경로의 생성은 맵 상의 관문 지점(P)과 목표지점, 그리고 로봇이 수행해야 하는 작업 등을 환경 변수로 하여 제어부(400)가 생성할 수 있다.
전역 경로를 생성하는 시점은 실시간으로 또는 일정한 시간 간격(5~8초)을 두고 전역 경로를 생성할 수 있다. 또한, 로봇의 이동 속도와 맵에 배치되지 않은 객체들이 센싱되는 확률 또는 센싱된 객체들의 분포도 등을 반영하여 전역 경로를 생성할 수 있다.
로봇의 제어부는 현재의 위치에서 목표 지점(G) 또는 중간 목표가 되는 관문 지점(P)까지 배치된 객체의 위치를 고정맵에서 확인하고(S31), 로봇의 환경 정보를 반영하여 전역 경로를 생성한다(S32). 즉, 전역 경로를 생성하기 위해 고정맵 및 로봇의 환경 정보를 이용한다. 여기서 환경 정보란, 로봇이 수행해야 하는 작업의 종류나 로봇의 주행이 주어진 맵의 공간 내의 셀들을 일정한 범위 이상 커버해야 하는 조건 등을 의미한다.
예를 들어, 로봇이 이동하는 셀의 전후좌우 1칸씩의 셀들까지 로봇이 작업(모니터링, 보안 검색, 청소 등)한 것으로 판단할 경우, 로봇은 전역 경로를 생성하는 과정에 이를 반영하여 경로들이 2칸 이상 간격을 가지도록 전역 경로를 생성할 수 있다.
즉, 로봇의 작업 반경이 셀 보다 클 경우, 혹은 로봇이 공간 내에서 커버해야 하는 영역이 미리 정해진 경우(전체 셀의 30%를 이동하는 조건 등), 로봇이 이동하는 과정에서 방향을 전환할 경우 속도가 저감되는 크기 등을 모두 환경 정보가 되며, 로봇의 제어부(400)는 환경 정보를 반영하여 전역 경로를 생성할 수 있다.
만약 로봇이 방향 전환 시 저감되는 속도가 큰 경우 로봇의 제어부(400)는 최대한 방향 전환을 적게 하도록 전역 경로를 생성할 수 있다. 이는 로컬 경로를 생성할 경우에도 적용된다. 방향 전환은 일 실시예이며 로봇이 이동하는 과정에서 속도가 중요할 경우 최대한 속도를 높이는 방향으로 전역 경로를 생성할 수 있다. 또한 많은 공간에서 작업하도록 커버해야 한다면 제어부(400)는 조밀하게 전역 경로를 생성할 수 있다.
정리하면, 로봇이 전역 경로 또는 로컬 경로를 생성하는 과정에서 반영하는 환경 정보는 로봇의 이동 속도, 로봇의 방향 전환 속도, 로봇의 작업 셀, 로봇에게 주어진 전체 셀에서의 커버 비율 등이 될 수 있다. 그리고, 도 5의 과정을 적용할 경우 제어부(400)는 도 3과 같이 관문 지점(P)을 통과하여 목표 지점(G)에 도달하는 전역 경로를 생성할 수 있다. 또한, 전역 경로란, 로봇이 이동하는 공간의 고정 객체의 위치와 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 경로를 의미한다.
도 6은 본 발명의 일 실시예에 의한 로컬 경로를 생성하는 과정을 보여주는 도면이다. 도 6의 41은 전역 경로의 실시예를 보여준다. 출발 지점(S)에서 목표 지점(관문 지점을 포함)을 G로 표시하였다. S에서 G 까지의 전역 경로의 이동 순서를 T1, T2, ..., T10 까지 표시하였다. 도 6에서 로봇이 로컬 경로를 생성하기 위해 전달받는 N개의 셀에서 N을 3으로 설정한 경우를 살펴본다. N의 값은 로봇이 이동하는 과정에서 확인된 외부 장애물의 특성 혹은 로봇의 이동 속도에 따라 전역 경로를 이동하는 과정에서도 변경할 수 있다. 예를 들어, 장애물이 다수 센싱되는 영역에서 로봇은 N 값을 낮은 값으로 한다. 반면 장애물이 거의 센싱되지 않는 영역에서 로봇은 N 값을 높은 값으로 한다. 이를 위해 로컬 경로를 생성하는 시점에서 특정한 센싱 영역에 배치된 장애물의 수(면적)를 임시적으로 저장하고, 다음 로컬 경로를 생성하는 경우 센싱된 장애물의 수를 이전에 저장한 장애물의 수(면적)와 비교하여 N의 값을 증감시킬 수 있다.
로봇의 제어부(400)는 S의 위치에서 N=3인 셀, 즉 T3, T2, T1을 타겟셀로 한다. 그리고 가장 먼 타겟셀인 T3과 S 사이에 장애물인 객체가 배치되었는지를 센싱부(100)가 센싱한다. 센싱 결과 S-T3 사이에 장애물이 없는 경우, S는 T3까지 바로 이동하도록 로컬 경로를 생성한다. 생성한 로컬 경로를 따라 이동한 로봇은 42에 도시된 바와 같이 S에서 T3로 직선 방향으로 이동하여 T1, T2를 거치지 않고 T3에 도달하여 T3가 새로운 시작점이 된다.
만약 S-T3 사이에 장애물이 있는 경우, 다음으로 먼 타겟셀인 T2와 S 사이에 장애물인 객체가 배치되었는지를 센싱부(100)가 센싱한다. 센싱 결과 S-T2 사이에 장애물이 없는 경우, S는 T2까지 바로 이동하도록 로컬 경로를 생성한다. 생성한 로컬 경로를 따라 이동한 로봇은 43에 도시된 바와 깉이 S에서 T2로 직선 방향으로 이동하여 T2에 도달한다. 만약 T2까지 바로 이동할 수 없는 경우 로봇은 T1으로 이동하는데, 이 과정에서 T1 방향으로 객체가 배치되면 근접 장애물 회피 모션으로 이동할 수 있다.
도 7은 본 발명의 일 실시예에 의한 센싱부가 일정 범위 내의 장애물의 존재 유무를 센싱하고 이를 타겟셀과 비교하는 도면이다.
센싱부(100)는 전술한 라이다 센싱부(110) 또는 뎁스 센싱부(120) 등을 이용하여 로봇이 이동하고자 하는 타겟셀 방향에 장애물이 배치되는지를 센싱한다. 일 실시예로 라이다 센싱부(110)가 일정한 범위 내(360도, 또는 그 이하의 각도 범위)에 배치된 객체를 센싱할 수 있다. 이에 대해 도 6의 41과 같이 배치된 공간의 T1~T3 타겟셀에 대응하는 공간에서 센싱하는 과정이 45에 제시되어 있다.
시작 지점(S)에서 로봇의 센싱부(100)는 일정한 범위 내에서 객체를 센싱한다. 센싱하는 방식으로 센싱 대상이 되는 영역을 분할하여 거리 및 방향으로 나눌 수 있다. 일 실시예로, 라이다 센싱부(110)의 경우 270도 이상 또는 360도 범위 내에서 일정한 거리 내에 사물들을 센싱할 수 있다. 센싱하는 각도의 간격은 다양하게 설정될 수 있는데, 로봇의 이동 및 해당 공간의 객체들의 특성 등을 고려하여 센싱 각도를 조절할 수 있다.
전체 각도를 분할하여 1도, 7.5도, 10도, 15도 등 다양하게 분할된 각도 기준 중 어느 하나의 각도 기준에 따라 라이다 센싱부(110)는 객체를 센싱하며, 센싱한 결과는 45와 같이 표시된다. 센싱의 정확도를 높이기 위해 도 7의 45에서는 S 위치에서 라이다 센싱부(110)가 일부 각도가 중첩되도록 센싱할 수 있다. 예를 도 7의 45에서 지시하는 부분에서 S 위치에서 라이다 센싱부(110)가 10회의 센싱을 수행함을 알 수 있다.
라이다 센싱부(110)를 이용한 첫번째 센싱(1st Sensing) 영역에서는 객체가 센싱되지 않은 상태이다. 마찬가지로 2번째~4번째 센싱 영역(2nd~4th) 에서도 객체가 센싱되지 않은 상태이다. 이들 2번째~4번째 센싱 영역은 타겟셀인 T1(우선순위 레벨 3) 과 T2(우선순위 레벨 2)가 확인된다. 이 경우 T1과 T2는 이동 가능한 셀인 것으로 제어부(400)가 확인한다.
마찬가지로 라이다 센싱부(110)를 이용한 5~10번째 센싱 영역을 센싱하는 과정에서도 객체가 센싱되지 않은 경우, 특히 6번째 센싱 영역(6th Sensing)에는 우선순위 레벨이 1인 타겟셀인 T3가 포함된다. 따라서 6번째 센싱 영역에서 객체가 센싱되지 않는 경우에 로봇의 제어부(400)는 가장 우선 순위가 높은 T3 셀로 직선 이동하도록 이동부(310)를 제어할 수 있다.
만약, T3 셀 영역에 대응하는 6번째 센싱 영역에서 객체가 센싱되며 해당 객체와 로봇과의 거리를 산출하여 해당 객체가 T3 셀과 로봇의 현재 위치(S) 사이에 배치된 경우 객체가 센싱되지 않은 T2 셀로 로봇이 이동하도록 제어부(400)가 이동부(310)를 제어할 수 있다.
도 7의 센싱 범위들은 일부 중첩될 수 있다. 도 7의 45에서도 첫번째 센싱 영역과 두번째 센싱 영역이 일부 중첩되며, 두번째와 세번째, ..., 9번째와 10번째 센싱 영역이 중첩된다. 이는 객체 센싱의 정확도를 높이기 위한 것으로 로봇이 선택적으로 구현할 수 있는 기능이다.
정리하면, 라이다 센싱부(110)가 장애물을 센싱하기 위해 N개의 타겟셀의 방향에 배치된 장애물의 거리를 센싱할 수 있다. 일 예로 T3 방향, T2 방향, T1 방향에 배치된 장애물의 거리를 센싱할 수 있는데, 센싱한 결과 T3 방향에 T3 보다 더 가까운 거리로 장애물이 배치된 경우이거나 T3 방향에 T3에 근접한 거리로 장애물이 배치된 경우 로봇은 T3로 이동하지 않는다.
반면 T2 방향에 T2보다 더 가까운 거리에 장애물이 배치되지 않았거나, T2 근처에 장애물이 배치되지 않은 것으로 센싱된 경우, 로봇은 T2로 이동할 수 있다.
즉, 로봇과 타겟셀의 거리 및 방향은 맵저장부(200)에 저장된 고정맵을 이용하여 확인할 수 있으며, 라이다 센싱부(110)는 해당 방향에 배치된 장애물을 센싱하여 장애물의 거리를 생성할 수 있다.
도 7은 라이다 센싱부(110)를 중심으로 설명하였으나 뎁스 센싱부(120)를 이용하여 동일한 효과를 가져올 수 있다. 특히, 라이다 센싱부(110)는 매우 넓은 각도 범위 내에서 객체들을 센싱하는 반면 뎁스 센싱부(120)는 로봇의 진행 방향으로 객체들을 센싱한다는 점에서 상호 보완적으로 객체를 센싱할 수 있다.
뎁스 센싱부(120)는 한번 센싱할 경우에는 라이다 센싱부(110) 보다 넓은 범위로 센싱을 할 수 있다. 예를 들어, 도 7의 45에서 지시하는 제3 내지 제7 센싱영역의 객체들의 뎁스 값을 뎁스 센싱부(120)가 센싱할 수 있다. 그 결과 제어부(400)는 라이다 센싱부(110)가 센싱한 값과 뎁스 센싱부(120)가 센싱한 값을 이용하여 사물의 배치를 확인할 수 있다.
또는, 뎁스 센싱부(120)가 이동 가능한 타겟셀들인 T1, T2, T3 중에서 T3 셀의 방향으로 배치된 객체들의 뎁스를 센싱한 후, 이에 기반하여 T3로 이동 가능한지를 확인하고, T3 셀로 이동이 가능한 경우 로봇(500)이 이동한다. 반면, T3 셀의 방향으로 배치된 객체들의 위치를 확인한 결과 T3로 이동이 불가능한 경우 T2 셀의 방향의 객체들의 위치를 센싱한 후, 이에 기반하여 T2 또는 T1으로 이동할 수 있다.
즉, 뎁스 센싱부(120)는 로봇의 진행 방향 전면에 배치된 사물들의 뎁스 값을 생성할 수 있는데, 특히 타겟셀들의 방향에 배치된 장애물의 뎁스값을 뎁스 센싱부(120)가 생성하면 이를 기반으로 제어부(400)는 이동할 타겟셀을 선택할 수 있다. 일 실시예로, T3 방향에서 장애물의 뎁스 값이 T3 까지의 거리 보다 먼 거리의 값으로 뎁스 센싱부(120)가 생성한 경우, S에서 T3까지 직선으로 로컬 경로를 생성할 수 있다.
도 8은 본 발명의 다른 실시에에 의한 센싱부가 일정 범위 내의 장애물을 센싱하고 이를 타겟셀과 비교하는 도면이다.
51에서 센싱부(100)가 타겟셀들(T1, T2, T3) 방향에 장애물(1)이 배치됨을 확인한다. 즉, T3셀의 영역에 장애물이 배치되어 있어 로봇과 진행시 충돌하는 영역으로 확인된다. 그 결과, 로봇의 제어부(400)는 T3가 아닌, 그 다음 레벨의 타겟셀인 T2로 이동한다.
한편, 52는 T2 셀로 이동하는 과정에서 로봇에 근접하게 장애물(2)이 배치된 형태를 보여준다. 로봇에 근접하게 장애물(2)이 배치되면 로봇은 센싱부(100)의 다양한 센싱부들, 예를 들어 초음파 센싱부, 적외선 센싱부 등을 이용하여 일정한 거리를 유지하며 장애물(2)을 회피하여 이동할 수 있다.
본 발명은 전역 경로를 생성한 후, 로봇이 실제 이동하는 과정에서는 로컬 경로에 기반하여 이동하여 장애물 회피 능력을 향상시키고 로봇의 모션이 자연스럽도록 한다. 특히, 장애물이 있는 경우, 전역 경로가 아닌 로컬 경로에 기반하여 효율적인 거리로 이동할 수 있다. 만약, 노드 기반의 전역 경로를 설정한 후 로봇이 이에 한정하여 이동할 경우, 모션이 부자연스러울 뿐만 아니라 장애물을 회피하고 이동하는 효율이 낮아질 수 있다.
특히, 본 발명의 실시예를 적용할 경우, 근접하는 장애물을 회피하며, 전역 경로 상에서 도달해야 하는 지점들로 이동하는 과정에서 일부 지점들을 모두 통과하지 않는 로컬 경로를 생성할 수 있다. 이 경우, 전역 경로에 기반하여 로컬 경로를 생성하므로(N의 값을 조절) 전역 경로의 최적성을 유지할 수 있다.
특히, 장애물의 등장에 대응하여 로컬 경로에만 의존하는 것이 아니라, 전역 경로에서 도출되는 타겟셀(TN~T1)들 위치로 로봇이 이동가능한지 센싱부(100)가 센싱하여 선택된 타겟셀로 이동하므로 전역 경로의 토대 위에 로컬 경로를 생성할 수 있다.
본 명세서에서 고정맵은 다양한 높이의 이종 센싱부(뎁스 및 라이다)를 적용하므로 다양한 높이의 장애물을 모두 확인할 수 있다.
도 9는 본 발명의 일 실시예에 의한 센싱부들의 센싱 결과에 기반하여 로봇의 주행 방향을 결정하는 도면이다. 센싱부(100)는 레벨1(Lv1), 레벨 2(Lv2), 레벨3(Lv3) 범위 내에 장애물(객체)이 배치되었는지 센싱한다. 레벨은 로봇이 목표 위치까지 이동하는 전역 경로 상의 타겟셀들에 대응한다.
예를 들어 레벨1은 첫번째 우선순위를 가지는 타겟셀의 위치에 대응하는 거리 범위이며, 레벨2는 두번째 우선순위를 가지는 타겟셀의 위치에 대응하는 거리 범위이며, 레벨3은 세번째 우선순위를 가지는 타겟셀의 위치에 대응하는 거리 범위이다.
첫번째 우선 순위의 타겟셀 범위에 두 개의 장애물이 배치된 상태이다. 로봇의 원래 이동 경로는 목표 위치로 직선 이동해야 하지만, 로컬 경로를 적용할 경우, 두 개의 장애물 사이를 통과하여 이동할 수 있다. 이 경우, 로봇은 두 개의 장애물에 대한 근접 회피 모션을 수행하지 않고 이동할 수 있으므로 로봇의 이동 속도를 높일 수 있다. 그리고 장애물을 통과한 후 로봇은 다시 장애물을 감지하여 로컬 경로를 생성하고 이에 따라 이동할 수 있다.
도 9의 방식은 로봇이 이동하고자 하는 범위 내에서 가장 멀리 있는 타겟셀(우선 순위가 가장 높은 타겟셀)까지 로봇이 이동하는 과정에서 장애물이 있는지 여부를 센싱부(100)가 확인한다. 이때, 센싱부(100)가 장애물을 센싱하는 과정에서 로봇의 크기, 장애물의 크기 및 마진을 고려하며 로봇의 크기가 지나갈 수 있는 크기를 기준으로 장애물을 확인할 수 있다.
도 10은 도 9와 달리 로컬 경로의 생성 없이 로봇이 이동하는 과정을 보여주는 도면이다. 로봇은 전역 경로를 따라 이동한다. 이동 과정에서 장애물을 센싱하면, 이 장애물을 회피하는 근접 회피 모션에 따라 동작한다. 이는 로봇의 속도를 떨어뜨린다. 또한, 도 9와 달리 장애물에 가까이 이동하고 다시 장애물을 회피하는 동작을 수행하므로 로봇이 이동해야 하는 거리가 증가하여 로봇의 이동 효율을 떨어뜨린다.
도 11은 본 발명의 로컬 경로를 생성하기 위해 로봇의 센싱부가 레벨 별로 센싱한 결과를 보여주는 도면이다. 레벨은 전역 경로에서 로봇의 현재 위치에서 참조할 타겟셀의 개수에 따라 달라진다. 타겟셀이 많아질 경우 로봇은 보다 다양하게 장애물에 대처할 수 있지만 연산량이 증가한다. 또한 타겟셀의 수가 늘어나서 먼거리의 타겟셀로 이동하는 로컬 경로를 생성하여도 이동 과정에서 새로운 장애물이 등장하여 근접 회피 모션을 수행해야 하는 상황이 발생할 수 있다.
이에, 로봇의 제어부(400)는 객체, 즉 장애물이 등장한 누적 횟수, 장애물의 분포도(이는 라이다 센싱부(110)를 이용하여 산출 가능하다), 로봇의 이동 속도 등을 고려하여 타겟셀의 수를 조절할 수 있다. 그리고 가장 멀리 있는 타겟셀을 우선순위로 하여, 레벨1에서 주행 가능한 경로가 산출되는지 제어부(400)가 센싱부(100)가 센싱한 결과를 확인한다. 도 11과 같이 라이다 센싱부(110) 및 뎁스 센싱부(120)를 이용하여 제어부(400)는 레벨 별로 충돌이 발생하는 영역과 비충돌 영역을 확인할 수 있다.
즉, 레벨1에서 주행 가능한 경로가 나오면 목표 위치에 가까운 경로로 선택하며, 레벨1에서 주행 가능한 경로가 없는 경우, 레벨2, 레벨 3 순서로 검색한다. 그 결과 도 9에서 살펴본 바와 같이 장애물을 멀리에서 회피하는 유연한 주행을 유지하여 좁은 통로에서 능동적으로 스캔 범위를 줄일 수 있다.
도 12는 본 발명의 일 실시예에 의한 전역 경로와 로컬 경로를 결합한 로봇의 이동을 보여주는 도면이다. 61은 제어부(400)가 생성한 전역 경로를 보여준다. 로봇이 로컬 경로를 생성하지 않을 경우 S, T1, T2, ..., T5, G 까지 이동한다.
62 및 63은 3개의 타겟셀을 이용하여 로컬 경로를 생성하는 실시예이다. 62는 3개의 타겟셀 중 가장 레벨이 높은 T3까지 주행이 가능한 것으로 센싱부(100)의 센싱 결과가 확인되어 T3로 로봇이 이동하는 로컬 경로가 생성된 실시예이다.
63은 3개의 타겟셀 중 두번째로 레벨이 높은 T2까지 주행이 가능한 것으로 센싱부(100)의 센싱 결과가 확인되어 T2로 로봇이 이동하는 로컬 경로가 생성된 실시예이다. 62 및 63 모두 로봇이 이동하는 과정에서 갑자기 근접하는 장애물에 대해 대응할 수 있도록 다양한 센싱부들(초음파, 적외선 등)을 함께 사용할 수 있다.
전술한 실시예들을 적용할 경우, 전역 경로와 로컬 경로를 통합하여 로봇이 이동함으로 경로의 최적성을 보장함과 동시에 장애물 회피와 부드러운 모션을 수행할 수 있다. 장애물을 원거리에서 확인하여 로컬 경로를 생성하는 도 9의 실시예와 목적 위치까지 전역 경로에 기반하여 이동하다가 장애물을 회피하는 모션을 취하는 도 10의 실시예에서 로컬 경로를 적용할 경우의 로봇의 이동 효율성을 확인하였다. 제어부(400)는 로컬 경로를 생성하는 과정에서 로봇의 반경 및 여유를 모두 환경 변수로 반영하여, 장애물 회피의 신뢰성을 보장할 수 있다.
또한, 센싱부(100)를 구성하는 다양한 종류의 센싱부들(라이다/뎁스/초음파 등)이 로봇의 다양한 높이에 배치되도록 하여 다양한 높이의 장애물을 모두 인식 할 수 있도록 하여 장애물 회피 가능성을 높이며 안전한 로봇 주행을 가능하게 한다.
특히, 센싱부(100)가 특정 범위에 포커싱을 두어 센싱할 경우 센싱 속도와 정확도가 높아질 수 있다. 제어부(400)는 센싱부(100)가 객체를 센싱하는 과정에서 타겟셀이 위치한 방향으로만 객체를 센싱하도록 하여 장애물의 센싱 속도와 정확도를 높일 수 있다.
도 12에서 전역 경로에서 산출되는 3개의 타겟셀(T1, T2, T3)는 장애물의 유무에 따라 로컬 경로를 구성한다. 가장 멀리 있는 타겟셀, 즉 가장 우선 순위가 높은 타겟셀인 T3를 기준으로 T2, T1 순으로 우선 순위가 할당될 수 있으며, 가장 멀리 있는(가장 우선 순위가 높은) 타겟셀부터 로봇이 이동 가능한지를 확인하여 로컬 경로를 생성할 수 있다. 만약, 모든 타겟셀이 장애물로 인해 이동이 불가능할 경우 근접 장애물 대응 모션에 따라 월 팔로잉 방식 혹은 백 무빙 방식을 수행할 수 있다.
특히, 타겟셀 모두 장애물에 의해 가려진 경우 로봇의 현재 위치를 이동시켜 다른 방향에서 로봇이 이동할 수 있도록 할 수 있다. 예를 들어, 도 12에서 T1, T2, T3로의 이동이 모두 장애물로 인해 이동이 불가능한 경우, 로봇은 타겟지점(G)과 직각 형태로 이동할 수 있는 M으로 표시된 셀로 이동하여 로컬 경로를 다시 생성하는 과정을 반복할 수 있다. 또는 로봇이 M으로 이동한 후 새로이 전역 경로를 생성할 수도 있다.
도 13 및 도 14에서 이러한 차이를 보다 상세히 살펴본다.
도 13은 본 발명의 일 실시예에 의한 로봇이 특정한 센싱 영역을 선택하여 로컬 경로에 반영하는 도면이다. 도 13에서 3개의 타겟셀이 배치되어 있으며, 장애물들은 타겟셀과 멀리 배치되어 있다. 이 경우, 로봇의 제어부(400)는 가장 멀리 있는, 가장 우선 순위가 높은 타겟셀(T3) 방향으로 센싱 영역을 설정한다. 그리고 로봇의 센싱부(100)는 센싱 영역으로 설정한 방향의 객체를 센싱하며 로컬 경로를 따라 T3 방향으로 이동한다.
도 13을 살펴보면, 전역 경로에서 전역 경로에서 현재위치로부터 가장 가까운 3개(T1, T2, T3)의 타겟셀에 대한 위치 정보를 확인한다. 그리고 일정 각도(270도 또는 360도 내)에서 거리에 따라 레벨 4(LV1~LV4)로 구획된 범위 내에서 장애물들의 위치를 등록한다. 그리고 등록된 장애물의 위치를 기준으로 선택 가능한 센싱 영역들을 확인한다.
선택 가능한 센싱 영역이란 타겟셀이 위치한 방향 중에서 장애물이 배치되지 않은 영역을 포함한다. 이 과정에서 가장 멀리 있는 타겟셀인 T3의 위치와 주변에 센싱할 수 있는 센싱 영역이 있는지 체크해서 가능하면 해당 센싱 영역에 대해서 센싱부(100)는 장애물이 존재하는지를 센싱하며 T3를 향하여 로봇이 이동한다.
만약 T3과 로봇 사이에 장애물이 배치된 경우 T2, T1 순으로 같은 방식으로 장애물이 없는 센싱 영역이 있는지 확인하고 확인된 경우 해당 방향을 고정된 센싱 영역으로 설정하여 장애물을 센싱하며 로봇이 이동한다.
만약 T1, T2, T3 모두 장애물로 가려진 경우라면 장애물이 초근접 한 사항이므로 자동적으로 월 팔로잉 또는 백 무빙 방식에 의해 근접한 장애물을 회피하는 모션을 수행한다.
도 14는 본 발명의 다른 실시예에 의한 로봇이 특정한 센싱 영역을 선택하여 로컬 경로에 반영하는 도면이다. 도 14에서 3개의 타겟셀이 배치되어 있으며, 장애물들은 타겟셀에 인접하게 배치되어 있다. 이 경우, 로봇의 제어부(400)는 가장 멀리 있는, 가장 우선 순위가 높은 타겟셀(T3) 방향 및 T2 방향으로 장애물이 배치되어 이동할 수 없으므로 다음 우선 순위의 타겟셀(T1) 방향으로 센싱 영역을 설정한다. 그리고 로봇의 센싱부(100)는 센싱 영역으로 설정한 방향의 객체를 센싱하며 로컬 경로를 따라 T1 방향으로 이동한다.
도 6 내지 도 14의 실시예에서 로컬 경로는 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 선택된 N개의 타겟셀 중 어느 하나 이상으로 로봇이 이동하는 방향 및 거리에 대응하여 센싱부(100)가 장애물을 센싱한 결과를 반영하여 제어부(400)가 생성한 것을 포함한다.
또한, 일 실시예에 의하면 제어부(400)는 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하여 선택한 타겟셀로 로봇이 이동하는 로컬 경로를 생성한다. 여기서 우선 순위란 일정한 범위(N) 내에 가장 멀리 있는 순서로 우선 순위를 설정하는 것을 포함한다.
도 15는 본 발명의 일 실시예에 의한 로봇이 타겟 지향 로컬 경로를 생성하는 과정을 보여주는 도면이다.
로봇의 제어부(400)가 고정 객체의 위치가 반영된 맵저장부의 고정맵 및 로봇의 환경 정보를 이용하거나 이를 반영하여 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로를 생성한다(S71). 앞서 살펴본 바와 같이 환경 정보는 고정맵 상의 목표 지점, 관문 지점 또는 로봇의 주행 시 작업해야 하는 셀의 범위, 로봇의 이동 속도 중 어느 하나 이상을 반영한 것을 일 실시예로 한다.
만약 로봇이 공간을 조밀하게 이동하며 작업을 수행할 경우 로봇의 전역 경로는 고정맵 상에서 조밀한 구성을 가질 수 있다. 반면, 로봇이 공간의 특정한 영역을 반드시 통과할 경우, 이러한 공간은 관문 지점이 되며, 관문 지점을 최적으로 통과하도록 제어부(400)가 전역 경로를 생성할 수 있다.
전역 경로를 생성한 후, 로봇은 센싱 과정을 이용하여 로컬 경로를 생성하는 단계(S72~S74)를 수행한다. 보다 상세히 살펴보면, 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 제어부(400)가 선택한 N개의 타겟셀 중 어느 하나 이상을 향하여 로봇이 이동하는 방향 및 거리에 대응하여 센싱부가 고정맵에 저장되지 않은 장애물을 센싱한다(S72). 앞서 도 6 내지 도 14에서 3 개의 타겟셀을 선택한 후, 우선 순위가 가장 높은 타겟셀로 로봇이 이동하는 방향 및 거리에 대응하여 센싱부(100)기 장애물을 센싱하는 과정을 살펴보았다.
제어부(400)는 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하고(S73), 제어부(400)는 선택한 타겟셀로 로봇이 이동하는 로컬 경로를 생성한다(S74). 이후 제어부(400)는 로봇이 로컬 경로를 따라 이동하도록 로봇의 이동부(310)를 제어한다. 그 결과 로컬 경로를 따라 로봇이 이동한다(S75).
S72의 센싱하는 단계를 세분화하여 살펴본다. 앞서 센싱부(100)는 전체 센싱 각도(270도 내지 360도) 내에서 센싱 영역 별로 장애물을 센싱할 수 있으며, 또한 특정 센싱 영역의 장애물을 센싱할 수 있다. 따라서, 센싱하는 단계를 살펴보면, 제어부(400)가 로봇의 현재 위치를 기준으로 전역 경로에서 이동할 가장 근접한 N개의 타겟셀 T1, T2, ..., TN을 선택한다. 앞서 도 6 내지 도 14에서 N을 3으로 설정하여 T1, T2, T3, 3개의 타겟셀을 선택하는 과정을 살펴보았다. 로봇의 위치에서 가까운 순서대로 T1, T2, ... 등이 되므로, 제어부(400)는 TN, TN-1, ..., T1 순서로 우선순위를 할당한다.
즉, 선택된 타겟셀들 중에서 가장 멀리 있는 타겟셀이 가장 높은 우선순위를 가지도록 할당하고 가장 가까운 타겟셀이 가장 낮은 우선순위를 가지도록 할당한다. 이후, 제어부(400)는 센싱부(100)가 센싱한 장애물의 위치 정보와 우선순위가 높은 순서에 따라 타겟셀을 비교하여 우선 순위가 높은 타겟셀이 이동이 가능한 경우 해당 타겟셀로의 이동을 로컬 경로로 설정한다.
도 6에서 살펴본 바와 같이 로봇이 전역 경로만 설정한 경우 T1->T2->..., ->T10->G 까지 이동한다. 그러나 로컬 경로를 설정할 경우 T1, T2로의 이동 없이 S 지점에서 T3로 로봇이 바로 이동할 수 있다.
본 발명의 실시예를 적용할 경우, 대면적에서 전역 경로와 로컬 경로를 추정하여 생성할 수 있다. 또한, 두 종류 이상의 센싱부들을 이용할 수 있으므로, 다양한 높이의 장애물을 고정맵과 비교하고 또는 고정맵에 고정 객체로 업데이트하여 최종 목적지까지의 전역 경로를 생성할 수 있다.
이후 생성된 전역 경로에서 현재 로봇 위치에서 가까운 반경 내에 경로(N에 의해 결정)상의 타겟셀들의 위치 정보를 이용하여 로컬 경로를 생성한다. 이때 앞에서 획득한 2가지 이상의 센싱부들이 센싱한 장애물을 추상화하여 로컬 경로계획에 사용함은 도 13 및 도 14에서 살펴보았다.
전역 경로와 로컬 경로를 통합하여 로봇이 이동하므로, 장애물을 회피하면서도 실시간 최적 경로를 따라 주행할 수 있다. 또한, 장애물의 크기 및 로봇의 크기, 통과할 수 있는 마진 등을 모두 고려하여 로컬 경로를 생성하므로 안전하게 장애물을 회피하면서도 주행 속도를 보장할 수 있다.
도 16은 본 발명의 다른 실시예에 의한 전역 경로와 로컬 경로를 생성하는 과정을 보여주는 도면이다.
제어부(400)는 맵저장부(200)에 저장된 공간 내의 객체들의 위치와 로봇(500)이 주행 과정에서 통과해야 하는 지점에 대한 정보를 조합하여 전역 경로를 생성한다(S80). 전역 경로는 공간의 크기 및 객체의 수, 그리고 통과해야 하는 지점 등의 수에 따라 달라질 수 있다. 전역 경로의 생성은 로봇이 목적지에 도착하기 전까지 1회만 수행할 수도 있다.
또는 전역 경로의 생성은 앞서 살펴본 통과해야 하는 지점을 통과하면서 새롭게 생성할 수도 있다. 또는 로봇이 이동하는 과정에서 전역 경로 생성 시점인지 여부를 미리 설정된 기준(시간, 이동 거리 등)에 따라 제어부(400)가 판단할 수 있다.
이후, 로봇은 이동 전에 경로 상에 배치된 N 개의 타겟셀에서 객체를 센싱한다(S81). 이는 경로 생성시 보다 최적화된 로컬 경로를 생성하기 위함이며, 또한, 전역 경로 생성 과정에서 반영되지 않은 새로운 객체가 경로 상에 배치되어 있는지를 센싱하는 것을 포함한다.
사람들의 이동, 또는 사람들과 함께 이동하는 사물, 또는 새롭게 배치된 고정 객체(벽, 문, 책상 등)를 센싱하는 것을 포함한다. 센싱 결과 경로 상에 새로운 객체가 센싱되어 로봇이 전역 경로를 따라서만 이동해야 하는 경우에는 로컬 경로의 생성이 불필요하므로 로봇은 생성된 전역 경로를 따라서 이동한다(S84). 이는 로봇이 전역 경로에서 지시된 지점들을 이동하는 것을 의미한다. 반면, S82의 센싱결과 로봇이 전역 경로보다 효율적인 로컬 경로의 생성이 필요한 것으로 확인되면, 로봇은 로컬 경로를 생성한다(S83). 그리고 로컬 경로가 생성되면 로봇은 생성된 로컬 경로를 따라 이동한다(S85). 이는 로봇이 로컬 경로에서 지시된 지점들을 이동하는 것을 의미한다.
이동 과정에서 근접 장애물을 센싱부(100)가 지속적으로 센싱하여 근접 장애물이 센싱된 경우(S86), 로봇의 제어부(400)는 근접 장애물을 회피하는 모션을 수행한다(S87). 근접 장애물의 회피 모션이란 경로를 생성한 후 경로를 따라 로봇이 이동하는 과정에서 갑자기 나타나는 돌발 장애물에 대한 대응 모션을 포함한다. 대응 모션의 일 실시예로 해당 장애물을 옆면을 따라 주행하는 벽면 주행(월 팔로잉 방식)을 수행하거나, 또는 후진 후 회전 등으로 장애물을 회피하는 모션(백 무빙 방식)을 수행할 수 있다.
근접 장애물이 센싱되지 않으면(S86), 로봇은 목표 지점에 도착하였는지 확인한다(S88). 도착하지 않은 경우, 전역 경로를 생성해야 하는 시점인지 여부를 판단하고(S89), 전역 경로를 다시 생성하지 않아도 되는 경우 S81 단계에서 이동을 수행한다. 반면, 전역 경로를 다시 생성해야 하는 시점인 경우 S80 단계에서 전역 경로를 생성한 후 이동한다.
전역 경로의 생성 시점은 로봇이 주행한 시간, 거리 또는 주변 환경 변화 등에 따라 구성될 수 있다. 예를 들어 S80 단계에서 전역 경로를 생성한 후 앞서 센싱된 상황에 변화가 없다면, 로봇은 전역 경로를 그대로 유지하며 이동하는 상태이므로 전역 경로를 생성할 시점에 해당하지 않는다.
반면, 전역 경로 상에 전역 경로를 수정해야 하는 상황이 발생한 경우, 예를 들어 관문 지점에 도달할 수 없는 장애물인 객체가 새로이 센싱된 경우 해당 관문 지점을 제외하는 전역 경로를 생성하는 것이 필요하다. 앞서 살펴본 로봇이 통과해야 하는 관문 지점(P)이 장애물의 등장으로 주행 경로에서 제외시키는 경우에 새로이 전역 경로를 생성할 수 있다.
또한, 로봇은 목표 지점까지 이르는 과정에서 통과 지점에 해당하는 셀을 선택하여 전역경로나 로컬 경로를 산출할 수 있다. 예를 들어 도 3에서 P로 표시된 관문 지점은 로봇이 이동 과정에서 반드시 통과해야 하는 셀이다. 마찬가지로 G로 표시된 목표 지점은 로봇이 전역 경로의 최종 목적지이다. 로봇은 전역 경로를 생성하는 과정에서 P 지점을 반드시 통과하도록 생성하며, 로컬 경로를 생성하는 과정에서도 이를 반영할 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
<부호의 설명>
100: 센싱부 200: 맵 저장부
300: 통신부 310: 이동부
320: 작업부 330: 인터페이스부
400: 제어부 500: 로봇
Claims (13)
- 로봇의 제어부가 고정 객체의 위치가 반영된 맵저장부의 고정맵 및 상기 로봇의 환경 정보를 이용하여 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로를 생성하는 단계;상기 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 상기 제어부가 선택한 N개의 타겟셀 중 어느 하나 이상을 향하여 로봇이 이동하는 방향 및 거리에 대응하여 센싱부가 상기 고정맵에 저장되지 않은 장애물을 센싱하는 단계;상기 제어부는 상기 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하는 단계;상기 제어부는 상기 선택한 타겟셀로 상기 로봇이 이동하는 로컬 경로를 생성하는 단계; 및상기 제어부는 상기 로봇이 상기 로컬 경로를 따라 이동하도록 상기 로봇의 이동부를 제어하는 단계를 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 센싱하는 단계는상기 제어부가 상기 로봇의 현재 위치를 기준으로 상기 전역 경로에서 이동할 가장 근접한 N개의 타겟셀 T1, T2, ..., TN을 선택하는 단계;상기 제어부가 상기 TN, TN-1, ..., T1 순서로 우선순위를 할당하는 단계; 및상기 제어부는 상기 센싱부가 센싱한 장애물의 위치 정보와 상기 우선순위가 높은 순서에 따라 타겟셀을 비교하는 단계를 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 센싱부는 라이다 센싱부를 포함하며,상기 센싱부가 장애물을 센싱하는 단계는상기 N개의 타겟셀의 방향에 배치된 장애물의 거리를 상기 라이다 센싱부가 센싱하는 단계를 더 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 센싱부는 뎁스 센싱부를 포함하며,상기 센싱부가 장애물을 센싱하는 단계는상기 N개의 타겟셀의 방향에 배치된 장애물의 뎁스값을 상기 뎁스 센싱부가 생성하는 단계를 더 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 환경 정보는상기 고정맵 상의 목표 지점, 관문 지점 또는 상기 로봇의 주행 시 작업해야 하는 셀의 범위, 상기 로봇의 이동 속도 중 어느 하나 이상을 반영한 환경 정보인, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 제어부는 상기 로봇이 상기 타겟셀에 도달하는데 필요한 이동 시간, 장애물의 분포, 장애물의 등장 속도, 상기 로봇의 크기 중 어느 하나 이상을 이용하여 상기 N을 설정하는 단계를 더 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 제1항에 있어서,상기 이동부를 제어하는 단계는상기 로봇이 이동하는 방향 내에 근접한 장애물을 상기 센싱부가 센싱하는 단계; 및상기 장애물이 센싱된 경우, 상기 제어부는 상기 장애물의 주변을 따라 이동하는 월 팔로잉 방식 또는 후진 후 회전하여 이동하는 백 무빙 방식 중 어느 하나에 따라 상기 로봇이 이동하도록 상기 이동부를 제어하는 단계를 더 포함하는, 타겟 지향 로컬 경로를 생성하는 방법.
- 타겟 지향 로컬 경로를 생성하는 로봇에 있어서,외부에 배치된 장애물을 센싱하는 센싱부;상기 로봇이 이동하는 공간의 고정 객체의 위치와 시작 지점에서 목표 지점까지 다수의 타겟셀을 포함하는 전역 경로, 그리고 상기 전역 경로에 배치된 타겟셀 중 현재 로봇의 위치를 기준으로 선택된 N개의 타겟셀 중 어느 하나 이상으로 로봇이 이동하는 방향 및 거리에 대응하여 상기 센싱부가 장애물을 센싱한 결과를 반영하여 생성된 로컬 경로를 저장하는 맵 저장부;상기 로봇을 이동시키는 이동부;상기 로봇이 작업을 수행하는 작업부; 및상기 센싱부와 상기 맵 저장부와 상기 이동부와 상기 작업부를 제어하며, 상기 제어부는 상기 장애물이 센싱되지 않은 방향 및 거리에 대응하는 타겟셀을 우선 순위에 따라 선택하여 상기 선택한 타겟셀로 상기 로봇이 이동하는 상기 로컬 경로를 생성하는 제어부를 포함하는, 타겟 지향 로컬 경로를 생성하는 로봇.
- 제8항에 있어서,상기 제어부는 상기 로봇의 현재 위치를 기준으로 상기 전역 경로에서 이동할 가장 근접한 N개의 타겟셀 T1, T2, ..., TN을 선택하여 상기 타겟셀 TN, TN-1, ..., T1 순서로 우선순위를 할당한 후, 상기 센싱부가 센싱한 장애물의 위치 정보와 상기 우선순위가 높은 순서에 따라 상기 타겟셀을 비교하는, 타겟 지향 로컬 경로를 생성하는 로봇.
- 제8항에 있어서,상기 센싱부는 라이다 센싱부 또는 뎁스 센싱부 중 하나 이상을 포함하며,상기 센싱부는 상기 N개의 타겟셀의 방향에 배치된 장애물의 거리 정보 또는 뎁스 정보를 생성 생성하는, 타겟 지향 로컬 경로를 생성하는 로봇.
- 제8항에 있어서,상기 환경 정보는상기 고정맵 상의 목표 지점, 관문 지점 또는 상기 로봇의 주행 시 작업해야 하는 셀의 범위, 상기 로봇의 이동 속도 중 어느 하나 이상을 반영한 환경 정보인, 타겟 지향 로컬 경로를 생성하는 로봇.
- 제8항에 있어서,상기 제어부는 상기 로봇이 상기 타겟셀에 도달하는데 필요한 이동 시간, 장애물의 분포, 장애물의 등장 속도, 상기 로봇의 크기 중 어느 하나 이상을 이용하여 상기 N을 설정하는 단계를 더 포함하는, 타겟 지향 로컬 경로를 생성하는 로봇.
- 제8항에 있어서,상기 제어부는 상기 로봇이 상기 로컬 경로를 따라 이동하도록 상기 로봇의 이동부를 제어하며,상기 센싱부가 상기 로봇이 이동하는 방향 내에 근접한 장애물을 상기 센싱부가 센싱하여 장애물이 센싱된 경우, 상기 제어부는 상기 장애물의 주변을 따라 이동하는 월 팔로잉 방식 또는 후진 후 회전하여 이동하는 백 무빙 방식 중 어느 하나에 따라 상기 로봇이 이동하도록 상기 이동부를 제어하는, 타겟 지향 로컬 경로를 생성하는 로봇.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0111478 | 2017-08-31 | ||
KR1020170111478A KR20190024467A (ko) | 2017-08-31 | 2017-08-31 | 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019045293A1 true WO2019045293A1 (ko) | 2019-03-07 |
Family
ID=65527498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/008782 WO2019045293A1 (ko) | 2017-08-31 | 2018-08-02 | 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20190024467A (ko) |
WO (1) | WO2019045293A1 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021103987A1 (zh) * | 2019-11-29 | 2021-06-03 | 深圳市杉川机器人有限公司 | 扫地机器人控制方法、扫地机器人及存储介质 |
CN113189992A (zh) * | 2021-04-26 | 2021-07-30 | 四川大学 | 一种基于局部定向的群体智能避障方法 |
CN114604546A (zh) * | 2022-03-09 | 2022-06-10 | 北京云迹科技股份有限公司 | 酒店机器人的取物控制方法、装置、介质和电子设备 |
CN114879701A (zh) * | 2022-06-23 | 2022-08-09 | 池州市安安新材科技有限公司 | 一种机器人轨道避障方法及系统 |
WO2023024539A1 (zh) * | 2021-08-24 | 2023-03-02 | 珠海格力电器股份有限公司 | 路径导航规划方法、装置、存储介质及电子设备 |
CN117631670A (zh) * | 2023-12-01 | 2024-03-01 | 陕西明泰电子科技发展有限公司 | 一种复杂环境下机器人避障的路径优化方法及系统 |
WO2024112090A1 (ko) * | 2022-11-24 | 2024-05-30 | 주식회사 벰소프트 | 주행 로봇의 특징 지도를 이용한 경로 계획 방법 및 이를 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102306434B1 (ko) * | 2019-07-05 | 2021-09-28 | 엘지전자 주식회사 | 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법 |
CN115930933B (zh) * | 2022-09-20 | 2023-07-04 | 江苏海洋大学 | 一种基于集群控制的多智能体协同建图方法 |
WO2024101474A1 (ko) * | 2022-11-10 | 2024-05-16 | 엘지전자 주식회사 | 로봇 이동 제어 방법 및 이를 구현하는 로봇 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050024840A (ko) * | 2003-09-05 | 2005-03-11 | 학교법인 인하학원 | 자율이동로봇을 위한 경로계획방법 |
KR20100005942A (ko) * | 2008-07-08 | 2010-01-18 | 한국과학기술연구원 | 보행로봇의 최적경로 계획방법 |
KR20100052383A (ko) * | 2008-11-10 | 2010-05-19 | 한국전자통신연구원 | 이동 로봇의 안전경로 생성 방법 및 장치 |
KR20110090702A (ko) * | 2010-02-04 | 2011-08-10 | 한국과학기술연구원 | 이동로봇의 경로생성 장치, 이를 구비하는 이동로봇 및 이동로봇의 경로생성 방법 |
KR20110121352A (ko) * | 2010-04-30 | 2011-11-07 | 동국대학교 산학협력단 | 다단계 형태 공간을 이용한 이동 경로 계획 방법 및 장치 |
-
2017
- 2017-08-31 KR KR1020170111478A patent/KR20190024467A/ko unknown
-
2018
- 2018-08-02 WO PCT/KR2018/008782 patent/WO2019045293A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050024840A (ko) * | 2003-09-05 | 2005-03-11 | 학교법인 인하학원 | 자율이동로봇을 위한 경로계획방법 |
KR20100005942A (ko) * | 2008-07-08 | 2010-01-18 | 한국과학기술연구원 | 보행로봇의 최적경로 계획방법 |
KR20100052383A (ko) * | 2008-11-10 | 2010-05-19 | 한국전자통신연구원 | 이동 로봇의 안전경로 생성 방법 및 장치 |
KR20110090702A (ko) * | 2010-02-04 | 2011-08-10 | 한국과학기술연구원 | 이동로봇의 경로생성 장치, 이를 구비하는 이동로봇 및 이동로봇의 경로생성 방법 |
KR20110121352A (ko) * | 2010-04-30 | 2011-11-07 | 동국대학교 산학협력단 | 다단계 형태 공간을 이용한 이동 경로 계획 방법 및 장치 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021103987A1 (zh) * | 2019-11-29 | 2021-06-03 | 深圳市杉川机器人有限公司 | 扫地机器人控制方法、扫地机器人及存储介质 |
CN113189992A (zh) * | 2021-04-26 | 2021-07-30 | 四川大学 | 一种基于局部定向的群体智能避障方法 |
CN113189992B (zh) * | 2021-04-26 | 2023-05-12 | 四川大学 | 一种基于局部定向的群体智能避障方法 |
WO2023024539A1 (zh) * | 2021-08-24 | 2023-03-02 | 珠海格力电器股份有限公司 | 路径导航规划方法、装置、存储介质及电子设备 |
CN114604546A (zh) * | 2022-03-09 | 2022-06-10 | 北京云迹科技股份有限公司 | 酒店机器人的取物控制方法、装置、介质和电子设备 |
CN114879701A (zh) * | 2022-06-23 | 2022-08-09 | 池州市安安新材科技有限公司 | 一种机器人轨道避障方法及系统 |
WO2024112090A1 (ko) * | 2022-11-24 | 2024-05-30 | 주식회사 벰소프트 | 주행 로봇의 특징 지도를 이용한 경로 계획 방법 및 이를 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 |
CN117631670A (zh) * | 2023-12-01 | 2024-03-01 | 陕西明泰电子科技发展有限公司 | 一种复杂环境下机器人避障的路径优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20190024467A (ko) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019045293A1 (ko) | 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇 | |
WO2019235743A1 (ko) | 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법 | |
WO2018230852A1 (ko) | 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 | |
WO2017091008A1 (ko) | 이동 로봇 및 그 제어 방법 | |
WO2019045284A1 (ko) | 객체와 간격을 유지하며 로봇을 이동시키는 방법 및 이를 구현하는 로봇 | |
WO2020241930A1 (ko) | 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇 | |
KR20190134554A (ko) | 동적 장애물을 식별하는 방법 및 이를 구현한 로봇 | |
WO2016200098A1 (ko) | 이동 로봇 및 그 제어방법 | |
WO2015194868A1 (ko) | 광각 카메라가 탑재된 이동 로봇의 주행을 제어하기 위한 장치 및 그 방법 | |
WO2018186583A1 (ko) | 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇 | |
WO2018230845A1 (ko) | 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇 | |
WO2017082606A1 (ko) | 스마트 대피 유도 시스템 및 그 방법 | |
WO2020226187A1 (ko) | 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇 | |
WO2019135437A1 (ko) | 안내 로봇 및 그의 동작 방법 | |
WO2015194866A1 (ko) | 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
JP2006350776A (ja) | 移動体の経路生成装置 | |
WO2021002499A1 (ko) | 군집 로봇을 이용하여 사용자의 위치를 추적하는 방법, 태그장치 및 이를 구현하는 로봇 | |
WO2020027515A1 (ko) | 속성 블록을 설정하는 이동 로봇 | |
WO2020230931A1 (ko) | 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법 | |
WO2018070663A1 (ko) | 공항용 로봇 및 그의 동작 방법 | |
WO2020241934A1 (ko) | 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇 | |
WO2020141900A1 (ko) | 이동 로봇 및 그 구동 방법 | |
WO2019004621A1 (ko) | 진입제한영역을 식별하는 방법 및 이를 구현하는 로봇 | |
KR102674119B1 (ko) | 인공지능을 이용하여 로봇의 위치를 재정의하는 방법 및 로봇 | |
WO2020251100A1 (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: 18851744 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: 18851744 Country of ref document: EP Kind code of ref document: A1 |