KR102097715B1 - 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 - Google Patents

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 Download PDF

Info

Publication number
KR102097715B1
KR102097715B1 KR1020190049486A KR20190049486A KR102097715B1 KR 102097715 B1 KR102097715 B1 KR 102097715B1 KR 1020190049486 A KR1020190049486 A KR 1020190049486A KR 20190049486 A KR20190049486 A KR 20190049486A KR 102097715 B1 KR102097715 B1 KR 102097715B1
Authority
KR
South Korea
Prior art keywords
waypoint
path
local
robot
time
Prior art date
Application number
KR1020190049486A
Other languages
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 주식회사 트위니
Priority to KR1020190049486A priority Critical patent/KR102097715B1/en
Priority to PCT/KR2020/002360 priority patent/WO2020222408A1/en
Application granted granted Critical
Publication of KR102097715B1 publication Critical patent/KR102097715B1/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

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 method for improving a real-time waypoint path, a recording medium in which a program for implementing the same is stored, and a computer program stored in a medium to implement the same. More specifically, according to the present invention, by determining a waypoint in the advancing direction of a robot outside a sensor sensing area of the robot as a target waypoint, it is possible for the robot to autonomously travel more challengingly by finding a more optimized path.

Description

실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램 {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}How to improve the real-time waypoint path, a recording medium storing a program for implementing it, and a computer program stored in the medium to implement it {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}

본 발명은 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것으로서, 더욱 상세하게는 로봇의 센서 감지영역 외부의 로봇 진행방향 측 웨이포인트를 목표 웨이포인트로 결정하여, 보다 도전적으로 로봇이 보다 최적화된 경로를 찾아 자율주행이 가능한 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램에 관한 것이다.The present invention relates to a method for improving a real-time waypoint path, a recording medium in which a program for implementing the same is stored, and a computer program stored in a medium to implement the same, more specifically, a waypoint in the robot progressing direction outside the sensor detection area of the robot. Is determined as the target waypoint, and more challengingly, the robot finds a more optimized route and improves the real-time waypoint route that enables autonomous driving, a recording medium storing a program for implementing it, and a computer program stored in a medium to implement the same. It is about.

자율주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇을 말한다.An autonomous driving robot refers to a robot that looks around itself and detects obstacles and uses the wheels or legs to find the optimal route to the destination.

경로계획 또는 장애물 회피는 이동로봇의 자율주행에 있어서 중요한 요소기술이다. 로봇은 목적지까지 경로를 생성하여 이동하되 주변 장애물과 충돌하지 않고 목적지에 도달해야 한다. 좋은 경로라 함은 목적지까지의 이동 경로를 최소로 하는 최단경로이거나 또는 주변 장애물과의 충돌 가능성을 최소로 하는 안전 경로를 의미한다.Path planning or obstacle avoidance is an important element technology for autonomous driving of mobile robots. The robot creates a path to the destination and moves, but must reach the destination without colliding with nearby obstacles. A good route means a shortest route that minimizes a route to a destination or a safety route that minimizes the possibility of collision with surrounding obstacles.

통상적으로 로봇 응용에 있어서는 안전경로가 보다 중요하지만 가장 이상적인 경로는 안전하면서도 가능한 한 최단인 경로일 것이다.In the robot application, the safety path is more important, but the most ideal path will be the safest and shortest possible path.

통상적으로 안전경로를 확보하는 방법으로는 로봇에 장착된 장애물 감지 센서(레이져, 초음파 등 주변 장애물과 의 거리를 측정할 수 있는 장치 등)를 이용하여 빈 공간이 가장 많은 방향을 찾고 목적지 방향을 같이 고려하여 로봇의 이동 방향을 결정하는 방법이 주로 사용되어 왔다. 빈 공간을 향한 방향과 목적지를 향한 방향과의 가중치는 실험적으로 결정된다. 빈 공간에 가중치를 많이 주면 장애물과의 충돌 가능성을 최소화할 수 있지만 긴 경로를 돌아야 하거나 극단적인 경우에는 목적지에 도착하지 못하는 경우가 발생한다. 반대로 목적지에 대한 가중치를 많이 주면 안전성이 떨어진다.In general, as a way to secure a safety path, use an obstacle detection sensor (a device that can measure the distance from surrounding obstacles, such as lasers or ultrasonic waves) mounted on a robot, find the direction with the most empty space, and find the destination direction together. Considering this, a method of determining a moving direction of a robot has been mainly used. The weight between the direction toward the empty space and the direction toward the destination is determined experimentally. The possibility of collision with obstacles can be minimized by applying a lot of weight to the empty space, but it is necessary to travel a long path or, in extreme cases, fail to reach a destination. Conversely, if a lot of weights are applied to a destination, safety is deteriorated.

자율주행 로봇이 갖추어야 할 기본적인 주행능력은 원하는 목표지점까지 충돌없이 최적의 경로로 이동할 수 있는 지능적 항법 능력이며, 이러한 지능적 항법을 위해서는 경로계획 기술과 위치인식 요소기술이 필요하다.The basic driving ability that an autonomous driving robot must have is an intelligent navigation capability that can move to an optimal route without a collision to a desired target point, and route planning technology and position recognition element technology are required for such an intelligent navigation.

여기서, 경로계획 기술은, 전역 경로계획과 지역 경로계획 기술로 나눌 수 있다.Here, the route planning technology can be divided into a global route planning and a local route planning technology.

먼저, 전역 경로계획은, 주어진 환경지도를 이용하여 출발점에서 목표 지점까지의 최적의 경로를 탐색하는 것이고, First, global route planning is to search for an optimal route from a starting point to a target point using a given environmental map.

지역 경로계획은, 센서로 인식한 동적 장애물을 회피하도록 실제 이동궤적을 생성하는 것을 의미한다.Local route planning means generating a real movement trajectory to avoid dynamic obstacles recognized by sensors.

아울러, 위치인식 기술은, 주행시 로봇의 현재 위치를 지도상에서 알아내는 위치결정 기술이다.In addition, the position recognition technology is a positioning technology that finds the current position of the robot on the map when 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 알고리즘은, 최초의 경로계획으로 제시되어 현재까지 여러 분야에서 많이 사용되고 있으나, 모든 공간을 탐색하므로 많은 연산시간이 요구된다는 단점이 있다.More specifically, the Dijkstra algorithm described above is proposed as the first route plan and has been widely used in various fields to date, but has a disadvantage in that it requires a lot of computation time because 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 described above, as a complement to the Dijkstra algorithm, can achieve a faster search time than the Dijkstra algorithm based on depth search and area search by adding an appropriate evaluation function.

지역 경로계획은 지역 궤적 계획기(local trajectory planner)가 현재 로봇의 상태(state)와 지역 환경 정보를 기반으로 로봇에게 주어진 전역 경로계획(global plan)에 의해 생성된 경로를 따라감에 있어서 비환경적 장애물에 의한 충돌이 일어나지 않도록 이동할 수 있게 궤적을 계획하는 기술이다. Local route planning is non-environment because the local trajectory planner follows the route generated by the global plan given to the robot based on the current state of the robot and local environment information. It is a technique to plan the trajectory so that it can move to avoid collisions caused by enemy obstacles.

지역 경로계획은 환경 변화가 필연적으로 발생하는 일상 공간에서 장애물과 충돌 없이 이동로봇이 목적지로 이동하기 위한 필수적인 기술이며, 상기 전역 경로 계획과 달리 실시간성이 요구된다.Local route planning is an essential technique for moving robots to their destinations without obstacles and collisions in everyday spaces where environmental changes inevitably occur, and real-time properties are required unlike the global route planning.

상기한 바와 같은 지역 경로계획 방법에 대한 종래기술의 예로서, 로봇이 지나가야 하는 웨이포인트를 부여하여 경로를 계획하는 증분(점진적) 계획 방법(Incremental planning method)이 있다.As an example of the prior art for the local route planning method as described above, there is an incremental (gradual) planning method of planning a route by giving waypoints that the robot should pass.

상기 증분(점진적) 계획 방법(Incremental planning method)은 빠른 계산이 가능하지만 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상이 발생되는 문제가 있다.The incremental (incremental) planning method is capable of quick calculation, but if the distance between waypoints is short or the angle between waypoints is small, the robot passes the target waypoint and then turns to the next target waypoint. There is a problem in that an overrun phenomenon that becomes large occurs.

한국등록특허 [10-1079197]에서는 자율주행 장치의 경로추적 방법이 개시되어 있다.Korean Patent Registration [10-1079197] discloses a method for tracking a path of an autonomous vehicle.

한국등록특허 [10-1079197](등록일자: 2011.10.27)Korean Registered Patent [10-1079197] (Registration Date: 2011.10.27)

따라서, 본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 로봇의 센서 감지영역 외부의 로봇 진행방향 측 웨이포인트를 목표 웨이포인트로 결정하여, 오버런 현상이 발생되지 않으면서, 보다 도전적이며 보다 최적화된 경로를 찾아 자율주행이 가능한 실시간 웨이포인트 경로 개선 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램을 제공하는 것이다.Therefore, the present invention has been devised to solve the above-described problems, and the object of the present invention is to determine a waypoint in the direction of the robot outside the sensor detection area of the robot as a target waypoint, and if an overrun phenomenon does not occur Therefore, it is to provide a real-time waypoint path improvement method capable of autonomous driving in search of a more challenging and more optimized path, a recording medium storing a program for implementing the same, and a computer program stored in a medium to implement the same.

본 발명의 실시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The purpose of the embodiments of the present invention is not limited to the above-mentioned purpose, and other objects not mentioned will be clearly understood by those skilled in the art from the following description. .

상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서, 연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정하는 웨이포인트패스결정 단계(S10); 연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정하는 로컬골결정 단계(S20); 연산처리수단이 상기 로봇으로부터 상기 로컬골결정 단계(S20)에서 결정된 로컬골 까지 경로를 계획하는 경로계획 단계(S30); 및 상기 경로계획 단계(S30)에서 계획된 경로에 따라 상기 로봇을 제어하는 명령을 계산하여 상기 로봇의 이동을 제어하는 로봇제어 단계(S40);를 포함하는 것을 특징으로 한다.A real-time waypoint path improving method according to an embodiment of the present invention for achieving the above object is a real-time waypoint path improving method consisting of a program executed by a calculation processing means including a computer, A waypoint path determining step (S10) in which the processing means determines 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 a path connecting the waypoint and the waypoint (S10); In the local visible position space, which is a set of areas that do not collide with obstacles when the calculation processing means moves straight from the robot among the movable areas of the robot sensed by the sensor of the robot, in the waypoint path determining step (S10) A local goal determination step (S20) of determining a next waypoint of a last waypoint or a next waypoint of a waypoint pass segment as a target goal point local goal on the determined waypoint pass; A path planning step (S30) in which the calculation processing means plans a path from the robot to the local goal determined in the local goal determination step (S20); And a robot control step (S40) for 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, the path planning step (S30) enters the local goal accessible pass segment, which is an area from the current position of the moving object to the closest obstacle from the local goal in the waypoint pass segment connecting the local goal and the previous waypoint. It is characterized by planning the route.

또, 상기 경로계획 단계(S30)는 상기 로컬골엑세서블패스세그먼트로 진입하는 임시 웨이포인트인 엑세서블웨이포인트를 계획하여 경로를 계획하는 것을 특징으로 한다.In addition, the route planning step (S30) is characterized in that a route is planned by planning an accessible waypoint, which is a temporary waypoint entering the local goal accessible pass segment.

또한, 상기 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우, 로컬골엑세서블패스세그먼트 중 로컬골 까지의 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 한다.In addition, in the path planning step (S30), if there is an intersection of 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 waypoint. It is characterized by determining.

또, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬골엑세서블패스세그먼트 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 한다.In addition, in the path planning step (S30), if there is an obstacle on the local goal accessible pass segment, there is no collision with the obstacle on the path between the local waypoints, and the temporary way toward the direction in which there are no obstacles on the local visible position space It is characterized by planning a local waypoint, a point, 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. Is done.

또한, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 한다.In addition, in the path planning step (S30), when there is an obstacle on the local goal accessible pass segment, setting the local way point and the accessible way point with the smallest cost of the local way point and the accessible way point is set. It is characterized by.

또, 상기 경로계획 단계(S30)는 로컬골엑세서블패스세그먼트 상에 장애물이 있는 경우, 현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정하는 것을 특징으로 한다.In addition, the path planning step (S30) is characterized in that when there is an obstacle on the local goal accessible pass segment, it is characterized in that to set a local waypoint at which the angle formed with the direction of the current robot is minimal.

또한, 본 발명의 일 실시예에 따르면, 상기 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체가 제공되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, a computer readable recording medium storing a program for implementing the real-time waypoint path improvement method 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 of 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 a medium to implement the same, the waypoint in the robot progressing direction outside the sensor detection area of the robot By determining as the target waypoint, the robot is more challenging to find a more optimized route and autonomous driving, thereby minimizing the occurrence of overrun of the robot and at the same time having a small amount of computation, thereby enabling real-time route computation.

또, 순방향경로와 역방향경로를 이용한 양방향경로를 계획하여 로봇의 오버런이나 진동이 발생을 최소화시킴과 동시에 실시간 경로 연산이 가능한 효과가 있다.In addition, it is possible to minimize the occurrence of overrun or vibration of the robot by planning the bi-directional path using the forward path and the reverse path, and has the effect of real-time path calculation.

