KR20200040088A - Method and apparatus for controlling robots - Google Patents
Method and apparatus for controlling robots Download PDFInfo
- Publication number
- KR20200040088A KR20200040088A KR1020180119923A KR20180119923A KR20200040088A KR 20200040088 A KR20200040088 A KR 20200040088A KR 1020180119923 A KR1020180119923 A KR 1020180119923A KR 20180119923 A KR20180119923 A KR 20180119923A KR 20200040088 A KR20200040088 A KR 20200040088A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- service
- task
- team
- mission
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
본 발명은 복수의 로봇을 포함하는 팀 단위로 복수의 로봇을 제어하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.The present invention relates to a method for controlling a plurality of robots in a team unit including a plurality of robots and an apparatus for performing the method.
기술의 발달에 따라 로봇은 다양한 분야에 이용되고 있다. 다양한 분야에서 이용되는 로봇은 그 목적에 따라 서로 상이한 형태로 설계될 수 있다. 이에 따라 로봇은 다양한 형태의 하드웨어 또는 소프트웨어에 의해 다양한 방식으로 제어될 수 있다. 다만, 이러한 경우, 로봇의 사용자는 로봇의 하드웨어 또는 소프트웨어에 적합하도록 설계된 제어 방법을 습득하여 개별적인 제어를 수행하여야하는 불편함이 따르게 된다. 따라서, 이종 로봇, 즉 서로 다른 종류의 로봇의 경우에도 공통적으로 적용할 수 있는 제어 방법에 대한 요구가 증가하고 있다. With the development of technology, robots are used in various fields. Robots used in various fields may be designed in different forms depending on the purpose. Accordingly, the robot can be controlled in various ways by various types of hardware or software. However, in this case, the user of the robot has the inconvenience of having to perform individual control by learning a control method designed to be suitable for the robot's hardware or software. Accordingly, there is an increasing demand for a control method that can be commonly applied to heterogeneous robots, that is, different types of robots.
종래의 로봇 제어 개발 방법, 예를 들어 로봇의 제어를 위한 소프트웨어 개발 방법은 로봇 제조업체가 제공하는 로봇의 특정한 프로그래밍 환경을 사용하여 개발을 수행한다. 이러한 로봇 제어 개발은, 프로그래밍 환경으로서 장치 드라이버 및 소프트웨어 라이브러리가 제공됨에 기초하여, 로봇의 제어를 위한 로봇 프로그램이 작성됨에 의해 수행된다. A conventional robot control development method, for example, a software development method for controlling a robot, performs development using a specific programming environment of a robot provided by a robot manufacturer. The development of the robot control is performed by creating a robot program for controlling the robot, based on providing a device driver and a software library as a programming environment.
한편, 로봇의 소프트웨어의 경우 로봇의 하드웨어의 플랫폼에 의존하기 때문에 같은 동작 사양에서도 로봇의 하드웨어의 플랫폼이 변경될 때마다 소프트웨어를 다시 설계해야하기 때문에 소프트웨어의 재사용성이 떨어져 개발의 효율이 매우 낮다는 문제가 존재한다. On the other hand, since the software of the robot depends on the platform of the robot's hardware, the software must be re-designed every time the platform of the robot's hardware is changed even in the same operating specification, so the reusability of the software is poor and the development efficiency is very low. The problem exists.
또한, 기존의 로봇 제어 방법은 컴퓨터 프로그래밍 언어를 이용하여 프로그래밍을 수행함으로써 로봇을 제어하기 때문에, 비전문가, 즉 컴퓨터 프로그래밍에 대한 기초 지식이 없는 일반적인 사용자가 로봇을 제어하기 어려워 기 정해진 틀에 의해서만 로봇을 사용해야하는 불편함이 존재한다.In addition, since the existing robot control method controls the robot by performing programming using a computer programming language, it is difficult for a non-expert, that is, a general user who does not have basic knowledge of computer programming to control the robot. There is discomfort to use.
이에 따라, 비전문가들도 자유롭게 이용할 수 있을 정도로 로봇을 보다 손쉽게 제어할 수 있으며, 나아가 다양한 종류의 로봇에서 공통적으로 사용 가능한 로봇 제어 방법이 요구된다. Accordingly, the robot can be more easily controlled so that even non-experts can freely use it, and furthermore, a robot control method commonly used in various types of robots is required.
본 발명이 해결하고자 하는 과제는, 로봇의 세부적인 제어로서의 태스크와 태스크의 상위 단위로서의 전략을 로봇이 수행할 미션에 대한 서비스를 이용하여 직관적으로 나타내고, 하드웨어 플랫폼과 독립적으로 설계되는 로봇 제어 방법 및 그 방법을 수행하는 장치를 제공하는 것이다. The problem to be solved by the present invention is a robot control method that is intuitively represented by using a service for a mission to be performed by the robot and a task as a detailed control of the robot and a task as a detailed control of the robot and is designed independently of the hardware platform and It is to provide an apparatus for performing the method.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.However, the problems to be solved by the present invention are not limited to those mentioned above, but are not mentioned, but include the purpose that can be clearly understood by those skilled in the art from the following description can do.
본 발명의 일 실시예에 따른 로봇 제어 장치는, 적어도 하나의 로봇을 포함하는 팀을 구성하는 팀 구성부와, 상기 구성된 팀에 의해 수행될 서비스를 결정하는 서비스 결정부와, 상기 서비스의 적어도 일부와 함께 수행될 다중작업(multitasking) 서비스를 설정하는 다중작업 설정부와, 상기 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정하는 동적 모드 결정부와, 상기 팀, 상기 서비스, 상기 다중작업 서비스 및 상기 동적 모드가 반영된 미션을 수립하는 미션 수립부와 상기 수립된 미션에 따라 상기 적어도 하나의 로봇을 제어하는 제어부를 포함할 수 있다. The robot control apparatus according to an exemplary embodiment of the present invention includes a team configuration unit constituting a team including at least one robot, a service determination unit determining a service to be performed by the configured team, and at least a part of the service A multi-task setting unit for setting a multitasking service to be performed together, a dynamic mode determination unit for setting a dynamic mode related to a change in a steering method in which the operation of the team is controlled, and the team, the service, and the A multi-task service and a mission establishment unit for establishing a mission reflecting the dynamic mode and a control unit for controlling the at least one robot according to the established mission may be included.
또한, 사용자에 의한 입력을 수신하는 입력부를 더 포함하고, 상기 팀 구성부는 상기 수신된 입력에 기초하여 상기 팀을 구성하고, 상기 서비스 결정부는 상기 수신된 입력에 기초하여 상기 수행될 서비스를 결정하고, 상기 다중작업 설정부는 상기 수신된 입력에 기초하여 상기 다중작업을 설정하고, 상기 동적 모드 결정부는 상기 수신된 입력에 기초하여 상기 동적 모드를 설정할 수 있다. Further, further comprising an input unit for receiving an input by a user, the team configuration unit configures the team based on the received input, and the service determination unit determines the service to be performed based on the received input and The multi-task setting unit may set the multi-task based on the received input, and the dynamic mode determination unit may set the dynamic mode based on the received input.
또한, 상기 입력은, 상기 적어도 하나의 로봇의 수를 결정하는 입력, 상기 수행될 서비스를 지정하는 입력, 상기 다중작업의 수행 여부를 선택하는 입력, 상기 서비스와 구분되는 다른 서비스를 상기 다중작업 서비스로 지정하는 입력, 상기 조종 방식의 변경에 대한 기준을 설정하는 입력 중 적어도 하나를 포함할 수 있다. In addition, the input, the input for determining the number of the at least one robot, the input for designating the service to be performed, the input for selecting whether to perform the multi-task, the other service distinct from the service is the multi-task service It may include at least one of the input to designate, and an input for setting a reference for the change of the steering method.
또한, 상기 조종 방식은 원격 조종 및 자율 주행 중 적어도 하나를 포함하고, 상기 입력에 의해 설정된 기준에 따라 변경될 수 있다. In addition, the steering method includes at least one of remote control and autonomous driving, and may be changed according to a reference set by the input.
또한, 상기 수립된 미션을 식별하여, 상기 미션의 수행을 위한 상기 적어도 하나의 로봇에 대한 상기 서비스의 하위 단위로서의 동작을 나타내는 태스크를 결정하는 전략 결정부를 더 포함할 수 있다. In addition, a strategy determination unit may further include a task for identifying the established mission and determining a task indicating an operation as a sub-unit of the service for the at least one robot for performing the mission.
또한, 상기 태스크는 복수로 구성되며, 상기 서비스와 매핑되고 기 지정된 채로 상기 전략 결정부에 미리 저장될 수 있다. In addition, the task may be configured in plural, and may be mapped to the service and stored in advance in the strategy determination unit in a predetermined manner.
또한, 상기 전략 결정부는, 상기 미션, 상기 로봇의 수, 상기 로봇의 종류, 상기 로봇의 상태, 상기 로봇의 위치 및 상기 로봇이 위치된 환경 중 적어도 하나를 기초로, 복수로 구성되는 태스크 중 상기 미션의 수행에 가장 적합한 적어도 하나의 태스크를 결정할 수 있다. In addition, the strategy determining unit, based on at least one of the mission, the number of robots, the type of the robot, the state of the robot, the position of the robot and the environment in which the robot is located, the It is possible to determine at least one task most suitable for the performance of the mission.
또한, 상기 제어부는 상기 적어도 하나의 로봇 각각에 대하여 상기 미션의 수행을 위해 상기 적어도 하나의 로봇 각각의 움직임을 제어할 수 있다. In addition, the controller may control the movement of each of the at least one robot in order to perform the mission for each of the at least one robot.
상기 로봇은 생명체의 특성을 모방하여 동작을 수행하는 생체 모방 로봇(biomimetic robot)일 수 있다. The robot may be a biomimetic robot that performs an operation by imitating the characteristics of living things.
본 발명의 일 실시예에 따른 로봇 제어 방법은, 적어도 하나의 로봇을 포함하는 팀을 구성하고, 상기 구성된 팀에 의해 수행될 서비스를 결정하고, 상기 서비스의 적어도 일부와 함께 수행될 다중작업(multitasking) 서비스를 설정하고, 상기 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정하는 단계와, 상기 팀, 상기 서비스, 상기 다중작업 서비스 및 상기 동적 모드가 반영된 미션을 수립하는 단계와, 상기 수립된 미션에 따라 상기 적어도 하나의 로봇을 제어하는 단계를 포함할 수 있다. In the robot control method according to an embodiment of the present invention, a team including at least one robot is configured, a service to be performed by the configured team is determined, and multitasking to be performed together with at least a part of the service ) Setting a service, setting a dynamic mode related to a change in a steering method in which the operation of the team is controlled, and establishing a mission in which the team, the service, the multi-tasking service, and the dynamic mode are reflected, And controlling the at least one robot according to the established mission.
또한, 사용자에 의한 입력을 수신하는 단계를 더 포함하고, 상기 수신된 입력에 기초하여, 상기 팀이 구성되고 상기 수행될 서비스가 결정되고 상기 다중작업이 설정되고 상기 동적 모드가 설정될 수 있다. In addition, the method further includes receiving an input by a user, based on the received input, the team is configured, the service to be performed is determined, the multi-task is set, and the dynamic mode can be set.
또한, 상기 입력은, 상기 적어도 하나의 로봇의 수를 결정하는 입력, 상기 수행될 서비스를 지정하는 입력, 상기 다중작업의 실행 여부를 선택하는 입력, 상기 서비스와 구분되는 다른 서비스를 상기 다중작업 서비스로 지정하는 입력, 상기 조종 방식의 변경에 대한 기준을 설정하는 입력 중 적어도 하나를 포함할 수 있다. In addition, the input, an input for determining the number of the at least one robot, an input for designating the service to be performed, an input for selecting whether or not to execute the multi-task, the multi-service service for other services distinguished from the service It may include at least one of the input to designate, and an input for setting a reference for the change of the steering method.
또한, 상기 조종 방식은 원격 조종 및 자율 주행 중 적어도 하나를 포함하고, 상기 입력에 의해 설정된 기준에 따라 변경될 수 있다. In addition, the steering method includes at least one of remote control and autonomous driving, and may be changed according to a reference set by the input.
또한, 상기 수립된 미션을 식별하여, 상기 미션의 수행을 위한 상기 적어도 하나의 로봇에 대한 상기 서비스의 하위 단위로서의 동작을 나타내는 태스크를 결정하는 단계를 더 포함할 수 있다. Further, the method may further include determining a task representing an operation as a sub-unit of the service for the at least one robot for performing the mission by identifying the established mission.
또한, 상기 태스크를 결정하는 단계는, 상기 미션, 상기 로봇의 수, 상기 로봇의 종류, 상기 로봇의 상태, 상기 로봇의 위치 및 상기 로봇이 위치된 환경 중 적어도 하나를 기초로, 복수로 구성되는 태스크 중 상기 미션의 수행에 가장 적합한 적어도 하나의 태스크를 결정하는 단계를 포함할 수 있다. In addition, the step of determining the task is based on at least one of the mission, the number of robots, the type of the robot, the state of the robot, the location of the robot, and the environment in which the robot is located, consisting of a plurality of And determining at least one task best suited to performing the mission.
본 발명의 실시예에 따른 로봇 제어 방법 및 장치는 로봇의 하드웨어 플랫폼과 독립적으로 설계되어 다양한 로봇에 적용 가능하도록 함으로써 로봇 제어의 효율을 향상시킬 수 있다. 또한, 로봇이 수행할 미션을 보다 직관적으로 나타내는 서비스를 이용하여 비전문가도 용이하게 로봇의 제어가 가능하도록 할 수 있다.The robot control method and apparatus according to an embodiment of the present invention can be designed independently of the hardware platform of the robot to be applicable to various robots, thereby improving the efficiency of robot control. In addition, a non-expert can easily control the robot by using a service that more intuitively indicates the mission to be performed by the robot.
다만, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. However, the effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. Will be able to.
도 1은 본 발명의 일 실시예에 따른 로봇 제어 방법의 개념도를 도시한다.
도 2는 본 발명의 일 실시예에 따른 로봇 제어 장치의 기능적 구성의 예를 도시한다.
도 3은 본 발명의 일 실시예에 따른 로봇 제어 장치의 미션 수립부의 기능적 구성의 예를 도시한다.
도 4는 본 발명의 일 실시예에 따른 로봇 제어 방법의 각 단계의 흐름을 도시한다.
도 5는 본 발명의 일 실시예에 따른 로봇 제어 방법에서 제공하는 동적 모드 및 다중작업의 예를 도시한다.
도 6은 본 발명의 일 실시예에 따른 로봇 제어 방법의 미션 구현 예를 도시한다.
도 7은 본 발명의 일 실시예에 따른 로봇 제어 방법의 전략 결정부 구현의 예를 도시한다.
도 8은 본 발명의 일 실시예에 따른 로봇 제어 방법의 제어부와 관련된 구현의 예를 도시한다.
도 9A는 본 발명의 일 실시예에 따른 로봇 제어 방법의 제어부와 관련된 구현의 다른 예를 도시한다.
도 9B는 본 발명의 일 실시예에 따른 로봇 제어 방법의 제어부와 관련된 구현의 또 다른 예를 도시한다. 1 is a conceptual diagram of a robot control method according to an embodiment of the present invention.
2 shows an example of a functional configuration of a robot control apparatus according to an embodiment of the present invention.
3 shows an example of a functional configuration of a mission establishment unit of a robot control apparatus according to an embodiment of the present invention.
Figure 4 shows the flow of each step of the robot control method according to an embodiment of the present invention.
5 illustrates an example of a dynamic mode and multiple operations provided by a robot control method according to an embodiment of the present invention.
6 shows a mission implementation example of a robot control method according to an embodiment of the present invention.
7 illustrates an example of implementing a strategy determining unit of a robot control method according to an embodiment of the present invention.
8 shows an example of the implementation related to the control unit of the robot control method according to an embodiment of the present invention.
9A shows another example of an implementation related to a control unit of a robot control method according to an embodiment of the present invention.
9B shows another example of the implementation related to the control unit of the robot control method according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only these embodiments allow the disclosure of the present invention to be complete, and have ordinary knowledge in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the scope of the invention is only defined by the claims.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, detailed descriptions of known functions or configurations will be omitted except when actually necessary in describing the embodiments of the present invention. In addition, terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 포함할 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로서 이해되어야 한다.The present invention can be applied to various changes and may include various embodiments, and specific embodiments will be illustrated in the drawings and described in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood as including all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.
제 1, 제 2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 이와 같은 용어들에 의해 한정되지는 않는다. 이 용어들은 하나의 구성요소들을 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by these terms. These terms are only used to distinguish one component from another.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When an element is said to be 'connected' or 'connected' to another component, it is understood that other components may be directly connected to or connected to the other component, but other components may exist in the middle. It should be.
도 1은 본 발명의 일 실시예에 따른 로봇 제어 방법의 개념도를 도시한다. 1 is a conceptual diagram of a robot control method according to an embodiment of the present invention.
도 1을 참조하면, 로봇 제어 장치(10)는 사용자 입력을 수신하기 위한 팀 구성 컨텐츠(11), 서비스 컨텐츠(12), 다중작업(multitasking) 컨텐츠(13), 동적 모드 컨텐츠(14)를 표시할 수 있다. Referring to FIG. 1, the
로봇 제어 장치(10)는 팀 구성 컨텐츠(11)에 대한 사용자의 입력을 수신하는 것에 기초하여 적어도 하나의 로봇으로 구성되는 팀을 결정할 수 있다. 경우에 따라 팀을 구성하는 적어로 하나의 로봇의 일부는 다른 일부와 서로 다른 종류, 즉 서로 다른 하드웨어의 플랫폼을 가질 수 있다. The
로봇 제어 장치(10)는 서비스 컨텐츠(12)에 대한 사용자의 입력을 수신하는 것에 기초하여 팀에 의해 수행될 서비스를 결정할 수 있다. 여기서, 서비스는 팀을 구성하는 로봇의 종류가 다르더라도 공통적으로 표현 가능한 상위 수준의 직관적인 동작을 의미할 수 있다.The
로봇 제어 장치(10)는 다중작업(multitasking) 컨텐츠(13)에 대한 사용자의 입력을 수신하는 것에 기초하여 서비스와 함께 수행될 다중작업 서비스를 설정할 수 있다. The
로봇 제어 장치(10)는 동적 모드 컨텐츠(14)에 대한 사용자의 입력을 수신하는 것에 기초하여, 팀의 조종과 관련된 모드에 대한 설정을 수행할 수 있다. The
로봇 제어 장치(10)는 팀의 구성, 서비스의 결정, 다중작업 서비스의 설정 및 동적 모드의 설정 중 적어도 하나가 수행됨에 기초하여 팀에 의해 수행될 미션을 수립할 수 있다. 미션의 수립과 관련된 보다 자세한 설명은 후술하겠다. The
로봇 제어 장치(10)는 수립된 미션에 대하여 전략을 수립하는 과정을 통해 팀에 포함되는 로봇 각각에 대한 제어를 수행할 수 있다. 보다 구체적으로 설명하면, 로봇 제어 장치(10)는 팀에 의해 수행될 미션을 수립한 후, 수립된 미션을 수행하기 위한 팀을 구성하는 적어도 하나의 로봇 각각의 개별적인 동작을 위한 전략을 결정할 수 있다. 이를 통해, 로봇 제어 장치(10)는 팀을 구성하는 적어도 하나의 로봇을 제어하여 미션이 수행되도록 할 수 있다. The
한편, 전략을 결정하는 단계는 로봇의 특성을 고려하여 미리 지정된 세부적인 태스크를 적어도 하나의 로봇 각각에 대해 적용하는 단계일 수 있다. 여기서, 로봇의 특성은 로봇의 종류, 즉 하드웨어의 플랫폼을 포함할 수 있다. 전략을 결정하는 단계를 통해 서로 종류가 다른 로봇으로 구성된 팀이어도, 상위 단계에서 미션을 입력함으로써 로봇의 사용성을 향상시킬 수 있다. 다시 말해, 전략을 결정하는 단계가 존재함으로써 로봇의 하드웨어가 고려될 필요가 없는 상위 단계에서 로봇 제어 분야의 비전문가인 사용자도 미션을 수립할 수 있어 로봇의 사용성이 극대화될 수 있다. Meanwhile, the determining of a strategy may be a step of applying a predetermined detailed task to each of the at least one robot in consideration of the characteristics of the robot. Here, the characteristics of the robot may include a robot type, that is, a hardware platform. Even if the team is composed of robots of different types through the step of determining the strategy, the usability of the robot can be improved by entering a mission at a higher level. In other words, since there is a step for determining a strategy, a user who is not an expert in the robot control field can establish a mission at a higher level where the hardware of the robot does not need to be considered, thereby maximizing the usability of the robot.
도 2는 본 발명의 일 실시예에 따른 로봇 제어 장치의 기능적 구성의 예를 도시한다. 이하 사용되는 '…부'등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 2 shows an example of a functional configuration of a robot control apparatus according to an embodiment of the present invention. Used below… The term "sub" means a unit that processes at least one function or operation, which may be implemented by hardware or software, or a combination of hardware and software.
도 2를 참조하면, 로봇 제어 장치(10)는 입력부(210), 미션 수립부(220), 전략 결정부(230), 제어부(240)를 포함할 수 있다. Referring to FIG. 2, the
입력부(210)는 사용자에 의한 입력을 수신할 수 있다. 여기서, 입력은 팀을 구성하는 적어도 하나의 로봇의 수를 결정하는 입력, 팀에 의해 수행될 서비스를 지정하는 입력, 다중작업의 실행 여부를 선택하는 입력, 서비스와 구분되는 다른 서비스를 다중작업 서비스로 지정하는 입력, 조종 방식의 변경에 대한 기준을 설정하는 입력 중 적어도 하나를 포함할 수 있다. 다만, 상술한 바에 제한되지 않고, 로봇의 제어와 관련된 다양한 입력을 수신할 수 있다. The
입력부(210)는 예를 들면, 도 1의 팀 구성 컨텐츠(11)에 대한 사용자의 입력을 수신하는 것에 기초하여, 팀을 구성할 적어도 하나의 로봇을 설정하는 윈도우를 표시하고, 표시된 윈도우를 통해 적어도 하나의 로봇의 수, 적어도 하나의 로봇 각각의 종류를 선택하는 사용자 입력을 수신할 수 있다. The
입력부(210)는 예를 들면, 도 1의 서비스 컨텐츠(12)에 대한 사용자의 입력을 수신하는 것에 기초하여, 서비스를 설정하는 윈도우를 표시하고, 표시된 윈도우를 통해 팀에 의해 수행될 서비스, 예를 들면, 특정 지점으로 이동하는 서비스를 선택하는 사용자 입력을 수신할 수 있다. The
입력부(210)는 예를 들면, 도 1의 다중작업 컨텐츠(13)에 대한 사용자의 입력을 수신하는 것에 기초하여, 다중작업 서비스를 설정하는 윈도우를 표시하고, 표시된 윈도우를 통해 서비스 컨텐츠(12)를 통해 결정되는 서비스와 함께 수행될 다중작업 서비스, 예를 들면, 소리를 청취하는 서비스 등을 선택하는 사용자 입력을 수신할 수 있다.The
입력부(210)는 예를 들면, 도 1의 동적 모드 컨텐츠(14)를 클릭하는 입력이 수신되는 경우, 동적 모드를 설정하는 윈도우를 표시하고, 표시된 윈도우를 통해, 예를 들면 '특정 지점에 도착하면 원격 제어 방식에서 자율 주행 방식으로 조종 방식을 변경'이라는 조종 방식의 변경 및 변경 조건을 지정하는 사용자 입력을 수신할 수 있다. The
입력부(210)에 인가되는 입력은 다양한 형태의 입력을 포함할 수 있다. 예를 들어, 탭(tab), 클릭(click) 또는 텍스트 입력(text input)을 포함할 수 있다. The input applied to the
입력부(210)는 수신된 입력을 미션 수립부(220)에 제공(또는 전달)할 수 있다. The
미션 수립부(220)는 입력부(210)로부터의 입력에 기초하여 적어도 하나의 로봇을 포함하는 팀을 구성하거나, 구성된 팀에 의해 수행될 서비스를 결정하거나, 서비스의 적어도 일부와 함께 수행될 다중작업 서비스를 설정하거나, 상기 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정할 수 있다. 서비스는 팀에 의해 수행될 공통적인 동작을 의미할 수 있다. 예를 들어, 서비스는 특정 지점으로 이동하는 동작일 수 있다. The
경우에 따라, 서비스는 시계열적인 복수의 서비스로 구성될 수 있다. 예를 들어, 서비스는 특정 지점으로 이동하는 동작과 특정 지점에서 지정된 물체를 탐지하는 동작을 포함할 수 있다. In some cases, the service may consist of a plurality of time series services. For example, the service may include moving to a specific point and detecting a specified object at a specific point.
미션 수립부(220)는 팀, 서비스, 다중작업 서비스 및 동적 모드가 반영된 미션을 수립할 수 있다. 수립된 미션은 팀에 의해 수행되는 목표, 목적, 또는 임무일 수 있다. 팀, 서비스, 다중작업 서비스 및 동적 모드와 관련된 보다 구체적인 설명은 도 3을 통해 후술하겠다. The
전략 결정부(230)는 수립된 미션을 식별하여, 미션의 수행을 위한 적어도 하나의 로봇에 대한 서비스의 하위 단위로서의 동작을 나타내는 태스크나 태스크 그래프를 결정할 수 있다. 예를 들어, 미션 수립부(220)를 통해 결정된 상위 수준의 서비스가 '특정 위치로 이동’인 경우, 이러한 서비스의 제공을 위해 서로 다른 하드웨어를 가지는 적어도 하나의 로봇의 자원과 계산 능력을 요구하는 알고리즘이 여러 개가 있을 수 있으므로, 실제 동작을 수행할 알고리즘을 결정해야 한다. 여기서 알고리즘은 본 명세서 상에서 태스크로 지칭하여 설명하겠으나, 본 용어에 한정되지는 않는다. The
태스크는 적어도 하나의 로봇 각각의 특성을 반영하여 결정되는 세부적인 동작을 의미할 수 있다. 예를 들어, 서비스가 특정 지점으로 이동하는 동작이고, 적어도 하나의 로봇은 새 로봇과 강아지 로봇인 경우, 새 로봇에 대한 태스크는 날아서 특정 지점으로 이동하는 동작이고, 강아지 로봇에 대한 태스크는 뛰어서 특정 지점으로 이동하는 동작일 수 있다. The task may refer to a detailed operation determined by reflecting the characteristics of each of the at least one robot. For example, if the service is an operation to move to a specific point, and at least one robot is a new robot and a puppy robot, the task for the new robot is an operation to fly to a specific point, and the task for the puppy robot is jumped to a specific point. It may be a movement to a point.
태스크와 관련하여서는 로봇의 특성에 따라 기지정되어 있을 수 있다. 예를 들어, 새 로봇의 경우 이동하는 서비스와 관련하여 날아서 이동하는 태스크, 걸어서 이동하는 태스크가 지정되어 있을 수 있다. 다른 예를 들면, 강아지 로봇의 경우 이동하는 서비스와 관련하여 뛰어서 이동하는 태스크, 걸어서 이동하는 태스크가 지정되어 있을 수 있다. Regarding the task, it may be determined according to the characteristics of the robot. For example, in the case of a new robot, a task for flying and a task for walking may be designated in connection with a moving service. For another example, in the case of a puppy robot, a task for jumping and moving and a task for walking may be designated in relation to a moving service.
전략 결정부(230)는 태스크의 결정과 관련한 전략을 나타내기 위해(또는 명세하기 위해) XML 마크 업 언어를 사용할 수 있다. XML 마크 업 언어는 상대적으로 간단한 스키마(schema)를 사용하여 복잡한 요구 사항을 표현하는 데 적합할 수 있다. 이와 관련하여서는 도 7을 통해 보다 자세히 설명하겠다. The
전략 결정부(230)는 적어도 하나의 로봇과 관련된 다양한 조건을 식별하고, 식별된 조건에 기초하여 서비스에 대한 태스크를 결정할 수 있다. 예를 들어, 전략 결정부(230)는 적어도 하나의 로봇의 하드웨어의 플랫폼, 적어도 하나의 로봇의 종류, 적어도 하나의 로봇의 기능, 적어도 하나의 로봇의 위치, 또는 적어도 하나의 로봇이 위치된 환경에 기초하여 태스크를 결정할 수 있다. The
다시 말해, 전략 결정부(230)는 미션의 수행을 위해, 미션이 실질적인 로봇의 동작 각각에 매핑될 수 있도록 서비스 보다 하위 단위인 태스크로 구체화할 수 있다. 실질적인 로봇의 동작은 후술되는 제어부(240)를 통해 프로그래밍되어 구현될 수 있다. In other words, the
제어부(240)는 수립된 미션에 따라 적어도 하나의 로봇을 제어할 수 있다. 보다 구체적으로, 제어부(240)는 수립된 미션을 수행하기 위해 적어도 하나의 로봇 각각에 대해 전략 결정부(230)에 의해 결정된 태스크가 수행되도록 프로그래밍할 수 있다. The
보다 구체적으로, 제어부(240)는 전략 결정부(230)를 통해 각 서비스를 수행하는 태스크들 간의 의존관계를 나타내는 태스크 그래프 모델을 생성하여, 미션을 통해 지정된 실질적인 로봇의 동작을 태스크 그래프 모델로 묘사할 수 있다. 제어부(240)는 태스크 그래프 모델과 적어도 하나의 로봇 각각이 지원하는 운영체제를 고려하여 적어도 하나의 로봇 각각에 적합한 프로그래밍 언어를 이용하여 프로그래밍을 수행할 수 있다. 제어부(240)는 프로그래밍을 통해 적어도 하나의 로봇 각각을 제어할 수 있다. More specifically, the
한편, 태스크 그래프 모델은 적어도 하나의 로봇 각각의 코드화를 위해 적어도 하나의 로봇 각각에서 수행될 동작이 보다 구체화된 것일 수 있다. 만약 태스크 그래프 모델의 생성과 관련하여서는 통상의 기술자에게 용이한 바 구체적인 설명이 생략될 수 있다. 태스크 그래프 모델과 관련된 예시는 도 8, 도 9A, 또는 도 9B를 참조할 수 있다. On the other hand, the task graph model may be a more specific operation to be performed in each of the at least one robot for coding each of the at least one robot. If it is easy for a person skilled in the art in connection with the generation of the task graph model, a detailed description may be omitted. Examples related to the task graph model may refer to FIGS. 8, 9A, or 9B.
경우에 따라, 제어부(240)는 태스크 그래프 모델을 이용하여 적어도 하나의 로봇 각각에 대해 성능 예측과 같은 다양한 분석을 수행할 수 있다. 나아가, 제어부(240)는 전체 시스템을 미리 검증하도록 할 수도 있다. In some cases, the
경우에 따라 태스크 그래프 모델은 기설정되어 있을 수 있고, 기설정된 태스크 그래프 모델과 관련된 서비스로 추상화될 수 있다. 이러한 경우, 추상화된 서비스는 로봇 제어 장치(10)에 의해 제공 가능한 서비스 중 하나에 포함될 수 있고, 만약 사용자가 추상화된 서비스를 선택한다면, 기설정된 태스크 그래프 모델을 이용하여 로봇의 제어가 수행될 수 있다. In some cases, the task graph model may be preset and abstracted as a service related to the preset task graph model. In this case, the abstracted service may be included in one of the services provided by the
제어부(240)는 공지된 다양한 프로그래밍 언어를 이용하여 결정된 전략에 따라 적어도 하나의 로봇을 개별적으로 제어할 수 있다. 보다 구체적으로, 적어도 하나의 로봇에 따라 이용가능한 프로그래밍 언어가 다를 수 있으며, 제어부(240)는 적어도 하나의 로봇 각각에 적합한 프로그래밍 언어를 이용하여 적어도 하나의 로봇 각각의 동작을 개별적으로 제어할 수 있다. The
예를 들어, 제어부(240)는 새 로봇의 경우 '날아서 특정 위치로 이동'하는 전략이 결정된 경우, 이러한 전략의 수행을 위한 프로그래밍을 수행할 수 있다. 프로그래밍은 다양한 프로그래밍 언어(또는 컴퓨터 언어), 예를 들어 c 언어와 같은 언어 중 새 로봇에 적합한 언어를 이용하여 프로그래밍을 수행하여 새 로봇을 제어할 수 있다. For example, in the case of a new robot, when a strategy of 'flying and moving to a specific location' is determined, the
도 3 은 본 발명의 일 실시예에 따른 로봇 제어 장치의 미션 수립부의 기능적 구성의 예를 도시한다. 3 shows an example of a functional configuration of a mission establishment unit of a robot control apparatus according to an embodiment of the present invention.
도 3을 참조하면, 미션 수립부(220)는 팀 구성부(310), 서비스 결정부(320), 다중작업 설정부(330), 동적 모드 결정부(340)를 포함할 수 있다. Referring to FIG. 3, the
팀 구성부(310)는 팀 구성과 관련된 사용자의 입력을 수신하는 것에 기초하여 적어도 하나의 로봇을 포함하는 팀을 구성할 수 있다. 사용자의 입력은 적어도 하나의 로봇의 수, 적어도 하나의 로봇 각각의 종류를 선택하는 입력을 포함할 수 있다. The
예를 들어, 팀 구성부(310)가 적어도 하나의 로봇의 수를 3으로 선택하는 입력을 수신한 경우, 팀을 구성하는 적어도 하나의 로봇은 3대로 결정될 수 있다. 팀 구성부(310)는 3대의 로봇 각각의 종류를 결정하는 사용자의 입력을 수신하여 3대의 로봇 각각의 종류를 결정할 수 있다. For example, when the
이러한 경우, 사용자의 입력에 따라, 팀 구성부(310)는 3대의 로봇 각각을 서로 다른 종류의 로봇, 예를 들어 새 로봇, 개 로봇, 고양이 로봇으로 선택할 수도 있고 일부는 동일 종류의 로봇으로 선택할 수도 있다. In this case, according to the user's input, the
경우에 따라, 팀 구성부(310)는 복수의 팀을 구성할 수도 있다. 예를 들어 3대의 개 로봇을 하나의 팀으로 결정하고, 2대의 새 로봇을 다른 하나의 팀으로 결정할 수 있다. In some cases, the
서비스 결정부(320)는 사용자의 입력을 수신하는 것에 기초하여, 구성된 팀에 의해 수행될 서비스를 결정할 수 있다. 예를 들어, 서비스 결정부(320)는 '특정 지점으로 이동'이라는 서비스를 선택하는 사용자의 입력을 수신하는 경우, '특정 지점으로 이동'을 적어도 하나의 로봇으로 구성된 팀에 의해 수행될 서비스로 결정할 수 있다. 여기서, 서비스는 팀에 의해 공통적으로 수행가능한 수준으로 표현되는 상위 단위로서의 동작일 수 있다. The
다중작업 설정부(330)는 사용자의 입력을 수신하는 것에 기초하여 서비스의 적어도 일부와 함께 수행될 다중작업 서비스를 설정할 수 있다. 다중작업 서비스는 복수의 서비스를 포함할 수 있고, 서비스 컨텐츠(12)에 의해 결정되는 서비스와 상응하는 수준의 서비스, 즉, 팀에 의해 공통적으로 수행가능한 수준으로 표현되는 상위 단위로서의 동작일 수 있다. The
동적 모드 결정부(340)는 동적 모드 컨텐츠(14)에 대한 사용자의 입력을 수신하는 것에 기초하여 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정할 수 있다. 예를 들어, 동적 모드 결정부(340)는 조종 방식의 변경 및 변경 조건을 지정할 수 있다. 여기서, 조종 방식은 팀이 조종되는 방식, 예를 들면 원격 제어 방식, 자율 주행 방식을 포함할 수 있다. The
한편, 미션 수립부(220)에 의해 수립되는 미션은 팀 구성, 서비스, 다중작업 서비스, 및 동적 모드 설정이 모두 반영된 팀에 의해 수행되는 작업에 대한 모든 사항을 포함하는 것일 수 있다. On the other hand, the mission established by the
예를 들어, 팀 구성부(310)에 의해 팀이 2대의 새 로봇과 1대의 개 로봇으로 구성되고, 서비스 결정부(320)에 의해 결정된 서비스가 특정 지점으로 이동하는 서비스이며, 다중작업 설정부(330)에 의해 설정된 서비스가 소리를 청취하는 서비스이고, 동적 모드는 지속적으로 원격 제어 모드로 동작하도록 설정되는 경우, 최종적으로 결정되는 미션은 원격 제어 모드로, 2대의 새 로봇과 1대의 개 로봇으로 구성된 팀이, 소리를 청취하면서 특정 지점으로 이동하도록 동작하는 것 일 수 있다. For example, the team is composed of two new robots and one robot by the
도 4는 본 발명의 일 실시예에 따른 로봇 제어 방법의 각 단계의 흐름을 도시한다. 도 4에 도시된 방법의 각 단계는 경우에 따라 도면에 도시된 바와 그 순서를 달리하여 수행될 수 있음은 물론이다. Figure 4 shows the flow of each step of the robot control method according to an embodiment of the present invention. Needless to say, each step of the method illustrated in FIG. 4 may be performed in a different order as illustrated in the drawings.
도 4를 참조하면, 입력부(210)는 팀, 서비스, 다중작업, 동적 모드 중 적어도 하나에 대한 입력을 수신할 수 있다(S110). 입력은, 예를 들면, 적어도 하나의 로봇의 수를 결정하는 입력, 수행될 서비스를 지정하는 입력, 다중작업의 실행 여부를 선택하는 입력, 서비스와 구분되는 다른 서비스를 다중작업 서비스로 지정하는 입력, 조종 방식의 변경에 대한 기준을 설정하는 입력을 포함할 수 있다. Referring to FIG. 4, the
한편, 조종 방식은 원격 조종 및 자율 주행 중 적어도 하나를 포함하고, 입력에 의해 설정된 기준에 따라 변경될 수 있다. On the other hand, the steering method includes at least one of remote control and autonomous driving, and may be changed according to a reference set by input.
미션 수립부(220)는 수신된 입력에 기초하여 팀을 구성하고, 서비스를 결정하고, 다중작업을 설정하고, 동적 모드를 결정할 수 있다(S120). 보다 구체적으로, 미션 수립부(220)는 적어도 하나의 로봇을 포함하는 팀을 구성하고, 상기 구성된 팀에 의해 수행될 서비스를 결정하고, 상기 서비스의 적어도 일부와 함께 수행될 다중작업 서비스를 설정하고, 상기 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정할 수 있다. The
미션 수립부(220)는 팀, 서비스, 다중작업 서비스 및 동적 모드가 반영된 미션을 수립할 수 있다. 미션은 팀에 의해 수행될 작업의 목적, 목표, 또는 작업을 지칭할 수 있다. 서비스는 미션을 구성하는 일부 요소이고, 태스크의 상위 단위로서, 팀을 구성하는 적어도 하나의 로봇에 의해 공통적으로 수행 가능한 형태의 동작을 나타낼 수 있다.The
전략 결정부(230)는 서비스의 수행을 위한 태스크를 결정할 수 있다(S130). 보다 구체적으로, 전략 결정부(230)는 수립된 미션을 식별하여, 상기 미션의 수행을 위한 상기 적어도 하나의 로봇에 대한 상기 서비스의 하위 단위로서의 동작을 나타내는 태스크를 결정할 수 있다. The
태스크는 서비스의 하위 단위로서, 적어도 하나의 로봇 각각의 특성에 기초하여 서비스의 수행을 위해 기 지정된 세부적인 동작일 수 있다. 전략 결정부(230)는 미션 수립부(220)에 의해 수립된 미션에 따라, 적어도 하나의 로봇 각각이 미션을 수행하도록, 적어도 하나의 로봇 각각에 대해 적합한 태스크를 결정할 수 있다. The task is a sub-unit of the service, and may be a detailed operation predetermined for the performance of the service based on the characteristics of each of the at least one robot. The
보다 구체적으로, 전략 결정부(230)는 미션, 로봇의 수, 로봇의 종류, 로봇의 상태, 로봇의 위치 및 로봇이 위치된 환경 중 적어도 하나를 기초로, 복수의 태스크 중 미션의 수행에 가장 적합한 태스크를 결정할 수 있다. 전략 결정부(230)는 미션의 수행에 가장 적합한 태스크를 미션의 수행을 위한 전략으로 결정할 수 있다.More specifically, the
제어부(240)는 결정된 전략에 기초하여 서비스를 수행할 수 있다(S140). 보다 구체적으로, 제어부(240)는 시계열적인 서비스로 기술된 미션을 수행하는 태스크 그래프 모델을 생성할 수 있고, 이를 기초로 적어도 하나의 로봇 각각을 구동하기 위한 프로그래밍을 수행할 수 있다. The
한편, 태스크와 태스크 그래프 모델은 미리 매핑되어 있을 수 있고, 제어부(240)는 전략 결정부(230)에 의해 태스크가 결정됨에 기초하여, 매핑된 태스크 그래프 모델을 이용하여 적어도 하나의 로봇 각각에 대해 개별적으로 프로그래밍을 수행할 수 있다. Meanwhile, the task and the task graph model may be pre-mapped, and the
도 5는 본 발명의 일 실시예에 따른 로봇 제어 방법에서 제공하는 동적 모드 및 다중작업의 예를 도시한다. 5 illustrates an example of a dynamic mode and multiple operations provided by a robot control method according to an embodiment of the present invention.
도 5를 참조하면, 동적 모드는 원격 제어, 자율 주행, 보물 찾기를 포함할 수 있다. 원격 제어, 자율 주행, 보물 찾기는 미션 수립부(220)에 의해 기결정된 기준에 따라 전환될 수 있다. 예를 들어, 'A'위치에서 원격 제어에서 자율 주행으로 동적 모드의 변경이 수행될 수 있다. Referring to FIG. 5, the dynamic mode may include remote control, autonomous driving, and treasure hunt. Remote control, autonomous driving, and treasure hunt can be switched according to the criteria determined by the
경우에 따라, 동적 모드의 변경은 제어부(240)에 의해 수행될 수 있다. 로봇의 원격 제어를 수행 중인 제어부(240)는, 기결정된 기준에 로봇이 부합함을 검출하는 것에 기초하여, 자율 주행으로 변경하기 위해 제어부(240)는 동적 모드를 변경하는 특정 명령을 전송하여 동적 모드를 전환할 수 있다. In some cases, the change of the dynamic mode may be performed by the
도 5에 도시된 바와 같이, 동적 모드에 따라 서비스의 수행을 위한 태스크는 달라질 수 있다. 도 5에서는 청취, 보고, 동작의 3작업이 동시에 이루어지는 다중작업을 표현하고 있으며, 각 모드에 따라 어떤 작업이 이루어 지는지의 정보는 기 지정되어 데이터베이스에 미리 저장되어 있을 수 있다. 전략 결정부(230)는 미션이 수립됨에 기초하여, 미션 수립부(220)에 의해 결정된 적어도 하나의 로봇과, 서비스, 동적 모드를 식별하여 적합한 태스크를 결정할 수 있다. As illustrated in FIG. 5, tasks for performing a service may vary according to a dynamic mode. In FIG. 5, multiple tasks in which three tasks of listening, reporting, and operation are performed simultaneously are represented, and information on which task is performed according to each mode may be previously designated and stored in a database. The
도 6은 본 발명의 일 실시예에 따른 로봇 제어 방법의 미션 수립부와 관련된 구현 예를 도시한다. 구체적으로, 도 6은 스크립트 언어로 표현된 미션의 예를 나타낸다. 6 illustrates an implementation example related to a mission establishment unit of a robot control method according to an embodiment of the present invention. Specifically, FIG. 6 shows an example of a mission expressed in a script language.
도 6을 참조하면, BNF (Backus-Nauer) 형식으로 스크립트 언어를 표현한다. 여기서 접미사 '*'는 '0 번 이상 반복됨'을 의미하고, '+'는 '1 번 이상 반복됨'을 의미하고, '?'는 '0 또는 1 시간'을 의미할 수 있다. Referring to FIG. 6, a script language is expressed in a BNF (Backus-Nauer) format. Here, the suffix '*' means 'repeated more than 0 times', '+' means 'repeated more than once', and '?' Can mean '0 or 1 hour'.
경우에 따라, 미션은 팀 구성 및 팀 행동의 두 부분으로 구성될 수 있다. 팀 행동은 서비스, 다중작업 서비스, 동적 모드로 구성될 수 있다. 이를 BNF 형식으로 나타내면 표 1과 같을 수 있다.In some cases, a mission can consist of two parts: team building and team action. Team behavior can consist of services, multitasking services, and dynamic modes. If this is expressed in BNF format, it may be as shown in Table 1.
<TeamScenario> ::= <TeamComposition> <TeamBehavior>
<TeamBehavior> ::= <Service>+ <Multitasking>+
<DynamicModeChange><MissionScenario> :: = <TeamScenario> +
<TeamScenario> :: = <TeamComposition><TeamBehavior>
<TeamBehavior> :: = <Service> + <Multitasking> +
<DynamicModeChange>
팀 구성을 BNF 형식으로 나타내면 표 2와 같을 수 있다. Table 2 shows the team structure in BNF format.
<RobotList> ::= <RobotType> <RobotName><TeamComposition> :: = <TeamName>: <RobotList> +
<RobotList> :: = <RobotType><RobotName>
표 2를 참조하면, 팀 구성은 해당 팀에 속한 로봇의 목록으로 표현될 수 있다. 각 로봇은 로봇의 타입과 이름으로 표현될 수 있다. 이는, 예를 들면, 도 6의 1 행에 표시된 것과 같이 Team1이라는 이름의 팀과, Team1에는 lego_robot 타입의 r1으로 나타날 수 있다. 로봇의 동작은 스크립트 언어의 서비스로 정의될 수 있다. 서비스를 BNF 형식으로 나타내면 표 3과 같을 수 있다. Referring to Table 2, team composition may be expressed as a list of robots belonging to the team. Each robot can be represented by the type and name of the robot. This may be represented by a team named Team1 and a lego_robot type r1 in Team1, for example, as indicated in
{ <Stmt>+ } <RepeatStmt>?
<RepeatStmt> ::= repeat (<LoopCondition>*)<Service> :: = <TeamName>. <PlanName>. <CompServiceName>
{<Stmt> +} <RepeatStmt>?
<RepeatStmt> :: = repeat (<LoopCondition> *)
표 3을 참조하면, 복수의 서비스로 구성되는 복합 서비스를 명세할 때에는 작업(Plan)에 따라 각기 다른 복합 서비스가 되므로 서비스의 구문에 작업 이름 (PlanName)이 명시적으로 들어갈 수 있다. 이하 플랜은 작업과 같은 의미로 이해되어야 한다. 복합 서비스의 반복 실행은 repeat 문을 통해 반복 조건 혹은 주기가 함께 작성될 수 있다. 예를 들어, 각 작업(또는 플랜)에 대해 하나씩 세 가지 복합 서비스가 도 6의 2행부터 8행까지를 통해 정의된 것을 볼 수 있다. 스크립트 언어는 복합 서비스 정의에서 조건문 및 반복문을 지원할 수 있다. 조건문 실행은 if와 else를 사용하여 표현될 수 있고, 반복문은 loop를 이용하여 표현될 수 있다. 로봇 특성상 통신이 자주 일어나기 때문에 send 및 receive는 미리 서비스로 정의되어 있을 수 있다. throw 문은 복합 서비스에서 이벤트를 생성하는 데 사용될 수 있다. 이는 모드를 동적 모드의 변경 또는 동적 모드의 조건부 실행을 수행하는 데 사용할 수 있다. Referring to Table 3, when specifying a composite service composed of a plurality of services, each composite service is different depending on the operation (Plan), so the operation name (PlanName) can be explicitly entered in the syntax of the service. The following plan should be understood in the same sense as the operation. Repeated execution of complex service can be created with repeat conditions or cycles through the repeat statement. For example, it can be seen that three complex services are defined through
도 6의 8행에 따르면, TEAM 1이 목적지에 도착하면, 모드를 'SEARCH_MODE'(으)로 변경하는 이벤트가 발생될 수 있다. 이때, 데이터베이스에 사전에 등록된 서비스들도 사용될 수 있다. 예를 들어 "이동", "비디오 캡처" 및 "물체 감지"와 같은 다양한 종류의 빌트-인-서비스가 사용될 수 있다. 이와 관련된, BNF의 형식은 표 4와 같이 표현될 수 있다.According to
| <IterationalStmt>
| <ExpressionStmt>
<ConditionalStmt> ::= if(<Condition>+) {<Stmt>+}
<ElseStmt>?
<ElseStmt> ::= else {<Stmt>+}
<IterationalStmt> ::= loop(<LoopCondition>+){<Stmt>+}
<LoopCondition> ::= <PeriodTime>
| <Condition>
<ExpressionStmt> ::= send(<TeamName>, <Attribute>+)
| receive(<TeamName>, <Attribute>+)
| <Built-in-Service>
| throw <EventName> <Stmt> :: = <ConditionalStmt>
| <IterationalStmt>
| <ExpressionStmt>
<ConditionalStmt> :: = if (<Condition> +) {<Stmt> +}
<ElseStmt>?
<ElseStmt> :: = else {<Stmt> +}
<IterationalStmt> :: = loop (<LoopCondition> +) {<Stmt> +}
<LoopCondition> :: = <PeriodTime>
| <Condition>
<ExpressionStmt> :: = send (<TeamName>, <Attribute> +)
| receive (<TeamName>, <Attribute> +)
| <Built-in-Service>
| throw <EventName>
다중작업의 BNF의 형식은 표 5와 같이 표현될 수 있다. The format of the multi-task BNF can be expressed as shown in Table 5.
<SetStmt> ::= set(<PlanName>, <CompServiceName>)
| set(<PlanName>, OFF)<Multitasking> :: = <TeamName>. <ModeName>{<SetStmt> +}
<SetStmt> :: = set (<PlanName>, <CompServiceName>)
| set (<PlanName>, OFF)
표 5를 참조하면, 'set (<PlanName>, OFF)'을 통해 작업(또는 플랜)을 종료할 수 있다. 도 6의 9행부터 12 행까지는 자율 주행 모드에서 각 플랜의 동작을 정의하는 방법을 나타낼 수 있다. 동적 모드에 대한 BNF의 형식은 표 6과 같을 수 있다.Referring to Table 5, the operation (or plan) can be terminated through 'set (<PlanName>, OFF)'.
<ModeChange>* <InitialMode>}
<ModeChange> ::= case(<ModeName>):<EventListener>*
<EventListener> ::= catch(<EventName>):<ModeAssign>
<ModeAssign> ::= mode = <ModeName>
<InitialMode> ::= default:<ModeAssign><DynamicModeChange> :: = <TeamName> .main {
<ModeChange> * <InitialMode>}
<ModeChange> :: = case (<ModeName>): <EventListener> *
<EventListener> :: = catch (<EventName>): <ModeAssign>
<ModeAssign> :: = mode = <ModeName>
<InitialMode> :: = default: <ModeAssign>
표 6을 참조하면, 제어부(240)는 로봇이 미션의 수행을 시작에 대응하여, 메인(main) 루프를 프로그램이 종료될 때까지 실행할 수 있다. 최초의 모드는 default 모드로 설정될 수 있고, 생성된 이벤트는 모드를 변경할 수 있다. 동적 모드가 변경되는 조건이 설정되는 것에 기초해서, 제어부(240)는 메인 루프의 실행 중 Catch 문에서 포착된 이벤트를 기반으로 다음 동작 모드를 결정할 수 있다. 도 6의 18행에 따르면, 초기 모드가 "AUTO_MODE"로 설정되어 있을 때, 동적 모드의 전환은 14행부터 17 행까지에서 표현된 바와 같이 특정 조건에서 일어난다는 것을 알 수 있다. 도 7은 본 발명의 일 실시예에 따른 로봇 제어 방법의 전략 결정부 구현의 예를 도시한다. 구체적으로, 도 7은 XML 마크 업 언어를 사용하여 표현된 전략의 예를 나타낸다. Referring to Table 6, the
도 7은 '이동'과 관련된 서비스를 구체화 하여 '현재 위치와 장애물을 확인한 다음, 바퀴로 이동'하는 XML 표현을 나타낼 수 있다. 이러한 구체적인 표현은 로봇 제어 장치(10)의 제조업체 또는 로봇 제어의 전문가에 의해 미리 결정되어 데이터 베이스에 기 지정된 것일 수 있다. 이러한 경우, 미션 수립부(220)에 의해 미션이 수립되면 이에 기초하여, 전략 결정부(230)는 도 7과 같은 세부적인 태스크로 미션을 구체화할 수 있다. FIG. 7 may express an XML expression 'confirming the current location and obstacles, and then moving on a wheel' by specifying a service related to 'movement'. The specific expression may be predetermined by a manufacturer of the
경우에 따라, 전략 결정부(230)는 미션과 관련하여 비기능적 사항을 결정할 수 있다. 예를 들어, 기능적 사항인 서비스, 예를 들면 '이동' 서비스와 관련하여 전략 결정부(230)는 '로봇의 배터리 잔량을 지속적으로 확인'하는 전략을 결정할 수 있다. In some cases, the
비기능적 사항을 담당하는 태스크도 서비스와 관련하여 기지정되어 데이터베이스에 저장되어 있을 수 있다. 예를 들어, '로봇의 배터리 잔량을 지속적으로 확인'하는 태스크는 '이동' 서비스와 관련된 태스크로 데이터 베이스에 미리 지정된 것일 수 있다. 전략 결정부(230)는 로봇과 관련된 다양한 조건, 예를 들면 로봇의 전력 효율, 로봇이 위치된 환경 조건 등을 고려하여 비기능적 사항을 결정할 수 있다. Tasks in charge of non-functional matters may also be assigned to a service and stored in a database. For example, the task of 'continuously checking the battery level of the robot' may be a task related to the 'move' service and may be previously designated in the database. The
도 8은 본 발명의 일 실시예에 따른 로봇 제어 방법의 제어부와 관련된 구현의 예를 도시한다. 8 shows an example of the implementation related to the control unit of the robot control method according to an embodiment of the present invention.
도 8을 참조하면, 팀을 이루는 로봇이 N대로 구성되는 경우, 제어부(240)는 N대의 로봇 각각에 대해 태스크 그래프 모델을 생성할 수 있다. 도 8에서는 'Robot #2'의 태스크 그래프 모델을 예시적으로 나타낸다. Referring to FIG. 8, when a team of robots is composed of N units, the
태스크 그래프 모델은 센서 태스크, 알고리즘 태스크, 액츄에이터 태스크, 또는 통신 태크스와 같이 다양한 종류의 태스크로 구성될 수 있다. 태스크 그래프 모델은 도시된 바에 제한되지 않고 다양한 동작의 수행과 관련하여 존재할 수 있다. The task graph model can be composed of various types of tasks, such as sensor tasks, algorithm tasks, actuator tasks, or communication tasks. The task graph model is not limited to what is shown and may exist in connection with performing various operations.
태스크 그래프 모델은 사전에 데이터베이스에 등록되어 있을 수 있다. 이때, 태스크 그래프 모델은 태스크 별로 전략과 매핑되어 있을 수 있다. 이에 따라, 전략 결정부(230)에 의해 전략이 결정되면 관련된 태스크 그래프 모델이 생성될 수 있다. The task graph model may be registered in the database in advance. At this time, the task graph model may be mapped to a strategy for each task. Accordingly, when a strategy is determined by the
태스크 그래프 모델은 실질적인 로봇의 동작을 로봇의 운영체제에 맞추어 프로그래밍하기 위한 것으로 통상의 기술자에게 용이한바, 자세한 설명은 생략하겠다. The task graph model is for programming the actual robot operation according to the operating system of the robot, and is easy for a person skilled in the art, and detailed description will be omitted.
도 9A와 도 9B는 본 발명의 일 실시예에 따른 로봇 제어 방법의 제어부와 관련된 구현의 다른 예들을 도시한다. 9A and 9B show other examples of the implementation related to the control unit of the robot control method according to an embodiment of the present invention.
도 9A의 경우, 통신을 이용한 원격 제어 이동을 수행하는 로봇에 대한 태스크 그래프 모델을 나타낸 것일 수 있다. 도 9A의 경우 통신을 이용하기 때문에 신호의 수신을 위한 'Receive' 태스크가 포함되어 있을 수 있다. In the case of FIG. 9A, it may be a task graph model for a robot performing remote control movement using communication. In the case of FIG. 9A, since communication is used, a 'Receive' task for receiving a signal may be included.
도 9B의 경우, TLD 알고리즘을 이용한 간접적인 원격 제어 이동을 수행하는 로봇에 대한 태스크 그래프 모델을 나타낸 것일 수 있다. 도 9B의 경우 TLD 알고리즘을 이용하기 때문에 정보 수집 목적의 'Camera' 태스크가 포함되어 있을 수 있다. 여기서, TLD 알고리즘은 기 지정되어 저장된 데이터일 수 있다. In the case of FIG. 9B, it may be a task graph model for a robot performing indirect remote control movement using a TLD algorithm. In FIG. 9B, since a TLD algorithm is used, a 'Camera' task for information collection purposes may be included. Here, the TLD algorithm may be pre-designated and stored data.
본 발명의 실시예에 따른 로봇 제어 장치(10)는 사용자에 의해 로봇의 동작을 의미하는 상위 단위로 표현되는 서비스에 대한 입력을 수신하고, 이에 기초하여 로봇의 동작의 구현을 수행하기 때문에, 비전문가인 사용자도 로봇의 제어를 보다 용이하게 수행할 수 있다. Since the
또한, 본 발명의 실시예에 따른 로봇 제어 장치(10)는 서비스의 경우 로봇의 하드웨어에 종속되지 않는 개념으로서, 로봇의 하드웨어와는 독립적으로 존재함으로써 로봇의 하드웨어가 변경되는 경우에도 별도의 수정 없이 적용할 수 있다는 점에서 높은 효율을 가진다. In addition, the
또한, 본 발명의 실시예에 따른 로봇 제어 장치(10)는 개별적인 로봇 각각에 대한 제어가 아닌 복수의 로봇으로 구성되는 팀 단위의 로봇의 제어에 적용 가능하다. In addition, the
본 명세서에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block in the block diagrams and respective steps in the flowcharts attached to this specification may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that instructions executed through a processor of a computer or other programmable data processing equipment may be used in each block or flowchart of the block diagram. In each step, means are created to perform the functions described. These computer program instructions can also be stored in computer readable or computer readable memory that can be oriented to a computer or other programmable data processing equipment to implement a function in a particular manner, so that computer readable or computer readable memory The instructions stored in it are also possible to produce an article of manufacture containing instructions means for performing the functions described in each block or flowchart step of the block diagram. Since computer program instructions may be mounted on a computer or other programmable data processing equipment, a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer to generate a computer or other programmable data. It is also possible for instructions to perform processing equipment to provide steps for executing the functions described in each block of the block diagram and in each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Further, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments it is also possible that the functions mentioned in blocks or steps occur out of order. For example, two blocks or steps shown in succession may in fact be executed substantially simultaneously, or it is also possible that the blocks or steps are sometimes performed in reverse order depending on the corresponding function.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may make various modifications and variations without departing from the essential quality of the present invention. Therefore, the embodiments disclosed in the present specification are not intended to limit the technical spirit of the present invention, but to explain the scope, and the scope of the technical spirit of the present invention is not limited by the embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
10: 로봇 제어 장치
210: 입력부
220: 미션 수립부
230: 전략 결정부
240: 제어부10: robot control device
210: input
220: Mission establishment
230: strategic decision unit
240: control unit
Claims (15)
상기 구성된 팀에 의해 수행될 서비스를 결정하는 서비스 결정부와,
상기 서비스의 적어도 일부와 함께 수행될 다중작업(multitasking) 서비스를 설정하는 다중작업 설정부와,
상기 팀의 동작이 제어되는 조종 방식의 변경과 관련된 동적 모드를 설정하는 동적 모드 결정부와,
상기 팀, 상기 서비스, 상기 다중작업 서비스 및 상기 동적 모드가 반영된 미션을 수립하는 미션 수립부와
상기 수립된 미션에 따라 상기 적어도 하나의 로봇을 제어하는 제어부를 포함하는,
로봇 제어 장치.A team building unit forming a team including at least one robot,
A service determination unit for determining a service to be performed by the configured team;
A multi-task setting unit for setting a multitasking service to be performed together with at least a part of the service;
A dynamic mode determination unit for setting a dynamic mode related to a change in a steering method in which the motion of the team is controlled;
A mission establishment unit for establishing a mission in which the team, the service, the multi-task service, and the dynamic mode are reflected;
Including the control unit for controlling the at least one robot according to the established mission,
Robot control device.
사용자에 의한 입력을 수신하는 입력부를 더 포함하고,
상기 팀 구성부는 상기 수신된 입력에 기초하여 상기 팀을 구성하고,
상기 서비스 결정부는 상기 수신된 입력에 기초하여 상기 수행될 서비스를 결정하고,
상기 다중작업 설정부는 상기 수신된 입력에 기초하여 상기 다중작업을 설정하고,
상기 동적 모드 결정부는 상기 수신된 입력에 기초하여 상기 동적 모드를 설정하는
로봇 제어 장치.According to claim 1,
Further comprising an input unit for receiving input by the user,
The team configuration unit configures the team based on the received input,
The service determining unit determines the service to be performed based on the received input,
The multi-task setting unit sets the multi-task based on the received input,
The dynamic mode determining unit sets the dynamic mode based on the received input.
Robot control device.
상기 입력은,
상기 적어도 하나의 로봇의 수를 결정하는 입력, 상기 수행될 서비스를 지정하는 입력, 상기 다중작업의 수행 여부를 선택하는 입력, 상기 서비스와 구분되는 다른 서비스를 상기 다중작업 서비스로 지정하는 입력, 상기 조종 방식의 변경에 대한 기준을 설정하는 입력 중 적어도 하나를 포함하는
로봇 제어 장치.According to claim 2,
The input is
An input for determining the number of the at least one robot, an input for designating the service to be performed, an input for selecting whether to perform the multi-task, an input for designating another service distinct from the service as the multi-work service, the Containing at least one of the inputs that set the criteria for changing the steering mode
Robot control device.
상기 조종 방식은 원격 조종 및 자율 주행 중 적어도 하나를 포함하고, 상기 입력에 의해 설정된 기준에 따라 변경되는
로봇 제어 장치.According to claim 3,
The control method includes at least one of remote control and autonomous driving, and is changed according to a reference set by the input
Robot control device.
상기 수립된 미션을 식별하여, 상기 미션의 수행을 위한 상기 적어도 하나의 로봇에 대한 상기 서비스의 하위 단위로서의 동작을 나타내는 태스크를 결정하는 전략 결정부를 더 포함하는
로봇 제어 장치.According to claim 1,
Further comprising a strategy determining unit for identifying the established mission, and determining a task indicating the operation as a sub-unit of the service for the at least one robot for the execution of the mission
Robot control device.
상기 태스크는 복수로 구성되며, 상기 서비스와 매핑되고 기 지정된 채로 상기 전략 결정부에 미리 저장되는
로봇 제어 장치.The method of claim 5,
The task is composed of a plurality, is mapped to the service and is stored in advance in the strategy decision unit with a predetermined
Robot control device.
상기 전략 결정부는, 상기 미션, 상기 로봇의 수, 상기 로봇의 종류, 상기 로봇의 상태, 상기 로봇의 위치 및 상기 로봇이 위치된 환경 중 적어도 하나를 기초로, 복수로 구성되는 태스크 중 상기 미션의 수행에 가장 적합한 적어도 하나의 태스크를 결정하는
로봇 제어 장치.The method of claim 5,
The strategy determining unit, based on at least one of the mission, the number of robots, the type of the robot, the state of the robot, the location of the robot, and the environment in which the robot is located, of the mission of the plurality of tasks Determining at least one task best suited to perform
Robot control device.
상기 제어부는 상기 적어도 하나의 로봇 각각에 대하여 상기 미션의 수행을 위해 상기 적어도 하나의 로봇 각각의 움직임을 제어하는
로봇 제어 장치.According to claim 1,
The control unit controls the movement of each of the at least one robot to perform the mission for each of the at least one robot
Robot control device.
상기 로봇은 생명체의 특성을 모방하여 동작을 수행하는 생체 모방 로봇(biomimetic robot)인
로봇 제어 장치. According to claim 1,
The robot is a biomimetic robot that performs an operation by imitating the characteristics of living things.
Robot control device.
상기 팀, 상기 서비스, 상기 다중작업 서비스 및 상기 동적 모드가 반영된 미션을 수립하는 단계와,
상기 수립된 미션에 따라 상기 적어도 하나의 로봇을 제어하는 단계를 포함하는
로봇 제어 방법.Configure a team including at least one robot, determine a service to be performed by the configured team, set a multitasking service to be performed with at least a part of the service, and control the operation of the team Setting up a dynamic mode related to changing the steering mode,
Establishing a mission in which the team, the service, the multi-task service, and the dynamic mode are reflected;
And controlling the at least one robot according to the established mission.
Robot control method.
사용자에 의한 입력을 수신하는 단계를 더 포함하고,
상기 수신된 입력에 기초하여, 상기 팀이 구성되고 상기 수행될 서비스가 결정되고 상기 다중작업이 설정되고 상기 동적 모드가 설정되는
로봇 제어 방법.The method of claim 10,
Further comprising the step of receiving the input by the user,
Based on the received input, the team is configured, the service to be performed is determined, the multi-task is set, and the dynamic mode is set.
Robot control method.
상기 입력은,
상기 적어도 하나의 로봇의 수를 결정하는 입력, 상기 수행될 서비스를 지정하는 입력, 상기 다중작업의 실행 여부를 선택하는 입력, 상기 서비스와 구분되는 다른 서비스를 상기 다중작업 서비스로 지정하는 입력, 상기 조종 방식의 변경에 대한 기준을 설정하는 입력 중 적어도 하나를 포함하는
로봇 제어 방법.The method of claim 11,
The input is
An input for determining the number of the at least one robot, an input for designating the service to be performed, an input for selecting whether to execute the multi-task, an input for designating another service distinct from the service as the multi-work service, the Containing at least one of the inputs that set the criteria for changing the steering mode
Robot control method.
상기 조종 방식은 원격 조종 및 자율 주행 중 적어도 하나를 포함하고, 상기 입력에 의해 설정된 기준에 따라 변경되는
로봇 제어 방법.The method of claim 12,
The control method includes at least one of remote control and autonomous driving, and is changed according to a reference set by the input
Robot control method.
상기 수립된 미션을 식별하여, 상기 미션의 수행을 위한 상기 적어도 하나의 로봇에 대한 상기 서비스의 하위 단위로서의 동작을 나타내는 태스크를 결정하는 단계를 더 포함하는
로봇 제어 방법.The method of claim 10,
And identifying the established mission, and determining a task representing an operation as a sub-unit of the service for the at least one robot for performing the mission.
Robot control method.
상기 태스크를 결정하는 단계는,
상기 미션, 상기 로봇의 수, 상기 로봇의 종류, 상기 로봇의 상태, 상기 로봇의 위치 및 상기 로봇이 위치된 환경 중 적어도 하나를 기초로, 복수로 구성되는 태스크 중 상기 미션의 수행에 가장 적합한 적어도 하나의 태스크를 결정하는 단계를 포함하는
로봇 제어 방법.The method of claim 14,
Determining the task,
Based on at least one of the mission, the number of robots, the type of the robot, the state of the robot, the position of the robot, and the environment in which the robot is located, at least the most suitable for performing the mission among a plurality of tasks Including determining a task
Robot control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180119923A KR102212352B1 (en) | 2018-10-08 | 2018-10-08 | Method and apparatus for controlling robots |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180119923A KR102212352B1 (en) | 2018-10-08 | 2018-10-08 | Method and apparatus for controlling robots |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200040088A true KR20200040088A (en) | 2020-04-17 |
KR102212352B1 KR102212352B1 (en) | 2021-02-04 |
Family
ID=70461028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180119923A KR102212352B1 (en) | 2018-10-08 | 2018-10-08 | Method and apparatus for controlling robots |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102212352B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230081379A (en) * | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing using organization based task specification and apparatus thereof |
KR20230081380A (en) * | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing allocating tasks to robots and apparatus thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7415356B2 (en) * | 2019-07-29 | 2024-01-17 | セイコーエプソン株式会社 | Program transfer system and robot system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029988A (en) * | 2001-07-13 | 2003-01-31 | Nec Corp | Task scheduling system and method, program |
KR100995592B1 (en) | 2008-12-02 | 2010-11-22 | 김우열 | Method and Apparatus for Embedded System Design using Target Independent Model |
JP2012529104A (en) * | 2009-06-05 | 2012-11-15 | ザ・ボーイング・カンパニー | Monitoring and control of heterogeneous autonomous work |
-
2018
- 2018-10-08 KR KR1020180119923A patent/KR102212352B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029988A (en) * | 2001-07-13 | 2003-01-31 | Nec Corp | Task scheduling system and method, program |
KR100995592B1 (en) | 2008-12-02 | 2010-11-22 | 김우열 | Method and Apparatus for Embedded System Design using Target Independent Model |
JP2012529104A (en) * | 2009-06-05 | 2012-11-15 | ザ・ボーイング・カンパニー | Monitoring and control of heterogeneous autonomous work |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230081379A (en) * | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing using organization based task specification and apparatus thereof |
KR20230081380A (en) * | 2021-11-30 | 2023-06-07 | 서울시립대학교 산학협력단 | Method for multi-robot task processing allocating tasks to robots and apparatus thereof |
WO2023101365A1 (en) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | Method and device for processing multi-robot work by using group-based work description |
Also Published As
Publication number | Publication date |
---|---|
KR102212352B1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102686219B1 (en) | How to operate a robot in a multi-agent system, robots, and multi-agent systems | |
US11886203B2 (en) | Flight control method and apparatus, and control device | |
US11037564B2 (en) | Robot apparatus and method for registering shortcut command thereof based on a predetermined time interval | |
CN110297697B (en) | Robot action sequence generation method and device | |
KR102212352B1 (en) | Method and apparatus for controlling robots | |
US11206218B2 (en) | Packet flow classification in spine-leaf networks using machine learning based overlay distributed decision trees | |
WO2017028571A1 (en) | An education system using connected toys | |
CN112416323B (en) | Control code generation method, operation method, device, equipment and storage medium | |
US11405438B2 (en) | Managing multicast service chains in a cloud environment | |
Brugali et al. | Model-based development of qos-aware reconfigurable autonomous robotic systems | |
TW201816598A (en) | Task switching method and related device | |
Brugali et al. | Dynamic variability meets robotics | |
US20170282367A1 (en) | System for generating sets of control data for robots | |
Lima et al. | Integrating classical planning and real robots in industrial and service robotics domains | |
Velamala et al. | Development of ROS-based GUI for control of an autonomous surface vehicle | |
KR101277275B1 (en) | Task implementation method based on behavior in robot system | |
Gutmann et al. | Mission specification and execution of multidrone systems | |
Remmersmann et al. | Interactive multi-robot command and control with quasi-natural command language | |
Miller et al. | Enabling dynamic delegation interactions with multiple unmanned vehicles; flexibility from top to bottom | |
CN117773923A (en) | Robot behavior control method and device under complex service scene and related products | |
KR101231771B1 (en) | Apparatus and method for dynamically reconfiguring robot's software components | |
KR20220118105A (en) | Wireless teaching device providing interface and fucntion for intreactive teaching by operator in a collaborative robot and method thereof | |
KR20100078040A (en) | Multimodal system and input process method thereof | |
Doychev et al. | Goal Reasoning with the CLIPS Executive in ROS2 | |
KR20240131581A (en) | Teaching device for mobile manipulator based on mobile robot and collaborative robot and method for setting interface thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |