KR20240003844A - Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots - Google Patents

Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots Download PDF

Info

Publication number
KR20240003844A
KR20240003844A KR1020220081612A KR20220081612A KR20240003844A KR 20240003844 A KR20240003844 A KR 20240003844A KR 1020220081612 A KR1020220081612 A KR 1020220081612A KR 20220081612 A KR20220081612 A KR 20220081612A KR 20240003844 A KR20240003844 A KR 20240003844A
Authority
KR
South Korea
Prior art keywords
robots
plan
work
collaboration
unit
Prior art date
Application number
KR1020220081612A
Other languages
Korean (ko)
Inventor
남창주
안지호
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020220081612A priority Critical patent/KR20240003844A/en
Publication of KR20240003844A publication Critical patent/KR20240003844A/en

Links

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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

본 발명의 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법은 개별 로봇의 독립적인 물체 재배치 작업 계획을 계산하는 단계, 개별 로봇의 물체 재배치 작업 계획을 취합하여 다수 로봇의 작업 교대 횟수가 최대로 되도록 다수 로봇의 협업 계획을 계산하는 협업 계획 단계, 협업 계획을 최단 시간 내에 수행하기 위해 다수 로봇의 단위 작업 순서를 결정하는 단위 작업 순서 결정 단계, 다수 로봇이 서로 충돌 없이 작업 순서를 실행하기 위해 다수 로봇의 이동 계획을 수립하는 이동 계획 단계 및 수립된 이동 계획을 기초로 다수 로봇을 제어하는 단계를 포함할 수 있다.The method of establishing a work and movement plan for multiple manipulator robots to rearrange an object through collaboration of the present invention includes calculating an independent object relocation work plan for each robot, collecting the object relocation work plans of the individual robots, and performing the work of the multiple robots. A collaboration planning step in which the collaboration plan of multiple robots is calculated to maximize the number of shifts, a unit task sequence determination step in which the unit task sequence of multiple robots is determined to perform the collaboration plan in the shortest time, and a task sequence in which multiple robots do not collide with each other. In order to execute, it may include a movement planning step of establishing a movement plan for multiple robots and a step of controlling multiple robots based on the established movement plan.

Description

다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법, 시스템 및 프로그램{METHOD, SYSTEM, AND PROGRAM FOR CREATING WORK AND MOVEMENT PLAN FOR REPOSITIONING OBJECT THROUGH COLLABORATION OF MULTIPLE MANIPULATOR ROBOTS}Method, system, and program for establishing work and movement plans for relocating objects through collaboration of multiple manipulator robots {METHOD, SYSTEM, AND PROGRAM FOR CREATING WORK AND MOVEMENT PLAN FOR REPOSITIONING OBJECT THROUGH COLLABORATION OF MULTIPLE MANIPULATOR ROBOTS}

본 발명은 다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법, 시스템 및 프로그램에 관한 것이며, 보다 구체적으로 오버핸드 그립이 허용되지 않는 제한된 공간에서 대상 물체에 도달하기 위해, 다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법, 시스템 및 프로그램에 관한 것이다.The present invention relates to a method, system, and program for establishing a task and movement plan for relocating an object through the collaboration of multiple manipulator robots, and more specifically, to reach a target object in a limited space where an overhand grip is not permitted. It relates to methods, systems, and programs for establishing work and movement plans for relocating objects through collaboration of manipulator robots.

최근 자율 이동을 수행하며 소정의 서비스를 제공하는 자율 이동형 로봇의 개발이 활발한 상황이며, 이러한 자율 이동형 로봇의 중요한 역할 중의 하나는, 특정 환경이나 특정의 공간 내에서 타깃을 추출하거나 타깃을 제거하는 것이다.Recently, the development of autonomous mobile robots that perform autonomous movement and provide certain services has been active, and one of the important roles of these autonomous mobile robots is to extract or remove targets within a specific environment or specific space. .

즉, 공장에서의 물류 이송 작업과 같은 복잡한 환경이나, 우주 탐사 작업, 핵폐기물 처리장 또는 심해와 같은 위험한 환경에서 특정 타깃을 추출하거나 제거하는 역할을 인간을 대신하여 수행할 필요가 증가하고 있는 상황이다.In other words, there is an increasing need to perform the role of extracting or removing specific targets on behalf of humans in complex environments such as logistics transfer work in factories or dangerous environments such as space exploration work, nuclear waste disposal sites, or the deep sea. .

이에 따라, 매니퓰레이터 로봇를 이용한 특정 환경이나 특정 공간 내에서의 타깃 추출 또는 타깃 제거와 관련된 기술이 개발되고 있으며, 대한민국 등록특허 제10-2338855호(이하, 선행 특허)에서는 제한된 환경에서의 장애물 재배치 방법에 대한 기술이 개시되어 있다.Accordingly, technologies related to target extraction or target removal within a specific environment or specific space using a manipulator robot are being developed, and Korean Patent No. 10-2338855 (hereinafter referred to as the prior patent) describes a method of relocating obstacles in a limited environment. The technology has been disclosed.

다만, 선행 특허는 하나의 매니퓰레이터 로봇을 이용한 장애물 재배치 방법으로, 제한된 환경에서 재배치 작업의 효율을 높이기 위해 다수의 매니퓰레이터 로봇이 이용하는 상황에 적용하기 어렵다.However, the prior patent is a method of relocating obstacles using a single manipulator robot, and is difficult to apply to situations where multiple manipulator robots are used to increase the efficiency of relocation work in a limited environment.

이에 따라 보다 복수의 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하는 기술이 요구되고 있다.Accordingly, there is a demand for technology to rearrange objects through collaboration between multiple manipulator robots.

본 명세서는 특정의 제한된 환경이나 공간의 내부에서 복수의 매니퓰레이터 로봇을 이용하여 장애물을 보다 직관적이고 효과적이며 신속하게 재배치하기 위하여, 다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법을 제공하는 것을 목적으로 한다.This specification provides a method for establishing work and movement plans for rearranging objects through the collaboration of multiple manipulator robots in order to more intuitively, effectively, and quickly relocate obstacles using a plurality of manipulator robots within a specific limited environment or space. The purpose is to provide.

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

상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법은 개별 로봇의 독립적인 물체 재배치 작업 계획을 계산하는 단계, 상기 개별 로봇의 물체 재배치 작업 계획을 취합하여 다수 로봇의 협업 계획을 계산하는 협업 계획 단계, 상기 협업 계획을 최단 시간 내에 수행하기 위해 상기 다수 로봇의 단위 작업 순서를 결정하는 단위 작업 순서 결정 단계, 상기 다수 로봇이 서로 충돌 없이 상기 작업 순서를 실행하기 위해 상기 다수 로봇의 이동 계획을 수립하는 이동 계획 단계; 및 상기 수립된 이동 계획을 기초로 상기 다수 로봇을 제어하는 단계를 포함할 수 있다.In order to achieve the above-described object, a method of establishing a work and movement plan for multiple manipulator robots to relocate an object through collaboration according to an embodiment of the present invention includes calculating an independent object relocation work plan of an individual robot, the individual A collaboration planning step of calculating a collaboration plan of multiple robots by collecting object rearrangement work plans of robots, a unit task sequence determination step of determining a unit task sequence of the plurality of robots in order to perform the collaboration plan in the shortest time, and the plurality of robots. a movement planning step of establishing a movement plan for the plurality of robots to execute the task sequence without conflicting with each other; And it may include controlling the plurality of robots based on the established movement plan.

또한, 상기 협업 계획 단계는 상기 다수 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산할 수 있다.Additionally, the collaboration planning step may calculate a collaboration plan so that the number of work shifts of the multiple robots is maximized.

또한, 상기 협업 계획 단계는, 상기 개별 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성하는 단계, 상기 다수 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시키는 작업 비용 산출 단계; 및 모든 작업이 수행되어 최종 목적을 달성했는지 판정하는 목표 도달 확인 단계를 포함할 수 있다.In addition, the collaboration planning step includes collecting the work plans of the individual robots and then generating a tree to search for the optimal solution of the collaboration plan. In the process of exploring multiple scenarios in which the multiple robots move objects, the robot's A job costing step that increases the cost of performing work if no work shifts occur; and a goal attainment confirmation step to determine whether all tasks have been performed and the final goal has been achieved.

또한, 상기 트리를 생성하는 단계는, 상기 개별 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고, 다음 탐색 대상이 되는 노드를 선택하여 탐색 우선 순위를 지정해 탐색 대기열에 추가하고, 대기열에서 가장 높은 우선순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드를 생성하여 트리의 깊이를 증가시키고, 상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나갈 수 있다.In addition, in the step of creating the tree, the arrangement state of the object that changes as the unit task belonging to the work plan of the individual robot is performed is defined as one node, and the node that is the next search target is selected to set the search priority. Specify and add it to the search queue, and perform the next unit operation on the search target node with the highest priority in the queue to rearrange the object and create a new child node to increase the depth of the tree, and follow the above method to increase the depth of the tree. By exploring nodes, you can expand the tree until you reach your goal.

또한, 상기 작업 비용 산출 단계는, 상기 개별 로봇의 작업 계획을 수행함에 있어 상기 다수 로봇의 교대 횟수를 최대화하기 위해 상기 다수 로봇이 교대를 실시할 수 있을 때는 비용을 발생시키지 않고 교대를 실시하지 않으면 단위 작업 비용을 발생시킬 수 있다.In addition, the work cost calculation step is to maximize the number of shifts of the plurality of robots when performing the work plan of the individual robots, without incurring costs when the plurality of robots can perform shifts and not incurring costs when shifts are not performed. Unit operation costs may be incurred.

또한, 상기 단위 작업 순서 결정 단계는, 상기 협업 계획을 실시하기 위한 상기 개별 로봇의 단위 작업을 파악하고, 상기 단위 작업들이 최단 시간 내에 실행되어 상기 다수 로봇이 최소의 시간 내에 목표로 하는 물체 재배치 상태를 달성할 수 있도록 작업 순서를 결정할 수 있다.In addition, the unit task sequence determination step determines the unit tasks of the individual robots for executing the collaboration plan, and executes the unit tasks within the shortest time so that the plurality of robots rearranges the target object within the minimum time. The order of work can be determined to achieve this.

한편, 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립을 수행하는 로봇 협업 시스템은 개별 로봇의 독립적인 물체 재배치 작업 계획을 계산하는 작업 계획부, 상기 개별 로봇의 물체 재배치 작업 계획을 취합하여 다수 로봇의 협업 계획을 계산하는 협업 계획부, 상기 협업 계획을 최단 시간 내에 수행하기 위해 다수 로봇의 단위 작업 순서를 결정하는 단위 작업 순서 결정부, 상기 작업 순서를 다수 로봇이 충돌 없이 실행하기 위해 로봇의 이동 계획을 수립하는 이동 계획부 및 상기 수립된 이동 계획을 기초로 상기 다수 로봇을 제어하는 제어부를 포함할 수 있다.Meanwhile, a robot collaboration system in which multiple manipulator robots perform work and movement plan establishment for object relocation through collaboration includes a work planning unit that calculates an independent object relocation work plan for individual robots, and an object relocation work plan for the individual robots. A collaboration planning unit that collects and calculates the collaboration plan of multiple robots, a unit task sequence determination unit that determines the unit task sequence of multiple robots in order to perform the collaboration plan in the shortest time, and multiple robots execute the task sequence without collision. In order to do this, it may include a movement planning unit that establishes a movement plan for the robot and a control unit that controls the plurality of robots based on the established movement plan.

또한, 상기 협업 계획부는 상기 다수 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산할 수 있다.Additionally, the collaboration planning unit may calculate a collaboration plan to maximize the number of work shifts of the multiple robots.

또한, 상기 협업 계획부는, 상기 개별 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성하는 프로세스; 상기 다수 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 상기 다수 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시키는 작업 비용 산출 프로세스; 및 모든 작업이 수행되어 최종 목적을 달성했는지 판정하는 목표 도달 확인 프로세스를 더 포함할 수 있다.In addition, the collaboration planning unit includes a process of collecting work plans of the individual robots and then generating a tree for searching for an optimal solution to the collaboration plan; A task cost calculation process that increases task performance costs if task shifts of the plurality of robots do not occur in the process of exploring a plurality of scenarios in which the plurality of robots move objects; And it may further include a goal attainment confirmation process to determine whether all tasks have been performed and the final goal has been achieved.

또한, 상기 트리 생성 프로세스는, 상기 개별 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고, 다음 탐색 대상이 되는 노드를 선택하여 탐색 우선순위를 지정해 탐색 대기열에 추가하고, 대기열에서 가장 높은 우선순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드를 생성하여 트리의 깊이를 증가시키고, 상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나갈 수 있다.In addition, the tree creation process defines the arrangement state of an object that changes as a unit task belonging to the work plan of the individual robot is performed as a node, selects the next search target node, and searches by specifying a search priority. Add to the queue, and perform the next unit operation on the search target node with the highest priority in the queue to rearrange the object and create new child nodes to increase the depth of the tree, and remove all nodes in the queue as above. By exploring, you can expand the tree until you reach your goal.

또한, 상기 작업 비용 산출 프로세스는, 상기 개별 로봇의 작업 계획을 수행함에 있어 상기 다수 로봇의 교대 횟수를 최대화하기 위해 상기 다수 로봇이 교대를 실시할 수 있을 때는 비용을 발생시키지 않고 교대를 실시하지 않으면 단위 작업 비용을 발생시킬 수 있다.In addition, the work cost calculation process is performed to maximize the number of shifts of the multiple robots in carrying out the work plan of the individual robots, without incurring costs when the multiple robots can perform shifts and not incurring costs when the multiple robots can perform shifts. Unit operation costs may be incurred.

또한, 상기 단위 작업 순서 결정부는, 상기 협업 계획을 실시하기 위한 상기 개별 로봇의 단위 작업을 파악하고, 상기 단위 작업들이 최단 시간 내에 실행되어 상기 다수 로봇이 최소의 시간 내에 목표로 하는 물체 재배치 상태를 달성할 수 있도록 작업 순서를 결정할 수 있다.In addition, the unit task sequence determination unit determines the unit tasks of the individual robots for executing the collaboration plan, and executes the unit tasks within the shortest time to achieve a target object relocation state for the multiple robots within the minimum time. You can determine the order of work to achieve it.

상기 협업 계획부는 상기 다수 로봇 중 즉시 작업을 수행할 수 있는 로봇을 선택하여 협업 계획을 계산할 수 있다.The collaboration planning unit may calculate a collaboration plan by selecting a robot that can immediately perform a task among the plurality of robots.

본 명세서에 따르면, 물체를 재배치하기 위한 작업을 동시에 수행하기 위해 매니퓰레이터 로봇의 작업 계획 및 이동 계획을 수립할 수 있다.According to the present specification, a work plan and a movement plan of a manipulator robot can be established to simultaneously perform a task for relocating an object.

또한, 본 발명은 다수의 매니퓰레이터 로봇으로 동시에 작업을 수행하여 재배치 계획의 실행 시간을 최소화할 수 있다.Additionally, the present invention can minimize the execution time of the relocation plan by performing tasks simultaneously with multiple manipulator robots.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.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 description below.

도 1은 본 발명의 일 실시예에 따른 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 재배치 작업 계획을 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따른 협업 계획 계산 방법을 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 최적해를 탐색하기 위한 트리를 나타낸 예시도이다.
도 5는 본 발명의 일 실시예에 따른 매니퓰레이터 로봇의 작업 순서를 나타낸 예시도이다.
도 6은 본 발명의 일 실시예에 따른 로봇 협업 시스템의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 실험 세트를 나타낸 예시도이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 실험 결과를 나타낸 예시도이다.
Figure 1 is a flowchart showing a method of establishing a work and movement plan for multiple manipulator robots to rearrange an object through collaboration according to an embodiment of the present invention.
Figure 2 is an exemplary diagram showing a relocation work plan according to an embodiment of the present invention.
Figure 3 is a flowchart showing a method of calculating a collaboration plan according to an embodiment of the present invention.
Figure 4 is an exemplary diagram showing a tree for searching for an optimal solution according to an embodiment of the present invention.
Figure 5 is an exemplary diagram showing the work sequence of a manipulator robot according to an embodiment of the present invention.
Figure 6 is a block diagram showing the configuration of a robot collaboration system according to an embodiment of the present invention.
Figure 7 is an exemplary diagram showing an experiment set according to an embodiment of the present invention.
Figures 8 to 10 are exemplary diagrams showing experimental results according to an embodiment of the present invention.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following merely illustrates the principles of the invention. Therefore, those skilled in the art will be able to invent various devices that embody the principles of the present invention and are included in the spirit and scope of the present invention, although not explicitly described or shown herein. In addition, all conditional terms and examples listed herein are, in principle, expressly intended only for the purpose of enabling the concept of the invention to be understood, and should be understood not as limiting to the examples and states specifically listed as such. do.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The above-described purpose, features and advantages will become clearer through the following detailed description in conjunction with the accompanying drawings, and accordingly, those skilled in the art will be able to easily implement the technical idea of the present invention. There will be.

또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. Additionally, in describing the present invention, if it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

이하에는 첨부된 도면을 참조하여 본 발명의 다양한 실시 예에 대하여 상세하게 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명의 일 실시예에 따른 다수 매니퓰레이터(manipulator) 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법을 나타낸 흐름도이다.Figure 1 is a flowchart showing a method of establishing a work and movement plan for rearranging an object through the collaboration of multiple manipulator robots according to an embodiment of the present invention.

도 1을 참조하면, 다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립하기 위한 로봇 협업 시스템(100)은 개별 로봇의 독립적인 물체 재배치 작업 계획을 계산할 수 있다(S100). 여기서, 물체는 매니퓰레이터 로봇이 도달해야하는 목적이 되는 물체인 타깃과 타깃에 도달하는데 방해가 되는 물체인 장애물로 구성될 수 있다. Referring to FIG. 1, the robot collaboration system 100 for establishing a work and movement plan for relocating an object through the collaboration of multiple manipulator robots can calculate an independent object relocation work plan for each robot (S100). Here, the object may be composed of a target, which is the object that the manipulator robot must reach, and an obstacle, which is an object that gets in the way of reaching the target.

이하에서는, 물체들 중 로봇이 도달해야하는 목적이 되는 물체는 타깃으로 정의하여 설명하기로 한다. Hereinafter, the object that the robot must reach among the objects will be defined and explained as a target.

구체적으로, 작업 공간을 촬영한 이미지로부터 타깃과 물체(또는 장애물)들의 크기 및 위치를 인식할 수 있다. 여기서, 이미지는 로봇 협업 시스템(100) 또는 외부 촬영 장치로부터 촬영된 이미지이며, 작업 공간은 제한된 공간을 의미할 수 있다. Specifically, the size and location of targets and objects (or obstacles) can be recognized from images taken of the work space. Here, the image is an image taken from the robot collaboration system 100 or an external imaging device, and the work space may mean a limited space.

그리고, 로봇 협업 시스템(100)은 복수의 물체들 중 임의의 두 물체 사이를 매니퓰레이터 로봇이 충돌없이 이동 가능한 경우, 임의의 두 물체 사이를 엣지로 연결하는 순회성 그래프(Traversability graph, 이하 T-그래프)를 구성할 수 있다. 여기서, T-그래프는 두 물체 사이의 관계를 나타내는 선이며, 그 관계는 충돌 없는 경로의 존재를 의미하며, 경로는 직선이거나 곡선일 수 있다.In addition, when the manipulator robot can move between any two objects among a plurality of objects without collision, the robot collaboration system 100 uses a traversability graph (hereinafter referred to as a T-graph) connecting any two objects with an edge. ) can be configured. Here, the T-graph is a line that represents the relationship between two objects, and that relationship means the existence of a collision-free path, and the path can be a straight line or a curve.

