KR101007652B1 - Robot control system of driving by command composed with diagram and method thereof - Google Patents

Robot control system of driving by command composed with diagram and method thereof Download PDF

Info

Publication number
KR101007652B1
KR101007652B1 KR1020080062032A KR20080062032A KR101007652B1 KR 101007652 B1 KR101007652 B1 KR 101007652B1 KR 1020080062032 A KR1020080062032 A KR 1020080062032A KR 20080062032 A KR20080062032 A KR 20080062032A KR 101007652 B1 KR101007652 B1 KR 101007652B1
Authority
KR
South Korea
Prior art keywords
robot
unit
service
state
action
Prior art date
Application number
KR1020080062032A
Other languages
Korean (ko)
Other versions
KR20100001927A (en
Inventor
신경철
박성주
정현철
김형률
나빈
Original Assignee
주식회사 유진로봇
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 유진로봇 filed Critical 주식회사 유진로봇
Priority to KR1020080062032A priority Critical patent/KR101007652B1/en
Publication of KR20100001927A publication Critical patent/KR20100001927A/en
Application granted granted Critical
Publication of KR101007652B1 publication Critical patent/KR101007652B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Landscapes

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

Abstract

본 발명은 로봇 제어 시스템 및 그 방법에 대한 것으로서, 더욱 상세하게는 마크업 언어로 구성되는 다이어그램 형식에 의해 표현되는 로봇 제어 명령어를 바탕으로 하는 서비스 제작 환경을 이용하여 전문 개발자가 아닌 일반 사용자가 자신이 원하는 로봇의 서비스를 용이하게 구현하고 이를 로봇에 적용하여 제어가 가능하도록 한 로봇 제어 시스템 및 그 방법에 대한 것이다. The present invention relates to a robot control system and a method thereof, and more specifically, a general user who is not a professional developer using a service production environment based on a robot control command expressed by a diagram form composed of a markup language. The present invention relates to a robot control system and a method for easily implementing the desired robot service and applying the same to a robot to enable control.

이를 위해, 로봇의 서비스를 제작하기 위한 마크업 언어로 구성되는 다이어그램 형식의 로봇서비스 제작 수단과, 상기 로봇서비스 제작 수단에 의하여 작성된 프로그램을 로봇에 설치하기 위한 로봇서비스 설치 수단, 및 상기 설치된 프로그램을 해석하고 실행하기 위한 로봇서비스 실행 수단을 포함하는 로봇 제어 시스템에 있어서, 상기 로봇 서비스 제작 수단은, 소정 이벤트에 의해 상태가 전이되며 로봇의 현재 상태를 나타내는 상태유닛; 및 소정 흐름에 의해 연결되며 로봇의 특정 행동을 지시하는 액션유닛;을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하는 것을 특징으로 하는 로봇 제어 시스템을 제공한다.To this end, a robot service production means in a diagram form composed of a markup language for producing a service of a robot, a robot service installation means for installing a program created by the robot service production means on a robot, and the installed program A robot control system comprising a robot service execution means for analyzing and executing, the robot service manufacturing means comprising: a state unit which is in a state transitioned by a predetermined event and indicates a current state of the robot; And an action unit connected by a predetermined flow and instructing a specific action of the robot in a graphical user interface (GUI) manner.

로봇 제어, 지능형 로봇, XML, 마크업 언어, 사용자 제어, 다이아그램, 로봇 제어 프로그램.  Robot Control, Intelligent Robot, XML, Markup Language, User Control, Diagram, Robot Control Program.

Description

다이어그램으로 제작된 명령어에 의해 구동하는 로봇 제어 시스템 및 그 방법{Robot control system of driving by command composed with diagram and method thereof}Robot control system driven by a command made with a diagram and its method {Robot control system of driving by command composed with diagram and method

본 발명은 다이어그램으로 제작된 명령어에 의해 구동하는 로봇 제어 시스템 및 그 방법에 대한 것이다. 보다 상세하게 본 발명은, 일반 사용자가 자신이 원하는 로봇의 서비스를 용이하게 구현하고 이를 로봇에 적용하여 제어하도록 하므로써, 다양화되고 있는 사용자의 요구 및 환경에 효율적으로 적응하도록 하고, 다양한 로봇 산업 분야에서의 폭 넓게 적용될 수 있도록 한 다이어그램으로 제작된 명령어에 의해 구동하는 로봇 제어 시스템 및 그 방법에 관한 것이다.The present invention relates to a robot control system and method thereof driven by instructions fabricated in a diagram. In more detail, the present invention enables the general user to easily implement the service of the robot desired by the user and to control it by applying it to the robot, thereby efficiently adapting to the needs and environments of the diversified user, The present invention relates to a robot control system and a method driven by a command made in a diagram for wide application.

일반적으로, 가정 또는 특정 산업 환경에서 사용되는 로봇에서의 서비스는 로봇의 이벤트와 행위들의 순서에 있어서 복잡한 연관성을 지니고 있으며, 계층적 서비스들로 이루어짐과 동시에 외부에서의 서비스 호출에 의한 반응도 포함되어야 한다. In general, services in a robot used in a home or in a specific industrial environment have a complex relationship in the sequence of events and actions of the robot, and they must be composed of hierarchical services and respond to external service calls. .

이러한 로봇 서비스들을 기존에는 전문 로봇 개발자들에 의한 프로그램 언어 방식으로 개발이 되어왔으며, 이로 인해 사용자의 요구(Needs)를 따라가기에는 역부족인 상황이다. These robot services have been developed in the conventional programming language by professional robot developers, which is not enough to meet the needs of users.

즉, 현재 일반 사용자에게 보급되고 있는 로봇은 미리 제작된 프로그램에 의하여 작동되는 방식으로서, 사용자의 요구 및 환경의 다양성을 고려하지 못할 뿐만 아니라, 사용자에 의한 로봇의 동작 명령 제작 및 변경이 불가능하여 실질적인 로봇의 효용성이 축소되고 있는 실정이다.In other words, the robot currently being distributed to the general user is operated by a pre-made program, and it does not take into consideration the diversity of the user's needs and the environment, and it is impossible to manufacture and change the operation command of the robot by the user. The effectiveness of robots is being reduced.

본 발명은 상기와 같은 점을 감안하여 안출한 것으로서, 마크업 언어로 구성되는 다이어그램 형식의 그래픽 유저 인터페이스(GUI) 제작 환경을 제공하여, 전문 개발자가 아닌 일반 사용자가 자신이 원하는 로봇의 서비스를 용이하게 구현하고 이를 로봇에 적용하여 제어가 가능하도록 한 로봇 제어 시스템 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been made in view of the above, and provides a graphical user interface (GUI) production environment in a diagram form composed of a markup language, so that a general user rather than a professional developer can easily service a robot that he / she wants. It is an object of the present invention to provide a robot control system and a method for implementing the same, and applying the same to a robot to enable control.

로봇의 서비스를 제작하기 위한 마크업 언어로 구성되는 다이어그램 형식의 로봇서비스 제작 수단과, 상기 로봇서비스 제작 수단에 의하여 작성된 프로그램을 로봇에 설치하기 위한 로봇서비스 설치 수단, 및 상기 설치된 프로그램을 해석하고 실행하기 위한 로봇서비스 실행 수단을 포함하는 로봇 제어 시스템에 있어서, 상기 로봇 서비스 제작 수단은,Analyze and execute a robot service production means in a diagram form consisting of a markup language for producing a service of a robot, a robot service installation means for installing a program created by the robot service production means on a robot, and the installed program. In the robot control system comprising a robot service execution means for performing, The robot service manufacturing means,

소정 이벤트에 의해 상태가 전이되며 로봇의 현재 상태를 나타내는 상태유닛; 및A state unit transitioning by a predetermined event and indicating a current state of the robot; And

소정 흐름에 의해 연결되며 로봇의 특정 행동을 지시하는 액션유닛;An action unit connected by a predetermined flow and instructing a specific action of the robot;

을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하는 것을 특징으로 한다.It characterized in that to provide a graphical user interface (GUI) method.

특히, 상기 로봇 서비스 제작 수단은, 적어도 하나 이상의 액션유닛을 포함하여 구성되는 조합액션유닛; 및 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조 합액션유닛을 포함하여 구성되는 조합액션유닛을 그래픽 사용자 인터페이스(GUI) 방식으로 더 제공하는 것을 특징으로 한다.In particular, the robot service manufacturing means, a combination action unit comprising at least one action unit; And at least one combination unit including at least one state unit, action unit, or combination action unit in a graphical user interface (GUI) manner.

또한, 상기 로봇서비스 제작 수단의 액션유닛은 특정 상태유닛에 종속되어, 상기 특정 상태유닛으로 로봇의 상태가 전이된 경우에 액션유닛에 정의된 내용이 실행되는 것을 특징으로 한다.In addition, the action unit of the robot service manufacturing means is dependent on a specific state unit, characterized in that the contents defined in the action unit is executed when the state of the robot is transferred to the specific state unit.

또한, 상기 로봇서비스 제작 수단은, 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 서비스;를 그래픽 사용자 인터페이스(GUI) 방식으로 더 제공하는 것을 특징으로 한다.The robot service manufacturing means may further include a service configured to include at least one or more state units, action units, or combined action units in a graphical user interface (GUI) manner.

한편, 로봇의 행동을 제어하기 위한 로봇 제어 프로그램이 저장된 저장매체에 있어서, 상기 로봇 제어 프로그램은, 소정 이벤트에 의해 상태가 전이되며 로봇의 현재 상태를 나타내는 상태유닛; 및 소정 흐름에 의해 연결되며 로봇의 특정 행동을 지시하는 액션유닛;을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하여 사용자가 드래그 앤 드랍 방식으로 로봇의 행동을 수행 명령을 제작하는 것을 특징으로 한다.On the other hand, in a storage medium in which a robot control program for controlling the behavior of the robot is stored, the robot control program includes: a state unit indicating a current state of the robot, the state being transitioned by a predetermined event; And an action unit connected by a predetermined flow and instructing a specific action of the robot; by providing a graphical user interface (GUI) method, a user makes a command to perform the action of the robot in a drag and drop manner.

특히, 상기 로봇 제어 프로그램은, 적어도 하나 이상의 액션유닛을 포함하여 구성되는 조합액션유닛; 및 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 조합액션유닛을 그래픽 사용자 인터페이스(GUI) 방식으로 더 제공하는 것을 특징으로 한다.In particular, the robot control program, a combination action unit comprising at least one action unit; And at least one combination unit including at least one state unit, an action unit, or a combination action unit in a graphical user interface (GUI) manner.

또한, 상기 액션유닛은 특정 상태유닛에 종속되어, 상기 특정 상태유닛으로 로봇의 상태가 전이된 경우에 액션유닛에 정의된 내용이 실행되는 것을 특징으로 한다.In addition, the action unit is dependent on a specific state unit, characterized in that the contents defined in the action unit is executed when the state of the robot is transferred to the specific state unit.

또한, 상기 로봇 제어 프로그램은, 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 서비스;를 그래픽 사용자 인터페이스(GUI) 방식으로 더 제공하는 것을 특징으로 한다.The robot control program may further include a service configured to include at least one state unit, an action unit, or a combination action unit in a graphical user interface (GUI) manner.

상기와 같은 로봇 제어 시스템 및 그 방법에 의하면, 일반 사용자가 자신이 원하는 로봇의 서비스를 직접 손쉽게 작성하여 로봇에 적용이 가능해지므로, 다양화되고 있는 사용자의 요구 및 환경에 효율적으로 적응할 수 있을 뿐만 아니라, 향후 고도의 성장이 요구되는 로봇 산업 분야에서의 폭 넓은 적용이 가능하므로, 상당한 상업적·경제적 효과가 기대된다.According to the robot control system and the method as described above, since the general user can easily create a service of the robot directly desired and can be applied to the robot, not only can be efficiently adapted to the needs and environment of the diversified user, As a result, it is possible to apply a wide range of applications in the robotic industry where high growth is required in the future, and thus significant commercial and economic effects are expected.

이하, 첨부한 도면을 참조하여 본 발명의 구체적인 내용에 대하여 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the specific content of the present invention.

본 발명은 상기에서 언급한 바와 같이, 로봇의 서비스를 제작하기 위한 마크업 언어로 구성되는 다이어그램 형식의 로봇서비스 제작 수단과, 상기 로봇서비스 제작 수단에 의하여 작성된 프로그램을 로봇에 설치하기 위한 로봇서비스 설치 수단, 및 상기 설치된 프로그램을 해석하고 실행하기 위한 로봇서비스 실행 수단을 포함하는 로봇 제어 시스템에 적용되는 것으로서, 이하 상기 로봇 서비스 제작 수 단에 대하여 설명한다.As mentioned above, the present invention provides a robot service production means in a diagram form composed of a markup language for producing a service of a robot, and a robot service installation for installing a program created by the robot service production means in a robot. Means, and applied to a robot control system including a robot service execution means for analyzing and executing the installed program, will be described below the robot service manufacturing means.

도 1은 로봇 서비스 제작 수단에서 사용되는 로봇서비스 제작을 위한 다이어그램의 구성요소를 나타낸다.Figure 1 shows the components of the diagram for the robot service production used in the robot service production means.

서비스(110)는 로봇서비스 제작수단에 의하여 제작된 하나의 독립된 로봇서비스를 나타내는 요소로서, 하나 이상의 조합상태유닛(120), 상태유닛(130), 조합액션유닛(140), 액션유닛(150)을 포함하여 구성된다. 서비스(110)는 다른 서비스(110)에서 호출될 수 있으며, 서비스(110) 내에 표기된 "Cometome"는 서비스의 내용을 의미하며, 로봇이 사용자에게 오도록 하는 서비스임을 나타낸다.Service 110 is an element representing one independent robot service produced by the robot service manufacturing means, one or more combination state unit 120, state unit 130, combination action unit 140, action unit 150 It is configured to include. The service 110 may be called from another service 110, and the term "Cometome" denoted in the service 110 refers to the content of the service and indicates that the robot is to be brought to the user.

상기 상태유닛(130)(state unit)은 로봇의 현재 상태를 나타내며, 각각의 상태유닛(130)은 이벤트에 의해서 다음 상태유닛(130)으로 전이(transition)된다. 상태유닛(130)은 액션유닛(150)과 연결될 수 있으며, 연결된 액션유닛(150)은 해당 상태유닛(130)으로 상태가 전이되었을 때 수행된다.The state unit 130 represents a current state of the robot, and each state unit 130 transitions to the next state unit 130 by an event. The state unit 130 may be connected to the action unit 150, and the connected action unit 150 is performed when the state is transferred to the corresponding state unit 130.

상기 조합상태유닛(120)(composite state unit)은 하나 이상의 상태유닛(130)과 액션유닛(150), 또는 조합 액션유닛(140)을 포함하여 구성되며, 다른 조합상태유닛을 포함하여 구성될 수 있다. The combined state unit 120 may include one or more state units 130, an action unit 150, or a combination action unit 140, and may include other combination state units. have.

상기 액션유닛(150)(action unit)은 특정 서비스를 수행하기 위한 요소로서, 사용자가 원하는 상태에서 실제 로봇의 행위를 실행할 수 있는 요소이다. 상기 액션유닛(150)은 하나의 상태유닛(130) 또는 조합상태유닛(120)에 종속되어, 상기 종속된 상태유닛(130) 또는 조합상태유닛(120)으로 상태가 전이될 경우 수행된다.The action unit 150 is an element for performing a specific service, and is an element capable of executing an action of a real robot in a desired state. The action unit 150 is dependent on one state unit 130 or combination state unit 120, and is performed when a state is transferred to the dependent state unit 130 or combination state unit 120.

상기 조합액션유닛(140)(composite action unit)은 하나 이상의 액션유닛을 포함하여 구성되며, 동시에 실행되는(concurrent execution) 둘 이상의 액션유닛을 포함하여 구성될 수 있다. The combined action unit 140 may include one or more action units, and may include two or more action units that are concurrently executed.

즉, 상기 조합상태유닛(120)과 상태유닛(130)은 서로 이벤트 라인(event line)에 의하여 연결되며, 상기 조합액션유닛(140)과 액션유닛(150)은 서로 흐름 라인(flow line)에 의하여 연결된다.That is, the combination state unit 120 and the state unit 130 are connected to each other by an event line, and the combination action unit 140 and the action unit 150 are connected to each other in a flow line. Is connected.

상기 서비스(110)는 시작 상태유닛(start state unit)과 종료 상태유닛(end state unit)을 포함하며, 시작 상태유닛에서 시작하여 종료 상태유닛에서 종료된다.  The service 110 includes a start state unit and an end state unit, starting at the start state unit and ending at the end state unit.

일반 사용자는 상기 유닛이 구현된 GUI 방식으로 로봇의 서비스 제작이 가능하다. 즉, 상기 각 유닛은 화면의 소정 부분에 위치하여, 사용자가 드래그 앤 드랍(drag and drop) 방식으로 사용하여 각 유닛을 화면상에 배치할 수 있으며, 사용자는 각 유닛을 이벤트 라인 또는 논리적 조건에 의한 흐름 라인으로 연결하여 자신이 원하는 서비스의 제작을 수행할 수 있다. The general user can create a service of the robot in a GUI manner in which the unit is implemented. That is, each unit is located in a predetermined portion of the screen, and the user can arrange each unit on the screen by using a drag and drop method, and the user places each unit on an event line or a logical condition. By connecting to the flow line by the user can perform the production of the desired service.

이하 도 2 내지 도 6을 참조하여, 상기 요소를 이용한 실제 로봇 서비스 제작에 대한 바람직한 실시예를 설명한다.2 to 6, a preferred embodiment of actual robot service production using the above elements will be described.

도 2는 'Cometome' 서비스를 호출하는 프로그램의 실시예로서, 시작 상태유닛(210)에서 리모콘에 의한 버튼 클릭의 이벤트가 발생할 경우 'Cometome' 서비스(220)가 수행된다. 이후 서비스가 성공적으로 수행된 경우 종료 상태유닛(230)에 서 서비스가 종료된다.2 is an embodiment of a program for calling a 'Cometome' service, the 'Cometome' service 220 is performed when an event of a button click by the remote control in the start state unit 210 occurs. After the service is successfully performed, the service is terminated in the termination state unit 230.

상기 'Cometome' 서비스(220)의 구성은 도 3에 도시된 바와 같이, 시작 상태유닛(310), 이름호출(namecalled) 조합상태유닛(320), 완료(complete) 상태유닛(330), 도움제공(MayIHelpYou) 조합액션유닛(340) 및 도움제공 액션유닛(342), 헤드터치(head touched) 상태유닛(350), 이동종료(stopComeToMe) 조합액션유닛(360) 및 TTS실행 액션유닛(362), 종료(end) 액션유닛(370)을 포함하여 구성된다.The configuration of the 'Cometome' service 220 is, as shown in Figure 3, the start state unit 310, the named called (state) combination state unit 320, complete state unit 330, providing assistance MayIHelpYou combination action unit 340 and help action unit 342, head touched state unit 350, stopComeToMe combination action unit 360 and TTS execution action unit 362, End action unit 370 is configured to include.

시작 상태유닛(310)에서 로봇의 이름이 호출될 경우, 이름호출 조합상태유닛(320)으로 로봇의 상태가 변경된다. 이후 음성 센서에 의한 검출이 일어날 경우, 완료 상태유닛(330)으로 로봇의 상태가 변경되고, 도움제공 조합액션유닛(340)에 정의된 서비스(342)가 실행된다. 또는 로봇의 머리에 사용자에 의한 반응이 검출될 경우, 헤드터치 상태유닛(350)으로 로봇의 상태가 변경되고, 이동종료 조합서비스(360) 유닛에 정의된 서비스가 실행된다. 상기의 서비스가 실행된 이후, 종료 상태유닛(370)으로 이동하여 'Cometome' 서비스(220)가 종료된다.When the name of the robot is called in the start state unit 310, the state of the robot is changed to the name call combination state unit 320. Then, when the detection by the voice sensor occurs, the state of the robot is changed to the completion state unit 330, and the service 342 defined in the assistance providing action unit 340 is executed. Alternatively, when a reaction by the user is detected at the head of the robot, the state of the robot is changed to the head touch state unit 350, and the service defined in the movement termination combination service 360 unit is executed. After the above service is executed, the end state unit 370 moves to the 'Cometome' service 220.

상기 이름호출 조합상태유닛(320)은 도 4에 도시된 바와 같이, 시작 상태유닛(410), 사람찾기(SearchHuman) 조합액션유닛(420) 및 특정 조건이 사실일 때까지 반복실행되는 액션유닛(430), 로봇에 의하여 사람의 얼굴이 감지된 경우에 상태가 전이되는 얼굴감지(FaceDetected) 상태유닛(440), 상기 얼굴감지 상태유닛으로 로 봇의 상태가 전이된 경우 실행되는 사람으로이동(MoveToHuman) 조합액션유닛(450), 그리고 상기 사람으로이동 조합액션유닛 내에 포함된 헤드회전 액션유닛(452), 바퀴회전 액션유닛(454), 바퀴이동 액션유닛(456)을 포함하여 구성된다.As shown in FIG. 4, the name call combination state unit 320 may include a start state unit 410, a SearchHuman combination action unit 420, and an action unit repeatedly executed until a specific condition is true. 430), a face detection state unit 440 in which a state is transferred when a face of the person is detected by the robot, and a person who is executed when the state of the robot is transferred to the face detection state unit (MoveToHuman). The combination action unit 450, and the head movement action unit 452, the wheel rotation action unit 454, the wheel movement action unit 456 included in the combination action unit moving to the person.

상기 이름호출 조합상태유닛(320)이 시작되면, 사람찾기 조합액션유닛(420)을 호출하여 사람을 찾는다. 로봇은 팬을 회전시켜 머리(head)를 회전하면서 호출한 사람을 카메라 등의 입력 수단을 통하여 찾게 되고, 이때 과도한 동작을 방지하기 위해 한번 이동 후 3초간 쉬게 설정되어 있다. 또한, 상기와 같은 동작을 원하는 사람을 찾을 때까지(즉, 조건이 참이 될 때까지) 반복한다. When the name call combination state unit 320 is started, the person finder combination action unit 420 is called to find a person. The robot rotates the fan and rotates the head to find the calling person through an input means such as a camera. At this time, the robot is set to rest for 3 seconds after moving once to prevent excessive operation. It also repeats until it finds the person who wants the above behavior (ie, until the condition is true).

이후 사람의 얼굴이 감지된 경우에, 사람으로이동 조합액션유닛(450)을 호출하여, 호출한 사람쪽으로 이동하게 되며, 이때 움직이는 순서는 로봇의 머리를 회전하고(452) 바퀴의 방향을 머리의 방향에 맞춘 후(454) 바퀴를 동작하여 사람의 방향으로 전진하게 된다(456). Then, when the face of the person is detected, by calling the combination action unit 450 to move to the person, to move toward the calling person, the movement order rotates the head of the robot (452) the direction of the head of the head After adjusting to the direction (454) by operating the wheel to move in the direction of the person (456).

도 5는 도 4에 도시된 이름호출 조합상태유닛에서, 사람찾기 조합액션유닛(420)과 사람으로이동 조합서비스 유닛(450)에서 공유되는 변수인 각도를 나타내는 PanAngle(510, 512)이 추가되고, 사람으로이동 조합서비스 유닛(450) 내의 헤드회전 액션유닛(452)과 바퀴회전 액션유닛(454)이 동시에(concurrent) 실행됨(520)을 나타낸 도면이다.5 is a PanAngle (510, 512) indicating the angle that is a variable that is shared in the person search combination action unit 420 and the move to person combination service unit 450 in the name call combination state unit shown in FIG. The head rotation action unit 452 and the wheel rotation action unit 454 in the moving person combination service unit 450 are concurrently executed (520).

상기와 같은 과정은 유닛의 추가와 마찬가지로 GUI 환경에서 실행되며, 사용자는 마우스의 드래그 및 키보드를 이용한 설정 값의 입력 등을 통하여 간단히 프 로그램의 추가 및 변경이 가능하다. 즉, 자신이 동시에 실행하고자 하는 유닛을 마우스 또는 키보드를 이용하여 그룹 지정 형태로 설정함으로써, 상기와 같은 설정이 가능하게 된다.The above process is executed in a GUI environment similar to the addition of a unit, and the user can simply add or change a program by dragging a mouse and inputting a setting value using a keyboard. That is, by setting the unit to be executed at the same time in a group designation form using a mouse or a keyboard, the above setting is possible.

도 6은 상기에서 설명한 'Cometome' 서비스의 상태유닛 또는 조합상태유닛을 나타낸 도면이다. 시작 상태유닛(610)에서 시작하여 이름호출 조합상태유닛(620)에서 호출자의 얼굴을 감지하고(622), 음성 신호(630) 또는 로봇의 머리에 촉각이 감지될 때까지(640) 이동하여 'Cometome' 서비스를 수행하게 된다.6 is a view showing a state unit or a combination state unit of the 'Cometome' service described above. Starting from the start state unit 610, the name call combination state unit 620 detects the caller's face (622), and moves until the tactile sense is detected (640) on the voice signal 630 or the head of the robot and moves to ' To execute the Cometome 'service.

도 7은 동시적 실행을 포함하는 다이어그램 프로그램을 나타낸다. 전진이동 조합액션유닛(710)은 헤드이동 액션유닛(712), TTS실행(이동중) 액션유닛(714), 팔이동 액션유닛(716), 바퀴이동 액션유닛(718), TTS실행(이동완료) 액션유닛(719)을 포함하며 구성되며, 이때 헤드이동 액션유닛(712), TTS실행(이동중) 액션유닛(714), 팔이동 액션유닛(716)은 시계 아이콘에 의한 그룹으로 지정되어 동시에(concurrent) 실행되게 된다.7 shows a diagram program including concurrent execution. The forward movement combination action unit 710 includes the head movement action unit 712, the TTS execution (moving) action unit 714, the arm movement action unit 716, the wheel movement action unit 718, and the TTS execution (movement completion). It includes and comprises an action unit 719, wherein the head movement action unit 712, TTS execution (moving) action unit 714, arm movement action unit 716 is designated as a group by the clock icon (concurrent) Will be executed.

상기와 같이 로봇서비스 제작 수단에 의해 작성된 프로그램은 확장성 생성 언어(XML)형식으로 저장된다. 이후 상기 로봇서비스 설치 수단에 의하여 타켓 로봇에 설치(deploy)되며, 설치방식은 유선 및 무선 모두 가능하다. 이후 상기 로봇서비스 실행 수단은 상기 마크업 언어 형식의 프로그램을 해석하고 실행하여, 실제로 로봇의 동작을 제어한다.The program created by the robot service manufacturing means as described above is stored in the extensible generation language (XML) format. Thereafter, the robot service is installed in the target robot by the installation means, and the installation method may be both wired and wireless. The robot service execution means then interprets and executes the markup language type program to actually control the operation of the robot.

상기와 같은 확장성 생성언어(XML)에 의해 작성된 프로그램은 아래와 같은 실례를 갖는다.A program written by the extensibility generation language (XML) as described above has the following example.

<프로그램의 실례><Example of Program>

<?xml version="1.0" encoding="euc-kr"?><? xml version = "1.0" encoding = "euc-kr"?>

<defservice><defservice>

<information><information>

<name>cometome</name><name> cometome </ name>

<description>Come to me service</description><description> Come to me service </ description>

<version>000.000.007</version><version> 000.000.007 </ version>

<author/><author />

</information></ information>

<declare><declare>

<data><data>

<property>variable</property><property> variable </ property>

<name>PanAngle</name><name> PanAngle </ name>

<datatype>int</datatype><datatype> int </ datatype>

<scope>service</scope><scope> service </ scope>

</data></ data>

<event><event>

<name>Invocation</name><name> Invocation </ name>

<description>Invocation event for Cometome service</description><description> Invocation event for Cometome service </ description>

</event></ event>

</declare></ declare>

<state><state>

<type>start</type><type> start </ type>

<id>1</id><id> 1 </ id>

<name>Start</name><name> Start </ name>

<events><events>

<event><event>

<serviceinterface>true</serviceinterface><serviceinterface> true </ serviceinterface>

<name>Invocation</name><name> Invocation </ name>

<!--ComeToMe--><!-ComeToMe->

<changeto>2</changeto><changeto> 2 </ changeto>

</event></ event>

</events></ events>

</state></ state>

<state><state>

<type>compositestateunit</type><type> compositestateunit </ type>

<id>2</id><id> 2 </ id>

<name>ComeToMe</name><name> ComeToMe </ name>

<events><events>

<event><event>

<name>HeadTouch</name><name> HeadTouch </ name>

<type>External</type><type> External </ type>

<basis><basis>

<su><su>

<name>TouchSignal</name><name> TouchSignal </ name>

<arguments><arguments>

<argument><argument>

<property>eventdata</property><property> eventdata </ property>

<name>dwDeviceId</name><name> dwDeviceId </ name>

<datatype>int</datatype><datatype> int </ datatype>

<value>1</value><value> 1 </ value>

</argument></ argument>

</arguments></ arguments>

</su></ su>

</basis></ basis>

<!--HeadTouched--><!-HeadTouched->

<changeto>3</changeto> <changeto> 3 </ changeto>

</event></ event>

<event><event>

<name>SonarSensorDetect</name><name> SonarSensorDetect </ name>

<type>External</type><type> External </ type>

<basis><basis>

<su><su>

<name>SonarSensorSignal</name><name> SonarSensorSignal </ name>

</su></ su>

</basis></ basis>

<!--HeadTouched--><!-HeadTouched->

<changeto>3</changeto> <changeto> 3 </ changeto>

</event></ event>

<event><event>

<name>FaceDetect</name><name> FaceDetect </ name>

<type>External</type><type> External </ type>

<basis><basis>

<su><su>

<name>FaceDetect</name><name> FaceDetect </ name>

<assign><assign>

<source><source>

<property>eventdata</property><property> eventdata </ property>

<type>int</type><type> int </ type>

<name>nPanAngle</name><name> nPanAngle </ name>

</source></ source>

<target><target>

<property>variable</property><property> variable </ property>

<type>int</type><type> int </ type>

<name>PanAngle</name><name> PanAngle </ name>

</target></ target>

</assign></ assign>

</su></ su>

</basis></ basis>

<!--FaceDetected--><!-FaceDetected->

<changeto>5</changeto> <changeto> 5 </ changeto>

</event></ event>

</events></ events>

<do><do>

<su><su>

<name>SearchHuman</name><name> SearchHuman </ name>

<sutype>userdefined</sutype><sutype> userdefined </ sutype>

</su></ su>

</do></ do>

</state></ state>

<state><state>

<type>stateunit</type><type> stateunit </ type>

<id>3</id><id> 3 </ id>

<name>HeadTouched</name><name> HeadTouched </ name>

<events><events>

<event><event>

<name>SU(success)</name><name> SU (success) </ name>

<type>SU</type><type> SU </ type>

<basis><basis>

<status>success</status><status> success </ status>

</basis></ basis>

<!--End--><!-End->

<changeto>6</changeto><changeto> 6 </ changeto>

</event></ event>

</events></ events>

<do><do>

<su><su>

<name>StopComeToMe</name><name> StopComeToMe </ name>

<sutype>userdefined</sutype><sutype> userdefined </ sutype>

</su></ su>

</do></ do>

</state></ state>

<state><state>

<type>stateunit</type><type> stateunit </ type>

<id>4</id><id> 4 </ id>

<name>Complete</name><name> Complete </ name>

<events><events>

<event><event>

<name>SU(success)</name><name> SU (success) </ name>

<type>SU</type><type> SU </ type>

<basis><basis>

<status>success</status><status> success </ status>

</basis></ basis>

<!--End--><!-End->

<changeto>6</changeto><changeto> 6 </ changeto>

</event></ event>

</events></ events>

<do><do>

<su><su>

<name>MayIHelpYou</name><name> MayIHelpYou </ name>

<sutype>userdefined</sutype><sutype> userdefined </ sutype>

</su></ su>

</do></ do>

</state></ state>

<state><state>

<type>stateunit</type><type> stateunit </ type>

<id>5</id><id> 5 </ id>

<parentid>2</parentid><parentid> 2 </ parentid>

<name>FaceDetected</name><name> FaceDetected </ name>

<events><events>

<event><event>

<name>SU(success)</name><name> SU (success) </ name>

<type>SU</type><type> SU </ type>

<basis><basis>

<status>success</status><status> success </ status>

</basis></ basis>

<!--ComeToMe--><!-ComeToMe->

<changeto>2</changeto><changeto> 2 </ changeto>

</event></ event>

</events></ events>

<do><do>

<su><su>

<name>MoveToHuman</name><name> MoveToHuman </ name>

<sutype>userdefined</sutype><sutype> userdefined </ sutype>

</su></ su>

</do></ do>

</state></ state>

<state><state>

<type>end</type><type> end </ type>

<id>6</id><id> 6 </ id>

<name>End</name><name> End </ name>

<events/><events />

</state></ state>

</defservice></ defservice>

상기 작성 실례에는 'Cometome' 서비스를 수행하기 위한 XML 규격의 프로그램을 나타낸다. 이와 같은 프로그램은 다이어그램이 생성되도록 하기 위한 결과로의 XML 규격이며, 이러한 프로그램에 의해 생성된 다이어그램은 전술한 것과 같이 사용자가 로봇을 제어하기 위한 명령어 제작을 지원하게 된다.The above example illustrates an XML standard program for performing a 'Cometome' service. Such a program is an XML specification as a result for the diagram to be generated, and the diagram generated by the program supports the production of a command for the user to control the robot as described above.

비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명의 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.Although some embodiments of the invention have been shown and described, it will be apparent to those skilled in the art that the embodiments may be modified without departing from the spirit or spirit of the invention. . It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.

도 1은 본 발명에서 사용되는 로봇서비스 제작을 위한 다이어그램의 구성요소를 나타낸 도면,1 is a view showing the components of the diagram for manufacturing a robot service used in the present invention,

도 2는 본 발명의 일 실시예에 따른 'Cometome' 서비스를 호출하는 프로그램,2 is a program for calling a 'Cometome' service according to an embodiment of the present invention;

도 3은 'Cometome' 서비스의 구성을 나타낸 도면,3 is a view showing the configuration of a 'Cometome' service,

도 4는 이름호출 조합상태유닛의 구성을 나타낸 도면,4 is a diagram showing the configuration of a name-call combination state unit;

도 5는 이름호출 조합상태유닛의 구성에서 변수의 추가와 동시실행 서비스의 추가를 나타낸 도면,5 is a view showing addition of a variable and addition of a concurrency service in the configuration of a name-call combination state unit;

도 6은 'Cometome' 서비스를 구성하는 상태유닛 및 조합상태유닛을 나타낸 도면,6 is a view showing a state unit and a combination state unit constituting a 'Cometome' service,

도 7은 동시실행 서비스의 구성을 나타낸 도면이다.7 is a diagram illustrating a configuration of a concurrent execution service.

<도면의 주요부호에 대한 설명><Description of Major Symbols in Drawing>

110 : 서비스 120 : 조합상태유닛110: service 120: combination status unit

130 : 상태유닛 140 : 조합액션유닛130: state unit 140: combination action unit

150 : 액션유닛 150: action unit

Claims (9)

로봇의 서비스를 제작하기 위한 마크업 언어로 구성되는 다이어그램 형식의 로봇서비스 제작 수단과, 상기 로봇서비스 제작 수단에 의하여 작성된 프로그램을 로봇에 설치하기 위한 로봇서비스 설치 수단, 및 상기 설치된 프로그램을 해석하고 실행하기 위한 로봇서비스 실행 수단을 포함하며,Analyze and execute a robot service production means in a diagram form consisting of a markup language for producing a service of a robot, a robot service installation means for installing a program created by the robot service production means on a robot, and the installed program. It includes a robot service execution means for 상기 로봇 서비스 제작 수단은,The robot service production means, 소정 이벤트에 의해 상태가 전이되며 로봇의 현재 상태를 나타내는 상태유닛; 및 소정 흐름에 의해 연결되며 로봇의 특정 행동을 지시하는 액션유닛;을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하되, A state unit transitioning by a predetermined event and indicating a current state of the robot; And an action unit connected by a predetermined flow and indicative of a specific action of the robot; 상기 로봇 서비스 제작 수단은,The robot service production means, 적어도 하나 이상의 액션유닛을 포함하여 구성되는 조합액션유닛; 및Combination action unit comprising at least one action unit; And 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 조합상태유닛을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하며,Providing a combined state unit including at least one state unit, an action unit, or a combined action unit in a graphical user interface (GUI) manner, 상기 로봇서비스 제작 수단의 액션유닛은 특정 상태유닛에 종속되어, 상기 특정 상태유닛으로 로봇의 상태가 전이된 경우에 액션유닛에 정의된 내용이 실행되고, The action unit of the robot service producing means is dependent on a specific state unit, and the contents defined in the action unit are executed when the state of the robot is transferred to the specific state unit. 상기 로봇서비스 제작 수단은, The robot service production means, 적어도 하나 이상의 상태유닛, 조합상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 서비스; 를 그래픽 사용자 인터페이스(GUI) 방식으로 제공하는 것을 특징으로 하는 다이어그램으로 제작된 명령어에 의해 구동하는 로봇 제어 시스템.A service comprising at least one state unit, a combined state unit, an action unit, or a combined action unit; Robot control system driven by a command produced by a diagram, characterized in that to provide a graphical user interface (GUI) method. 로봇의 행동을 제어하기 위한 로봇의 서비스를 제작하기 위한 마크업 언어로 구성되는 다이어그램 형식의 로봇서비스 제작 수단이 프로그램의 형태로 저장되며, 이를 이용하여 로봇을 제어하는 방법에 있어서,In the method of controlling a robot using the same, a diagram of a robot service manufacturing means in a form of a program composed of a markup language for producing a service of a robot for controlling a robot's behavior is stored. 상기 로봇 제어 프로그램은,The robot control program, 소정 이벤트에 의해 상태가 전이되며 로봇의 현재 상태를 나타내는 상태유닛; 및 소정 흐름에 의해 연결되며 로봇의 특정 행동을 지시하는 액션유닛;을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하여 사용자가 드래그 앤 드랍 방식으로 로봇의 행동 수행 명령어를 제작하되, A state unit transitioning by a predetermined event and indicating a current state of the robot; And an action unit connected by a predetermined flow and instructing a specific action of the robot; by providing a graphical user interface (GUI) method, a user can create a command to perform the action of the robot in a drag and drop manner. 상기 로봇 제어 프로그램은, 적어도 하나 이상의 액션유닛을 포함하여 구성되는 조합액션유닛; 및 적어도 하나 이상의 상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 조합상태유닛을 그래픽 사용자 인터페이스(GUI) 방식으로 제공하며, The robot control program may include a combination action unit including at least one action unit; And providing a combined state unit including at least one state unit, an action unit, or a combined action unit in a graphical user interface (GUI) manner. 상기 액션유닛은 특정 상태유닛에 종속되어, 상기 특정 상태유닛으로 로봇의 상태가 전이된 경우에 액션유닛에 정의된 내용이 실행되고, The action unit is dependent on a specific state unit, and the contents defined in the action unit are executed when the state of the robot is transferred to the specific state unit, 상기 로봇 제어 프로그램은,The robot control program, 적어도 하나 이상의 상태유닛, 조합상태유닛, 액션유닛, 또는 조합액션유닛을 포함하여 구성되는 서비스; 를 그래픽 사용자 인터페이스(GUI) 방식으로 제공하며, 상기 로봇 제어 프로그램은 확장성 생성 언어(XML)형식으로 저장되어 다이어그램이 생성되도록 하기 위한 결과로의 XML 규격이 되는 것을 특징으로 하는 다이어그램으로 제작된 명령어에 의해 구동하는 로봇 제어방법.A service comprising at least one state unit, a combined state unit, an action unit, or a combined action unit; Provides a graphical user interface (GUI) method, wherein the robot control program is stored in an extensible generation language (XML) format and is an XML standard as a result for generating a diagram. Robot control method driven by. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020080062032A 2008-06-27 2008-06-27 Robot control system of driving by command composed with diagram and method thereof KR101007652B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080062032A KR101007652B1 (en) 2008-06-27 2008-06-27 Robot control system of driving by command composed with diagram and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080062032A KR101007652B1 (en) 2008-06-27 2008-06-27 Robot control system of driving by command composed with diagram and method thereof

Publications (2)

Publication Number Publication Date
KR20100001927A KR20100001927A (en) 2010-01-06
KR101007652B1 true KR101007652B1 (en) 2011-01-13

Family

ID=41812177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080062032A KR101007652B1 (en) 2008-06-27 2008-06-27 Robot control system of driving by command composed with diagram and method thereof

Country Status (1)

Country Link
KR (1) KR101007652B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101119030B1 (en) * 2010-05-12 2012-03-13 (주) 퓨처로봇 Method of for editing scenario of intelligent robot and computer readable medium thereof, intelligent robot device and service method of intelligent robot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301413A (en) * 1993-01-15 1994-10-28 Natl Res Council Of Canada System and method for control of programmable device
KR20070061326A (en) * 2005-12-09 2007-06-13 한국전자통신연구원 Method for supporting robot application programming and programming tool for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301413A (en) * 1993-01-15 1994-10-28 Natl Res Council Of Canada System and method for control of programmable device
KR20070061326A (en) * 2005-12-09 2007-06-13 한국전자통신연구원 Method for supporting robot application programming and programming tool for the same

Also Published As

Publication number Publication date
KR20100001927A (en) 2010-01-06

Similar Documents

Publication Publication Date Title
JP2005018766A5 (en)
CN105912241A (en) Method and device for man-machine interaction, and terminal
CN109491562A (en) A kind of interface display method and terminal device of voice assistant application program
KR102212352B1 (en) Method and apparatus for controlling robots
KR101007652B1 (en) Robot control system of driving by command composed with diagram and method thereof
US9665272B2 (en) Touch gesture for connection of streams in a flowsheet simulator
Vanacken et al. NiMMiT: A notation for modeling multimodal interaction techniques
US7721273B1 (en) Controller equipment model systems and methods
KR20170065405A (en) Visualization and Combinations of circular or closed curve shaped loop structure for designing graphical computer language and user interface device
CN106371818B (en) Method for processing user-level events to program application program
KR20060087883A (en) A method of generating a component based on xml for user interface
Feuerstack et al. Building multimodal interfaces out of executable, model-based interactors and mappings
JP6939662B2 (en) Programming support device, programming support method and program
Seiger et al. A Framework for Rapid Prototyping of Multimodal Interaction Concepts.
CN113656029B (en) Method for responding to touch screen event by Qt application under VxWorks operating system
JPH05216641A (en) Graphical user interface control program generator
KR20110064895A (en) Task implementation method based on behavior in robot system
EP3798821B1 (en) Gui controller design assistance device, remote control system, and program
JP6684513B1 (en) GUI controller design support device, remote control system, and program
JPH07219753A (en) Conversational program development support system
JP2012156600A (en) Remote operation system, and operation method of remote operation system
CN109783152B (en) Physical hardware control method, device and computer readable storage medium
Feuerstack et al. Engineering device-spanning, multimodal web applications using a model-based design approach
JP2005353092A (en) Process control system
Feuerstack et al. Designing and executing multimodal interfaces for the web based on state chart XML

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170105

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 8