WO2020222408A1 - Real-time waypoint path improvement method, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same - Google Patents

Real-time waypoint path improvement method, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same Download PDF

Info

Publication number
WO2020222408A1
WO2020222408A1 PCT/KR2020/002360 KR2020002360W WO2020222408A1 WO 2020222408 A1 WO2020222408 A1 WO 2020222408A1 KR 2020002360 W KR2020002360 W KR 2020002360W WO 2020222408 A1 WO2020222408 A1 WO 2020222408A1
Authority
WO
WIPO (PCT)
Prior art keywords
waypoint
path
local
route
time
Prior art date
Application number
PCT/KR2020/002360
Other languages
French (fr)
Korean (ko)
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 WO2020222408A1 publication Critical patent/WO2020222408A1/en

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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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
    • B25J9/1697Vision controlled systems

Definitions

  • the present invention relates to a real-time waypoint path improvement method, a recording medium in which a program for implementing the same is stored, and a computer program stored in the medium to implement the same, and more particularly, to a waypoint in the direction of the robot outside the sensor sensing area of the robot.
  • a target waypoint Is determined as a target waypoint, and a method for improving a real-time waypoint route that enables autonomous driving by finding a more challenging route for the robot to be more challenging, a recording medium in which a program for implementing this is stored, and a computer program stored in the medium to implement the same.
  • Autonomous robots refer to robots that search their surroundings and detect obstacles and use wheels or legs to find the optimal route to their destination.
  • Path planning or obstacle avoidance is an important element technology in autonomous driving of mobile robots.
  • the robot creates and moves to the destination, but must reach the destination without colliding with surrounding obstacles.
  • a good path means the shortest path that minimizes the movement path to the destination or a safety path that minimizes the possibility of collision with surrounding obstacles.
  • the safe path is more important for robotic applications, but the most ideal path will be the safest and the shortest possible path.
  • an obstacle detection sensor (a device that can measure the distance to surrounding obstacles such as laser, ultrasonic, etc.) is used to find the direction with the most empty space and to find the direction of the destination.
  • the weight of the direction toward the empty space and the direction toward the destination is determined experimentally. If a lot of weight is given to the empty space, the possibility of collision with an obstacle can be minimized, but in extreme cases, the destination may not be reached. Conversely, if you give a lot of weight to the destination, safety is poor.
  • the basic driving capability that an autonomous robot must have is intelligent navigation capability that can move to the desired target point in an optimal path without collision, and path planning technology and location recognition element technology are required for such intelligent navigation.
  • the route planning technology can be divided into global route planning and local route planning technology.
  • global route planning is to search for the optimal route from the starting point to the target point using a given environment map
  • Local route planning means creating an actual movement trajectory to avoid a dynamic obstacle recognized by a sensor.
  • the location recognition technology is a positioning technology that finds out the current position of a robot on a map while driving.
  • the Dijkstra algorithm described above has been suggested as the first route plan and has been widely used in various fields until now, but has a disadvantage in that it requires a lot of computation time since it searches all spaces.
  • the A* algorithm is a complementary form of the Dijkstra algorithm, and by adding an appropriate evaluation function, it is possible to achieve a faster search time than the Dijkstra algorithm based on the depth search and the area search.
  • the local path planner follows the path created by the global path plan given to the robot based on the current state of the robot and the local environment information, so that the path can be moved to avoid collisions caused by non-environmental obstacles. It's a planning skill.
  • Regional route planning is an essential technology for a mobile robot to move to a destination without obstacles and collisions in a daily space where environmental changes inevitably occur, and unlike the global route planning, real-time is required.
  • the above incremental (progressive) planning method can be calculated quickly, but if the distance between waypoints is short or the angle between waypoints is small, the path to the next target waypoint after the robot passes the target waypoint increases. There is a problem with this occurring.
  • Korean Patent Registration [10-1079197] discloses a route tracking method for an autonomous driving device.
  • the present invention was conceived to solve the above-described problems, and an object of the present invention is to determine a waypoint on the side of the robot traveling direction outside the sensor sensing area of the robot as a target waypoint, and if an overrun phenomenon does not occur
  • it provides a real-time waypoint route improvement method that enables autonomous driving by finding a more challenging and more optimized route, a recording medium storing a program for implementing it, and a computer program stored in the medium to implement the method.
  • a method for improving a real-time waypoint path in a method for improving a real-time waypoint path in the form of a program executed by an arithmetic processing means including a computer,
  • the waypoint path determination step (S10) among the local visible position space, which is a set of areas in which the arithmetic processing means does not have obstacles and collisions when moving straight from the robot among the movable areas detected by the robot sensors.
  • the waypoint pass segment connecting the local goal and the previous waypoint from the current position of the moving object to the nearest obstacle from the local goal enters the local goal accessible pass segment. It is characterized by planning a route to do.
  • the route planning step (S30) is characterized in that the route is planned by planning an accessible waypoint, which is a temporary waypoint to enter the local goal accessible pass segment.
  • the point where the distance to the local goal is the shortest among the local goal accessible pass segments is the accessible way point. It is characterized in that it is determined by.
  • the path planning step (S30) when there is an obstacle on the local bone accessible path segment, a temporary way to the direction side where there is no obstacle on the local visible position space so that there is no collision with the obstacle on the path between the local waypoints. It is characterized by planning a local waypoint, which is a point, and planning an accessible waypoint at a point after passing an obstacle on the local goal accessible pass segment, and planning a route through the local waypoint and the accessible waypoint. To do.
  • the cost of the local way point and the accessible way point is the smallest, and the local way point and the accessible way point are set. It is characterized.
  • the path planning step (S30) is characterized in that when there is an obstacle on the local bone accessible path segment, a local waypoint at which the angle formed with the current traveling direction of the robot is minimum is set.
  • a computer-readable recording medium in which a program for implementing the real-time waypoint path improvement method is stored is provided.
  • a program stored in a computer-readable recording medium is provided.
  • a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same, the waypoint on the side of the robot traveling direction outside the sensor sensing area of the robot
  • the robot can more challengingly find a more optimized path to enable autonomous driving, thereby minimizing the occurrence of overrun of the robot and at the same time reducing the amount of computation, thus enabling real-time path calculation.
  • time coordination safety area By calculating the path based on, there is an effect of further reducing the amount of computation required for calculating the path.
  • a waypoint setting step, a reverse path calculation step, a forward path calculation step, and a robot control command generation step are performed, but by performing the reverse path calculation step before the forward path calculation step, the path is made to pass the target waypoint more smoothly. There is an effect that can be formed.
  • connection path connecting the forward path and the reverse path there is an effect of being able to connect the forward path and the reverse path so as not to put an excessive force on the robot.
  • connection path check step between the backward path calculation step and the forward path calculation step, there is an effect of further reducing the amount of computation required for path calculation.
  • connection path if there is a connection path, the forward time index for the connection path and the reverse path is set, and collision with dynamic obstacles of the connection path and the reverse path that were not considered in the calculation can be checked, thereby enabling faster and more stable path creation. have.
  • FIG. 1 is a flowchart of a method for improving a real-time waypoint route according to an embodiment of the present invention.
  • FIG. 2 is an exemplary view for explaining a local workspace applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
  • FIG 3 is an exemplary diagram for explaining a local position space applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
  • FIG. 4 is an exemplary view illustrating a local visible position space applied to a method for improving a real-time waypoint path according to an embodiment of the present invention.
  • FIG. 5 is an exemplary view for explaining a process of determining a local goal in a local goal determination step of a method for improving a real-time waypoint path according to an embodiment of the present invention.
  • FIG. 6 is an exemplary view for explaining a local goal accessible pass segment applied to a method for improving a real-time waypoint path according to an embodiment of the present invention.
  • FIG. 7 is an exemplary diagram for explaining a local waypoint and an accessible waypoint applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of an online bidirectional route planning method in a time state domain according to an embodiment of the present invention.
  • FIG. 9 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention.
  • FIG. 10 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention.
  • 11 is an exemplary view showing an example of calculating a route in real time according to a movement of a robot to which a method for improving a real-time waypoint route according to an embodiment of the present invention is applied.
  • FIG. 12 is an exemplary view showing a path the robot moves as a result of the path calculation of FIG. 11.
  • 13 is an exemplary view showing a simulation result in a place where the door is opened and closed.
  • FIG. 14 is an exemplary view showing a simulation result changed according to an update of sensing data and a path calculation period.
  • 15 is an exemplary view showing an autonomous driving simulation result according to a general route plan to which the present invention is not applied.
  • 16 is an exemplary view showing an autonomous driving simulation result according to a route plan to which a real-time waypoint route improvement method according to an embodiment of the present invention is applied.
  • connection path check step S35 forward path calculation step
  • FIG. 1 is a flowchart of a method for improving a real-time waypoint route according to an embodiment of the present invention
  • FIG. 2 is an exemplary view for explaining a local workspace applied to a method for improving a real-time waypoint route according to an embodiment of the present invention
  • 3 is an exemplary diagram for explaining a local position space applied to a real-time waypoint route improvement method according to an embodiment of the present invention
  • FIG. 4 is a real-time waypoint route improvement method according to an embodiment of the present invention.
  • FIG. 5 is an exemplary diagram for explaining a process of determining a local goal in a local goal determination step of a method for improving a real-time waypoint path according to an embodiment of the present invention
  • 6 is an exemplary view for explaining a local bone accessible pass segment applied to a method for improving a real-time waypoint path according to an embodiment of the present invention
  • FIG. 7 is a real-time waypoint according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of an online two-way route planning method in a time state domain according to an embodiment of the present invention
  • FIG. 9 Is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention
  • FIG. 10 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention.
  • 11 is an exemplary view showing an example of calculating a route in real time according to the movement of a robot to which the real-time waypoint route improvement method of the present invention is applied
  • FIG. 12 is an exemplary view showing the route traveled by the robot as a result of calculating the route of FIG.
  • FIG. 13 is an exemplary view showing a simulation result in a place where a door is opened and closed
  • FIG. 14 is an exemplary view showing a simulation result that changes according to an update of sensing data and a path calculation period
  • FIG. 15 is a view to which the present invention is not applied.
  • Fig. 16 is an exemplary diagram showing the result of an autonomous driving simulation according to a general route plan
  • FIG. 16 is a real-time waypoint view This is an example diagram showing the results of the autonomous driving simulation according to the route plan to which the route improvement method was applied.
  • a method for improving a real-time waypoint path includes a method for improving a real-time waypoint path in the form of a program executed by an operation processing means including a computer. It includes a determination step (S10), a local goal determination step (S20), a path planning step (S30), and a robot control step (S40).
  • Waypoints refer to points that the robot can designate as a target for driving, and are indicated as dots in the drawing. Targeting can pass through a waypoint, but you can also pass nearby without passing through.
  • the waypoint pass segment refers to a path connecting the waypoint and the waypoint.
  • the waypoint pass segment may be a line segment connecting a point (waypoint) and a point (waypoint), but may also be a curved line.
  • the waypoint path segment is a relatively safe path that does not collide with obstacles on the map. In other words, it is a path that does not collide with a fixed obstacle displayed on the map.
  • the waypoint path refers to a set of waypoint path segments that form an optimal path to a target point. That is, the waypoint path is a path consisting of waypoint path segments to a target point, and may be a set of line segments.
  • Local workspace refers to a workspace (area) based on sensor data (see Fig. 2).
  • the local workspace includes the local free workspace, the local opstarkle workspace, and the local unknow workspace.
  • Local Free Workspace Denotes a workspace without obstacles detected by the sensor, and corresponds to the area indicated by the orange side of FIG. 2.
  • Local Opstarkle Workspace Denotes a workspace limited to an obstacle detected by a sensor, and corresponds to an area indicated by a purple line segment in FIG. 2.
  • Local Unknow Workspace Denotes a workspace where collision with an obstacle cannot be predicted because it is an area not detected by a sensor, and corresponds to an area without color in FIG. 2.
  • the local position space refers to a workspace (area) based on sensor data in consideration of collisions according to the shape of the robot (see Fig. 3).
  • the local position space includes a local obscuring position space, a local preposition space, a local unknown position space, and a local visible position space.
  • Local Obstacle Position Space Is the obstacle area detected by the sensor It refers to a workspace that collides with and corresponds to the orange area of FIG. 3.
  • Local preposition space Denotes a workspace that does not collide with an obstacle detected by the sensor, and corresponds to the light blue area of FIG. 3.
  • Local Unknown Position Space Denotes a workspace where collision cannot be predicted because it is not detected by a sensor, and corresponds to an area without color in FIG. 3.
  • Local Visible Position Space Denotes a set of areas (spaces) without obstacles and collisions when the robot moves straight from the current position of the robot, and corresponds to the red area of FIG. 4.
  • Local Goal Accessible Pass Segment Denotes an area in which the local goal can be accessed directly to the local goal without collision with an obstacle among the waypoint pass segments connecting the local goal and the previous waypoint, and corresponds to the area indicated by the purple line segment of FIG. 6.
  • the calculation processing means determines a waypoint path, which is a set of waypoint path segments that form an optimal path to a target point among waypoint path segments that connect the waypoint and the waypoint. .
  • the waypoint path determination step (S10) determines an optimal path to which waypoints are connected based on the previously input map information.
  • the waypoint path can be regarded as an initial path, but it should be noted that the robot does not follow the waypoint path.
  • the waypoint path is only information that is referenced to find an optimal route.
  • the local bone determination step (S20) is a local visible position space that is a set of areas without obstacles and collisions (on the map) when the operation processing means moves straight from the robot among the movable areas of the robot detected by the sensor of the robot. Among them, the next waypoint of the last waypoint on the waypoint path determined in the waypoint path determination step S10 or the next waypoint of the waypoint path segment is determined as a target waypoint, a local goal.
  • the local visible position space is narrower than the local preposition space.
  • the local visible position space is displayed in red and the local pre-position space is displayed in light blue.
  • a method for improving a real-time waypoint path according to an embodiment of the present invention is for a more challenging robot to find a more optimized path
  • the robot calculates the path based on the detected information.
  • the robot when the robot falls on the waypoint path for reasons such as avoiding obstacles, the robot can designate a local goal at a certain point based on the result recognized by the robot, and plan a path based on the local goal.
  • a local goal is determined on the basic waypoint path and a path (pass) to go toward the local goal is planned.
  • Local Visible Position Space is meaningful because it is safe to go straight on the Local Visible Position Space when trying to improve a previously planned route (refining the route), so it is good to take the first waypoint.
  • the waypoint at the rear of the waypoints that can safely go straight may be determined as a local goal, but it is not challenging and is not considered, and a waypoint is placed on an invisible area, that is, a local unknown position space I thought about taking pictures,
  • the last waypoint that can be checked on the local visible position space or the next waypoint of the waypoint pass segment is determined as a local goal.
  • the path can be planned toward the point closest to the local goal without collision with the obstacle on the local goal accessible path segment on the local unknown position space.
  • the next waypoint of the last waypoint on the waypoint path or the next waypoint of the waypoint path segment is determined as a target waypoint, a local goal.
  • the local goal determination step S20 determines the next waypoint of the last waypoint corresponding to the intersection of the local visible position space and the waypoint path as a local goal.
  • the next waypoint of the last waypoint that can be checked may be determined as the local goal.
  • the operation processing means plans a path from the position of the robot to the local bone determined in the local bone determination step S20.
  • The'time state domain' refers to a set of state values considered for time.
  • The'status value' refers to a value that includes a coordinate value for a position and azimuth (heading angle, etc.) and includes any one or more information selected from among steering angle, speed (linear velocity, angular velocity), and acceleration. For example, it may be (x-coordinate, y-coordinate, bearing, velocity, acceleration).
  • Time coordination region' refers to a set of coordination values considered for time.
  • 'Coordination value' refers to a value including a position and azimuth (heading angle, etc.). For example, it may be (x coordinate, y coordinate, direction).
  • the status value of the robot's current position is marked as's k ',
  • the state value calculated by f step from the current position of the robot in the forward path is expressed as's f '.
  • the status value of the robot is marked as'g w '.
  • step b The status value calculated by step b from the current target waypoint to the reverse path is expressed as's -b ',
  • the robot's status value is expressed as's' (lowercase s),
  • the status area which is a set of robot status values, is marked with'S' (capital S),
  • the time state value which is the state value at time step n, is expressed as s n (lowercase s),
  • the time-state domain is denoted as'S n '(s n ⁇ S n ),
  • the coordination area which is a set of coordination values of the robot, is marked with'Q' (capital Q),
  • the time coordination value which is the coordination value at time step n, is expressed as q n (lowercase q),
  • the temporal coordination domain is denoted as'Q n '(q n ⁇ Q n ),
  • the coordination area that collides with a static obstacle is' ', and
  • the route planning step (S30) of the real-time waypoint route improvement method plans a two-way route that gradually plans (calculates) the forward route and the reverse route, and is used to plan the forward route and the reverse route.
  • the state value (s n (n is a time index, a natural number)) in the time state area is selected from the steering angle, speed (linear speed, angular speed), and acceleration including the coordinate values for the position and azimuth (heading angle). It may be characterized by including any one or a plurality of information.
  • Forward path calculation calculates the forward path in the time state domain considering the state value (s) and the time value from the current position of the robot or the last calculation point of the forward path to the current target waypoint or the last calculation point of the reverse path. .
  • the time value is a value that can check the time from the current time to the future, and can be used only as a time index (n), but the calculation period for calculating one step is multiplied by the time index (n) (calculation period *
  • the time index (n) available.
  • the forward path calculation may calculate a forward path in a time state domain from the current position of the initial robot toward the current target waypoint. After that, if the forward path and the reverse path are calculated, the forward path in the time state domain from the last calculation point of the forward path to the last calculation point of the reverse path can be calculated.
  • the reverse path in the time state domain from the current target waypoint or the last calculation point of the reverse path to the current position of the robot or the last calculation point of the forward path is calculated.
  • a reverse path in a time state region from an initial current target waypoint to a current position of the robot may be calculated. After that, if the forward path and the reverse path are calculated, the forward path in the time state domain from the last calculation point of the reverse path to the last calculation point of the forward path is calculated.
  • the forward path calculation and the reverse path calculation are planned to face the last calculation point on the opposite side.
  • Planning the reverse path is to make the robot pass more smoothly when it passes the target waypoint, so that if the distance between waypoints is short or the angle between waypoints is small, the robot passes the target waypoint and then moves toward the next target waypoint. This is to reduce the overrun phenomenon in which the turning path becomes larger.
  • the state value (s n ) is at a given point. It may be characterized by obtaining a state value (s n+m ) at a step that will proceed as much as the number of steps (m) to be calculated toward the target point (s to ).
  • the forward path calculation and the reverse path calculation can be defined as follows.
  • the robot's input value u n can be obtained as follows.
  • Is a cost function that returns a cost value that occurs when the transition to s n + m to the given mobile cost function by using the input u which the status of the robot in a s n on the input for the least effort.
  • U n that minimizes is an input value that can change the robot to the target state value with minimal effort.
  • H r is arranged in the dominant order. In other words, H r with smaller r is more dominant.
  • H r is arranged in the dominant order. In other words, H r with smaller r is more dominant.
  • Time-state safety zone minimizing the r part from H 1 to H r can be defined as:
  • Time-state safe area calculated as an unresolved movement cost function Is the time state safety zone Is the same as
  • s n +m is the state value at n+m steps
  • N is the approximate optimal time state value calculation function
  • s n is the given state value at n steps
  • s to is the state value at the target point
  • m is Number of steps you want to calculate
  • the robot state value of s n is the current state in order to transition to the state of s to, n after the optimum status of the m-th time index s It is calculated as n+m .
  • H 1 is the speed-reading independent movement cost function
  • H 2 is the angle-travel direction partial cost function
  • H 3 is the velocity magnitude partial movement cost function
  • the movement cost function H(s from , s to ) can be composed of three parts, and D is a predefined threshold distance.
  • each time state is determined based on the velocity independent movement cost function H 1 .
  • the direction of movement partial movement cost function H 2 and the velocity magnitude partial movement cost function H 3 are used to set the state of the current target waypoint.
  • each time setting is determined to be closest to the target.
  • H 2 and H 3 are designed to set the current target waypoint state.
  • the speed at the current target waypoint is determined in consideration of the position of the robot, the position of the target waypoint, and the position of the next waypoint.
  • the direction is determined as the average direction of the two vectors to the position of the robot, the position of the target waypoint, and the position of the target waypoint and the position of the next waypoint.
  • the size of the speed at the target waypoint is determined according to the inner angle of the path at the target waypoint.
  • the current speed of the target waypoint is set in proportion to the distance so that it does not vibrate near the waypoint.
  • H 1 is the speed-reading independent movement cost function
  • H 2 is the angle-travel direction partial cost function
  • H 3 is the velocity magnitude partial movement cost function
  • each time state is determined based on a speed-independent movement cost function H 1 .
  • H 1 In order to consider both the position close to the target position and the direction toward the target position, H 1 consists of two parts with a predefined weight ⁇ .
  • the movement direction partial movement cost function H 2 and the velocity magnitude partial movement cost function H 3 are used to set the linear and angular velocity of the current target waypoint in a manner similar to the example of a robot capable of omnidirectional movement.
  • the forward route calculation of the online bidirectional route planning method in the time state domain is a time coordination safety area, which is a safe area on the coordination area that does not collide with static and dynamic obstacles. If is present, the coordination value of the robot at the time index (n) ( ) And time index (n) It characterized in that it calculates the forward path based on,
  • the coordinate value of the robot at the time index (n) ( ) And time coordination safety zone It may be characterized by calculating the reverse path based on.
  • the robot can predict the path of each dynamic obstacle such as humans and other robots based on a tracking algorithm using sensor data.
  • the free dynamic coordination region at time index n Is a safe area for robots that do not collide with obstacles including dynamic obstacles and static obstacles in time index n.
  • the motion of the robot system with the input value u n (u n ⁇ U) of the robot at the time index n can be defined as follows.
  • Environmental detectors detect and track obstacles based on a sensor system using sensors such as vision sensors or laser range finders (LRF), and classify them into static obstacles (environmental obstacles) and dynamic obstacles (non-environmental obstacles). And Can be obtained.
  • sensors such as vision sensors or laser range finders (LRF)
  • LRF laser range finders
  • the global route planner which plans routes by assigning waypoints, Plan a series of waypoints and goals inside.
  • the robot sequentially passes through the waypoints and And You can use to plan a path to reach your goal without collision.
  • the reachable time state region at the time index n + m can be defined, and at this time, the reachable time coordination region can also be defined.
  • the robot can be controlled with a uniform input value of the robot over m time steps.
  • the reachable time state area accessible by the uniform input value of the robot can be defined as follows.
  • an area approximating the time coordination area reachable by the uniform input value of the robot may be defined as follows.
  • a safe time-state safe area at time index n + m can be defined as:
  • the safe time coordination safe area at time index n + m can be defined as:
  • the route planning step (S30) of the real-time waypoint route improvement method includes a waypoint setting step (S32), a reverse path calculation step (S33), and a forward path calculation step. It may include (S35).
  • the waypoint setting step S32 sets the state of the robot at the current target waypoint.
  • the current target waypoint is the waypoint the forward trajectory is heading to pass.
  • the waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, and considers the position of the robot, the position of the target waypoint, and the position of the next waypoint. It is desirable to set the robot's state when the robot passes the point.
  • the waypoint setting step (S32) is characterized in that the current target waypoint is a waypoint to which the forward path is headed, and a state value (g w ) of the current target waypoint that can minimize the moving cost as shown in the following equation is set. can do.
  • the reverse path calculation step (S33) calculates the reverse path.
  • a route is planned from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the reverse path toward the last calculation point of the forward path can be calculated.
  • variable B indicated in the conditional sentence of FIG. 8 is the maximum value of the time step for the reverse route planning, and the variable b means the time step of the reverse route plan (increases by 1 when repetitive calculations are made), but the variable and conditions for it are arbitrarily set Of course, it can be used in various ways. (The same applies to the variables of FIGS. 9 to 10)
  • the forward path is calculated.
  • a path is planned from the current position of the robot toward the target waypoint. At this time, if the reverse route is calculated, the forward route toward the last calculation point of the reverse route can be calculated.
  • variable F indicated in the conditional sentence of Fig. 8 is the maximum value of the time step for forward path planning
  • variable f is the time step of the reverse path plan (increases by 1 when calculating iteratively)
  • k is the current time step.
  • the reverse path calculation step (S33) and the forward path calculation step (S35) may be performed by reversing the order, but first performing the reverse path calculation step (S33) allows the path to pass more smoothly through the target waypoint. Can be formed, it is preferable to first perform the reverse path calculation step (S33).
  • the reverse path calculation step (S33) and the forward path calculation step (S35) may be repeatedly performed alternately, and the reverse path calculation step (S33) or the forward path calculation step (S35) is first repeated a certain number of times.
  • the forward path calculation step (S33) and the forward path calculation step (S35) may be repeatedly performed in various ways, such as repeating the forward path calculation step (S35) or the reverse path calculation step (S33). .
  • the two-way path planning from the current position to the current target waypoint is completed only when the reverse path and the forward path are connected.
  • a connection route connecting the forward route and the reverse route is calculated, and a bidirectional route for gradually planning a forward route and a reverse route is calculated. It can be characterized by planning.
  • the forward route and the reverse route may meet, but the speed may be different.
  • connection path in order to overcome the difference in speed between the forward path and the reverse path, it is preferable to be connected by the connection path.
  • connection path connected to the forward path side is calculated to have the same speed as the last calculation point of the forward path
  • the other side of the connection path connected to the reverse path side has the same speed as the last calculation point of the reverse path. It is desirable to calculate the connection path so that it is possible.
  • connection path which is the section between the last calculated state value s f of the forward path and the last calculated state value s -b of the reverse path, equalizes the input value of the robot and is calculated as follows: It can be characterized by that.
  • f(a, b, c) is a motion model function of the robot that calculates the state value of the robot that is moved to the input value of the robot b by c time steps at the point corresponding to the state value a.
  • the path planning step (S30) of the real-time waypoint path improvement method includes a waypoint setting step (S32), a reverse path calculation step (S33), and a connection It may include a path check step (S34) and a forward path calculation step (S35).
  • the waypoint setting step S32 sets the state of the robot at the current target waypoint.
  • the current target waypoint is the waypoint the forward trajectory is heading to pass.
  • the waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, and considers the position of the robot, the position of the target waypoint, and the position of the next waypoint. It is desirable to set the robot's state when the robot passes the point.
  • the current target waypoint is the waypoint to which the forward path is directed, and the following equation
  • a state value (g w ) of a current target waypoint that can minimize moving cost may be set.
  • the reverse path calculation step (S33) calculates the reverse path.
  • a route is planned from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the reverse path toward the last calculation point of the forward path can be calculated.
  • the reverse path may be calculated step by step or may be calculated in a predetermined step unit.
  • step S34 of checking the connection path it is checked whether there is a connection path in which the current position of the robot or the last calculation point of the forward path and the current target waypoint or the last calculation point of the reverse path are connected.
  • connection path checking step (S34) may be performed each time the reverse path is calculated by one step, or may be performed each time the reverse path is calculated by a predetermined number of steps.
  • connection path check step (S34) If there is a connection path, it may be characterized in that the return to the waypoint setting step (S32).
  • Planning the reverse path ahead of the forward path allows the robot to pass more smoothly when it passes the target waypoint. If the distance between waypoints is short or the angle between waypoints is small, the robot passes the target waypoint and then the next target way. This is to reduce the overrun phenomenon in which the path turning toward the point becomes larger.
  • calculating the reverse path first by a predetermined number of times is also to make it smoother when the robot passes the target waypoint.
  • the reverse path calculation step (S33) to the connection path check step (S34) is repeatedly performed a predetermined number of times, the next step may be performed even if the connection path does not exist.
  • a path is planned from the current position of the robot toward the target waypoint. At this time, if the reverse route is calculated, the forward route toward the last calculation point of the reverse route can be calculated.
  • the forward path may be calculated step by step, or may be calculated in a predetermined step unit.
  • connection path checking step (S34) of the method for online bidirectional path planning in a time state domain if a connection path exists, a forward time index for the connection path and the reverse path is set, and the connection path And after checking whether an inevitable collision condition occurs in the reverse path, if the inevitable collision condition does not occur, the time variable of the forward route, the time variable of the reverse route, and the time variable of the forward route passing through the next waypoint are calculated and changed. You can do it.
  • the forward time index applied to the forward path can know the absolute time (time based on the robot). Thus, it is possible to predict the collision of a dynamic obstacle.
  • the time index used for the link path and the reverse path must be changed to the forward time index applied to the forward path in order to check the collision of dynamic obstacles. You can know the absolute time of the route and the reverse route, and check whether there is a predicted collision in the reverse route and the connection route.
  • the robot control step (S40) controls the movement of the robot by calculating a command for controlling the robot according to the path planned in the path planning step (S30).
  • a command for controlling the robot may be calculated according to the bidirectional path.
  • a command for controlling the robot may be calculated according to the bidirectional path (see FIG. 9).
  • the input value of the robot generated in the robot control step S40 may be calculated as follows.
  • the path planning step (S30) of the real-time waypoint path improvement method is an obstacle closest to the local goal in the waypoint path segment connecting the local goal and the previous waypoint from the current position of the moving object. It may be characterized by planning a route to the local goal accessible pass segment, which is an area to.
  • the local goal accessible pass segment refers to an area in which the local goal can be accessed directly to the local goal without collision with obstacles among the waypoint pass segments connecting the local goal and the previous waypoint. If there is no obstacle on the waypoint pass segment connecting the previous waypoint, the entire waypoint pass segment connecting the local goal and the previous waypoint becomes the local goal accessible pass segment (the purple line segment indicated by the arrow),
  • the safest place in the local unknow position space is the waypoint pass segment
  • the area in which the waypoint path can be directly safely accessed to the local goal is determined as the local goal accessible pass segment.
  • the route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention is characterized in that the route is planned by planning an accessible waypoint, which is a temporary waypoint to enter the local goal accessible path segment. can do.
  • the local goal (W M ) is determined on the intersection of the waypoint pass and the local unknown position space, and the temporary waypoint (W m , m) before entering the local goal (W M ) is A natural number) should be decided on the local goal accessible pass segment.
  • the local visible position space and the local bone accessible path when there is an intersection of the local visible position space and the local bone accessible path segment, the local visible position space and the local bone accessible path It may be characterized in that the point at which the specific cost function is minimized within the intersection with the segment is determined as an accessible waypoint.
  • the specific cost function refers to a cost function calculated in consideration of time, distance, speed, acceleration, energy consumption, and the like.
  • the local visible position space and the local bone accessible path when there is an intersection of the local visible position space and the local bone accessible path segment, the local visible position space and the local bone accessible path It may be characterized in that the point where the movement distance from the robot to the local goal is shortest within the intersection with the segment is determined as the accessible waypoint.
  • W 1 indicated by an arrow may be an accessible waypoint.
  • plan a local waypoint which is a temporary waypoint toward the direction of travel without obstacles on the local visible position space, and plan an accessible waypoint at the point after passing the obstacle on the local visible position space. It can be characterized by planning a route through points and accessible waypoints.
  • W 1 indicated by an arrow may be a local waypoint, and W 2 may be an accessible waypoint.
  • a local waypoint is determined in the direction toward the local visible position space, and an accessible waypoint is determined on the local goal accessible path segment. You can plan.
  • the route planning step (S30) of the method for improving a real-time waypoint route according to an embodiment of the present invention is, when there is no intersection between the local visible position space and the local goal accessible path segment, the local waypoint and the accessible waypoint are It can be characterized by setting a local waypoint and an accessible waypoint with the smallest cost (distance, etc.).
  • the safest area is the local visible position space
  • the next safe area is the local goal accessible path segment
  • the next safe area is the local unknown position space.
  • the distance moving within the local visible position space area and the distance moving within the local goal accessible pass segment area are increased, while the distance passing through the local waypoint and the accessible waypoint is increased. It is desirable to minimize it.
  • FIG. 11 shows an example of calculating a path in real time according to the movement of the robot. In the figure on the left, as time passes, the path changes as shown on the right.
  • the yellow radius in FIG. 11 shows the sensing range according to the movement of the robot.
  • the black dotted line in FIG. 12 shows the waypoint path.
  • the sensing data update and the path calculation period were set to 0.5 seconds, as shown in the lower right figure of FIG. 14, it was confirmed that the path was not a planned path but proceeded to a fast path that could shorten the path.
  • the blue dots shown in FIG. 14 represent the movement path of the robot.
  • FIG. 15 shows the results of an autonomous driving simulation according to a general route plan to which the present invention is not applied
  • FIG. 16 shows the results of an autonomous driving simulation according to a route plan to which the real-time waypoint route improvement method according to an embodiment of the present invention is applied. To show.
  • the current angle formed with the moving direction of the robot is minimal. It may be characterized by setting a local waypoint to be.
  • the distance and angle have been described as examples as items that can be considered as cost, but the present invention is not limited thereto, and the local waypoint is set so that the cost is minimized in consideration of the speed and time of the robot. It is possible, of course, that various implementations are possible, such as setting a local waypoint so that the cost is minimized in consideration of various items among them.
  • the above-described online bidirectional route planning method in the time state domain may be provided in a recording medium that can be read through a computer by tangibly implementing a program of instructions for implementing it.
  • a recording medium that can be read through a computer by tangibly implementing a program of instructions for implementing it.
  • the computer-readable recording medium may include a program command, a data file, a data structure, or the like alone or in combination.
  • the program instructions recorded on the computer-readable recording medium may be specially designed and constructed for the present invention, or may be known and usable to those skilled in computer software.
  • Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptic disks, and ROM, RAM, and flash memory.
  • a hardware device specially configured to store and execute program commands such as USB memory, and the like.
  • Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

Landscapes

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

Abstract

The present invention relates to a real-time waypoint path improvement method, a recording medium in which a program for implementing same is stored, and a computer program stored in a medium in order to implement same and, more specifically, to: a real-time waypoint path improvement method, which determines, as a target waypoint, a robot traveling direction side waypoint that is outside a sensor detection region of a robot, so that the robot can autonomously travel by more actively finding a more optimized path; a recording medium in which a program for implementing same is stored; and a computer program stored in a medium in order to implement same.

Description

실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램Real-time waypoint route improvement method, a recording medium in which a program to implement it is stored, and a computer program stored in the medium to implement it
본 발명은 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 로봇의 센서 감지영역 외부의 로봇 진행방향 측 웨이포인트를 목표 웨이포인트로 결정하여, 보다 도전적으로 로봇이 보다 최적화된 경로를 찾아 자율주행이 가능한 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.The present invention relates to a real-time waypoint path improvement method, a recording medium in which a program for implementing the same is stored, and a computer program stored in the medium to implement the same, and more particularly, to a waypoint in the direction of the robot outside the sensor sensing area of the robot. Is determined as a target waypoint, and a method for improving a real-time waypoint route that enables autonomous driving by finding a more challenging route for the robot to be more challenging, a recording medium in which a program for implementing this is stored, and a computer program stored in the medium to implement the same. About.
자율주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇을 말한다.Autonomous robots refer to robots that search their surroundings and detect obstacles and use wheels or legs to find the optimal route to their destination.
경로계획 또는 장애물 회피는 이동로봇의 자율주행에 있어서 중요한 요소기술이다. 로봇은 목적지까지 경로를 생성하여 이동하되 주변 장애물과 충돌하지 않고 목적지에 도달해야 한다. 좋은 경로라 함은 목적지까지의 이동 경로를 최소로 하는 최단경로이거나 또는 주변 장애물과의 충돌 가능성을 최소로 하는 안전 경로를 의미한다.Path planning or obstacle avoidance is an important element technology in autonomous driving of mobile robots. The robot creates and moves to the destination, but must reach the destination without colliding with surrounding obstacles. A good path means the shortest path that minimizes the movement path to the destination or a safety path that minimizes the possibility of collision with surrounding obstacles.
통상적으로 로봇 응용에 있어서는 안전경로가 보다 중요하지만 가장 이상적인 경로는 안전하면서도 가능한 한 최단인 경로일 것이다.In general, the safe path is more important for robotic applications, but the most ideal path will be the safest and the shortest possible path.
통상적으로 안전경로를 확보하는 방법으로는 로봇에 장착된 장애물 감지 센서(레이져, 초음파 등 주변 장애물과 의 거리를 측정할 수 있는 장치 등)를 이용하여 빈 공간이 가장 많은 방향을 찾고 목적지 방향을 같이 고려하여 로봇의 이동 방향을 결정하는 방법이 주로 사용되어 왔다. 빈 공간을 향한 방향과 목적지를 향한 방향과의 가중치는 실험적으로 결정된다. 빈 공간에 가중치를 많이 주면 장애물과의 충돌 가능성을 최소화할 수 있지만 긴 경로를 돌아야 하거나 극단적인 경우에는 목적지에 도착하지 못하는 경우가 발생한다. 반대로 목적지에 대한 가중치를 많이 주면 안전성이 떨어진다.In general, as a method of securing the safety route, an obstacle detection sensor (a device that can measure the distance to surrounding obstacles such as laser, ultrasonic, etc.) is used to find the direction with the most empty space and to find the direction of the destination. Considering the method of determining the moving direction of the robot has been mainly used. The weight of the direction toward the empty space and the direction toward the destination is determined experimentally. If a lot of weight is given to the empty space, the possibility of collision with an obstacle can be minimized, but in extreme cases, the destination may not be reached. Conversely, if you give a lot of weight to the destination, safety is poor.
자율주행 로봇이 갖추어야 할 기본적인 주행능력은 원하는 목표지점까지 충돌없이 최적의 경로로 이동할 수 있는 지능적 항법 능력이며, 이러한 지능적 항법을 위해서는 경로계획 기술과 위치인식 요소기술이 필요하다.The basic driving capability that an autonomous robot must have is intelligent navigation capability that can move to the desired target point in an optimal path without collision, and path planning technology and location recognition element technology are required for such intelligent navigation.
여기서, 경로계획 기술은, 전역 경로계획과 지역 경로계획 기술로 나눌 수 있다.Here, the route planning technology can be divided into global route planning and local route planning technology.
먼저, 전역 경로계획은, 주어진 환경지도를 이용하여 출발점에서 목표 지점까지의 최적의 경로를 탐색하는 것이고, First, global route planning is to search for the optimal route from the starting point to the target point using a given environment map,
지역 경로계획은, 센서로 인식한 동적 장애물을 회피하도록 실제 이동궤적을 생성하는 것을 의미한다.Local route planning means creating an actual movement trajectory to avoid a dynamic obstacle recognized by a sensor.
아울러, 위치인식 기술은, 주행시 로봇의 현재 위치를 지도상에서 알아내는 위치결정 기술이다.In addition, the location recognition technology is a positioning technology that finds out the current position of a robot on a map while driving.
상기한 바와 같은 전역 경로계획 방법에 대한 종래기술의 예로서, 대표적으로, 예를 들면, "A note on two problems in connexion with graphs(E. W. Dijkstra, Numerische Mathematik, Volume 1, Number 1, 269-271, 1959)"에 게시된 바와 같은 "Dijkstra 알고리즘"이 있다.As an example of the prior art for the global route planning method as described above, representatively, for example, "A note on two problems in connexion with graphs (EW Dijkstra, Numerische Mathematik, Volume 1, Number 1, 269-271, 1959)", "Dijkstra algorithm".
더 상세하게는, 상기한 Dijkstra 알고리즘은, 최초의 경로계획으로 제시되어 현재까지 여러 분야에서 많이 사용되고 있으나, 모든 공간을 탐색하므로 많은 연산시간이 요구된다는 단점이 있다.More specifically, the Dijkstra algorithm described above has been suggested as the first route plan and has been widely used in various fields until now, but has a disadvantage in that it requires a lot of computation time since it searches all spaces.
또한, 상기한 바와 같은 전역 경로계획 방법에 대한 종래기술의 다른 예로서, 예를 들면, "A Formal Basis for the Heuristic Determination of Minimum Cost Paths in Graphs_A star(PETER E. HART, VOL. ssc-4 ,NO 2, 1968)"에 게시된 바와 같은 A* 알고리즘이 있다.In addition, as another example of the prior art for the global route planning method as described above, for example, "A Formal Basis for the Heuristic Determination of Minimum Cost Paths in Graphs_A star (PETER E. HART, VOL. ssc-4, NO 2, 1968)".
더 상세하게는, 상기한 A* 알고리즘은, Dijkstra 알고리즘의 보완 형태로, 적절한 평가함수를 추가함으로써, 깊이 탐색과 넓이 탐색을 기반으로 Dijkstra 알고리즘에 비해 더 빠른 탐색 시간을 달성할 수 있다.More specifically, the A* algorithm is a complementary form of the Dijkstra algorithm, and by adding an appropriate evaluation function, it is possible to achieve a faster search time than the Dijkstra algorithm based on the depth search and the area search.
지역 경로계획은 지역 궤적 계획기가 현재 로봇의 상태와 지역 환경 정보를 기반으로 로봇에게 주어진 전역 경로계획에 의해 생성된 경로를 따라감에 있어서 비환경적 장애물에 의한 충돌이 일어나지 않도록 이동할 수 있게 궤적을 계획하는 기술이다. In the regional path planning, the local path planner follows the path created by the global path plan given to the robot based on the current state of the robot and the local environment information, so that the path can be moved to avoid collisions caused by non-environmental obstacles. It's a planning skill.
지역 경로계획은 환경 변화가 필연적으로 발생하는 일상 공간에서 장애물과 충돌 없이 이동로봇이 목적지로 이동하기 위한 필수적인 기술이며, 상기 전역 경로 계획과 달리 실시간성이 요구된다.Regional route planning is an essential technology for a mobile robot to move to a destination without obstacles and collisions in a daily space where environmental changes inevitably occur, and unlike the global route planning, real-time is required.
상기한 바와 같은 지역 경로계획 방법에 대한 종래기술의 예로서, 로봇이 지나가야 하는 웨이포인트를 부여하여 경로를 계획하는 증분(점진적) 계획 방법이 있다.As an example of the prior art for the local route planning method as described above, there is an incremental (gradual) planning method in which a route is planned by assigning a waypoint through which a robot must pass.
상기 증분(점진적) 계획 방법은 빠른 계산이 가능하지만 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상이 발생되는 문제가 있다.The above incremental (progressive) planning method can be calculated quickly, but if the distance between waypoints is short or the angle between waypoints is small, the path to the next target waypoint after the robot passes the target waypoint increases. There is a problem with this occurring.
한국등록특허 [10-1079197]에서는 자율주행 장치의 경로추적 방법이 개시되어 있다.Korean Patent Registration [10-1079197] discloses a route tracking method for an autonomous driving device.
따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 로봇의 센서 감지영역 외부의 로봇 진행방향 측 웨이포인트를 목표 웨이포인트로 결정하여, 오버런 현상이 발생되지 않으면서, 보다 도전적이며 보다 최적화된 경로를 찾아 자율주행이 가능한 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공하는 것이다.Accordingly, the present invention was conceived to solve the above-described problems, and an object of the present invention is to determine a waypoint on the side of the robot traveling direction outside the sensor sensing area of the robot as a target waypoint, and if an overrun phenomenon does not occur In this regard, it provides a real-time waypoint route improvement method that enables autonomous driving by finding a more challenging and more optimized route, a recording medium storing a program for implementing it, and a computer program stored in the medium to implement the method.
본 발명의 실시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The objects of the embodiments of the present invention are not limited to the above-mentioned objects, and other objects not mentioned will be clearly understood by those of ordinary skill in the art from the following description. .
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서, 연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정하는 웨이포인트패스결정 단계(S10); 연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정하는 로컬골결정 단계(S20); 연산처리수단이 상기 로봇으로부터 상기 로컬골결정 단계(S20)에서 결정된 로컬골 까지 경로를 계획하는 경로계획 단계(S30); 및 상기 경로계획 단계(S30)에서 계획된 경로에 따라 상기 로봇을 제어하는 명령을 계산하여 상기 로봇의 이동을 제어하는 로봇제어 단계(S40);를 포함하는 것을 특징으로 한다.A method for improving a real-time waypoint path according to an embodiment of the present invention for achieving the above object, in a method for improving a real-time waypoint path in the form of a program executed by an arithmetic processing means including a computer, A waypoint path determination step (S10) of determining, by the processing means, a waypoint path, which is a set of waypoint path segments forming an optimal path to a target point, among waypoint path segments that are paths connecting the waypoint and the waypoint; In the waypoint path determination step (S10), among the local visible position space, which is a set of areas in which the arithmetic processing means does not have obstacles and collisions when moving straight from the robot among the movable areas detected by the robot sensors. A local goal determination step (S20) of determining the next waypoint of the last waypoint on the determined waypoint path or the next waypoint of the waypoint path segment as a target waypoint, a local goal; A path planning step (S30) in which the operation processing means plans a path from the robot to the local bone determined in the local bone determination step (S20); And a robot control step (S40) of controlling the movement of the robot by calculating a command for controlling the robot according to the path planned in the path planning step (S30).
또한, 상기 경로계획 단계(S30)는 이동체의 현재 위치로부터 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트에서 상기 로컬골로부터 가장 가까운 장애물 까지의 영역인 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획하는 것을 특징으로 한다.In addition, in the path planning step (S30), the waypoint pass segment connecting the local goal and the previous waypoint from the current position of the moving object to the nearest obstacle from the local goal enters the local goal accessible pass segment. It is characterized by planning a route to do.
또, 상기 경로계획 단계(S30)는 상기 로컬골엑세서블패스세그먼트로 진입하는 임시 웨이포인트인 엑세서블웨이포인트를 계획하여 경로를 계획하는 것을 특징으로 한다.In addition, the route planning step (S30) is characterized in that the route is planned by planning an accessible waypoint, which is a temporary waypoint to enter the local goal accessible pass segment.
또한, 상기 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, 로컬골엑세서블패스세그먼트 중 로컬골 까지의 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 한다.In addition, in the path planning step (S30), when there is an intersection between the local visible position space and the local goal accessible pass segment, the point where the distance to the local goal is the shortest among the local goal accessible pass segments is the accessible way point. It is characterized in that it is determined by.
또, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬골엑세서블패스세그먼트 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 한다.In addition, in the path planning step (S30), when there is an obstacle on the local bone accessible path segment, a temporary way to the direction side where there is no obstacle on the local visible position space so that there is no collision with the obstacle on the path between the local waypoints. It is characterized by planning a local waypoint, which is a point, and planning an accessible waypoint at a point after passing an obstacle on the local goal accessible pass segment, and planning a route through the local waypoint and the accessible waypoint. To do.
또한, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 한다.In addition, in the path planning step (S30), when there is an obstacle on the local goal accessible path segment, the cost of the local way point and the accessible way point is the smallest, and the local way point and the accessible way point are set. It is characterized.
또, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정하는 것을 특징으로 한다.In addition, the path planning step (S30) is characterized in that when there is an obstacle on the local bone accessible path segment, a local waypoint at which the angle formed with the current traveling direction of the robot is minimum is set.
또한, 본 발명의 일 실시예에 따르면, 상기 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, a computer-readable recording medium in which a program for implementing the real-time waypoint path improvement method is stored is provided.
아울러, 본 발명의 일 실시예에 따르면, 상기 실시간 웨이포인트 경로 개선 방법을 구현하기 위해, 컴퓨터 판독 가능한 기록매체에 저장된 프로그램이 제공되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, in order to implement the real-time waypoint path improvement method, a program stored in a computer-readable recording medium is provided.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 의하면, 로봇의 센서 감지영역 외부의 로봇 진행방향 측 웨이포인트를 목표 웨이포인트로 결정하여, 보다 도전적으로 로봇이 보다 최적화된 경로를 찾아 자율주행이 가능함으로써, 로봇의 오버런 발생을 최소화시킴과 동시에 연산량이 적어 실시간 경로 연산이 가능한 효과가 있다.According to a method for improving a real-time waypoint path according to an embodiment of the present invention, a recording medium storing a program for implementing the same, and a computer program stored in the medium to implement the same, the waypoint on the side of the robot traveling direction outside the sensor sensing area of the robot By determining as the target waypoint, the robot can more challengingly find a more optimized path to enable autonomous driving, thereby minimizing the occurrence of overrun of the robot and at the same time reducing the amount of computation, thus enabling real-time path calculation.
또, 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생을 최소화시킴과 동시에 실시간 경로 연산이 가능한 효과가 있다.In addition, by planning a bidirectional path using a forward path and a reverse path, there is an effect of minimizing the occurrence of overrun or vibration of the robot and enabling real-time path calculation.
또한, 이동에 필요한 비용 함수를 분해하여 연산량을 줄이는 함수분해 기반 비용최소화 알고리즘을 적용함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.In addition, by applying a cost minimization algorithm based on function decomposition that reduces the amount of computation by decomposing the cost function required for movement, there is an effect of further reducing the amount of computation required for path calculation.
또, 시간배위안전영역
Figure PCTKR2020002360-appb-I000001
을 근거로 경로계산을 함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.
Also, time coordination safety area
Figure PCTKR2020002360-appb-I000001
By calculating the path based on, there is an effect of further reducing the amount of computation required for calculating the path.
또한, 웨이포인트설정 단계, 역방향경로계산 단계, 순방향경로계산 단계, 로봇제어명령생성 단계를 수행하되, 역방향경로계산 단계를 순방향경로계산 단계보다 먼저 수행함으로써, 목표 웨이포인트를 보다 부드럽게 지나가도록 경로를 형성할 수 있 효과가 있다.In addition, a waypoint setting step, a reverse path calculation step, a forward path calculation step, and a robot control command generation step are performed, but by performing the reverse path calculation step before the forward path calculation step, the path is made to pass the target waypoint more smoothly. There is an effect that can be formed.
또, 순방향경로와 역방향경로를 연결하는 연결경로를 이용함으로써, 순방향경로와 역방향경로를 로봇에 무리를 주지 않도록 연결할 수 있는 효과가 있다.In addition, by using a connection path connecting the forward path and the reverse path, there is an effect of being able to connect the forward path and the reverse path so as not to put an excessive force on the robot.
또한, 역방향경로계산 단계와 순방향경로계산 단계 사이에 연결경로확인 단계를 수행함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.In addition, by performing the connection path check step between the backward path calculation step and the forward path calculation step, there is an effect of further reducing the amount of computation required for path calculation.
또, 연결경로가 존재하면 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하여, 계산 시 고려되지 않았던 연결경로 및 역방향경로의 동적 장애물과의 충돌을 확인함으로써, 보다 빠르고 안정적인 경로생성이 가능한 효과가 있다.In addition, if there is a connection path, the forward time index for the connection path and the reverse path is set, and collision with dynamic obstacles of the connection path and the reverse path that were not considered in the calculation can be checked, thereby enabling faster and more stable path creation. have.
또한, 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획함으로써, 웨이포인트로 진입하는 경로에 비해 오버런 발생을 줄일 수 있는 효과가 있다.In addition, by planning the path to enter the local goal accessible pass segment, there is an effect of reducing the occurrence of overruns compared to the path to the waypoint.
또, 로컬골엑세서블패스세그먼트로 진입하는 엑세서블웨이포인트를 계획하여 경로를 계획함으로써, 로컬골로 진입하는 경로에 비해 오버런 발생을 더욱 줄일 수 있는 효과가 있다.In addition, by planning the route by planning the accessible waypoints entering the local goal accessible pass segment, there is an effect of further reducing the occurrence of overruns compared to the route entering the local goal.
또한, 장애물이 없는 경우, 엑세서블웨이포인트를 근거로 경로를 계획함으로써, 연산량을 줄임과 동시에 빠르게 로컬골엑세서블패스세그먼트로 진입하는 최적화된 경로를 계획할 수 있는 효과가 있다.In addition, when there are no obstacles, by planning a route based on the accessible waypoint, there is an effect that it is possible to reduce the amount of computation and to quickly plan an optimized route to enter the local goal accessible path segment.
또, 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트를 근거로 경로를 계획함으로써, 장애물이 출현하여도 연산량을 줄임과 동시에 빠르게 로컬골엑세서블패스세그먼트로 진입하는 최적화된 경로를 계획할 수 있는 효과가 있다.In addition, by planning the route based on the local waypoint and the accessible waypoint when there is an obstacle, it is possible to plan an optimized route that quickly enters the local goal accessible path segment while reducing the amount of computation even if an obstacle appears. It can have an effect.
또한, 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정함으로써, 위험 요소를 최소화 시킬 수 있는 효과가 있다.In addition, when there is an obstacle, there is an effect of minimizing risk factors by setting the local waypoint and the accessible waypoint with the smallest cost of the local waypoint and the accessible waypoint.
또, 장애물이 있는 경우, 현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정함으로써, 오버런을 최소화 시킬 수 있는 효과가 있다.In addition, when there is an obstacle, it is possible to minimize overrun by setting a local waypoint at which the angle between the current robot's moving direction and the minimum angle is set.
도 1은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 흐름도.1 is a flowchart of a method for improving a real-time waypoint route according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬워크스페이스를 설명하기 위한 예시도.2 is an exemplary view for explaining a local workspace applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬포지션스페이스를 설명하기 위한 예시도.3 is an exemplary diagram for explaining a local position space applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬비저블포지션스페이스를 설명하기 위한 예시도.4 is an exemplary view illustrating a local visible position space applied to a method for improving a real-time waypoint path according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 로컬골결정 단계에서 로컬골이 결정되는 과정을 설명하기 위한 예시도.5 is an exemplary view for explaining a process of determining a local goal in a local goal determination step of a method for improving a real-time waypoint path according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬골엑세서블패스세그먼트를 설명하기 위한 예시도.6 is an exemplary view for explaining a local goal accessible pass segment applied to a method for improving a real-time waypoint path according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬웨이포인트와 엑세서블웨이포인트를 설명하기 위한 예시도.7 is an exemplary diagram for explaining a local waypoint and an accessible waypoint applied to a method for improving a real-time waypoint route according to an embodiment of the present invention.
도 8은 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.8 is a flowchart of an online bidirectional route planning method in a time state domain according to an embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.9 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention.
도 10은 본 발명의 또 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도.10 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention.
도 11은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법이 적용된 로봇의 이동에 따라 실시간으로 경로를 계산하는 예를 보여주는 예시도.11 is an exemplary view showing an example of calculating a route in real time according to a movement of a robot to which a method for improving a real-time waypoint route according to an embodiment of the present invention is applied.
도 12는 도 11의 경로 계산 결과 로봇이 이동한 경로를 보여주는 예시도.12 is an exemplary view showing a path the robot moves as a result of the path calculation of FIG. 11.
도 13은 문이 열리고 닫히는 곳에서의 시뮬레이션 결과를 보여주는 예시도.13 is an exemplary view showing a simulation result in a place where the door is opened and closed.
도 14는 센싱데이터의 업데이트 및 경로 계산 주기에 따라 변화되는 시뮬레이션 결과를 보여주는 예시도.14 is an exemplary view showing a simulation result changed according to an update of sensing data and a path calculation period.
도 15는 본 발명이 적용되지 않은 일반적인 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 예시도.15 is an exemplary view showing an autonomous driving simulation result according to a general route plan to which the present invention is not applied.
도 16은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법이 적용된 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 예시도.16 is an exemplary view showing an autonomous driving simulation result according to a route plan to which a real-time waypoint route improvement method according to an embodiment of the present invention is applied.
*도면의 주요부호에 대한 상세한 설명**Detailed explanation of the main symbols in the drawings*
S10: 웨이포인트패스결정 단계S10: Waypoint path determination step
S20: 로컬골결정 단계S20: Local goal determination step
S30: 경로계획 단계S30: Route planning stage
S32: 웨이포인트설정 단계 S33: 역방향경로계산 단계S32: Waypoint setting step S33: Reverse route calculation step
S34: 연결경로확인 단계 S35: 순방향경로계산 단계S34: connection path check step S35: forward path calculation step
S40: 로봇제어 단계S40: Robot control step
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, processes, operations, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the possibility of addition or presence of elements or numbers, processes, operations, components, parts, or combinations thereof is not preliminarily excluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms including technical or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. Prior to this, terms or words used in the specification and claims should not be construed as being limited to their usual or dictionary meanings, and the inventors appropriately explain the concept of terms in order to explain their own invention in the best way. Based on the principle that it can be defined, it should be interpreted as a meaning and concept consistent with the technical idea of the present invention. In addition, unless there are other definitions in the technical terms and scientific terms used, they have the meanings commonly understood by those of ordinary skill in the art to which this invention belongs, and the gist of the present invention in the following description and accompanying drawings Description of known functions and configurations that may be unnecessarily obscure will be omitted. The drawings introduced below are provided as examples in order to sufficiently convey the spirit of the present invention to those skilled in the art. Accordingly, the present invention is not limited to the drawings presented below and may be embodied in other forms. In addition, the same reference numbers throughout the specification indicate the same elements. It should be noted that the same elements in the drawings are indicated by the same reference numerals wherever possible.
도 1은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 흐름도이고, 도 2는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬워크스페이스를 설명하기 위한 예시도이며, 도 3은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬포지션스페이스를 설명하기 위한 예시도이고, 도 4는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬비저블포지션스페이스를 설명하기 위한 예시도이며, 도 5는 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 로컬골결정 단계에서 로컬골이 결정되는 과정을 설명하기 위한 예시도이고, 도 6은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬골엑세서블패스세그먼트를 설명하기 위한 예시도이며, 도 7은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법에 적용되는 로컬웨이포인트와 엑세서블웨이포인트를 설명하기 위한 예시도이고, 도 8은 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이며, 도 9는 본 발명의 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이고, 도 10은 본 발명의 또 다른 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 흐름도이며, 도 11은 본 발명의 실시간 웨이포인트 경로 개선 방법이 적용된 로봇의 이동에 따라 실시간으로 경로를 계산하는 예를 보여주는 예시도이고, 도 12는 도 11의 경로 계산 결과 로봇이 이동한 경로를 보여주는 예시도이며, 도 13은 문이 열리고 닫히는 곳에서의 시뮬레이션 결과를 보여주는 예시도이고, 도 14는 센싱데이터의 업데이트 및 경로 계산 주기에 따라 변화되는 시뮬레이션 결과를 보여주는 예시도이며, 도 15는 본 발명이 적용되지 않은 일반적인 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 예시도이고, 도 16은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법이 적용된 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 예시도이다.1 is a flowchart of a method for improving a real-time waypoint route according to an embodiment of the present invention, and FIG. 2 is an exemplary view for explaining a local workspace applied to a method for improving a real-time waypoint route according to an embodiment of the present invention. 3 is an exemplary diagram for explaining a local position space applied to a real-time waypoint route improvement method according to an embodiment of the present invention, and FIG. 4 is a real-time waypoint route improvement method according to an embodiment of the present invention. An exemplary diagram for explaining a local visible position space applied to, and FIG. 5 is an exemplary diagram for explaining a process of determining a local goal in a local goal determination step of a method for improving a real-time waypoint path according to an embodiment of the present invention 6 is an exemplary view for explaining a local bone accessible pass segment applied to a method for improving a real-time waypoint path according to an embodiment of the present invention, and FIG. 7 is a real-time waypoint according to an embodiment of the present invention. An exemplary diagram for explaining a local waypoint and an accessible waypoint applied to a route improvement method, and FIG. 8 is a flowchart of an online two-way route planning method in a time state domain according to an embodiment of the present invention, and FIG. 9 Is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention, and FIG. 10 is a flowchart of an online bidirectional route planning method in a time state domain according to another embodiment of the present invention. 11 is an exemplary view showing an example of calculating a route in real time according to the movement of a robot to which the real-time waypoint route improvement method of the present invention is applied, and FIG. 12 is an exemplary view showing the route traveled by the robot as a result of calculating the route of FIG. , FIG. 13 is an exemplary view showing a simulation result in a place where a door is opened and closed, FIG. 14 is an exemplary view showing a simulation result that changes according to an update of sensing data and a path calculation period, and FIG. 15 is a view to which the present invention is not applied. Fig. 16 is an exemplary diagram showing the result of an autonomous driving simulation according to a general route plan, and FIG. 16 is a real-time waypoint view This is an example diagram showing the results of the autonomous driving simulation according to the route plan to which the route improvement method was applied.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서, 웨이포인트패스결정 단계(S10), 로컬골결정 단계(S20), 경로계획 단계(S30) 및 로봇제어 단계(S40)를 포함한다.As shown in FIG. 1, a method for improving a real-time waypoint path according to an embodiment of the present invention includes a method for improving a real-time waypoint path in the form of a program executed by an operation processing means including a computer. It includes a determination step (S10), a local goal determination step (S20), a path planning step (S30), and a robot control step (S40).
설명에 앞서, 본 명세서( 및 특허청구범위)에서 사용되는 용어에 대해 간단히 설명하도록 한다.Prior to the description, the terms used in the specification (and claims) will be briefly described.
웨이포인트는 로봇이 주행을 위한 목표로 지정할 수 있는 지점을 의미하며 도면에서는 점으로 표시하였다. 목표로 한다는 것은 웨이포인트를 경유하여 지나갈 수도 있으나, 경유하지 않고 근처를 지나갈 수도 있다. Waypoints refer to points that the robot can designate as a target for driving, and are indicated as dots in the drawing. Targeting can pass through a waypoint, but you can also pass nearby without passing through.
웨이포인트패스세그먼트는 웨이포인트와 웨이포인트를 연결한 경로를 의미한다. 일반적으로 웨이포인트패스세그먼트는 점(웨이포인트)과 점(웨이포인트)을 연결한 선분이 될 수 있으나, 곡선이 될 수도 있다. 또한, 웨이포인트패스세그먼트는 맵 상의 장애물과는 충돌이 없는 비교적 안전한 경로이다. 다시 말해, 맵 상에 표시된 고정된 장애물과는 충돌이 없는 경로이다. The waypoint pass segment refers to a path connecting the waypoint and the waypoint. In general, the waypoint pass segment may be a line segment connecting a point (waypoint) and a point (waypoint), but may also be a curved line. In addition, the waypoint path segment is a relatively safe path that does not collide with obstacles on the map. In other words, it is a path that does not collide with a fixed obstacle displayed on the map.
웨이포인트패스는 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트들의 집합을 의미한다. 즉, 웨이포인트패스는 목표지점 까지의 웨이포인트패스세그먼트들로 이루어진 경로이며, 선분의 집합이 될 수 있다.The waypoint path refers to a set of waypoint path segments that form an optimal path to a target point. That is, the waypoint path is a path consisting of waypoint path segments to a target point, and may be a set of line segments.
로컬워크스페이스는 센서데이터 기반 워크스페이스(영역)를 의미한다.(도 2 참조)Local workspace refers to a workspace (area) based on sensor data (see Fig. 2).
로컬워크스페이스는 로컬프리워크스페이스, 로컬옵스타클워크스페이스 및 로컬언노운워크스페이스를 포함한다.The local workspace includes the local free workspace, the local opstarkle workspace, and the local unknow workspace.
로컬프리워크스페이스
Figure PCTKR2020002360-appb-I000002
는 센서로 감지된 장애물이 없는 워크스페이스를 의미하며, 도 2의 주황색 면으로 표시된 영역에 해당된다.
Local Free Workspace
Figure PCTKR2020002360-appb-I000002
Denotes a workspace without obstacles detected by the sensor, and corresponds to the area indicated by the orange side of FIG. 2.
로컬옵스타클워크스페이스
Figure PCTKR2020002360-appb-I000003
는 센서로 감지된 장애물로 제한된 워크스페이스를 의미하며, 도 2의 보라색 선분으로 표시된 영역에 해당된다.
Local Opstarkle Workspace
Figure PCTKR2020002360-appb-I000003
Denotes a workspace limited to an obstacle detected by a sensor, and corresponds to an area indicated by a purple line segment in FIG. 2.
로컬언노운워크스페이스
Figure PCTKR2020002360-appb-I000004
는 센서로 감지되지 않는 지역이라 장애물과의 충돌을 예측할 수 없는 워크스페이스를 의미하며, 도 2의 색이 없는 영역에 해당된다.
Local Unknow Workspace
Figure PCTKR2020002360-appb-I000004
Denotes a workspace where collision with an obstacle cannot be predicted because it is an area not detected by a sensor, and corresponds to an area without color in FIG. 2.
로컬포지션스페이스는 로봇의 형상에 따른 충돌을 고려한 센서데이터 기반 워크스페이스(영역)를 의미한다.(도 3 참조)The local position space refers to a workspace (area) based on sensor data in consideration of collisions according to the shape of the robot (see Fig. 3).
로컬포지션스페이스는 로컬옵스타클포지션스페이스, 로컬프리포지션스페이스, 로컬언노운포지션스페이스 및 로컬비저블포지션스페이스를 포함한다.The local position space includes a local obscuring position space, a local preposition space, a local unknown position space, and a local visible position space.
로컬옵스타클포지션스페이스
Figure PCTKR2020002360-appb-I000005
는 센서로 감지된 장애물 영역
Figure PCTKR2020002360-appb-I000006
과 충돌하는 워크스페이스를 의미하며, 도 3의 주황색 영역에 해당된다.
Local Obstacle Position Space
Figure PCTKR2020002360-appb-I000005
Is the obstacle area detected by the sensor
Figure PCTKR2020002360-appb-I000006
It refers to a workspace that collides with and corresponds to the orange area of FIG. 3.
로컬프리포지션스페이스
Figure PCTKR2020002360-appb-I000007
는 센서로 감지된 장애물과 충돌이 없는 워크스페이스를 의미하며, 도 3의 하늘색 영역에 해당된다.
Local preposition space
Figure PCTKR2020002360-appb-I000007
Denotes a workspace that does not collide with an obstacle detected by the sensor, and corresponds to the light blue area of FIG. 3.
로컬언노운포지션스페이스
Figure PCTKR2020002360-appb-I000008
는 센서로 감지되지 않아 충돌을 예측할 수 없는 워크스페이스를 의미하며, 도 3의 색이 없는 영역에 해당된다.
Local Unknown Position Space
Figure PCTKR2020002360-appb-I000008
Denotes a workspace where collision cannot be predicted because it is not detected by a sensor, and corresponds to an area without color in FIG. 3.
로컬비저블포지션스페이스
Figure PCTKR2020002360-appb-I000009
는 현재 로봇의 위치로부터 로봇이 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역(공간)의 집합을 의미하며, 도 4의 붉은색 영역에 해당된다.
Local Visible Position Space
Figure PCTKR2020002360-appb-I000009
Denotes a set of areas (spaces) without obstacles and collisions when the robot moves straight from the current position of the robot, and corresponds to the red area of FIG. 4.
로컬골엑세서블패스세그먼트
Figure PCTKR2020002360-appb-I000010
는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물과 충돌 없이 로컬골로 바로 접근할 수 있는 영역을 의미하며, 도 6의 보라색 선분으로 표시된 영역에 해당된다.
Local Goal Accessible Pass Segment
Figure PCTKR2020002360-appb-I000010
Denotes an area in which the local goal can be accessed directly to the local goal without collision with an obstacle among the waypoint pass segments connecting the local goal and the previous waypoint, and corresponds to the area indicated by the purple line segment of FIG. 6.
기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다. Although basic variables and terms are summarized, not all variables and terms necessary for description are summarized, and variables and terms that are newly appearing in addition to the variables and terms defined above will be described later.
웨이포인트패스결정 단계(S10)는 연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정한다.In the waypoint path determination step (S10), the calculation processing means determines a waypoint path, which is a set of waypoint path segments that form an optimal path to a target point among waypoint path segments that connect the waypoint and the waypoint. .
웨이포인트패스결정 단계(S10)는 사전에 입력된 맵 정보를 근거로 웨이포인트를 연결한 최적 경로를 결정한다. The waypoint path determination step (S10) determines an optimal path to which waypoints are connected based on the previously input map information.
상기 웨이포인트패스는 초기 경로라고 볼 수 있으나, 로봇이 웨이포인트패스를 따라 가는 것은 아님을 유념해야 한다.The waypoint path can be regarded as an initial path, but it should be noted that the robot does not follow the waypoint path.
즉, 상기 웨이포인트패스는 최적 경로를 찾아가기 위해 참고하는 정보일 뿐이다.That is, the waypoint path is only information that is referenced to find an optimal route.
로컬골결정 단계(S20)는 연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 (맵 상의 )장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정한다.The local bone determination step (S20) is a local visible position space that is a set of areas without obstacles and collisions (on the map) when the operation processing means moves straight from the robot among the movable areas of the robot detected by the sensor of the robot. Among them, the next waypoint of the last waypoint on the waypoint path determined in the waypoint path determination step S10 or the next waypoint of the waypoint path segment is determined as a target waypoint, a local goal.
로컬비저블포지션스페이스는 로컬프리포지션스페이스 보다 영역이 좁다.The local visible position space is narrower than the local preposition space.
이는, 로봇의 형상에 따른 충돌을 고려하기 때문이다.This is because collisions according to the shape of the robot are considered.
이를 이해하기 쉽도록, 도 4에 로컬비저블포지션스페이스는 붉은색으로, 로컬프리포지션스페이스는 하늘색으로 표시하여 중첩되게 표시하였다.To make this easier to understand, in FIG. 4, the local visible position space is displayed in red and the local pre-position space is displayed in light blue.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은 보다 도전적으로 로봇이 보다 최적화된 경로를 찾기 위한 것으로, A method for improving a real-time waypoint path according to an embodiment of the present invention is for a more challenging robot to find a more optimized path,
로컬옵스타클포지션스페이스는 충돌이 발생될 것이 명확하기 때문에, 로컬언노운포지션스페이스를 고려하여 최적화된 경로를 찾기 위해 고민해 보면, Since it is clear that a collision will occur in the local opstarkle position space, if you consider to find an optimized path in consideration of the local unknown position space,
로컬언노운포지션스페이스에 포함되어 있으면서, 글로벌패스가 만들어진 웨이포인트패스 상에서는(즉, 로컬언노운포지션스페이스와 웨이포인트패스의 교집합인 부분) 맵 상의 장애물과는 충돌이 없으나, 맵 상에 없었던 장애물(사람 등)과는 충돌이 있을 수 있다.While included in the local unknown position space, on the waypoint path where the global pass was created (i.e., the intersection of the local unknown position space and the waypoint path), there is no collision with obstacles on the map, but obstacles (people, etc.) that were not on the map ) And there may be a conflict.
따라서, 로컬포지션스페이스 중 위험성이 낮은 순서로는, 로컬비저블포지션스페이스, 로컬프리포지션스페이스, 로컬언노운포지션스페이스, 로컬옵스타클포지션스페이스 순이 된다.Therefore, in the order of low risk among local position spaces, local visible position space, local preposition space, local unknow position space, and local opstarkle position space are in order.
워크스페이스가 다 주어져 있고, 로봇의 포지션과 웨이포인트들이 지정되어 있다고 가정하면, Assuming that all workspaces are given and the robot's position and waypoints are specified,
로봇(연산처리수단)은 웨이포인트패스 상에 위치해 있을 경우는 웨이포인트패스를 따라가고, 웨이포인트패스 상에서 떨어진 경우에는 감지된 정보를 기반으로 경로를 계획하여 이동한다.When the robot (calculation processing means) is located on the waypoint path, it follows the waypoint path, and when it falls on the waypoint path, it plans and moves the path based on the detected information.
다시 말해, 로봇이 장애물을 피하는 등의 이유로 웨이포인트패스 상에서 떨어졌을 때, 로봇은 로봇이 인식한 결과를 바탕으로 어떤 지점에 로컬골을 지정하고, 로컬골을 기반으로 경로를 계획할 수 있다.In other words, when the robot falls on the waypoint path for reasons such as avoiding obstacles, the robot can designate a local goal at a certain point based on the result recognized by the robot, and plan a path based on the local goal.
일반적으로, 기본 웨이포인트패스 상에 로컬골을 결정하고 로컬골 쪽으로 가기 위한 경로(패스)를 계획한다.In general, a local goal is determined on the basic waypoint path and a path (pass) to go toward the local goal is planned.
이때 중요한 것이 로컬골을 어디에 정할 것인가의 문제이다.The important thing at this time is the question of where to set the local goal.
로컬비저블포지션스페이스는 의미가 있는 것이, 사전에 계획된 경로를 개선하고자(경로를 리파인) 할 때, 로컬비저블포지션스페이스 상에서는 직진으로 이동해도 안전하기 때문에 첫 번째 웨이포인트를 찍기 좋다.Local Visible Position Space is meaningful because it is safe to go straight on the Local Visible Position Space when trying to improve a previously planned route (refining the route), so it is good to take the first waypoint.
상기 로컬골결정 단계(S20)는 직진으로 안전하게 갈 수 있는 웨이포인트 중 가장 뒤에 있는 웨이포인트를 로컬골로 결정할 수 있지만, 도전적이지 않아 고려하지 않고, 보이지 않는 영역 즉 로컬언노운포지션스페이스 상에 웨이포인트를 찍기 위해 고민하였으며,In the local goal determination step (S20), the waypoint at the rear of the waypoints that can safely go straight may be determined as a local goal, but it is not challenging and is not considered, and a waypoint is placed on an invisible area, that is, a local unknown position space I thought about taking pictures,
보다 도전 적으로 경로를 계획하기 위하여, 로컬비저블포지션스페이스 상에서 확인 가능한 마지막 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 로컬골로 결정한다.In order to plan the route more challengingly, the last waypoint that can be checked on the local visible position space or the next waypoint of the waypoint pass segment is determined as a local goal.
이때, 로컬골에 장애물이 있으면 로컬언노운포지션스페이스 상의 로컬골엑세서블패스세그먼트 상에서 장애물과 충돌이 없으면서 로컬골과 가장 가까운 지점을 향해 경로를 경로를 계획할 수 있다.At this time, if there is an obstacle in the local goal, the path can be planned toward the point closest to the local goal without collision with the obstacle on the local goal accessible path segment on the local unknown position space.
로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정한다.Among the local visible position spaces, the next waypoint of the last waypoint on the waypoint path or the next waypoint of the waypoint path segment is determined as a target waypoint, a local goal.
상기 로컬골결정 단계(S20)가 로컬비저블포지션스페이스와 상기 웨이포인트패스의 교집합에 해당되는 마지막 웨이포인트의 다음 웨이포인트를 로컬골로 결정하는 경우의 예를 들어 설명하면, An example in which the local goal determination step S20 determines the next waypoint of the last waypoint corresponding to the intersection of the local visible position space and the waypoint path as a local goal.
도 5의 좌측과 우측 그림 모두, 로컬비저블포지션스페이스 상의 마지막 웨이포인트가 파란 점으로 표시된 지점이기 때문에 그 다음 웨이포인트인 녹색 점으로 표시된 지점을 로컬골(WM)로 결정할 수 있다.In both the left and right diagrams of FIG. 5, since the last waypoint on the local visible position space is a point indicated by a blue dot, the next waypoint, a point indicated by a green dot, may be determined as the local goal (W M ).
즉, 웨이포인트를 기준으로 로컬골을 결정할 경우, 확인 가능한(보이는) 마지막 웨이포인트의 다음 웨이포인트를 로컬골로 결정할 수 있다.That is, when determining the local goal based on the waypoint, the next waypoint of the last waypoint that can be checked (visible) may be determined as the local goal.
경로계획 단계(S30)는 연산처리수단이 상기 로봇의 위치로부터 상기 로컬골결정 단계(S20)에서 결정된 로컬골 까지 경로를 계획한다.In the path planning step S30, the operation processing means plans a path from the position of the robot to the local bone determined in the local bone determination step S20.
상기 경로계획 단계(S30)의 설명에 앞서, 본 명세서에서 사용되는 용어에 대해 간단히 설명하도록 한다.Prior to the description of the route planning step (S30), terms used in the present specification will be briefly described.
'시간상태 영역'이란 시간에 대해 고려된 상태값의 집합을 말한다.The'time state domain' refers to a set of state values considered for time.
'상태값'이란 위치, 방위(헤딩각 등)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위, 속도, 가속도) 등이 될 수 있다. The'status value' refers to a value that includes a coordinate value for a position and azimuth (heading angle, etc.) and includes any one or more information selected from among steering angle, speed (linear velocity, angular velocity), and acceleration. For example, it may be (x-coordinate, y-coordinate, bearing, velocity, acceleration).
'시간배위 영역'이란 시간에 대해 고려된 배위값의 집합을 말한다.'Time coordination region' refers to a set of coordination values considered for time.
'배위값'이란 위치, 방위(헤딩각 등)을 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위) 등이 될 수 있다. 'Coordination value' refers to a value including a position and azimuth (heading angle, etc.). For example, it may be (x coordinate, y coordinate, direction).
설명을 위해 다양한 변수 및 용어를 지정하여 설명하였으며, 그 변수 및 용어들은 아래와 같다.For explanation, various variables and terms have been designated and described, and the variables and terms are as follows.
로봇의 현재 위치의 상태값은 'sk'으로 표기하였고,The status value of the robot's current position is marked as's k ',
로봇의 현재 위치에서 순방향경로로 f 스텝 계산된 상태값은 'sf'으로 표기하였고,The state value calculated by f step from the current position of the robot in the forward path is expressed as's f '.
현재 목표 웨이포인트에 로봇의 도착 시 로봇의 상태값은 'gw'로 표기하였고,When the robot arrives at the current target waypoint, the status value of the robot is marked as'g w '.
현재 목표 웨이포인트에서 역방향경로로 b 스텝 계산된 상태값은 's-b'으로 표기하였고,The status value calculated by step b from the current target waypoint to the reverse path is expressed as's -b ',
몇 스텝에 해당되는 계산인지 표시하는 타임인덱스는 'n'으로 표기하였고,The time index indicating how many steps are calculated is indicated as'n',
한 스텝을 계산하는데 부여된 시간 주기는 'T'로 표기하였고,The time period given to calculate one step is marked as'T',
타임인덱스 n에서의 시간은 't'(t = nT)로 표기하였고,The time at time index n is expressed as't' (t = nT),
로봇의 상태값은 's'(소문자 s)로 표기하였고,The robot's status value is expressed as's' (lowercase s),
로봇의 상태값의 집합인 상태영역은 'S'(대문자 S)로 표기하였고,The status area, which is a set of robot status values, is marked with'S' (capital S),
타임스텝 n 에서의 상태값인 시간상태값을 sn(소문자 s)이라 표기하였고,The time state value, which is the state value at time step n, is expressed as s n (lowercase s),
시간상태 영역은 'Sn'(sn ∈ Sn)으로 표기하였고,The time-state domain is denoted as'S n '(s n ∈ S n ),
로봇의 배위값은 'q'(소문자 q)로 표기하였고,The coordination value of the robot is written as'q' (lowercase q),
로봇의 배위값의 집합인 배위영역은 'Q'(대문자 Q)로 표기하였고,The coordination area, which is a set of coordination values of the robot, is marked with'Q' (capital Q),
타임스텝 n 에서의 배위값인 시간배위값을 qn(소문자 q)이라 표기하였고,The time coordination value, which is the coordination value at time step n, is expressed as q n (lowercase q),
시간배위 영역은 'Qn'(qn ∈ Qn)으로 표기하였고,The temporal coordination domain is denoted as'Q n '(q n ∈ Q n ),
정적 장애물과 충돌하는 배위영역은 '
Figure PCTKR2020002360-appb-I000011
'로 표기하였고,
The coordination area that collides with a static obstacle is'
Figure PCTKR2020002360-appb-I000011
', and
정적 장애물과 충돌하지 않는 여유정적배위영역은
Figure PCTKR2020002360-appb-I000012
(
Figure PCTKR2020002360-appb-I000013
= Q -
Figure PCTKR2020002360-appb-I000014
)로 표기하였고,
The extra static coordination area that does not collide with a static obstacle
Figure PCTKR2020002360-appb-I000012
(
Figure PCTKR2020002360-appb-I000013
= Q-
Figure PCTKR2020002360-appb-I000014
),
타임인덱스 n에서 동적장애물과 충돌하는 배위영역은
Figure PCTKR2020002360-appb-I000015
으로 표기하였고,
At time index n, the coordination region colliding with the dynamic obstacle is
Figure PCTKR2020002360-appb-I000015
Written as,
정적 장애물 및 동적 장애물과 충돌하지 않는 여유동적배위영역은 '
Figure PCTKR2020002360-appb-I000016
'(
Figure PCTKR2020002360-appb-I000017
=
Figure PCTKR2020002360-appb-I000018
-
Figure PCTKR2020002360-appb-I000019
)으로 표기하였고,
The free dynamic coordination area that does not collide with static and dynamic obstacles is'
Figure PCTKR2020002360-appb-I000016
'(
Figure PCTKR2020002360-appb-I000017
=
Figure PCTKR2020002360-appb-I000018
-
Figure PCTKR2020002360-appb-I000019
),
충돌을 피할 수 없는 상태를 '필연적충돌상태'라 하였다.The state in which collision cannot be avoided was called'inevitable collision state'.
기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다. Although basic variables and terms are summarized, not all variables and terms necessary for description are summarized, and variables and terms that are newly appearing in addition to the variables and terms defined above will be described later.
이하, 설명에서는 상태값 sk 에 해당되는 현재 상태의 지점에서 상태값 gw 에 해당되는 목표지점(현재 목표 웨이포인트)으로 로봇을 이동시키는 것을 가정하여 설명하도록 한다.Hereinafter, in the description, it is assumed that the robot is moved from the current state point corresponding to the state value s k to the target point (current target waypoint) corresponding to the state value g w .
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 순방향경로와 역방향경로를 점진적으로 계획(계산)하는 양방향경로를 계획하며, 순방향경로와 역방향경로를 계획하는데 이용되는 시간상태 영역에서의 상태값 (sn(n은 타임인덱스를 나타내며, 자연수))은 위치, 방위(헤딩각)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention plans a two-way route that gradually plans (calculates) the forward route and the reverse route, and is used to plan the forward route and the reverse route. The state value (s n (n is a time index, a natural number)) in the time state area is selected from the steering angle, speed (linear speed, angular speed), and acceleration including the coordinate values for the position and azimuth (heading angle). It may be characterized by including any one or a plurality of information.
순방향경로 계산은 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로를 계산한다. Forward path calculation calculates the forward path in the time state domain considering the state value (s) and the time value from the current position of the robot or the last calculation point of the forward path to the current target waypoint or the last calculation point of the reverse path. .
여기서, 상기 시간값은 현재 시간부터 진행되는 앞으로의 시간을 확인할 수 있는 값으로, 타임인덱스(n) 만으로 사용할 수도 있지만, 한 스텝을 계산하는 계산주기에 타임인덱스(n)을 곱하여(계산주기 * 타임인덱스(n)) 사용할 수 있는 등 실제 진행 시간을 확인할 수 있다면 다양한 방법을 사용할 수 있음은 물론이다.Here, the time value is a value that can check the time from the current time to the future, and can be used only as a time index (n), but the calculation period for calculating one step is multiplied by the time index (n) (calculation period * Of course, various methods can be used if the actual progress time can be checked, such as the time index (n)) available.
상기 순방향경로 계산은 최초 로봇의 현재 위치에서 현재 목표 웨이포인트를 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 순방향경로의 마지막 계산 지점에서 역방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다. The forward path calculation may calculate a forward path in a time state domain from the current position of the initial robot toward the current target waypoint. After that, if the forward path and the reverse path are calculated, the forward path in the time state domain from the last calculation point of the forward path to the last calculation point of the reverse path can be calculated.
역방향경로 계산은 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로를 계산한다.In the reverse path calculation, the reverse path in the time state domain from the current target waypoint or the last calculation point of the reverse path to the current position of the robot or the last calculation point of the forward path is calculated.
상기 역방향경로 계산은 최초 현재 목표 웨이포인트에서 로봇의 현재 위치를 향한 시간상태 영역에서의 역방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점에서 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산한다. In the calculation of the reverse path, a reverse path in a time state region from an initial current target waypoint to a current position of the robot may be calculated. After that, if the forward path and the reverse path are calculated, the forward path in the time state domain from the last calculation point of the reverse path to the last calculation point of the forward path is calculated.
즉, 상기 순방향경로 계산 및 상기 역방향경로 계산은 반대 측 마지막 계산 지점을 향하도록 계획된다.That is, the forward path calculation and the reverse path calculation are planned to face the last calculation point on the opposite side.
역방향경로를 계획하는 것은, 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하여, 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상을 줄이기 위함이다.Planning the reverse path is to make the robot pass more smoothly when it passes the target waypoint, so that if the distance between waypoints is short or the angle between waypoints is small, the robot passes the target waypoint and then moves toward the next target waypoint. This is to reduce the overrun phenomenon in which the turning path becomes larger.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)에서의 순방향경로 계산 및 역방향경로 계산은 Forward path calculation and reverse path calculation in the path planning step (S30) of the real-time waypoint path improvement method according to an embodiment of the present invention
이동에 필요한 비용 함수(H)를 분해하고, 분해된 비용 함수(Hr)에 우선순위 (r(r은 자연수))를 부여하며, Decompose the cost function (H) required for movement, give priority to the decomposed cost function (H r ) (r (r is a natural number)),
미리 정해진 기준에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여, By applying an approximate optimal state time function (N) that calculates a path so that the sum of the decomposed cost functions (H r ) is minimized according to a predetermined criterion (which can be set by a value of r* or determined by calculation) ,
n(n은 자연수) 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수(m) 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 할 수 있다.Based on the given state value (s n ) at the step n (n is a natural number), the state value at the target point (s to ), and the number of steps to be calculated (m), the state value (s n ) is at a given point. It may be characterized by obtaining a state value (s n+m ) at a step that will proceed as much as the number of steps (m) to be calculated toward the target point (s to ).
주어진 상태값 sn을 가진 상태값 sn + m을 계획 할 때, 상태값 sn +m에서 목표 상태값 sto에 해당되는 지점으로 이동하기 위한 이동비용을 최소화하려고 노력한다. When planning a state value s n + m with a given state value s n , we try to minimize the cost of moving from the state value s n + m to the point corresponding to the target state value s to .
즉, 순방향경로 계산 및 역방향경로 계산은 다음과 같이 정의할 수 있다.That is, the forward path calculation and the reverse path calculation can be defined as follows.
Figure PCTKR2020002360-appb-I000020
Figure PCTKR2020002360-appb-I000020
(여기서, sn +m은 n+m 시간에서의 상태값, H는 비용 최소화 함수, s는 주어진 상태 값, sto는 목표지점에서의 상태 값, m은 계산하고자 하는 스텝 수)(Where s n +m is the state value at n+m time, H is the cost minimization function, s is the given state value, s to is the state value at the target point, m is the number of steps to be calculated)
비용 최소화 함수 H를 사용하게 되면, 계산에 소요되는 시간이 많아 실시간 경로계산에 적용이 어려운 문제가 있다.If the cost minimization function H is used, there is a problem that it is difficult to apply it to real-time route calculation due to a large amount of time required for calculation.
로봇의 입력값 un은 다음과 같이 얻을 수 있다.The robot's input value u n can be obtained as follows.
Figure PCTKR2020002360-appb-I000021
Figure PCTKR2020002360-appb-I000021
여기서
Figure PCTKR2020002360-appb-I000022
here
Figure PCTKR2020002360-appb-I000022
Figure PCTKR2020002360-appb-I000023
은 최소 노력에 대한 입력에 대한 주어진 이동비용 함수로, 어떤 입력 u를 이용하여 로봇의 상태를 sn에서 sn +m으로 천이시킬 때 발생하는 비용 값을 반환하는 비용 함수이다.
Figure PCTKR2020002360-appb-I000023
Is a cost function that returns a cost value that occurs when the transition to s n + m to the given mobile cost function by using the input u which the status of the robot in a s n on the input for the least effort.
따라서,
Figure PCTKR2020002360-appb-I000024
을 최소화하는 un은 최소한의 노력으로 로봇을 목표 상태값으로 변화시킬 수 있는 입력 값이 된다.
therefore,
Figure PCTKR2020002360-appb-I000024
U n that minimizes is an input value that can change the robot to the target state value with minimal effort.
사용 가능한 로봇의 입력영역으로 제한되는 동적안전상태 내부에 sn +m을 계획하므로 사용 가능한 입력이 항상 존재한다.Since s n +m is planned inside the dynamic safety state limited to the input area of the usable robot, there is always an available input.
이동 비용을 최소화 시키는 이동비용 함수가 너무 복잡하여 실시간으로 경로를 계산할 수 없는 경우, 함수 분해 기반 최적화 방법을 사용할 수 있다. If the movement cost function that minimizes the movement cost is too complex to calculate the path in real time, an optimization method based on function decomposition can be used.
함수 분해 기반 최적화 방법은 함수를 단순한 부분으로 분해 한 다음 우선 지배적인 부분을 최소화한다. H가 다음과 같이 R 부분으로 구성된다고 가정한다.The optimization method based on function decomposition decomposes the function into simple parts and then minimizes the dominant part first. Assume that H is composed of R parts as follows.
Figure PCTKR2020002360-appb-I000025
Figure PCTKR2020002360-appb-I000025
여기서 Hr은 우세한 순서로 배열된다. 즉, r이 작은 Hr이 더 우세하다. H1에서 HR까지 하나씩 순차적으로 최소화 할 때 사용 가능한 안전 영역은 더 작아지며, 결국 하나의 상태값이 도출될 때 까지 r 값을 증가시키면서 분해된 비용 함수(Hr)를 최소화 시킨다. Where H r is arranged in the dominant order. In other words, H r with smaller r is more dominant. When minimizing one by one from H 1 to H R , the usable safe area becomes smaller, and the decomposed cost function (H r ) is minimized while increasing the r value until one state value is finally derived.
H1에서 Hr까지의 r 부분을 최소화하는 시간상태안전영역
Figure PCTKR2020002360-appb-I000026
을 다음과 같이 정의할 수 있다.
Time-state safety zone minimizing the r part from H 1 to H r
Figure PCTKR2020002360-appb-I000026
Can be defined as:
Figure PCTKR2020002360-appb-I000027
Figure PCTKR2020002360-appb-I000027
분해되지 않은 이동비용함수로 계산되는 시간상태안전영역
Figure PCTKR2020002360-appb-I000028
은 시간상태안전영역
Figure PCTKR2020002360-appb-I000029
과 동일하다.
Time-state safe area calculated as an unresolved movement cost function
Figure PCTKR2020002360-appb-I000028
Is the time state safety zone
Figure PCTKR2020002360-appb-I000029
Is the same as
하나의 상태값이 도출되는 r 값을
Figure PCTKR2020002360-appb-I000030
이라 하며,
Figure PCTKR2020002360-appb-I000031
을 찾을 때까지 분해된 이동비용함수를 계속 최소화 시킨다. 여기서 사용 가능한 시간상태안전영역은 다음과 같이 단일 상태로 축소된다.
The r value from which one state value is derived
Figure PCTKR2020002360-appb-I000030
It is called
Figure PCTKR2020002360-appb-I000031
Continue minimizing the decomposed movement cost function until is found. Here, the usable time-state safety area is reduced to a single state as follows.
Figure PCTKR2020002360-appb-I000032
Figure PCTKR2020002360-appb-I000032
여기서, here,
Figure PCTKR2020002360-appb-I000033
Figure PCTKR2020002360-appb-I000033
함수 분해 기반 최소화로부터 얻은 시간상태값이 H를 최소화하지 않을지라도 함수의 지배적 인 부분을 최소화하기 때문에 결과는 최소에 가깝다. Although the temporal state value obtained from function decomposition-based minimization does not minimize H, the result is close to the minimum because it minimizes the dominant part of the function.
또한, 실시간으로 실행이 가능하며, 계산이 효율적이다. In addition, it can be executed in real time, and calculations are efficient.
따라서, 근사 최적 상태 시간 함수(N)를 적용하면 다음과 같이Therefore, applying the approximate optimal state time function (N),
Figure PCTKR2020002360-appb-I000034
Figure PCTKR2020002360-appb-I000034
(여기서, sn +m은 n+m 스텝에서의 상태값, N은 근사 최적 시간상태값 계산 함수, sn은 n 스텝에서의 주어진 상태 값, sto는 목표지점에서의 상태 값, m은 계산하고자 하는 스텝 수)(Here, s n +m is the state value at n+m steps, N is the approximate optimal time state value calculation function, s n is the given state value at n steps, s to is the state value at the target point, m is Number of steps you want to calculate)
으로 순방향경로 계산 및 역방향경로 계산을 할 수 있다.You can calculate the forward path and the reverse path.
추가설명하면, 근사 최적 상태 시간 함수 (N)을 이용하여, sn이라는 상태값이 현재 상태인 로봇이 sto라는 상태로 천이되기 위해서, n이후 m번째 타임 인덱스에서의 최적의 상태값이 sn+m이라고 계산된다. Adding description, approximation using the optimal time function (N), the robot state value of s n is the current state in order to transition to the state of s to, n after the optimum status of the m-th time index s It is calculated as n+m .
전방향 이동이 가능한 로봇의 예를 들면, An example of a robot capable of omnidirectional movement,
상기 근사 최적 상태 시간 함수(N)는 다음식The approximate optimal state time function (N) is the following equation
Figure PCTKR2020002360-appb-I000035
Figure PCTKR2020002360-appb-I000035
(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)(Where H 1 is the speed-reading independent movement cost function, H 2 is the angle-travel direction partial cost function, and H 3 is the velocity magnitude partial movement cost function)
을 이용하여 계산할 수 있다.It can be calculated using
로봇이 목표물 쪽으로 빠르게 움직이도록 유도하고 목표 지점을 효과적으로 통과하기 위해, 이동 비용 함수 H(sfrom, sto)는 세 부분으로 구성될 수 있되며, D는 사전에 정의된 임계 거리이다.In order to induce the robot to move rapidly toward the target and pass the target point effectively, the movement cost function H(s from , s to ) can be composed of three parts, and D is a predefined threshold distance.
도달 가능한 영역의 각 위치는 허용 가능한 속도 영역과 1 : 1로 매칭 되기 때문에 각 시간 상태는 속도 독립적인 이동 비용 함수 H1을 기반으로 결정된다.Since each position in the reachable area is matched 1:1 with the allowable velocity area, each time state is determined based on the velocity independent movement cost function H 1 .
이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3는 현재 목표 웨이포인트의 상태를 설정하는 데 사용된다.The direction of movement partial movement cost function H 2 and the velocity magnitude partial movement cost function H 3 are used to set the state of the current target waypoint.
H1에 기초하여, 각 시간 설정은 목표에 가장 가까운 것으로 결정된다. Based on H 1 , each time setting is determined to be closest to the target.
H2와 H3은 현재 목표 웨이포인트의 상태를 설정하기 위해 설계되었다.H 2 and H 3 are designed to set the current target waypoint state.
현재 목표 웨이포인트에서의 속도는 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 결정된다.The speed at the current target waypoint is determined in consideration of the position of the robot, the position of the target waypoint, and the position of the next waypoint.
방향은 로봇의 위치, 목표 웨이포인트의 위치까지 그리고 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치까지의 두 벡터의 평균 방향으로 결정된다.The direction is determined as the average direction of the two vectors to the position of the robot, the position of the target waypoint, and the position of the target waypoint and the position of the next waypoint.
또한 목표 웨이포인트에서 속도의 크기는 목표 웨이포인트에서 경로의 내각에 따라 결정된다.Also, the size of the speed at the target waypoint is determined according to the inner angle of the path at the target waypoint.
각도가 클수록 속도가 빨라지거나 그 반대로 된다.The larger the angle, the faster the speed or vice versa.
로봇의 위치와 목표 웨이포인트 사이 또는 목표 웨이포인트와 그 다음의 웨이포인트 사이의 유클리드 거리가 D보다 작으면, 현재 목표 웨이포인트의 속도의 크기는 웨이포인트 근처에서 진동하지 않도록 거리에 비례하여 설정된다.If the Euclidean distance between the robot's position and the target waypoint or between the target waypoint and the next waypoint is less than D, the current speed of the target waypoint is set in proportion to the distance so that it does not vibrate near the waypoint. .
바퀴로 이동이 가능한 로봇의 예를 들면, 상기 근사 최적 상태 시간 함수(N)는 For example of a robot capable of moving with a wheel, the approximate optimal state time function (N) is
다음식Next expression
Figure PCTKR2020002360-appb-I000036
Figure PCTKR2020002360-appb-I000036
(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)(Where H 1 is the speed-reading independent movement cost function, H 2 is the angle-travel direction partial cost function, and H 3 is the velocity magnitude partial movement cost function)
을 이용하여 계산할 수 있다.It can be calculated using
전방향 이동이 가능한 로봇의 예에서와 같이, 각 시간 상태는 속도 독립적인 이동 비용 함수 H1을 기반으로 결정된다.As in the example of a robot capable of omnidirectional movement, each time state is determined based on a speed-independent movement cost function H 1 .
목표 위치에 가까운 위치와 목표 위치를 향한 방향을 모두 고려하기 위해 H1은 미리 정의된 가중치 α를 갖는 두 부분으로 구성된다.In order to consider both the position close to the target position and the direction toward the target position, H 1 consists of two parts with a predefined weight α.
이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3은 전방향 이동이 가능한 로봇의 예와 유사한 방식으로 현재 목표 웨이포인트의 선형 및 각속도를 설정하는 데 사용된다.The movement direction partial movement cost function H 2 and the velocity magnitude partial movement cost function H 3 are used to set the linear and angular velocity of the current target waypoint in a manner similar to the example of a robot capable of omnidirectional movement.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 순방향경로 계산은 정적장애물 및 동적장애물과 충돌하지 않는 배위영역 상의 안전한 영역인 시간배위안전영역
Figure PCTKR2020002360-appb-I000037
이 존재하면, 타임인덱스(n) 에서 로봇의 배위값(
Figure PCTKR2020002360-appb-I000038
)과 타임인덱스(n) 에서 시간배위안전영역
Figure PCTKR2020002360-appb-I000039
을 근거로 순방향경로를 계산하는 것을 특징으로 하며,
The forward route calculation of the online bidirectional route planning method in the time state domain according to an embodiment of the present invention is a time coordination safety area, which is a safe area on the coordination area that does not collide with static and dynamic obstacles.
Figure PCTKR2020002360-appb-I000037
If is present, the coordination value of the robot at the time index (n) (
Figure PCTKR2020002360-appb-I000038
) And time index (n)
Figure PCTKR2020002360-appb-I000039
It characterized in that it calculates the forward path based on,
상기 역방향경로 계산은 안전영역이 존재하면, 타임인덱스(n)에서 로봇의 배위값(
Figure PCTKR2020002360-appb-I000040
)과 시간배위안전영역
Figure PCTKR2020002360-appb-I000041
을 근거로 역방향경로를 계산하는 것을 특징으로 할 수 있다.
In the calculation of the reverse path, if there is a safety area, the coordinate value of the robot at the time index (n) (
Figure PCTKR2020002360-appb-I000040
) And time coordination safety zone
Figure PCTKR2020002360-appb-I000041
It may be characterized by calculating the reverse path based on.
벽과 같은 정적 환경 장애물과 충돌하는 배위값들의 집합을
Figure PCTKR2020002360-appb-I000042
이라 하고 '환경장애물영역'(
Figure PCTKR2020002360-appb-I000043
⊂ Q)이라 하면, 배위영역 Q에서 환경장애물영역
Figure PCTKR2020002360-appb-I000044
을 뺀 차집합을 '여유정적배위영역'
Figure PCTKR2020002360-appb-I000045
이라 할 수 있다.
A set of coordination values colliding with static environmental obstacles such as walls
Figure PCTKR2020002360-appb-I000042
And'environmental obstacle area' (
Figure PCTKR2020002360-appb-I000043
⊂ Q), from the coordination area Q to the environmental obstacle area
Figure PCTKR2020002360-appb-I000044
The difference minus is the'free static coordination area'
Figure PCTKR2020002360-appb-I000045
It can be called this.
로봇은 센서 데이터를 이용한 추적 알고리즘을 기반으로 사람과 다른 로봇과 같은 각각의 동적 장애물의 경로를 예측할 수 있다. The robot can predict the path of each dynamic obstacle such as humans and other robots based on a tracking algorithm using sensor data.
따라서, 시간 인덱스 n에서 사람과 같은 동적 장애물과 충돌이 예상되는 배위값들의 집합을
Figure PCTKR2020002360-appb-I000046
이라 하고 '동적장애물영역'(
Figure PCTKR2020002360-appb-I000047
⊂ Q)이라 하면, 여유정적배위영역
Figure PCTKR2020002360-appb-I000048
에서 동적장애물영역
Figure PCTKR2020002360-appb-I000049
을 뺀 차집합을 '여유동적배위영역'
Figure PCTKR2020002360-appb-I000050
이라 할 수 있다.
Therefore, at time index n, a set of coordination values that are expected to collide with a dynamic obstacle such as a person
Figure PCTKR2020002360-appb-I000046
And'dynamic obstacle area' (
Figure PCTKR2020002360-appb-I000047
⊂ Q), the marginal static coordination area
Figure PCTKR2020002360-appb-I000048
Dynamic obstacle area
Figure PCTKR2020002360-appb-I000049
The difference minus is the'free dynamic coordination area'
Figure PCTKR2020002360-appb-I000050
It can be called this.
즉, 타임인덱스 n 에서의 여유동적배위영역
Figure PCTKR2020002360-appb-I000051
은 타임인덱스 n에서 동적장애물 및 정적장애물을 포함하는 장애물과 충돌하지 않는 로봇을 위한 안전한 영역이라 할 수 있다.
In other words, the free dynamic coordination region at time index n
Figure PCTKR2020002360-appb-I000051
Is a safe area for robots that do not collide with obstacles including dynamic obstacles and static obstacles in time index n.
로봇의 입력영역 U에서 타임인덱스 n 에서의 로봇의 입력값 un(un ∈ U)를 갖는 로봇 시스템의 운동은 다음과 같이 정의할 수 있다.In the input area U of the robot, the motion of the robot system with the input value u n (u n ∈ U) of the robot at the time index n can be defined as follows.
Figure PCTKR2020002360-appb-I000052
Figure PCTKR2020002360-appb-I000052
(여기서, f는 로봇의 운동 모델 함수)(Where f is the function of the robot's motion model)
로봇의 상태영역 S와 로봇의 입력영역 U는 경계가 정해져 있기 때문에 로봇 동작은 구속되어 있으며 이를 동작 구속 이라고 한다.Since the robot's state area S and the robot's input area U are bounded, the robot motion is constrained and this is called motion constraint.
환경 검출기(센서)는 비전 센서 또는 레이저 거리 측정기(LRF) 등 같은 센서를 사용하여 센서 시스템을 기반으로 장애물을 탐지하고 추적하며 정적 장애물(환경 장애물) 및 동적 장애물(비환경 장애물)로 분류하여
Figure PCTKR2020002360-appb-I000053
Figure PCTKR2020002360-appb-I000054
을 얻을 수 있다.
Environmental detectors (sensors) detect and track obstacles based on a sensor system using sensors such as vision sensors or laser range finders (LRF), and classify them into static obstacles (environmental obstacles) and dynamic obstacles (non-environmental obstacles).
Figure PCTKR2020002360-appb-I000053
And
Figure PCTKR2020002360-appb-I000054
Can be obtained.
웨이포인트를 부여하여 경로를 계획하는 글로벌 경로 플래너는 여유정적배위영역은
Figure PCTKR2020002360-appb-I000055
내부에 일련의 웨이포인트와 목표를 계획한다.
The global route planner, which plans routes by assigning waypoints,
Figure PCTKR2020002360-appb-I000055
Plan a series of waypoints and goals inside.
매 순간 t = kT, k = 0, 1,.. . 알고리즘은 참조 입력 k를 사용하여 경로를 계획한다.Every moment t = kT, k = 0, 1,... The algorithm plans the path using the reference input k.
이 입력을 통해 로봇은 웨이포인트를 순차적으로 통과하고
Figure PCTKR2020002360-appb-I000056
Figure PCTKR2020002360-appb-I000057
을 사용하여 충돌 없이 목표에 도달하는 경로를 계획할 수 있다.
Through this input, the robot sequentially passes through the waypoints and
Figure PCTKR2020002360-appb-I000056
And
Figure PCTKR2020002360-appb-I000057
You can use to plan a path to reach your goal without collision.
시간상태값 sn이 주어질 때, 타임인덱스 n + m에서의 도달 가능한 시간상태 영역을 정의할 수 있으며, 이때, 도달 가능한 시간배위 영역 역시 정의할 수 있다. When the time state value s n is given, the reachable time state region at the time index n + m can be defined, and at this time, the reachable time coordination region can also be defined.
실시간 경로 계획을 위해, 도달 할 수 있는 시간상태 영역 또는 시간배위 영역을 근사화 하여 계산량을 줄이는 것이 바람직하다. For real-time route planning, it is desirable to reduce the amount of computation by approximating the time-state region or time-coordination region that can be reached.
도달 할 수 있는 시간상태 영역 또는 시간배위 영역을 정확하게 계산하여 사용하는 것은 실시간 계산이 어려울 수 있기 때문이다. It is because real-time calculation may be difficult to accurately calculate and use a time state region or a time coordination region that can be reached.
도달 가능한 영역을 단순화하기 위해, m 개의 타임스텝에 대해 로봇의 균일한 입력값으로 로봇을 제어할 수 있다. In order to simplify the reachable area, the robot can be controlled with a uniform input value of the robot over m time steps.
로봇의 균일한 입력값에 의해 접근 가능한 도달 가능한 시간상태 영역은 다음과 같이 정의할 수 있다.The reachable time state area accessible by the uniform input value of the robot can be defined as follows.
Figure PCTKR2020002360-appb-I000058
Figure PCTKR2020002360-appb-I000058
(여기서, g는 근사화 시킨 로봇의 운동 모델 함수)(Where g is the approximated motion model function of the robot)
이때, 로봇의 균일한 입력값에 의해 도달 가능한 시간배위 영역을 근사한 영역은 다음과 같이 정의할 수 있다.In this case, an area approximating the time coordination area reachable by the uniform input value of the robot may be defined as follows.
Figure PCTKR2020002360-appb-I000059
Figure PCTKR2020002360-appb-I000059
Figure PCTKR2020002360-appb-I000060
Figure PCTKR2020002360-appb-I000061
은 실제 도달 가능 영역 전체를 커버하지 않지만, 실제 도달 가능 영역 전체를 계산하는 것에 비해 계산 부하가 매우 작기 때문에 실시간 경로 계획에 유용하다.
Figure PCTKR2020002360-appb-I000060
and
Figure PCTKR2020002360-appb-I000061
Is useful for real-time route planning because it does not cover the entire actual reachable area, but has a very small computational load compared to calculating the entire actual reachable area.
상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간상태안전영역
Figure PCTKR2020002360-appb-I000062
은 다음과 같이 정의할 수 있다.
Given a state value s n , a safe time-state safe area at time index n + m
Figure PCTKR2020002360-appb-I000062
Can be defined as:
Figure PCTKR2020002360-appb-I000063
Figure PCTKR2020002360-appb-I000063
또한, 상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간배위안전영역
Figure PCTKR2020002360-appb-I000064
은 다음과 같이 정의할 수 있다.
In addition, given the state value s n , the safe time coordination safe area at time index n + m
Figure PCTKR2020002360-appb-I000064
Can be defined as:
Figure PCTKR2020002360-appb-I000065
Figure PCTKR2020002360-appb-I000065
Figure PCTKR2020002360-appb-I000066
Figure PCTKR2020002360-appb-I000067
내에서 계획되지만
Figure PCTKR2020002360-appb-I000068
은 예상 충돌을 확인하고 사용 가능한 안전 영역이 있는지 확인하는 것으로 충분하다.
Figure PCTKR2020002360-appb-I000066
silver
Figure PCTKR2020002360-appb-I000067
Planned within
Figure PCTKR2020002360-appb-I000068
It is enough to check the expected collision and check if there is a safe area available.
현재 목표 웨이포인트에서 역방향경로의 상기 시간배위안전영역
Figure PCTKR2020002360-appb-I000069
계산 시,
Figure PCTKR2020002360-appb-I000070
Figure PCTKR2020002360-appb-I000071
로 대체된다.
The time-coordination safety zone of the reverse route from the current target waypoint
Figure PCTKR2020002360-appb-I000069
When calculating,
Figure PCTKR2020002360-appb-I000070
silver
Figure PCTKR2020002360-appb-I000071
Is replaced by
이는,
Figure PCTKR2020002360-appb-I000072
에 대한 실제 시간을 알 수 없기 때문에 동적 장애물의 데이터를 확인할 수 없기 때문이다.
this is,
Figure PCTKR2020002360-appb-I000072
This is because the data of the dynamic obstacle cannot be confirmed because the actual time for is not known.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 웨이포인트설정 단계(S32), 역방향경로계산 단계(S33) 및 순방향경로계산 단계(S35)를 포함할 수 있다.As shown in Figure 8, the route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention includes a waypoint setting step (S32), a reverse path calculation step (S33), and a forward path calculation step. It may include (S35).
웨이포인트설정 단계(S32)는 현재 목표 웨이포인트에서의 로봇의 상태를 설정한다.The waypoint setting step S32 sets the state of the robot at the current target waypoint.
현재 목표 웨이포인트는 순방향 궤적이 통과하기 위해 향하는 웨이포인트이다. The current target waypoint is the waypoint the forward trajectory is heading to pass.
상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.The waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, and considers the position of the robot, the position of the target waypoint, and the position of the next waypoint. It is desirable to set the robot's state when the robot passes the point.
따라서, 상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트는 순방향경로가 향하는 웨이포인트로 다음 식과 같이 이동비용을 최소화 시킬 수 있는 현재 목표 웨이포인트의 상태값(gw)이 설정되는 것을 특징으로 할 수 있다.Therefore, the waypoint setting step (S32) is characterized in that the current target waypoint is a waypoint to which the forward path is headed, and a state value (g w ) of the current target waypoint that can minimize the moving cost as shown in the following equation is set. can do.
Figure PCTKR2020002360-appb-I000073
Figure PCTKR2020002360-appb-I000073
(여기서,
Figure PCTKR2020002360-appb-I000074
는 현재 목표 웨이포인트의 상태값,
Figure PCTKR2020002360-appb-I000075
Figure PCTKR2020002360-appb-I000076
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw + 1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure PCTKR2020002360-appb-I000077
는 로봇의 현재 위치
Figure PCTKR2020002360-appb-I000078
는 현재 목표 웨이포인트
Figure PCTKR2020002360-appb-I000079
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)
(here,
Figure PCTKR2020002360-appb-I000074
Is the current target waypoint status value,
Figure PCTKR2020002360-appb-I000075
Is
Figure PCTKR2020002360-appb-I000076
During setting, G w is the state range of the current target waypoint, G w + 1 is the state range of the next target waypoint, and H(a, b) is for movement from a to b. Cost Function,
Figure PCTKR2020002360-appb-I000077
Is the current position of the robot
Figure PCTKR2020002360-appb-I000078
Is the current target waypoint
Figure PCTKR2020002360-appb-I000079
Indicates the waypoint following the current target waypoint.)
역방향경로계산 단계(S33)는 역방향경로를 계산한다.The reverse path calculation step (S33) calculates the reverse path.
상기 역방향경로계산 단계(S33)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다. In the reverse route calculation step (S33), a route is planned from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the reverse path toward the last calculation point of the forward path can be calculated.
도 8의 조건문에 표기된 변수 B는 역방향경로 계획을 위한 타임스텝의 최대값, 변수 b는 역방향경로 계획의 타임스텝(반복 계산 시 1 씩 증가)을 의미하나, 변수와 이에 대한 조건은 임의로 설정하여 다양한 방법으로 사용 가능함은 물론이다.(도 9 내지 도 10의 변수도 에도 동일하게 적용)The variable B indicated in the conditional sentence of FIG. 8 is the maximum value of the time step for the reverse route planning, and the variable b means the time step of the reverse route plan (increases by 1 when repetitive calculations are made), but the variable and conditions for it are arbitrarily set Of course, it can be used in various ways. (The same applies to the variables of FIGS. 9 to 10)
순방향경로계산 단계(S50)는 순방향경로를 계산한다.In the forward path calculation step S50, the forward path is calculated.
상기 순방향경로계산 단계(S50)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다. In the forward path calculation step S50, a path is planned from the current position of the robot toward the target waypoint. At this time, if the reverse route is calculated, the forward route toward the last calculation point of the reverse route can be calculated.
도 8의 조건문에 표기된 변수 F는 순방향경로 계획을 위한 타임스텝의 최대값, 변수 f는 역방향경로 계획의 타임스텝(반복 계산 시 1 씩 증가), k는 현재 타임스텝을 의미하나, 변수와 이에 대한 조건은 임의로 설정하여 다양한 방법으로 사용 가능함은 물론이다.(도 9 내지 도 10의 변수도 에도 동일하게 적용)The variable F indicated in the conditional sentence of Fig. 8 is the maximum value of the time step for forward path planning, the variable f is the time step of the reverse path plan (increases by 1 when calculating iteratively), and k is the current time step. It goes without saying that the conditions for can be arbitrarily set and used in various ways. (The same applies to the variables of Figs. 9 to 10)
상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)는 순서를 뒤바꾸어 시행하는 것도 가능하나, 상기 역방향경로계산 단계(S33)를 먼저 수행하는 것이 목표 웨이포인트를 보다 부드럽게 지나가도록 경로를 형성할 수 있어, 상기 역방향경로계산 단계(S33)를 먼저 수행하는 것이 바람직하다.The reverse path calculation step (S33) and the forward path calculation step (S35) may be performed by reversing the order, but first performing the reverse path calculation step (S33) allows the path to pass more smoothly through the target waypoint. Can be formed, it is preferable to first perform the reverse path calculation step (S33).
상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)는 교번되게 반복 수행할 수도 있으며, 상기 역방향경로계산 단계(S33) 또는 상기 순방향경로계산 단계(S35)를 먼저 일정 회수 반복 수행한 후 상기 순방향경로계산 단계(S35) 또는 상기 역방향경로계산 단계(S33)를 나중에 반복 수행할 수도 있는 등 다양한 방법으로 상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)를 반복 수행할 수 있다.The reverse path calculation step (S33) and the forward path calculation step (S35) may be repeatedly performed alternately, and the reverse path calculation step (S33) or the forward path calculation step (S35) is first repeated a certain number of times. The forward path calculation step (S33) and the forward path calculation step (S35) may be repeatedly performed in various ways, such as repeating the forward path calculation step (S35) or the reverse path calculation step (S33). .
결론적으로, 상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)는 역방향경로와 순방향경로가 연결되어야 현재 위치에서 현재 목표 웨이포인트 까지의 양방향경로계획이 완료된다.In conclusion, in the reverse path calculation step (S33) and the forward path calculation step (S35), the two-way path planning from the current position to the current target waypoint is completed only when the reverse path and the forward path are connected.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 상기 순방향경로와 상기 역방향경로를 연결하는 연결경로 계산하고, 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하는 것을 특징으로 할 수 있다.In the route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention, a connection route connecting the forward route and the reverse route is calculated, and a bidirectional route for gradually planning a forward route and a reverse route is calculated. It can be characterized by planning.
양방향경로를 지속적으로 계획하면 순방향경로와 역방향경로가 만날 수 있지만 속도가 다를 수 있다. If the two-way route is continuously planned, the forward route and the reverse route may meet, but the speed may be different.
따라서, 상기 순방향경로와 역방향경로의 속도 차이를 극복하기 위해 상기 연결경로에 의해 이어지도록 하는 것이 바람직하다. Therefore, in order to overcome the difference in speed between the forward path and the reverse path, it is preferable to be connected by the connection path.
즉, 상기 순방향경로 측과 연결되는 연결경로의 일측은 순방향경로의 마지막 계산지점과 속도가 같도록 계산하고, 상기 역방향경로 측과 연결되는 연결경로의 타측은 역방향경로의 마지막 계산지점과 속도가 같도록 연결경로를 계산하는 것이 바람직하다.That is, one side of the connection path connected to the forward path side is calculated to have the same speed as the last calculation point of the forward path, and the other side of the connection path connected to the reverse path side has the same speed as the last calculation point of the reverse path. It is desirable to calculate the connection path so that it is possible.
이때, 계산을 간소화시키기 위해, 순방향경로의 마지막 계산된 상태값 sf와 역방향경로의 마지막 계산된 상태값 s-b 사이의 구간인 연결경로 계산은 로봇의 입력값을 동일하게 하여 다음 식과 같이 계산하는 것을 특징으로 할 수 있다.At this time, in order to simplify the calculation, the calculation of the connection path, which is the section between the last calculated state value s f of the forward path and the last calculated state value s -b of the reverse path, equalizes the input value of the robot and is calculated as follows: It can be characterized by that.
Figure PCTKR2020002360-appb-I000080
Figure PCTKR2020002360-appb-I000080
(여기서, f(a, b, c)는 a 상태값에 해당되는 지점에서 c 타임스텝 만큼 b로봇의 입력값으로 이동되는 로봇의 상태값을 계산하는 로봇의 운동 모델 함수이다.)(Here, f(a, b, c) is a motion model function of the robot that calculates the state value of the robot that is moved to the input value of the robot b by c time steps at the point corresponding to the state value a.)
연결경로의 계산에 이용되는 최대 시간간격을 C라고 할 때, When C is the maximum time interval used in the calculation of the connection path,
(c1 + ... + cN) ≤ C 이다. (c 1 + ... + c N ) ≤ C.
도 9 내지 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 웨이포인트설정 단계(S32), 역방향경로계산 단계(S33), 연결경로확인 단계(S34) 및 순방향경로계산 단계(S35)를 포함할 수 있다.9 to 10, the path planning step (S30) of the real-time waypoint path improvement method according to an embodiment of the present invention includes a waypoint setting step (S32), a reverse path calculation step (S33), and a connection It may include a path check step (S34) and a forward path calculation step (S35).
웨이포인트설정 단계(S32)는 현재 목표 웨이포인트에서의 로봇의 상태를 설정한다. 현재 목표 웨이포인트는 순방향 궤적이 통과하기 위해 향하는 웨이포인트이다. The waypoint setting step S32 sets the state of the robot at the current target waypoint. The current target waypoint is the waypoint the forward trajectory is heading to pass.
상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.The waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, and considers the position of the robot, the position of the target waypoint, and the position of the next waypoint. It is desirable to set the robot's state when the robot passes the point.
따라서, 상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트는 순방향경로가 향하는 웨이포인트로 다음 식Therefore, in the waypoint setting step (S32), the current target waypoint is the waypoint to which the forward path is directed, and the following equation
Figure PCTKR2020002360-appb-I000081
Figure PCTKR2020002360-appb-I000081
(여기서,
Figure PCTKR2020002360-appb-I000082
는 현재 목표 웨이포인트의 상태값,
Figure PCTKR2020002360-appb-I000083
Figure PCTKR2020002360-appb-I000084
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw + 1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure PCTKR2020002360-appb-I000085
는 로봇의 현재 위치
Figure PCTKR2020002360-appb-I000086
는 현재 목표 웨이포인트
Figure PCTKR2020002360-appb-I000087
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)
(here,
Figure PCTKR2020002360-appb-I000082
Is the current target waypoint status value,
Figure PCTKR2020002360-appb-I000083
Is
Figure PCTKR2020002360-appb-I000084
During setting, G w is the state range of the current target waypoint, G w + 1 is the state range of the next target waypoint, and H(a, b) is for movement from a to b. Cost Function,
Figure PCTKR2020002360-appb-I000085
Is the current position of the robot
Figure PCTKR2020002360-appb-I000086
Is the current target waypoint
Figure PCTKR2020002360-appb-I000087
Represents the waypoint following the current target waypoint.)
과 같이 이동비용을 최소화 시킬 수 있는 현재 목표 웨이포인트의 상태값(gw)이 설정되는 것을 특징으로 할 수 있다.As described above, a state value (g w ) of a current target waypoint that can minimize moving cost may be set.
역방향경로계산 단계(S33)는 역방향경로를 계산한다.The reverse path calculation step (S33) calculates the reverse path.
상기 역방향경로계산 단계(S33)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다. In the reverse route calculation step (S33), a route is planned from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the reverse path toward the last calculation point of the forward path can be calculated.
상기 역방향경로계산 단계(S33)는 역방향경로를 한 스텝씩 계산할 수도 있고, 정해진 스텝 단위로 계산하는 것도 가능하다.In the reverse path calculation step (S33), the reverse path may be calculated step by step or may be calculated in a predetermined step unit.
연결경로확인 단계(S34)는 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점과 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점이 연결되는 연결경로가 존재하는지 확인한다.In step S34 of checking the connection path, it is checked whether there is a connection path in which the current position of the robot or the last calculation point of the forward path and the current target waypoint or the last calculation point of the reverse path are connected.
상기 연결경로확인 단계(S34)는 역방향경로가 한 스텝 계산될 때 마다 수행할 수도 있고, 역방향경로가 정해진 스텝 수 만큼 계산될 때 마다 수행하는 것도 가능하다.The connection path checking step (S34) may be performed each time the reverse path is calculated by one step, or may be performed each time the reverse path is calculated by a predetermined number of steps.
이때, 상기 연결경로확인 단계(S34)에서 연결경로가 존재하지 않으면 상기 역방향경로계산 단계(S33)부터 연결경로확인 단계(S34)까지 정해진 회수만큼 반복 수행하고, 상기 연결경로확인 단계(S34)에서 연결경로가 존재하면 상기 웨이포인트설정 단계(S32)로 되돌아가는 것을 특징으로 할 수 있다.At this time, if the connection path does not exist in the connection path check step (S34), the reverse path calculation step (S33) to the connection path check step (S34) are repeated a predetermined number of times, and in the connection path check step (S34) If there is a connection path, it may be characterized in that the return to the waypoint setting step (S32).
즉, 역방향경로를 한 스텝 계산할 때마다 연결경로가 존재하는지 확인하고, 연결경로가 존재하지 않는다면 미리 정해진 회수만큼 역방향경로를 먼저 계산한다.That is, every time the reverse path is calculated one step, it is checked whether a connection path exists, and if the connection path does not exist, the reverse path is first calculated a predetermined number of times.
순방향경로보다 역방향경로를 먼저 계획하는 것은 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하여, 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상을 줄이기 위함이다.Planning the reverse path ahead of the forward path allows the robot to pass more smoothly when it passes the target waypoint. If the distance between waypoints is short or the angle between waypoints is small, the robot passes the target waypoint and then the next target way. This is to reduce the overrun phenomenon in which the path turning toward the point becomes larger.
또한, 역방향경로를 미리 정해진 회수만큼 먼저 계산하는 것 역시, 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하기 위함이다.In addition, calculating the reverse path first by a predetermined number of times is also to make it smoother when the robot passes the target waypoint.
이때, 상기 역방향경로계산 단계(S33)부터 연결경로확인 단계(S34)까지 정해진 회수만큼 반복 수행되었다면, 연결경로가 존재하지 않더라도 다음 단계로 넘어가는 것을 특징으로 할 수 있다.At this time, if the reverse path calculation step (S33) to the connection path check step (S34) is repeatedly performed a predetermined number of times, the next step may be performed even if the connection path does not exist.
순방향경로계산 단계(S35)는 상기 연결경로확인 단계(S34)에서 연결경로가 존재하지 않으면, 순방향경로를 계산한다.In the forward path calculation step (S35), if there is no connection path in the connection path check step (S34), the forward path is calculated.
상기 순방향경로계산 단계(S35)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다. In the forward path calculation step S35, a path is planned from the current position of the robot toward the target waypoint. At this time, if the reverse route is calculated, the forward route toward the last calculation point of the reverse route can be calculated.
상기 순방향경로계산 단계(S35)는 순방향경로를 한 스텝씩 계산할 수도 있고, 정해진 스텝 단위로 계산하는 것도 가능하다.In the forward path calculation step (S35), the forward path may be calculated step by step, or may be calculated in a predetermined step unit.
본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 상기 연결경로확인 단계(S34)는 연결경로가 존재하면, 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하고, 연결경로 및 역방향경로에서 필연적충돌상태가 발생하는지 확인한 후, 필연적충돌상태가 발생되지 않으면 순방향경로의 시간 변수, 역방향경로의 시간 변수 및 다음 웨이포인트를 통과하는 순방향경로의 시간 변수를 계산하여 변경하는 것을 특징으로 할 수 있다.In the connection path checking step (S34) of the method for online bidirectional path planning in a time state domain according to an embodiment of the present invention, if a connection path exists, a forward time index for the connection path and the reverse path is set, and the connection path And after checking whether an inevitable collision condition occurs in the reverse path, if the inevitable collision condition does not occur, the time variable of the forward route, the time variable of the reverse route, and the time variable of the forward route passing through the next waypoint are calculated and changed. You can do it.
순방향경로에 적용되는 순방향 타임인덱스는 절대시간(로봇 기준의 시간)을 알 수 있다. 따라서, 동적 장애물의 충돌을 예측할 수 있다.The forward time index applied to the forward path can know the absolute time (time based on the robot). Thus, it is possible to predict the collision of a dynamic obstacle.
하지만, 역방향경로에 적용되는 역방향 타임인덱스와 연결경로에 적용되는 타임인덱스는 절대시간을 알 수 없기 때문에 동적 장애물의 충돌을 예측할 수 없다.However, since the absolute time cannot be known between the reverse time index applied to the reverse path and the time index applied to the connection path, the collision of a dynamic obstacle cannot be predicted.
따라서, 순방향경로와 연결경로 및 역방향경로가 연결된다면, 동적 장애물의 충돌을 확인하기 위해, 연결경로 및 역방향경로에 사용되었던 타임인덱스를 순방향경로에 적용되는 순방향 타임인덱스로 바꾸어 주어야 하며, 이로 인해 연결경로와 역방향경로의 절대시간을 알 수 있고, 역방향경로 및 연결경로에서 예측 된 충돌이 있는지 확인할 수 있다.Therefore, if the forward path and the link path and the reverse path are connected, the time index used for the link path and the reverse path must be changed to the forward time index applied to the forward path in order to check the collision of dynamic obstacles. You can know the absolute time of the route and the reverse route, and check whether there is a predicted collision in the reverse route and the connection route.
역방향경로 및 연결경로에서 예측 충돌이 없다면 현재 로봇의 위치에서 현재 목표 웨이포인트 까지의 양방향경로는 완성된다.If there is no predicted collision in the reverse path and the connection path, the bidirectional path from the current robot position to the current target waypoint is completed.
로봇제어 단계(S40)는 상기 경로계획 단계(S30)에서 계획된 경로에 따라 상기 로봇을 제어하는 명령을 계산하여 상기 로봇의 이동을 제어한다.The robot control step (S40) controls the movement of the robot by calculating a command for controlling the robot according to the path planned in the path planning step (S30).
로봇제어 단계(S40)는 상기 역방향경로계산 단계(S33) 및 상기 순방향경로계산 단계(S35)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산할 수 있다.(도 8 참조)In the robot control step S40, when the reverse path calculation step S33 and the forward path calculation step S35 are repeatedly performed a predetermined number of times, a command for controlling the robot may be calculated according to the bidirectional path. Reference)
또는 상기 순방향경로계산 단계(S35)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산할 수 있다.(도 9 참조)Alternatively, when the forward path calculation step S35 is repeatedly performed a predetermined number of times, a command for controlling the robot may be calculated according to the bidirectional path (see FIG. 9).
대부분의 로봇 제어 명령은 순방향경로에 따라 계산되어 진다.Most robot control commands are calculated according to the forward path.
대부분의 로봇 제어 명령은 순방향경로에 따라 계산되어 진다.Most robot control commands are calculated according to the forward path.
이는, 로봇이 한 타임스텝 동안 이동하기 전에 새로운 양방향 경로에 대한 계산이 완료되어야 실시간 양방향경로가 계획되기 때문이다.This is because a real-time two-way route is planned only when a new two-way route is calculated before the robot moves for one time step.
상기 로봇제어 단계(S40)에서 생성되는 로봇의 입력값은 다음과 같이 계산될 수 있다.The input value of the robot generated in the robot control step S40 may be calculated as follows.
Figure PCTKR2020002360-appb-I000088
Figure PCTKR2020002360-appb-I000088
(여기서,
Figure PCTKR2020002360-appb-I000089
는 k시간에서의 로봇의 입력값,
Figure PCTKR2020002360-appb-I000090
는 k 번째 스텝에서 1 스텝 진행 가능한 로봇의 입력영역에 포함되는 로봇의 입력값,
Figure PCTKR2020002360-appb-I000091
는 로봇의 입력값에 대한 최소 비용 함수,
Figure PCTKR2020002360-appb-I000092
는 k시간에서의 로봇의 상태값,
Figure PCTKR2020002360-appb-I000093
는 k+1 시간에서의 로봇의 상태값을 나타낸다.)
(here,
Figure PCTKR2020002360-appb-I000089
Is the input value of the robot at k time,
Figure PCTKR2020002360-appb-I000090
Is the input value of the robot included in the input area of the robot that can proceed one step at the kth step,
Figure PCTKR2020002360-appb-I000091
Is the minimum cost function for the robot's input,
Figure PCTKR2020002360-appb-I000092
Is the robot's state value at k time,
Figure PCTKR2020002360-appb-I000093
Represents the state value of the robot at k+1 time.)
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 이동체의 현재 위치로부터 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트에서 상기 로컬골로부터 가장 가까운 장애물 까지의 영역인 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획하는 것을 특징으로 할 수 있다.The path planning step (S30) of the real-time waypoint path improvement method according to an embodiment of the present invention is an obstacle closest to the local goal in the waypoint path segment connecting the local goal and the previous waypoint from the current position of the moving object. It may be characterized by planning a route to the local goal accessible pass segment, which is an area to.
상기 로컬골엑세서블패스세그먼트는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물과 충돌 없이 로컬골로 바로 접근할 수 있는 영역을 의미하는 것으로, 도 6의 좌측 그림과 같이 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 상에 장애물이 없는 경우는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 전체가 로컬골엑세서블패스세그먼트(화살표가 가리키는 보라색 선분)가 되고,The local goal accessible pass segment refers to an area in which the local goal can be accessed directly to the local goal without collision with obstacles among the waypoint pass segments connecting the local goal and the previous waypoint. If there is no obstacle on the waypoint pass segment connecting the previous waypoint, the entire waypoint pass segment connecting the local goal and the previous waypoint becomes the local goal accessible pass segment (the purple line segment indicated by the arrow),
도 6의 우측 그림과 같이 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 상에 장애물이 있는 경우는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물 이후 장애물과 충돌이 없는 지점부터 로컬골 까지의 영역이 로컬골엑세서블패스세그먼트(화살표가 가리키는 보라색 선분)가 된다.6, if there is an obstacle on the waypoint pass segment connecting the local goal and the previous waypoint, among the waypoint pass segments connecting the local goal and the previous waypoint, there is no collision with the obstacle after the obstacle. The area from the point to the local goal becomes the local goal accessible pass segment (the purple line segment indicated by the arrow).
즉, 로컬언노운포지션스페이스 상에서 가장 안전한 곳은 웨이포인트패스세그먼트 이기 때문에, 웨이포인트패스 상에서 로컬골까지 바로 안전하게 접근할 수 있는 영역을 로컬골엑세서블패스세그먼트로 정한다.That is, since the safest place in the local unknow position space is the waypoint pass segment, the area in which the waypoint path can be directly safely accessed to the local goal is determined as the local goal accessible pass segment.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트로 진입하는 임시 웨이포인트인 엑세서블웨이포인트를 계획하여 경로를 계획하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention is characterized in that the route is planned by planning an accessible waypoint, which is a temporary waypoint to enter the local goal accessible path segment. can do.
다시 말해, 웨이포인트패스와 로컬언노운포지션스페이스의 교집합 상에 로컬골(WM)을 결정하고, 로컬골(WM)로 진입하기 전의 임시 웨이포인트인 엑세서블웨이포인트(Wm, m은 자연수)는 로컬골엑세서블패스세그먼트 상에 결정하는 것이 좋다.In other words, the local goal (W M ) is determined on the intersection of the waypoint pass and the local unknown position space, and the temporary waypoint (W m , m) before entering the local goal (W M ) is A natural number) should be decided on the local goal accessible pass segment.
이는 충돌을 회피함과 동시에 최적의 경로를 찾기 위함이다.This is to avoid collision and to find an optimal path at the same time.
즉, 웨이포인트패스를 따라 로봇이 이동하는 것은 안전성은 보장되지만 경로 손실이 있을 수 있어, 보다 경로를 단축하기 위해, 로컬골엑세서블패스세그먼트 상에 결정된 엑세서블웨이포인트를 향하여 경로를 계획하는 것이다. In other words, it is safe to move the robot along the waypoint path, but there may be path loss, so in order to shorten the path further, the path is planned toward the accessible waypoint determined on the local goal accessible path segment. will be.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 특정 비용함수를 최소화 시키는 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 할 수 있다.In the path planning step (S30) of the method for improving a real-time waypoint path according to an embodiment of the present invention, when there is an intersection of the local visible position space and the local bone accessible path segment, the local visible position space and the local bone accessible path It may be characterized in that the point at which the specific cost function is minimized within the intersection with the segment is determined as an accessible waypoint.
상기 특정 비용함수는 시간, 거리, 속도, 가속도, 소모에너지 등을 고려하여 계산되는 비용함수를 말한다. The specific cost function refers to a cost function calculated in consideration of time, distance, speed, acceleration, energy consumption, and the like.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 로봇으로부터 로컬골까지의 이동 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 할 수 있다.In the path planning step (S30) of the method for improving a real-time waypoint path according to an embodiment of the present invention, when there is an intersection of the local visible position space and the local bone accessible path segment, the local visible position space and the local bone accessible path It may be characterized in that the point where the movement distance from the robot to the local goal is shortest within the intersection with the segment is determined as the accessible waypoint.
도 7에서 살펴보면 좌측 그림에서는 화살표로 표시된 W1가 엑세서블웨이포인트가 될 수 있다.Referring to FIG. 7, in the left figure, W 1 indicated by an arrow may be an accessible waypoint.
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와 교집합이 있으면 웨이포인트 하나만 결정하면 안전한 경로를 찾을 수 있다. 따라서, 가능하면 안전하고 짧은 거리가 되도록 엑세서블웨이포인트를 찍기 위해, 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합에 해당되는 영역 중 로컬골 까지의 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것이 바람직하다.If there is an intersection with the local visible position space and the local goal accessible path segment, you can find a safe route by determining only one waypoint. Therefore, in order to take the accessible waypoint so that the distance is as safe and short as possible, the point where the distance to the local goal is the shortest among the areas corresponding to the intersection of the local visible position space and the local goal accessible pass segment is accessed. It is advisable to decide with a blowway point.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우, 로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬비저블포지션스페이스 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 할 수 있다.In the path planning step (S30) of the method for improving a real-time waypoint path according to an embodiment of the present invention, when there is no intersection between the local visible position space and the local goal accessible path segment, To avoid collision, plan a local waypoint, which is a temporary waypoint toward the direction of travel without obstacles on the local visible position space, and plan an accessible waypoint at the point after passing the obstacle on the local visible position space. It can be characterized by planning a route through points and accessible waypoints.
도 7에서 살펴보면 우측 그림에서는 화살표로 표시된 W1가 로컬웨이포인트가 되고, W2가 엑세서블웨이포인트가 될 수 있다.Referring to FIG. 7, in the figure on the right, W 1 indicated by an arrow may be a local waypoint, and W 2 may be an accessible waypoint.
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와 교집합이 없으면, 로컬비저블포지션스페이스 측으로 가는 방향에 로컬웨이포인트를 하나 결정하고, 로컬골엑세서블패스세그먼트 상에 엑세서블웨이포인트를 하나 결정하여 경로를 계획할 수 있다.If there is no intersection with the local visible position space and the local goal accessible pass segment, a local waypoint is determined in the direction toward the local visible position space, and an accessible waypoint is determined on the local goal accessible path segment. You can plan.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트(거리 등)가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 할 수 있다.The route planning step (S30) of the method for improving a real-time waypoint route according to an embodiment of the present invention is, when there is no intersection between the local visible position space and the local goal accessible path segment, the local waypoint and the accessible waypoint are It can be characterized by setting a local waypoint and an accessible waypoint with the smallest cost (distance, etc.).
이때, 가장 안전한 영역은 로컬비저블포지션스페이스가 되고, 그 다음으로 안전한 영역은 로컬골엑세서블패스세그먼트가 되며, 그 다음으로 안전한 영역은 로컬언노운포지션스페이스가 된다.At this time, the safest area is the local visible position space, the next safe area is the local goal accessible path segment, and the next safe area is the local unknown position space.
코스트로 고려할 대상이 거리라고 가정하면, 로컬비저블포지션스페이스 영역 내에서 이동하는 거리와 로컬골엑세서블패스세그먼트 영역 내에서 이동하는 거리가 크게 하면서, 로컬웨이포인트와 엑세서블웨이포인트를 지나는 거리가 최소가 되도록 하는 것이 바람직하다.Assuming that the object to be considered as cost is distance, the distance moving within the local visible position space area and the distance moving within the local goal accessible pass segment area are increased, while the distance passing through the local waypoint and the accessible waypoint is increased. It is desirable to minimize it.
도 11은 로봇의 이동에 따라 실시간으로 경로를 계산하는 예를 보여주는 것으로, 좌측 그림에서 시간이 지날수록 우측과 같이 경로가 변화됨을 보여준다.FIG. 11 shows an example of calculating a path in real time according to the movement of the robot. In the figure on the left, as time passes, the path changes as shown on the right.
도 11의 노란색 반경은 로봇의 이동에 따른 센싱범위를 보여준다.The yellow radius in FIG. 11 shows the sensing range according to the movement of the robot.
따라서, 센싱데이터의 업데이트 및 경로 계산 주기를 짧게 하면 도 12의 녹색 점선과 같이, 장애물에 근접하며 장애물을 피해 주행하는 것을 확인할 수 있다.Therefore, if the sensing data update and path calculation period is shortened, it can be confirmed that the vehicle is close to the obstacle and travels avoiding the obstacle as shown in the green dotted line in FIG. 12.
도 12의 검정색 점선은 웨이포인트패스를 보여준다.The black dotted line in FIG. 12 shows the waypoint path.
이때, 보다 도전 적으로 경로를 계획하기 위하여, 로컬비저블포지션스페이스 상에서 확인 가능한 마지막 웨이포인트패스세그먼트의 다음 웨이포인트를 로컬골로 결정하는 경우, At this time, in order to plan the route more challengingly, when determining the next waypoint of the last waypoint pass segment that can be checked on the local visible position space as a local goal,
도 13과 같이 문이 열리고 닫히는 곳에서의 시뮬레이션 결과, 문을 돌아가는 경로를 계획하더라도, 문이 열렸을 때는 문을 통과하여 진행하는 더욱 짧은 경로로 진행할 수 있음을 확인했다.As a result of the simulation at the place where the door opens and closes as shown in FIG. 13, it was confirmed that even if a path around the door is planned, when the door is opened, a shorter path proceeding through the door can be performed.
돌아가는 경로를 계획하더라도, 센싱데이터의 업데이트 및 경로 계산을 추가로 하지 않으면, 도 14의 상부 좌측 두 개의 그림과 같이 빠른 길이 있어도 돌아감을 확인했으며, Even if the return route is planned, if the sensing data is not updated and route calculation is additionally performed, it is confirmed that the return will occur even if there is a fast route as shown in the upper left two pictures of FIG. 14,
센싱데이터의 업데이트 및 경로 계산 주기를 15초로 하였을 때는, 도 14의 상부 우측 두 개의 그림과 같이 이전보다 경로가 짧아지는 것을 확인할 수 있었고,When the sensing data update and the path calculation period were set to 15 seconds, it was confirmed that the path was shorter than before, as shown in the upper right two figures of FIG. 14,
센싱데이터의 업데이트 및 경로 계산 주기를 7.5초로 하였을 때는, 도 14의 하부 좌측 두 개의 그림과 같이 15초를 주기로 하던 때 보다 경로가 짧아지는 것을 확인할 수 있었으며,When the sensing data update and the path calculation period were set to 7.5 seconds, it was confirmed that the path was shorter than when the period was set to 15 seconds as shown in the lower left two figures of FIG. 14.
센싱데이터의 업데이트 및 경로 계산 주기를 0.5초로 하였을 때는, 도 14의 하부 우측 그림과 같이, 계획된 경로가 아니지만 경로를 단축시킬 수 있는 빠른 길로 진행함을 확인했다.When the sensing data update and the path calculation period were set to 0.5 seconds, as shown in the lower right figure of FIG. 14, it was confirmed that the path was not a planned path but proceeded to a fast path that could shorten the path.
도 14에 표시된 파란 점 들은 로봇의 이동 경로를 나타낸 것이다. The blue dots shown in FIG. 14 represent the movement path of the robot.
도 15는 본 발명이 적용되지 않은 일반적인 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 것이고, 도 16은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법이 적용된 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 것이다.FIG. 15 shows the results of an autonomous driving simulation according to a general route plan to which the present invention is not applied, and FIG. 16 shows the results of an autonomous driving simulation according to a route plan to which the real-time waypoint route improvement method according to an embodiment of the present invention is applied. To show.
본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우, 현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정하는 것을 특징으로 할 수 있다.In the path planning step (S30) of the real-time waypoint path improvement method according to an embodiment of the present invention, when there is no intersection between the local visible position space and the local bone accessible path segment, the current angle formed with the moving direction of the robot is minimal. It may be characterized by setting a local waypoint to be.
이는, 로봇의 방향 전환을 최소로 하기 위함이며, 로봇이 방향전환을 크게 할수록 돌아가는 경로가 될 수 있기 때문이다.This is to minimize the change of direction of the robot, and it is because the path can be made as the robot changes direction larger.
상기에서, 코스트로 고려될 수 있는 항목으로 거리와 각도를 예로 설명하였으나, 본 발명이 이에 한정된 것은 아니며, 로봇의 속도, 시간 등을 고려하여 코스트가 최소가 되는 경로가 되도록 로컬웨이포인트를 설정하는 것도 가능하고, 이들 중 여러 가지 항목을 고려하여 코스트가 최소가 되는 경로가 되도록 로컬웨이포인트를 설정하는 것도 가능한 등 다양한 실시가 가능함은 물론이다.In the above, the distance and angle have been described as examples as items that can be considered as cost, but the present invention is not limited thereto, and the local waypoint is set so that the cost is minimized in consideration of the speed and time of the robot. It is possible, of course, that various implementations are possible, such as setting a local waypoint so that the cost is minimized in consideration of various items among them.
이상에서 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 대하여 설명하였지만, 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.In the above, a method for planning an online bidirectional route in a time state domain according to an embodiment of the present invention has been described above, but a computer-readable recording medium storing a program for implementing the online bidirectional route planning method in a time state domain and a time state It goes without saying that a program stored in a computer-readable recording medium for implementing an online bidirectional route planning method in the domain can also be implemented.
즉, 상술한 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.That is, those skilled in the art can easily understand that the above-described online bidirectional route planning method in the time state domain may be provided in a recording medium that can be read through a computer by tangibly implementing a program of instructions for implementing it. There will be. In other words, it is implemented in the form of program instructions that can be executed through various computer means, and can be recorded on a computer-readable recording medium. The computer-readable recording medium may include a program command, a data file, a data structure, or the like alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and constructed for the present invention, or may be known and usable to those skilled in computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptic disks, and ROM, RAM, and flash memory. , A hardware device specially configured to store and execute program commands such as USB memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 다양한 변형 실시가 가능한 것은 물론이다. The present invention is not limited to the above-described embodiments, and of course, various modifications can be made without departing from the gist of the present invention as claimed in the claims.