다음, 로봇 협업 시스템(100)은 T-그래프에서 타깃을 가져오기까지 장애물의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하여 각각의 매니퓰레이터 로봇의 독립적인 물체 재배치 작업 계획을 계산할 수 있다. 여기서, 작업 계획은 타깃에 도달하기 위해 재배치할 물체의 순서를 나타낸 계획일 수 있다. 이와 관련하여 도 2를 추가로 참조하여 설명한다.Next, the robot collaboration system 100 can calculate an independent object relocation work plan for each manipulator robot by calculating the shortest path as the path with the fewest number of obstacles moving until the target is retrieved from the T-graph. Here, the work plan may be a plan indicating the order of objects to be rearranged to reach the target. In this regard, description will be made with additional reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 재배치 작업 계획을 나타낸 예시도이다.Figure 2 is an exemplary diagram showing a relocation work plan according to an embodiment of the present invention.

도 2(a)는 작업 공간과 두개의 매니퓰레이터 로봇을 나타낸 예시도이며, 도 2(b)는 T-그래프를 나타낸 예시도이다. Figure 2(a) is an example diagram showing a work space and two manipulator robots, and Figure 2(b) is an example diagram showing a T-graph.

도 2(a)와 같은 작업 공간에 복수의 장애물(, , , , , , , )과 타깃()이 배치되고 두 개의 매니퓰레이터 로봇(, )이 배치된 경우, 로봇 협업 시스템(100)은 도 2(b)와 같은 T-그래프를 구성할 수 있다.A plurality of obstacles ( , , , , , , , ) and target ( ) is deployed and two manipulator robots ( , ) is placed, the robot collaboration system 100 can configure a T-graph as shown in FIG. 2(b).

그리고, 로봇 협업 시스템(100)은 타깃()까지 장애물들의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하여 매니퓰레이터 로봇()의 재배치 작업 계획( = , , )과 매니퓰레이터 로봇()의 재배치 작업 계획( = , , )을 계산할 수 있다.And, the robot collaboration system 100 targets ( ), the path with the least number of movement of obstacles is calculated as the shortest path, and the manipulator robot ( )'s relocation work plan ( = , , ) and manipulator robot ( )'s relocation work plan ( = , , ) can be calculated.

다시 도 1을 참조하면, 로봇 협업 시스템(100)은 다수 매니퓰레이터 로봇의 물체 재배치 작업 계획을 취합하여 다수 매니퓰레이터 로봇의 협업 계획을 계산할 수 있다(S200). 협업 계획 계산 단계(S200)에서 로봇 협업 시스템(100)은 균일 비용 탐색(Uniform-cost search) 알고리즘(Case 1) 또는 탐욕(GREEDY) 알고리즘(Case 2) 중 하나를 선택하여 취합된 물체 재배치 작업 계획을 기초로 다수 매니퓰레이터 로봇의 협업 계획을 계산할 수 있다.Referring again to FIG. 1, the robot collaboration system 100 may collect the object rearrangement work plans of the multiple manipulator robots and calculate the collaboration plan of the multiple manipulator robots (S200). In the collaboration plan calculation step (S200), the robot collaboration system 100 selects one of the uniform-cost search algorithm (Case 1) or the greedy algorithm (Case 2) to plan the collected object rearrangement work. Based on this, the collaboration plan of multiple manipulator robots can be calculated.

우선, 균일 비용 탐색(Uniform-cost search, SEARCH) 알고리즘(Case 1)을 설명한 후, 탐욕(Greedy) 알고리즘(Case 2)을 이어서 설명하도록 하겠다.First, we will explain the Uniform-cost search (SEARCH) algorithm (Case 1), and then the Greedy algorithm (Case 2).

[균일 비용 탐색 알고리즘(Case 1)][Uniform Cost Search Algorithm (Case 1)]

구체적으로, 협업 계획 계산 단계(S200)에서 로봇 협업 시스템(100)은 다수 매니퓰레이터 로봇의 물체 재배치 작업 계획을 취합하여 다수 매니퓰레이터 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산할 수 있다. 이와 관련하여 도 3을 추가로 참조하여 설명한다.Specifically, in the collaboration plan calculation step (S200), the robot collaboration system 100 may collect the object rearrangement work plans of the multiple manipulator robots and calculate the collaboration plan so that the number of work shifts of the multiple manipulator robots is maximized. In this regard, description will be made with additional reference to FIG. 3.

도 3을 참조하면, 로봇 협업 시스템(100)은 개별 매니퓰레이터 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성할 수 있다(S210). Referring to FIG. 3, the robot collaboration system 100 can collect work plans of individual manipulator robots and then generate a tree to search for the optimal solution of the collaboration plan (S210).

구체적으로, 트리 생성 단계(S210)에서, 로봇 협업 시스템(100)은 개별 매니퓰레이터 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 작업 공간 내 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고, 다음 탐색 대상이 되는 노드를 선택하여 탐색 우선 순위를 지정해 탐색 대기열에 추가하고, 대기열에서 가장 높은 우선 순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드(child node)를 생성하여 트리의 깊이를 증가시키고, 상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나갈 수 있다.Specifically, in the tree creation step (S210), the robot collaboration system 100 defines the arrangement state of the object that changes in the work space as one node as it performs the unit task belonging to the work plan of the individual manipulator robot, and searches for the next Select the target node, specify the search priority, add it to the search queue, and perform the next unit operation on the search target node with the highest priority in the queue to rearrange the object and create a new child node. By doing so, you can increase the depth of the tree and expand the tree until the goal is achieved by searching all nodes in the queue using the above method.

즉, 로봇 협업 시스템(100)은 작업 공간 내 물체의 배치 상태를 초기 노드(initial node)로 생성하고, 단위 작업을 수행함에 따라 작업 공간 내 변화된 물체의 배치 상태를 하나의 자식 노드(child node)로 생성하고, 이를 반복하여 협업 계획의 최적해를 탐색하기 위한 트리를 생성할 수 있다. 여기서, 트리는 작업 공간에서 다수의 매니퓰레이터 로봇들이 장애물을 이동하는 다수의 시나리오를 나타낼 수 있다.In other words, the robot collaboration system 100 generates the arrangement status of objects in the workspace as an initial node, and as a unit task is performed, the arrangement status of the object changed in the workspace as a child node. By creating and repeating this, you can create a tree to search for the optimal solution of the collaborative plan. Here, the tree may represent multiple scenarios in which multiple manipulator robots move obstacles in a workspace.

그리고, 로봇 협업 시스템(100)은 개별 매니퓰레이터 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 매니퓰레이터 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시킬 수 있다(S220).Additionally, the robot collaboration system 100 may increase task performance costs if task shifts of the manipulator robots do not occur in the process of exploring multiple scenarios in which individual manipulator robots move objects (S220).

구체적으로, 작업 수행 비용 산출 단계(S220)에서 개별 매니퓰레이터 로봇의 작업 계획을 수행함에 있어 로봇의 교대 횟수를 최대화하기 위해 로봇이 교대를 실시할 수 있을 때는 비용을 발생시키지 않고 교대를 실시하지 않으면 단위 작업 비용을 발생시킬 수 있다.Specifically, in performing the work plan of the individual manipulator robot in the task performance cost calculation step (S220), in order to maximize the number of shifts of the robot, no cost is incurred when the robot can perform a shift, and when the robot is not able to perform a shift, no cost is incurred. This may incur operational costs.

즉, 로봇 협업 시스템(100)은 취합된 개별 매니퓰레이터 로봇의 작업 계획에 따라 초기 노드에서 자식 노드로 확장될 때, 매니퓰레이터 로봇 간의 작업 교대가 발생여부에 따라 노드 단위로 작업 수행 비용을 부과할 수 있다. That is, when the robot collaboration system 100 expands from an initial node to a child node according to the collected work plans of individual manipulator robots, a task performance cost can be charged on a node-by-node basis depending on whether work shifts between manipulator robots occur. .

다음, 로봇 협업 시스템(100)은 탐색을 위해 생성된 트리에서 모든 작업이 수행되어 최종 목적을 달성했는지 판정하고, 협업 계획을 계산할 수 있다(S230). 구체적으로, 로봇 협업 시스템(100)은 장애물들을 이동시켜 타깃에 도달하였는지 판단하고, 작업 수행 비용이 최소가 되도록 작업 계획과 할당 계획을 포함하는 협업 계획을 계산할 수 있다. 여기서, 할당 계획은 작업 계획에 따라 물체를 이동시킬 매니퓰레이터 로봇의 할당을 나타낸 계획일 수 있다.Next, the robot collaboration system 100 may determine whether all tasks have been performed in the tree created for search to achieve the final goal and calculate a collaboration plan (S230). Specifically, the robot collaboration system 100 may determine whether the target has been reached by moving the obstacles and calculate a collaboration plan including a work plan and an allocation plan to minimize the cost of performing the work. Here, the allocation plan may be a plan indicating the allocation of a manipulator robot to move the object according to the work plan.

상술한 트리 생성 단계(S210), 작업 수행 비용 단계(S220) 및 목표 도달 확인 단계(S230)와 관련하여, 도 4를 참조하여 설명한다.The above-described tree creation step (S210), task performance cost step (S220), and goal attainment confirmation step (S230) will be described with reference to FIG. 4.

도 4는 본 발명의 일 실시예에 따른 최적해를 탐색하기 위한 트리를 나타낸 예시도이다.Figure 4 is an exemplary diagram showing a tree for searching for an optimal solution according to an embodiment of the present invention.

