KR100994075B1 - Method for planning an optimal path in a biped robot - Google Patents
Method for planning an optimal path in a biped robot Download PDFInfo
- Publication number
- KR100994075B1 KR100994075B1 KR1020080066063A KR20080066063A KR100994075B1 KR 100994075 B1 KR100994075 B1 KR 100994075B1 KR 1020080066063 A KR1020080066063 A KR 1020080066063A KR 20080066063 A KR20080066063 A KR 20080066063A KR 100994075 B1 KR100994075 B1 KR 100994075B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- cost
- candidate
- list
- path
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
본 발명은 보행로봇의 최적경로를 설계하는 방법에 관한 것으로, 구체적으로는 보행로봇의 특성을 고려하여 장애물을 회피하여 효율적인 주행을 위한 최적경로 계획방법에 관한 것이다. 본 발명의 일 실시예에 따른 보행로봇의 최적경로 계획방법은 초기화하는 단계와, 경로비용을 계산하는 단계와, 후보 목록을 작성하는 단계와, 각 후보 노드의 각도비용, 휴리스틱 비용 및 총비용을 계산하는 단계와, 열린 목록을 작성하는 단계와, 닫힌 목록을 작성하는 단계와, 다음 노드가 목표 노드인지 판단하는 단계를 포함한다.The present invention relates to a method for designing an optimal path of a pedestrian robot, and more particularly, to an optimal path planning method for efficient driving by avoiding obstacles in consideration of the characteristics of the pedestrian robot. An optimal path planning method for a walking robot according to an embodiment of the present invention includes the steps of initializing, calculating a path cost, creating a candidate list, and calculating an angle cost, a heuristic cost, and a total cost of each candidate node. And creating an open list, creating a closed list, and determining whether the next node is a target node.
보행로봇, A* 알고리즘, 최적경로, 회전 최소화, 회전반경, 경로비용 Walking robot, A * algorithm, optimal path, minimization of rotation, radius of rotation, path cost
Description
본 발명은 보행로봇의 최적경로를 설계하는 방법에 관한 것으로, 구체적으로는 보행로봇의 특성을 고려하여 장애물을 회피하여 효율적인 주행을 위한 최적경로 계획방법에 관한 것이다.The present invention relates to a method for designing an optimal path of a pedestrian robot, and more particularly, to an optimal path planning method for efficient driving by avoiding obstacles in consideration of the characteristics of the pedestrian robot.
일반적으로, 보행로봇이 목표지점으로 이동하기 위한 방법은 로봇의 위치정보를 획득하는 단계와, 획득한 위치정보를 바탕으로 로봇의 현재위치를 알아내는 자기위치추정 단계와, 전체 주행환경을 표현하는 지도작성단계와, 그리고 환경지도와 자기위치정보를 이용하여 목표지점까지 최적의 경로를 탐색하는 경로 계획단계로 구분된다. 통상적으로, 경로 계획단계에는 포텐셜 필드방법(Potential Field Method), 벡터 필드법(Vector Field Histogram; VFH), 및 A*("에이스트"라고 함) 알고리즘이 이용된다.In general, a method for moving a walking robot to a target point includes acquiring the position information of the robot, a self position estimation step of finding the current position of the robot based on the acquired position information, and expressing the entire driving environment. It is divided into the map making stage and the route planning stage in which the optimal route to the target point is searched using the environmental map and the self location information. Typically, the Potential Field Method, Vector Field Histogram (VFH), and A * (referred to as "Ast") algorithms are used in the path planning step.
포텐셜 필드 방법은 탐색 공간을 로봇에 영향을 주는 자극(stimulus)의 합으로 표현하는 방법이다. 이 방법에서, 목표 위치의 자극은 인력으로 표현되고, 장애물 위치의 자극은 척력으로 표현된다. 포텐셜 필드 방법에 사용되는 알고리즘이 간단하여 최적경로를 신속하게 탐색할 수 있으며, 센서의 종류에 제한을 받지 않고 사용할 수 있는 장점이 있다. 하지만, 2개의 장애물이 서로 인접해 있는 경우에, 장애물에서 발생한 2개의 척력이 하나의 척력으로 인식될 수 있으므로, 2개의 장애물 사이를 통과하는 것이 불가능한 문제점이 있다.The potential field method is a method of expressing the search space as a sum of stimulus affecting the robot. In this method, the stimulus at the target position is expressed in attractive force, and the stimulus at the obstacle position is expressed in repulsive force. The algorithm used in the potential field method is simple, so it is possible to quickly search for the optimum path, and there is an advantage that it can be used without limitation of the type of sensor. However, when two obstacles are adjacent to each other, since two repulsive forces generated in the obstacle can be recognized as one repulsive force, there is a problem that it is impossible to pass between the two obstacles.
상기의 문제점을 해결하기 위해서, 보렌스테인 및 코렌(J. Borenstein and Y. Koren, "THE VECTOR FIELD HISTOGRAM-FAST OBSTACLE AVOIDANCE FOR MOBILE ROBOTS", IEEE Journal of Robotics and Automation V7 , No 3, June 1991, pp .278-288)은 벡터 필드법을 제안하였다. 벡터 필드법은 이차원 직교좌표의 히스토그램 그리드(histogram grid)를 사용한다. 벡터 필드법은 로봇의 제어 명령을 계산하기 위해 2 단계의 데이터 감소 과정을 이용한다. 제1 단계에서, 히스토그램 그리드는 로봇의 순간적인 위치 주변에서 구성되는 1차원의 폴라 히스토그램으로 감소된다. 그 방향의 극장애물 밀도(polar obstacle density; POD)를 나타내는 값이 폴라 히스토그램의 각 섹터에 포함된다. 제2 단계에서, 알고리즘은 폴라 히스토그램 섹터들 중에서 낮은 극장애물 밀도를 갖는 가장 적절한 섹터를 선택한다. 하지만, 넓은 범위의 맵을 활용하기 어려운 단점이 있다.In order to solve the above problems, J. Borenstein and Y. Koren, "THE VECTOR FIELD HISTOGRAM-FAST OBSTACLE AVOIDANCE FOR MOBILE ROBOTS", IEEE Journal of Robotics and Automation V7 , No. 3, June 1991, pp. 278-288 ) proposed the vector field method. The vector field method uses a histogram grid of two-dimensional rectangular coordinates. The vector field method uses a two-step data reduction process to calculate the control commands of the robot. In the first step, the histogram grid is reduced to a one-dimensional polar histogram constructed around the robot's momentary position. A value representing the polar obstacle density (POD) in that direction is included in each sector of the polar histogram. In a second step, the algorithm selects the most suitable sector with the lowest movie object density among polar histogram sectors. However, there is a disadvantage that it is difficult to use a wide range of maps.
A* 알고리즘은 그리드 맵을 사용하여 이미 알고 있는 환경에 대한 정보를 이용하여 출발지점으로부터 목표지점까지의 최적경로를 탐색하기 위한 알고리즘을 말한다. 이 알고리즘은 출발지점으로부터 로봇의 현재위치까지의 최단거리 정보 및 로봇의 현재위치로부터 목표지점까지의 휴리스틱 정보(heuristic information)를 합산하여 최소 비용을 갖는 최적경로를 탐색하는 방법이다.The A * algorithm refers to an algorithm for searching for an optimal path from a starting point to a target point by using information about a known environment using a grid map. This algorithm is a method of searching for an optimal path having a minimum cost by adding the shortest distance information from the starting point to the current position of the robot and heuristic information from the current position of the robot to the target point.
이들 방법은 여러 가지 문제점을 가지고 있다. 하지만, 이들 방법의 가장 큰 문제점은 보행로봇의 제자리 회전가능성, 보행로봇의 회전반경, 장애물의 크기 및 목표물의 방향성을 고려하지 않은 것이다. 예컨대, 보행로봇은 제자리 회전이 불가능한 경우가 있고, 제자리 회전이 가능한 경우에도 회전을 하는데 많은 시간이 소요될 수 있다. 또한, 보행로봇의 제자리 회전을 실행하기 위해서는 복잡한 구성 및 제어가 요구되어, 결국에는 비용의 증가와 중량의 증가를 가져온다. 게다가, 목표물의 방향성은 보행로봇이 목표지점에 있는 특정 방향의 물건을 파지하여 이동시키는 경우에 중요하게 고려될 수 있다. 따라서, 이러한 다양한 특성을 고려하여 장애물을 회피할 수 있는 보행로봇의 최적경로 계획방법을 개발할 필요성이 있다.These methods have several problems. However, the biggest problem of these methods is that it does not take into account the rotatable position of the walking robot, the radius of rotation of the walking robot, the size of the obstacles and the direction of the target. For example, the walking robot may not be able to rotate in place, and may take a lot of time to rotate even when it is possible to rotate in place. In addition, in order to perform the in-situ rotation of the walking robot, complicated configuration and control is required, resulting in an increase in cost and an increase in weight. In addition, the direction of the target may be considered important when the walking robot grasps and moves an object in a specific direction at the target point. Therefore, in consideration of these various characteristics, there is a need to develop an optimal path planning method for pedestrian robots that can avoid obstacles.
본 발명은 위와 같은 문제점을 해결하기 위해 창안된 것으로서, 본 발명의 목적은 보행로봇의 회전을 최소화할 수 있도록 각도 비용을 계산하는 단계를 포함하는 보행로봇의 최적경로 계획방법을 제공하는 것이다.The present invention was devised to solve the above problems, and an object of the present invention is to provide an optimal path planning method for a walking robot including a step of calculating the angular cost to minimize the rotation of the walking robot.
본 발명의 다른 목적은 보행로봇의 회전반경을 고려한 보행로봇의 최적경로 계획방법을 제공하는 것이다.Another object of the present invention is to provide an optimal path planning method of a walking robot considering the rotation radius of the walking robot.
본 발명의 또 다른 목적은 목표물의 방향성 및 보행로봇의 방향성을 고려한 보행로봇의 최적경로 계획방법을 제공하는 것이다.Still another object of the present invention is to provide an optimal path planning method of a walking robot in consideration of the direction of the target and the direction of the walking robot.
본 발명의 일 실시예에 따른 보행로봇의 최적경로 계획방법은, 출발 노드, 목표 노드, 이전 노드, 현재 노드, 및 장애물 노드에 대한 정보를 입력받아서 초기화하는 단계와, 출발 노드로부터 현재 노드까지의 경로비용을 계산하는 단계와, 현재 노드의 주변에 있는 복수의 후보 노드 중 장애물 노드가 아닌 후보 노드를 후보 목록에 입력하는 단계와, 후보 목록에 입력된 각 후보 노드의 각도비용을 계산하는 단계와, 후보 목록에 입력된 각 후보 노드의 휴리스틱비용을 계산하는 단계와, 경로비용, 각도비용 및 휴리스틱비용에 따라 후보 목록에 입력된 각 후보 노드의 총비용을 계산하여 각 후보 노드에 저장하는 단계와, 후보 노드를 열린 목록에 입력하고, 열린 목록에 이미 입력되어 있던 노드의 총비용을 현재 노드에 대한 총비용으로 갱신하는 단계와, 열린 목록의 노드 중에서 총비용이 최소인 후보 노드를 다 음 노드로 지정하여 닫힌 목록에 입력하는 단계와, 다음 노드가 목표 노드인지 판단하는 단계를 포함하고, 목표 노드 판단 단계에서, 다음 노드가 목표 노드이면 닫힌 목록에 입력된 전체경로를 백 트래킹(back tracking)에 의해 반환하고, 다음 노드가 목표 노드가 아니면 경로비용 계산 단계로 돌아가며, 다음 노드 입력 단계의 다음 노드는 경로비용 계산 단계의 현재 노드로 취급된다.An optimal path planning method of a walking robot according to an embodiment of the present invention comprises the steps of: initializing and receiving information about a departure node, a target node, a previous node, a current node, and an obstacle node; Calculating a path cost, inputting a candidate node which is not an obstacle node among a plurality of candidate nodes in the vicinity of the current node in the candidate list, calculating an angular cost of each candidate node entered in the candidate list; Calculating a heuristic cost of each candidate node input to the candidate list, calculating a total cost of each candidate node input to the candidate list according to a path cost, an angular cost, and a heuristic cost, and storing the result in each candidate node; Entering a candidate node in an open list, updating the total cost of the node already entered in the open list with the total cost for the current node, Designating a candidate node having a minimum total cost among the nodes in the open list as the next node and inputting the candidate node to the closed list, and determining whether the next node is the target node, and in the step of determining the target node, the next node is the target node. Then returns the entire path entered in the closed list by back tracking, returns to the path cost calculation step if the next node is not the target node, and the next node in the next node input step to the current node in the path cost calculation step. Are treated.
바람직하게는, 본 발명의 일 실시예는 보행로봇의 제자리 회전가능성을 고려하여 변곡점의 경로를 수정하는 단계를 더 포함한다.Preferably, the embodiment of the present invention further includes the step of modifying the path of the inflection point in consideration of the rotatable position of the walking robot.
본 발명의 일 실시예에서, 각도비용은 현재 노드를 중심으로 이전 노드와 다음 노드가 이루는 각도에 의해 계산하고, 휴리스틱비용은 현재 노드로부터 각 후보 노드까지의 거리비용과 후보 노드로부터 목표 노드까지의 비용의 합에 의해 계산한다. 또한, 총비용은 하기의 수식에 의해 계산한다:In one embodiment of the present invention, the angle cost is calculated by the angle between the previous node and the next node around the current node, the heuristic cost is the distance cost from the current node to each candidate node and from the candidate node to the target node Calculated by the sum of costs. In addition, the total cost is calculated by the following formula:
f(n) = g(n) + f (n) = g (n) + CC aa (n)*α + (n) * α + CC hh (n)*(1 - α),(n) * (1-α),
여기서 f(n)은 총비용이고,Where f (n) is the total cost,
g(n)은 경로비용이고, g (n) is the path cost,
C a (n)은 각도비용이고, C a (n) is the angle cost,
C h (n)은 휴리스틱비용이고, C h (n) is the heuristic cost,
α는 각도비용의 가중치이며, α는 0 보다 크고 1보다 작은 실수이다.α is the weight of the angle cost, and α is a real number greater than 0 and less than 1.
본 발명의 다른 실시예에 따른 보행로봇의 최적경로 계획방법은 출발 노드, 목표 노드, 이전 노드, 현재 노드, 및 장애물 노드를 입력받아서 초기화하는 단계 와, 목표 노드의 방향성 및 보행로봇의 방향성을 고려하여 목표 노드와 소정의 회전반경을 갖는 임시목표 노드를 설정하는 단계와, 출발 노드로부터 현재 노드까지의 경로비용을 계산하는 단계와, 현재 노드의 주변에 있는 복수의 후보 노드 중 장애물 노드가 아닌 후보 노드를 후보 목록에 입력하는 단계와, 후보 목록에 입력된 각 후보 노드의 각도비용을 계산하는 단계와, 후보 목록에 입력된 각 후보 노드의 휴리스틱비용을 계산하는 단계와, 경로비용, 각도비용 및 휴리스틱비용에 따라 후보 목록에 입력된 각 후보 노드의 총비용을 계산하여 각 후보 노드에 저장하는 단계와, 후보 노드를 열린 목록에 입력하고, 열린 목록에 이미 입력되어 있던 노드의 총비용을 현재 노드에 대한 총비용으로 갱신하는 단계와, 열린 목록의 노드 중에서 총비용이 최소인 후보 노드를 다음 노드로 지정하여 닫힌 목록에 입력하는 단계와, 다음 노드가 임시목표 노드인지 판단하는 단계를 포함하며, 임시목표 노드 판단 단계에서, 다음 노드가 임시목표 노드이면 임시목표 노드로부터 목표 노드까지의 경로를 포함하여 닫힌 목록에 입력된 전체경로를 백 트래킹(back tracking)에 의해 반환하고, 다음 노드가 임시목표 노드가 아니면 경로비용 계산 단계로 돌아가며, 다음 노드 입력 단계의 다음 노드는 경로비용 계산 단계의 현재 노드로 취급된다.According to another embodiment of the present invention, an optimal path planning method of a walking robot receives and initializes a starting node, a target node, a previous node, a current node, and an obstacle node, and considers the direction of the target node and the direction of the walking robot. Setting a temporary target node having a predetermined rotation radius with the target node, calculating a path cost from the starting node to the current node, and a candidate that is not an obstacle node among a plurality of candidate nodes in the vicinity of the current node. Inputting a node to the candidate list, calculating an angular cost of each candidate node entered in the candidate list, calculating a heuristic cost of each candidate node entered in the candidate list, path costs, angular costs, and Calculating the total cost of each candidate node entered in the candidate list according to the heuristic cost and storing the candidate cost in each candidate node; Entering the list, updating the total cost of the node already entered in the open list to the total cost for the current node, and inputting the candidate node with the lowest total cost among the nodes in the open list as the next node in the closed list. And determining whether the next node is a temporary target node. In the step of determining a temporary target node, if the next node is a temporary target node, the entire path input in the closed list including the path from the temporary target node to the target node is included. Returned by back tracking, if the next node is not a temporary target node, the process returns to the path cost calculation step, and the next node of the next node input step is treated as the current node of the path cost calculation step.
바람직하게는, 본 발명의 다른 실시예는 보행로봇의 제자리 회전가능성을 고려하여 변곡점의 경로를 수정하는 단계를 더 포함한다.Preferably, another embodiment of the present invention further comprises the step of modifying the path of the inflection point in consideration of the rotatable in place of the walking robot.
본 발명의 다른 실시예에서, 각도비용은 현재 노드를 중심으로 이전 노드와 다음 노드가 이루는 각도에 의해 계산하고, 휴리스틱비용은 현재 노드로부터 각 후보 노드까지의 거리비용과 후보 노드로부터 목표 노드까지의 비용의 합에 의해 계 산한다. 또한, 총비용은 하기의 수식에 의해 계산한다:In another embodiment of the present invention, the angular cost is calculated by the angle between the previous node and the next node about the current node, and the heuristic cost is the distance cost from the current node to each candidate node and from the candidate node to the target node. Calculated by the sum of costs. In addition, the total cost is calculated by the following formula:
f(n) = g(n) + f (n) = g (n) + CC aa (n)*α + (n) * α + CC hh (n)*(1 - α),(n) * (1-α),
여기서 f(n)은 총비용이고,Where f (n) is the total cost,
g(n)은 경로비용이고, g (n) is the path cost,
C a (n)은 각도비용이고, C a (n) is the angle cost,
C h (n)은 휴리스틱비용이고, C h (n) is the heuristic cost,
α는 각도비용의 가중치이며, α는 0 보다 크고 1보다 작은 실수이다.α is the weight of the angle cost, and α is a real number greater than 0 and less than 1.
본 발명의 제1 실시예에 따라 각도비용을 계산하는 단계를 포함하는 보행로봇의 최적경로 계획방법에 의해 경로상의 회전최소화를 달성함으로써 제자리 회전이 불가능한 보행로봇이 장애물을 회피할 수 있는 최적경로를 계획할 수 있다. 또한, 전체 지형에 대하여 격자로 표현된 좌표계를 이용함으로써 보행로봇 및 장애물 크기를 고려하여 최적경로를 계획할 수 있다. 본 발명의 제2 실시예에 따른 보행로봇의 최적경로 계획방법에 의하면, 목표물에 대한 적절한 임시목표점을 설정함으로써, 목표물의 특정 방향을 고려하여 최적경로를 계획할 수 있다. 그 결과, 보행로봇이 제자리 회전이 가능한 경우에는 이동시간을 단축시킬 수 있다. 또한, 보행로봇의 제조시 제자리 회전에 관련된 구성을 고려할 필요가 없다.According to the first embodiment of the present invention, by minimizing the rotation on the path by the optimal path planning method of the walking robot including the step of calculating the angular cost, the walking robot, which cannot be rotated in place, can avoid the obstacle. You can plan. In addition, by using a coordinate system represented by a grid for the entire terrain, it is possible to plan the optimal route in consideration of the size of the walking robot and obstacles. According to the optimal path planning method of the walking robot according to the second embodiment of the present invention, by setting an appropriate temporary target point for the target, it is possible to plan the optimal path in consideration of the specific direction of the target. As a result, when the walking robot can be rotated in place, the moving time can be shortened. In addition, there is no need to consider the configuration related to the in-situ rotation in the manufacture of the walking robot.
이하, 첨부된 도면을 참조하여 본 발명의 제1 및 제2 실시예에 따른 보행로 봇의 최적경로 계획방법을 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the optimal path planning method of the pedestrian bots according to the first and second embodiments of the present invention.
도 1은 본 발명에서 사용되는 좌표계 및 구성요소를 보인 개략도이다.1 is a schematic view showing a coordinate system and components used in the present invention.
도 1에 도시한 바와 같이, 보행로봇(110)은 보행로봇(110)의 진행방향을 나타내는 헤딩부(111)를 구비하고, 목표물(130)은 목표물의 특정 방향을 나타내는 파지부(131)를 구비한다. x-축은 우측으로 갈수록 증가하고, y-축은 하방으로 갈수록 증가한다. 본 발명에서는 장애물 및 목표물에 대한 정보에 기초하여 적절한 크기의 정사각형 격자로 구성된 맵을 이용한다. 하지만, 본 발명은 이에 한정되는 것은 아니며, 임의의 다각형 격자로 구성될 수 있다.As shown in FIG. 1, the
도 2는 본 발명에서 사용되는 방향계를 보인 도면이고, 도 3은 보행로봇의 각도비용 산출에 이용되는 각 노드들 간의 관계를 보인 도면이다. 이하에서, "현재 노드"는 보행로봇의 현재위치에 대한 노드이고, "이전 노드"는 현재 노드의 바로 직전의 노드이고, "다음 노드"는 보행로봇이 현재 노드로부터 차후에 보행하게 될 현재 노드의 바로 직후의 노드이다. 그러나, 보행로봇의 현재위치가 출발위치와 동일하다면, 현재 노드가 출발 노드와 동일할 수 있다.2 is a view showing a direction meter used in the present invention, Figure 3 is a view showing the relationship between each node used to calculate the angular cost of the walking robot. Hereinafter, the "current node" is a node for the current position of the walking robot, the "previous node" is the node immediately before the current node, and the "next node" is the node of the current node that the walking robot will walk from the current node later. Immediately after this node. However, if the current position of the walking robot is the same as the starting position, the current node may be the same as the starting node.
도 2에 도시한 바와 같이, x-축을 기준으로 상반구는 반시계방향으로 0°~ -180°이며, 하반구는 시계방향으로 0°~ +180°이다. 각도를 계산할 때, 방향계는 현재 노드를 중심으로 적용된다. 도 3에 도시한 바와 같이, 현재 노드에 대한 이전 노드의 각도(θn-1)는 다음과 같이 구해진다:As shown in FIG. 2, the upper hemisphere is 0 ° to -180 ° counterclockwise with respect to the x-axis, and the lower hemisphere is 0 ° to + 180 ° clockwise. When calculating the angle, the direction indicator is applied about the current node. As shown in Fig. 3, the angle θ n-1 of the previous node with respect to the current node is obtained as follows:
여기서 Nn -1(xn -1, yn -1)은 이전 노드의 좌표이고,Where N n -1 (x n -1 , y n -1 ) is the coordinates of the previous node,
Nn(xn, yn)은 현재 노드의 좌표이다.N n (x n , y n ) is the coordinate of the current node.
현재 노드에 대한 후보 노드의 각도(θn+1)는 다음과 같이 구해진다:The angle of the candidate node θ n + 1 with respect to the current node is obtained as follows:
여기서, Nn(xn, yn)은 현재 노드의 좌표이고,Where N n (x n , y n ) is the coordinates of the current node,
Nn +1(xn +1, yn +1)은 후보 노드의 좌표이다.N n +1 (x n +1 , y n +1 ) is the coordinate of the candidate node.
현재 노드를 중심으로 이전 노드와 후보 노드가 이루는 각도(θ)는 다음과 같이 구해진다:The angle [theta] between the previous node and the candidate node around the current node is obtained as follows:
각도비용에 관한 자세한 설명은 후술한다.Detailed description of the angular cost will be described later.
도 4는 본 발명의 제1 실시예에 따른 보행로봇의 최적경로 계획방법을 보인 순서도이다.4 is a flowchart illustrating an optimal path planning method of a walking robot according to a first embodiment of the present invention.
도 4에 도시한 바와 같이, 본 발명의 제1 실시예에 따른 보행로봇의 최적경로 계획방법은 출발 노드, 목표 노드, 이전 노드, 현재 노드, 및 장애물 노드에 대한 정보를 입력받아서 초기화하는 단계(S101)와, 출발 노드로부터 현재 노드까지의 경로비용을 계산하는 단계(S102)와, 현재 노드의 주변에 있는 복수의 후보 노드 중 장애물 노드가 아닌 후보 노드를 후보 목록에 입력하는 단계(S103)와, 후보 목록에 입력된 각 후보 노드의 각도비용을 계산하는 단계(S104)와, 후보 목록에 입력된 각 후보 노드의 휴리스틱비용을 계산하는 단계(S105)와, 경로비용, 각도비용 및 휴리스틱비용에 따라 후보 목록에 입력된 각 후보 노드의 총비용을 계산하여 각 후보 노드에 저장하는 단계(S106)와, 후보 노드를 열린 목록(open list)에 입력하고, 열린 목록에 이미 입력되어 있는 각 노드를 현재 노드에 대한 총비용으로 갱신하는 단계(S107)와, 열린 목록의 노드 중에서 총비용이 최소인 후보 노드를 다음 노드로 지정하여 열린 목록에서 제거하고, 닫힌 목록에 입력하는 단계(S108)와, 다음 노드가 목표 노드인지 판단하는 단계(S109)를 포함하고, 다음 노드가 목표 노드이면 닫힌 목록에 입력된 전체경로를 백 트래킹(back tracking)에 의해 반환하고, 다음 노드가 목표 노드가 아니면 경로비용 계산 단계(S102)로 돌아가며, 닫힌 목록 입력 단계(S108)의 다음 노드는 경로비용 계산 단계(S102)의 현재 노드로 취급된다.As shown in FIG. 4, the optimal path planning method of the walking robot according to the first embodiment of the present invention includes receiving and initializing information about a starting node, a target node, a previous node, a current node, and an obstacle node ( S101, calculating a path cost from the starting node to the current node (S102), inputting a candidate node which is not an obstacle node among a plurality of candidate nodes in the vicinity of the current node (S103); Calculating an angular cost of each candidate node input to the candidate list (S104), calculating a heuristic cost of each candidate node input to the candidate list (S105), and a path cost, an angular cost, and a heuristic cost. In operation S106, the total cost of each candidate node input to the candidate list is calculated and stored in each candidate node, and the candidate node is entered into an open list, and each of the candidates is already entered in the open list. Updating the node with the total cost for the current node (S107), selecting a candidate node having the minimum total cost among the nodes in the open list as the next node, removing the list from the open list, and entering the closed list (S108); And determining whether the next node is the target node (S109), and if the next node is the target node, returns the entire path entered in the closed list by back tracking, and if the next node is not the target node, the path cost. Returning to the calculation step S102, the next node of the closed list input step S108 is treated as the current node of the path cost calculation step S102.
초기화 단계(S101)는 출발 노드, 목표 노드, 이전 노드, 현재 노드, 및 장애물 노드에 대한 정보를 입력받아서 초기화하는 단계이다. "출발 노드"는 보행로봇이 최초로 보행을 시작하는 지점의 노드이고, "목표 노드"는 보행로봇의 최종 목표지점의 노드이며, "장애물 노드"는 정적인 장애물이 위치하는 노드이다. 장애물 노드는 장애물의 크기를 고려하여 여러 개의 격자로 구성될 수 있다. 이 단계(S101)에서 닫힌 목록은 전체 비용을 고려하여 선정된 최적경로가 저장되는 곳으로서, 현재 노드가 최적경로의 일부 노드로서 저장된다.The initialization step S101 is a step of receiving and initializing information on a departure node, a target node, a previous node, a current node, and an obstacle node. The "starting node" is a node at the point where the walking robot first starts walking, the "target node" is a node at the final target point of the walking robot, and the "obstacle node" is a node where static obstacles are located. The obstacle node may be composed of a plurality of grids in consideration of the size of the obstacle. The closed list in this step S101 is where the optimal path selected in consideration of the total cost is stored, and the current node is stored as a part of the optimal path.
경로비용 계산 단계(S102)는 출발 노드로부터 현재 노드까지의 경로비용을 계산하는 단계이다. 경로비용은 단순한 거리비용, 또는 거리와 각도를 고려한 비용에 의해 계산될 수 있다. 이하에서, "비용"은 소요 시간 또는 일정한 거리에 대하여 소정의 값을 부여하고 이에 대한 수치로 환산한 값을 말한다. 예를 들어, "각도비용"은 각 노드 간의 거리에 대한 환산값이고, "거리비용"은 보행로봇이 소정의 각도(θ)만큼 회전을 하는데 소요되는 시간에 대하여 환산값이다.The path cost calculation step S102 is a step of calculating the path cost from the starting node to the current node. Route costs can be calculated either by simple distance costs or by considering distances and angles. Hereinafter, "cost" refers to a value given to a predetermined value with respect to a required time or a predetermined distance and converted into a numerical value thereof. For example, "angle cost" is a conversion value for the distance between each node, and "distance cost" is a conversion value with respect to the time taken for the walking robot to rotate by a predetermined angle (θ).
후보 노드 입력 단계(S103)는 현재 노드의 주변에 있는 후보 노드 중에서 장애물 노드를 제외한 복수의 후보 노드를 후보 목록에 입력하는 단계이다. 기본적으로, 후보 노드는 현재 노드를 둘러싼 8개의 격자이다. 하지만, 장애물 노드가 아닌 후보 노드가 후보 목록에 입력된다. 이는 장애물 노드에 대한 각종의 비용을 계산하는 단계를 거치지 않도록 하기 위해서이다.The candidate node input step S103 is a step of inputting a plurality of candidate nodes excluding obstacle nodes among candidate nodes in the vicinity of the current node to the candidate list. By default, candidate nodes are eight grids surrounding the current node. However, candidate nodes that are not obstacle nodes are input to the candidate list. This is to avoid the step of calculating various costs for the obstacle node.
각도비용 계산 단계(S104)는 후보 목록에 입력된 각 후보 노드의 각도비용을 계산하여 저장하는 단계이다. 각도비용은 현재 노드를 중심으로 이전 노드와 후보 노드가 이루는 각도(θ)에 기초하여 계산된다. 각도(θ)는 수학식 3에 의해 구해진다. 각도(θ)가 180°이면, 각도비용은 최소이다. 각도(θ)가 180°보다 작으면 각도비용은 증가하며, 각도(θ)가 180°보다 크면 각도비용은 증가한다.The angle cost calculation step S104 is a step of calculating and storing the angle cost of each candidate node input to the candidate list. The angular cost is calculated based on the angle θ formed between the previous node and the candidate node with respect to the current node. Angle (theta) is calculated | required by Formula (3). If the angle θ is 180 °, the angle cost is minimum. If the angle θ is smaller than 180 °, the angle cost increases. If the angle θ is larger than 180 °, the angle cost increases.
휴리스틱비용 계산 단계(S105)는 현재 노드로부터 목표 노드까지의 거리비용 을 계산하는 단계이다. 휴리스틱비용은 현재 노드로부터 후보 노드까지의 거리비용과 후보 노드로부터 목표 노드까지의 거리비용으로 구분된다. 이들 거리비용은 각 노드 간의 직선 거리에 의해 산출될 수 있다. 휴리스틱비용은 다음과 같이 나타낼 수 있다:The heuristic cost calculation step S105 is a step of calculating the distance cost from the current node to the target node. The heuristic cost is divided into the distance cost from the current node to the candidate node and the distance cost from the candidate node to the target node. These distance costs can be calculated by the linear distance between each node. Heuristic costs can be expressed as:
여기서, C h (n)는 휴리스틱비용이고,Where C h (n) is the heuristic cost,
C h1 는 현재 노드로부터 후보 노드까지의 거리비용이고, C h1 is the distance cost from the current node to the candidate node,
C h2 는 후보 노드로부터 목표 노드까지의 거리비용이다. C h2 is the distance cost from the candidate node to the target node.
총비용 계산단계(S107)는 경로비용, 각도비용 및 휴리스틱비용에 따라 각 후보 노드의 총비용을 계산하는 단계이다. 총비용은 각 비용의 합에 의해 계산될 수 있다. 한편, 총비용은 출발 노드로부터 현재 노드까지의 경로비용과 현재 노드로부터 목표 노드까지의 예측비용의 합으로 표현될 수 있다:The total cost calculation step S107 is a step of calculating the total cost of each candidate node according to the path cost, the angular cost, and the heuristic cost. The total cost can be calculated by the sum of the costs. On the other hand, the total cost can be expressed as the sum of the path costs from the originating node to the current node and the predicted costs from the current node to the target node:
여기서, f(n)은 총비용이고,Where f (n) is the total cost,
g(n)은 출발 노드로부터 현재 노드까지의 경로비용이고, g (n) is the path cost from the originating node to the current node,
h(n)은 현재 노드로부터 목표 노드까지의 예측비용이다. h (n) is the predicted cost from the current node to the target node.
이 경우에, 예측비용은 각도비용과 휴리스틱비용의 합으로 표현될 수 있다:In this case, the forecast cost can be expressed as the sum of the angular cost and the heuristic cost:
여기서, C a (n)은 각도비용이고Where C a (n) is the angle cost
C h (n)은 휴리스틱비용이다. C h (n) is the heuristic cost.
예측비용은 보행로봇이 최소의 회전을 하도록 각도비용에 가중치를 주어 다음과 같이 표현될 수 있다:The predicted cost can be expressed as follows by weighting the angular cost so that the walking robot has the minimum rotation:
여기서, α는 가중치이며, α는 0보다 크고 1보다 작은 실수이다.Where α is a weight and α is a real number greater than 0 and less than 1.
α는 각도비용의 가중계수로서 회전최소화에 대한 비중을 나타내는 계수이다. 가중치는 보행로봇의 제자리 회전가능성을 고려하여 적절하게 선택될 수 있다. 즉, 가중치가 0.5 이상이면 회전최소화를 고려한 것이고, 가중치가 0.5 이하이면 최단거리 경로를 고려한 것이다. 각 후보 노드에 대하여 산출된 총비용은 후보 목록에 입력된 각 후보 노드에 저장된다.α is a weighting coefficient of the angular cost and represents a specific gravity for rotation minimization. The weight may be appropriately selected in consideration of the rotatable position of the walking robot. That is, if the weight is 0.5 or more, rotation minimization is taken into account. If the weight is 0.5 or less, the shortest path is considered. The total cost calculated for each candidate node is stored in each candidate node entered in the candidate list.
열린 목록 입력 및 갱신 단계(S107)는 후보 노드를 열린 목록에 입력하고, 열린 목록에 이미 입력되어 있던 각 노드의 총비용을 현재 노드에 대한 총비용으로 갱신하는 단계이다. 이 단계(S107)에서 총비용이 저장된 후보 노드는 후보 목록에서 삭제되고 열린 목록에 입력된다. 열린 목록에는 이미 입력되어 있던 후보 노드가 존재할 수 있다. 하지만, 이들 후보 노드에는 이전 노드에 대한 총비용이 저장 되어 있으므로, 현재 노드에 대한 총비용으로 갱신한다. 그 후에, 열린 목록에 있는 후보 노드들은 총비용의 순서대로 정렬된다.The open list input and update step (S107) is a step of inputting candidate nodes into the open list, and updating the total cost of each node that has already been entered in the open list to the total cost for the current node. In this step S107, the candidate node in which the total cost is stored is deleted from the candidate list and entered in the open list. There may be candidate nodes already entered in the open list. However, since these candidate nodes store the total cost for the previous node, they are updated with the total cost for the current node. Thereafter, the candidate nodes in the open list are sorted in order of total cost.
닫힌 목록 입력 단계(S108)는 다음 노드를 지정하여 닫힌 목록에 저장하는 단계이다. 이 단계(S108)에서는 총비용이 가장 낮은 후보 노드가 다음 노드로 지정된다. 다음 노드로 지정된 후보 노드는 열린 목록에서 삭제되고, 나머지 후보 노드는 열린 목록에 잔류한다. 그 후에, 다음 노드는 닫힌 목록에 입력되어 전체경로의 일부가 된다.The closed list input step (S108) is a step of designating the next node and storing it in the closed list. In this step S108, the candidate node having the lowest total cost is designated as the next node. The candidate node designated as the next node is deleted from the open list, and the remaining candidate nodes remain in the open list. After that, the next node is entered in a closed list and becomes part of the full path.
다음 노드 판단 단계(S109)는 다음 노드가 목표 노드인지 여부를 판단하는 단계이다. 이 단계(S109)에서, 다음 노드가 목표 노드이면, 닫힌 목록에 입력되어 있는 노드로 구성된 전체경로를 백 트래킹(back tracking)에 의해 반환한다. 이 단계에서(S109), 다음 노드가 목표 노드가 아니면, 단계(S102)로 돌아가서 다음 노드가 목표 노드와 일치할 때까지 상술한 단계들을 반복하여 실행한다. 단계(S108)의 다음 노드는 단계(S102)의 이하에서 현재 노드로 취급된다.The next node determination step (S109) is a step of determining whether the next node is a target node. In this step S109, if the next node is the target node, the entire path composed of the nodes input to the closed list is returned by back tracking. In this step (S109), if the next node is not the target node, the process returns to step S102 and the above-described steps are repeated until the next node matches the target node. The next node of step S108 is treated as the current node below step S102.
도 5는 보행로봇의 회전최소화 및 보행로봇의 크기를 고려하지 않은 보행로봇의 최적경로를 보인 개략도이고, 도 6은 보행로봇의 회전최소화 및 보행로봇의 크기를 고려한 보행로봇의 최적경로를 보인 개략도이다. 이하, 변곡점은 경로에서 방향전환이 발생하는 회전지점을 말한다.Figure 5 is a schematic diagram showing the optimal path of the walking robot without considering the rotation of the walking robot and the size of the walking robot, Figure 6 is a schematic diagram showing the optimal path of the walking robot considering the rotation of the walking robot and the size of the walking robot. to be. Hereinafter, the inflection point refers to a rotation point at which the change of direction occurs in the path.
도 5에 도시한 최적경로는 장애물(120)에 인접해 있으므로, 보행로봇(110)이 장애물(120)과 충돌할 가능성이 있으며, 보행로봇(110)의 회전가능성을 고려하지 않았다. 이들의 충돌을 회피하기 위해서는 보행로봇(110)의 크기를 고려하여 맵의 격자 크기를 설정해야 한다. 그리고, 장애물 노드는 전체 장애물(120)의 크기를 수용할 수 있도록 정해져야 한다. 이 경우에, 최적경로는 3개의 변곡점을 포함한다.Since the optimal path shown in FIG. 5 is adjacent to the
도 6에 도시한 최적경로는 보행로봇(110)의 크기 및 장애물(120)의 크기를 고려하고, 본 발명의 제1 실시예에 따라 회전최소화를 고려한 것이다. 이 경우에, 최적경로는 2개의 변곡점을 포함한다. 도 6의 보행로봇(210)의 최적경로는 회전최소화 및 보행로봇의 크기와 장애물의 크기를 고려하지 않은 도 5의 최적경로에 비하여 변곡점의 수가 감소하였다.The optimal path shown in FIG. 6 considers the size of the walking
도 7은 제자리 회전이 가능한 보행로봇의 최적경로를 보인 개략도이고, 도 8은 제자리 회전이 불가능한 보행로봇의 최적경로를 보인 개략도이다.FIG. 7 is a schematic view showing an optimal path of a walking robot that can rotate in place, and FIG. 8 is a schematic view of an optimal path of a walking robot that cannot rotate in place.
도 7에 도시한 바와 같이 제자리 회전이 가능한 보행로봇(110)의 경우에, 본 발명의 제1 실시예에 따른 최적경로 계획방법은 회전최소화에 의해 회전에 소요되는 시간을 단축시킬 수 있다. 도 8에 도시한 바와 같이 제자리 회전이 불가능한 보행로봇(110)의 경우에, 보행로봇(110)은 미리 정해진 회전반경(R)을 갖는다. 보행로봇(110)은 회전반경(R)만큼 직진한 후에 회전하여 다음 경로로 진입한다. 따라서, 전체경로의 변곡점은 회전반경(R)을 고려하여 수정되어야 한다.In the case of the walking
도 9는 본 발명의 제2 실시예에 따른 보행로봇의 최적경로 계획방법을 보인 순서도이다.9 is a flowchart illustrating an optimal path planning method of a walking robot according to a second embodiment of the present invention.
본 발명의 제2 실시예에 따른 보행로봇의 최적경로 계획방법은, 출발 노드, 목표 노드, 이전 노드, 현재 노드, 및 장애물 노드를 입력받아서 초기화하는 단 계(S201)와, 목표 노드의 방향성 및 보행로봇의 방향성을 고려하여 목표 노드와 소정의 회전반경을 갖는 임시목표 노드를 설정하는 단계(S202)와, 출발 노드로부터 현재 노드까지의 경로비용을 계산하는 단계(S203)와, 현재 노드의 주변에 있는 복수의 후보 노드 중 장애물 노드가 아닌 후보 노드를 후보 목록에 입력하는 단계(S204)와, 후보 목록에 입력된 각 후보 노드의 각도비용을 계산하는 단계(S205)와, 후보 목록에 입력된 각 후보 노드의 휴리스틱비용을 계산하는 단계(S206)와, 경로비용, 각도비용 및 휴리스틱비용에 따라 후보 목록에 입력된 각 후보 노드의 총비용을 계산하여 각 후보 노드에 저장하는 단계(S207)와, 후보 노드를 열린 목록에 입력하고, 열린 목록에 이미 입력되어 있던 노드의 총비용을 현재 노드에 대한 총비용으로 갱신하는 단계(S208)와, 열린 목록의 노드 중에서 총비용이 최소인 후보 노드를 다음 노드로 지정하여 닫힌 목록에 입력하는 단계(S209)와, 다음 노드가 임시목표 노드인지 판단하는 단계(S210)를 포함하며, 임시목표 노드 판단 단계(S210)에서, 다음 노드가 임시목표 노드이면 임시목표 노드로부터 목표 노드까지의 경로를 포함하여 닫힌 목록에 입력된 전체경로를 백 트래킹(back tracking)에 의해 반환하고, 다음 노드가 임시목표 노드가 아니면 경로비용 계산 단계(S203)로 돌아가며, 다음 노드 입력 단계(S210)의 다음 노드는 경로비용 계산 단계(S203)의 현재 노드로 취급된다.The optimal path planning method of the walking robot according to the second embodiment of the present invention includes a step (S201) of receiving and initializing a starting node, a target node, a previous node, a current node, and an obstacle node, the direction of the target node, and Setting a temporary target node having a predetermined rotation radius with the target node in consideration of the directionality of the walking robot (S202), calculating a path cost from the starting node to the current node (S203), and surrounding the current node Inputting a candidate node which is not an obstacle node among a plurality of candidate nodes in a candidate list (S204), calculating an angle cost of each candidate node input in the candidate list (S205), and inputting the candidate list Computing the heuristic cost of each candidate node (S206), and calculating the total cost of each candidate node entered in the candidate list according to the path cost, the angular cost, and the heuristic cost to store in each candidate node. Step S207, inputting the candidate node to the open list, updating the total cost of the node already entered in the open list with the total cost for the current node (S208), and the candidate with the lowest total cost among the nodes in the open list; The step S209 of designating a node as a next node and inputting it to the closed list, and determining whether the next node is a temporary target node (S210), and in the step S210 of determining a temporary target node, the next node is a temporary target. If it is a node, the entire path entered in the closed list including the path from the temporary target node to the target node is returned by back tracking. If the next node is not the temporary target node, the process returns to the path cost calculating step (S203). The next node of the next node input step S210 is treated as the current node of the path cost calculation step S203.
본 실시예에서는 제1 실시예와 동일한 부분에 대한 설명은 생략하고, 제1 실시예와 다른 부분에 대한 설명을 중점적으로 한다. 제2 실시예의 단계(S203) 내지 단계(S209)는 제1 실시예의 단계(S102) 내지 단계(S108)와 실질적으로 동일하다.In the present embodiment, the description of the same parts as in the first embodiment will be omitted, and the description for the parts different from the first embodiment will be focused. Steps S203 to S209 of the second embodiment are substantially the same as steps S102 to S108 of the first embodiment.
도 10은 목표물에 대하여 회전반경을 갖는 8개의 임시목표점을 도시하고, 도 11은 임시목표점이 "140a"인 경우의 경로를 보인 개략도이다.FIG. 10 shows eight temporary target points having a radius of rotation with respect to the target, and FIG. 11 is a schematic view showing a path when the temporary target point is "140a".
단계(S202)는 목표물의 파지부 방향을 고려하여 임시목표점을 설정하는 단계이다. 도 10에 도시한 바와 같이, 8개의 임시목표점(140a ~ 140h)은 목표물(130)의 파지부(131) 방향으로 회전반경만큼 거리를 갖는다. 목표물(130)을 중심으로 한 임시목표점(140a ~ 140h) 사이의 각도는 45°로 동일하다. 하지만, 본 발명은 이 각도에 한정되는 것이 아니며, 소정의 다른 각도로 설정될 수 있으며, 임시목표점 사이의 각도가 동일할 필요도 없다.Step S202 is a step of setting a temporary target point in consideration of the direction of the gripper of the target. As shown in FIG. 10, the eight
도 11에 도시한 바와 같이, 보행로봇(110)이 임시목표점(140a)에 도달을 하면 보행로봇은 회전반경(R)만큼 직진한 이후에 회전함으로써 목표물(130)에 도달한다. 이 경우에, 보행로봇(110)의 헤딩부(111)는 목표물(130)의 파지부(131)는 마주보게 된다.As shown in FIG. 11, when the walking
도 12는 목표 노드의 방향성 및 보행로봇의 회전반경을 고려한 보행로봇의 최적경로를 보인 개략도이다.12 is a schematic view showing the optimum path of the walking robot in consideration of the direction of the target node and the radius of rotation of the walking robot.
목표물(130)의 방향성 및 보행로봇(110)의 회전반경을 고려하여 임시목표점이 설정되면, 임시목표점에 대하여 제1 실시예에 따른 방법에 따라 경로를 탐색한다. 단계(S210)에서 다음 노드가 임시목표점인 경우에 임시목표점으로부터 목표물까지의 경로를 형성하여 백 트래킹에 의해 최종 경로를 반환한다. 단계(S201)에서 다음 노드가 임시목표점이 아닌 경우에는 제1 실시예에 따른 방법에 따라 다음 노드가 임시목표점과 일치할 때까지 반복하여 실행한다.When the temporary target point is set in consideration of the directionality of the
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 분야에서 통상의 지식을 가진 자에게 있어서 명백할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. It will be clear to those who have knowledge of.
도 1은 본 발명에서 사용되는 좌표계 및 구성요소를 보인 개략도이다.1 is a schematic view showing a coordinate system and components used in the present invention.
도 2는 본 발명에서 사용되는 방향계를 보인 도면이다.2 is a view showing an aroma meter used in the present invention.
도 3은 보행로봇의 각도비용 산출에 이용되는 각 노드들 간의 관계를 보인 개략도이다.Figure 3 is a schematic diagram showing the relationship between the nodes used to calculate the angular cost of the walking robot.
도 4는 본 발명의 제1 실시예에 따른 보행로봇의 최적경로 계획방법을 보인 순서도이다.4 is a flowchart illustrating an optimal path planning method of a walking robot according to a first embodiment of the present invention.
도 5는 보행로봇의 크기와 장애물의 크기를 고려하지 않은 보행로봇의 최적경로를 보인 개략도이고, 도 6은 보행로봇의 회전최소화 및 보행로봇의 크기를 고려한 보행로봇의 최적경로를 보인 개략도이다.5 is a schematic view showing the optimal path of the walking robot without considering the size of the walking robot and the size of the obstacle, Figure 6 is a schematic view showing the optimal path of the walking robot considering the rotation minimization of the walking robot and the size of the walking robot.
도 7은 제자리 회전이 가능한 보행로봇의 최적경로를 보인 개략도이고, 도 8은 제자리 회전이 불가능한 보행로봇의 최적경로를 보인 개략도이다.FIG. 7 is a schematic view showing an optimal path of a walking robot that can rotate in place, and FIG. 8 is a schematic view of an optimal path of a walking robot that cannot rotate in place.
도 9는 보행로봇의 회전반경을 고려한 보행로봇의 최적경로 계획방법을 보인 순서도이다.9 is a flowchart illustrating a method for planning an optimal path of a walking robot in consideration of a rotation radius of the walking robot.
도 10은 목표물에 대하여 회전반경을 갖는 8개의 임시목표점을 보인 개략도이다.10 is a schematic view showing eight temporary target points having a radius of rotation with respect to a target.
도 11은 임시목표점이 도 10의 "140a"인 경우의 최적경로를 보인 개략도이다.FIG. 11 is a schematic diagram illustrating an optimal path when the temporary target point is “140a” of FIG. 10.
도 12는 목표 노드의 방향성 및 보행로봇의 회전반경을 고려한 보행로봇의 최적경로를 보인 개략도이다.12 is a schematic view showing the optimum path of the walking robot in consideration of the direction of the target node and the radius of rotation of the walking robot.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
110 : 보행로봇110: walking robot
111 : 헤딩부111: heading part
120 : 장애물120: obstacle
130 : 목표지점130: target point
131 : 파지부131: holding part
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080066063A KR100994075B1 (en) | 2008-07-08 | 2008-07-08 | Method for planning an optimal path in a biped robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080066063A KR100994075B1 (en) | 2008-07-08 | 2008-07-08 | Method for planning an optimal path in a biped robot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100005942A KR20100005942A (en) | 2010-01-18 |
KR100994075B1 true KR100994075B1 (en) | 2010-11-12 |
Family
ID=41815204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080066063A KR100994075B1 (en) | 2008-07-08 | 2008-07-08 | Method for planning an optimal path in a biped robot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100994075B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101190616B1 (en) * | 2012-03-13 | 2012-10-12 | 고려대학교 산학협력단 | Method for estimating location of mobile robot |
KR101441187B1 (en) * | 2012-07-19 | 2014-09-18 | 고려대학교 산학협력단 | Method for planning path for a humanoid robot |
WO2022240256A1 (en) * | 2021-05-14 | 2022-11-17 | (주)로보티즈 | Distance transform map based responsive navigation for autonomous driving robot |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190024467A (en) * | 2017-08-31 | 2019-03-08 | 엘지전자 주식회사 | Method of generating local path by target orientation and robot implementing thereof |
CN111665844B (en) * | 2020-06-23 | 2023-10-24 | 北京三快在线科技有限公司 | Path planning method and device |
KR102217208B1 (en) * | 2020-09-10 | 2021-02-18 | 국방과학연구소 | Method and apparatus for searching route |
CN112731941B (en) * | 2020-12-29 | 2024-03-05 | 深圳市优必选科技股份有限公司 | Biped robot path planning method and device and biped robot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002133351A (en) | 2000-10-25 | 2002-05-10 | Nec Corp | Minimum-cost path search system and minimum-cost path search method for use in the same |
JP2005032196A (en) | 2003-07-11 | 2005-02-03 | Japan Science & Technology Agency | System for planning path for moving robot |
-
2008
- 2008-07-08 KR KR1020080066063A patent/KR100994075B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002133351A (en) | 2000-10-25 | 2002-05-10 | Nec Corp | Minimum-cost path search system and minimum-cost path search method for use in the same |
JP2005032196A (en) | 2003-07-11 | 2005-02-03 | Japan Science & Technology Agency | System for planning path for moving robot |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101190616B1 (en) * | 2012-03-13 | 2012-10-12 | 고려대학교 산학협력단 | Method for estimating location of mobile robot |
KR101441187B1 (en) * | 2012-07-19 | 2014-09-18 | 고려대학교 산학협력단 | Method for planning path for a humanoid robot |
US9069354B2 (en) | 2012-07-19 | 2015-06-30 | Center Of Human-Centered Interaction For Coexistence | Method for planning path for autonomous walking humanoid robot |
WO2022240256A1 (en) * | 2021-05-14 | 2022-11-17 | (주)로보티즈 | Distance transform map based responsive navigation for autonomous driving robot |
Also Published As
Publication number | Publication date |
---|---|
KR20100005942A (en) | 2010-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100994075B1 (en) | Method for planning an optimal path in a biped robot | |
CN111536964B (en) | Robot positioning method and device, and storage medium | |
CN111504325B (en) | Global path planning method based on weighted A-algorithm of enlarged search neighborhood | |
Prentice et al. | The belief roadmap: Efficient planning in linear POMDPs by factoring the covariance | |
CN109947118B (en) | Method for rapidly updating cost map accelerated by using GPU | |
CN112033413A (en) | Improved A-algorithm combined with environmental information | |
CN112444246B (en) | Laser fusion positioning method in high-precision digital twin scene | |
CN114705196B (en) | Self-adaptive heuristic global path planning method and system for robot | |
CN109341698B (en) | Path selection method and device for mobile robot | |
CN112000126B (en) | Whale algorithm-based multi-unmanned-aerial-vehicle collaborative searching multi-dynamic-target method | |
CN115167474A (en) | Mobile robot path planning optimization method | |
CN114440916A (en) | Navigation method, device, equipment and storage medium | |
CN114166235A (en) | Global dynamic smooth path planning method based on optimized A-STAR algorithm | |
JP4699598B2 (en) | Data processing apparatus and storage medium operating as problem solver | |
CN116698043A (en) | Visual navigation method for indoor mobile robot | |
Lenac et al. | Fast active SLAM for accurate and complete coverage mapping of unknown environments | |
CN114721370A (en) | Robot rapid optimal path planning method based on double heuristic functions | |
Korb et al. | Exploring unstructured environment with frontier trees | |
CN117434950A (en) | Mobile robot dynamic path planning method based on Harris eagle heuristic hybrid algorithm | |
CN108717302B (en) | Method and device for robot to follow person, storage medium and robot | |
Wang et al. | Robust exploration with multiple hypothesis data association | |
Choi et al. | Topological map building based on thinning and its application to localization | |
CN110749325A (en) | Flight path planning method and device | |
CN116576868A (en) | Multi-sensor fusion accurate positioning and autonomous navigation method | |
CN116360437A (en) | Intelligent robot path planning method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131029 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141103 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151102 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20171101 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181101 Year of fee payment: 9 |