Claims (10)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서,A method for improving a real-time waypoint route in the form of a program executed by an arithmetic processing means including a computer,
    연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정하는 웨이포인트패스결정 단계(S10);A waypoint path determination step (S10) of determining a waypoint path, which is a set of waypoint path segments forming an optimal path to a target point, among waypoint path segments, which are paths connecting the waypoint and the waypoint by the operation processing means;
    연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정하는 로컬골결정 단계(S20);In the waypoint path determination step (S10), among the local visible position space, which is a set of areas in which the arithmetic processing means does not have obstacles and collisions when moving straight from the robot among the movable areas detected by the robot sensors. A local goal determination step (S20) of determining the next waypoint of the last waypoint on the determined waypoint path or the next waypoint of the waypoint path segment as a target waypoint, a local goal;
    연산처리수단이 상기 로봇으로부터 상기 로컬골결정 단계(S20)에서 결정된 로컬골 까지 경로를 계획하는 경로계획 단계(S30); 및A path planning step (S30) in which the operation processing means plans a path from the robot to the local bone determined in the local bone determination step (S20); And
    상기 경로계획 단계(S30)에서 계획된 경로에 따라 상기 로봇을 제어하는 명령을 계산하여 상기 로봇의 이동을 제어하는 로봇제어 단계(S40);A robot control step (S40) of controlling the movement of the robot by calculating a command for controlling the robot according to the path planned in the path planning step (S30);
    를 포함하는 실시간 웨이포인트 경로 개선 방법.Real-time waypoint route improvement method comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    이동체의 현재 위치로부터 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트에서 상기 로컬골로부터 가장 가까운 장애물 까지의 영역인 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.Real-time, characterized in that a route from the current position of the moving object to the local goal accessible pass segment, which is an area from the local goal to the nearest obstacle, is planned in the waypoint pass segment connecting the local goal and the previous waypoint. Waypoint route improvement method.
  3. 제2항에 있어서,The method of claim 2,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    상기 로컬골엑세서블패스세그먼트로 진입하는 임시 웨이포인트인 엑세서블웨이포인트를 계획하여 경로를 계획하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.A real-time waypoint route improvement method comprising planning a route by planning an accessible waypoint, which is a temporary waypoint entering the local goal accessible pass segment.
  4. 제3항에 있어서,The method of claim 3,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, If there is an intersection between the local visible position space and the local goal accessible path segment,
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 특정 비용함수를 최소화 시키는 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.A real-time waypoint route improvement method, characterized in that a point at which a specific cost function is minimized within an intersection between a local visible position space and a local goal accessible path segment is determined as an accessible waypoint.
  5. 제3항에 있어서,The method of claim 3,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, If there is an intersection between the local visible position space and the local goal accessible path segment,
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 로봇으로부터 로컬골까지의 이동 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.A real-time waypoint path improvement method, characterized in that, within the intersection of the local visible position space and the local goal accessible path segment, the point where the movement distance from the robot to the local goal is shortest is determined as the accessible waypoint.
  6. 제3항에 있어서,The method of claim 3,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,If there is no intersection between the local visible position space and the local goal accessible path segment,
    로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬비저블포지션스페이스 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.To avoid collisions with obstacles on the path between local waypoints, plan a local waypoint, which is a temporary waypoint on the side of the direction where there is no obstacle on the local visible position space, and access the point after passing the obstacle on the local visible position space A real-time waypoint route improvement method, characterized in that by planning a black waypoint, and planning a route passing through the local waypoint and the accessible waypoint.
  7. 제6항에 있어서,The method of claim 6,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,If there is no intersection between the local visible position space and the local goal accessible path segment,
    로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.A real-time waypoint route improvement method, characterized in that the local waypoint and the accessible waypoint are set with the smallest cost of the local waypoint and the accessible waypoint.
  8. 제6항에 있어서,The method of claim 6,
    상기 경로계획 단계(S30)는The route planning step (S30) is
    로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,If there is no intersection between the local visible position space and the local goal accessible path segment,
    현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.A method for improving a waypoint path in real time, characterized in that setting a local waypoint at which the angle formed by the current moving direction of the robot is minimum.
  9. 제 1항 내지 제 8항 중 선택되는 어느 한 항에 기재된 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a program for implementing the real-time waypoint route improvement method according to any one of claims 1 to 8.
  10. 제 1항 내지 제 8항 중 선택되는 어느 한 항에 기재된 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for implementing the real-time waypoint route improvement method according to any one of claims 1 to 8.
PCT/KR2020/002360 2019-04-29 2020-02-19 Real-time waypoint path improvement method, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same WO2020222408A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190049486A KR102097715B1 (en) 2019-04-29 2019-04-29 Online waypoint path refinement method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
KR10-2019-0049486 2019-04-29

Publications (1)

Publication Number Publication Date
WO2020222408A1 true WO2020222408A1 (en) 2020-11-05

Family

ID=70281858

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/002360 WO2020222408A1 (en) 2019-04-29 2020-02-19 Real-time waypoint path improvement method, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same

Country Status (2)

Country Link
KR (1) KR102097715B1 (en)
WO (1) WO2020222408A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220301440A1 (en) * 2021-03-02 2022-09-22 Aurora Flight Sciences Corporation, a subsidiary of The Boeing Company Conflict detection and avoidance along a current route of a robot

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580563B (en) * 2020-06-09 2023-06-23 中国电子科技集团公司第五十四研究所 Unmanned aerial vehicle autonomous obstacle avoidance flight method based on seed search

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160000162A (en) * 2014-06-24 2016-01-04 주식회사 네오텍 Self moving method of service robot
KR20160070467A (en) * 2014-12-10 2016-06-20 재단법인대구경북과학기술원 A multi robot system for avoding obstacle and a method using switching formation strategy for obstable avoidandce
KR20170024769A (en) * 2015-08-26 2017-03-08 주식회사 뉴로메카 Robot control apparatus
KR20180092960A (en) * 2015-12-09 2018-08-20 퀄컴 인코포레이티드 High-speed search randomization Feedback-based motion planning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126642B2 (en) * 2008-10-24 2012-02-28 Gray & Company, Inc. Control and systems for autonomously driven vehicles
KR101079197B1 (en) 2010-03-25 2011-11-03 부산대학교 산학협력단 Line tracking method for autonomous guided vehicle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160000162A (en) * 2014-06-24 2016-01-04 주식회사 네오텍 Self moving method of service robot
KR20160070467A (en) * 2014-12-10 2016-06-20 재단법인대구경북과학기술원 A multi robot system for avoding obstacle and a method using switching formation strategy for obstable avoidandce
KR20170024769A (en) * 2015-08-26 2017-03-08 주식회사 뉴로메카 Robot control apparatus
KR20180092960A (en) * 2015-12-09 2018-08-20 퀄컴 인코포레이티드 High-speed search randomization Feedback-based motion planning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NOH ET AL.: "Determination of Local Goal for a Mobile Robot with Sporadic Human Commands of Tele-operation", PROCEEDINGS OF THE 27TH IEEE INTERNATIONAL SYMPOSIUM ON ROBOT AND HUMAN INTERACTIVE COMMUNICATION, 31 August 2018 (2018-08-31), XP033441392 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220301440A1 (en) * 2021-03-02 2022-09-22 Aurora Flight Sciences Corporation, a subsidiary of The Boeing Company Conflict detection and avoidance along a current route of a robot

Also Published As

Publication number Publication date
KR102097715B1 (en) 2020-04-06

Similar Documents

Publication Publication Date Title
WO2021221343A1 (en) Apparatus and method for environment recognition of indoor mobile robot in elevator, recording medium storing program for executing same, and computer program stored in medium for executing same
WO2020111808A1 (en) Autonomous driving cart
WO2020222408A1 (en) Real-time waypoint path improvement method, recording medium in which program for implementing same is stored, and computer program stored in medium in order to implement same
WO2018117631A1 (en) Electronic apparatus and method of operating the same
WO2017188706A1 (en) Mobile robot and mobile robot control method
WO2021010757A1 (en) Mobile robot and control method thereof
WO2020050498A1 (en) Method and device for sensing surrounding environment using image segmentation
WO2019194634A1 (en) Mobile robot and mobile robot system
WO2017105130A1 (en) Communication device and electronic device having same
EP3539113A1 (en) Electronic apparatus and method of operating the same
WO2015152692A1 (en) Apparatus and method for generating peripheral image of vehicle
WO2021029457A1 (en) Artificial intelligence server and method for providing information to user
WO2019194632A1 (en) Mobile robot and mobile robot system
WO2012070867A2 (en) System and method for controlling autonomous platform using wire
WO2021221344A1 (en) Apparatus and method for recognizing environment of mobile robot in environment with slope, recording medium in which program for implementing same is stored, and computer program for implementing same stored in medium
WO2020241930A1 (en) Method for estimating location using multi-sensor and robot for implementing same
WO2021125453A1 (en) Artificial intelligence refrigerator
WO2018074904A1 (en) Mobile robot and control method of mobile robot
WO2018212608A1 (en) Movable marking system, method for controlling movable marking device, and computer-readable recording medium
WO2019194636A1 (en) Mobile robot and control method of mobile robot
WO2020241934A1 (en) Method for estimating position by synchronizing multi-sensor, and robot for implementing same
WO2018221915A1 (en) Method for predicting collision and avoiding conflict between multiple moving bodies
WO2019054676A1 (en) Mobile robot system and method for controlling same
WO2022103195A1 (en) Robot system
WO2021182855A1 (en) Mobile robot

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

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

Country of ref document: EP

Kind code of ref document: A1