도 4에서도 4를 참조하면, 매니퓰레이터 로봇들(, )의 작업계획(, )을 취합한 후, 균일 비용 탐색(Uniform-cost search) 알고리즘을 수행하여 작업계획(, )에 대해 각각 루트 노드(미도시)에서 두 개의 초기 노드(A, B)가 생성될 수 있다. 여기서, 탐색(SEARCH) 알고리즘은 솔루션이 가장 적은 수의 물체를 재배치하도록 작업 계획 모두에 대해 탐색을 실행하고, 타깃이 최종적으로 재배치된 목표 상태를 찾으면 탐색이 종료될 수 있다. 이때, 노드는 생성된 순서에 따라 알파벳순으로 정의되며, 은 비용 함수로 해당 노드에 작업 수행 비용을 나타내는 것으로, 예를 들어 는 노드 G의 작업 수행 비용을 나타낼 수 있다.Referring to Figure 4, the manipulator robots ( , ) work plan ( , ), then perform the Uniform-cost search algorithm to plan the work ( , ), two initial nodes (A, B) can be created from each root node (not shown). Here, the SEARCH algorithm executes a search across all work plans so that the solution relocates the fewest number of objects, and the search can end when the target state in which the target is finally relocated is found. At this time, nodes are defined alphabetically according to the order in which they were created. is a cost function that represents the cost of performing work on that node, for example may represent the cost of performing the task of node G.

그리고, 두 개의 초기 노드(A, B)부터 자식 노드는 작업 공간 내 하나의 물체가 재배치된 후 물체의 상태를 나타낸 것이다. 이때, 빨간색 화살표를 통한 왼쪽의 자식 노드는 빨간색의 매니퓰레이터 로봇()에 의해 물체가 재배치된 상태를 나타낸 것이고, 파란색 화살표를 통한 오른쪽의 자식 노드는 파란색의 매니퓰레이터 로봇()에 의해 물체가 재배치된 상태를 나타낸 것이다.And, from the two initial nodes (A, B), the child nodes represent the state of an object after it is relocated in the work space. At this time, the child node on the left through the red arrow is a red manipulator robot ( ), and the child node on the right through the blue arrow is a blue manipulator robot ( ) shows the state in which the object has been rearranged.

초기 노드 A는 확장되어 노드 C와 노드 D가 생성될 수 있다. 그리고, 작업 수행 비용이 같은 노드 B, 노드 C, 노드 D가 탐색 대기열에 있게 되고, 그 중 가장 오래된 노드 B가 확장을 위해 선택되어 노드 E와 노드 F가 생성되게 된다. 여기서, 노드를 확장할 때, 선택한 노드가 탐색 대기열 목록의 노드 중 최소 작업 작업 비용을 갖는 노드가 우선순위로 선택될 수 있다.The initial node A can be expanded to create node C and node D. Then, Node B, Node C, and Node D with the same task execution cost are in the search queue, and among them, Node B, the oldest, is selected for expansion, creating Node E and Node F. Here, when expanding a node, the node with the lowest task operation cost among the nodes in the search queue list may be selected as a priority.

다음, 노드 C가 확장되어 노드 G와 노드 H가 생성되어 노드 D, 노드 E, 노드 F, 노드 G 및 노드 H가 대기열 목록에 있게 된다. 이때, 노드 G는 노드 C와 노드 G 사이에 매니퓰레이터 로봇의 전환이 발생하지 않기 때문에 작업 수행 비용이 부과되어 이 된다.Next, node C is expanded to create node G and node H, so that node D, node E, node F, node G, and node H are in the queue list. At this time, node G is charged a task performance cost because no switching of the manipulator robot occurs between node C and node G. This happens.

그리고, 작업 수행 비용이 가장 적게 드는 노드 중에서 가장 오래된 노드 D가 선택되어 노드 I와 노드 J가 프런티어 목록에 추가되고, 작업 수행 비용이 0인 노드 중 노드 E와 노드 F가 차례로 확장되어 노드 K와 노드 L이 생성되게 된다. 이때, 노드 E와 노드 F에서 매니퓰레이터 로봇()은 물체에 접근할 수 없으므로 올바른 하위 트리만 생성되게 된다.Then, among the nodes with the lowest cost of performing the task, the oldest node D is selected, and node I and node J are added to the frontier list, and among the nodes with the cost of performing the task of 0, node E and node F are sequentially expanded to form nodes K and Node L is created. At this time, the manipulator robot ( ) cannot access the object, so only the correct subtree is created.

다음으로 노드 H가 확장된 후 노드 M이 생성되고, 타깃은 노드 M에서 제거되지만 확장을 위해 노드가 선택된 후에 목표 확인이 수행하게 된다.Next, after node H is expanded, node M is created, and the target is removed from node M, but target confirmation is performed after the node is selected for expansion.

그리고, 노드 I를 확장하고 노드 N을 생성한다. 이때 작업 수행 비용이 0인 노드는 노드 K와 노드 N이다. 노드 O가 생성된 후 확장을 위해 노드 N이 선택하고 모든 작업이 수행되어 최종 목적에 달성했는지 목표 확인 후, 목표 상태 N을 찾아 탐색을 종료한다. 이때, 도 5의 녹색으로 강조된 노드들은 결정된 협업 계획으로, 로봇 협업 시스템(100)은 (= , , )의 작업 계획과 (= , , )의 할당 계획을 포함하는 협업 계획을 결정할 수 있다.Then, node I is expanded and node N is created. At this time, the nodes with a task performance cost of 0 are node K and node N. After node O is created, node N is selected for expansion, and after checking whether all tasks have been performed and the final goal has been achieved, the search ends by finding the goal state N. At this time, the nodes highlighted in green in FIG. 5 are the determined collaboration plan, and the robot collaboration system 100 is ( = , , ) work plan and ( = , , ) can determine a collaboration plan that includes an allocation plan.

즉, 로봇 협업 시스템(100)은 다수 매니퓰레이터 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산할 수 있다.That is, the robot collaboration system 100 can calculate a collaboration plan so that the number of work shifts for multiple manipulator robots is maximized.

이어서, 탐욕(GREEDY) 알고리즘(Case 2)을 설명하기로 한다.Next, the greedy algorithm (Case 2) will be explained.

[탐욕 알고리즘(Case 2)][Greed Algorithm (Case 2)]

구체적으로, 협업 계획 계산 단계(S200)에서 로봇 협업 시스템(100)은 다수 매니퓰레이터 로봇의 물체 재배치 작업 계획을 취합하고 이를 기초로 즉시 작업을 수행할 수 있는 다수 매니퓰레이터 로봇을 선택하여 협업 계획을 계산할 수 있다.Specifically, in the collaboration plan calculation step (S200), the robot collaboration system 100 collects the object rearrangement work plans of multiple manipulator robots and selects multiple manipulator robots that can immediately perform the task based on this to calculate the collaboration plan. there is.

구체적으로, 각각의 매니퓰레이터 로봇의 작업 계획이 취합되면, 탐욕(GREEDY) 알고리즘은 각 턴에서 즉시 작업을 수행 가능한 매니퓰레이터 로봇을 선택하게 된다. 이때, 매니퓰레이터 로봇의 선택은 균일 비용 탐색(Uniform-cost search) 알고리즘에 사용된 작업 수행 비용을 기반으로 선택될 수 있다. 여기서, 탐욕(GREEDY) 알고리즘은 현재 노드까지의 모든 작업 수행 비용을 합산하는 탐색(SEARCH) 알고리즘과 다르게 이번 턴에 매니퓰레이터 로봇의 전환이 발생 여부만을 판단한다.Specifically, when the work plans of each manipulator robot are collected, the GREEDY algorithm selects the manipulator robot that can immediately perform the task at each turn. At this time, the selection of the manipulator robot may be selected based on the task performance cost used in the uniform-cost search algorithm. Here, unlike the SEARCH algorithm, which adds up the cost of performing all tasks up to the current node, the GREEDY algorithm only determines whether a switch to the manipulator robot will occur in this turn.

또한, 첫 번째 작업을 수행할 때에는 매니퓰레이터 로봇의 전환 개념이 없으므로 물체에 더 가까운 매니퓰레이터 로봇이 선택될 수 있다. 이후에는 이전 턴에서 재배치 작업을 수행하지 않은 매니퓰레이터 로봇이 다음 물체를 재배치할 수 있다. Additionally, when performing the first task, there is no concept of switching of the manipulator robot, so the manipulator robot that is closer to the object may be selected. Afterwards, the manipulator robot that did not perform a relocation operation in the previous turn can reposition the next object.

그리고, 하나의 매니퓰레이터 로봇만 물체에 접근할 수 있는 경우에는 해당 매니퓰레이터 로봇을 선택할 수 있다. 또한, 매니퓰레이터 로봇이 물체에 접근할 수 없는 경우, 모든 매니퓰레이터 로봇이 접근 가능한 물체 사이의 거리를 계산하고, 가장 짧은 거리의 매니퓰레이터 로봇이 선택할 수 있다. 이러한 방식을 통해, 협업 계획을 계산할 수 있다.And, if only one manipulator robot can access the object, the corresponding manipulator robot can be selected. Additionally, if the manipulator robot cannot approach the object, all manipulator robots calculate the distance between the accessible objects, and the manipulator robot with the shortest distance can be selected. In this way, the collaboration plan can be calculated.

한편, 협업 계획 계산 단계(S200)에서 로봇 협업 시스템(100)은 사용 환경에 따른 플래닝 시간 또는 실행 시간 등을 고려하여 균일 비용 탐색(Uniform-cost search) 알고리즘(Case 1) 또는 탐욕(GREEDY) 알고리즘(Case 2) 중 하나를 선택하여 다수 매니퓰레이터 로봇의 협업 계획을 계산할 수 있다.Meanwhile, in the collaboration plan calculation step (S200), the robot collaboration system 100 uses the uniform-cost search algorithm (Case 1) or the greedy algorithm in consideration of planning time or execution time depending on the usage environment. You can calculate the collaboration plan of multiple manipulator robots by selecting one of (Case 2).

다시, 도 1을 참조하면, 로봇 협업 시스템(100)은 산출된 협업 계획을 최단 시간 내에 수행하기 위해 다수 매니퓰레이터 로봇의 단위 작업 순서를 결정할 수 있다(S300).Referring again to FIG. 1, the robot collaboration system 100 may determine the unit task sequence of multiple manipulator robots in order to perform the calculated collaboration plan in the shortest time (S300).

구체적으로, 단위 작업 순서 결정 단계(S300)에서 로봇 협업 시스템(100)은 산출된 협업 계획을 실시하기 위한 각 매니퓰레이터 로봇의 단위 작업을 파악하고, 단위 작업들이 최단 시간 내에 실행되어 다수의 매니퓰레이터 로봇이 최소의 시간 내에 목표로 하는 타깃의 재배치 상태를 달성할 수 있도록 작업 순서를 결정할 수 있다. Specifically, in the unit task sequence determination step (S300), the robot collaboration system 100 identifies the unit tasks of each manipulator robot to implement the calculated collaboration plan, and executes the unit tasks within the shortest time so that a plurality of manipulator robots can The work order can be determined to achieve the target relocation status within the minimum amount of time.

즉, 단위 작업 순서 결정 단계(S300)에서 로봇 협업 시스템(100)은 모든 작업이 끝나는 시간(makespan)이 최소화되도록 작업 순서를 결정할 수 있다. 이때, 매니퓰레이터 로봇의 단위 작업은 집기(Pick), 놓기(Place) 및 대기(Standby)로 단위 작업이 구분될 수 있다.That is, in the unit task sequence determination step (S300), the robot collaboration system 100 may determine the task sequence so that the time (makespan) for all tasks to be completed is minimized. At this time, the unit work of the manipulator robot can be divided into pick, place, and standby.

이와 관련하여 도 5를 참조하여 설명한다.This will be described with reference to FIG. 5 .

도 5는 본 발명의 일 실시예에 따른 매니퓰레이터 로봇의 작업 순서를 나타낸 예시도이다.Figure 5 is an exemplary diagram showing the work sequence of a manipulator robot according to an embodiment of the present invention.

작업계획(= , , )과 할당계획(= , , )을 포함한 협업 계획인 경우, 모든 작업이 끝나는 시간(makespan)이 최소화하기 위해 두 개의 매니퓰레이터 로봇()의 단위 작업 순서는 도 5(a)와 같이 결정될 수 있고, 작업 계획(= , , )과 협업계획(= , , )을 포함한 협업 계획인 경우, 두개의 매니퓰레이터 로봇()의 가장 빠른 작업 순서는 도 5(b)와 같이 결정될 수 있다.Work plan( = , , ) and allocation plan ( = , , ), two manipulator robots ( ) The unit work sequence can be determined as shown in Figure 5(a), and the work plan ( = , , ) and collaboration plan ( = , , ), two manipulator robots ( ) can be determined as shown in Figure 5(b).

한편, 다수의 매니퓰레이터 로봇을 최대한 활용하기 위해 집기를 수행하지 않는 매니퓰레이터 로봇은 대기 상태로 할당할 수 있다.Meanwhile, in order to make the most of multiple manipulator robots, manipulator robots that do not perform pinching can be assigned to a standby state.

다음, 매니퓰레이터 로봇의 단위 작업 순서를 결정된 경우, 로봇 협업 시스템(100)은 다수 매니퓰레이터 로봇이 서로 충돌 없이 결정된 작업 순서를 실행하기 위해 다수 매니퓰레이터 로봇의 이동 계획을 수립할 수 있다(S400). 여기서, 협업 계획 단계(S200)에서 탐색(SEARCH) 알고리즘을 이용하여 산출하는 경우, 시퀀스된 모든 동작에 대한 이동 계획을 수립하고, 탐욕(GREEDY) 알고리즘을 사용한 경우 각 매니퓰레이터 로봇 작업 쌍이 결정된 후 이동 계획을 수립할 수 있다.Next, when the unit task sequence of the manipulator robots is determined, the robot collaboration system 100 may establish a movement plan for the plurality of manipulator robots so that the plurality of manipulator robots can execute the determined task sequence without colliding with each other (S400). Here, if calculated using the SEARCH algorithm in the collaborative planning step (S200), a movement plan is established for all sequenced movements, and if the GREEDY algorithm is used, a movement plan is established after each manipulator robot task pair is determined. can be established.

그리고, 로봇 협업 시스템(100)은 수립된 이동 계획을 기초로 다수 매니퓰레이터 로봇을 제어할 수 있다(S500).Additionally, the robot collaboration system 100 can control multiple manipulator robots based on the established movement plan (S500).

즉, 본 발명의 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법은 실행 전에 전체 작업 계획 및 할당 계획을 계산하는 방법과 모든 작업을 실행한 후 즉시 재배치 작업과 작업에 할당될 매니퓰레이터 로봇을 찾는 방법을 포함한다.In other words, the method of establishing work and movement plans for multiple manipulator robots of the present invention to relocate objects through collaboration includes calculating the entire work plan and allocation plan before execution and immediately assigning them to the relocation task and task after executing all tasks. Includes a method for finding a manipulator robot to become.

한편, 상술한 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법은 두개의 매니퓰레이터 로봇을 기준으로 설명하였으나, 이에 한정되지 않으며 세 개이상의 매니퓰레이터 로봇에도 적용할 수 있다.Meanwhile, the method for establishing work and movement plans for relocating objects through collaboration described above has been explained based on two manipulator robots, but is not limited to this and can also be applied to three or more manipulator robots.

이어서, 도 6을 참조하여 로봇 협업 시스템(100)의 구성에 대해 설명한다.Next, the configuration of the robot collaboration system 100 will be described with reference to FIG. 6.

도 6을 참조하면, 로봇 협업 시스템(100)은 작업 계획부(110), 협업 계획부(120), 단위 작업 순위 결정부(130), 이동 계획부(140) 및 제어부(150)를 모두 또는 일부 포함할 수 있다.Referring to FIG. 6, the robot collaboration system 100 includes all or a work planning unit 110, a collaboration planning unit 120, a unit task ranking unit 130, a movement planning unit 140, and a control unit 150. Some may be included.

작업 계획부(110)는 개별 매니퓰레이터 로봇의 독립적인 물체 재배치 작업 계획을 계산할 수 있다.The work planning unit 110 may calculate an independent object relocation work plan for each manipulator robot.

구체적으로, 작업 계획부(110)는 작업 공간을 촬영한 이미지로부터 타깃과 물체(또는 장애물)들의 크기 및 위치를 인식하고, 복수의 물체들 중 임의의 두 물체 사이를 매니퓰레이터 로봇이 충돌없이 이동 가능한 경우, 임의의 두 물체 사이를 엣지로 연결하는 순회성 그래프(Traversability graph, 이하 T-그래프)를 구성할 수 있다. Specifically, the work planning unit 110 recognizes the size and location of the target and objects (or obstacles) from images taken of the work space, and allows the manipulator robot to move between any two objects among a plurality of objects without collision. In this case, a traversability graph (hereinafter referred to as a T-graph) can be constructed that connects any two objects with an edge.

그리고, 작업 계획부(110)는 T-그래프에서 타깃을 가져오기까지 물체의 이동 횟수가 가장 적은 경로를 최단 경로로 계산하여 각각의 매니퓰레이터 로봇의 독립적인 물체 재배치 작업 계획을 계산할 수 있다.In addition, the work planning unit 110 may calculate an independent object relocation work plan for each manipulator robot by calculating the shortest path as the path with the least number of movements of the object until the target is retrieved from the T-graph.

협업 계획부(120)는 다수 매니퓰레이터 로봇의 물체 재배치 작업 계획을 취합하여 다수 매니퓰레이터 로봇의 협업 계획을 계산할 수 있다. The collaboration planning unit 120 may calculate the collaboration plan of the multiple manipulator robots by collecting the object rearrangement work plans of the multiple manipulator robots.

구체적으로, 협업 계획부(120)는 트리 생성 프로세스(122), 작업 비용 산출 프로세스(124) 및 목표 도달 확인 프로세스(126)를 포함하며, 균일 비용 탐색(Uniform-cost search) 알고리즘(Case 1) 또는 탐욕(GREEDY) 알고리즘(Case 2) 중 하나를 선택하여 취합된 물체 재배치 작업 계획을 기초로 다수 매니퓰레이터 로봇의 협업 계획을 계산할 수 있다.Specifically, the collaborative planning unit 120 includes a tree creation process 122, a task cost calculation process 124, and a goal reach confirmation process 126, and a uniform-cost search algorithm (Case 1) Alternatively, one of the GREEDY algorithms (Case 2) can be selected to calculate the collaboration plan of multiple manipulator robots based on the collected object rearrangement work plan.

균일 비용 탐색(Uniform-cost search) 알고리즘(Case 1)를 이용하는 경우, 트리 생성 프로세스(122)는 개별 매니퓰레이터 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성할 수 있다.When using the uniform-cost search algorithm (Case 1), the tree creation process 122 can collect the work plans of individual manipulator robots and then generate a tree to search for the optimal solution of the collaborative plan.

구체적으로, 트리 생성 프로세스(122)는 개별 매니퓰레이터 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고, 다음 탐색 대상이 되는 노드를 선택하여 탐색 우선순위를 지정해 탐색 대기열에 추가하고, 대기열에서 가장 높은 우선순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드를 생성하여 트리의 깊이를 증가시키고, 상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나갈 수 있다.Specifically, the tree creation process 122 defines the arrangement state of an object that changes as a unit task belonging to the work plan of an individual manipulator robot is performed as one node, and selects the next search target node to set the search priority. Specify and add it to the search queue, and perform the next unit operation on the search target node with the highest priority in the queue to rearrange the object and create a new child node to increase the depth of the tree, and follow the above method to increase the depth of the tree. By exploring nodes, you can expand the tree until you reach your goal.

작업 비용 산출 프로세스(124)는 매니퓰레이터 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시킬 수 있다.The task cost calculation process 124 may increase the task performance cost if the robot's task shift does not occur in the process of exploring multiple scenarios in which the manipulator robot moves an object.

목표 도달 확인 프로세스(126)는 모든 작업이 수행되어 최종 목적을 달성했는지 판정할 수 있다.The goal attainment verification process 126 may determine whether all tasks have been performed and the final goal has been achieved.

즉, 협업 계획부(120)는 작업 교대 횟수가 최대로 되도록 협업 계획을 계산할 수 있다.That is, the collaboration planning unit 120 may calculate a collaboration plan to maximize the number of work shifts.

또한, 탐욕(GREEDY) 알고리즘(Case 2)을 이용하는 경우, 협업 계획부(120)는 다수 매니퓰레이터 로봇의 물체 재배치 작업 계획을 취합하고 이를 기초로 즉시 작업을 수행할 수 있는 다수 매니퓰레이터 로봇을 선택하여 협업 계획을 계산할 수 있다.In addition, when using the GREEDY algorithm (Case 2), the collaboration planning unit 120 collects the object rearrangement work plans of multiple manipulator robots and selects multiple manipulator robots that can immediately perform the task based on this to collaborate. Plans can be calculated.

즉, 협업 계획부(120)는 다수 매니퓰레이터 로봇 중 즉시 작업을 수행할 수 있는 매니퓰레이터 로봇을 선택하여 협업 계획을 계산할 수 있다.That is, the collaboration planning unit 120 may calculate a collaboration plan by selecting a manipulator robot that can immediately perform a task among multiple manipulator robots.

단위 작업 순위 결정부(130)는 산출된 협업 계획을 최단 시간 내에 수행하기 위해 다수 매니퓰레이터 로봇의 단위 작업 순서를 결정할 수 있다.The unit task ranking unit 130 may determine the unit task sequence of multiple manipulator robots in order to perform the calculated collaboration plan within the shortest time.

구체적으로, 단위 작업 순위 결정부(130)는 산출된 협업 계획을 실시하기 위한 각 매니퓰레이터 로봇의 단위 작업을 파악하고, 단위 작업들이 최단 시간 내에 실행되어 다수의 매니퓰레이터 로봇이 최소의 시간 내에 목표로 하는 타깃의 재배치 상태를 달성할 수 있도록 작업 순서를 결정할 수 있다. Specifically, the unit task ranking unit 130 identifies the unit tasks of each manipulator robot to implement the calculated collaboration plan, and executes the unit tasks within the shortest time so that multiple manipulator robots can reach their target within the minimum time. The task sequence can be determined to achieve the target's relocation status.

이동 계획부(140)는 작업 순서를 다수 로봇이 충돌 없이 실행하기 위해 매니퓰레이터 로봇의 이동 계획을 수립할 수 있다.The movement planning unit 140 may establish a movement plan for the manipulator robot so that multiple robots can execute the work sequence without collision.

제어부(150)는 수립된 이동 계획을 기초로 상기 다수 로봇을 제어할 수 있다.The control unit 150 can control the plurality of robots based on an established movement plan.

이어서, 상술한 다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법에 대한 실험 결과에 대해 설명한다.Next, the results of an experiment on the method of establishing a work and movement plan for relocating an object through collaboration between the above-described multiple manipulator robots are explained.

실험 예Experiment example

본 실험은 두 가지 실험 세트에서 수행되었다. 구체적으로, 첫 번째 실험 세트는 도 7(a)와 같이 동적 시뮬레이션(dynamic simulations) 없이 탐색(SEARCH) 알고리즘 및 탐욕(GREEDY) 알고리즘을 평가하고, 스위치의 수와 스위칭 속도인 객관적인 값을 측정하였다. 모든 솔루션에는 다른 수의 작업이 있을 수 있으므로(따라서 전환 기회의 수는 다양함) 비율을 표시하면 비교할 수 있다.This experiment was conducted in two experimental sets. Specifically, the first set of experiments evaluated the SEARCH algorithm and the GREEDY algorithm without dynamic simulations, as shown in Figure 7(a), and measured objective values, which are the number of switches and switching speed. Since every solution may have a different number of tasks (and therefore a different number of conversion opportunities), showing ratios allows for comparison.

또한, 재배치된 물체 및 재계획의 수, 제한 시간(200초) 내 성공률, 작업 계획 및 이동 계획(TAP) 시간과 같은 성능과 관련된 다른 값에 대해서 설명한다.Additionally, other performance-related values are discussed, such as number of relocated objects and replans, success rate within time limit (200 seconds), task planning and movement planning (TAP) time.

두 번째 실험 세트는 도 7(b)와 같이 Unity-ROS 통합을 사용하여 구현된 동적 시뮬레이션(dynamic simulations) 환경에서 실험하였다.The second set of experiments was conducted in a dynamic simulations environment implemented using Unity-ROS integration, as shown in Figure 7(b).

한편, 합리적인 비교를 위해 거리(DISTANCE) 알고리즘과 랜덤(RANDOM) 알고리즘을 이용하였다. 거리(DISTANCE) 알고리즘은 두 매니퓰레이터 로봇이 재배치할 물체에 접근할 수 있는 경우, 물체와 매니퓰레이터 로봇 사이의 유클리드 거리에 따라 작업을 할당하고, 작업 계획 이 주어지면 첫 번째 물체가 두 매니퓰레이터 로봇 모두에 액세스할 수 있는지 확인하고, 두 매니퓰레이터 로봇 모두 물체에 접근할 수 있으면 물체에 더 가까운 매니퓰레이터 로봇이 선택된다. 또한, 한 매니퓰레이터 로봇만 물체에 접근할 수 있는 경우, 해당 매니퓰레이터 로봇이 선택될 수 있다. 또한, 두 매니퓰레이터 로봇 모두에 대해 충돌 없는 동작이 발견되지 않으면 작업 계획이 재계획을 위해 업데이트될 수 있으며, 대상이 검색될 때까지 선택이 반복될 수 있다.Meanwhile, for reasonable comparison, the DISTANCE algorithm and the RANDOM algorithm were used. The DISTANCE algorithm assigns tasks according to the Euclidean distance between the object and the manipulator robot, if both manipulator robots have access to the object to be relocated, and given the task plan, the first object has access to both manipulator robots. If both manipulator robots can access the object, the manipulator robot closer to the object is selected. Additionally, if only one manipulator robot can access an object, that manipulator robot may be selected. Additionally, if conflict-free motion is not found for both manipulator robots, the action plan can be updated for re-planning, and the selection can be repeated until the target is found.

랜덤(RANDOM) 알고리즘은 거리(DISTANCE) 알고리즘과 유사하게 작동하지만 두 매니퓰레이터 로봇이 재배치할 물체에 접근할 수 있는 경우 무작위로 작업을 할당할 수 있다.The RANDOM algorithm works similarly to the DISTANCE algorithm, but can randomly assign tasks if both manipulator robots have access to the object to be relocated.

본 실험은 MoveIt의 Open Motion Planning Library에서 구현된 이동 계획을 위해 RRTConnect를 사용하며, 32G RAM과 AMD Ryzen 7 2700 3.2GHz가 장착된 시스템이 실험에 이용되었다.This experiment uses RRTConnect for movement planning implemented in MoveIt's Open Motion Planning Library, and a system equipped with 32G RAM and AMD Ryzen 7 2700 3.2GHz was used for the experiment.

작업 공간(제한된 공간)의 치수는 1.1m x 0.5m x 0.85m이며, 물체의 수는 최대 20개이므로 부피가 큰 매니퓰레이터인 Franka Emika Panda(7-DOF)에게는 공간이 복잡하고 비좁은 환경이다.The dimensions of the workspace (confined space) are 1.1m

첫 번째 실험 세트first set of experiments

물체 위치가 무작위로 균일하게 샘플링되는 각 N = 12, 16, 20에 대해 30개의 인스턴스로 네 가지 방법을 테스트하며, 공정한 비교를 위해 테스트 인스턴스 세트는 모든 방법에서 동일하게 한다. 또한 각 작업에 대한 계획을 생성하는데 필요한 평균 시간을 평가하기 위해 작업 계획 및 각 작업에 대한 이동 계획 시간을 판단한다. We test the four methods with 30 instances for each N = 12, 16, 20 where object positions are sampled randomly and uniformly, and to ensure a fair comparison, the set of test instances is the same for all methods. Additionally, the task plan and travel planning times for each task are determined to evaluate the average time required to generate a plan for each task.

도 8, 도 9(a) 및 도 9(b)를 참조하면, 매니퓰레이터 로봇 간의 작업 교대(switching)가 더 많이 발생하는 방법이 솔루션을 찾는 데 훨씬 뛰어나다.Referring to Figures 8, 9(a) and 9(b), the method that involves more switching between manipulator robots is much better at finding a solution.

인스턴스 집합이 N = 12일 때 검색(SEARCH) 알고리즘의 전환율은 82.2%이며 이는 매니퓰레이터 로봇이 5번 중 4번 이상 작업 교대한 것을 의미한다.When the instance set is N = 12, the conversion rate of the SEARCH algorithm is 82.2%, which means that the manipulator robot shifts work more than 4 out of 5 times.

이 비율의 작업 할당 예는 (= , , , , , )일 수 있다. An example of task allocation with this ratio is ( = , , , , , ) can be.

가장 복잡한 인스턴스 집합인 N = 20의 경우 검색(SEARCH)은 거리(DISTANCE) 알고리즘 및 랜덤(RANDOM) 알고리즘에 비해 작업 교대 속도를 각각 최대 70.8% 및 최소 34.3% 감소시켰으며, 결과적으로 더 많은 작업 교대는 더 많은 작업을 병렬화할 수 있으므로 모든 작업이 끝나는 시간(makespan)이 더 짧아지므로 매니퓰레이터 로봇의 효율적인 작업 계획으로 이어진다.For the most complex set of instances, N = 20, SEARCH reduced the work shift rate by up to 70.8% and at least 34.3% compared to the DISTANCE and RANDOM algorithms, respectively, resulting in more work shifts. can parallelize more tasks, resulting in a shorter completion time (makespan) for all tasks, leading to efficient work planning for the manipulator robot.

탐욕(GREEDY) 알고리즘은 검색(SEARCH) 알고리즘 보다 성능이 좋지는 않지만 비교 결과보다 높은 작업 전환율을 보여준다. 탐욕(GREEDY) 알고리즘의 교대수가 검색(SEARCH) 알고리즘보다 크며, 이 결과는 검색(SEARCH) 알고리즘이 최적이라는 사실과 모순되지 않는다. 여기서, 탐욕(GREEDY) 알고리즘은 평균적으로 더 많은 물체를 재배치하므로 작업 교대 가능성이 더 높기 때문이다. 이는 스위칭 속도에 집중해야 하는 이유가 된다.Although the GREEDY algorithm does not perform as well as the SEARCH algorithm, it shows a higher task conversion rate than the comparison results. The number of shifts in the GREEDY algorithm is greater than that in the SEARCH algorithm, and this result does not contradict the fact that the SEARCH algorithm is optimal. Here, the GREEDY algorithm relocates more objects on average, so the likelihood of task shifts is higher. This is why you need to focus on switching speed.

또한, 검색(SEARCH) 알고리즘의 기하급수적인 시간 복잡성에도 불구하고 실제 계획 시간(도 8의 TAMP 시간)은 엄청나게 길지 않다.Additionally, despite the exponential time complexity of the SEARCH algorithm, the actual planning time (TAMP time in Figure 8) is not extremely long.

다른 것들(도 9(b) 참조)과 비교하여 계획 시간이 최대 21.2% 더 길며(N = 20일 때) 약 18초가 더 길다. 제한된 계획 시간에 대한 한 가지 이유는 각 분기가 작업을 수행하는 각 매니퓰레이터 로봇에 대한 것이기 때문에 검색 트리의 각 노드가 2의 분기 계수를 갖기 때문이다(즉, 최대 2개의 자식이 있음).Compared to the others (see Figure 9(b)), the planning time is up to 21.2% longer (when N = 20), about 18 seconds longer. One reason for the limited planning time is that each node in the search tree has a branch coefficient of 2 (i.e., has at most two children) because each branch is for each manipulator robot performing the task.

또한, 재배치될 물체의 수는 검색(SEARCH) 알고리즘의 경우 평균 4개를 넘지 않기 때문에 탐색 깊이도 제한된다. 따라서 검색(SEARCH) 알고리즘은 이론적 시간 복잡도가 낮더라도 효율적으로 실행할 수 있다. 도 9(b)의 분석은 동작 계획 시간이 검색(SEARCH) 알고리즘에서 가장 짧음을 나타내며, 주된 이유는 검색(SEARCH) 알고리즘이 빈번한 재계획을 요청하지 않아 계산 비용이 많이 드는 이동 계획 쿼리가 많이 생성되지 않기 때문이다.Additionally, because the number of objects to be relocated does not exceed 4 on average in the case of the SEARCH algorithm, the search depth is also limited. Therefore, the SEARCH algorithm can be executed efficiently even if the theoretical time complexity is low. The analysis in Figure 9(b) shows that the motion planning time is the shortest in the SEARCH algorithm, and the main reason is that the SEARCH algorithm does not request frequent replanning, resulting in many computationally expensive movement plan queries. Because it doesn't work.

또한, 성공률은 제한 시간(200초) 내에 솔루션을 반환할 확률을 측정하였고 모든 방법은 높은 성공률을 보여주었다.Additionally, the success rate measured the probability of returning a solution within the time limit (200 seconds), and all methods showed high success rates.

또한, 탐욕(GREEDY) 알고리즘은 검색(SEARCH) 알고리즘 보다 빠르게 실행되지만 검색(SEARCH) 알고리즘은 실험에서 재계획을 많이 하지 않기 때문에 시간 차이는 크지 않았다. 만약, 보다 역동적인 환경이었다면 재계획이 보다 자주 발생하여 차이가 커질 것으로 예상된다.In addition, the GREEDY algorithm runs faster than the SEARCH algorithm, but the time difference was not large because the SEARCH algorithm did not replan much in the experiment. If the environment were more dynamic, replanning would occur more frequently and the difference would be expected to increase.

두 번째 실험 세트Second set of experiments

이 실험에서 동적 시뮬레이션 환경에서 재배치 계획을 실행하여 실제 매니퓰레이터 로봇으로 방법을 실행할 가능성을 보여준다. N = 20인 30개의 인스턴스에 대한 결과는 도 9(c), 도 9(d) 및 도 10에 나타나 있다. In this experiment, we demonstrate the feasibility of executing the method with a real manipulator robot by executing the relocation plan in a dynamic simulation environment. Results for 30 instances with N = 20 are shown in Figures 9(c), 9(d), and Figure 10.

검색(SEARCH) 알고리즘은 가장 많은 작업 교대 수와 함께 가장 짧은 실행 시간을 보여준다. 이는 검색(SEARCH) 알고리즘이 런타임에 실행을 위한 효율적인 작업 계획을 생성할 수 있음을 나타낸다.The SEARCH algorithm shows the shortest execution time with the highest number of work shifts. This indicates that the SEARCH algorithm can generate an efficient work plan for execution at runtime.

실행 시간의 감소는 거리(DISTANCE) 알고리즘 및 랜덤(RANDOM) 알고리즘에 비해 각각 최대 27.3% 및 최소 22.9% 이다.The reduction in execution time is up to 27.3% and minimum 22.9% compared to the DISTANCE algorithm and the RANDOM algorithm, respectively.

탐욕(GREEDY) 알고리즘이 약간 더 나은 성능을 보여주며, 실행 시간의 낮은 감소(최대 9%)는 근시안적인 검색(SEARCH) 알고리즘과 대조적으로 근시안적인 의사 결정에서 비롯된다.The GREEDY algorithm shows slightly better performance, and the low reduction in execution time (up to 9%) results from short-sighted decision-making in contrast to the myopic SEARCH algorithm.

나아가, 여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.Furthermore, various embodiments described herein may be implemented in a recording medium readable by a computer or similar device, for example, using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어 모듈 자체로 구현될 수 있다.According to hardware implementation, the embodiments described herein include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). It may be implemented using at least one of processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions. In some cases, as described herein, The described embodiments may be implemented as a control module itself.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 씌여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리 모듈에 저장되고, 제어모듈에 의해 실행될 수 있다.According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein. Software code can be implemented as a software application written in an appropriate programming language. The software code may be stored in a memory module and executed by a control module.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. The above description is merely an illustrative explanation of the technical idea of the present invention, and various modifications, changes, and substitutions can be made by those skilled in the art without departing from the essential characteristics of the present invention. will be.

따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments and the attached drawings. . The scope of protection of the present invention should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of the present invention.

Claims (16)

다수 매니퓰레이터 로봇의 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립 방법에 있어서,
개별 로봇의 독립적인 물체 재배치 작업 계획을 계산하는 단계;
상기 개별 로봇의 물체 재배치 작업 계획을 취합하여 다수 로봇의 협업 계획을 계산하는 협업 계획 단계;
상기 협업 계획을 최단 시간 내에 수행하기 위해 상기 다수 로봇의 단위 작업 순서를 결정하는 단위 작업 순서 결정 단계;
상기 다수 로봇이 서로 충돌 없이 상기 작업 순서를 실행하기 위해 상기 다수 로봇의 이동 계획을 수립하는 이동 계획 단계; 및
상기 수립된 이동 계획을 기초로 상기 다수 로봇을 제어하는 단계;를 포함하는 작업 및 이동 계획 수립 방법.
In a method of establishing a work and movement plan for rearranging an object through the collaboration of multiple manipulator robots,
calculating independent object relocation operation plans for individual robots;
A collaboration planning step of calculating a collaboration plan for multiple robots by collecting the object relocation work plans of the individual robots;
A unit task sequence determination step of determining a unit task sequence of the plurality of robots in order to perform the collaboration plan in the shortest time possible;
A movement planning step of establishing a movement plan for the plurality of robots so that the plurality of robots execute the task sequence without colliding with each other; and
A method of establishing a work and movement plan comprising: controlling the plurality of robots based on the established movement plan.
제 1 항에 있어서,
상기 협업 계획 단계는 상기 다수 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산하는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to claim 1,
The collaboration planning step is a method of establishing a work and movement plan, characterized in that the collaboration plan is calculated so that the number of work shifts of the plurality of robots is maximized.
제 2 항에 있어서,
상기 협업 계획 단계는,
상기 개별 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성하는 단계;
상기 다수 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시키는 작업 비용 산출 단계; 및
모든 작업이 수행되어 최종 목적을 달성했는지 판정하는 목표 도달 확인 단계를 포함하는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to claim 2,
The collaboration planning stage is,
Collecting the work plans of the individual robots and then generating a tree to search for an optimal solution to the collaboration plan;
A task cost calculation step of increasing task performance costs if task shifts of robots do not occur in the process of exploring a plurality of scenarios in which the plurality of robots move objects; and
A work and movement planning method comprising a goal-reaching verification step to determine whether all work has been performed and the final goal has been achieved.
제 3 항에 있어서,
상기 트리를 생성하는 단계는,
상기 개별 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고,
다음 탐색 대상이 되는 노드를 선택하여 탐색 우선 순위를 지정해 탐색 대기열에 추가하고,
대기열에서 가장 높은 우선순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드를 생성하여 트리의 깊이를 증가시키고,
상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나가는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to claim 3,
The step of creating the tree is,
The arrangement state of the object that changes as the unit task belonging to the work plan of the individual robot is performed is defined as one node,
Select the next search target node, specify search priority, and add it to the search queue.
Increase the depth of the tree by performing the next unit operation on the search target node with the highest priority in the queue, relocating objects and creating new child nodes;
A work and movement plan establishment method characterized by searching all nodes in the queue as described above and expanding the tree until the goal is achieved.
제3항에 있어서,
상기 작업 비용 산출 단계는,
상기 개별 로봇의 작업 계획을 수행함에 있어 상기 다수 로봇의 교대 횟수를 최대화하기 위해 상기 다수 로봇이 교대를 실시할 수 있을 때는 비용을 발생시키지 않고 교대를 실시하지 않으면 단위 작업 비용을 발생시키는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to paragraph 3,
The work cost calculation step is,
In order to maximize the number of shifts of the plurality of robots in carrying out the work plan of the individual robots, no cost is incurred when the plurality of robots can perform shifts, and when shifts are not performed, unit work costs are incurred. What to do and how to plan your move.
제2항에 있어서,
상기 단위 작업 순서 결정 단계는,
상기 협업 계획을 실시하기 위한 상기 개별 로봇의 단위 작업을 파악하고,
상기 단위 작업들이 최단 시간 내에 실행되어 상기 다수 로봇이 최소의 시간 내에 목표로 하는 물체 재배치 상태를 달성할 수 있도록 작업 순서를 결정하는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to paragraph 2,
The unit operation sequence decision step is,
Identify unit tasks of the individual robots to implement the collaboration plan,
A method for establishing a work and movement plan, characterized in that the task sequence is determined so that the unit tasks are executed within the shortest time so that the plurality of robots can achieve the target object rearrangement state within the minimum time.
제 1 항에 있어서,
상기 협업 계획 단계는 상기 다수 로봇 중 즉시 작업을 수행할 수 있는 상기 개별 로봇을 선택하여 협업 계획을 계산하는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to claim 1,
The collaboration planning step is a method of establishing a work and movement plan, characterized in that the collaboration plan is calculated by selecting the individual robot that can immediately perform the task among the plurality of robots.
다수 매니퓰레이터 로봇이 협업을 통해 물체를 재배치하기 위한 작업 및 이동 계획 수립을 수행하는 로봇 협업 시스템에 있어서,
개별 로봇의 독립적인 물체 재배치 작업 계획을 계산하는 작업 계획부;
상기 개별 로봇의 물체 재배치 작업 계획을 취합하여 다수 로봇의 협업 계획을 계산하는 협업 계획부;
상기 협업 계획을 최단 시간 내에 수행하기 위해 다수 로봇의 단위 작업 순서를 결정하는 단위 작업 순서 결정부;
상기 작업 순서를 다수 로봇이 충돌 없이 실행하기 위해 로봇의 이동 계획을 수립하는 이동 계획부; 및
상기 수립된 이동 계획을 기초로 상기 다수 로봇을 제어하는 제어부를 포함하는 로봇 협업 시스템.
In a robot collaboration system in which multiple manipulator robots perform work and movement planning for relocating objects through collaboration,
a task planning unit that calculates an independent object relocation task plan for each robot;
a collaboration planning unit that calculates a collaboration plan for multiple robots by collecting the object relocation work plans of the individual robots;
a unit task sequence determination unit that determines the unit task sequence of multiple robots in order to perform the collaboration plan in the shortest time;
a movement planning unit that establishes a movement plan for the robots so that multiple robots can execute the work sequence without collision; and
A robot collaboration system including a control unit that controls the plurality of robots based on the established movement plan.
제 8 항에 있어서,
상기 협업 계획부는 상기 다수 로봇의 작업 교대 횟수가 최대로 되도록 협업 계획을 계산하는 것을 특징으로 하는 로봇 협업 시스템.
According to claim 8,
A robot collaboration system wherein the collaboration planning unit calculates a collaboration plan to maximize the number of work shifts for the plurality of robots.
제9항에 있어서,
상기 협업 계획부는,
상기 개별 로봇의 작업 계획을 취합한 후 협업 계획의 최적해를 탐색하기 위한 트리를 생성하는 프로세스;
상기 다수 로봇이 물체를 이동하는 다수의 시나리오를 탐색하는 과정에서 로봇의 작업 교대가 발생하지 않으면 작업 수행 비용을 증가시키는 작업 비용 산출 프로세스; 및
모든 작업이 수행되어 최종 목적을 달성했는지 판정하는 목표 도달 확인 프로세스를 더 포함하는 것을 특징으로 하는 로봇 협업 시스템.
According to clause 9,
The collaboration planning department said,
A process of collecting the work plans of the individual robots and then generating a tree to search for an optimal solution to the collaborative plan;
A task cost calculation process that increases task performance costs if task shifts of robots do not occur in the process of exploring a plurality of scenarios in which the plurality of robots move objects; and
A robot collaboration system further comprising a goal attainment confirmation process to determine whether all tasks have been performed and the final goal has been achieved.
제10항에 있어서,
상기 트리 생성 프로세스는,
상기 개별 로봇의 작업 계획에 속한 단위 작업을 수행함에 따라 바뀌는 물체의 배치 상태를 하나의 노드로 정의하고,
다음 탐색 대상이 되는 노드를 선택하여 탐색 우선순위를 지정해 탐색 대기열에 추가하고,
대기열에서 가장 높은 우선순위를 갖는 탐색 대상 노드에 대해 다음 단위 작업을 수행하여 물체를 재배치하고 새로운 자식 노드를 생성하여 트리의 깊이를 증가시키고,
상기 방법대로 대기열에 있는 모든 노드를 탐색하여 목표를 달성하기 전까지 트리를 확장해 나가는 것을 특징으로 하는 로봇 협업 시스템.
According to clause 10,
The tree creation process is,
The arrangement state of the object that changes as the unit task belonging to the work plan of the individual robot is performed is defined as one node,
Select the next search target node, specify search priority, and add it to the search queue.
Increase the depth of the tree by performing the next unit operation on the search target node with the highest priority in the queue, relocating objects and creating new child nodes;
A robot collaboration system characterized by searching all nodes in the queue according to the above method and expanding the tree until the goal is achieved.
제10항에 있어서,
상기 작업 비용 산출 프로세스는,
상기 개별 로봇의 작업 계획을 수행함에 있어 상기 다수 로봇의 교대 횟수를 최대화하기 위해 상기 다수 로봇이 교대를 실시할 수 있을 때는 비용을 발생시키지 않고 교대를 실시하지 않으면 단위 작업 비용을 발생시키는 것을 특징으로 하는 협업 시스템.
According to clause 10,
The work cost calculation process is,
In order to maximize the number of shifts of the plurality of robots in carrying out the work plan of the individual robots, no cost is incurred when the plurality of robots can perform shifts, and when shifts are not performed, unit work costs are incurred. A collaborative system that does.
제8항에 있어서,
상기 단위 작업 순서 결정부는,
상기 협업 계획을 실시하기 위한 상기 개별 로봇의 단위 작업을 파악하고,
상기 단위 작업들이 최단 시간 내에 실행되어 상기 다수 로봇이 최소의 시간 내에 목표로 하는 물체 재배치 상태를 달성할 수 있도록 작업 순서를 결정하는 것을 특징으로 하는 로봇 협업 시스템.
According to clause 8,
The unit operation sequence determination unit,
Identify unit tasks of the individual robots to implement the collaboration plan,
A robot collaboration system characterized in that the task sequence is determined so that the unit tasks are executed within the shortest time so that the plurality of robots can achieve the target object rearrangement state within the minimum time.
제8항에 있어서,
상기 협업 계획부는 상기 다수 로봇 중 즉시 작업을 수행할 수 있는 상기 개별 로봇을 선택하여 협업 계획을 계산하는 것을 특징으로 하는 작업 및 이동 계획 수립 방법.
According to clause 8,
A method of establishing a work and movement plan, wherein the collaboration planning unit calculates a collaboration plan by selecting the individual robot that can immediately perform the task among the plurality of robots.
제 1 항 내지 제 7 항 중 어느 한 항에 따른 작업 및 이동 계획 수립 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium storing a program for performing the method of establishing a work and movement plan according to any one of claims 1 to 7. 제 1 항 내지 제 7 항 중 어느 한 항에 따른 작업 및 이동 계획 수립 방법을 실행하기 위한 프로그램 코드를 포함하는 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램.A program stored in a computer-readable recording medium including program code for executing the work and movement plan establishment method according to any one of claims 1 to 7.
KR1020220081612A 2022-07-04 2022-07-04 Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots KR20240003844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220081612A KR20240003844A (en) 2022-07-04 2022-07-04 Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220081612A KR20240003844A (en) 2022-07-04 2022-07-04 Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots

Publications (1)

Publication Number Publication Date
KR20240003844A true KR20240003844A (en) 2024-01-11

Family

ID=89533669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220081612A KR20240003844A (en) 2022-07-04 2022-07-04 Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots

Country Status (1)

Country Link
KR (1) KR20240003844A (en)

Similar Documents

Publication Publication Date Title
CN109115226B (en) Route planning method for avoiding multi-robot conflict based on jumping point search
CN109976350B (en) Multi-robot scheduling method, device, server and computer readable storage medium
EP3201709B1 (en) Method and system for determining a path of an object for moving from a starting state to an end state set avoiding one or more obstacles
JP6695170B2 (en) How to improve robot movement
CN112229419B (en) Dynamic path planning navigation method and system
JP5997092B2 (en) Robot cooperative transfer planning apparatus, method and program
JP6711949B2 (en) Method and system for avoiding one or more obstacles and determining the path of an object moving from a starting state to a final state set
Clark Probabilistic road map sampling strategies for multi-robot motion planning
Al-Mutib et al. D* lite based real-time multi-agent path planning in dynamic environments
Lee et al. Tree search-based task and motion planning with prehensile and non-prehensile manipulation for obstacle rearrangement in clutter
WO2019141219A1 (en) Method and system for scheduling multiple mobile robots
Zhou et al. A distributed method to avoid higher-order deadlocks in multi-robot systems
EP3262475A1 (en) Resolution of route conflict
CN109341698B (en) Path selection method and device for mobile robot
Ahn et al. Coordination of two robotic manipulators for object retrieval in clutter
CN116540656A (en) Digital twinning-based multi-AGV collision-free path scheduling method for manufacturing workshops
Zhu et al. A hybrid navigation strategy for multiple mobile robots
JPH08166809A (en) Method for evading interference of plural robots and method for determining order and partial charge of operation
KR20240003844A (en) Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots
CN116625378B (en) Cross-regional path planning method and system and storage medium
Haiming et al. Algorithm of path planning based on time window for multiple mobile robots in warehousing system
Okumura et al. Amoeba exploration: Coordinated exploration with distributed robots
Fujitani et al. Deadlock-Free Method for Multi-Agent Pickup and Delivery Problem Using Priority Inheritance with Temporary Priority
Subramanian et al. A Study on seamless information sharing between robots in identifying the optimal path: An agent based approach
Bennewitz et al. Finding solvable priority schemes for decoupled path planning techniques for teams of mobile robots