[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20170071443A - Behavior-based distributed control system and method of multi-robot - Google Patents

Behavior-based distributed control system and method of multi-robot Download PDF

Info

Publication number
KR20170071443A
KR20170071443A KR1020160172022A KR20160172022A KR20170071443A KR 20170071443 A KR20170071443 A KR 20170071443A KR 1020160172022 A KR1020160172022 A KR 1020160172022A KR 20160172022 A KR20160172022 A KR 20160172022A KR 20170071443 A KR20170071443 A KR 20170071443A
Authority
KR
South Korea
Prior art keywords
robot
action
behavior
emergency
module
Prior art date
Application number
KR1020160172022A
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 성균관대학교산학협력단
Publication of KR20170071443A publication Critical patent/KR20170071443A/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B35/00Vessels or similar floating structures specially adapted for specific purposes and not otherwise provided for
    • B63B2035/006Unmanned surface vessels, e.g. remotely controlled
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63GOFFENSIVE OR DEFENSIVE ARRANGEMENTS ON VESSELS; MINE-LAYING; MINE-SWEEPING; SUBMARINES; AIRCRAFT CARRIERS
    • B63G8/00Underwater vessels, e.g. submarines; Equipment specially adapted therefor
    • B63G8/001Underwater vessels adapted for special purposes, e.g. unmanned underwater vessels; Equipment specially adapted therefor, e.g. docking stations
    • B63G2008/002Underwater vessels adapted for special purposes, e.g. unmanned underwater vessels; Equipment specially adapted therefor, e.g. docking stations unmanned

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 군집 로봇 제어 시스템 및 방법에 관한 것으로, 이 시스템은 비상 데이터가 없으면 서버 또는 리더 로봇에서 생성된 타임 행위 트리에 따라 추종 로봇이 동작하고, 비상 데이터가 있으면 추종 로봇의 판단에 따라 추종 로봇이 비상 행위를 수행한다. 본 발명에 따르면, 긴급한 상황에서는 추종 로봇이 자신의 행위를 직접 결정하므로 좀 더 신속하게 대처할 수 있다.The present invention relates to a system and method for controlling a cluster robot. In the system, if there is no emergency data, the tracking robot operates according to a time action tree generated by a server or a leader robot. If there is emergency data, Perform this emergency act. According to the present invention, the follower robot directly determines its own behavior in an urgent situation, so that it can cope with it more quickly.

Description

군집 로봇의 행위 기반 분산 제어 시스템 및 방법{BEHAVIOR-BASED DISTRIBUTED CONTROL SYSTEM AND METHOD OF MULTI-ROBOT}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a behavior-based distributed control system and method for a cluster robot,

본 발명은 군집 로봇 제어 시스템 및 방법에 관한 것으로, 좀 더 상세하게는 군집 로봇의 행위 기반 분산 제어 시스템 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system and method for controlling a community robot, and more particularly, to a behavior-based distributed control system and method for a community robot.

로봇 기술은 지금도 꾸준히 발전되고 있으며 현재 다양한 분야로 하여금 로봇의 활용 범위가 점차 넓어지고 있으나 이러한 로봇의 수요에 반해 로봇 응용기술의 발전은 느리게 진행되고 있다. 하지만 로봇 기술의 향상이 충분하지 않음에도 불구하고 다양한 임무의 수행과 효율적인 운용을 위해 군집 로봇 시스템이 연구되고 있다. 군집 로봇은 군집을 구성하는 로봇의 종류와 제어 시스템에 따라 다양한 종류가 있으며, 이에 따라 연구자들은 각 군집 로봇의 목적에 맞게 체계를 수립하고 발전시켰다.Robot technology is still developing steadily, and currently, the application range of robots is getting wider in various fields. However, development of robot application technology is progressing slowly compared to the demand of such robots. However, although the improvement of robot technology is not enough, a cluster robot system is being studied for various tasks and efficient operation. There are various kinds of cluster robots according to the kinds of robots constituting the cluster and the control systems. Therefore, the researchers have established and developed the system according to the purpose of each community robot.

동종 로봇은 군집을 이루는 모든 로봇이 같은 하드웨어와 소프트웨어를 가지고 있으며, 따라서 유지 보수가 용이하고, 로봇에 결함이 생겼을 경우 대체가 원활하여 즉각적으로 대응이 가능하다.A homogeneous robot has the same hardware and software as all the robots in the cluster, so it is easy to maintain, and if the robot is defective, the substitution is smooth and the robot can respond immediately.

이종 로봇은 각기 다른 하드웨어와 소프트웨어를 가진, 종류가 다른 로봇 끼리 이루는 군집 로봇으로, 각각이 다른 장비를 가지고 있어 임무의 적용 분야가 넓고, 높은 협동 수행능력을 요구한다. 하지만 다른 성격의 시스템을 가지는 로봇들의 유지 보수가 용이하지 않고, 다른 시스템으로 인해 다량의 정보를 교류해야 할 필요성이 있어 네트워크 의존율이 높은 편이다.A heterogeneous robot is a grouping robot consisting of different kinds of hardware and software, each of which has different equipment, so it has a wide application field and requires high cooperative performance. However, it is not easy to maintain robots with systems of different characteristics, and there is a need to exchange a large amount of information due to other systems, and thus the network dependency is high.

군집 로봇의 제어 방식으로 중앙 제어 방식과 분산 제어 방식이 있다. 중앙제어 방식은 하나의 프로세서로 모든 정보를 취합하고 처리하여 운용하므로 모든 로봇 또는 주어진 임무에 최적화된 결정을 내리기가 용이하다. 환경에 대한 모델링과 각 로봇에 대한 정보, 그에 따른 계획이 중앙에서 연산되고 처리되어 로봇 사양을 가볍게 할 수 있으며, 최적화된 행위 결정이 가능하다. 하지만 처리할 정보량이 많기 때문에 네트워크 장치와 중앙처리 장치 비용이 상승하고, 중앙 처리기에 모든 로봇이 온전히 의존하기 때문에 중앙 처리 장치의 결함이나 왜란에 모든 시스템이 영향을 받기 쉽다. 반대로 로봇의 결함에는 강력한 대비 성능을 보일 수 있다.There are a central control method and a distributed control method as a control method of the cluster robot. The central control system collects and processes all the information with a single processor, making it easy to make decisions that are optimized for all robots or given missions. The modeling of the environment, the information about each robot, and the plan accordingly can be computed and processed centrally to lighten the specifications of the robot and to make optimized behavior decisions. However, because of the high volume of information to be processed, the costs of network devices and central processing units increase, and all the systems are susceptible to faults or disturbances in the central processing unit, as all robots depend entirely on the central processing unit. On the other hand, robustness against robot defects can be demonstrated.

분산 제어 방식은 각 로봇이 주체가 되어 전체 군집 행위를 제어하는 것을 의미한다. 분산 로봇간 데이터 교류를 바탕으로, 주변 로봇과의 관계, 환경을 스스로 모델링 하고 판단하여 행위를 이끌어 낸다. 중앙 제어 방식에 비하여 연산에 대한 부담을 줄일 수 있는 반면 상대적으로, 로봇의 높은 수준의 지능을 요구한다.The distributed control method means that each robot becomes the main body and controls the whole cluster behavior. Based on the data exchange between the distributed robots, they model and judge the relationship with the surrounding robot and the environment themselves, and lead the action. Compared to the central control method, it can reduce the burden on the computation, while it requires relatively high intelligence of the robot.

행위 기반 로봇 제어에서 반사형 행위(reactive behavior)는 지각이 바로 동작을 만들어 내는 구조로 즉각적인 반응을 유도할 수 있으나 지능적인 측면이 부족하고, 숙고형 행위(deliberative behavior)는 환경을 분석하고 상태를 반영하여 최적의 행위를 이끌어 내지만 응답이 느리다.In behavior-based robot control, reactive behavior is a structure in which perception directly induces action, which can induce immediate responses, but lacks intellectual aspects, deliberative behavior analyzes environment, Reflecting the optimal behavior, but the response is slow.

한국공개특허 제10-2012-0026744호Korean Patent Publication No. 10-2012-0026744

따라서 본 발명이 해결하고자 하는 과제는 반사형 행위와 숙고형 행위를 조합하여 각각의 장점을 이끌어 내 기능적으로 발전을 한 방식인 혼합형 행위를 기반으로 하는 군집 로봇의 제어 시스템과 이종의 로봇을 포괄하는 군집 로봇의 분산 제어 시스템 및 방법을 제공하는 것이다.Accordingly, a problem to be solved by the present invention is to provide a control system of a grouping robot based on a hybrid behavior, which is a functionally developed method of combining reflexive action and contemplative action, And a distributed control system and method for a cluster robot.

본 발명의 한 실시예에 따른 서버 또는 리더 로봇 및 추종 로봇을 포함하는 군집 로봇을 제어하는 시스템은, 상기 서버 또는 상기 리더 로봇에 탑재되어 있으며 태스크를 입력받아 상기 태스크를 수행하기 위한 타임 행위 트리를 생성하는 행위 계획 모듈, 상기 추종 로봇에 탑재되어 있으며 비상 데이터가 입력되면 상기 비상 데이터와 센서 데이터를 이용하여 미리 설정되어 있는 비상 행위 중에서 현재 상황에 적합한 비상 행위를 선택하여 비상 행위 리스트를 생성하는 비상 행위 계획 모듈, 그리고 상기 추종 로봇에 탑재되어 있으며, 상기 비상 데이터가 없으면 상기 행위 계획 모듈로부터 상기 타임 행위 트리를 입력받아 상기 추종 로봇의 행위를 조정하고, 상기 비상 데이터가 있으면 상기 비상 행위 계획 모듈로부터 상기 비상 행위 리스트를 입력받아 상기 추종 로봇의 행위를 결정하는 행위 조정 모듈을 포함한다.A system for controlling a community robot including a server or a leader robot and a follower robot according to an embodiment of the present invention includes a time action tree that is mounted on the server or the leader robot and receives a task and performs the task, An emergency planning module which is installed in the tracking robot and generates an emergency action list by selecting an emergency action suitable for the current situation among preset emergency actions using the emergency data and sensor data when the emergency data is inputted, An action plan module, and the follow-up robot, wherein if there is no emergency data, the time action tree is received from the action planning module and the behavior of the following robot is adjusted, and if there is the emergency data, Enter the emergency action list Ah include acts adjustment module that determines the behavior of the follower robot.

상기 행위 계획 모듈은, 복수의 행위를 기억하는 데이터베이스, 상기 데이터베이스에서 상기 태스크를 수행하기 위한 행위를 선택하는 행위 스케줄러, 그리고 상기 선택된 행위가 시간에 따라 작동되도록 상기 타임 행위 트리를 생성하는 타임 이벤트 행위 생성기를 포함할 수 있다.The behavior planning module includes a database for storing a plurality of actions, an action scheduler for selecting an action for performing the task in the database, and a time event action for generating the time action tree Generator.

상기 행위 계획 모듈은 하나의 태스크가 끝난 후 평가 정보를 입력받아 수행된 행위에 대한 파라미터를 업데이트하는 분석기를 더 포함할 수 있다.The action planning module may further include an analyzer for receiving the evaluation information after one task is completed and updating the parameters of the performed action.

상기 행위 조정 모듈은, 기본 행위를 기억하는 기본 행위 데이터베이스, 그리고 상기 타임 행위 트리로부터 어떤 기본 행위를 해야 하는지 결정하고, 상기 결정된 기본 행위를 하기 위해 상기 추종 로봇이 이동해야 할 타임 경로점 트리를 생성하는 행위 분석기를 포함할 수 있다.The behavior coordination module includes a basic behavior database for storing a basic behavior and a time behavior tree for determining a basic behavior from the time behavior tree and generating a time path point tree to which the following robot should move in order to perform the determined basic behavior And the like.

상기 추종 로봇에 탑재되어 있으며, 상기 행위 조정 모듈로부터 상기 타임 경로점 트리를 입력받아 상기 추종 로봇의 현재 위치와 목표 위치 사이의 거리와 상기 추종 로봇이 어떤 속도로 움직여야 할지에 대한 속도 프로파일을 생성하는 행위 실행 모듈을 더 포함할 수 있다.And a velocity profile generating unit that receives the time path point tree from the behavior adjusting module and generates a velocity profile of a distance between a current position of the following robot and a target position and a speed at which the following robot moves And a behavior execution module.

센서로부터의 미가공 센서 데이터를 이용하여 상기 추종 로봇의 위치, 속도, 방향, 현재 상태, 장애물 정보를 포함하는 전처리 데이터를 생성하고, 상기 전처리 데이터를 상기 행위 조정 모듈로 전달하는 인식 모듈을 더 포함하며, 상기 행위 조정 모듈은 상기 전처리 데이터를 이용하여 상기 추종 로봇의 행위를 조정할 수 있다.Further comprising a recognizing module for generating preprocessing data including the position, speed, direction, current state, and obstacle information of the following robot using raw sensor data from the sensor, and transmitting the preprocessed data to the behavior adjustment module , The behavior adjustment module may adjust the behavior of the following robot using the preprocessed data.

본 발명의 다른 실시예에 따른 서버 또는 리더 로봇 및 추종 로봇을 포함하는 군집 로봇을 제어하는 방법은, 상기 서버 또는 상기 리더 로봇이 태스크를 입력받아 상기 태스크를 수행하기 위한 타임 행위 트리를 생성하는 단계, 상기 추종 로봇이 비상 데이터가 입력되면 상기 비상 데이터와 센서 데이터를 이용하여 미리 설정되어 있는 비상 행위 중에서 현재 상황에 적합한 비상 행위를 선택하여 비상 행위 리스트를 생성하는 단계, 그리고 상기 추종 로봇이 상기 비상 데이터가 없으면 상기 서버 또는 상기 리더 로봇으로부터 상기 타임 행위 트리를 입력받아 상기 추종 로봇의 행위를 조정하고, 상기 비상 데이터가 있으면 상기 비상 행위 리스트를 이용하여 상기 추종 로봇의 행위를 결정하는 단계을 포함한다.A method of controlling a cluster robot including a server or a leader robot and a following robot according to another embodiment of the present invention includes generating a time action tree for performing tasks by the server or the leader robot And generating an emergency action list by selecting an emergency action suitable for the current situation among the emergency actions set in advance using the emergency data and the sensor data when the following robot inputs the emergency data, If there is no data, receiving the time action tree from the server or the leader robot to adjust the behavior of the following robot, and if there is the emergency data, determining an action of the following robot using the emergency action list.

상기 서버 또는 상기 리더 로봇은, 복수의 행위를 기억하는 데이터베이스, 상기 데이터베이스에서 상기 태스크를 수행하기 위한 행위를 선택하는 행위 스케줄러, 그리고 상기 선택된 행위가 시간에 따라 작동되도록 상기 타임 행위 트리를 생성하는 타임 이벤트 행위 생성기를 포함할 수 있다.The server or the leader robot includes a database storing a plurality of actions, an action scheduler selecting an action for performing the task in the database, and a time generating unit for generating the time action tree And an event behavior generator.

상기 서버 또는 상기 리더 로봇은 하나의 태스크가 끝난 후 평가 정보를 입력받아 수행된 행위에 대한 파라미터를 업데이트하는 분석기를 더 포함할 수 있다.The server or the leader robot may further include an analyzer that receives evaluation information after one task is completed and updates parameters of the performed action.

상기 추종 로봇은, 기본 행위를 기억하는 기본 행위 데이터베이스, 그리고 상기 타임 행위 트리로부터 어떤 기본 행위를 해야 하는지 결정하고, 상기 결정된 기본 행위를 하기 위해 상기 추종 로봇이 이동해야 할 타임 경로점 트리를 생성하는 행위 분석기를 포함할 수 있다.The follower robot includes a basic action database storing a basic action, a basic action database for determining a basic action from the time action tree, and a time path point tree to which the following robot should move in order to perform the determined basic action Behavior analyzer.

상기 추종 로봇은 상기 타임 경로점 트리를 이용하여 상기 추종 로봇의 현재 위치와 목표 위치 사이의 거리와 상기 추종 로봇이 어떤 속도로 움직여야 할지에 대한 속도 프로파일을 생성할 수 있다.The tracking robot can generate a velocity profile of a distance between the current position and the target position of the following robot and a speed at which the following robot moves using the time path point tree.

상기 추종 로봇은 센서로부터의 미가공 센서 데이터를 이용하여 상기 추종 로봇의 위치, 속도, 방향, 현재 상태, 장애물 정보를 포함하는 전처리 데이터를 생성하고, 상기 전처리 데이터를 이용하여 상기 추종 로봇의 행위를 조정할 수 있다.The tracking robot generates preprocessing data including the position, speed, direction, current state, and obstacle information of the following robot using raw sensor data from the sensor, and adjusts the behavior of the following robot using the preprocessed data .

본 발명에 따른 행위 기반 군집 로봇 제어 시스템은 반사형 행위와 숙고형 행위의 장점을 가진 혼합형 행위에 기반한 제어 시스템으로서, 각 모듈은 분산 처리 구조를 채택하여 분산 통합 플랫폼의 구조에 적합하도록 설계됨으로써 이종 로봇의 분산 제어 로봇 플랫폼으로 확장이 용이하게 된다.The behavior-based cluster robot control system according to the present invention is a control system based on a hybrid behavior having the advantages of reflective behavior and contemplative behavior. Each module adopts a distributed processing structure and is designed to be suitable for the structure of a distributed integrated platform, It becomes easy to expand to the distributed control robot platform of the robot.

또한 행위의 결정 과정을 체계화하고, 다양한 로봇 하드웨어에 적용할 수 있도록 행위를 일반화하며, 이러한 행위를 조정 및 조합하고 새로운 행위를 생성함으로써 복잡한 임무에 적용할 수 있다.It can also be applied to complex tasks by organizing the decision-making process of activities, generalizing actions to be applied to various robot hardware, coordinating and combining these actions, and creating new actions.

본 발명에 따른 군집 로봇 제어 시스템은 모든 로봇에 동시 운용이 가능하고, 네트워크 부담을 덜 수 있도록 데이터 교환을 최소화할 수 있으며, 다양한 임무에 적용이 가능한 소프트웨어 구조로 이루어져 있다. 또한 이 제어 시스템은 다양한 임무에 적용 가능하고 일반화된 행위로 많은 행위 조정이 가능한 계층적 구조로 이루어져 있으므로 계층 상하로 역할을 나누고 최소한의 데이터로 운용할 수 있다. 그리고 행위의 일부는 각 로봇이 분산 형태로 행하므로 서버 또는 리더 로봇의 부담을 줄일 수 있다.The cluster robot control system according to the present invention has a software structure capable of simultaneously operating all the robots, minimizing data exchange so as to reduce the burden on the network, and being applicable to various tasks. This control system can be applied to various tasks and has a hierarchical structure that can be coordinated with many actions by generalized actions. Therefore, it can be divided into roles and operated with minimum data. Also, some of the actions are performed in a distributed manner, so that the burden of the server or the reader robot can be reduced.

또한 본 발명에 따른 군집 로봇 제어 시스템에 의하면 군집 로봇 중 어느 하나의 로봇에서 긴급 상황이 발생하면 해당 로봇의 행위를 결정함에 있어서 서버나 리더 로봇에서 결정하는 것이 아니라 해당 로봇의 비상 행위 계획 모듈에서 직접 결정하므로 해당 로봇이 해야 할 행위가 바로 결정되어 좀 더 신속하게 대처할 수 있다.Further, according to the cluster robot control system according to the present invention, when an emergency occurs in any one of the community robots, it is not decided by the server or the leader robot in deciding the action of the corresponding robot, So that the action to be performed by the robot is immediately determined and can be dealt with more quickly.

도 1은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 전체 블록도이다.
도 2는 본 발명의 실시예에 따른 군집 로봇의 제어 동작을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 행위 계획 모듈을 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 행위 조정 모듈을 도시한 블록도이다.
도 5는 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 행위 실행 모듈을 도시한 블록도이다.
도 6은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 속도 프로파일 생성기를 도시한 블록도이다.
도 7은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 인식 모듈을 도시한 블록도이다.
도 8은 본 발명의 실시예에 따른 군집 로봇의 비상 행동 계획 모듈을 도시한 블록도이다.
도 9는 본 발명의 실시예에 따른 군집 로봇의 일반 제어 시스템을 도시한 블록도이다.
도 10은 본 발명의 실시예에 따른 군집 로봇의 긴급 제어 시스템을 도시한 블록도이다.
도 11은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 운용 플랫폼을 위한 분산 제어 구조를 도시한 개략도이다.
1 is an overall block diagram of a system for controlling a community robot according to an embodiment of the present invention.
2 is a block diagram illustrating a control operation of the community robot according to the embodiment of the present invention.
FIG. 3 is a block diagram illustrating an action planning module of a system for controlling a community robot according to an embodiment of the present invention.
4 is a block diagram illustrating a behavior control module of a community robot control system according to an embodiment of the present invention.
FIG. 5 is a block diagram illustrating an action execution module of a community robot control system according to an embodiment of the present invention.
6 is a block diagram illustrating a velocity profile generator of a community robot control system according to an embodiment of the present invention.
FIG. 7 is a block diagram illustrating a recognition module of a system for controlling a community robot according to an embodiment of the present invention. Referring to FIG.
8 is a block diagram illustrating an emergency action planning module of a community robot according to an embodiment of the present invention.
9 is a block diagram illustrating a general control system of a community robot according to an embodiment of the present invention.
FIG. 10 is a block diagram illustrating an emergency control system for a community robot according to an embodiment of the present invention.
11 is a schematic diagram showing a distributed control structure for an operation platform of a community robot control system according to an embodiment of the present invention.

본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 안 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.The terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms and the inventor may properly define the concept of the term in order to best describe its invention It should be construed as meaning and concept consistent with the technical idea of the present invention.

따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and are not intended to represent all of the technical ideas of the present invention. Therefore, various equivalents And variations are possible.

그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention.

도 1은 본 발명의 실시예에 따른 군집 로봇 제어 시스템의 전체 블록도이고, 도 2는 본 발명의 실시예에 따른 군집 로봇의 제어 동작을 설명하기 위한 블록도이다.FIG. 1 is an overall block diagram of a community robot control system according to an embodiment of the present invention, and FIG. 2 is a block diagram for explaining a control operation of a community robot according to an embodiment of the present invention.

도 1을 참고하면, 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)은 환경 모듈(environment module)(10), 미션 계획 모듈(mission planner)(20), 행위 계획 모듈(behavior planner)(30), 행위 조정 모듈(behavior coordinator)(40), 행위 실행 모듈(behavior executor)(50), 인식 모듈(perception module)(60), 비상 행위 계획 모듈(emergency behavior planner)(70), 센서(80), 그리고 로봇 구동 모듈(90)을 포함한다. 이 제어 시스템(100)은 센서(80)와 로봇 구동 모듈(90)로 이루어진 하드웨어와 그 나머지로 이루어진 소프트웨어로 구분될 수 있다.Referring to FIG. 1, a system for controlling a community robot 100 according to an embodiment of the present invention includes an environment module 10, a mission planner 20, a behavior planner 30, a behavior coordinator 40, a behavior executor 50, a perception module 60, an emergency behavior planner 70, a sensor 80, and a robot driving module 90. The control system 100 can be divided into hardware consisting of a sensor 80 and a robot driving module 90, and software composed of the rest.

환경 모듈(10), 미션 계획 모듈(20) 및 행위 계획 모듈(30)은 서버 또는 리더 로봇에 탑재될 수 있고, 행위 조정 모듈(40), 행위 실행 모듈(50), 인식 모듈(60) 및 비상 행위 계획 모듈(70)은 각 로봇에 탑재될 수 있으나 이에 한정되지 않는다.The environment module 10, the mission planning module 20 and the behavior planning module 30 may be mounted on a server or a leader robot and include a behavior adjustment module 40, an action execution module 50, a recognition module 60, The emergency action planning module 70 may be mounted on each robot but is not limited thereto.

이 제어 시스템(100)의 대상인 군집 로봇은 육상의 이동 로봇이나 공중의 비행 로봇뿐만 아니라 무인 수상정(USV, unmanned surface vehicle), 무인 잠수정(ROV, remotely operated underwater vehicle), 자율 무인 잠수정(AUV, autonomous underwater vehicle) 등의 해양 군집 로봇 등이 될 수도 있다. 또한 모든 로봇이 동일한 하드웨어를 가지고 있는 동종 로봇이거나 다른 하드웨어를 가지고 있는 이종 로봇을 가리지 않는다.The community robot, which is the object of the control system 100, is not only a land mobile robot or an airborne flying robot but also an unmanned surface vehicle (USV), a remotely operated underwater vehicle (ROV), an autonomous unmanned submersible (AUV) an autonomous underwater vehicle, and the like. Also, not all robots are homogeneous robots with the same hardware, or heterogeneous robots with different hardware.

도 2를 참고하면, 행위를 수행하는 중심 제어 동작이 순서대로 도시되어 있다. 미션 계획 모듈(20)은 임무를 입력받아 태스크를 출력하고, 행위 계획 모듈(30)은 태스크를 입력받아 행위 트리를 출력하며, 행위 조정 모듈(40)은 행위 트리를 입력받아 경로점 트리를 출력하고, 행위 실행 모듈(50)은 경로점 트리를 입력받아 속도 프로파일을 출력한다. 이와 같이 군집 로봇 제어 체계는 아래로 내려갈수록 행위의 항목이 세분화되고, 상위로 갈수록 임무 및 임무를 위한 복합 행위 등 큰 범위의 행위가 정해진다.Referring to FIG. 2, the central control operations for performing the actions are shown in order. The mission planning module 20 receives a task and outputs a task. The action planning module 30 receives a task and outputs a behavior tree. The behavior coordination module 40 receives a behavior tree and outputs a path point tree And the action execution module 50 receives the path point tree and outputs the velocity profile. In this way, the control system of the cluster robot is divided down into the items of action as it moves downward, and a larger range of actions such as a complex action for the mission and the task is determined as the position goes down.

그러면 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 각 구성 요소에 대하여 좀 더 상세하게 설명한다.Hereinafter, each component of the system 100 will be described in more detail.

환경 모듈(10)은 지도와 같은 주변 환경에 대한 정보, 즉 환경 정보를 가지고 있는 모듈로서 환경 데이터베이스를 포함할 수 있다.The environment module 10 may include an environment database as a module having information on the surrounding environment such as a map, i.e., environment information.

미션 계획 모듈(20)은 사용자가 입력한 특정 임무를 로봇이 수행할 수 있는 태스크로 변환하여 행위 계획 모듈(30)에 전달한다. 미션 계획 모듈(20)은 미션 데이터베이스를 포함할 수 있으며, 이에는 감시 및 정찰, 기뢰 탐색, 전투 등의 태스크 정보가 포함되어 있다.The mission planning module 20 converts a specific task input by the user into a task that can be performed by the robot and transmits the task to the action planning module 30. [ The mission planning module 20 may include a mission database, which includes task information such as surveillance and reconnaissance, mine exploration, and combat.

센서(80)는 각 로봇에 장착될 수 있으며, 카메라와 같은 비전 센서(vision sensor), 적외선 센서, 레이저 거리 측정기(LRF, laser range rinder), 위성항법장치(GPS, global positioning system), 자세방위기준장치(AHRS, attitude heading reference system) 등이 있다.The sensor 80 may be mounted on each robot and may include a vision sensor such as a camera, an infrared sensor, a laser range finder (LRF), a global positioning system (GPS) And an attitude heading reference system (AHRS).

로봇 구동 모듈(90)은 모터나 액추에이터 등으로 이루어질 수 있으며, 행위 실행 모듈(50)로부터 속도 제어 신호나 조향 제어 신호 등을 입력받아 이동하고자 하는 목적지로 이동하거나 주어진 임무를 수행할 수 있도록 한다.The robot driving module 90 may be composed of a motor or an actuator. The robot driving module 90 may receive a speed control signal, a steering control signal, and the like from the action execution module 50, and may move to a destination or perform a given task.

도 3은 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 행위 계획 모듈을 도시한 블록도이다.FIG. 3 is a block diagram illustrating an action planning module of the system 100 for controlling a community robot according to an embodiment of the present invention.

도 3을 참고하면, 행위 계획 모듈(30)은 대형 제어, 커버리지, 경로 추종 등과 같이 전체적인 임무와 일정에 관련된 내용을 총괄하고, 그에 대한 평가와 함께 파라미터 조정을 통해 효과적으로 임무를 수행하는 역할을 한다. 각 로봇이 수행하고자 하는 태스크에 대한 내용을 실제로 로봇에 적용하기 위한 첫 번째 단계로서, 주어진 태스크에 해당하는 타임 행위 트리(timed behavior tree)를 행위 조정 모듈(40)에 전달한다.Referring to FIG. 3, the action planning module 30 collectively manages the contents related to the overall task and schedule such as large control, coverage, and path following, and plays a role of effectively performing the task through the parameter adjustment and the evaluation . As a first step for applying the contents of the task to be performed by each robot to the robot, the robot sends a timed behavior tree corresponding to a given task to the behavior adjustment module 40. [

행위 계획 모듈(30)은 데이터베이스(31), 행위 스케줄러(behavior scheduler)(33), 타임 이벤트 행위 생성기(timed event behavior generator)(35), 분석기(analyser)(37)를 포함한다.The behavior planning module 30 includes a database 31, a behavior scheduler 33, a timed event behavior generator 35 and an analyzer 37. [

데이터베이스(31)는 내부 또는 외부 행위들을 기억하고 있으며, 행위 스케줄러(33)는 로봇이 행할 태스크가 주어지면 그 태스크를 수행하기 위한 행위를 데이터베이스(31)에서 선택하고, 타임 이벤트 행위 생성기(35)는 선택된 행위를 이용하여 타임 행위 트리를 생성하고 이를 행위 조정 모듈(40)에 전달한다.The database 31 stores internal or external actions and the behavior scheduler 33 selects an action in the database 31 to perform the task given to the robot when the robot is to perform the task, Generates a time action tree using the selected action, and transmits the generated time action tree to the behavior adjustment module 40.

분석기(37)는 하나의 태스크가 끝난 후 환경 및 상태 데이터와 같은 평가 정보(evaluation data)를 입력받아 종합적으로 수행된 행위에 대한 파라미터를 업데이트하고 업데이트된 파라미터가 데이터베이스(31)와 타임 이벤트 행위 생성기(35)에 영향을 주게 한다. 이와 같이 파라미터를 업데이트함으로써 점점 최적의 수치에 가까워지도록 알고리즘이 설정될 수 있다. 여기서 파라미터는 행위에 대한 파라미터로서, 로봇의 속도, 가속도, 로봇 간격 등에 관한 정보일 수 있다. 평가 정보는 행위의 수행 시간, 이동 거리, 에너지 소비량일 수 있으며, 이들을 이용하여 파라미터 업데이트가 이루어질 수 있다.After the completion of one task, the analyzer 37 receives the evaluation data such as the environment and the status data, updates the parameters of the collectively performed actions, and updates the parameters to the database 31 and the time event action generator (35). By updating the parameters in this way, the algorithm can be set to be closer to the optimal value. Here, the parameter is a parameter for an action, and may be information on a speed, an acceleration, a robot interval, and the like of the robot. The evaluation information may be an execution time of the action, a movement distance, or an energy consumption amount, and parameter updating may be performed using the evaluation information.

도 4는 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 행위 조정 모듈을 도시한 블록도이다.FIG. 4 is a block diagram illustrating a behavior control module of the system 100 for controlling a community robot according to an embodiment of the present invention.

도 4를 참고하면, 행위 조정 모듈(40)은 로봇에 탑재되어 있는 행위를 조직하고 조정하는 기능을 한다. 행위 조정 모듈(40)은 행위 계획 모듈(30)로부터 전달받은 타임 행위 트리를 기본 행위(primitive behavior)로 분할하여 목표점을 계산하여 출력한다.Referring to FIG. 4, the behavior adjustment module 40 functions to organize and adjust an action mounted on the robot. The behavior adjustment module 40 divides the time behavior tree received from the behavior planning module 30 into primitive behaviors and calculates and outputs target points.

행위 조정 모듈(40)은 기본 행위 데이터베이스(31) 및 행위 분석기(33)를 포함한다. 행위 분석기(33)는 인식 모듈(60)에서 주변 상황에 대한 정보가 전처리되어 나온 정보(위치, 장애물 정보 등)와 같은 현재 상태 데이터와 행위 계획 모듈(30)에서 전달된 타임 행위 트리 입력을 통해 어떤 기본 행위를 해야 하는지 정한 후, 그 행위를 하기 위해서 로봇이 이동해야 할 타임 경로점 트리(timed waypoint tree)를 행위 실행 모듈(50)로 전달한다. 즉, 현재 행위의 순서 및 속성을 조정하는 데 인식 모듈(60)에서 전처리된 정보가 사용된다. 기본 행위는 세부 대형, 경로 추적, 리더 로봇 추종, 장애물 회피, 다음 목표 탐지 등과 같은 행위일 수 있으며, 기본 행위 데이터베이스(41)에 기억되어 있다.The behavior adjustment module 40 includes a basic behavior database 31 and a behavior analyzer 33. [ The behavior analyzer 33 analyzes the current state data such as information (location, obstacle information, etc.) obtained by preprocessing the information on the surrounding situation in the recognition module 60 and the time state data input from the behavior planning module 30 After determining which basic action is to be performed, the action execution module 50 transmits a timed waypoint tree to which the robot should move in order to perform the action. That is, the information preprocessed in the recognition module 60 is used to adjust the order and properties of the current behavior. The basic actions may be behaviors such as detailed size, route tracking, leader robot tracking, obstacle avoidance, next target detection, etc., and are stored in the basic behavior database 41.

도 5는 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 행위 실행 모듈을 도시한 블록도이고, 도 6은 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 속도 프로파일 생성기를 도시한 블록도이다.FIG. 5 is a block diagram illustrating an action execution module of the system 100 for controlling a community robot according to an exemplary embodiment of the present invention. FIG. 6 is a block diagram of a behavior profile module for a community robot control system 100 according to an exemplary embodiment of the present invention. Fig.

도 5를 참고하면 행위 실행 모듈(50)은 로봇에 탑재되어 로봇을 제어하는 기능을 하며, 로봇 구동 모듈(90)에 속도 제어 신호나 조향 제어 신호를 출력한다.Referring to FIG. 5, the action execution module 50 controls the robot mounted on the robot, and outputs a speed control signal or a steering control signal to the robot driving module 90.

행위 실행 모듈(50)은 속도 프로파일 생성기(51)와 속도-전압 변환 모듈(53)을 포함한다. 속도 프로파일 생성기(51)는 행위 조정 모듈(40)로부터 타임 경로점 트리를 전달받고, 인식 모듈(60)로부터 현재의 상태(위치와 방향)를 전달받아 현재 위치와 목표 위치(target waypoint) 사이의 거리와 로봇의 현재 상태를 고려하여 어떤 속도로 움직여야 할지에 대한 속도 프로파일을 계산한다. 도 6에 도시한 바와 같이 속도 프로파일은 잔여 거리를 계산한 후 선속도를 생성하거나, 잔여 각도를 계산한 후 각속도를 생성함으로써 계산된다.The action execution module 50 includes a velocity profile generator 51 and a velocity-to-voltage conversion module 53. The velocity profile generator 51 receives the time path point tree from the behavior adjustment module 40 and receives the current state (position and direction) from the recognition module 60. The velocity profile generator 51 receives the current state Calculate the velocity profile of what speed to move considering the distance and the current state of the robot. As shown in Fig. 6, the velocity profile is calculated by calculating the remaining distance and then generating the linear velocity, or calculating the residual angle and then generating the angular velocity.

속도-전압 변환 모듈(53)은 계산된 속도를 내기 위하여 로봇 구동 모듈(90)에 어떤 신호를 주어야 할지 로봇의 종류 및 특성에 맞게 계산한 후 최종적으로 로봇 구동 모듈(90)에 주어야 할 입력 신호를 생성하여 전달한다. 입력 신호는 모터나 액추에이터를 구동하기 위한 PWM 전압일 수 있으나 이에 한정되지 않는다. 또한 속도에 대응하는 전류 명령을 입력 신호로 이용할 수도 있다.The speed-to-voltage conversion module 53 calculates a signal to be supplied to the robot driving module 90 in accordance with the type and characteristics of the robot in order to calculate the calculated speed, And transmits it. The input signal may be a PWM voltage for driving a motor or an actuator, but is not limited thereto. A current command corresponding to the speed may also be used as the input signal.

도 7은 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 인식 모듈을 도시한 블록도이다.FIG. 7 is a block diagram illustrating a recognition module of the community robot control system 100 according to an embodiment of the present invention.

인식 모듈(60)은 외부 환경 정보를 받아 전처리한 후 처리된 데이터를 환경 모듈(10) 및 행위 조정 모듈(40)로 전달한다.The recognition module 60 receives external environment information, preprocesses it, and transmits the processed data to the environment module 10 and the behavior adjustment module 40.

도 7을 참고하면 인식 모듈(60)은 센서(80)를 통해 들어온 미가공 센서 데이터(raw sensor data)를 이용하여 전처리한 데이터를 행위 조정 모듈(40)로 전달하여 행위 조정 모듈(40)에서 행위의 순서 및 속성을 조정하는 데 영향을 준다.7, the recognition module 60 transmits data, which has been preprocessed using raw sensor data received through the sensor 80, to the behavior adjustment module 40, Order and properties of the product.

인식 모듈(60)은 비전 센서, 적외선 센서, 레이저 거리 측정기(LRF), 위성항법장치(GPS), 자세방위기준장치(AHRS) 등과 같은 센서(80)로부터 미가공 데이터를 받아 장애물 판별, 로봇의 위치 인식, 사물 인식을 한다. 그리고 전처리된 데이터(위치, 속도, 방향, 로봇의 현재 상태, 장애물 정보)를 행위 조정 모듈(40)로 전달한다. 또한 전처리된 데이터는 환경 모듈(10)의 환경 데이터베이스를 업데이트하는 데 사용된다.The recognition module 60 receives raw data from a sensor 80 such as a vision sensor, an infrared sensor, a laser distance meter (LRF), a GPS (Global Positioning System), a position orientation reference device (AHRS) Recognition, and object recognition. And transmits the preprocessed data (position, velocity, direction, current state of the robot, and obstacle information) to the behavior adjustment module 40. The preprocessed data is also used to update the environment database of the environment module 10.

도 8은 본 발명의 실시예에 따른 군집 로봇의 비상 행동 계획 모듈을 도시한 블록도이다.8 is a block diagram illustrating an emergency action planning module of a community robot according to an embodiment of the present invention.

비상 행위 계획 모듈(70)은 통신 두절이나 센서 고장 등과 같이 긴급 상황일 경우 행위 계획 모듈(30)까지 올라가지 않고 행위 조정 모듈(40)에서 대응 가능하도록 하는 기능이다.The emergency action planning module 70 is a function that enables the behavior adjustment module 40 to cope with an emergency situation such as a communication disconnection or a sensor failure without going up to the action planning module 30. [

도 8을 참고하면, 비상 행위 계획 모듈(70)은 비상 행위 데이터베이스(71)와 비상 결정 모듈(73)을 포함하며, 통신 두절이나 센서 고장 등을 알리는 비상 데이터(emergency data)가 입력되면 동작하게 된다. 비상 결정 모듈(73)은 비상 데이터가 입력되면 어떠한 종류의 긴급 상황인지 판단을 하고, 이와 더불어 센서(80)에서 입력된 미가공 센서 데이터를 이용하여 비상 행위 데이터베이스(71)로부터 자율 복귀 행위, 대체 항법 행위, 충돌 회피 행위 등의 비상 행위(emergency behavior)를 선택하여 합성 행위 리스트(composite behavior list)를 구성한다. 이렇게 구성된 합성 행위 리스트를 행위 조정 모듈(40)로 전달한다. 이와 같이 비상 행위 모듈(70)을 통하면 긴급한 상황에서 좀 더 빠르게 상황을 대처할 수 있다.8, the emergency action planning module 70 includes an emergency behavior database 71 and an emergency decision module 73, and operates when emergency data indicating communication failure, sensor failure, etc. is input do. When the emergency data is input, the emergency decision module 73 determines which type of emergency situation is present. In addition, the emergency decision module 73 extracts, from the emergency behavior database 71, an autonomous return action, an alternative navigation Behavior, collision avoidance behavior, and other emergency behaviors to form a composite behavior list. The synthesized action list thus constructed is transmitted to the behavior adjustment module 40. In this way, emergency situation module 70 allows the situation to be dealt with more quickly in an emergency situation.

그러면 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)이 일반적인 상황에서 동작하는 경우와 긴급 상황에서 동작하는 경우에 관하여 설명한다.Hereinafter, the case where the system 100 is operated in a normal situation and the case where the system 100 is operated in an emergency will be described.

도 9는 본 발명의 실시예에 따른 군집 로봇의 일반 제어 시스템(100)을 도시한 블록도이고, 도 10은 본 발명의 실시예에 따른 군집 로봇의 긴급 제어 시스템(100)을 도시한 블록도이다.FIG. 9 is a block diagram showing a general control system 100 of a community robot according to an embodiment of the present invention. FIG. 10 is a block diagram illustrating an emergency control system 100 of a community robot according to an embodiment of the present invention. to be.

도 9를 참고하면, 군집 로봇 제어 시스템(100)이 일반적인 상황에서 동작하는 경우에는 앞에서 설명한 기능 모듈들이 모두 동작하게 되고, 로봇의 행위는 굵은 화살표로 표시한 것과 같은 흐름으로 처리된다. 즉, 미션 계획 모듈(20)은 태스크를 행위 계획 모듈(30)에 전달하고, 행위 계획 모듈(30)은 태스크를 수행하기 위한 행위들을 조합하여 행위 조정 모듈(40)로 입력한다. 행위 조정 모듈(40)에서는 입력받은 행위를 하기 위해 로봇이 움직여야 할 목표 위치를 계산한 후 행위 실행 모듈(50)로 그 값을 전달하게 된다. 행위 실행 모듈(50)에서는 목표 위치로 가기 위해 액추에이터를 어떻게 움직이는지에 대해 계산한 후 액추에이터를 움직이기 위한 신호를 만들어 로봇 구동 모듈(90)에 전달하게 된다.Referring to FIG. 9, when the community robot control system 100 operates in a general situation, all of the above-described functional modules operate, and the behavior of the robot is processed in a flow as indicated by a bold arrow. That is, the mission planning module 20 delivers the task to the behavior planning module 30, and the behavior planning module 30 combines the actions for performing the task and inputs it to the behavior adjustment module 40. The behavior adjustment module 40 calculates a target position to which the robot should move in order to perform the input action, and then transmits the target position to the action execution module 50. The action execution module 50 calculates how to move the actuator to the target position, and then transmits a signal for moving the actuator to the robot driving module 90.

주변에 대한 정보는 로봇 하드웨어에 탑재되어 있는 센서(80)를 통해 인식 모듈(60)로 입력된다. 인식 모듈(60)에서 로봇의 위치, 장애물에 대한 정보 등이 계산이 되어 행위 조정 모듈(40)로 전달되어 행위를 결정하는 데 영향을 미치게 된다.Information about the surroundings is input to the recognition module 60 through the sensor 80 mounted on the robot hardware. In the recognition module 60, the position of the robot, the information about the obstacle, and the like are calculated and transmitted to the behavior adjustment module 40, thereby affecting the determination of the behavior.

도 10을 참고하면, 군집 로봇 제어 시스템(100)이 통신이 끊어졌다거나 센서(80)에 문제가 생겨서 다른 정보를 통해 동작을 해야 된다거나 할 경우와 같이 긴급 상황에서 동작하는 경우에는 행위 조정 모듈(40)은 행위 계획 모듈(30)을 통하여 행위 정보를 입력받지 않고 비상 행위 계획 모듈(70)로부터 비상 행위를 입력받는다. 이때 센서(80)를 통한 주변의 정보가 인식 모듈(60)에서 처리된 후 다시 행위 조정 모듈(40)로 전달되지 않고, 비상 행위 계획 모듈(70)이 센서(80)로부터 주변 정보를 직접 받아 비상 행위를 결정한다.Referring to FIG. 10, when the community robot control system 100 operates in an emergency, such as when communication is interrupted or when a problem arises with the sensor 80, (40) receives the emergency action from the emergency action planning module (70) without receiving the action information through the action planning module (30). At this time, the surrounding information through the sensor 80 is processed by the recognition module 60 and is not transmitted to the behavior adjustment module 40 again. Instead, the emergency action planning module 70 directly receives the peripheral information from the sensor 80 Determine emergency actions.

이와 같이 군집 로봇 중 어느 하나의 로봇에서 긴급 상황이 발생하면 해당 로봇의 행위를 결정함에 있어서 서버나 리더 로봇에서 결정하는 것이 아니라 해당 로봇의 비상 행위 계획 모듈(70)에서 직접 결정하므로 해당 로봇이 해야 할 행위가 바로 결정되어 좀 더 신속하게 대처할 수 있다.If an emergency situation occurs in any of the robots of the community robots, it is not determined by the server or the leader robot in deciding the action of the robot, but is determined directly by the emergency action planning module 70 of the robot. The action to do is immediately decided and can be dealt with more quickly.

도 11은 본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)의 운용 플랫폼을 위한 분산 제어 구조를 도시한 개략도로서, 전술한 단위 로봇의 행동 제어 체계를 계층 구조로 확장한 군집 분산 제어 플랫폼의 구조도이다. 도 11에 도시한 것처럼 미션-행동 기반 제어 레이어(L3)에서 MOOSDB를 채용하여 군집 로봇의 통합 관제 및 제어를 하고 있으나 이는 하나의 예를 위한 것으로 임의의 군집 로봇 관리 프로그램을 도입할 수도 있다.FIG. 11 is a schematic diagram showing a distributed control structure for an operation platform of the community robot control system 100 according to an embodiment of the present invention, and is a cluster distributed control platform in which a behavior control system of the above- It is a structural diagram. As shown in FIG. 11, the MOOSDB is employed in the mission-action-based control layer (L3) to control and control the cluster robot. However, this is an example, and an arbitrary cluster robot management program may be introduced.

이와 같이 본 발명의 실시예에 따른 행위 기반 군집 로봇 제어 시스템(100)은 반사형 행위와 숙고형 행위의 장점을 가진 혼합형 행위에 기반한 제어 시스템으로서, 각 모듈은 분산 처리 구조를 채택하여 분산 통합 플랫폼의 구조에 적합하도록 설계됨으로써 이종 로봇의 분산 제어 로봇 플랫폼으로 확장이 용이하게 된다.As described above, the behavior-based community robot control system 100 according to the embodiment of the present invention is a control system based on a mixed behavior having advantages of reflective behavior and pondering behavior. Each module adopts a distributed processing structure, It is easy to expand to the distributed control robot platform of heterogeneous robot.

또한 행위의 결정 과정을 체계화하고, 다양한 로봇 하드웨어에 적용할 수 있도록 행위를 일반화하며, 이러한 행위를 조정 및 조합하고 새로운 행위를 생성함으로써 복잡한 임무에 적용할 수 있다.It can also be applied to complex tasks by organizing the decision-making process of activities, generalizing actions to be applied to various robot hardware, coordinating and combining these actions, and creating new actions.

본 발명의 실시예에 따른 군집 로봇 제어 시스템(100)은 모든 로봇에 동시 운용이 가능하고, 네트워크 부담을 덜 수 있도록 데이터 교환을 최소화할 수 있으며, 다양한 임무에 적용이 가능한 소프트웨어 구조로 이루어져 있다. 또한 이 제어 시스템(100)은 다양한 임무에 적용 가능하고 일반화된 행위로 많은 행위 조정이 가능한 계층적 구조로 이루어져 있으므로 계층 상하로 역할을 나누고 최소한의 데이터로 운용할 수 있다. 그리고 행위의 일부는 각 로봇이 분산 형태로 행하므로 서버 또는 리더 로봇의 부담을 줄일 수 있다.The community robot control system 100 according to the embodiment of the present invention is configured to have a software structure that can be simultaneously operated on all the robots, minimize data exchange so as to reduce the burden on the network, and can be applied to various tasks. Also, since the control system 100 has a hierarchical structure that can be applied to various tasks and can be generalized and coordinated with a lot of actions, the control system 100 can be divided into roles and operated with a minimum amount of data. Also, some of the actions are performed in a distributed manner, so that the burden of the server or the reader robot can be reduced.

이상의 상세한 설명은 본 발명을 예시하는 것이다. 또한 전술한 내용은 본 발명의 바람직한 실시 형태를 나타내고 설명하는 것에 불과하며, 본 발명은 다양한 다른 조합, 변경 및 환경에서 사용할 수 있다. 즉, 본 명세서에 개시된 발명의 개념의 범위, 저술한 개시 내용과 균등한 범위 및/또는 당업계의 기술 또는 지식의 범위 내에서 변경 또는 수정이 가능하다. 전술한 실시예들은 본 발명을 실시하는데 있어 최선의 상태를 설명하기 위한 것이며, 본 발명과 같은 다른 발명을 이용하는데 당업계에 알려진 다른 상태로의 실시, 그리고 발명의 구체적인 적용 분야 및 용도에서 요구되는 다양한 변경도 가능하다. 따라서 이상의 발명의 상세한 설명은 개시된 실시 상태로 본 발명을 제한하려는 의도가 아니다. 또한 첨부된 청구범위는 다른 실시 상태도 포함하는 것으로 해석되어야 한다.The foregoing detailed description is illustrative of the present invention. It is also to be understood that the foregoing is illustrative and explanatory of preferred embodiments of the invention only, and that the invention may be used in various other combinations, modifications and environments. That is, it is possible to make changes or modifications within the scope of the concept of the invention disclosed in this specification, the disclosure and the equivalents of the disclosure and / or the scope of the art or knowledge of the present invention. The foregoing embodiments are intended to illustrate the best mode contemplated for carrying out the invention and are not intended to limit the scope of the present invention to other modes of operation known in the art for utilizing other inventions such as the present invention, Various changes are possible. Accordingly, the detailed description of the invention is not intended to limit the invention to the disclosed embodiments. It is also to be understood that the appended claims are intended to cover such other embodiments.

100: 군집 로봇 제어 시스템
10: 환경 모듈, 20: 미션 계획 모듈,
30: 행위 계획 모듈, 40: 행위 조정 모듈,
50: 행위 실행 모듈, 60: 인식 모듈,
70: 비상 행위 계획 모듈, 80: 센서,
90: 로봇 구동 모듈
100: Cluster Robot Control System
10: environment module, 20: mission planning module,
30: Behavior planning module, 40: Behavior adjustment module,
50: action execution module, 60: recognition module,
70: Emergency planning module, 80: Sensor,
90: Robot driving module

Claims (12)

서버 또는 리더 로봇 및 추종 로봇을 포함하는 군집 로봇을 제어하는 시스템으로서,
상기 서버 또는 상기 리더 로봇에 탑재되어 있으며 태스크를 입력받아 상기 태스크를 수행하기 위한 타임 행위 트리를 생성하는 행위 계획 모듈,
상기 추종 로봇에 탑재되어 있으며 비상 데이터가 입력되면 상기 비상 데이터와 센서 데이터를 이용하여 미리 설정되어 있는 비상 행위 중에서 현재 상황에 적합한 비상 행위를 선택하여 비상 행위 리스트를 생성하는 비상 행위 계획 모듈, 그리고
상기 추종 로봇에 탑재되어 있으며, 상기 비상 데이터가 없으면 상기 행위 계획 모듈로부터 상기 타임 행위 트리를 입력받아 상기 추종 로봇의 행위를 조정하고, 상기 비상 데이터가 있으면 상기 비상 행위 계획 모듈로부터 상기 비상 행위 리스트를 입력받아 상기 추종 로봇의 행위를 결정하는 행위 조정 모듈
을 포함하는 군집 로봇 제어 시스템.
A system for controlling a community robot including a server or a leader robot and a follower robot,
A behavior plan module mounted on the server or the leader robot and receiving a task and generating a time action tree for performing the task,
An emergency action planning module mounted on the tracking robot and generating an emergency action list by selecting an emergency action suitable for a current situation among preset emergency actions using the emergency data and sensor data when the emergency data is inputted,
If the emergency data is not present, receives the time action tree from the action planning module and adjusts the behavior of the following robot, and if the emergency data exists, displays the emergency action list from the emergency action planning module A behavior adjustment module that receives input and determines an action of the following robot
And a robot control system.
제1항에서,
상기 행위 계획 모듈은,
복수의 행위를 기억하는 데이터베이스,
상기 데이터베이스에서 상기 태스크를 수행하기 위한 행위를 선택하는 행위 스케줄러, 그리고
상기 선택된 행위가 시간에 따라 작동되도록 상기 타임 행위 트리를 생성하는 타임 이벤트 행위 생성기를 포함하는 군집 로봇 제어 시스템.
The method of claim 1,
The action planning module,
A database for storing a plurality of actions,
An action scheduler for selecting an action for performing the task in the database, and
And a time event behavior generator for generating the time behavior tree so that the selected action is operated over time.
제2항에서,
상기 행위 계획 모듈은 하나의 태스크가 끝난 후 평가 정보를 입력받아 수행된 행위에 대한 파라미터를 업데이트하는 분석기를 더 포함하는 군집 로봇 제어 시스템.
3. The method of claim 2,
Wherein the action plan module further comprises an analyzer for receiving the evaluation information after one task is completed and updating the parameter for the performed action.
제1항에서,
상기 행위 조정 모듈은,
기본 행위를 기억하는 기본 행위 데이터베이스, 그리고
상기 타임 행위 트리로부터 어떤 기본 행위를 해야 하는지 결정하고, 상기 결정된 기본 행위를 하기 위해 상기 추종 로봇이 이동해야 할 타임 경로점 트리를 생성하는 행위 분석기를 포함하는 군집 로봇 제어 시스템.
The method of claim 1,
Wherein the behavior adjustment module comprises:
A default behavior database that remembers basic behavior, and
And a behavior analyzer for determining which basic action should be performed from the time action tree and generating a time path point tree to which the follower robot should move to perform the determined basic action.
제4항에서,
상기 추종 로봇에 탑재되어 있으며, 상기 행위 조정 모듈로부터 상기 타임 경로점 트리를 입력받아 상기 추종 로봇의 현재 위치와 목표 위치 사이의 거리와 상기 추종 로봇이 어떤 속도로 움직여야 할지에 대한 속도 프로파일을 생성하는 행위 실행 모듈을 더 포함하는 군집 로봇 제어 시스템.
5. The method of claim 4,
And a velocity profile generating unit that receives the time path point tree from the behavior adjusting module and generates a velocity profile of a distance between a current position of the following robot and a target position and a speed at which the following robot moves And a behavior execution module.
제1항에서,
센서로부터의 미가공 센서 데이터를 이용하여 상기 추종 로봇의 위치, 속도, 방향, 현재 상태, 장애물 정보를 포함하는 전처리 데이터를 생성하고, 상기 전처리 데이터를 상기 행위 조정 모듈로 전달하는 인식 모듈을 더 포함하며,
상기 행위 조정 모듈은 상기 전처리 데이터를 이용하여 상기 추종 로봇의 행위를 조정하는 군집 로봇 제어 시스템.
The method of claim 1,
Further comprising a recognizing module for generating preprocessing data including the position, speed, direction, current state, and obstacle information of the following robot using raw sensor data from the sensor, and transmitting the preprocessed data to the behavior adjustment module ,
And the behavior adjustment module adjusts the behavior of the following robot using the preprocessed data.
서버 또는 리더 로봇 및 추종 로봇을 포함하는 군집 로봇을 제어하는 방법으로서,
상기 서버 또는 상기 리더 로봇이 태스크를 입력받아 상기 태스크를 수행하기 위한 타임 행위 트리를 생성하는 단계,
상기 추종 로봇이 비상 데이터가 입력되면 상기 비상 데이터와 센서 데이터를 이용하여 미리 설정되어 있는 비상 행위 중에서 현재 상황에 적합한 비상 행위를 선택하여 비상 행위 리스트를 생성하는 단계, 그리고
상기 추종 로봇이 상기 비상 데이터가 없으면 상기 서버 또는 상기 리더 로봇으로부터 상기 타임 행위 트리를 입력받아 상기 추종 로봇의 행위를 조정하고, 상기 비상 데이터가 있으면 상기 비상 행위 리스트를 이용하여 상기 추종 로봇의 행위를 결정하는 단계
를 포함하는 군집 로봇 제어 방법.
1. A method for controlling a community robot including a server or a leader robot and a follower robot,
Generating a time action tree for performing tasks by the server or the leader robot,
Generating an emergency action list by selecting an emergency action suitable for the current situation among preset emergency actions using the emergency data and the sensor data when the following robot inputs the emergency data,
If the follower robot does not have the emergency data, receives the time action tree from the server or the leader robot to adjust the behavior of the following robot, and if there is the emergency data, Determining step
Wherein the robot control method comprises:
제7항에서,
상기 서버 또는 상기 리더 로봇은,
복수의 행위를 기억하는 데이터베이스,
상기 데이터베이스에서 상기 태스크를 수행하기 위한 행위를 선택하는 행위 스케줄러, 그리고
상기 선택된 행위가 시간에 따라 작동되도록 상기 타임 행위 트리를 생성하는 타임 이벤트 행위 생성기를 포함하는 군집 로봇 제어 방법.
8. The method of claim 7,
The server or the reader robot includes:
A database for storing a plurality of actions,
An action scheduler for selecting an action for performing the task in the database, and
And a time event action generator for generating the time action tree so that the selected action is operated according to time.
제8항에서,
상기 서버 또는 상기 리더 로봇은 하나의 태스크가 끝난 후 평가 정보를 입력받아 수행된 행위에 대한 파라미터를 업데이트하는 분석기를 더 포함하는 군집 로봇 제어 방법.
9. The method of claim 8,
Wherein the server or the leader robot further comprises an analyzer for receiving the evaluation information after one task is completed and updating the parameter for the performed action.
제7항에서,
상기 추종 로봇은,
기본 행위를 기억하는 기본 행위 데이터베이스, 그리고
상기 타임 행위 트리로부터 어떤 기본 행위를 해야 하는지 결정하고, 상기 결정된 기본 행위를 하기 위해 상기 추종 로봇이 이동해야 할 타임 경로점 트리를 생성하는 행위 분석기를 포함하는 군집 로봇 제어 방법.
8. The method of claim 7,
The follow-
A default behavior database that remembers basic behavior, and
And a behavior analyzer for determining a basic action from the time action tree and generating a time path point tree to which the following robot should move in order to perform the determined basic action.
제10항에서,
상기 추종 로봇은 상기 타임 경로점 트리를 이용하여 상기 추종 로봇의 현재 위치와 목표 위치 사이의 거리와 상기 추종 로봇이 어떤 속도로 움직여야 할지에 대한 속도 프로파일을 생성하는 군집 로봇 제어 방법.
11. The method of claim 10,
Wherein the tracking robot uses the time path point tree to generate a distance profile between a current position and a target position of the following robot and a speed profile of a speed at which the following robot moves.
제7항에서,
상기 추종 로봇은 센서로부터의 미가공 센서 데이터를 이용하여 상기 추종 로봇의 위치, 속도, 방향, 현재 상태, 장애물 정보를 포함하는 전처리 데이터를 생성하고, 상기 전처리 데이터를 이용하여 상기 추종 로봇의 행위를 조정하는 군집 로봇 제어 방법.
8. The method of claim 7,
The tracking robot generates preprocessing data including the position, speed, direction, current state, and obstacle information of the following robot using raw sensor data from the sensor, and adjusts the behavior of the following robot using the preprocessed data A method for controlling a robot in a cluster.
KR1020160172022A 2015-12-15 2016-12-15 Behavior-based distributed control system and method of multi-robot KR20170071443A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150179312 2015-12-15
KR20150179312 2015-12-15

Publications (1)

Publication Number Publication Date
KR20170071443A true KR20170071443A (en) 2017-06-23

Family

ID=59283603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160172022A KR20170071443A (en) 2015-12-15 2016-12-15 Behavior-based distributed control system and method of multi-robot

Country Status (1)

Country Link
KR (1) KR20170071443A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189080A (en) * 2018-11-12 2019-01-11 西北工业大学 How autonomous ocean navigation device system distributed control method based on fuzzy theory
KR20190079783A (en) * 2017-12-28 2019-07-08 한성익 location recognition system of multi-robot
WO2020213759A1 (en) * 2019-04-17 2020-10-22 엘지전자 주식회사 Control system for moving agent group and control method therefor
KR102217512B1 (en) * 2020-07-07 2021-02-19 한화시스템 주식회사 Unmanned submercible for performing a recovery request or automatic return through battery management system
KR102262173B1 (en) * 2020-07-07 2021-06-09 한화시스템 주식회사 Unmanned submercible with flood protection of battery of battery management system
KR102402703B1 (en) * 2020-12-07 2022-05-26 부산대학교 산학협력단 Apparatus for diver assistance underwater drone and method for tracing diver thereof
WO2022196812A1 (en) * 2021-03-19 2022-09-22 国立研究開発法人 海上・港湾・航空技術研究所 System for coupling aquatic relay machine and underwater cruising body, and operation method therefor
KR20220139100A (en) * 2021-04-07 2022-10-14 재단법인 제조혁신기술원 Mobile robot with return control function and return control method, and the mobile robot formation control system and return control method
US11707175B2 (en) 2018-01-03 2023-07-25 Samsung Electronics Co., Ltd. Moving apparatus for cleaning, collaborative cleaning system, and method of controlling the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101021836B1 (en) * 2008-10-09 2011-03-17 한국전자통신연구원 System for cooperation of multiple mobile robot using dynamic behavior binding and method thereof
KR101277275B1 (en) * 2009-12-09 2013-06-20 한국전자통신연구원 Task implementation method based on behavior in robot system
KR20140000614A (en) * 2012-06-22 2014-01-03 한국전자통신연구원 Apparatus and method for servicing collaboration based on composite behavior
KR101402908B1 (en) * 2007-12-18 2014-06-02 주식회사 케이티 Situation dependent behavior based robot control appartus and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101402908B1 (en) * 2007-12-18 2014-06-02 주식회사 케이티 Situation dependent behavior based robot control appartus and method
KR101021836B1 (en) * 2008-10-09 2011-03-17 한국전자통신연구원 System for cooperation of multiple mobile robot using dynamic behavior binding and method thereof
KR101277275B1 (en) * 2009-12-09 2013-06-20 한국전자통신연구원 Task implementation method based on behavior in robot system
KR20140000614A (en) * 2012-06-22 2014-01-03 한국전자통신연구원 Apparatus and method for servicing collaboration based on composite behavior

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190079783A (en) * 2017-12-28 2019-07-08 한성익 location recognition system of multi-robot
US11707175B2 (en) 2018-01-03 2023-07-25 Samsung Electronics Co., Ltd. Moving apparatus for cleaning, collaborative cleaning system, and method of controlling the same
CN109189080A (en) * 2018-11-12 2019-01-11 西北工业大学 How autonomous ocean navigation device system distributed control method based on fuzzy theory
CN109189080B (en) * 2018-11-12 2021-04-20 西北工业大学 Distributed control method of multi-autonomous marine vehicle system based on fuzzy theory
WO2020213759A1 (en) * 2019-04-17 2020-10-22 엘지전자 주식회사 Control system for moving agent group and control method therefor
US11683659B2 (en) 2019-04-17 2023-06-20 Lg Electronics Inc. Control system of moving agent group and control method thereof
KR102217512B1 (en) * 2020-07-07 2021-02-19 한화시스템 주식회사 Unmanned submercible for performing a recovery request or automatic return through battery management system
KR102262173B1 (en) * 2020-07-07 2021-06-09 한화시스템 주식회사 Unmanned submercible with flood protection of battery of battery management system
KR102402703B1 (en) * 2020-12-07 2022-05-26 부산대학교 산학협력단 Apparatus for diver assistance underwater drone and method for tracing diver thereof
WO2022196812A1 (en) * 2021-03-19 2022-09-22 国立研究開発法人 海上・港湾・航空技術研究所 System for coupling aquatic relay machine and underwater cruising body, and operation method therefor
KR20220139100A (en) * 2021-04-07 2022-10-14 재단법인 제조혁신기술원 Mobile robot with return control function and return control method, and the mobile robot formation control system and return control method

Similar Documents

Publication Publication Date Title
US11835953B2 (en) Adaptive autonomy system architecture
KR20170071443A (en) Behavior-based distributed control system and method of multi-robot
Wei et al. MPC-based motion planning and control enables smarter and safer autonomous marine vehicles: Perspectives and a tutorial survey
Recchiuto et al. Post‐disaster assessment with unmanned aerial vehicles: A survey on practical implementations and research approaches
Paull et al. Sensor-driven area coverage for an autonomous fixed-wing unmanned aerial vehicle
Saska et al. Fault-tolerant formation driving mechanism designed for heterogeneous MAVs-UGVs groups
Mujumdar et al. Evolving philosophies on autonomous obstacle/collision avoidance of unmanned aerial vehicles
Boivin et al. UAV collision avoidance using cooperative predictive control
Kim et al. Flying robots: modeling, control and decision making
Pritzl et al. Cooperative navigation and guidance of a micro-scale aerial vehicle by an accompanying UAV using 3D LiDAR relative localization
Arokiasami et al. Interoperable multi-agent framework for unmanned aerial/ground vehicles: towards robot autonomy
Nieuwenhuisen et al. Layered mission and path planning for MAV navigation with partial environment knowledge
Das et al. A rapid situational awareness development framework for heterogeneous manned-unmanned teams
Borges de Sousa et al. A verified hierarchical control architecture for co‐ordinated multi‐vehicle operations
Spasojevic et al. Active collaborative localization in heterogeneous robot teams
KR20200063879A (en) Method and system for coverage of multiple mobile robots of environment adaptation type time synchronization based on artificial intelligence
Al-Kaff et al. Ros-based approach for unmanned vehicles in civil applications
Bender et al. Map-based drone homing using shortcuts
Shim et al. A flight control system for aerial robots: Algorithms and experiments
Adolf et al. An unmanned helicopter for autonomous flights in urban terrain
Talwandi et al. An Automatic Navigation System for New Technical Advanced Drones for Different Alpplications
Barrientos et al. Advanced UAV trajectory generation: Planning and guidance
Cella et al. Fueling Glocal: Optimization-Based Path Planning for Indoor Uavs in AN Autonomous Exploration Framework
RU2794003C1 (en) Device and method for refining aircraft trajectory
Xanthidis et al. ResiVis: A Holistic Underwater Motion Planning Approach for Robust Active Perception Under Uncertainties

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right