KR102228937B1 - Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments - Google Patents

Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments Download PDF

Info

Publication number
KR102228937B1
KR102228937B1 KR1020190070756A KR20190070756A KR102228937B1 KR 102228937 B1 KR102228937 B1 KR 102228937B1 KR 1020190070756 A KR1020190070756 A KR 1020190070756A KR 20190070756 A KR20190070756 A KR 20190070756A KR 102228937 B1 KR102228937 B1 KR 102228937B1
Authority
KR
South Korea
Prior art keywords
processor
robot
path
obstacle
objects
Prior art date
Application number
KR1020190070756A
Other languages
Korean (ko)
Other versions
KR20200143016A (en
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 KR1020190070756A priority Critical patent/KR102228937B1/en
Publication of KR20200143016A publication Critical patent/KR20200143016A/en
Application granted granted Critical
Publication of KR102228937B1 publication Critical patent/KR102228937B1/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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • B25J9/1676Avoiding collision or forbidden zones

Abstract

본 명세서는 혼잡하고 폐쇄된 환경에서 로봇 매니퓰레이터를 이용한 목표물을 가져오는 최적화된 계획 수립 방법을 개시한다. 본 명세서에 따른 로봇 이동 계획 수립 방법은, (a) 프로세서가 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 인식하는 단계; (b) 상기 프로세서가 상기 물체들 중 임의의 두 물체 사이를 충돌없이 이동 가능한 경우, 상기 임의의 두 물체 사이를 엣지로 연결하는 그래프(이하 '경로 그래프')를 구성하는 단계; 및 (c) 상기 프로세서가 경로 그래프에서 목표물을 가져오기까지 장애물의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하는 단계;를 포함할 수 있다.This specification discloses an optimized planning method for bringing targets using a robot manipulator in a crowded and closed environment. A method for establishing a robot movement plan according to the present specification includes the steps of: (a) recognizing, by a processor, sizes and positions of objects disposed in the work space from an image photographed of the work space; (b) when the processor is capable of moving between any two of the objects without collision, constructing a graph (hereinafter referred to as'path graph') connecting the two arbitrary objects with an edge; And (c) calculating, by the processor, a path in which the number of times of movement of the obstacle is the least until bringing the target from the path graph to the shortest path.

Description

혼잡한 환경에서 로봇 매니퓰레이터의 이동 계획 수립 방법{PLANNING METHOD FOR TARGET RETRIEVAL USING A ROBOTIC MANIPULATOR IN CLUTTERED AND OCCLUDED ENVIRONMENTS}How to establish a robot manipulator's movement plan in a crowded environment{PLANNING METHOD FOR TARGET RETRIEVAL USING A ROBOTIC MANIPULATOR IN CLUTTERED AND OCCLUDED ENVIRONMENTS}

본 발명은 로봇을 이동시키는 시간을 단축시킬 수 있도록 계획을 수립하는 방법에 관한 것이며, 보다 상세하게는 혼잡한 환경에서 로봇 매니퓰레이터를 이용하여 목표물을 최단 시간으로 가져올 수 있도록 계획을 수립하는 방법에 관한 것이다. The present invention relates to a method of establishing a plan to shorten the time to move a robot, and more particularly, to a method of establishing a plan to bring a target in the shortest time using a robot manipulator in a crowded environment. will be.

도 1은 로봇 매니퓰레이터의 작업 환경에 대한 예시도이다.1 is an exemplary diagram for a working environment of a robot manipulator.

도 1을 참조하면, 냉장고, 선반, 창고 등과 같이 벽으로 둘러싸인 공간 내에 다수의 물건들이 있는 것을 확인할 수 있다. 도 1에 도시된 환경과 같이 목표물 주변에 다수의 장애물이 밀집된 환경에서, 장애물과 충돌없이 로봇 매니퓰레이터를 사용하여 목표물만 가져오는 것은 어렵다. 따라서, 일부 장애물의 재배치가 필요하다.Referring to FIG. 1, it can be seen that there are a number of items in a space surrounded by walls, such as a refrigerator, a shelf, and a warehouse. In an environment in which a number of obstacles are concentrated around a target, such as the environment shown in FIG. 1, it is difficult to bring only the target using a robot manipulator without collision with the obstacle. Therefore, some obstacles need to be rearranged.

그러나, 장애물을 재배치하는 계획을 수립하는 것은 장애물에 대한 모든 정보(예: 위치, 크기, 무게 등)가 알려진 정적인 환경에서도 쉽지 않다. 또한, 혼란스럽고 제한된 환경은 종종 전면에 있는 장애물에 의해 발생된 폐쇄로 인해 불확실성을 발생시킬 수 있다. 혼잡한 환경에서 목표물을 검색하기 위한 다양한 방법이 제시되었지만, 장애물의 재배치 계획을 최적화하는 것에 초점이 맞춰져 있지 않았다.However, planning to relocate obstacles is not easy even in a static environment where all information about the obstacle (eg location, size, weight, etc.) is known. In addition, chaotic and constrained environments can often create uncertainty due to closures caused by obstructions in the front. Various methods have been proposed to search for targets in a crowded environment, but the focus has not been on optimizing the relocation plan of obstacles.

도 2는 최적화된 장애물 재배치 계획의 필요성에 대한 참고도이다.2 is a reference diagram for the necessity of an optimized obstacle relocation plan.

도 2를 참조하면, 벽으로 둘러싸인 작업 공간에 목표물(녹색 줄무늬)과 장애물(분홍색)이 놓여 있는 것을 확인할 수 있다. 상기 작업 공간은 벽으로 둘러 싸인 제한된 공간이기 때문에, 로봇 매니퓰레이터는 공간의 바닥면을 따라서 접근이 가능하다. 도 2의 왼쪽에 도시된 그림과 같이, 매니퓰레이터가 목표물에 접근하는 최단 경로를 선택한 경우, 최단 경로 상의 네 가지 장애물(빨간색 굵은 윤곽선으로 표시됨)을 제거해야 한다. 반면, 도 2의 오른쪽에 도시된 그림과 같이, 장애물의 재배치 횟수를 최소화하는 경로를 선택한 경우, 재배치되어야 하는 장애물의 개수는 2(빨간색 굵은 윤곽선으로 표시됨)로 감소한다. 목표물을 가져오기 위한 총 실행 시간의 대부분은 장애물을 잡았다가 놓는 즉, 장애물 재배치에 할애되고, 목표물을 이송하는데 소요되는 시간은 상대적으로 적다. 따라서, 후자의 경우 최단 경로에 비해 이동 경로가 길지만, 전체 실행 시간이 짧아진다.Referring to FIG. 2, it can be seen that a target (green stripe) and an obstacle (pink) are placed in a work space surrounded by a wall. Since the work space is a limited space surrounded by a wall, the robot manipulator can be accessed along the floor surface of the space. As shown in the figure on the left side of FIG. 2, when the manipulator selects the shortest path to approach the target, four obstacles (indicated by a red thick outline) on the shortest path must be removed. On the other hand, as shown in the figure on the right side of FIG. 2, when a path that minimizes the number of relocation of obstacles is selected, the number of obstacles to be relocated decreases to 2 (indicated by a thick red outline). Most of the total execution time to bring the target is devoted to catching and releasing the obstacle, that is, relocating the obstacle, and the time it takes to transport the target is relatively small. Therefore, in the latter case, the moving path is longer than the shortest path, but the overall execution time is shortened.

Dogar, M. Koval, A. Tallavajhula, and S. Srinivasa, "Object search by manipulation,"Autonomous Robots, vol. 36, pp. 153-167, 2014.Dogar, M. Koval, A. Tallavajhula, and S. Srinivasa, "Object search by manipulation," Autonomous Robots, vol. 36, pp. 153-167, 2014.

본 명세서는 혼잡하고 폐쇄된 환경에서 로봇 매니퓰레이터를 이용한 목표물을 가져오는 최적화된 계획 수립 방법을 제공하는 것을 목적으로 한다.An object of the present specification is to provide an optimized planning method for bringing a target using a robot manipulator in a crowded and closed environment.

본 명세서는 상기 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The present specification is not limited to the above-mentioned tasks, and other tasks that are not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 명세서에 따른 로봇 이동 계획 수립 방법은, (a) 프로세서가 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 인식하는 단계; (b) 상기 프로세서가 상기 물체들 중 임의의 두 물체 사이를 충돌없이 이동 가능한 경우, 상기 임의의 두 물체 사이를 엣지로 연결하는 그래프(이하 '경로 그래프')를 구성하는 단계; 및 (c) 상기 프로세서가 경로 그래프에서 목표물을 가져오기까지 장애물의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하는 단계;를 포함할 수 있다.A method for establishing a robot movement plan according to the present specification for solving the above-described problem includes the steps of: (a) recognizing, by a processor, sizes and positions of objects disposed in the work space from an image photographed of the work space; (b) when the processor is capable of moving between any two of the objects without collision, constructing a graph (hereinafter referred to as'path graph') connecting the two arbitrary objects with an edge; And (c) calculating, by the processor, a path in which the number of times of movement of the obstacle is the least until bringing the target from the path graph to the shortest path.

상기 (b) 단계는, 상기 프로세서가 상기 물체들 중 너비가 가장 큰 물체의 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단하는 단계일 수 있다.The step (b) may be a step of determining whether the processor can move between the arbitrary two objects without collision based on the width of the object having the largest width among the objects.

바람직하게, 상기 (b) 단계는, 상기 프로세서가 상기 물체들 중 너비가 가장 큰 물체의 반지름 및 로봇 손의 두께를 포함하는 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단하는 단계일 수 있다.Preferably, the step (b) comprises the step of determining whether the processor can move between the arbitrary two objects without collision based on the width including the radius of the object having the largest width among the objects and the thickness of the robot hand. Can be

상기 (c) 단계는, 최초에 접근 가능한 장애물이 복수 개일 때, 상기 프로세서가 각각의 최초 접근 가능 장애물마다 목표물을 가져오기 까지의 최소 이동 횟수를 계산하고, 상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 회수를 가진 경로를 최단 경로로 계산하는 단계일 수 있다.In the step (c), when there are a plurality of initially accessible obstacles, the processor calculates the minimum number of movements before bringing the target to each of the first accessible obstacles, and the minimum number of movements of each of the first accessible obstacles It may be a step of calculating the path with the least number of times as the shortest path.

상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 회수를 가진 경로가 2개 이상일 때, 상기 (c) 단계는 상기 프로세서가 상기 가장 적은 회수를 가진 경로 각각의 유클리드 거리를 산출하고, 상기 산출된 유클리드 거리가 가장 적은 경로를 최단 경로로 계산하는 단계일 수 있다.When there are two or more paths having the least number of times among the minimum number of movements of each of the first accessible obstacles, step (c) is performed by the processor calculating the Euclidean distance of each of the paths having the least number of times, and the calculated It may be a step of calculating the path with the least Euclidean distance as the shortest path.

본 명세서의 일 실시예에 따른 로봇 이동 계획 수립 방법은, (d) 상기 프로세서가 상기 최단 경로에 따라 다음 장애물을 잡기 위해 로봇 매니퓰레이터를 제어할 때, 로봇 팔에 의한 충돌이 발생하는지 여부를 계산하는 단계; 및 (e) 상기 프로세서가 로봇 팔에 의한 충돌이 예상될 때, 상기 예상 충돌 대상 장애물을 임시 목표물로 설정하고, 상기 (c) 단계를 재 실행하는 단계;를 더 포함할 수 있다.A method of establishing a robot movement plan according to an embodiment of the present specification includes: (d) calculating whether a collision caused by the robot arm occurs when the processor controls the robot manipulator to catch the next obstacle according to the shortest path. step; And (e) when the processor is expected to collide with the robot arm, setting the predicted obstacle to be collided as a temporary target, and re-executing step (c).

본 명세서의 다른 실시예에 따른 로봇 이동 계획 수립 방법은, (d) 상기 프로세서가 상기 최단 경로에 따라 로봇을 제어하는 동안 상기 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 업데이트하는 단계; 및 (e) 상기 프로세서가 상기 (d) 단계에서 새로 인식된 물체가 있을 때, 상기 (a) 단계 내지 (c) 단계를 재 실행하는 단계;를 더 포함할 수 있다.A method of establishing a robot movement plan according to another embodiment of the present specification includes: (d) the size and position of objects placed in the working space from an image photographed of the working space while the processor controls the robot according to the shortest path. Updating to; And (e) re-executing steps (a) to (c) when there is an object newly recognized in step (d) by the processor.

본 명세서의 또 다른 실시예에 따른 로봇 이동 계획 수립 방법은, 상기 (a) 단계와 상기 (b) 단계 사이에, (a-1) 상기 프로세서가 상기 작업 공간 내에서 목표물의 인식여부를 판단하는 단계;를 포함할 수 있다.A method of establishing a robot movement plan according to another embodiment of the present specification is, between steps (a) and (b), (a-1) in which the processor determines whether or not a target is recognized in the work space. Step; may include.

제1 예시에 따르면, 상기 (a-1) 단계 이후, (a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 가장 부피가 큰 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 더 포함할 수 있다.According to the first example, after the step (a-1), (a-2) when the target is not recognized in the working space, the processor removes the bulky obstacle among the first accessible obstacles, and the (a) re-executing step; may further include.

제2 예시에 따르면, 상기 (a-1) 단계 이후, (a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 로봇으로부터 가장 가까운 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 더 포함할 수 있다.According to a second example, after the step (a-1), (a-2), when the target is not recognized in the work space, the processor removes an obstacle closest to the robot among the first accessible obstacles, and the (a) re-executing step; may further include.

제3 예시에 따르면, 상기 (a-1) 단계 이후, (a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 로봇으로부터 가정 멀리 위치한 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 포함할 수 있다.According to a third example, after the step (a-1), (a-2), when the target is not recognized in the work space, the processor removes an obstacle located far away from the robot among the first accessible obstacles. It may include; re-executing step (a).

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.

본 명세서에 따르면, 혼잡하고 폐쇄된 환경에서 로봇 매니퓰레이터를 이용한 목표물을 가져오는 최적화된 계획 수립 방법을 제공할 수 있다.According to the present specification, it is possible to provide an optimized planning method for bringing a target using a robot manipulator in a crowded and closed environment.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 로봇 매니퓰레이터의 작업 환경에 대한 예시도이다.
도 2는 장애물 재배치 계획 최적화의 예시도이다.
도 3은 카메라에 의해 파악되는 작업 공간의 참고도이다.
도 4는 본 명세서에 따른 로봇 이동 계획 수립 방법의 순서도이다.
도 5는 목표물과 장애물이 배치된 3가지 경우의 참고도이다.
도 6은 충돌없이 이동 가능한 경로의 이해를 위한 참고도이다.
도 7은 로봇 손이 물체를 잡았을 때의 참고도이다.
도 8은 경로 그래프를 구성하는 예시도이다.
도 9는 최단 경로를 계산하는 예시도이다.
도 10은 본 명세서의 일 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.
도 11은 본 명세서의 다른 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.
도 12는 본 명세서의 다른 실시예에 따라 안 보이던 장애물이 나중에 보인 경우에 대한 참고도이다.
도 13은 본 명세서의 또 다른 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.
도 14는 본 명세서의 또 다른 실시예에 따른 로봇 이동 계획 수립 방법의 흐름도이다.
1 is an exemplary diagram for a working environment of a robot manipulator.
2 is an exemplary diagram of an obstacle relocation plan optimization.
3 is a reference diagram of a work space grasped by a camera.
4 is a flowchart of a method of establishing a robot movement plan according to the present specification.
5 is a reference diagram of three cases in which a target and an obstacle are arranged.
6 is a reference diagram for understanding a path that can be moved without collision.
7 is a reference diagram when a robot hand grasps an object.
8 is an exemplary diagram of configuring a path graph.
9 is an exemplary diagram for calculating the shortest path.
10 is a flowchart of a method of establishing a robot movement plan according to an embodiment of the present specification.
11 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.
12 is a reference diagram for a case in which an invisible obstacle is later seen according to another embodiment of the present specification.
13 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.
14 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.

본 명세서에 개시된 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 명세서가 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 명세서의 개시가 완전하도록 하고, 본 명세서가 속하는 기술 분야의 통상의 기술자(이하 '당업자')에게 본 명세서의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 명세서의 권리 범위는 청구항의 범주에 의해 정의될 뿐이다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Advantages and features of the invention disclosed in the present specification, and a method of achieving them will become apparent with reference to the embodiments described later in detail together with the accompanying drawings. However, the present specification is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms. It is provided to completely inform the scope of the present specification to a technician (hereinafter referred to as'the person in charge'), and the scope of the rights of the present specification is only defined by the scope of the claims. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

혼잡한 환경에서의 목표물을 가져오는 작업은 인식(perception), 재배치 계획 수립(relocation planning), 붙잡기(grasping), 경로 계획 수립(path planning) 및 이동(navigation)과 같은 여러가지 과정이 필요하다. 본 명세서는 로봇 매니퓰레이터가 목표물을 가져오기 위해 장애물과 충돌하지 않는 경로를 수립하는 방법에 초점을 두고 있다. 본 명세서에 따른 로봇 이동 계획 수립 방법을 설명하기 전에 전제 사항들에 대해서 설명하겠다.Retrieving targets in a congested environment requires several processes such as perception, relocation planning, grasping, path planning, and navigation. This specification focuses on a method of establishing a path in which a robot manipulator does not collide with an obstacle to bring a target. Before describing the method of establishing a robot movement plan according to the present specification, the prerequisites will be described.

본 명세서에서 로봇 매니퓰레이터는 물체를 잡는 로봇 손과 상기 로봇 손과 연결되어 구동력을 전달하는 로봇 팔로 이루어져 있다. 본 명세서에서 가끔 '로봇'으로만 언급되는 모든 구성은 '로봇 매니퓰레이터'를 의미한다.In the present specification, the robot manipulator includes a robot hand that holds an object and a robot arm that is connected to the robot hand and transmits a driving force. All configurations sometimes referred to only as'robots' in this specification mean'robot manipulators'.

모든 물체들(목표물 및 장애물 포함)은 로봇 매니퓰레이터의 작업 공간에 밀집되어 있다. 이때 장애물과 충돌이 없는 매니퓰레이터의 경로는 존재하지 않기 때문에 장애물의 재배치가 반드시 필요한 상황이다. 또한 단순화를 위해, 모든 물체들은 어느 방향에서든지 로봇 손에 의해서 잡힐 수 있다고 가정한다. 그리고 폐쇄된 공간에서의 동작을 위해 물체의 상단을 잡는 것은 고려하지 않고, 로봇 손이 물체의 측면을 따라 2D 경로(3D 공간에서 고정된 높이로)로 잡는 것을 고려한다. 작업 공간의 전방-상단에 고정된 카메라가 로봇 매니퓰레이터의 작업 공간을 인식하는데 충분한 것으로 가정한다(도 3 참조).All objects (including targets and obstacles) are concentrated in the working space of the robot manipulator. At this time, the manipulator path without obstacles and collisions does not exist, so repositioning of the obstacles is indispensable. Also, for simplicity, it is assumed that all objects can be held by the robot hand in any direction. In addition, it is not considered to hold the top of the object for motion in a closed space, but consider that the robot hand takes a 2D path (at a fixed height in 3D space) along the side of the object. It is assumed that the camera fixed at the front-top of the working space is sufficient to recognize the working space of the robot manipulator (see Fig. 3).

작업 공간이 장애물에 의해 폐색된 것을 확인할 수 있다. 로봇 손이 목표물을 가져오기 위해서는 가장 앞에 배치된 장애물부터 치워야 하는데, 이때 재배치없이 로봇 손으로 접근가능(accessible)한 장애물을 '최초 접근 가능 장애물'이라고 명명한다. 도 3의 가장 오른쪽에 도시된 도면을 참조하면, 4개의 최초 접근 가능한 장애물(두꺼운 외각선으로 표시)이 있고, 로봇 손이 접근할 수 있는 공간 부족으로 인해 나머지 장애물에는 접근할 수 없다.It can be seen that the work space is occluded by an obstacle. In order for the robot hand to bring the target, the obstacle placed in front of it must be removed. At this time, the obstacle accessible by the robot hand without rearrangement is referred to as the'first accessible obstacle'. Referring to the drawing shown at the far right of FIG. 3, there are four first accessible obstacles (indicated by thick outlines), and the remaining obstacles cannot be approached due to lack of space to which the robot hand can access.

본 명세서에 따른 로봇 이동 계획 수립 방법은 프로세서(processor)에 의해서 실행될 수 있다. 상기 프로세서는 이하 설명될 로봇 이동 계획 수립 방법의 각 단계를 실행하기 위해 본 발명이 속한 기술분야에 알려진 마이크로프로세서, ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로, 레지스터, 통신 모뎀, 데이터 처리 장치 등을 포함할 수 있다. 또한, 이하 설명될 방법이 소프트웨어로 구현될 때, 각 단계는 프로그램 모듈의 집합으로 구현될 수 있다. 이 때, 프로그램 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다.The robot movement plan establishment method according to the present specification may be executed by a processor. The processor is a microprocessor known in the art, an application-specific integrated circuit (ASIC), another chipset, a logic circuit, a register, a communication modem, and data to execute each step of the method for establishing a robot movement plan to be described below. It may include a processing device and the like. In addition, when the method to be described below is implemented in software, each step may be implemented as a set of program modules. In this case, the program module may be stored in a memory and executed by a processor.

도 4는 본 명세서에 따른 로봇 이동 계획 수립 방법의 순서도이다.4 is a flowchart of a method of establishing a robot movement plan according to the present specification.

도 4를 참조하면, 먼저 단계 S10에서, 상기 프로세서가 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 인식할 수 있다. 이때 목표물과 장애물의 배치 상태에 따라 3가지 경우로 나눌 수 있다.Referring to FIG. 4, first, in step S10, the processor may recognize the sizes and positions of objects disposed in the working space from an image photographed of the working space. At this time, it can be divided into three cases according to the arrangement state of the target and the obstacle.

도 5는 목표물과 장애물이 배치된 3가지 경우의 참고도이다.5 is a reference diagram of three cases in which a target and an obstacle are arranged.

도 5의 왼쪽을 참조하면, 모든 장애물들의 배치가 파악되며, 목표물이 보이는 경우이다(Case 1). 이 경우, 로봇 이동 계획은 첫 장애물을 재배치하기 전에 모두 수립될 것이다. 도 5의 중앙을 참조하면, 장애물들의 일부만이 배치가 파악되며, 목표물이 보이는 경우이다(Case 2). 이 경우, 일부 장애물은 로봇 이동 계획에 따라 일부 장애물을 재배치하는 과정에서 일부 파악되지 않았던 장애물이 보이게 될 것이다. 도 5의 오른쪽을 참조하면, 장애물들의 일부만이 배치가 파악되며, 목표물이 보이지 않는 경우이다(Case 3). 이 경우, 일부 장애물 및 목표물은 앞에 배치된 장애물이 재배치된 이후에 보이게 될 것이다. 3가지 경우 중 모든 장애물들의 배치가 파악되며, 목표물이 보이는 경우(Case 1)을 먼저 설명하도록 하겠다. 나머지 경우(Case 2 및 3)는 그 다음에 설명하도록 하겠다.Referring to the left side of FIG. 5, the arrangement of all obstacles is identified, and the target is visible (Case 1). In this case, the robot movement plan will all be established before relocating the first obstacle. Referring to the center of FIG. 5, only some of the obstacles are located and the target is visible (Case 2). In this case, some of the obstacles will be seen in the process of rearranging some of the obstacles according to the robot movement plan. Referring to the right side of FIG. 5, only some of the obstacles are located and the target is not visible (Case 3). In this case, some obstacles and targets will be visible after the obstacles placed in front are rearranged. Among the three cases, the arrangement of all obstacles is identified, and the case where the target is visible (Case 1) will be explained first. The remaining cases (Cases 2 and 3) will be explained next.

다시 도 4를 참조하면, 단계 S20에서, 상기 프로세서가 상기 물체들 중 임의의 두 물체 사이를 충돌없이 이동 가능한 경우, 상기 임의의 두 물체 사이를 엣지로 연결하는 그래프(이하 '경로 그래프')를 구성할 수 있다. 이러한 경로 그래프는 두 물체 사이의 관계를 나타내는 선이며, 그 관계는 충돌 없는 경로의 존재를 의미하고, 그 경로는 직선이거나 또는 직선이 아닐 수도 있다. Referring to FIG. 4 again, in step S20, when the processor is able to move between any two of the objects without collision, a graph connecting the two arbitrary objects with an edge (hereinafter,'path graph') is created. Configurable. Such a path graph is a line representing a relationship between two objects, and the relationship means the existence of a collision-free path, and the path may or may not be a straight line.

단계 S20에 대해서 도 6 내지 8을 참조하여 보다 상세하게 설명하겠다.Step S20 will be described in more detail with reference to FIGS. 6 to 8.

도 6은 충돌없이 이동 가능한 경로의 이해를 위한 참고도이다.6 is a reference diagram for understanding a path that can be moved without collision.

도 6의 (a)를 참조하면, 크기가 다양한 5개의 물체(O1 ~ O5)가 도시되어 있다. 이때, 도 6의 (b)와 같이, O2와 O4가 없다고 가정해보겠다. 그렇다면, 가장 큰 물체인 O3는 O2와 O4를 연결하는 경로(회색사선으로 표시된 영역)를 통해서 이동이 가능하다. 따라서 도 6의 (c)와 같이, 가장 큰 물체인 O3가 O2와 O4를 연결하는 경로를 통해서 이동이 가능하다면, 다른 물체들도 모두 O2와 O4를 연결하는 경로를 통해서 이동이 가능하다. 도 6의 (d)와 같이, 동일한 방식이 O1과 O2 사이에도 적용될 수 있다. 그리고 도 6의 (e)와 같이, O4, O2및 O1이 제거되면, O3를 가져올 수 있다. 한편, O5만 제거하여도 로봇은 O3를 끌어올 수 있다. 충돌 여부를 판단하기 위해서 수정 VFH+를 적용할 수 있다(참조: I. Ulrich and J. Borenstein, "VFH+: Reliable obstacle avoidance for fast mobile robots," in Proc. of IEEE Int. Conf. on Robotics and Automation (ICRA), 1998, pp. 1572-1577.)Referring to FIG. 6A, five objects O 1 to O 5 having various sizes are shown. At this time, as shown in (b) of FIG. 6, it will be assumed that there are no O 2 and O 4. If so, the largest object, O 3 , can move through a path connecting O 2 and O 4 (area indicated by a gray diagonal line). Therefore, as shown in (c) of Figure 6, the, if a large object, the O 3 movement is possible through the path connecting the O 2 and O 4, travels through a path to all of these other objects connected to the O 2 and O 4 This is possible. As shown in (d) of FIG. 6, the same method may be applied between O 1 and O 2. And as shown in (e) of Figure 6, when O 4 , O 2 and O 1 are removed, O 3 can be brought. On the other hand, even if only O 5 is removed, the robot can pull O 3. To determine whether there is a collision, the modified VFH + can be applied (see: I. Ulrich and J. Borenstein, "VFH+: Reliable obstacle avoidance for fast mobile robots," in Proc. of IEEE Int. Conf. on Robotics and Automation. (ICRA), 1998, pp. 1572-1577.)

따라서, 단계 S20에서 상기 프로세서는 상기 물체들 중 너비가 가장 큰 물체의 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단할 수 있다. 한편, 상기 프로세서는 상기 물체들 중 너비가 가장 큰 물체의 반지름 및 로봇 손의 두께를 포함하는 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단할 수 있다.Accordingly, in step S20, the processor may determine whether it is possible to move between the arbitrary two objects without collision based on the width of the object having the largest width among the objects. Meanwhile, the processor may determine whether the arbitrary two objects can be moved without collision based on a width including a radius of an object having the largest width among the objects and a thickness of a robot hand.

도 7은 로봇 손이 물체를 잡았을 때의 참고도이다.7 is a reference diagram when a robot hand grasps an object.

도 7을 참조하면, 물체의 반지름이 " ri"로 표현되어 있고, 로봇 손의 두께가 "rr"로 표현되어 있다. 따라서, 로봇 손이 물체를 잡았을 때 반지름은, 도 7에 도시된 바와 같이 rg=ri+rr이 된다. 상기 " rg "이 두 물체 사이를 충돌없이 이동 가능한지 여부를 판단하는 크기의 기본 정보가 될 수 있다. 도 6의 (c) 및 (d)에서는 가장 큰 물체인 O3가 로봇 손에 잡혔을 때의 크기(회색링)가 기준이 되어 두 물체 사이를 충돌없이 이동 가능한지 판단하는 예시이다.Referring to FIG. 7, the radius of the object is expressed as "r i " and the thickness of the robot hand is expressed as "r r ". Therefore, when the robot hand grasps the object, the radius becomes r g = r i + r r as shown in FIG. 7. The "r g " may be basic information of a size for determining whether or not it is possible to move between two objects without collision. In (c) and (d) of FIG. 6, the size (gray ring) when the largest object O 3 is held by the robot's hand is used as a reference, and it is an example of determining whether it is possible to move between two objects without collision.

바람직하게, 상기 프로세서는 상기 물체들 중 너비가 가장 큰 물체의 반지름 및 로봇 손의 두께에 이동 중 다른 물체와의 충돌을 방지하기 위한 안전 간격(safety margin)을 추가한 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단할 수 있다.Preferably, the processor is based on a width obtained by adding a safety margin for preventing collision with another object during movement to the radius of the object having the largest width among the objects and the thickness of the robot hand. It can be determined whether it is possible to move between two objects without collision.

도 8은 경로 그래프를 구성하는 예시도이다.8 is an exemplary diagram of configuring a path graph.

도 8의 (a) 내지 (h)를 참조하면, 3개의 장애물(O1~O3) 및 1개의 목표물(Ot)이 있고, 이에 대응하는 4개의 노드(V1~V3, Vt)를 확인할 수 있다. 도 8의 (a) 내지 (h)에서 물체 주변 벽은 생략되었지만, 여전히 벽에 둘러싸여 로봇이 정면을 제외한 다른 방향에서 접근이 불가능한 상황으로 가정한다.8A to 8H, there are three obstacles (O 1 to O 3 ) and one target (O t ), and four nodes (V 1 to V 3 , V t) corresponding thereto. ) Can be checked. Although the wall around the object is omitted in FIGS. 8A to 8H, it is assumed that the robot is still surrounded by the wall and cannot access from any direction other than the front side.

도 8의 (a)에서, 가장 큰 물체인 O2가 충돌없이 이동 가능한 경로인지 판단하기 위한 물체로 선택된다. 상기 물체 O2 주변의 회색링은 로봇 손과 안전 간격을 고려한 너비이다. 도 8의 (b)에서, 물체 O1과 물체 O2 사이는 충돌이 발생할 수 있으므로, 노드 V1과 노드 V2 사이에는 경로가 연결되지 않는다. 도 8의 (c)에서, 물체 O1과 물체 O3 사이는 충돌없이 이동이 가능하므로, 노드 V1과 노드 V3 사이에는 경로가 연결된다. 같은 방식으로 도 8의 (d) 내지 (f)에서 노드 사이에 경로가 연결된다. 도 8의 (g)에서, 물체 Ot과 물체 O3 사이는 충돌이 발생할 수 있으므로, 노드 Vt과 노드 V3 사이에는 경로가 연결되지 않는다. 물체와 물체 사이에서 조합 가능한 모든 경우를 수에 대해서 충돌 여부를 판단하고, 이에 따라 경로를 연결하여 구성된 것이 도 8의 (h)이다.In (a) of FIG. 8, O 2, which is the largest object, is selected as an object for determining whether a path can be moved without collision. The gray ring around the object O 2 is the width taking into account the safety distance from the robot hand. In (b) of FIG. 8, a collision may occur between the object O 1 and the object O 2 , and thus a path is not connected between the node V 1 and the node V 2. In (c) of FIG. 8, since the object O 1 and the object O 3 can move without collision, a path is connected between the node V 1 and the node V 3. In the same way, paths are connected between nodes in (d) to (f) of FIG. 8. In (g) of FIG. 8, a collision may occur between the object O t and the object O 3 , so that a path is not connected between the node V t and the node V 3. In FIG. 8(h), it is determined whether a collision exists with respect to the number of all possible combinations between the object and the object, and the paths are connected accordingly.

다시 도 4를 참조하면, 단계 S30에서, 상기 프로세서가 경로 그래프에서 목표물을 가져오기까지 장애물의 이동 횟수가 가장 적은 경로를 최단 경로로 계산할 수 있다.Referring back to FIG. 4, in step S30, the path in which the number of times of movement of the obstacle is the least until the processor brings the target from the path graph may be calculated as the shortest path.

상기 프로세서는 경로 그래프에서 최초 접근 가능 장애물로부터 이동 횟수를 계산하게 된다. 최초에 접근 가능한 장애물이 복수 개일 때, 상기 프로세서가 각각의 최초 접근 가능 장애물마다 목표물을 가져오기 까지의 최소 이동 횟수를 계산하고, 상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 횟수를 가진 경로를 최단 경로로 계산할 수 있다. 최소 이동 횟수를 계산하기 위해, 상기 프로세서는 BFS(Breadth First search) 알고리즘을 사용할 수 있다(참조: T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to algorithms. MIT press, 2009.).The processor calculates the number of movements from the first accessible obstacle in the path graph. When there are a plurality of initially accessible obstacles, the processor calculates the minimum number of movements to bring the target for each first accessible obstacle, and the path with the least number of the minimum number of movements of each of the first accessible obstacles Can be calculated as the shortest path. To calculate the minimum number of movements, the processor may use a BFS (Breadth First search) algorithm (see T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to algorithms. MIT press, 2009). .).

한편, 상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 횟수를 가진 경로가 2개 이상일 때, 즉, 동점인 경로가 2개 이상일 때 상기 프로세서가 상기 가장 적은 횟수를 가진 경로 각각의 유클리드 거리(Euclidean distances)를 산출하고, 상기 산출된 유클리드 거리가 가장 적은 경로를 최단 경로로 계산할 수 있다.On the other hand, when two or more paths with the least number of times among the minimum number of movements of each of the first accessible obstacles, that is, two or more paths with a tie, the processor determines the Euclidean distance of each path with the least number of times ( Euclidean distances) may be calculated, and a path having the smallest Euclidean distance may be calculated as the shortest path.

도 9는 최단 경로를 계산하는 예시도이다.9 is an exemplary diagram for calculating the shortest path.

도 9의 왼쪽을 살펴보면, 벽으로 둘러싸인 작업 공간에 녹색으로 표시된 목표물 및 적색으로 표시된 장애물을 확인할 수 있다. 도 9의 오른쪽을 살펴보면, 목표물 및 장애물에 대응하여 노드 및 경로가 표시되어 있다. 로봇의 작업 방향은 도면의 아래 방향이며, 최초 접근 가능 장애물은 4번, 5번, 6번 및 8번이다. 상기 프로세서는 4번, 5번, 6번 및 8번으로부터 시작하여 목표물인 7번을 가져올 수 있는 최소 횟수를 계산할 수 있다. 그리고 상기 프로세서가 4번 장애물을 최초 접근 가능 장애물로 하여 계산한 경로가 2회로서 가장 적은 횟수로 계산된 것으로 가정하겠다. 도 9의 오른쪽에 굵은 붉은 색으로 표시된 경로에 따라 4번, 9번 순서로 제거되는 경로이다.Looking at the left side of FIG. 9, targets marked in green and obstacles marked in red can be seen in a work space surrounded by a wall. Looking at the right side of FIG. 9, nodes and paths are displayed corresponding to targets and obstacles. The robot's working direction is the downward direction in the drawing, and the first accessible obstacles are 4, 5, 6, and 8. The processor may calculate the minimum number of times that the target number 7 can be fetched, starting from 4, 5, 6, and 8. In addition, it is assumed that the path calculated by the processor using the fourth obstacle as the first accessible obstacle is calculated as the smallest number of times as two times. It is a path that is removed in the order of number 4 and number 9 according to the path indicated in bold red on the right side of FIG. 9.

지금까지 설명된 경로 그래프를 구성하는 과정에서, 로봇의 역학적 제약(kinematic constraints)은 고려되지 않았다. 로봇 손이 충돌없이 물체를 잡을 수 있는 경로이지만, 로봇 팔이 다른 물체에 충돌할 수도 있다. 따라서 로봇 팔의 충돌 여부를 판단하고 경로를 재 설정하는 과정이 필요할 수 있다.In the process of constructing the path graph described so far, the kinematic constraints of the robot were not considered. Although the robotic hand is the path to grab objects without collision, the robotic arm may collide with other objects. Therefore, it may be necessary to determine whether the robot arm collides and to reset the path.

도 10은 본 명세서의 일 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.10 is a flowchart of a method of establishing a robot movement plan according to an embodiment of the present specification.

도 10을 참조하면, 도 4에 도시된 순서도의 단계 S10 내지 단계 S30은 동일한 것을 확인할 수 있다. 따라서 단계 S10 내지 단계 S30에 대한 반복적인 설명은 생략하도록 하겠다. 단계 S30이후 단계 S40에서, 상기 프로세서가 상기 최단 경로에 따라 다음 장애물을 잡기 위해 로봇 매니퓰레이터를 제어할 수 있다. 가장 처음에 제거되는 장애물은 최초 접근 가능 장애물이 될 것이다. 앞서 설명하였듯이, 로봇이 최초 접근 가능 장애물을 제거하는 것에는 로봇의 역학적 제약이 없다. 상기 프로세서는 단계 S40을 수행한 후 단계 S50으로 이행한다.Referring to FIG. 10, it can be seen that steps S10 to S30 of the flowchart shown in FIG. 4 are the same. Therefore, a repetitive description of steps S10 to S30 will be omitted. In step S40 after step S30, the processor may control the robot manipulator to catch the next obstacle along the shortest path. The first obstacle to be removed will be the first accessible obstacle. As explained earlier, there is no mechanical limitation of the robot for the robot to remove the first accessible obstacle. The processor performs step S40 and then proceeds to step S50.

단계 S50에서, 상기 프로세서가 로봇 팔에 의한 충돌이 발생하는지 여부를 계산할 수 있다. 상기 프로세서는 로봇 팔에 의한 충돌 여부를 "J. Pan, S. Chitta, and D. Manocha, "Fcl: A general purpose library for collision and proximity queries," in Proc. of IEEE Int. Conf. on Robotics and Automation (ICRA), 2012, pp. 3859-3866."를 참조하여 계산할 수 있다. 로봇 팔에 의한 충돌이 없다면(단계 S50의 NO), 상기 프로세서는 단계 S40으로 이행하여 상기 최단 경로에 따라 다음 장애물을 제거하게 된다. 따라서 모든 경로에서 로봇 팔에 의한 충돌이 없다면, 상기 프로세서는 목표물을 가져올 때 가지 단계 S40과 단계 S50을 반복적으로 실행하게 될 것이다. 반면, 로봇 팔에 의한 충돌이 예상된다면(단계 S50의 YES), 상기 프로세서는 단계 S51로 이행한다.In step S50, the processor may calculate whether a collision occurs due to the robot arm. The processor determines whether a robotic arm is collided with or without "J. Pan, S. Chitta, and D. Manocha, "Fcl: A general purpose library for collision and proximity queries," in Proc. of IEEE Int. Conf. on Robotics and Automation (ICRA), 2012, pp. 3859-3866." If there is no collision by the robot arm (NO in step S50), the processor proceeds to step S40 to remove the next obstacle along the shortest path. Therefore, if there is no collision by the robot arm in all paths, the processor will repeatedly execute branch steps S40 and S50 when bringing the target. On the other hand, if a collision by the robot arm is expected (YES in step S50), the processor proceeds to step S51.

단계 S51에서, 상기 프로세서가 로봇 팔에 의한 충돌이 예상될 때, 상기 예상 충돌 대상 장애물을 임시 목표물로 설정하고, 단계 S30으로 이행한다. 그리고 상기 프로세서는 상기 임시 목표물을 가져올 수 있는 최단 경로를 다시 계산하여 상기 예상 충돌 대상 장애물을 우선적으로 제거한다. 따라서, 임시 목표물이 제거될 때까지, 상기 프로세서는 단계 S30 내지 단계 S50을 반복적으로 수행한다. 상기 임시 목표물이 제거되면, 상기 프로세서는 최초에 계산했던 최단 경로에 따라 원래 목표물을 가져오기 위해 장애물을 제거할 수 있다.In step S51, when a collision by the robot arm is predicted by the processor, the predicted collision target obstacle is set as a temporary target, and the process proceeds to step S30. In addition, the processor preferentially removes the expected collision target obstacle by recalculating the shortest path through which the temporary target can be brought. Accordingly, until the temporary target is removed, the processor repeatedly performs steps S30 to S50. When the temporary target is removed, the processor may remove the obstacle to bring the original target according to the shortest path initially calculated.

한편, 지금까지 도 5에 도시된 목표물과 장애물이 배치된 3가지 경우 중 도 5의 모든 장애물들의 배치가 파악되며, 목표물이 보이는 경우(Case 1)에 대해서 설명하였다. 이하에서는 도 5의 중앙에 도시된 바와 같이, 장애물들의 일부만이 배치가 파악되며, 목표물이 보이는 경우(Case 2)에 대해서 설명하도록 하겠다.Meanwhile, out of the three cases in which the target and the obstacle shown in FIG. 5 are arranged so far, the arrangement of all the obstacles in FIG. 5 is recognized, and the case where the target is visible (Case 1) has been described. Hereinafter, as shown in the center of FIG. 5, only some of the obstacles are identified, and a case where the target is visible (Case 2) will be described.

도 11은 본 명세서의 다른 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.11 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.

도 11을 참조하면, 도 4에 도시된 순서도의 단계 S10 내지 단계 S30은 동일한 것을 확인할 수 있다. 따라서 단계 S10 내지 단계 S30에 대한 반복적인 설명은 생략하도록 하겠다. 단계 S30이후 단계 S40에서, 상기 프로세서가 상기 최단 경로에 따라 다음 장애물을 잡기 위해 로봇 매니퓰레이터를 제어할 수 있다. 가장 처음에 제거되는 장애물은 최초 접근 가능 장애물이 될 것이다. 앞서 설명하였듯이, 로봇이 최초 접근 가능 장애물을 제거하는 것에는 로봇의 역학적 제약이 없다. 상기 프로세서는 단계 S40을 수행한 후 단계 S50으로 이행한다.Referring to FIG. 11, it can be seen that steps S10 to S30 of the flowchart shown in FIG. 4 are the same. Therefore, a repetitive description of steps S10 to S30 will be omitted. In step S40 after step S30, the processor may control the robot manipulator to catch the next obstacle along the shortest path. The first obstacle to be removed will be the first accessible obstacle. As explained earlier, there is no mechanical limitation of the robot for the robot to remove the first accessible obstacle. The processor performs step S40 and then proceeds to step S50.

단계 S50에서, 상기 프로세서가 상기 최단 경로에 따라 로봇을 제어하는 동안 상기 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 업데이트할 수 있다. 이때 프로세서가 사용하는 작업 공간을 촬영한 이미지는 단계 S40 이후에 촬영된 이미지 즉, 장애물 하나가 제거된 이후의 이미지이다. 그리고 상기 프로세서는 단계 S51로 이행한다.In step S50, while the processor controls the robot according to the shortest path, the size and position of objects disposed in the work space may be updated from an image photographed of the work space. At this time, the image of the work space used by the processor is the image taken after step S40, that is, the image after one obstacle has been removed. Then, the processor proceeds to step S51.

만약 새로 인식된 물체가 없다면(단계 S51의 NO), 상기 프로세서는 단계 S40으로 이행하여 최단 경로에 따라 다음 장애물을 제거할 것이다. 반면, 새로 인식된 물체가 없다면(단계 S51의 YES), 상기 프로세서는 단계 S10로 이행하여 단계 S10 내지 단계 S30을 재 실행한다. 즉, 새로 인식된 장애물에 대한 경로 그래프를 재 구성하고, 재구성된 경로 그래프에 따라 다시 최단 경로를 계산하게 된다. 이후 상기 프로세서는 다시 계산된 최단 경로에 따라 상기 장애물을 제거하도록 제어할 것이다.If there is no newly recognized object (NO in step S51), the processor will proceed to step S40 and remove the next obstacle according to the shortest path. On the other hand, if there is no newly recognized object (YES in step S51), the processor proceeds to step S10 and executes steps S10 to S30 again. That is, the path graph for the newly recognized obstacle is reconstructed, and the shortest path is calculated again according to the reconstructed path graph. Thereafter, the processor will control to remove the obstacle according to the recalculated shortest path.

도 12는 본 명세서의 다른 실시예에 따라 안 보이던 장애물이 나중에 보인 경우에 대한 참고도이다.12 is a reference diagram for a case in which an invisible obstacle is later seen according to another embodiment of the present specification.

도 12의 (a)를 참조하면, 벽으로 둘러싸인 작업 공간에 녹색으로 표시된 목표물 및 적색으로 표시된 장애물을 확인할 수 있다. 이때, 회색으로 표시된 최초 접근 가능 장애물 뒤에 핑크색으로 표시된 2개의 장애물은 인식되지 않은 것을 나타낸다. 굵은 붉은 선은 최단 경로를 의미한다.Referring to (a) of FIG. 12, targets marked in green and obstacles marked in red can be identified in a work space surrounded by a wall. At this time, two obstacles marked in pink behind the first accessible obstacle marked in gray are not recognized. The thick red line means the shortest path.

도 12의 (b)를 참조하면, 0번 장애물을 제거한 이후에 안보이던 4번 장애물을 인식한 상황이다. 이에 따라 상기 프로세서는 4번을 포함하여 경로 그래프를 재 구성하고, 재 구성된 경로 그래프에 따라 4번과 8번을 연결하는 최단 경로를 계산할 수 있다.Referring to FIG. 12B, it is a situation in which an invisible obstacle 4 is recognized after removing the 0 obstacle. Accordingly, the processor may reconfigure the route graph including No. 4, and calculate the shortest route connecting Nos. 4 and 8 according to the reconfigured route graph.

도 12의 (c)를 참조하면, 4번 장애물을 제거한 이후에 안보이던 7번 장애물을 인식한 상황이다. 유사하게 상기 프로세서는 7번을 포함하여 경로 그래프를 재 구성하고, 재 구성된 경로 그래프에 따라 7번과 8번을 연결하는 최단 경로를 계산할 수 있다.Referring to (c) of FIG. 12, it is a situation in which an invisible obstacle 7 is recognized after removing the number 4 obstacle. Similarly, the processor may reconfigure the route graph including No. 7, and calculate the shortest route connecting Nos. 7 and 8 according to the reconfigured route graph.

도 12의 (d)를 참조하면, 0번부터 8번에 도달하는 최종적인 경로가 나타난다.Referring to (d) of FIG. 12, the final route from 0 to 8 is shown.

지금까지는 목표물의 위치가 인식된 상황에서 최단 경로를 찾는 알고리즘에 대해서 설명하였다. 이하에서는 도 5의 오른쪽에 도시된 바와 같이, 장애물들의 일부만이 배치가 파악되며, 목표물이 보이지 않는 경우(Case 3)에 대해서 설명하도록 하겠다.So far, the algorithm for finding the shortest path in the situation where the location of the target is recognized has been described. Hereinafter, as shown on the right side of FIG. 5, only a part of the obstacles are identified, and a case where the target is not visible (Case 3) will be described.

도 13은 본 명세서의 또 다른 실시예에 따른 로봇 이동 계획 수립 방법의 순서도이다.13 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.

도 13을 참조하면, 도 4에 도시된 순서도의 단계 S10 내지 단계 S30은 동일한 것을 확인할 수 있다. 따라서 단계 S10 내지 단계 S30에 대한 반복적인 설명은 생략하도록 하겠다. 도 4와 차이점은 단계 S10과 단계 S20 사이에 단계 S11 및 단계 S12가 추가된 것을 확인할 수 있다.Referring to FIG. 13, it can be seen that steps S10 to S30 of the flowchart shown in FIG. 4 are the same. Therefore, a repetitive description of steps S10 to S30 will be omitted. The difference from FIG. 4 is that steps S11 and S12 are added between steps S10 and S20.

단계 S10 이후 단계 S11에서, 상기 프로세서가 상기 작업 공간 내에서 목표물의 인식여부를 판단할 수 있다. 목표물의 위치 등이 인식되면(단계 S11의 YES), 상기 프로세서는 단계 S20으로 이행한다. 이후 단계 S20 및 단계 S30은 앞서 설명한 과정과 동일하다. 반면, 목표물의 위치 등이 인식되지 않으면(단계 S11의 NO), 상기 프로세서는 단계 S12로 이행한다.In step S11 after step S10, the processor may determine whether or not the target object is recognized in the work space. When the position of the target or the like is recognized (YES in step S11), the processor proceeds to step S20. Subsequent steps S20 and S30 are the same as those described above. On the other hand, if the position of the target or the like is not recognized (NO in step S11), the processor proceeds to step S12.

단계 S12에서 상기 프로세서가 어느 하나의 장애물을 제거하고, 단계 S10으로 이행한다. 상기 프로세서는 목표물이 인식될까지 단계 S10 내지 S12를 반복적으로 실행할 수 있다. 한편, 단계 S12에서 상기 프로세서가 어느 장애물 하나를 제거할 것인지 선택하는 과정에서 다양한 실시예가 가능하다.In step S12, the processor removes any one of the obstacles and proceeds to step S10. The processor may repeatedly execute steps S10 to S12 until the target is recognized. Meanwhile, various embodiments are possible in the process of selecting which one of the obstacles to be removed by the processor in step S12.

제1 예시에 따르면, 단계 S12에서, 상기 프로세서가 최초 접근 가능 장애물들 중 가장 부피가 큰 즉, 로봇의 시야를 가장 많이 가리는 장애물을 제거할 수 있다. 제2 예시에 따르면, 단계 S12에서, 상기 프로세서가 최초 접근 가능 장애물들 중 로봇으로부터 가장 가까운 장애물을 제거할 수 있다. 제3 예시에 따르면, 단계 S12에서, 상기 프로세서가 최초 접근 가능 장애물들 중 로봇으로부터 가장 멀리 위치한 장애물을 제거할 수 있다.According to the first example, in step S12, the processor may remove an obstacle that is the largest among the first accessible obstacles, that is, the obstacle that most obstructs the view of the robot. According to the second example, in step S12, the processor may remove an obstacle closest to the robot among the first accessible obstacles. According to the third example, in step S12, the processor may remove the obstacle located furthest from the robot among the first accessible obstacles.

한편, 도 4, 도 10, 도 11 및 도 13을 참조하여 설명된 본 명세서에 따른 로봇 이동 계획 수립 방법은 각 상황에 따른 알고리즘의 특징으로 보다 명확하게 설명하기 위해 서로 분리된 실시예로 설명하였으나, 본 명세서에 기재된 각각의 알고리즘은 하나의 통합된 알고리즘으로 실행될 수 있다.On the other hand, the robot movement plan establishment method according to the present specification described with reference to FIGS. 4, 10, 11, and 13 has been described as an embodiment separated from each other in order to more clearly describe the characteristics of the algorithm according to each situation. , Each algorithm described in this specification may be implemented as a single integrated algorithm.

도 14는 본 명세서의 또 다른 실시예에 따른 로봇 이동 계획 수립 방법의 흐름도이다.14 is a flowchart of a method of establishing a robot movement plan according to another embodiment of the present specification.

도 14를 참조하면, 단계 S10, S11, S12, S20, S30은 도 13에 도시된 실시예와 동일하며, 단계 S40, 50, 51은 도 11에 도시된 실시예와 동일하며, 단계 S60 및 S61은 도 10에 도시된 단계 S50 및 S51에 대응한다.Referring to FIG. 14, steps S10, S11, S12, S20, and S30 are the same as the embodiment shown in FIG. 13, and steps S40, 50, and 51 are the same as the embodiment shown in FIG. 11, and steps S60 and S61 Corresponds to steps S50 and S51 shown in FIG. 10.

한편, 본 명세서에 따른 로봇 이동 계획 수립 방법은 컴퓨터 프로그램 형태로 구현될 수 있다. 상기 컴퓨터프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C/C++, C#, JAVA, Python, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.Meanwhile, the method of establishing a robot movement plan according to the present specification may be implemented in the form of a computer program. The computer program includes C/C++, C#, JAVA, Python that can be read by the computer's processor (CPU) through the computer's device interface in order for the computer to read the program and execute the methods implemented as a program. , May include a code (Code) coded in a computer language such as machine language. Such code may include a functional code related to a function defining necessary functions for executing the methods, and a control code related to an execution procedure necessary for the processor of the computer to execute the functions according to a predetermined procedure. can do. In addition, these codes may further include additional information required for the processor of the computer to execute the functions or code related to a memory reference to which location (address address) of the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server in a remote in order to execute the functions, the code is It may further include a communication-related code for whether to communicate or what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The stored medium is not a medium that stores data for a short moment, such as a register, cache, memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. That is, the program may be stored in various recording media on various servers to which the computer can access, or on various recording media on the user's computer. In addition, the medium may be distributed over a computer system connected through a network, and computer-readable codes may be stored in a distributed manner.

이상, 첨부된 도면을 참조로 하여 본 명세서의 실시예를 설명하였지만, 본 명세서가 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.As described above, embodiments of the present specification have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which this specification pertains can be implemented in other specific forms without changing the technical spirit or essential features. You will be able to understand. Therefore, the embodiments described above are illustrative in all respects, and should be understood as non-limiting.

Claims (10)

(a) 프로세서가 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 인식하는 단계;
(b) 상기 프로세서가 상기 인식된 모든 물체들 중 임의의 두 물체 사이를 충돌없이 이동 가능한 경우, 상기 임의의 두 물체 사이를 엣지로 연결하는 그래프(이하 '경로 그래프')를 상기 인식된 모든 물체들 사이에서 구성하는 단계; 및
(c) 상기 프로세서가 경로 그래프에서 목표물을 가져오기까지 장애물의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하는 단계;를 포함하는 로봇 이동 계획 수립 방법.
(a) recognizing, by a processor, sizes and positions of objects arranged in the working space from an image photographed of the working space;
(b) When the processor is able to move between any two objects among all the recognized objects without collision, a graph connecting the two arbitrary objects with an edge (hereinafter referred to as'path graph') is used for all recognized objects. Configuring between them; And
(c) calculating, by the processor, a path in which the number of times of movement of the obstacle is the least until bringing the target from the path graph to the shortest path.
청구항 1에 있어서,
상기 (b) 단계는,
상기 프로세서가 상기 물체들 중 너비가 가장 큰 물체의 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단하는 단계인 로봇 이동 계획 수립 방법.
The method according to claim 1,
The step (b),
The method of establishing a robot movement plan, wherein the processor determines whether it is possible to move between the arbitrary two objects without collision based on the width of the object having the largest width among the objects.
청구항 2에 있어서,
상기 (b) 단계는,
상기 프로세서가 상기 물체들 중 너비가 가장 큰 물체의 반지름 및 로봇 손의 두께를 포함하는 너비를 기준으로 상기 임의의 두 물체 사이를 충돌없이 이동 가능한지 판단하는 단계인 로봇 이동 계획 수립 방법.
The method according to claim 2,
The step (b),
The method of establishing a robot movement plan, wherein the processor determines whether or not the arbitrary two objects can be moved without collision based on a width including a radius of an object having the largest width among the objects and a thickness of a robot hand.
청구항 1에 있어서,
상기 (c) 단계는,
최초에 접근 가능한 장애물이 복수 개일 때, 상기 프로세서가 각각의 최초 접근 가능 장애물마다 목표물을 가져오기 까지의 최소 이동 횟수를 계산하고, 상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 회수를 가진 경로를 최단 경로로 계산하는 단계인 로봇 이동 계획 수립 방법.
The method according to claim 1,
The step (c),
When there are a plurality of initially accessible obstacles, the processor calculates the minimum number of movements before bringing the target for each first accessible obstacle, and the path with the least number of times among the minimum number of movements of each of the first accessible obstacles How to establish a robot movement plan, which is the step of calculating the shortest path.
청구항 4에 있어서,
상기 (c) 단계는, 상기 각 최초 접근 가능 장애물의 최소 이동 횟수 중 가장 적은 회수를 가진 경로가 2개 이상일 때, 상기 프로세서가 상기 가장 적은 회수를 가진 경로 각각의 유클리드 거리를 산출하고, 상기 산출된 유클리드 거리가 가장 적은 경로를 최단 경로로 계산하는 단계인 로봇 이동 계획 수립 방법.
The method of claim 4,
In the step (c), when there are two or more paths having the least number of times among the minimum number of movements of each of the first accessible obstacles, the processor calculates the Euclidean distance of each path with the least number of times, and the calculation Robot movement planning method, which is the step of calculating the path with the smallest Euclidean distance as the shortest path.
청구항 1에 있어서,
(d) 상기 프로세서가 상기 최단 경로에 따라 다음 장애물을 잡기 위해 로봇 매니퓰레이터를 제어할 때, 로봇 팔에 의한 충돌이 발생하는지 여부를 계산하는 단계; 및
(e) 상기 프로세서가 로봇 팔에 의한 충돌이 예상될 때, 상기 예상 충돌 대상 장애물을 임시 목표물로 설정하고, 상기 (c) 단계를 재 실행하는 단계;를 더 포함하는 로봇 이동 계획 수립 방법.
The method according to claim 1,
(d) calculating whether a collision by the robot arm occurs when the processor controls the robot manipulator to catch the next obstacle along the shortest path; And
(e) when the processor is expected to collide with the robot arm, setting the predicted obstacle to be collided as a temporary target and re-executing step (c).
청구항 1에 있어서,
(d) 상기 프로세서가 상기 최단 경로에 따라 로봇을 제어하는 동안 상기 작업 공간을 촬영한 이미지로부터 상기 작업 공간 내에 배치된 물체들의 크기 및 위치를 업데이트하는 단계; 및
(e) 상기 프로세서가 상기 (d) 단계에서 새로 인식된 물체가 있을 때, 상기 (a) 단계 내지 (c) 단계를 재 실행하는 단계;를 더 포함하는 로봇 이동 계획 수립 방법.
The method according to claim 1,
(d) updating the sizes and positions of objects placed in the working space from an image photographed of the working space while the processor controls the robot according to the shortest path; And
(e) re-executing steps (a) to (c) when the processor has an object newly recognized in step (d).
청구항 1에 있어서,
상기 (a) 단계와 상기 (b) 단계 사이에,
(a-1) 상기 프로세서가 상기 작업 공간 내에서 목표물의 인식여부를 판단하는 단계; 및
(a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 가장 부피가 큰 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 포함하는 로봇 이동 계획 수립 방법.
The method according to claim 1,
Between the step (a) and the step (b),
(a-1) determining, by the processor, whether or not the target object is recognized in the work space; And
(a-2) when the processor does not recognize a target in the work space, removing the largest obstacle among the first accessible obstacles and re-executing the step (a); How to plan.
청구항 1에 있어서,
상기 (a) 단계와 상기 (b) 단계 사이에,
(a-1) 상기 프로세서가 상기 작업 공간 내에서 목표물의 인식여부를 판단하는 단계; 및
(a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 로봇으로부터 가장 가까운 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 포함하는 로봇 이동 계획 수립 방법.
The method according to claim 1,
Between the step (a) and the step (b),
(a-1) determining, by the processor, whether or not the target object is recognized in the work space; And
(a-2) when the processor does not recognize a target in the work space, removing an obstacle closest to the robot among the first accessible obstacles and re-executing the step (a); How to plan.
청구항 1에 있어서,
상기 (a) 단계와 상기 (b) 단계 사이에,
(a-1) 상기 프로세서가 상기 작업 공간 내에서 목표물의 인식여부를 판단하는 단계; 및
(a-2) 상기 프로세서가 상기 작업 공간 내에서 목표물이 인식되지 않을 때, 최초 접근 가능 장애물들 중 로봇에서 가장 멀리 위치한 장애물을 제거하고 상기 (a) 단계를 재 실행하는 단계;를 포함하는 로봇 이동 계획 수립 방법.
The method according to claim 1,
Between the step (a) and the step (b),
(a-1) determining, by the processor, whether or not the target object is recognized in the work space; And
(a-2) when the processor does not recognize a target in the work space, removing the obstacle located furthest from the robot among the first accessible obstacles and re-executing the step (a); How to plan your travel.
KR1020190070756A 2019-06-14 2019-06-14 Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments KR102228937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190070756A KR102228937B1 (en) 2019-06-14 2019-06-14 Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190070756A KR102228937B1 (en) 2019-06-14 2019-06-14 Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments

Publications (2)

Publication Number Publication Date
KR20200143016A KR20200143016A (en) 2020-12-23
KR102228937B1 true KR102228937B1 (en) 2021-03-17

Family

ID=74089258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190070756A KR102228937B1 (en) 2019-06-14 2019-06-14 Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments

Country Status (1)

Country Link
KR (1) KR102228937B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984576B2 (en) * 2006-03-08 2012-07-25 トヨタ自動車株式会社 Grasping control method by robot hand

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06143170A (en) * 1992-10-29 1994-05-24 Sanyo Electric Co Ltd Auto-nomic conveying device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984576B2 (en) * 2006-03-08 2012-07-25 トヨタ自動車株式会社 Grasping control method by robot hand

Also Published As

Publication number Publication date
KR20200143016A (en) 2020-12-23

Similar Documents

Publication Publication Date Title
CN102814813B (en) The method and system of deadlock is automatically prevented from multi-robot system
US9144904B2 (en) Method and system for automatically preventing deadlock in multi-robot systems
US8315738B2 (en) Multi-arm robot system interference check via three dimensional automatic zones
KR102502325B1 (en) Zone engine to provide a context augmented map layer
JP6556245B2 (en) Method for avoiding a collision between two robots
US10894322B2 (en) Robot motion planning
DeCastro et al. Collision-free reactive mission and motion planning for multi-robot systems
US20120165982A1 (en) Apparatus for planning path of robot and method thereof
KR102580084B1 (en) Robot Congestion Management
CN110576436A (en) Route planning device, route planning method, and computer-readable recording medium
CN110998620A (en) Robot capable of finishing order operation in queue
Nam et al. Planning for target retrieval using a robotic manipulator in cluttered and occluded environments
JP2019533621A (en) Integrated obstacle detection and payload centering sensor system
JP7179971B2 (en) Control device, robotic device, method, computer program and machine-readable storage medium for robotic device
KR102228937B1 (en) Planning method for target retrieval using a robotic manipulator in cluttered and occluded environments
Andries et al. Multi-robot taboo-list exploration of unknown structured environments
US11882812B2 (en) Tool-positioning system and method, rotary milking platform, computer program and non-volatile data carrier
KR20230084504A (en) Manage robot navigation between zones in the environment
Kang et al. Grasp planning for occluded objects in a confined space with lateral view using monte carlo tree search
US20240111585A1 (en) Shared resource management system and method
WO2022259600A1 (en) Information processing device, information processing system, information processing method, and program
Ahluwalia et al. Sensor‐based obstruction avoidance technique for a mobile robot
Lee et al. Local and Global Search-Based Planning for Object Rearrangement in Clutter
CN112955004B (en) Tool positioning system and method, rotary milking platform, computer program and non-volatile data carrier
CN117773933A (en) Collision detection method and device of mobile robot and electronic equipment

Legal Events

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