또한, 이동에 필요한 비용 함수를 분해하여 연산량을 줄이는 함수분해 기반 비용최소화 알고리즘을 적용함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.In addition, by applying a function decomposition-based cost minimization algorithm that reduces the amount of computation by decomposing the cost function required for movement, it is possible to further reduce the amount of computation required for path calculation.

또, 시간배위안전영역

Figure 112019043646007-pat00001
을 근거로 경로계산을 함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.In addition, the time coordination safety area
Figure 112019043646007-pat00001
By calculating paths on the basis of, it is possible to further reduce the amount of computation required for path calculation.

또한, 웨이포인트설정 단계, 역방향경로계산 단계, 순방향경로계산 단계, 로봇제어명령생성 단계를 수행하되, 역방향경로계산 단계를 순방향경로계산 단계보다 먼저 수행함으로써, 목표 웨이포인트를 보다 부드럽게 지나가도록 경로를 형성할 수 있 효과가 있다.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. However, by performing the reverse path calculation step before the forward path calculation step, the path is smoothly passed through the target waypoint. It is capable of forming.

또, 순방향경로와 역방향경로를 연결하는 연결경로를 이용함으로써, 순방향경로와 역방향경로를 로봇에 무리를 주지 않도록 연결할 수 있는 효과가 있다.In addition, by using a connection path connecting the forward path and the reverse path, there is an effect that the forward path and the reverse path can be connected so as not to force the robot.

또한, 역방향경로계산 단계와 순방향경로계산 단계 사이에 연결경로확인 단계를 수행함으로써, 경로계산에 필요한 연산량을 더욱 줄일 수 있는 효과가 있다.In addition, by performing a connection path verification step between the reverse path calculation step and the forward path calculation step, there is an effect of further reducing the amount of computation required for the path calculation.

또, 연결경로가 존재하면 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하여, 계산 시 고려되지 않았던 연결경로 및 역방향경로의 동적 장애물과의 충돌을 확인함으로써, 보다 빠르고 안정적인 경로생성이 가능한 효과가 있다.In addition, if there is a connection path, the forward time indexes for the connection path and the reverse path are set to check the collision with the dynamic obstacles in the connection path and the reverse path that were not considered in the calculation. have.

또한, 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획함으로써, 웨이포인트로 진입하는 경로에 비해 오버런 발생을 줄일 수 있는 효과가 있다.In addition, by planning the path to the local goal accessible pass segment, there is an effect of reducing the occurrence of overrun compared to the path to the waypoint.

또, 로컬골엑세서블패스세그먼트로 진입하는 엑세서블웨이포인트를 계획하여 경로를 계획함으로써, 로컬골로 진입하는 경로에 비해 오버런 발생을 더욱 줄일 수 있는 효과가 있다.In addition, by planning an route by planning an accessible waypoint 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 an accessible waypoint, it is possible to reduce the amount of computation and simultaneously plan an optimized route to enter the local goal accessible pass segment.

또, 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트를 근거로 경로를 계획함으로써, 장애물이 출현하여도 연산량을 줄임과 동시에 빠르게 로컬골엑세서블패스세그먼트로 진입하는 최적화된 경로를 계획할 수 있는 효과가 있다.In addition, if there is an obstacle, the route is planned based on the local way point and the accessible way point, thereby reducing the amount of computation even when an obstacle appears and simultaneously planning an optimized route to enter the local goal accessible pass segment. It has the effect.

또한, 장애물이 있는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정함으로써, 위험 요소를 최소화 시킬 수 있는 효과가 있다.In addition, when there is an obstacle, the cost of the local waypoint and the accessible waypoint is set to the smallest, thereby setting the local waypoint and the accessible waypoint, thereby minimizing the risk factor.

또, 장애물이 있는 경우, 현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정함으로써, 오버런을 최소화 시킬 수 있는 효과가 있다.In addition, when there is an obstacle, there is an effect of minimizing overrun by setting a local waypoint at which the angle formed with the current robot's traveling direction is minimum.

도 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 real-time waypoint path improvement according to an embodiment of the present invention.
Figure 2 is an exemplary view for explaining a local workspace applied to the real-time waypoint path improvement method 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 path improvement method according to an embodiment of the present invention.
4 is an exemplary diagram for explaining a local visible position space applied to a real-time waypoint path improvement method according to an embodiment of the present invention.
5 is an exemplary view for explaining a process of determining a local goal in a local goal determination step of a real-time waypoint path improvement method according to an embodiment of the present invention.
6 is an exemplary diagram for explaining a local goal accessible pass segment applied to a real-time waypoint path improvement method according to an embodiment of the present invention.
7 is an exemplary view for explaining a local waypoint and an accessible waypoint applied to a real-time waypoint path improvement method according to an embodiment of the present invention.
8 is a flowchart of a method for planning an online bidirectional route in a time state domain according to an embodiment of the present invention.
9 is a flowchart of a method for planning an online interactive path in a time state domain according to another embodiment of the present invention.
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.
12 is an exemplary view showing a path the robot has moved as a result of calculating the path of FIG. 11.
13 is an exemplary view showing a simulation result in a place where the door is opened and closed.
14 is an exemplary view showing a simulation result changed according to an update of the sensing data and a path calculation cycle.
15 is an exemplary view showing a result of autonomous driving simulation according to a general route plan to which the present invention is not applied.
16 is an exemplary view showing a result of an autonomous driving simulation according to a route plan to which a real-time waypoint route improvement method according to an embodiment of the present invention is applied.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야한다.The present invention can be applied to various changes and can have various embodiments, and 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 modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When an element is said to be "connected" or "connected" to another component, it is understood that other components may be directly connected to or connected to the other component, but other components may exist in the middle. It should be.

반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 공정, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this 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 this application, terms such as “include” or “have” are intended to indicate that a feature, number, process, operation, component, part, or combination thereof described in the specification exists, and that one or more other features are present. It should be understood that the presence or addition possibilities of fields or numbers, processes, operations, components, parts or combinations thereof are not excluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the present invention pertains. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.

이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. Prior to this, the terms or words used in the present specification and claims should not be interpreted as being limited to ordinary or dictionary meanings, and the inventor appropriately explains the concept of terms in order to explain his or her invention in the best way. Based on the principle that it can be defined, it should be interpreted as meanings and concepts consistent with the technical spirit of the present invention. In addition, unless there are other definitions in the technical terms and scientific terms used, those skilled in the art to which this invention pertains have the meanings commonly understood, and the subject matter of the present invention in the following description and the accompanying drawings. Descriptions of well-known functions and configurations that may be obscured are 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 components. It should be noted that the same components in the drawings are denoted 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 path according to an embodiment of the present invention, and FIG. 2 is an exemplary diagram for explaining a local workspace applied to a method for improving a real-time waypoint path according to an embodiment of the present invention 3 is an exemplary view for explaining a local position space applied to a real-time waypoint path improvement method according to an embodiment of the present invention, and FIG. 4 is a real-time waypoint path improvement method according to an embodiment of the present invention 5 is an exemplary view for explaining a local non-visible position space, and FIG. 5 is an exemplary view for explaining a process in which a local goal is determined in a local goal determination step of a real-time waypoint path improvement method according to an embodiment of the present invention. 6 is a local goal accessible pass segment applied to a real-time waypoint path improvement method according to an embodiment of the present invention. 7 is an exemplary diagram for explaining a local waypoint and an accessible waypoint applied to a method for improving a real-time waypoint path 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 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. It 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. 11 is an example showing an example of calculating a route in real time according to a movement of a robot to which the method for improving a real-time waypoint in the present invention is applied. Fig. 12 is an exemplary view showing a path the robot has moved as a result of calculating the path of Fig. 11, and Fig. 13 is a place where the door is opened and closed. Is an exemplary view showing the simulation results of, and FIG. 14 is an exemplary view showing the simulation results changed according to the updating of the sensing data and the path calculation cycle, and FIG. 15 is 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 a result of autonomous driving simulation according to a route plan to which a real-time waypoint route improvement method according to an embodiment of the present invention is applied.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서, 웨이포인트패스결정 단계(S10), 로컬골결정 단계(S20), 경로계획 단계(S30) 및 로봇제어 단계(S40)를 포함한다.As shown in FIG. 1, the real-time waypoint path improvement method according to an embodiment of the present invention is a real-time waypoint path improvement method in a program form executed by a calculation processing means including a computer, a waypoint path 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.

웨이포인트는 로봇이 주행을 위한 목표로 지정할 수 있는 지점을 의미하며 도면에서는 점으로 표시하였다. 목표로 한다는 것은 웨이포인트를 경유하여 지나갈 수도 있으나, 경유하지 않고 근처를 지나갈 수도 있다. The waypoint means a point that the robot can designate as a target for driving, and is indicated by a dot in the drawing. Targeting can be passed via waypoints, but you can also pass nearby without passing.

웨이포인트패스세그먼트는 웨이포인트와 웨이포인트를 연결한 경로를 의미한다. 일반적으로 웨이포인트패스세그먼트는 점(웨이포인트)과 점(웨이포인트)을 연결한 선분이 될 수 있으나, 곡선이 될 수도 있다. 또한, 웨이포인트패스세그먼트는 맵 상의 장애물과는 충돌이 없는 비교적 안전한 경로이다. 다시 말해, 맵 상에 표시된 고정된 장애물과는 충돌이 없는 경로이다. The waypoint pass segment means a route connecting a waypoint and a waypoint. In general, the waypoint pass segment may be a line segment connecting points (waypoints) and points (waypoints), but may also be curved. In addition, the waypoint pass segment is a relatively safe route that does not collide with obstacles on the map. In other words, it is a path without collision with a fixed obstacle displayed on the map.

웨이포인트패스는 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트들의 집합을 의미한다. 즉, 웨이포인트패스는 목표지점 까지의 웨이포인트패스세그먼트들로 이루어진 경로이며, 선분의 집합이 될 수 있다.The waypoint pass means a set of waypoint pass 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 segments.

로컬워크스페이스는 센서데이터 기반 워크스페이스(영역)를 의미한다.(도 2 참조)The local workspace refers to a workspace (area) based on sensor data (see FIG. 2).

로컬워크스페이스는 로컬프리워크스페이스, 로컬옵스타클워크스페이스 및 로컬언노운워크스페이스를 포함한다.Local workspaces include local free workspaces, local obstacle workspaces, and local unknown workspaces.

로컬프리워크스페이스

Figure 112019043646007-pat00002
는 센서로 감지된 장애물이 없는 워크스페이스를 의미하며, 도 2의 주황색 면으로 표시된 영역에 해당된다.Local Free Workspace
Figure 112019043646007-pat00002
Means a workspace without an obstacle detected by a sensor, and corresponds to an area indicated by an orange surface in FIG. 2.

로컬옵스타클워크스페이스

Figure 112019043646007-pat00003
는 센서로 감지된 장애물로 제한된 워크스페이스를 의미하며, 도 2의 보라색 선분으로 표시된 영역에 해당된다.Local Obstacle Workspace
Figure 112019043646007-pat00003
Means a workspace limited by obstacles detected by the sensor, and corresponds to an area indicated by the purple line segment in FIG. 2.

로컬언노운워크스페이스

Figure 112019043646007-pat00004
는 센서로 감지되지 않는 지역이라 장애물과의 충돌을 예측할 수 없는 워크스페이스를 의미하며, 도 2의 색이 없는 영역에 해당된다.Local Unknown Workspace
Figure 112019043646007-pat00004
Is an area that is not sensed by a sensor, and means a workspace in which collision with an obstacle cannot be predicted, and corresponds to an area without color in FIG. 2.

로컬포지션스페이스는 로봇의 형상에 따른 충돌을 고려한 센서데이터 기반 워크스페이스(영역)를 의미한다.(도 3 참조)The local position space means a sensor data-based work space (area) in consideration of the collision according to the shape of the robot.

로컬포지션스페이스는 로컬옵스타클포지션스페이스, 로컬프리포지션스페이스, 로컬언노운포지션스페이스 및 로컬비저블포지션스페이스를 포함한다.The local position space includes a local obstacle position space, a local preposition space, a local unknown position space, and a local non-visible position space.

로컬옵스타클포지션스페이스

Figure 112019043646007-pat00005
는 센서로 감지된 장애물 영역
Figure 112019043646007-pat00006
과 충돌하는 워크스페이스를 의미하며, 도 3의 주황색 영역에 해당된다.Local Obstacle Position Space
Figure 112019043646007-pat00005
Is the obstacle area detected by the sensor
Figure 112019043646007-pat00006
Means a workspace that collides with, and corresponds to the orange region of FIG. 3.

로컬프리포지션스페이스

Figure 112019043646007-pat00007
는 센서로 감지된 장애물과 충돌이 없는 워크스페이스를 의미하며, 도 3의 하늘색 영역에 해당된다.Local preposition space
Figure 112019043646007-pat00007
Denotes a work space free from collision with an obstacle detected by a sensor, and corresponds to the sky blue region of FIG. 3.

로컬언노운포지션스페이스

Figure 112019043646007-pat00008
는 센서로 감지되지 않아 충돌을 예측할 수 없는 워크스페이스를 의미하며, 도 3의 색이 없는 영역에 해당된다.Local Unknown Position Space
Figure 112019043646007-pat00008
Means a workspace that cannot be predicted because it is not sensed by a sensor, and corresponds to an area without color in FIG. 3.

로컬비저블포지션스페이스

Figure 112019043646007-pat00009
는 현재 로봇의 위치로부터 로봇이 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역(공간)의 집합을 의미하며, 도 4의 붉은색 영역에 해당된다.Local Visible Position
Figure 112019043646007-pat00009
Is a set of areas (spaces) where there are no obstacles and collisions when the robot moves straight from the current robot position, and corresponds to the red area in FIG. 4.

로컬골엑세서블패스세그먼트

Figure 112019043646007-pat00010
는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물과 충돌 없이 로컬골로 바로 접근할 수 있는 영역을 의미하며, 도 6의 보라색 선분으로 표시된 영역에 해당된다.Local Goal Accessible Pass Segment
Figure 112019043646007-pat00010
Denotes an area directly accessible 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 in FIG. 6.

기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다. Although basic variables and terms are summarized, not all variables and terms necessary for explanation are listed, and newly emerging variables and terms in addition to the variables and terms defined above will be described later.

웨이포인트패스결정 단계(S10)는 연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정한다.The waypoint path determining step S10 determines the waypoint path, which is a set of waypoint path segments that form an optimal path to a target point among waypoint path segments, which are paths in which the calculation processing means connects the waypoints and waypoints. .

웨이포인트패스결정 단계(S10)는 사전에 입력된 맵 정보를 근거로 웨이포인트를 연결한 최적 경로를 결정한다. The waypoint path determining step S10 determines an optimal route connecting waypoints based on previously input map information.

상기 웨이포인트패스는 초기 경로라고 볼 수 있으나, 로봇이 웨이포인트패스를 따라 가는 것은 아님을 유념해야 한다.The waypoint pass can be regarded as an initial route, but it should be noted that the robot does not follow the waypoint pass.

즉, 상기 웨이포인트패스는 최적 경로를 찾아가기 위해 참고하는 정보일 뿐이다.That is, the waypoint pass is only information that is referenced to find the optimal route.

로컬골결정 단계(S20)는 연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 (맵 상의 )장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정한다.The local goal determination step (S20) is a local non-visible position space that is a set of obstacle-free collisions (on the map) when the calculation processing means moves straight from the robot among the movable areas of the robot detected by the robot's sensor. Among them, the next waypoint of the last waypoint or the next waypoint of the waypoint pass segment on the waypoint pass determined in the waypoint path determining step S10 is determined as a local goal that is the target waypoint.

로컬비저블포지션스페이스는 로컬프리포지션스페이스 보다 영역이 좁다.The local non-visible position space is narrower than the local pre-position space.

이는, 로봇의 형상에 따른 충돌을 고려하기 때문이다.This is because the collision according to the shape of the robot is considered.

이를 이해하기 쉽도록, 도 4에 로컬비저블포지션스페이스는 붉은색으로, 로컬프리포지션스페이스는 하늘색으로 표시하여 중첩되게 표시하였다.For ease of understanding, the local non-visible position space is shown in FIG. 4 in red color, and the local pre-position space is displayed in sky blue to overlap.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법은 보다 도전적으로 로봇이 보다 최적화된 경로를 찾기 위한 것으로, The real-time waypoint path improvement method according to an embodiment of the present invention is to find a more optimized path for a robot to be more challenging,

로컬옵스타클포지션스페이스는 충돌이 발생될 것이 명확하기 때문에, 로컬언노운포지션스페이스를 고려하여 최적화된 경로를 찾기 위해 고민해 보면, Since it is clear that the local optacle position space will collide, if you think about finding an optimized path considering the local unknown position space,

로컬언노운포지션스페이스에 포함되어 있으면서, 글로벌패스가 만들어진 웨이포인트패스 상에서는(즉, 로컬언노운포지션스페이스와 웨이포인트패스의 교집합인 부분) 맵 상의 장애물과는 충돌이 없으나, 맵 상에 없었던 장애물(사람 등)과는 충돌이 있을 수 있다.There are no collisions with obstacles on the map that were included in the local unknown position space and on the waypoint pass where the global pass was made (that is, the intersection of the local unknown position space and the waypoint pass), but there were no obstacles (such as people) on the map. ).

따라서, 로컬포지션스페이스 중 위험성이 낮은 순서로는, 로컬비저블포지션스페이스, 로컬프리포지션스페이스, 로컬언노운포지션스페이스, 로컬옵스타클포지션스페이스 순이 된다.Therefore, in the order of the lowest risk among the local position spaces, the local non-visible position space, the local preposition space, the local unknown position space, and the local obstacle position space are in this order.

워크스페이스가 다 주어져 있고, 로봇의 포지션과 웨이포인트들이 지정되어 있다고 가정하면, Assuming that all the workspaces are given and the robot's position and waypoints are specified,

로봇(연산처리수단)은 웨이포인트패스 상에 위치해 있을 경우는 웨이포인트패스를 따라가고, 웨이포인트패스 상에서 떨어진 경우에는 감지된 정보를 기반으로 경로를 계획하여 이동한다.When the robot (operation 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 based on the detected information.

다시 말해, 로봇이 장애물을 피하는 등의 이유로 웨이포인트패스 상에서 떨어졌을 때, 로봇은 로봇이 인식한 결과를 바탕으로 어떤 지점에 로컬골을 지정하고, 로컬골을 기반으로 경로를 계획할 수 있다.In other words, when a robot falls on a waypoint pass 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 a basic waypoint pass and a route (path) is planned to go to the local goal.

이때 중요한 것이 로컬골을 어디에 정할 것인가의 문제이다.The important thing at this time is the question of where to set the local goal.

로컬비저블포지션스페이스는 의미가 있는 것이, 사전에 계획된 경로를 개선하고자(경로를 리파인) 할 때, 로컬비저블포지션스페이스 상에서는 직진으로 이동해도 안전하기 때문에 첫 번째 웨이포인트를 찍기 좋다.It is good to take the first waypoint because it is safe to go straight on the local visible position space when it is important to improve the planned route (refine the route).

상기 로컬골결정 단계(S20)는 직진으로 안전하게 갈 수 있는 웨이포인트 중 가장 뒤에 있는 웨이포인트를 로컬골로 결정할 수 있지만, 도전적이지 않아 고려하지 않고, 보이지 않는 영역 즉 로컬언노운포지션스페이스 상에 웨이포인트를 찍기 위해 고민하였으며,In the local goal determination step (S20), the waypoint at the rear of the waypoints that can safely go straight can be determined as a local goal, but it is not challenging and does not consider it, and the waypoint is placed on an invisible area, that is, a local unknown position space. I was worried about filming,

보다 도전 적으로 경로를 계획하기 위하여, 로컬비저블포지션스페이스 상에서 확인 가능한 마지막 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 로컬골로 결정한다.In order to plan the path more challengingly, the last waypoint or the next waypoint of the waypoint pass segment identified on the local nonvisible position space is determined as the local goal.

이때, 로컬골에 장애물이 있으면 로컬언노운포지션스페이스 상의 로컬골엑세서블패스세그먼트 상에서 장애물과 충돌이 없으면서 로컬골과 가장 가까운 지점을 향해 경로를 경로를 계획할 수 있다.At this time, if there is an obstacle in the local goal, a path can be planned for a path closest to the local goal without colliding with an obstacle in the local goal accessible pass segment on the local unknown position space.

로컬비저블포지션스페이스 중에서, 상기 웨이포인트패스 상 마지막 웨이포인트의 다음 웨이포인트 또는 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정한다.Among the local invisible positioning spaces, the next waypoint of the last waypoint on the waypoint path or the next waypoint of the waypoint pass segment is determined as a local goal that is the target waypoint.

상기 로컬골결정 단계(S20)가 로컬비저블포지션스페이스와 상기 웨이포인트패스의 교집합에 해당되는 마지막 웨이포인트의 다음 웨이포인트를 로컬골로 결정하는 경우의 예를 들어 설명하면, When the local goal determination step S20 determines the next waypoint of the last waypoint corresponding to the intersection of the local non-visible position space and the waypoint path, as an example,

도 5의 좌측과 우측 그림 모두, 로컬비저블포지션스페이스 상의 마지막 웨이포인트가 파란 점으로 표시된 지점이기 때문에 그 다음 웨이포인트인 녹색 점으로 표시된 지점을 로컬골(WM)로 결정할 수 있다.In both the left and right figures of FIG. 5, since the last waypoint on the local non-visible position space is a point indicated by a blue dot, the next waypoint indicated by a green dot can be determined as a 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 confirmed (visible) can be determined as the local goal.

경로계획 단계(S30)는 연산처리수단이 상기 로봇의 위치로부터 상기 로컬골결정 단계(S20)에서 결정된 로컬골 까지 경로를 계획한다.In the path planning step S30, the calculation processing means plans a path from the location of the robot to the local goal determined in the local goal determination step S20.

상기 경로계획 단계(S30)의 설명에 앞서, 본 명세서에서 사용되는 용어에 대해 간단히 설명하도록 한다.Prior to the description of the route planning step (S30), the terms used in this specification will be briefly described.

'시간상태 영역'이란 시간에 대해 고려된 상태값의 집합을 말한다.'Time state region' refers to a set of state values considered with respect to time.

'상태값'이란 위치, 방위(헤딩각 등)에 대한 배위값을 포함하고 조향각, 속도(선속도, 각속도), 가속도 중 선택되는 어느 하나 또는 복수의 정보를 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위, 속도, 가속도) 등이 될 수 있다. The 'state value' refers to a value including coordinates for position and orientation (heading angle, etc.) and any one or a plurality of information selected from steering angle, speed (linear velocity, angular velocity), and acceleration. For example, (x coordinate, y coordinate, orientation, speed, acceleration), and the like.

'시간배위 영역'이란 시간에 대해 고려된 배위값의 집합을 말한다.'Time coordination region' refers to the set of coordination values considered over time.

'배위값'이란 위치, 방위(헤딩각 등)을 포함하는 값을 말한다. 예를 들면, (x 좌표, y좌표, 방위) 등이 될 수 있다. The 'coordinate value' refers to a value including a position and an orientation (heading angle, etc.). For example, (x coordinate, y coordinate, orientation), and the like.

설명을 위해 다양한 변수 및 용어를 지정하여 설명하였으며, 그 변수 및 용어들은 아래와 같다.For the explanation, various variables and terms were specified and explained, and the variables and terms are as follows.

로봇의 현재 위치의 상태값은 'sk'으로 표기하였고,The status value of the robot's current position is denoted by 's k ',

로봇의 현재 위치에서 순방향경로로 f 스텝 계산된 상태값은 'sf'으로 표기하였고,The status value calculated by f step from the current position of the robot in the forward path is indicated as 's f ',

현재 목표 웨이포인트에 로봇의 도착 시 로봇의 상태값은 'gw'로 표기하였고,When the robot arrives at the current target waypoint, the robot's status value is indicated as 'g w ',

현재 목표 웨이포인트에서 역방향경로로 b 스텝 계산된 상태값은 's-b'으로 표기하였고,The status value of step b calculated from the current target waypoint in the reverse path is denoted by 's -b ',

몇 스텝에 해당되는 계산인지 표시하는 타임인덱스는 'n'으로 표기하였고,The time index indicating how many steps corresponds to the calculation is indicated by 'n',

한 스텝을 계산하는데 부여된 시간 주기는 'T'로 표기하였고,The time period assigned to calculate one step is denoted by 'T',

타임인덱스 n에서의 시간은 't'(t = nT)로 표기하였고,The time at time index n is expressed as 't' (t = nT),

로봇의 상태값은 's'(소문자 s)로 표기하였고,The state value of the robot is indicated by 's' (lowercase s),

로봇의 상태값의 집합인 상태영역은 'S'(대문자 S)로 표기하였고,The state area, which is a set of robot state values, is denoted by 'S' (uppercase letter S),

타임스텝 n 에서의 상태값인 시간상태값을 sn(소문자 s)이라 표기하였고,The time status value, which is the status value at time step n, is denoted as s n (lowercase s),

시간상태 영역은 'Sn'(sn ∈ Sn)으로 표기하였고,The time status area is denoted by 'S n ' (s n ∈ S n ),

로봇의 배위값은 'q'(소문자 q)로 표기하였고,The coordinates of the robot are denoted by 'q' (lowercase q),

로봇의 배위값의 집합인 배위영역은 'Q'(대문자 Q)로 표기하였고,The coordinate region, which is the set of coordinate values of the robot, is denoted by 'Q' (uppercase Q),

타임스텝 n 에서의 배위값인 시간배위값을 qn(소문자 q)이라 표기하였고,The time coordination value, which is the coordination value in time step n, is denoted by q n (lowercase q),

시간배위 영역은 'Qn'(qn ∈ Qn)으로 표기하였고,The time coordination region is denoted by 'Q n ' (q n ∈ Q n ),

정적 장애물과 충돌하는 배위영역은 '

Figure 112019043646007-pat00011
'로 표기하였고,The coordinate region that collides with the static obstacle is'
Figure 112019043646007-pat00011
'

정적 장애물과 충돌하지 않는 여유정적배위영역은

Figure 112019043646007-pat00012
(
Figure 112019043646007-pat00013
= Q -
Figure 112019043646007-pat00014
)로 표기하였고,The free static coordination region that does not collide with static obstacles
Figure 112019043646007-pat00012
(
Figure 112019043646007-pat00013
= Q-
Figure 112019043646007-pat00014
).

타임인덱스 n에서 동적장애물과 충돌하는 배위영역은

Figure 112019043646007-pat00015
으로 표기하였고,The coordinate region that collides with the dynamic obstacle at time index n is
Figure 112019043646007-pat00015
Is denoted as

정적 장애물 및 동적 장애물과 충돌하지 않는 여유동적배위영역은 '

Figure 112019043646007-pat00016
'(
Figure 112019043646007-pat00017
=
Figure 112019043646007-pat00018
-
Figure 112019043646007-pat00019
)으로 표기하였고,The free dynamic coordination area that does not collide with static obstacles and dynamic obstacles is'
Figure 112019043646007-pat00016
'(
Figure 112019043646007-pat00017
=
Figure 112019043646007-pat00018
-
Figure 112019043646007-pat00019
).

충돌을 피할 수 없는 상태를 '필연적충돌상태'라 하였다.A state in which collision could not be avoided was referred to as an 'inevitable conflict state'.

기본적인 변수 및 용어를 정리하였으나, 설명에 필요한 모든 변수 및 용어를 정리한 것은 아니며, 상기에 정의된 변수 및 용어 이외에 새로이 등장되는 변수 및 용어들은 추후 설명하도록 한다. Although basic variables and terms are summarized, not all variables and terms necessary for description are listed, and newly emerging variables and terms other than the variables and terms defined above will be described later.

이하, 설명에서는 상태값 sk 에 해당되는 현재 상태의 지점에서 상태값 gw 에 해당되는 목표지점(현재 목표 웨이포인트)으로 로봇을 이동시키는 것을 가정하여 설명하도록 한다.In the following description, it is assumed that the robot is moved from a point of the current state corresponding to the state value s k to a 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 bidirectional route to gradually plan (calculate) a forward route and a reverse route, and is used to plan the forward route and the reverse route The state value (s n (n represents a time index, a natural number)) in the time state area to be included includes coordinate values for position and orientation (heading angle), and selects steering angle, speed (linear velocity, angular velocity), and acceleration It may be characterized by including any one or a plurality of information.

순방향경로 계산은 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점에서 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점을 향한, 상태값(s)과 시간값을 고려한 시간상태 영역에서의 순방향경로를 계산한다. Forward path calculation calculates the forward path 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 backward path, in the time state domain considering the state value (s) and time value. .

여기서, 상기 시간값은 현재 시간부터 진행되는 앞으로의 시간을 확인할 수 있는 값으로, 타임인덱스(n) 만으로 사용할 수도 있지만, 한 스텝을 계산하는 계산주기에 타임인덱스(n)을 곱하여(계산주기 * 타임인덱스(n)) 사용할 수 있는 등 실제 진행 시간을 확인할 수 있다면 다양한 방법을 사용할 수 있음은 물론이다.Here, the time value is a value that can check the future time progressing from the current time, but can be used only with a time index (n), but by multiplying the calculation cycle for calculating one step by a time index (n) (calculation cycle * Of course, various methods can be used if the actual progress time can be checked, such as using a time index (n)).

상기 순방향경로 계산은 최초 로봇의 현재 위치에서 현재 목표 웨이포인트를 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 순방향경로의 마지막 계산 지점에서 역방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산할 수 있다. The forward path calculation may calculate the forward path in the time state region from the current position of the first robot toward the current target waypoint. Thereafter, if the forward path and the reverse path have been calculated, the forward path in the time state region from the last calculation point of the forward path to the last calculation point of the backward path can be calculated.

역방향경로 계산은 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점에서 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 역방향경로를 계산한다.The backward path calculation calculates the backward path in the time state domain from the current target waypoint or the last calculation point of the reverse path toward the current position of the robot or the last calculation point of the forward path.

상기 역방향경로 계산은 최초 현재 목표 웨이포인트에서 로봇의 현재 위치를 향한 시간상태 영역에서의 역방향경로를 계산할 수 있다. 이후 순방향경로와 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점에서 순방향경로의 마지막 계산 지점을 향한 시간상태 영역에서의 순방향경로를 계산한다. The backward path calculation may calculate a backward path in the time state region toward the current position of the robot at the initial current target waypoint. Thereafter, if the forward path and the reverse path are calculated, the forward path in the time state region from the last calculation point of the reverse path toward 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 allows the robot to pass smoothly as it passes the target waypoint, so that if the distance between the waypoints is short or the angle between the waypoints is small, the robot passes the target waypoint and moves toward the next target waypoint. This is to reduce the overrun phenomenon that the turning path becomes large.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)에서의 순방향경로 계산 및 역방향경로 계산은 The forward path calculation and the backward 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 (r (r is a natural number)) to the decomposed cost function (H r ),

미리 정해진 기준에 따라(r* 값을 설정하거나 계산에 의해 정할 수 있음) 상기 분해된 비용 함수(Hr)를 합한 값이 최소가 되도록 경로를 계산하는 근사 최적 상태 시간 함수(N)를 적용하여, By applying an approximate optimal state time function (N) to calculate a path such that the sum of the decomposed cost functions (H r ) is minimized according to a predetermined criterion (r * value can be set or calculated). ,

n(n은 자연수) 스텝에서의 주어진 상태값(sn), 목표지점에서의 상태 값(sto) 및 계산하고자 하는 스텝 수(m)를 근거로, 상태값(sn)이 주어진 지점에서 목표지점(sto)을 향해 계산하고자 하는 스텝 수(m) 만큼 진행될 스텝에서의 상태값(sn+m)을 구하는 것을 특징으로 할 수 있다.Based on the given state value (s n ) at the n (n is a natural number) step, the state value at the target point (s to ) and the number of steps to be calculated (m), at the point where the state value (s n ) is given It may be characterized in that the state value s n + m in the step to be progressed by the number of steps m to be calculated toward the target point s to may be obtained.

주어진 상태값 sn을 가진 상태값 sn+m을 계획 할 때, 상태값 sn+m에서 목표 상태값 sto에 해당되는 지점으로 이동하기 위한 이동비용을 최소화하려고 노력한다. When planning the state value s n + m with the given state value s n , we try to minimize the moving cost to move 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 backward path calculation can be defined as follows.

Figure 112019043646007-pat00020
Figure 112019043646007-pat00020

(여기서, 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, and m is the number of steps to be calculated)

비용 최소화 함수 H를 사용하게 되면, 계산에 소요되는 시간이 많아 실시간 경로계산에 적용이 어려운 문제가 있다.When the cost minimizing function H is used, there is a problem that it is difficult to apply it to real-time path calculation because it takes a lot of time for calculation.

로봇의 입력값 un은 다음과 같이 얻을 수 있다.The input u n of the robot can be obtained as follows.

Figure 112019043646007-pat00021
Figure 112019043646007-pat00021

여기서

Figure 112019043646007-pat00022
here
Figure 112019043646007-pat00022

Figure 112019043646007-pat00023
은 최소 노력에 대한 입력에 대한 주어진 이동비용 함수로, 어떤 입력 u를 이용하여 로봇의 상태를 sn에서 sn+m으로 천이시킬 때 발생하는 비용 값을 반환하는 비용 함수이다.
Figure 112019043646007-pat00023
Is a given moving cost function for the input to the minimum effort, and is a cost function that returns the cost value that occurs when the state of the robot is transitioned from s n to s n + m using some input u.

따라서,

Figure 112019043646007-pat00024
을 최소화하는 un은 최소한의 노력으로 로봇을 목표 상태값으로 변화시킬 수 있는 입력 값이 된다.therefore,
Figure 112019043646007-pat00024
U n that minimizes is the 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 condition limited to the input area of the available robot, there is always an available input.

이동 비용을 최소화 시키는 이동비용 함수가 너무 복잡하여 실시간으로 경로를 계산할 수 없는 경우, 함수 분해 기반 최적화 방법을 사용할 수 있다. If the moving cost function that minimizes the moving cost is too complex to calculate the path in real time, a function decomposition-based optimization method can be used.

함수 분해 기반 최적화 방법은 함수를 단순한 부분으로 분해 한 다음 우선 지배적인 부분을 최소화한다. H가 다음과 같이 R 부분으로 구성된다고 가정한다.The function decomposition-based optimization method first decomposes the function into simple parts and then minimizes the dominant part. Assume that H is composed of R parts as follows.

Figure 112019043646007-pat00025
Figure 112019043646007-pat00025

여기서 Hr은 우세한 순서로 배열된다. 즉, r이 작은 Hr이 더 우세하다. H1에서 HR까지 하나씩 순차적으로 최소화 할 때 사용 가능한 안전 영역은 더 작아지며, 결국 하나의 상태값이 도출될 때 까지 r 값을 증가시키면서 분해된 비용 함수(Hr)를 최소화 시킨다. Here, H r is arranged in a predominant order. That is, H r with small r is more dominant. When sequentially minimizing H 1 to H R one by one, the usable safety area becomes smaller, and in the end, the decomposed cost function (H r ) is minimized by increasing the value of r until one state value is derived.

H1에서 Hr까지의 r 부분을 최소화하는 시간상태안전영역

Figure 112019043646007-pat00026
을 다음과 같이 정의할 수 있다.Time state safety area to minimize the r part from H 1 to H r
Figure 112019043646007-pat00026
Can be defined as

Figure 112019043646007-pat00027
Figure 112019043646007-pat00027

분해되지 않은 이동비용함수로 계산되는 시간상태안전영역

Figure 112019043646007-pat00028
은 시간상태안전영역
Figure 112019043646007-pat00029
과 동일하다.Time State Safe Area Calculated by Unresolved Movement Cost Function
Figure 112019043646007-pat00028
Is the time state safety area
Figure 112019043646007-pat00029
Is the same as

하나의 상태값이 도출되는 r 값을

Figure 112019043646007-pat00030
이라 하며,
Figure 112019043646007-pat00031
을 찾을 때까지 분해된 이동비용함수를 계속 최소화 시킨다. 여기서 사용 가능한 시간상태안전영역은 다음과 같이 단일 상태로 축소된다.R value from which one state value is derived
Figure 112019043646007-pat00030
It is called
Figure 112019043646007-pat00031
Continue to minimize the decomposed moving cost function until find. The time state safety area available here is reduced to a single state as follows.

Figure 112019043646007-pat00032
Figure 112019043646007-pat00032

여기서, here,

Figure 112019043646007-pat00033
Figure 112019043646007-pat00033

함수 분해 기반 최소화로부터 얻은 시간상태값이 H를 최소화하지 않을지라도 함수의 지배적 인 부분을 최소화하기 때문에 결과는 최소에 가깝다. Although the time state value obtained from the 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 calculation is efficient.

따라서, 근사 최적 상태 시간 함수(N)를 적용하면 다음과 같이Therefore, applying the approximate optimal state time function (N),

Figure 112019043646007-pat00034
Figure 112019043646007-pat00034

(여기서, sn+m은 n+m 스텝에서의 상태값, N은 근사 최적 시간상태값 계산 함수, sn은 n 스텝에서의 주어진 상태 값, sto는 목표지점에서의 상태 값, m은 계산하고자 하는 스텝 수)(Where s n + m is the state value at n + m step, N is the approximate optimal time state value calculation function, s n is the given state value at n step, s to is state value at target point, m is Number of steps to be calculated)

으로 순방향경로 계산 및 역방향경로 계산을 할 수 있다.As a result, forward path calculation and reverse path calculation can be performed.

추가설명하면, 근사 최적 상태 시간 함수 (N)을 이용하여, sn이라는 상태값이 현재 상태인 로봇이 sto라는 상태로 천이되기 위해서, n이후 m번째 타임 인덱스에서의 최적의 상태값이 sn+m이라고 계산된다. For further explanation, using the approximate optimal state time function (N), in order for the robot having the current state s n to transition to the state s to , the optimal state value at the mth time index after n is s. It is calculated as n + m .

전방향 이동이 가능한 로봇의 예를 들면, An example of a robot that can move in all directions,

상기 근사 최적 상태 시간 함수(N)는 다음식The approximate optimal state time function (N) is

Figure 112019043646007-pat00035
Figure 112019043646007-pat00035

(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)(Where H 1 is a fast-reading independent travel cost function, H 2 is an angular-travel direction partial cost function, H 3 is a velocity magnitude partial travel cost function)

을 이용하여 계산할 수 있다.Can be calculated using.

로봇이 목표물 쪽으로 빠르게 움직이도록 유도하고 목표 지점을 효과적으로 통과하기 위해, 이동 비용 함수 H(sfrom, sto)는 세 부분으로 구성될 수 있되며, D는 사전에 정의된 임계 거리이다.To guide the robot to move quickly toward the target and effectively pass the target point, the moving cost function H (s from , s to ) can be composed of three parts, and D is a predefined critical distance.

도달 가능한 영역의 각 위치는 허용 가능한 속도 영역과 1 : 1로 매칭 되기 때문에 각 시간 상태는 속도 독립적인 이동 비용 함수 H1을 기반으로 결정된다.Each time state is determined based on the speed-independent moving cost function H 1 because each position of the reachable region is matched with an allowable velocity region 1: 1.

이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3는 현재 목표 웨이포인트의 상태를 설정하는 데 사용된다.The moving direction partial moving cost function H 2 and the velocity magnitude partial moving 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 status of the current target waypoint.

현재 목표 웨이포인트에서의 속도는 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 결정된다.The speed at the current target waypoint is determined by considering the position of the robot, the position of the target waypoint, and the position of the next waypoint.

방향은 로봇의 위치, 목표 웨이포인트의 위치까지 그리고 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치까지의 두 벡터의 평균 방향으로 결정된다.The direction is determined by the average direction of the two vectors up 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.

또한 목표 웨이포인트에서 속도의 크기는 목표 웨이포인트에서 경로의 내각에 따라 결정된다.In addition, the magnitude of the speed at the target waypoint is determined by the cabinet of the route at the target waypoint.

각도가 클수록 속도가 빨라지거나 그 반대로 된다.The larger the angle, the faster or vice versa.

로봇의 위치와 목표 웨이포인트 사이 또는 목표 웨이포인트와 그 다음의 웨이포인트 사이의 유클리드 거리가 D보다 작으면, 현재 목표 웨이포인트의 속도의 크기는 웨이포인트 근처에서 진동하지 않도록 거리에 비례하여 설정된다.If the Euclidean distance between the position of the robot and the target waypoint or between the target waypoint and the next waypoint is less than D, the magnitude of the speed of the current target waypoint is set in proportion to the distance so as not to vibrate near the waypoint. .

바퀴로 이동이 가능한 로봇의 예를 들면, 상기 근사 최적 상태 시간 함수(N)는 As an example of a robot that can be moved by wheels, the approximate optimal state time function (N) is

다음식Next

Figure 112019043646007-pat00036
Figure 112019043646007-pat00036

(여기서, H1는 속독 독립적인 이동 비용 함수, H2는 각도-이동 방향 부분 비용 함수, H3는 속도 크기 부분 이동 비용 함수)(Where H 1 is a fast-reading independent travel cost function, H 2 is an angular-travel direction partial cost function, H 3 is a velocity magnitude partial travel cost function)

을 이용하여 계산할 수 있다.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은 미리 정의된 가중치 α를 갖는 두 부분으로 구성된다.To take into account both the position close to the target position and the direction towards the target position, H 1 is composed of two parts with a predefined weight α.

이동 방향 부분 이동 비용 함수 H2 및 속도 크기 부분 이동 비용 함수 H3은 전방향 이동이 가능한 로봇의 예와 유사한 방식으로 현재 목표 웨이포인트의 선형 및 각속도를 설정하는 데 사용된다.The moving direction partial moving cost function H 2 and the velocity magnitude partial moving 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 moving in all directions.

본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 순방향경로 계산은 정적장애물 및 동적장애물과 충돌하지 않는 배위영역 상의 안전한 영역인 시간배위안전영역

Figure 112019043646007-pat00037
이 존재하면, 타임인덱스(n) 에서 로봇의 배위값(
Figure 112019043646007-pat00038
)과 타임인덱스(n) 에서 시간배위안전영역
Figure 112019043646007-pat00039
을 근거로 순방향경로를 계산하는 것을 특징으로 하며,The forward path calculation of the online two-way path planning method in a time state domain according to an embodiment of the present invention is a time coordination safety area that is a safe area on a coordination area that does not collide with a static obstacle and a dynamic obstacle.
Figure 112019043646007-pat00037
If present, the coordinates of the robot at the time index (n) (
Figure 112019043646007-pat00038
) And time index (n) in the time coordinate safety zone
Figure 112019043646007-pat00039
It is characterized by calculating the forward path on the basis of,

상기 역방향경로 계산은 안전영역이 존재하면, 타임인덱스(n)에서 로봇의 배위값(

Figure 112019043646007-pat00040
)과 시간배위안전영역
Figure 112019043646007-pat00041
을 근거로 역방향경로를 계산하는 것을 특징으로 할 수 있다.When calculating the reverse path, the coordinate value of the robot at the time index (n),
Figure 112019043646007-pat00040
) And time coordination safety area
Figure 112019043646007-pat00041
It may be characterized by calculating the reverse path based on.

벽과 같은 정적 환경 장애물과 충돌하는 배위값들의 집합을

Figure 112019043646007-pat00042
이라 하고 '환경장애물영역'(
Figure 112019043646007-pat00043
⊂ Q)이라 하면, 배위영역 Q에서 환경장애물영역
Figure 112019043646007-pat00044
을 뺀 차집합을 '여유정적배위영역'
Figure 112019043646007-pat00045
이라 할 수 있다. A set of coordination values that collide with a static environmental obstacle, such as a wall,
Figure 112019043646007-pat00042
'Environmental obstacles area' (
Figure 112019043646007-pat00043
⊂ Q), from the coordination area Q to the environmental obstacle area
Figure 112019043646007-pat00044
The difference set minus is 'Yeo-static coordination area'
Figure 112019043646007-pat00045
It can be said.

로봇은 센서 데이터를 이용한 추적 알고리즘을 기반으로 사람과 다른 로봇과 같은 각각의 동적 장애물의 경로를 예측할 수 있다. The robot can predict the path of each dynamic obstacle, such as a person and another robot, based on a tracking algorithm using sensor data.

따라서, 시간 인덱스 n에서 사람과 같은 동적 장애물과 충돌이 예상되는 배위값들의 집합을

Figure 112019043646007-pat00046
이라 하고 '동적장애물영역'(
Figure 112019043646007-pat00047
⊂ Q)이라 하면, 여유정적배위영역
Figure 112019043646007-pat00048
에서 동적장애물영역
Figure 112019043646007-pat00049
을 뺀 차집합을 '여유동적배위영역'
Figure 112019043646007-pat00050
이라 할 수 있다. Therefore, at time index n, a set of coordination values that are expected to collide with dynamic obstacles such as humans
Figure 112019043646007-pat00046
'Dynamic obstacle area' (
Figure 112019043646007-pat00047
⊂ Q), the marginal static coordination area
Figure 112019043646007-pat00048
Dynamic obstacle area
Figure 112019043646007-pat00049
The difference set minus the 'free flowing coordination area'
Figure 112019043646007-pat00050
It can be said.

즉, 타임인덱스 n 에서의 여유동적배위영역

Figure 112019043646007-pat00051
은 타임인덱스 n에서 동적장애물 및 정적장애물을 포함하는 장애물과 충돌하지 않는 로봇을 위한 안전한 영역이라 할 수 있다. In other words, the free dynamic coordination region at time index n
Figure 112019043646007-pat00051
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)를 갖는 로봇 시스템의 운동은 다음과 같이 정의할 수 있다.The motion of the robot system with the input value u n (u n ∈ U) of the robot at the time index n in the input area U of the robot can be defined as follows.

Figure 112019043646007-pat00052
Figure 112019043646007-pat00052

(여기서, f는 로봇의 운동 모델 함수)(Where f is the motion model function of the robot)

로봇의 상태영역 S와 로봇의 입력영역 U는 경계가 정해져 있기 때문에 로봇 동작은 구속되어 있으며 이를 동작 구속 이라고 한다.Since the boundary is defined between the robot's state area S and the robot's input area U, the robot motion is constrained and this is called motion constraint.

환경 검출기(센서)는 비전 센서 또는 레이저 거리 측정기(LRF) 등 같은 센서를 사용하여 센서 시스템을 기반으로 장애물을 탐지하고 추적하며 정적 장애물(환경 장애물) 및 동적 장애물(비환경 장애물)로 분류하여

Figure 112019043646007-pat00053
Figure 112019043646007-pat00054
을 얻을 수 있다.The environmental detector (sensor) uses a sensor such as a vision sensor or a laser range finder (LRF) to detect and track obstacles based on the sensor system, and classifies them into static obstacles (environmental obstacles) and dynamic obstacles (non-environmental obstacles).
Figure 112019043646007-pat00053
And
Figure 112019043646007-pat00054
Can get

웨이포인트를 부여하여 경로를 계획하는 글로벌 경로 플래너(Global path planner)는 여유정적배위영역은

Figure 112019043646007-pat00055
내부에 일련의 웨이포인트와 목표를 계획한다. The global path planner that assigns waypoints to plan a route is a free static coordination area.
Figure 112019043646007-pat00055
Plan a series of waypoints and goals inside.

매 순간 t = kT, k = 0, 1,.. . 알고리즘은 참조 입력 k를 사용하여 경로를 계획한다.Every moment t = kT, k = 0, 1, ... The algorithm uses the reference input k to plan the path.

이 입력을 통해 로봇은 웨이포인트를 순차적으로 통과하고

Figure 112019043646007-pat00056
Figure 112019043646007-pat00057
을 사용하여 충돌 없이 목표에 도달하는 경로를 계획할 수 있다.With this input, the robot passes through the waypoint sequentially,
Figure 112019043646007-pat00056
And
Figure 112019043646007-pat00057
You can use to plan the path to reach your goal without collision.

시간상태값 sn이 주어질 때, 타임인덱스 n + m에서의 도달 가능한 시간상태 영역을 정의할 수 있으며, 이때, 도달 가능한 시간배위 영역 역시 정의할 수 있다. When the time state value s n is given, the reachable time state area at the time index n + m can be defined, and at this time, the reachable time coordination area 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 can be difficult to calculate and use the time state region or time coordination region that can be reached accurately.

도달 가능한 영역을 단순화하기 위해, m 개의 타임스텝에 대해 로봇의 균일한 입력값으로 로봇을 제어할 수 있다. In order to simplify the reachable area, the robot can be controlled with a uniform input value of the robot for m time steps.

로봇의 균일한 입력값에 의해 접근 가능한 도달 가능한 시간상태 영역은 다음과 같이 정의할 수 있다.The reachable time state region accessible by the robot's uniform input can be defined as follows.

Figure 112019043646007-pat00058
Figure 112019043646007-pat00058

(여기서, g는 근사화 시킨 로봇의 운동 모델 함수)(Where, g is a motion model function of the approximated robot)

이때, 로봇의 균일한 입력값에 의해 도달 가능한 시간배위 영역을 근사한 영역은 다음과 같이 정의할 수 있다.At this time, a region approximating a time coordination region reachable by a uniform input value of the robot may be defined as follows.

Figure 112019043646007-pat00059
Figure 112019043646007-pat00059

Figure 112019043646007-pat00060
Figure 112019043646007-pat00061
은 실제 도달 가능 영역 전체를 커버하지 않지만, 실제 도달 가능 영역 전체를 계산하는 것에 비해 계산 부하가 매우 작기 때문에 실시간 경로 계획에 유용하다.
Figure 112019043646007-pat00060
and
Figure 112019043646007-pat00061
Does not cover the entire real reachable area, but is useful for real-time route planning because the computational load is very small compared to calculating the entire real reachable area.

상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간상태안전영역

Figure 112019043646007-pat00062
은 다음과 같이 정의할 수 있다.If a state value s n is given, a safe time state safe area at time index n + m
Figure 112019043646007-pat00062
Can be defined as

Figure 112019043646007-pat00063
Figure 112019043646007-pat00063

또한, 상태값 sn이 주어지면, 시간 인덱스 n + m에서 안전한 시간배위안전영역

Figure 112019043646007-pat00064
은 다음과 같이 정의할 수 있다.In addition, given the state value s n , the safe time coordination safe area at the time index n + m
Figure 112019043646007-pat00064
Can be defined as

Figure 112019043646007-pat00065
Figure 112019043646007-pat00065

Figure 112019043646007-pat00066
Figure 112019043646007-pat00067
내에서 계획되지만
Figure 112019043646007-pat00068
은 예상 충돌을 확인하고 사용 가능한 안전 영역이 있는지 확인하는 것으로 충분하다.
Figure 112019043646007-pat00066
silver
Figure 112019043646007-pat00067
Plan within, but
Figure 112019043646007-pat00068
It is sufficient to check for possible collisions and to ensure that there are safe areas available.

현재 목표 웨이포인트에서 역방향경로의 상기 시간배위안전영역

Figure 112019043646007-pat00069
계산 시,
Figure 112019043646007-pat00070
Figure 112019043646007-pat00071
로 대체된다.The time coordinated safety area of the reverse path from the current target waypoint
Figure 112019043646007-pat00069
When calculating,
Figure 112019043646007-pat00070
silver
Figure 112019043646007-pat00071
Is replaced by

이는,

Figure 112019043646007-pat00072
에 대한 실제 시간을 알 수 없기 때문에 동적 장애물의 데이터를 확인할 수 없기 때문이다.this is,
Figure 112019043646007-pat00072
This is because the data of the dynamic obstacles cannot be checked because the actual time for it is unknown.

도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 웨이포인트설정 단계(S32), 역방향경로계산 단계(S33) 및 순방향경로계산 단계(S35)를 포함할 수 있다.As shown in FIG. 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 route calculating step (S33), and a forward route calculating 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 to which the forward trajectory is headed.

상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.The waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, considering the position of the robot, the position of the target waypoint, and the position of the next waypoint, the current target way It is desirable to set the state of the robot 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 directed, and the state value (g w ) of the current target waypoint that can minimize the moving cost is set as follows. can do.

Figure 112019043646007-pat00073
Figure 112019043646007-pat00073

(여기서,

Figure 112019043646007-pat00074
는 현재 목표 웨이포인트의 상태값,
Figure 112019043646007-pat00075
Figure 112019043646007-pat00076
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw+1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure 112019043646007-pat00077
는 로봇의 현재 위치
Figure 112019043646007-pat00078
는 현재 목표 웨이포인트
Figure 112019043646007-pat00079
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)(here,
Figure 112019043646007-pat00074
Is the current target waypoint status,
Figure 112019043646007-pat00075
The
Figure 112019043646007-pat00076
While setting, the status value of the next target waypoint, G w is the status range of the current target waypoint, G w + 1 is the status range of the next target waypoint, and H (a, b) is for moving from a to b. Cost Function,
Figure 112019043646007-pat00077
Is the current position of the robot
Figure 112019043646007-pat00078
Is the current target waypoint
Figure 112019043646007-pat00079
Indicates the waypoint following the current target waypoint.)

역방향경로계산 단계(S33)는 역방향경로를 계산한다.In the reverse path calculation step S33, the reverse path is calculated.

상기 역방향경로계산 단계(S33)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다. The reverse path calculation step (S33) plans a path from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the backward 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 statement of FIG. 8 means the maximum value of the time step for the reverse path planning, and the variable b means the time step of the reverse path planning (increased by 1 when iterative calculation), but the variable and the conditions for the variable are arbitrarily set. Of course, it can be used in a variety of ways. (The same applies to the variables in FIGS. 9 to 10)

순방향경로계산 단계(S50)는 순방향경로를 계산한다.The forward path calculation step S50 calculates the forward path.

상기 순방향경로계산 단계(S50)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다. In the forward path calculation step (S50), a route is planned from the current position of the current robot to the target waypoint. At this time, if the reverse path has been calculated, the forward path toward the last calculation point of the reverse path can be calculated.

도 8의 조건문에 표기된 변수 F는 순방향경로 계획을 위한 타임스텝의 최대값, 변수 f는 역방향경로 계획의 타임스텝(반복 계산 시 1 씩 증가), k는 현재 타임스텝을 의미하나, 변수와 이에 대한 조건은 임의로 설정하여 다양한 방법으로 사용 가능함은 물론이다.(도 9 내지 도 10의 변수도 에도 동일하게 적용)The variable F indicated in the conditional statement 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 planning (incremented by 1 when iterating), and k means the current time step, but the variable and the Of course, it can be used in various ways by arbitrarily setting conditions. (The same applies to the variables in 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 performing the reverse path calculation step (S33) first passes the path so that the target waypoint passes smoothly. It can be formed, it is preferable to perform the reverse path calculation step (S33) first.

상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)는 교번되게 반복 수행할 수도 있으며, 상기 역방향경로계산 단계(S33) 또는 상기 순방향경로계산 단계(S35)를 먼저 일정 회수 반복 수행한 후 상기 순방향경로계산 단계(S35) 또는 상기 역방향경로계산 단계(S33)를 나중에 반복 수행할 수도 있는 등 다양한 방법으로 상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)를 반복 수행할 수 있다.The reverse path calculation step (S33) and the forward path calculation step (S35) may be alternately repeated, and the reverse path calculation step (S33) or the forward path calculation step (S35) is first repeatedly performed a certain number of times. The reverse path calculation step (S33) and the forward path calculation step (S35) may be repeatedly performed in various ways, such as the forward path calculation step (S35) or the reverse path calculation step (S33) may be repeated later. .

결론적으로, 상기 역방향경로계산 단계(S33)와 순방향경로계산 단계(S35)는 역방향경로와 순방향경로가 연결되어야 현재 위치에서 현재 목표 웨이포인트 까지의 양방향경로계획이 완료된다.In conclusion, in the reverse path calculation step (S33) and the forward path calculation step (S35), the bidirectional path planning from the current location to the current target waypoint is completed only when the reverse path and the forward path are connected.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 상기 순방향경로와 상기 역방향경로를 연결하는 연결경로 계산하고, 순방향경로와 역방향경로를 점진적으로 계획하는 양방향경로를 계획하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention calculates a connection route connecting the forward route and the reverse route, and gradually calculates a forward route and a reverse route. It can be characterized by planning.

양방향경로를 지속적으로 계획하면 순방향경로와 역방향경로가 만날 수 있지만 속도가 다를 수 있다. If you plan the bi-directional path continuously, the forward path and the reverse path may meet, but the speed may be different.

따라서, 상기 순방향경로와 역방향경로의 속도 차이를 극복하기 위해 상기 연결경로에 의해 이어지도록 하는 것이 바람직하다. Therefore, in order to overcome the speed difference 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 calculated 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 calculated point of the reverse path. It is desirable to calculate the connection path.

이때, 계산을 간소화시키기 위해, 순방향경로의 마지막 계산된 상태값 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 status value s f of the forward path and the last calculated status value s -b of the reverse path, is the same as the following equation by making the robot input values the same. It can be characterized by doing.

Figure 112019043646007-pat00080
Figure 112019043646007-pat00080

(여기서, 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 b robot by c time steps at the point corresponding to the a state value.)

연결경로의 계산에 이용되는 최대 시간간격을 C라고 할 때, When the maximum time interval used for calculating the connection path is C,

(c1 + ... + cN) ≤ C 이다. (c 1 + ... + c N ) ≤ C.

도 9 내지 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 웨이포인트설정 단계(S32), 역방향경로계산 단계(S33), 연결경로확인 단계(S34) 및 순방향경로계산 단계(S35)를 포함할 수 있다.9 to 10, the route planning step (S30) of the real-time waypoint route improving method according to an embodiment of the present invention includes a waypoint setting step (S32), a reverse path calculation step (S33), and connection It may include a path verification 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 to which the forward trajectory is headed.

상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정하는 것으로, 로봇의 위치, 목표 웨이포인트의 위치 및 그 다음의 웨이포인트의 위치를 고려하여 현재 목표 웨이포인트를 로봇이 지날 때의 로봇의 상태를 설정 하는 것이 바람직하다.The waypoint setting step (S32) is to set the state of the robot when the robot passes the current target waypoint, considering the position of the robot, the position of the target waypoint, and the position of the next waypoint, the current target way It is desirable to set the state of the robot when the robot passes the point.

따라서, 상기 웨이포인트설정 단계(S32)는 현재 목표 웨이포인트는 순방향경로가 향하는 웨이포인트로 다음 식Therefore, the waypoint setting step (S32), the current target waypoint is the waypoint to which the forward path is directed.

Figure 112019043646007-pat00081
Figure 112019043646007-pat00081

(여기서,

Figure 112019043646007-pat00082
는 현재 목표 웨이포인트의 상태값,
Figure 112019043646007-pat00083
Figure 112019043646007-pat00084
를 세팅하는 동안 다음 목표 웨이포인트의 상태값, Gw는 현재 목표 웨이포인트의 상태 범위, Gw+1는 다음 목표 웨이포인트의 상태 범위, H(a, b)는 a에서 b까지 이동에 대한 비용함수,
Figure 112019043646007-pat00085
는 로봇의 현재 위치
Figure 112019043646007-pat00086
는 현재 목표 웨이포인트
Figure 112019043646007-pat00087
는 현재 목표 웨이포인트 다음 웨이포인트를 나타낸다.)(here,
Figure 112019043646007-pat00082
Is the current target waypoint status,
Figure 112019043646007-pat00083
The
Figure 112019043646007-pat00084
While setting, the status value of the next target waypoint, G w is the status range of the current target waypoint, G w + 1 is the status range of the next target waypoint, and H (a, b) is for moving from a to b. Cost Function,
Figure 112019043646007-pat00085
Is the current position of the robot
Figure 112019043646007-pat00086
Is the current target waypoint
Figure 112019043646007-pat00087
Indicates the waypoint following the current target waypoint.)

과 같이 이동비용을 최소화 시킬 수 있는 현재 목표 웨이포인트의 상태값(gw)이 설정되는 것을 특징으로 할 수 있다.As described above, a state value g w of a current target waypoint capable of minimizing moving costs may be set.

역방향경로계산 단계(S33)는 역방향경로를 계산한다.In the reverse path calculation step S33, the reverse path is calculated.

상기 역방향경로계산 단계(S33)는 현재 목표 웨이포인트에서 로봇의 현재위치를 향해 경로를 계획한다. 이때, 순방향경로가 계산되었다면 순방향경로의 마지막 계산 지점을 향한 역방향경로를 계산할 수 있다. The reverse path calculation step (S33) plans a path from the current target waypoint toward the current position of the robot. At this time, if the forward path is calculated, the backward 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 it may be calculated in a predetermined step unit.

연결경로확인 단계(S34)는 로봇의 현재 위치 또는 순방향경로의 마지막 계산 지점과 현재 목표 웨이포인트 또는 역방향경로의 마지막 계산 지점이 연결되는 연결경로가 존재하는지 확인한다.In the connection path checking step S34, it is checked whether there is a connection path that connects the robot's current position or the last calculation point of the forward path and the current target waypoint or the last calculation point of the reverse path.

상기 연결경로확인 단계(S34)는 역방향경로가 한 스텝 계산될 때 마다 수행할 수도 있고, 역방향경로가 정해진 스텝 수 만큼 계산될 때 마다 수행하는 것도 가능하다.The connection path checking step S34 may be performed whenever the reverse path is calculated by one step, or may be performed whenever 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 checking step (S34), it is repeatedly performed a predetermined number of times from the reverse path calculation step (S33) to the connection path checking step (S34), and the connection path checking step (S34) is performed. If a connection path exists, it may be characterized in that the process returns to the waypoint setting step (S32).

즉, 역방향경로를 한 스텝 계산할 때마다 연결경로가 존재하는지 확인하고, 연결경로가 존재하지 않는다면 미리 정해진 회수만큼 역방향경로를 먼저 계산한다.That is, every time the backward path is calculated by one step, it is checked whether a connection path exists, and if there is no connection path, the backward path is first calculated a predetermined number of times.

순방향경로보다 역방향경로를 먼저 계획하는 것은 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하여, 웨이포인트 간의 간격이 짧거나 웨이포인트 간의 각도가 작을 경우 로봇이 목표 웨이포인트를 지나간 뒤 다음 목표 웨이포인트를 향해 선회하는 경로가 커지게 되는 오버런 현상을 줄이기 위함이다.Planning the reverse path ahead of the forward path allows the robot to pass smoothly as it passes the target waypoint, so if the distance between the waypoints is short or the angle between the waypoints is small, the robot passes the target waypoint and then the next target way This is to reduce the overrun phenomenon that the path turning toward the point becomes larger.

또한, 역방향경로를 미리 정해진 회수만큼 먼저 계산하는 것 역시, 로봇이 목표 웨이포인트를 지날 때, 보다 부드럽게 지나가도록 하기 위함이다.In addition, the calculation of the reverse path first as a predetermined number of times is also to make the robot pass smoothly when passing the target waypoint.

이때, 상기 역방향경로계산 단계(S33)부터 연결경로확인 단계(S34)까지 정해진 회수만큼 반복 수행되었다면, 연결경로가 존재하지 않더라도 다음 단계로 넘어가는 것을 특징으로 할 수 있다.At this time, if it has been repeatedly performed a predetermined number of times from the reverse path calculation step (S33) to the connection path confirmation step (S34), it may be characterized in that the process proceeds to the next step even if the connection path does not exist.

순방향경로계산 단계(S35)는 상기 연결경로확인 단계(S34)에서 연결경로가 존재하지 않으면, 순방향경로를 계산한다.In the forward path calculation step (S35), if no connection path exists in the connection path confirmation step (S34), the forward path is calculated.

상기 순방향경로계산 단계(S35)는 현재 로봇의 현재위치에서 목표 웨이포인트를 향해 경로를 계획한다. 이때, 역방향경로가 계산되었다면 역방향경로의 마지막 계산 지점을 향한 순방향경로를 계산할 수 있다. The forward path calculation step (S35) plans a path from the current position of the current robot to the target waypoint. At this time, if the reverse path has been calculated, the forward path toward the last calculation point of the reverse path can be calculated.

상기 순방향경로계산 단계(S35)는 순방향경로를 한 스텝씩 계산할 수도 있고, 정해진 스텝 단위로 계산하는 것도 가능하다.In the forward path calculation step (S35), the forward path may be calculated step by step, or it may be calculated in a predetermined step unit.

본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법의 상기 연결경로확인 단계(S34)는 연결경로가 존재하면, 연결경로 및 역방향경로에 대한 순방향 타임인덱스를 설정하고, 연결경로 및 역방향경로에서 필연적충돌상태가 발생하는지 확인한 후, 필연적충돌상태가 발생되지 않으면 순방향경로의 시간 변수, 역방향경로의 시간 변수 및 다음 웨이포인트를 통과하는 순방향경로의 시간 변수를 계산하여 변경하는 것을 특징으로 할 수 있다.The connection path checking step (S34) of the online two-way path planning method in the time state region according to an embodiment of the present invention sets a forward time index for the connection path and the reverse path if the connection path exists, and the connection path And after confirming that the inevitable collision state occurs in the reverse path, calculate and change the time variable of the forward path, the time variable of the reverse path, and the time variable of the forward path through the next waypoint if the inevitable collision condition does not occur. Can be done with

순방향경로에 적용되는 순방향 타임인덱스는 절대시간(로봇 기준의 시간)을 알 수 있다. 따라서, 동적 장애물의 충돌을 예측할 수 있다.The forward time index applied to the forward path can know the absolute time (time based on the robot). Therefore, it is possible to predict the collision of dynamic obstacles.

하지만, 역방향경로에 적용되는 역방향 타임인덱스와 연결경로에 적용되는 타임인덱스는 절대시간을 알 수 없기 때문에 동적 장애물의 충돌을 예측할 수 없다.However, the reverse time index applied to the reverse path and the time index applied to the connection path cannot predict the collision of the dynamic obstacle because the absolute time is unknown.

따라서, 순방향경로와 연결경로 및 역방향경로가 연결된다면, 동적 장애물의 충돌을 확인하기 위해, 연결경로 및 역방향경로에 사용되었던 타임인덱스를 순방향경로에 적용되는 순방향 타임인덱스로 바꾸어 주어야 하며, 이로 인해 연결경로와 역방향경로의 절대시간을 알 수 있고, 역방향경로 및 연결경로에서 예측 된 충돌이 있는지 확인할 수 있다.Therefore, if the forward path and the connection path and the reverse path are connected, in order to check the collision of the dynamic obstacle, the time index used in the connection path and the reverse path must be replaced with the forward time index applied to the forward path, thereby connecting You can know the absolute time of the path and the reverse path, and check if there is a predicted collision in the reverse path and the connection path.

역방향경로 및 연결경로에서 예측 충돌이 없다면 현재 로봇의 위치에서 현재 목표 웨이포인트 까지의 양방향경로는 완성된다.If there is no predictive 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 to control the robot according to the route planned in the path planning step (S30).

로봇제어 단계(S40)는 상기 역방향경로계산 단계(S33) 및 상기 순방향경로계산 단계(S35)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산할 수 있다.(도 8 참조)In the robot control step (S40), if 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 according to the bidirectional path may be calculated. Reference)

또는 상기 순방향경로계산 단계(S35)가 정해진 회수만큼 반복 수행되면, 상기 양방향경로에 따라 로봇을 제어하는 명령을 계산할 수 있다.(도 9 참조)Alternatively, if 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 bi-directional path is not planned until the calculation of the new bi-directional path is completed 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 112019043646007-pat00088
Figure 112019043646007-pat00088

(여기서,

Figure 112019043646007-pat00089
는 k시간에서의 로봇의 입력값,
Figure 112019043646007-pat00090
는 k 번째 스텝에서 1 스텝 진행 가능한 로봇의 입력영역에 포함되는 로봇의 입력값,
Figure 112019043646007-pat00091
는 로봇의 입력값에 대한 최소 비용 함수,
Figure 112019043646007-pat00092
는 k시간에서의 로봇의 상태값,
Figure 112019043646007-pat00093
는 k+1 시간에서의 로봇의 상태값을 나타낸다.)(here,
Figure 112019043646007-pat00089
Is the input of the robot at k hours,
Figure 112019043646007-pat00090
Is the input value of the robot included in the input area of the robot that can proceed from step k to the first step,
Figure 112019043646007-pat00091
Is the minimum cost function for the input value of the robot,
Figure 112019043646007-pat00092
Is the state value of the robot at k hours,
Figure 112019043646007-pat00093
Indicates the state value of the robot at k + 1 hours.)

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 이동체의 현재 위치로부터 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트에서 상기 로컬골로부터 가장 가까운 장애물 까지의 영역인 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention is an obstacle closest to the local goal in a waypoint pass segment connecting the local goal and the previous waypoint from the current position of the moving object It can be characterized by planning a path to the local goal accessible pass segment, which is the area up to.

상기 로컬골엑세서블패스세그먼트는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물과 충돌 없이 로컬골로 바로 접근할 수 있는 영역을 의미하는 것으로, 도 6의 좌측 그림과 같이 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 상에 장애물이 없는 경우는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 전체가 로컬골엑세서블패스세그먼트(화살표가 가리키는 보라색 선분)가 되고,The local goal accessible pass segment refers to an area of the waypoint pass segment that connects the local goal and the previous waypoint, which can be directly accessed to the local goal without obstacles and collisions, as shown in the left figure of FIG. If there is no obstacle on the waypoint pass segment that connected the previous waypoint, the local goal and the whole waypoint pass segment that connected the previous waypoint become the local goal accessible pass segment (the purple segment indicated by the arrow),

도 6의 우측 그림과 같이 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 상에 장애물이 있는 경우는 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 장애물 이후 장애물과 충돌이 없는 지점부터 로컬골 까지의 영역이 로컬골엑세서블패스세그먼트(화살표가 가리키는 보라색 선분)가 된다.As shown in the right figure of FIG. 6, when there is an obstacle on the waypoint pass segment connecting the local goal and the previous waypoint, there is no collision with the obstacle after the obstacle among the waypoint pass segment connecting the local goal and the previous waypoint. The area from the point to the local goal becomes the local goal accessible pass segment (the purple segment indicated by the arrow).

즉, 로컬언노운포지션스페이스 상에서 가장 안전한 곳은 웨이포인트패스세그먼트 이기 때문에, 웨이포인트패스 상에서 로컬골까지 바로 안전하게 접근할 수 있는 영역을 로컬골엑세서블패스세그먼트로 정한다.That is, since the safest place on the local unknown position space is the waypoint pass segment, the area that can safely access the local goal directly on the waypoint pass is defined 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 a route is planned by planning an accessible waypoint, which is a temporary waypoint entering a local goal accessible pass segment. can do.

다시 말해, 웨이포인트패스와 로컬언노운포지션스페이스의 교집합 상에 로컬골(WM)을 결정하고, 로컬골(WM)로 진입하기 전의 임시 웨이포인트인 엑세서블웨이포인트(Wm, m은 자연수)는 로컬골엑세서블패스세그먼트 상에 결정하는 것이 좋다.In other words, on the intersection of the waypoint pass and the local unknown position space, the local goal (W M ) is determined, and the accessible waypoint (W m , m) is the temporary waypoint before entering the local goal (W M ). Natural number) should be decided on the local goal accessible pass segment.

이는 충돌을 회피함과 동시에 최적의 경로를 찾기 위함이다.This is to avoid collision and to find the optimal route.

즉, 웨이포인트패스를 따라 로봇이 이동하는 것은 안전성은 보장되지만 경로 손실이 있을 수 있어, 보다 경로를 단축하기 위해, 로컬골엑세서블패스세그먼트 상에 결정된 엑세서블웨이포인트를 향하여 경로를 계획하는 것이다. That is, the movement of the robot along the waypoint path is guaranteed safety, but there may be a path loss, and in order to shorten the path further, the path is planned for the accessible waypoint determined on the local goal accessible path segment. will be.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(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 an intersection of the local visible position space and the local goal accessible pass segment, the local visual position space and the local goal accessible pass The point of minimizing a specific cost function within an intersection with a segment may be determined as an accessible waypoint.

상기 특정 비용함수는 시간, 거리, 속도, 가속도, 소모에너지 등을 고려하여 계산되는 비용함수를 말한다. The specific cost function refers to a cost function calculated in consideration of time, distance, speed, acceleration, and energy consumption.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(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 an intersection of the local visible position space and the local goal accessible pass segment, the local visual position space and the local goal accessible pass In the intersection with the segment, it may be characterized by determining the point at which the movement distance from the robot to the local goal is the shortest as an accessible waypoint.

도 7에서 살펴보면 좌측 그림에서는 화살표로 표시된 W1가 엑세서블웨이포인트가 될 수 있다.Referring to FIG. 7, in the picture on the left, 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 pass segment, you can find a safe route by determining only one waypoint. Therefore, in order to take an accessible way point so that it is as safe and short as possible, the area 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 desirable to decide by waypoints.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우, 로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬비저블포지션스페이스 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention, when there is no intersection between the local visible position space and the local goal accessible pass segment, includes an obstacle on the route between the local waypoints. To avoid collisions, a local waypoint, which is a temporary waypoint, is planned toward a direction in which there is no obstacle on the localvisible position space, and an accessible waypoint is planned at a point after passing the obstacle on the localvisible position space, so that the local way It can be characterized by planning a route through points and accessible waypoints.

도 7에서 살펴보면 우측 그림에서는 화살표로 표시된 W1가 로컬웨이포인트가 되고, W2가 엑세서블웨이포인트가 될 수 있다.Referring to FIG. 7, in the picture 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, the path is determined by determining a local waypoint in the direction toward the local visible position space and an accessible waypoint on the local goal accessible pass segment. Can plan.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(S30)는 로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우, 로컬웨이포인트와 엑세서블웨이포인트의 코스트(거리 등)가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 할 수 있다.The route planning step (S30) of the real-time waypoint route improvement method according to an embodiment of the present invention includes a local waypoint and an accessible waypoint when there is no intersection between the local visible position space and the local goal accessible pass segment. It can be characterized by setting the local way point and the accessible way point with the smallest cost (distance, etc.).

이때, 가장 안전한 영역은 로컬비저블포지션스페이스가 되고, 그 다음으로 안전한 영역은 로컬골엑세서블패스세그먼트가 되며, 그 다음으로 안전한 영역은 로컬언노운포지션스페이스가 된다.At this time, the safest area is the local non-visible position space, the next safe area is the local goal accessible pass segment, and the next safe area is the local unknown position space.

코스트로 고려할 대상이 거리라고 가정하면, 로컬비저블포지션스페이스 영역 내에서 이동하는 거리와 로컬골엑세서블패스세그먼트 영역 내에서 이동하는 거리가 크게 하면서, 로컬웨이포인트와 엑세서블웨이포인트를 지나는 거리가 최소가 되도록 하는 것이 바람직하다.Assuming that the target to be considered as a distance is a distance, the distance traveled within the local non-visible position space area and the distance traveled within the local goal access pass segment area is increased, and the distance passing the local way point and the accessible way point is increased. It is desirable to keep it to a minimum.

도 11은 로봇의 이동에 따라 실시간으로 경로를 계산하는 예를 보여주는 것으로, 좌측 그림에서 시간이 지날수록 우측과 같이 경로가 변화됨을 보여준다.11 shows an example of calculating a path in real time according to the movement of the robot, and shows that the path changes as shown in the right side as time passes in the figure on the left.

도 11의 노란색 반경은 로봇의 이동에 따른 센싱범위를 보여준다.The yellow radius of FIG. 11 shows the sensing range according to the movement of the robot.

따라서, 센싱데이터의 업데이트 및 경로 계산 주기를 짧게 하면 도 12의 녹색 점선과 같이, 장애물에 근접하며 장애물을 피해 주행하는 것을 확인할 수 있다.Therefore, if the updating period of the sensing data and the path calculation period are shortened, it can be seen that the vehicle is approaching an obstacle and avoiding the obstacle, as shown in the green dotted line in FIG. 12.

도 12의 검정색 점선은 웨이포인트패스를 보여준다.The black dotted line in FIG. 12 shows the waypoint pass.

이때, 보다 도전 적으로 경로를 계획하기 위하여, 로컬비저블포지션스페이스 상에서 확인 가능한 마지막 웨이포인트패스세그먼트의 다음 웨이포인트를 로컬골로 결정하는 경우, At this time, in order to plan the path more challengingly, in the case of determining the next waypoint of the last waypoint pass segment that can be checked on the local visible position space as the local goal,

도 13과 같이 문이 열리고 닫히는 곳에서의 시뮬레이션 결과, 문을 돌아가는 경로를 계획하더라도, 문이 열렸을 때는 문을 통과하여 진행하는 더욱 짧은 경로로 진행할 수 있음을 확인했다.As shown in FIG. 13, as a result of the simulation in the place where the door is opened and closed, it was confirmed that even if a path for returning the door is planned, it can proceed with a shorter path through the door when the door is opened.

돌아가는 경로를 계획하더라도, 센싱데이터의 업데이트 및 경로 계산을 추가로 하지 않으면, 도 14의 상부 좌측 두 개의 그림과 같이 빠른 길이 있어도 돌아감을 확인했으며, Even if the return route is planned, if the updating of the sensing data and the calculation of the route are not added, it is confirmed that even if there is a fast road, as shown in the upper left two figures of FIG.

센싱데이터의 업데이트 및 경로 계산 주기를 15초로 하였을 때는, 도 14의 상부 우측 두 개의 그림과 같이 이전보다 경로가 짧아지는 것을 확인할 수 있었고,When the updating period of the sensing data and the path calculation period were set to 15 seconds, it was confirmed that the path was shorter than before, as shown in the two upper right figures in FIG. 14.

센싱데이터의 업데이트 및 경로 계산 주기를 7.5초로 하였을 때는, 도 14의 하부 좌측 두 개의 그림과 같이 15초를 주기로 하던 때 보다 경로가 짧아지는 것을 확인할 수 있었으며,When the updating period of the sensing data and the path calculation period were 7.5 seconds, it was confirmed that the path was shorter than when the period was 15 seconds as shown in the two lower left corners of FIG. 14,

센싱데이터의 업데이트 및 경로 계산 주기를 0.5초로 하였을 때는, 도 14의 하부 우측 그림과 같이, 계획된 경로가 아니지만 경로를 단축시킬 수 있는 빠른 길로 진행함을 확인했다.When the update period of the sensing data and the path calculation period were 0.5 seconds, it was confirmed that the path is not a planned path but a fast path that can be shortened as shown in the lower right figure of FIG. 14.

도 14에 표시된 파란 점 들은 로봇의 이동 경로를 나타낸 것이다. The blue dots shown in Fig. 14 indicate the movement path of the robot.

도 15는 본 발명이 적용되지 않은 일반적인 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 것이고, 도 16은 본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법이 적용된 경로계획에 따른 자율주행 시뮬레이션 결과를 보여주는 것이다.15 shows the results of autonomous driving simulation according to a general route plan to which the present invention is not applied, and FIG. 16 shows the results of autonomous driving simulation according to a route plan to which a real-time waypoint route improvement method according to an embodiment of the present invention is applied It is showing.

본 발명의 일 실시예에 따른 실시간 웨이포인트 경로 개선 방법의 경로계획 단계(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 goal accessible path segment, the angle formed with the current direction of the robot is minimal. It may be characterized by setting a local waypoint to be.

이는, 로봇의 방향 전환을 최소로 하기 위함이며, 로봇이 방향전환을 크게 할수록 돌아가는 경로가 될 수 있기 때문이다.This is because the direction change of the robot is minimized, and the larger the direction change is made by the robot, the more it can become a returning path.

상기에서, 코스트로 고려될 수 있는 항목으로 거리와 각도를 예로 설명하였으나, 본 발명이 이에 한정된 것은 아니며, 로봇의 속도, 시간 등을 고려하여 코스트가 최소가 되는 경로가 되도록 로컬웨이포인트를 설정하는 것도 가능하고, 이들 중 여러 가지 항목을 고려하여 코스트가 최소가 되는 경로가 되도록 로컬웨이포인트를 설정하는 것도 가능한 등 다양한 실시가 가능함은 물론이다.In the above, the distance and angle are described as examples of items that can be considered as cost, but the present invention is not limited to this, and the local waypoint is set so that the cost is the minimum route in consideration of the speed and time of the robot. Of course, various implementations are possible, such as setting a local waypoint so that the cost is the minimum route in consideration of various items.

이상에서 본 발명의 일 실시예에 따른 시간상태 영역에서의 온라인 양방향 경로 계획 방법에 대하여 설명하였지만, 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체 및 시간상태 영역에서의 온라인 양방향 경로 계획 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램 역시 구현 가능함은 물론이다.In the above, the online bidirectional route planning method in the time state domain according to an embodiment of the present invention has been described, but the computer readable recording medium and time state in which a program for implementing the online bidirectional route planning method in the time state domain is stored. Needless to say, programs stored in a computer-readable recording medium for implementing the online two-way path planning method in the area can be implemented.

즉, 상술한 시간상태 영역에서의 온라인 양방향 경로 계획 방법은 이를 구현하기 위한 명령어들의 프로그램이 유형적으로 구현됨으로써, 컴퓨터를 통해 판독될 수 있는 기록매체에 포함되어 제공될 수도 있음을 당업자들이 쉽게 이해할 수 있을 것이다. 다시 말해, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어, 컴퓨터 판독 가능한 기록매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 상기 컴퓨터 판독 가능한 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리, USB 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.That is, those skilled in the art can easily understand that the above-described online bidirectional path planning method in the time state domain may be provided by being included in a computer-readable recording medium by tangibly implementing a program of instructions for realizing it. There will be. In other words, implemented in the form of program instructions that can be executed through various computer means, it can be recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and available 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 media such as CD-ROMs, DVDs, and floptical disks. Included are hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, USB memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. 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 the scope of application is various, of course, and various modifications can be implemented without departing from the gist of the present invention as claimed in the claims.

S10: 웨이포인트패스결정 단계
S20: 로컬골결정 단계
S30: 경로계획 단계
S32: 웨이포인트설정 단계 S33: 역방향경로계산 단계
S34: 연결경로확인 단계 S35: 순방향경로계산 단계
S40: 로봇제어 단계
S10: Waypoint pass decision step
S20: Local goal determination step
S30: Route planning phase
S32: Waypoint setting step S33: Reverse path calculation step
S34: Connection path check step S35: Forward path calculation step
S40: robot control step

Claims (10)

컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 실시간 웨이포인트 경로 개선 방법에 있어서,
연산처리수단이 웨이포인트와 웨이포인트를 연결한 경로인 웨이포인트패스세그먼트들 중 목표지점까지 최적 경로를 형성하는 웨이포인트패스세그먼트 들의 집합인 웨이포인트패스를 결정하는 웨이포인트패스결정 단계(S10);
연산처리수단이 로봇의 센서로 감지된 로봇의 이동 가능한 영역 중 상기 로봇으로부터 직진으로 이동을 했을 때 장애물과 충돌이 없는 영역의 집합인 로컬비저블포지션스페이스 영역에 포함된 상기 웨이포인트패스결정 단계(S10)에서 결정된 웨이포인트패스 중, 상기 로컬비저블포지션스페이스에 포함된 마지막 웨이포인트의 다음 웨이포인트 또는 상기 로컬비저블포지션스페이스에 포함된 마지막 웨이포인트패스세그먼트의 다음 웨이포인트를 목표 웨이포인트인 로컬골로 결정하여, 상기 로컬비저블포지션스페이스 영역 외부에 로컬골을 결정하는 로컬골결정 단계(S20);
연산처리수단이 상기 로봇으로부터 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트로 진입하는 경로를 계획하거나, 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 상에 장애물이 있는 경우 상기 로컬골과 그 이전 웨이포인트를 연결한 웨이포인트패스세그먼트 중 상기 로컬골로부터 가장 가까운 장애물 까지의 영역인 로컬골엑세서블패스세그먼트로 진입하는 경로를 계획하는 경로계획 단계(S30); 및
상기 경로계획 단계(S30)에서 계획된 경로에 따라 상기 로봇을 제어하는 명령을 계산하여 상기 로봇의 이동을 제어하는 로봇제어 단계(S40);
를 포함하는 실시간 웨이포인트 경로 개선 방법.
In the real-time waypoint path improvement method consisting of a program executed by a calculation processing means including a computer,
A waypoint path determining step (S10) in which the calculation processing means determines a waypoint path that is a set of waypoint path segments forming an optimal path to a target point among waypoint path segments that are a path connecting the waypoint and the waypoint (S10);
The waypoint pass determination step included in the local non-visible position space area, which is a set of areas that do not collide with obstacles when the calculation processing means moves straight from the robot among the movable areas of the robot detected by the sensor of the robot (S10) Among the waypoint passes determined in), the next waypoint of the last waypoint included in the local nonvisible position space or the next waypoint of the last waypoint pass segment included in the local nonvisible position space is determined as a local goal that is the target waypoint , Local goal determination step (S20) of determining a local goal outside the local non-visible position space area;
When the calculation processing means plans a path from the robot to a waypoint pass segment connecting the local goal and the previous waypoint, or when there is an obstacle on the waypoint pass segment connecting the local goal and the previous waypoint. A path planning step of planning a path to a local goal accessible pass segment, which is an area from the local goal to the closest obstacle among the way point pass segments connecting the local goal and the previous way point (S30); 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);
Real-time waypoint path improvement method comprising a.
삭제delete 제1항에 있어서,
상기 경로계획 단계(S30)는
상기 로컬골엑세서블패스세그먼트로 진입하는 임시 웨이포인트인 엑세서블웨이포인트를 계획하여 경로를 계획하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.
According to claim 1,
The route planning step (S30)
A method for improving a real-time waypoint path, comprising planning a route by planning an accessible waypoint, which is a temporary waypoint entering the local goal accessible pass segment.
제3항에 있어서,
상기 경로계획 단계(S30)는
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우,
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 특정 비용함수를 최소화 시키는 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.
According to claim 3,
The route planning step (S30)
If there is an intersection between the local visible position space and the local goal accessible pass segment,
A method for improving a real-time waypoint path, characterized in that a point that minimizes a specific cost function is determined as an accessible waypoint within the intersection of the local invisible position space and the local goal accessible pass segment.
제3항에 있어서,
상기 경로계획 단계(S30)는
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 있는 경우,
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합 내에서 로봇으로부터 로컬골까지의 이동 거리가 가장 짧은 지점을 엑세서블웨이포인트로 결정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.

According to claim 3,
The route planning step (S30)
If there is an intersection between the local visible position space and the local goal accessible pass segment,
A method for improving a real-time waypoint path, characterized in that a point where the distance from the robot to the local goal is the shortest is determined as an accessible waypoint within the intersection of the local invisible position space and the local goal accessible pass segment.

제3항에 있어서,
상기 경로계획 단계(S30)는
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,
로컬웨이포인트 간의 경로 상에 장애물과의 충돌이 없도록, 로컬비저블포지션스페이스 상의 장애물이 없는 진행 방향 측으로 임시 웨이포인트인 로컬웨이포인트를 계획하고, 로컬비저블포지션스페이스 상의 장애물을 지난 이후의 지점에 엑세서블웨이포인트를 계획하여, 상기 로컬웨이포인트와 엑세서블웨이포인트를 지나는 경로를 계획하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.
According to claim 3,
The route planning step (S30)
If there is no intersection between the local visible position space and the local goal accessible pass segment,
To avoid collision with obstacles on the path between local waypoints, plan a local waypoint, which is a temporary waypoint, toward the direction in which there is no obstacle on the local visible position space, and access to a point after passing the obstacle on the local visible position space A method of improving a real-time waypoint path, comprising planning a waypoint and planning a route through the local waypoint and the accessible waypoint.
제6항에 있어서,
상기 경로계획 단계(S30)는
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,
로컬웨이포인트와 엑세서블웨이포인트의 코스트가 가장 작게 로컬웨이포인트와 엑세서블웨이포인트를 설정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.
The method of claim 6,
The route planning step (S30)
If there is no intersection between the local visible position space and the local goal accessible pass segment,
A method for improving a real-time waypoint path, characterized in that a local waypoint and an accessible waypoint are set to have the smallest cost.
제6항에 있어서,
상기 경로계획 단계(S30)는
로컬비저블포지션스페이스와 로컬골엑세서블패스세그먼트와의 교집합이 없는 경우,
현재 로봇의 진행방향과 이루는 각도가 최소가 되는 로컬웨이포인트를 설정하는 것을 특징으로 하는 실시간 웨이포인트 경로 개선 방법.
The method of claim 6,
The route planning step (S30)
If there is no intersection between the local visible position space and the local goal accessible pass segment,
A method for improving a real-time waypoint path, characterized by setting a local waypoint that minimizes an angle formed with a current robot's traveling direction.
제 1항 및 제3항 내지 제 8항 중 선택되는 어느 한 항에 기재된 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium storing a program for implementing the real-time waypoint path improvement method according to any one of claims 1 and 3 to 8.
제 1항 및 제3항 내지 제 8항 중 선택되는 어느 한 항에 기재된 실시간 웨이포인트 경로 개선 방법을 구현하기 위한 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.A program stored in a computer-readable recording medium for implementing the real-time waypoint path improvement method according to any one of claims 1 and 3 to 8.
KR1020190049486A 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 KR102097715B1 (en)

Priority Applications (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
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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
KR102097715B1 true KR102097715B1 (en) 2020-04-06

Family

ID=70281858

Family Applications (1)

Application Number Title Priority Date Filing Date
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

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
CN111580563A (en) * 2020-06-09 2020-08-25 中国电子科技集团公司第五十四研究所 Unmanned aerial vehicle autonomous obstacle avoidance flight method based on seed search

Families Citing this family (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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110074629A (en) * 2008-10-24 2011-06-30 그레이 앤 컴퍼니, 인크. Control and systems for autonomously driven vehicles
KR101079197B1 (en) 2010-03-25 2011-11-03 부산대학교 산학협력단 Line tracking method for autonomous guided vehicle
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110074629A (en) * 2008-10-24 2011-06-30 그레이 앤 컴퍼니, 인크. Control and systems for autonomously driven vehicles
KR101079197B1 (en) 2010-03-25 2011-11-03 부산대학교 산학협력단 Line tracking method for autonomous guided vehicle
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
노진홍 외 3명, "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, pp.546-551(2018.08.31.)* *

Cited By (1)

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

Also Published As

Publication number Publication date
WO2020222408A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
KR101990878B1 (en) Online bidirectional trajectory planning method in state-time space and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
Wu et al. Guaranteed infinite horizon avoidance of unpredictable, dynamically constrained obstacles
US11340621B2 (en) Obstacle avoiding method in state-time space, recording medium storing program for executing same, and computer program stored in recording medium for executing same
Kushleyev et al. Time-bounded lattice for efficient planning in dynamic environments
Fernández et al. Improving collision avoidance for mobile robots in partially known environments: the beam curvature method
CN113710431B (en) Path planning method using sample-based optimal tree and recording medium
Owen et al. Motion planning in dynamic environments using the velocity space
Hoeller et al. Accompanying persons with a mobile robot using motion prediction and probabilistic roadmaps
Mujahed et al. Tangential Gap Flow (TGF) navigation: A new reactive obstacle avoidance approach for highly cluttered environments
KR102097715B1 (en) 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
Bonetto et al. irotate: Active visual slam for omnidirectional robots
Song et al. Reactive navigation in dynamic environment using a multisensor predictor
Butzke et al. State lattice with controllers: Augmenting lattice-based path planning with controller-based motion primitives
JP7490193B2 (en) ROBOT, MOVEMENT ROUTE GENERATION DEVICE AND ITS PROGRAM, AND MOVEMENT PREDICTION DEVICE
Nakhaeinia et al. A behavior-based approach for collision avoidance of mobile robots in unknown and dynamic environments
Wang et al. Navdog: robotic navigation guide dog via model predictive control and human-robot modeling
Frew et al. Adaptive receding horizon control for vision-based navigation of small unmanned aircraft
Lorente et al. Model-based robocentric planning and navigation for dynamic environments
Hardy et al. Contingency planning over probabilistic hybrid obstacle predictions for autonomous road vehicles
Spanogiannopoulos et al. Sampling-based non-holonomic path generation for self-driving cars
Mujahed et al. Safe Gap based (SG) reactive navigation for mobile robots
Nguyen et al. A proactive trajectory planning algorithm for autonomous mobile robots in dynamic social environments
Huy et al. A practical and optimal path planning for autonomous parking using fast marching algorithm and support vector machine
Morales et al. Safe and reliable navigation in crowded unstructured pedestrian areas
Ma et al. Local path planning for mobile robots based on intermediate objectives

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant