KR101337849B1 - Mapping Method of Robot Control Module based on File - Google Patents

Mapping Method of Robot Control Module based on File Download PDF

Info

Publication number
KR101337849B1
KR101337849B1 KR1020120043356A KR20120043356A KR101337849B1 KR 101337849 B1 KR101337849 B1 KR 101337849B1 KR 1020120043356 A KR1020120043356 A KR 1020120043356A KR 20120043356 A KR20120043356 A KR 20120043356A KR 101337849 B1 KR101337849 B1 KR 101337849B1
Authority
KR
South Korea
Prior art keywords
robot
actuator
control
information
android
Prior art date
Application number
KR1020120043356A
Other languages
Korean (ko)
Other versions
KR20130120249A (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 KR1020120043356A priority Critical patent/KR101337849B1/en
Publication of KR20130120249A publication Critical patent/KR20130120249A/en
Application granted granted Critical
Publication of KR101337849B1 publication Critical patent/KR101337849B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication

Abstract

본 발명은 로봇 제어 소프트웨어가 번거로운 수정 없이 다양한 로봇 위에서 동작할 수 있도록 하는 방법을 제시한다. 예를 들어, 로봇 소프트웨어 개발자가 공룡 로봇을 제어하기 위한 소프트웨어를 만들었고 이를 휴먼 로봇에 탑재하여 사용하려고 한다. 일반적인 경우에는 기존의 소프트웨어를 수정하여 로봇 위에서 실행 가능한 이미지 형태로 만드는 과정이 필요하기 때문에 소프트웨어 개발자 입장에서는 다른 구조의 로봇을 제어하기 위해 매번 번거로운 작업을 해야 한다. 하지만 본 기술을 이용하면 기존의 로봇 제어 소프트웨어로 다른 구조의 로봇을 제어 할 때, 소프트웨어의 수정 없이 로봇 설정 파일의 간단한 수정을 통해 손쉽게 이용 가능하다.The present invention provides a method by which robot control software can operate on various robots without cumbersome modifications. For example, a robot software developer created software to control a dinosaur robot and wants to use it on a human robot. In general, it is necessary to modify existing software to make an executable image on a robot. Therefore, a software developer has to perform a cumbersome task every time to control a robot having a different structure. However, using this technology, when controlling the robot of other structure with the existing robot control software, it is easily available through simple modification of the robot configuration file without modification of the software.

Figure R1020120043356
Figure R1020120043356

Description

파일 기반 로봇 제어 모듈 매핑 기법{Mapping Method of Robot Control Module based on File}Mapping Method of Robot Control Module based on File}

로봇 제어 방법, 특히 복잡한 하드웨어 구조를 가진 다양한 로봇들의 움직임을 제어하는 방법과 기존에 작성된 SW의 이식성을 향상 시키는 방법 및 장치에 관한 것이다.The present invention relates to a robot control method, in particular, a method for controlling the movement of various robots having a complicated hardware structure, and a method and an apparatus for improving the portability of a conventional SW.

종래 기술에서는 로봇 제어 SW는 제어하려는 로봇의 HW적 특성을 고려하고 다양한 움직임을 각각 정의하여 해당 로봇에 의존적인 방식으로 작성되었다.In the prior art, the robot control SW was created in a manner dependent on the robot by considering various HW characteristics of the robot to be controlled and defining various movements.

이러한 방법으로 작성된 로봇 제어 SW는 이기종 HW로 구성된 복잡한 로봇들 간에 이식성과 제어 정밀도를 떨어뜨리고, SW 작성 비용을 증가시킨다.Robot-controlled SW written in this way reduces portability and control accuracy between complex robots composed of heterogeneous HWs, and increases the cost of SW creation.

따라서, 공공기관 서비스 로봇, 토이 로봇, 산업용 로봇에 적용되는 지능형 서비스 로봇, 로봇 제어 SW, 이기종 로봇 프로그래밍 분야에 있어서 SW로 제어 가능한 로봇을 대상으로 제시하는 로봇 설정 파일을 작성하고, 제시하는 기법을 사용하여 기존에 작성된 로봇용 SW의 실행 방법을 사용자에게 제공하는 기술이 요구된다.Therefore, in the field of intelligent service robot, robot control SW, and heterogeneous robot programming applied to public service robots, toy robots, industrial robots, and other robots that can be controlled by SW, a robot configuration file is proposed and presented. There is a need for a technology that provides a user with a method of executing an existing SW for robot.

제안하는 발명은 액추에이터를 제어의 단위로 하여 로봇 제어 SW가 번거로운 수정 없이 다양한 로봇 위에서 동작할 수 있도록 하는 파일 기반 매핑 방법을 제시한다. 예를 들어, 로봇 SW 개발자가 공룡 로봇을 제어하기 위한 SW를 만들었고 이를 휴먼 로봇에 탑재하여 사용하려고 한다. 일반적인 경우에는 기존의 SW를 수정하여 로봇 위에서 실행 가능한 이미지 형태로 만드는 과정이 필요하기 때문에 SW 개발자 입장에서는 다른 구조의 로봇을 제어하기 위해 매번 번거로운 작업을 해야 한다. 하지만 본 발명을 이용하면 기존의 로봇 제어 SW로 다른 구조의 로봇을 제어 할 때, 소프트웨어의 수정 없이 로봇 설정 파일의 간단한 수정을 통해 손쉽게 이용 가능하다. 본 발명은 개발자가 로봇 제어 SW를 작성하기 위해 필요한 어플리케이션 프로그래밍 인터페이스와 로봇 액추에이터와 매핑에 관한 정보를 포함하는 로봇 설정 파일, 파일 기반 매핑 알고리즘으로 구성된다.The proposed invention proposes a file-based mapping method that allows the robot control SW to operate on various robots without cumbersome modifications using the actuator as a control unit. For example, a robot SW developer created a SW to control a dinosaur robot and wants to use it on a human robot. In general, it is necessary to modify existing SW and make it into an executable image form on the robot. Therefore, SW developers need to do cumbersome tasks every time to control robots of different structures. However, if the present invention is used to control the robot of another structure by the existing robot control SW, it is easily available through simple modification of the robot configuration file without modification of the software. The present invention consists of an application programming interface required for a developer to create a robot control SW, a robot configuration file containing information about the robot actuator and mapping, and a file-based mapping algorithm.

로봇 프로그램 개발자는 로봇 제어를 위해 제공되는 API(Application Programming Interface)를 이용하여 쉽고 빠르게 로봇 제어용 안드로이드 프로그램을 작성하여 로봇을 제어하는 방법 및 장치를 제공한다.The robot program developer provides a method and apparatus for controlling a robot by quickly and easily creating an Android program for robot control using an API (Application Programming Interface) provided for robot control.

본 발명의 일실시예에 따르면, 액추에이터 정보에 따라 제어 환경을 구성하는 단계, 상기 액추에이터의 현재 상태를 검출하는 단계, 상기 액추에이터의 동작을 설정하는 단계, 로봇 제어 요청을 전송받는 단계, 상기 제어 요청에 따라 상기 액추에이터를 제어하는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다.According to one embodiment of the invention, the step of configuring a control environment according to the actuator information, detecting the current state of the actuator, setting the operation of the actuator, receiving a robot control request, the control request According to the present invention, it is possible to provide a robot control method comprising the step of controlling the actuator.

다른 일실시예에 따르면, 상기 액추에이터 정보에 따라 제어 환경을 구성하는 단계는, 액추에이터 정보를 포함하는 로봇 설정 파일을 생성하는 단계, 상기 액추에이터를 추상화된 인터페이스에 매핑시키는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다.According to another embodiment, configuring the control environment according to the actuator information may include generating a robot configuration file including actuator information and mapping the actuator to an abstracted interface. Can provide.

또 다른 일실시예에 따르면, 상기 제어 요청에 따라 상기 액추에이터를 제어하는 단계는, 상기 제어 요청에 대응하는 상기 액추에이터의 동작을 수행하는 단계인 것을 특징으로 하는 로봇 제어 방법을 제공할 수 있다.According to another embodiment, the step of controlling the actuator according to the control request, may provide a robot control method, characterized in that for performing the operation of the actuator corresponding to the control request.

본 발명의 일실시예에 따른 안드로이드 기반 로봇은 액추에이터, 통신부, 메모리 및 상기 메모리에 저장되어 있는 프로그램을 실행하는 처리기를 포함하고, 상기 프로그램은, 액추에이터 정보에 따라 제어 환경을 구성하고, 상기 액추에이터의 현재 값을 획득하며, 상기 액추에이터의 동작을 설정하고, 로봇 제어 요청을 전송받으며, 상기 제어 요청에 따라 상기 액추에이터를 제어하는 명령어를 포함할 수 있다.An android-based robot according to an embodiment of the present invention includes an actuator, a communication unit, a memory, and a processor for executing a program stored in the memory, wherein the program configures a control environment according to the actuator information, And obtaining a current value, setting an operation of the actuator, receiving a robot control request, and controlling the actuator according to the control request.

다른 실시예에 따른 안드로이드 기반 로봇에서 상기 액추에이터 정보에 따라 제어 환경을 구성하는 명령어는, 액추에이터 정보를 포함하는 로봇 설정 파일을 생성하고, 상기 액추에이터를 인터페이스에 매핑시키는 명령어를 포함할 수 있다.In the Android-based robot according to another embodiment, the command for configuring a control environment according to the actuator information may include a command for generating a robot setting file including actuator information and mapping the actuator to an interface.

또 다른 실시예에 따른 안드로이드 기반 로봇에서 상기 제어 요청에 따라 상기 액추에이터를 제어하는 명령어는, 상기 제어 요청에 대응하는 상기 액추에이터의 동작을 수행하는 명령어인 것을 특징으로 할 수 있다.The command for controlling the actuator according to the control request in the android-based robot according to another embodiment may be a command for performing an operation of the actuator corresponding to the control request.

본 발명의 일실시예에 따라 작성된 로봇 제어 SW는 간단한 로봇 설정 파일의 수정만으로 다양하고 복잡한 이기종 로봇들 위에서 동작 가능하다.Robot control SW created according to an embodiment of the present invention can operate on a variety of complex heterogeneous robots simply by modifying a simple robot configuration file.

새로운 기종의 로봇에 대해 제어용 SW를 모두 재작성할 필요 없이 기존에 작성된 SW를 활용할 수 있기 때문에 SW 비용 측면에서 유용하다.It is useful in terms of SW cost because the existing SW can be utilized without having to rewrite all the control SW for the new model robot.

도 1은 본 발명의 일실시예에 있어서, 로봇, 안드로이드 장치 및 안드로이드 서비스 관리 서버의 관계를 개괄적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 있어서, 로봇의 액추에이터 매핑을 개괄적으로 나타낸 도면이다.
도 3은 본 발명의 일실시예에 있어서, 로봇과 안드로이드 장치의 소프트웨어 구조를 개괄적으로 나타낸 도면이다.
도 4는 본 발명의 일실시예에 있어서, 로봇의 액추에이터 제어 방법을 나타내기 위한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 로봇의 세부 구성을 도시한 블럭도이다.
1 is a diagram schematically illustrating a relationship between a robot, an Android device, and an Android service management server according to an embodiment of the present invention.
2 is a diagram schematically showing actuator mapping of a robot according to an exemplary embodiment of the present invention.
3 is a diagram schematically illustrating a software structure of a robot and an Android device according to one embodiment of the present invention.
4 is a flowchart illustrating an actuator control method of a robot according to an embodiment of the present invention.
5 is a block diagram showing a detailed configuration of a robot according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 있어서, 로봇(110), 안드로이드 장치(120) 및 안드로이드 서비스 관리 서버(130)의 관계를 개괄적으로 나타낸 도면이다. 본실시예에서는 안드로이드 서비스 관리 서버(130)를 통해 로봇(110)이 다수의 안드로이드 장치(120)가 각각 제공하는 상이한 서비스들을 종합적 혹은 직접적으로 이용하는 방법을 나타낸다. 안드로이드 장치들(120)은 안드로이드 서비스 관리 서버(130)에 안드로이드 장치의 기기 정보, 제공 가능한 서비스 정보, 실행 가능한 어플리케이션 정보를 등록하면, 로봇(110)이 안드로이드 서비스 관리 서버(130)로부터 안드로이드 서비스 혹은 어플리케이션 실행을 위한 정보를 제공 받아 해당하는 안드로이드 장치(120)를 이용 가능하도록 한다.1 is a diagram schematically illustrating a relationship between a robot 110, an Android device 120, and an Android service management server 130 according to an embodiment of the present invention. In this embodiment, the robot 110 uses the Android service management server 130 to collectively or directly use different services provided by the plurality of Android devices 120, respectively. When the Android devices 120 register the device information, the service information, and the executable application information of the Android device in the Android service management server 130, the robot 110 receives the Android service or the Android service from the Android service management server 130. It receives the information for executing the application to enable the corresponding Android device 120.

도 2는 본 발명의 일실시예에 있어서, 로봇의 액추에이터 매핑을 개괄적으로 나타낸 도면이다. 본실시예에서는, 로봇 제어 소프트웨어가 번거로운 수정 없이 다양한 로봇 위에서 동작할 수 있도록 하는 방법을 제시한다. 예를 들어, 로봇 소프트웨어 개발자가 공룡 로봇(220)을 제어하기 위한 소프트웨어를 만들었고 이를 휴먼 로봇(210)에 탑재하여 사용하려고 한다. 일반적인 경우에는 기존의 소프트웨어를 수정하여 로봇 위에서 실행 가능한 이미지 형태로 만드는 과정이 필요하기 때문에 소프트웨어 개발자 입장에서는 다른 구조의 로봇을 제어하기 위해 매번 번거로운 작업을 해야 한다. 하지만 본 기술을 이용하면 기존의 로봇 제어 소프트웨어로 다른 구조의 로봇을 제어 할 때, 소프트웨어의 수정 없이 로봇 설정 파일의 간단한 수정을 통해 손쉽게 이용 가능하다.2 is a diagram schematically showing actuator mapping of a robot according to an exemplary embodiment of the present invention. In this embodiment, we present a method that allows robot control software to operate on various robots without cumbersome modifications. For example, a robot software developer has created software for controlling the dinosaur robot 220 and intends to use it on the human robot 210. In general, it is necessary to modify existing software to make an executable image on a robot. Therefore, a software developer has to perform a cumbersome task every time to control a robot having a different structure. However, using this technology, when controlling the robot of other structure with the existing robot control software, it is easily available through simple modification of the robot configuration file without modification of the software.

여기서, 로봇 설정 파일에는 로봇 제어용 어플리케이션의 이름, 실제 로봇 제어 요소가 되는 액추에이터의 정보, 액추에이터 매핑 정보 등이 포함된다. 본 발명을 이용하여 로봇을 제어하기 위해서는 2개의 로봇 설정 파일이 필요하다. 하나는 로봇 제어 소프트웨어 개발자가 자신이 제어하려는 가상의 로봇에 대한 액추에이터 정보와 매핑 정보를 포함시키며, 다른 하나는 실제 로봇 하드웨어 플랫폼을 제공하는 제조사 측에서 로봇 제어를 위해 필요한 액추에이터 제어 정보를 포함시킨다.Here, the robot setting file includes the name of the robot control application, the information of the actuator that is the actual robot control element, the actuator mapping information, and the like. Two robot setting files are required to control the robot using the present invention. One includes the actuator information and mapping information for the virtual robot that the robot control software developer wants to control, and the other includes the actuator control information necessary for controlling the robot at the manufacturer providing the actual robot hardware platform.

액추에이터 매핑을 위한 액추에이터는 로봇의 관절 등과 같이 실제 로봇의 움직임을 제어하기 위한 하드웨어적 제어 요소이다. 로봇 제어용 소프트웨어에서는 2개의 로봇 설정 파일에 저장 되어 있는 액추에이터 정보를 기반으로 소프트웨어적 제어 모듈, 즉 각 로봇에 대한 ACT_1(211, 221), ACT_2(212, 222), ACT_3(213, 223), ACT_4(214, 224)들의 리스트를 생성한다. 제어 모듈들이 생성 되면 로봇 설정 파일에 있는 매핑 정보를 기반으로 2개의 제어 모듈 리스트 내의 요소들 간에 매핑이 이루어지고, 로봇 제어 소프트웨어에서는 매핑된 모듈만을 가지고 실제 로봇을 제어할 수 있게 된다. 이와 같이 본 기술을 통해 만들어진 로봇 제어 소프트웨어는 별도의 코드 수정 없이도 설정 파일의 매핑 정보만을 수정하여 다양한 하드웨어 구조를 가진 로봇 상에서 동작할 수 있다.The actuator for actuator mapping is a hardware control element for controlling the movement of the actual robot, such as a joint of the robot. In the robot control software, the software control module based on the actuator information stored in the two robot configuration files, ie ACT_1 (211, 221), ACT_2 (212, 222), ACT_3 (213, 223), ACT_4 for each robot. Generate a list of (214, 224). When the control modules are generated, mapping is performed between the elements in the two control module lists based on the mapping information in the robot configuration file, and the robot control software can control the actual robot using only the mapped modules. As such, the robot control software made through the present technology can operate on a robot having various hardware structures by modifying only mapping information of a configuration file without additional code modification.

본실시예에서는 공룡 로봇(220)의 머리에 해당하는 ACT_1(221)의 액추에이터와 휴먼 로봇(210)의 머리에 해당하는 ACT_1(211)의 액추에이터가 매핑되고, 공룡 로봇(220)의 다리에 해당하는 ACT_3(223)의 액추에이터와 휴먼 로봇(210)의 다리에 해당하는 ACT_3(213)의 액추에이터가 매핑될 수 있다.In this embodiment, the actuator of the ACT_1 (221) corresponding to the head of the dinosaur robot 220 and the actuator of the ACT_1 (211) corresponding to the head of the human robot 210 is mapped, corresponding to the leg of the dinosaur robot 220 The actuator of the ACT_3 223 and the actuator of the ACT_3 213 corresponding to the leg of the human robot 210 may be mapped.

도 3은 본 발명의 일실시예에 있어서, 로봇(310)과 안드로이드 장치(320)의 소프트웨어 구조를 개괄적으로 나타낸 도면이다.3 is a diagram schematically illustrating a software structure of the robot 310 and the Android device 320 according to an embodiment of the present invention.

Robot Service Interface(321)는 안드로이드 소프트웨어 개발자가 로봇(310)을 제어하기 위해 사용 가능하면서 단순하고 직관적인 인터페이스들로 구성된다. 본 컴포넌트를 통해 이용 가능한 안드로이드 서비스 인터페이스들은 다음과 같다. 안드로이드 장치(320)가 로봇(310)을 이용하기 위한 연결 인터페이스인 Connection, 안드로이드 장치(320)를 통해 로봇(310)에게 글자를 전달하면 로봇(310)이 이를 음성으로 출력하는 TTS와 안드로이드 장치(320)를 통해 로봇(310)에게 음성을 전달하면 로봇(310)이 이를 글자로 출력하는 STT 및 안드로이드 장치(320)가 로봇(310)에게 사진을 보내면 로봇(310)이 카메라를 통해 사진 속 대상을 인식하는 Vision에 대한 인터페이스인 Recognition, 안드로이드 장치(320)가 로봇(310)의 센서들에 대한 정보를 얻고, 로봇(310)의 특정 센서 값들을 조건으로 동작하는 이벤트를 설정하는 인터페이스인 Sensor, 안드로이드 장치(320)를 통해 로봇(310)이 사진, 동영상, 음성 등을 저장하고 출력하게 하는 인터페이스인 Multimedia, 로봇(310)의 카메라와 마이크에 대한 입력을 안드로이드 장치(320)를 통해 출력하는 인터페이스인 Streaming, 안드로이드 장치(320)를 통해 로봇(310)의 주행을 제어하는 인터페이스인 Running, 안드로이드 장치(320)를 통해 로봇(310)의 동작을 제어하는 인터페이스인 Motion이 있을 수 있다.Robot Service Interface 321 is composed of simple and intuitive interfaces that can be used by Android software developers to control robot 310. Android service interfaces available through this component are as follows. When the Android device 320 transmits a character to the robot 310 through a connection, a connection interface for using the robot 310, and the android device 320, the robot 310 outputs the voice to the TTS and the Android device ( When the voice is transmitted to the robot 310 through the robot 310, the robot 310 outputs the text to the robot, and the STT and the Android device 320 send the photo to the robot 310. Recognition, which is an interface for vision that recognizes a sensor, an interface for setting an event for which the Android device 320 obtains information about sensors of the robot 310 and sets an event to operate based on specific sensor values of the robot 310. Through the Android device 320, the robot 310 inputs inputs to the camera and microphone of the multimedia and the robot 310, which is an interface for storing and outputting pictures, videos, and voices. Streaming, which is an interface for outputting the solution, and Running, an interface for controlling the running of the robot 310 through the Android device 320, and Motion, an interface for controlling the operation of the robot 310 through the Android device 320, may be used. .

Android Service Manager(322)는 안드로이드 장치(320)가 제공하는 서비스 정보를 관리하며, 로봇(310)에게 안드로이드 장치(320)의 서비스를 직접적으로 제공해 주는 컴포넌트이다.The Android Service Manager 322 manages service information provided by the Android device 320 and is a component that directly provides a service of the Android device 320 to the robot 310.

Robot Service Agent(323)는 안드로이드 소프트웨어 개발자가 Robot Service Interface(321)를 통해 로봇(310)에게 서비스를 요청하려고 할 때, 서비스 요청에 대한 정보를 가공하여 로봇(310)에게 전달하는 컴포넌트이다.The Robot Service Agent 323 is a component that processes the information on the service request and delivers it to the robot 310 when an Android software developer tries to request a service from the robot 310 through the Robot Service Interface 321.

Android Control Interface(324)는 안드로이드 장치(320) 제어를 위해 추상화된 인터페이스들로 구성되는 컴포넌트이다.The Android Control Interface 324 is a component composed of abstracted interfaces for controlling the Android device 320.

Android Service Interface(311)는 로봇 소프트웨어 개발자가 안드로이드 장치(320)의 서비스를 이용하기 위해 사용 가능한 단순하고 직관적인 인터페이스들로 구성되며, 대부분의 기능은 Robot Service Interface(321)와 유사하고 다른 Interface들이 추가될 수 있다.The Android Service Interface 311 consists of simple and intuitive interfaces that can be used by robot software developers to use the services of the Android device 320, and most of the functions are similar to the Robot Service Interface 321. Can be added.

특히, 로봇(310)이 이용 가능한 안드로이드 장치(320)들에 대한 정보, 서비스들에 대한 정보, 어플리케이션들에 대한 정보를 획득할 수 있는 인터페이스인 Information, 로봇(310)이 안드로이드 장치(320)의 특정 어플리케이션을 실행시킬 수 있는 인터페이스인 Application, 로봇(310)이 안드로이드 장치(320)를 통해 전화, 문자, e-mail을 이용할 수 있도록 하는 인터페이스인 Communication, 그외 로봇(310)이 안드로이드 장치(320)의 위치를 파악하고, 안드로이드 장치(320)를 통해 지도를 출력하고, 안드로이드 장치(320)에게 글자를 번역하게 하는 인터페이스가 추가될 수 있다.In particular, the robot 310 is an interface for obtaining information on the available Android devices 320, information on services, and information on applications. Application that is an interface that can execute a specific application, the robot 310 is an interface that allows the user to use the phone, text, e-mail through the Android device 320, the other robot 310 is the Android device 320 An interface for determining the location of the location, outputting a map through the Android device 320, and allowing the Android device 320 to translate a letter may be added.

Robot Service Manager(312)는 로봇(310)이 제공하는 서비스 정보를 관리하며, 안드로이드 장치(320)에게 로봇 서비스를 직접적으로 제공해 주는 컴포넌트이다.The Robot Service Manager 312 manages service information provided by the robot 310 and is a component that directly provides a robot service to the Android device 320.

Android Service Agent(313)는 로봇 소프트웨어 개발자가 Android Service Interface를 통해 안드로이드 장치(320)에게 서비스를 요청하려고 할 때, 이용 요청에 대한 정보를 가공하여 안드로이드 장치(320)에게 전달하는 컴포넌트이다.The Android Service Agent 313 is a component that processes the information on the use request and delivers it to the Android device 320 when the robot software developer tries to request a service from the Android device 320 through the Android Service Interface.

Robot Control Interface(314)는 로봇(310) 제어를 위해 추상화 된 인터페이스들로 구성되는 컴포넌트이다.The Robot Control Interface 314 is a component composed of abstracted interfaces for controlling the robot 310.

도 4는 본 발명의 일실시예에 있어서, 로봇의 액추에이터 제어 방법을 나타내기 위한 흐름도이다.4 is a flowchart illustrating an actuator control method of a robot according to an embodiment of the present invention.

제어 환경 구성 단계(S410)에서는 로봇이 액추에이터를 제어하기 위해 필요한 제어 환경을 구성한다. 구체적으로는 액추에이터 정보를 포함하는 로봇 설정 파일을 생성하고 액추에이터를 로봇의 추상화된 인터페이스에 매핑시키는 작업 외 기타 초기화 작업이 수행될 수 있다.In the control environment configuration step (S410), the robot configures a control environment necessary for controlling the actuator. In more detail, an initialization operation other than generating a robot configuration file including actuator information and mapping the actuator to an abstracted interface of the robot may be performed.

이어서, 액추에이터 현재 상태 검출 단계(S420)에서는 액추에이터의 현재 상태를 검출하여 인터페이스로 전달한다. 예를 들어, 액추에이터가 다리 관절에 해당하는 경우에 보행 명령을 받으면, 보행 명령을 수행하기 위해 다리 관절의 현재 각도, 현재 위치 등 액추에이터의 현재 상태를 파악할 수 있다.Subsequently, in the actuator current state detection step S420, the current state of the actuator is detected and transmitted to the interface. For example, when the actuator receives a walking command when the actuator corresponds to a leg joint, the current state of the actuator, such as the current angle and the current position of the leg joint, may be determined to perform the walking command.

그리고, 액추에이터 동작 설정 단계(S430)에서는 추상화된 인터페이스에 따라 액추에이터에 대해 미리 동작을 설정할 수 있다. 구체적으로는 휴먼 로봇의 다리 관절에 해당하는 액추에이터에 대해 보행 동작을 미리 설정할 수 있다. 이는 예시에 불과한 것으로서 한정하는 것은 아니다.In operation S430, an operation may be set in advance for the actuator according to the abstracted interface. Specifically, the gait motion may be preset for an actuator corresponding to a leg joint of the human robot. This is only an example and is not limited.

이어서, 로봇 제어 요청 전송 단계(S440)에서는 로봇이 안드로이드 장치로부터 로봇 제어 요청을 전송받는다. 구체적으로는 안드로이드 장치의 Robot Service Agent가 로봇 제어 요청에 대한 정보를 가공하여 로봇에게 전송한다.Subsequently, in the robot control request transmission step (S440), the robot receives a robot control request from the android device. Specifically, the Robot Service Agent of the Android device processes the information on the robot control request and sends it to the robot.

그리고, 액추에이터 제어 단계(S450)에서는 로봇 제어를 위해 추상화된 인터페이스로 구성되는 Robot Control Interface를 통해 매핑된 액추에이터 단위로 로봇의 동작을 제어한다. 구체적으로는 Robot Service Manager가 로봇 서비스를 안드로이드 장치에게 직접 제공한다.In the actuator control step (S450), the operation of the robot is controlled in units of actuators mapped through a Robot Control Interface including an abstracted interface for controlling the robot. Specifically, the Robot Service Manager provides robot services directly to Android devices.

도 5는 본 발명의 일실시예에 있어서, 로봇의 세부 구성을 도시한 블럭도이다. 본실시예에 따르면, 로봇(510)은 통신부(511), 메모리(512), 처리기(513) 및 액추에이터(514)를 포함할 수 있다.5 is a block diagram showing a detailed configuration of a robot according to an embodiment of the present invention. According to the present embodiment, the robot 510 may include a communication unit 511, a memory 512, a processor 513, and an actuator 514.

통신부(511)는 근거리 통신 내지 원거리 통신이 가능한 통신장치가 포함될 수 있다. 구체적으로 통신부는 LAN, Wi-Fi, 블루투스, Zig-bee 등의 근거리 통신 기술을 이용하여 근거리에 인접한 안드로이드 장치(520) 및 로봇(510)이 서로 연동할 수 있고, CDMA, WCDMA, LTE 등의 원거리 통신 기술을 이용하여 멀리 떨어진 안드로이드 장치(520) 및 로봇(510)이 서로 연동할 수 있다.The communication unit 511 may include a communication device capable of short range communication or long range communication. In more detail, the communication unit may use the near field communication technology such as LAN, Wi-Fi, Bluetooth, Zig-bee, etc., to allow the Android device 520 and the robot 510 adjacent to each other to interoperate with each other. Using a telecommunication technology, the remote Android device 520 and the robot 510 may interoperate with each other.

메모리(512)는 액추에이터 정보에 따라 제어 환경을 구성하고, 액추에이터의 현재 값을 획득하며, 액추에이터의 동작을 설정하고, 로봇 제어 요청을 전송받으며, 상기 제어 요청에 따라 상기 액추에이터를 제어하는 명령어를 포함하는 프로그램이 저장할 수 있다. 도 4에서 로봇(510)에 의해 수행되는 단계들은 메모리(512)에 저장된 프로그램에 의해 실행될 수 있다. 메모리(512)는 예를 들어, 하드디스크, SSD, SD카드 및 기타 저장매체일 수 있다.The memory 512 includes instructions for configuring a control environment according to actuator information, obtaining a current value of the actuator, setting an actuator's operation, receiving a robot control request, and controlling the actuator according to the control request. The program can save. In FIG. 4, the steps performed by the robot 510 may be executed by a program stored in the memory 512. The memory 512 may be, for example, a hard disk, an SSD, an SD card, and other storage media.

처리기(513)는 메모리(512)에 저장된 프로그램의 명령어에 따라 처리하는 장치로서, CPU 등의 마이크로프로세서가 포함될 수 있다.The processor 513 is a device for processing according to an instruction of a program stored in the memory 512, and may include a microprocessor such as a CPU.

액추에이터(514)는 관절 및 기타 로봇의 움직임을 제어하기 위한 하드웨어적 요소로서 추상화된 인터페이스에 매핑되어 설정된 동작대로 제어된다.The actuator 514 is a hardware element for controlling the movement of joints and other robots, and is controlled in accordance with a set operation mapped to an abstracted interface.

110: 로봇
120: 안드로이드 장치
130: 안드로이드 서비스 관리 서버
110: robot
120: Android device
130: Android service management server

Claims (6)

액추에이터 정보에 따라 제어 환경을 구성하는 단계;
상기 액추에이터의 현재 상태를 검출하는 단계;
상기 액추에이터의 동작을 설정하는 단계;
로봇 제어 요청을 전송받는 단계; 및
상기 제어 요청에 따라 상기 액추에이터를 제어하는 단계
를 포함하고,
상기 제어 요청에 따라 상기 액추에이터를 제어하는 단계는,
상기 제어 요청에 대응하는 상기 액추에이터의 동작을 수행하는 단계
를 포함하는 로봇 제어 방법.
Configuring a control environment in accordance with actuator information;
Detecting a current state of the actuator;
Setting an operation of the actuator;
Receiving a robot control request; And
Controlling the actuator according to the control request
Lt; / RTI >
Controlling the actuator according to the control request,
Performing an operation of the actuator corresponding to the control request
.
제1항에 있어서,
상기 액추에이터 정보에 따라 제어 환경을 구성하는 단계는,
액추에이터 정보를 포함하는 로봇 설정 파일을 생성하는 단계; 및
상기 액추에이터를 추상화된 인터페이스에 매핑시키는 단계
를 포함하는 로봇 제어 방법.
The method of claim 1,
Configuring a control environment according to the actuator information,
Generating a robot configuration file including actuator information; And
Mapping the actuator to an abstracted interface
.
삭제delete 액추에이터;
통신부;
메모리; 및
상기 메모리에 저장되어 있는 프로그램을 실행하는 처리기를 포함하고,
상기 프로그램은,
액추에이터 정보에 따라 제어 환경을 구성하고;
상기 액추에이터의 현재 값을 획득하며;
상기 액추에이터의 동작을 설정하고;
로봇 제어 요청을 전송받으며;
상기 제어 요청에 따라 상기 액추에이터를 제어하는 명령어
를 포함하고,
상기 제어 요청에 따라 상기 액추에이터를 제어하는 명령어는,
상기 제어 요청에 대응하는 상기 액추에이터의 동작을 수행하는 명령어
를 포함하는 안드로이드 기반 로봇.
Actuators;
A communication unit;
Memory; And
And a processor for executing a program stored in the memory,
The program includes:
Configure the control environment according to the actuator information;
Obtain a current value of the actuator;
Set an operation of the actuator;
Receive a robot control request;
Command to control the actuator according to the control request
Lt; / RTI >
The command for controlling the actuator according to the control request,
An instruction to perform an operation of the actuator corresponding to the control request
Android-based robot that includes.
제4항에 있어서,
상기 액추에이터 정보에 따라 제어 환경을 구성하는 명령어는,
액추에이터 정보를 포함하는 로봇 설정 파일을 생성하고, 상기 액추에이터를 인터페이스에 매핑시키는 명령어
를 포함하는 안드로이드 기반 로봇.
5. The method of claim 4,
Commands for configuring a control environment according to the actuator information,
Commands for creating a robot configuration file containing actuator information and mapping the actuator to an interface
Android-based robot that includes.
삭제delete
KR1020120043356A 2012-04-25 2012-04-25 Mapping Method of Robot Control Module based on File KR101337849B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120043356A KR101337849B1 (en) 2012-04-25 2012-04-25 Mapping Method of Robot Control Module based on File

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120043356A KR101337849B1 (en) 2012-04-25 2012-04-25 Mapping Method of Robot Control Module based on File

Publications (2)

Publication Number Publication Date
KR20130120249A KR20130120249A (en) 2013-11-04
KR101337849B1 true KR101337849B1 (en) 2013-12-06

Family

ID=49850990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120043356A KR101337849B1 (en) 2012-04-25 2012-04-25 Mapping Method of Robot Control Module based on File

Country Status (1)

Country Link
KR (1) KR101337849B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005219147A (en) * 2004-02-04 2005-08-18 Yaskawa Electric Corp Robot system
KR100836739B1 (en) * 2006-12-02 2008-06-10 한국전자통신연구원 Apparatus and method for mapping logical-physical connection of robot device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005219147A (en) * 2004-02-04 2005-08-18 Yaskawa Electric Corp Robot system
KR100836739B1 (en) * 2006-12-02 2008-06-10 한국전자통신연구원 Apparatus and method for mapping logical-physical connection of robot device

Also Published As

Publication number Publication date
KR20130120249A (en) 2013-11-04

Similar Documents

Publication Publication Date Title
JP6306236B2 (en) Touch-free operation of the device by using a depth sensor
KR102044665B1 (en) Methods and systems for generating instructions for a robotic system to carry out a task
JP6195713B2 (en) Touch-free operation of an ablator workstation using a depth sensor
US8874266B1 (en) Enhancing sensor data by coordinating and/or correlating data attributes
JP2015510197A (en) Engagement-dependent gesture recognition
US10162737B2 (en) Emulating a user performing spatial gestures
JP2010520528A5 (en)
US20190011997A1 (en) Command relay device, system and method for providing remote assistance/remote control
JP6537203B2 (en) Application program uninstall method and apparatus
WO2015183766A1 (en) Gaze tracking for one or more users
JP2017527901A5 (en)
KR20160125249A (en) Plural of drone controlling system and method thereof
EP3304253B1 (en) Techniques for simulated physical interaction between users via their mobile computing devices
KR102113757B1 (en) Web-Based Robot Programming System and Method
KR101337849B1 (en) Mapping Method of Robot Control Module based on File
Amorim et al. A constraint-driven assessment of operating systems for wearable devices
KR101337831B1 (en) Application Development Interface and Server and Method for Robot Control for the Interaction between Mobile Device based on Android and Robot
US20200051561A1 (en) Instant key mapping reload and real time key commands translation by voice command through voice recognition device for universal controller
KR101277275B1 (en) Task implementation method based on behavior in robot system
CN104423950B (en) Information processing method and electronic equipment
US10290151B2 (en) AR/VR device virtualisation
JP2017004545A5 (en) Program, computer and method
KR102287300B1 (en) Data processing architecture and data processing method
TW201621651A (en) Mouse simulation system and method
JP2006524973A5 (en)

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: 20161004

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee