KR20190005001A - 로봇 제어 시스템 및 방법 - Google Patents

로봇 제어 시스템 및 방법 Download PDF

Info

Publication number
KR20190005001A
KR20190005001A KR1020170085483A KR20170085483A KR20190005001A KR 20190005001 A KR20190005001 A KR 20190005001A KR 1020170085483 A KR1020170085483 A KR 1020170085483A KR 20170085483 A KR20170085483 A KR 20170085483A KR 20190005001 A KR20190005001 A KR 20190005001A
Authority
KR
South Korea
Prior art keywords
robot
information
robot control
unit
service
Prior art date
Application number
KR1020170085483A
Other languages
English (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 KR1020170085483A priority Critical patent/KR20190005001A/ko
Publication of KR20190005001A publication Critical patent/KR20190005001A/ko

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
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Abstract

본 발명은, 외부 상황에 부합하는 상황 인지 서비스를 제공하기 위하여, 외부의 상황 정보를 인지하는 상황 인지부와, 상황 정보를 기초로 워크 플로우 명세를 생성하고, 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성하는 워크 플로우 엔진과, 로봇을 제어하여 상황 인지 서비스를 제공하는 로봇 제어부와, 복수의 로봇 기능 정보 중 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하여 로봇 제어부로 전송하는 서비스 중계부를 포함하고, 로봇 제어부는 선택된 로봇 기능 정보에 따라 로봇을 제어하는 로봇 제어 시스템을 제공한다.

Description

로봇 제어 시스템 및 방법{Robot Control System And Method Thereof}
본 발명은 로봇 제어 시스템 및 방법 관한 것으로 특히, 상황 인지 서비스를 제공할 수 있는 로봇 제어 시스템 및 방법에 관한 것이다.
최근 로봇이 다양한 산업 및 생활 분야에 응용됨에 따라 로봇에 관한 연구가 활발해지고 있다.
특히 종래의 산업용 로봇과는 다르게 지능형 로봇은 사용자에게 보다 다양한 서비스를 제공하기 위해 주행, 센싱 및 프로세싱 등의 다양한 기능들을 능동적으로 수행해야 한다.
만일 여기서 센싱 기능이 보완되는 경우 정확한 상황 인지를 바탕으로 보다 능동적으로 행동할 수 있으며 프로세싱의 제약이 극복됨으로써 로봇의 기능이 확장되고 다양한 서비스 제공이 가능하게 된다.
최근 로봇 연구 분야에서는 로봇 하드웨어 정보를 추상화하여 지능형 서비스를 제공하는데 초점을 두고 있다. 지능형 서비스는 센서 컴퓨팅 환경에서 이기종 센서로부터의 환경 정보를 인지하는 상항 인지 기술이 필요하다. 그러나, 현재 대다수의 인공 지능(Artificial intelligent; AI) 플랫폼은 상기 상황 인지 기술과 연동하여 지능형 서비스를 제공하는데 한계가 있다.
또한, 지능형 음성 인식 및 대화 서비스를 제공하기 위한 AI 플랫폼 구축 및 활용이 증대되면서 AI 플랫폼 기반으로 로봇 서비스를 제공하기 위한 연구가 시작되고 있다. 그러나, 로봇을 구동하기 위한 미들웨어인 ROS(Robot Operating System)가 AI 플랫폼과 연동하여 로봇 AI 서비스를 제공하기 위해서는 한계가 있다.
즉, ROS는 로봇 디바이스의 추상화 기술을 이용하여 로봇을 제어하는데 널리 사용되고 있는데, ROS는 하드웨어 단위로 추상화가 진행되기 때문에, 외부의 환경 정보를 반영한 AI 플랫폼 기반의 로봇 제어 기능을 제공하는데 한계가 있다.
본 발명은 외부 상황에 부합하는 상황 인지 서비스를 제공할 수 있는 로봇 제어 시스템 및 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 상황 인지 서비스 제공 시 응답성이 향상된 로봇 제어 시스템 및 방법을 제공하는 것을 목적으로 한다.
상술한 바와 같은 과제를 해결하기 위하여 본 발명은, 외부의 상황 정보를 인지하는 상황 인지부와, 상황 정보를 기초로 워크 플로우 명세를 생성하고, 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성하는 워크 플로우 엔진과, 로봇을 제어하여 상황 인지 서비스를 제공하는 로봇 제어부와, 복수의 로봇 기능 정보 중 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하여 로봇 제어부로 전송하는 서비스 중계부를 포함하고, 로봇 제어부는 선택된 로봇 기능 정보에 따라 로봇을 제어하는 로봇 제어 시스템을 제공한다.
또한, 서비스 중계부는 워크 플로우 엔진으로부터 상황 인지 서비스 정보를 전송 받는 인터페이스부를 포함할 수 있다.
또한, 서비스 중계부는 선택된 로봇 기능 정보를 기초로 ROS 노드 정보를 생성하는 노드 정보 생성부를 포함할 수 있다.
또한, 로봇 제어부는 ROS 노드 정보를 기초로 ROS 노드를 구성하고, ROS 노드를 실행하여 상황 인지 서비스를 제공할 수 있다.
또한, 서비스 중계부는 ROS 노드 정보를 로봇 제어부로 전송하는 인터페이스부를 더 포함할 수 있다.
또한, 인터페이스부는 로봇 접속 정보를 통해 로봇 제어부와 접속할 수 있다.
또한, 서비스 중계부는 로봇 제어부로부터 복수의 로봇 기능 정보를 전송 받아 저장하는 정보 저장부를 포함할 수 있다.
또한, 정보 저장부는 로봇 제어부로부터 로봇 접속 정보를 전송 받아 저장할 수 있다.
또한, 상황 인지 서비스를 제공하는 로봇 제어 방법으로서, 외부의 상황 정보를 인지하는 단계와, 상황 정보를 기초로 워크 플로우 명세를 생성하고, 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성하는 단계와, 복수의 로봇 기능 정보 중 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하는 단계와, 선택된 로봇 기능 정보를 기초로 ROS 노드 정보를 생성하는 단계와, ROS 노드 정보를 로봇 제어부로 전송하는 단계를 포함하는 로봇 제어 방법을 제공한다.
또한, ROS 노드 정보를 기초로 ROS 노드를 구성하는 단계와, ROS 노드를 실행하여 로봇이 상기 상황 인지 서비스를 제공하는 단계를 더 포함할 수 있다.
또한, 로봇 제어부로부터 복수의 로봇 기능 정보를 전송 받아 저장하는 단계를 더 포함할 수 있다.
또한, 로봇 제어부로부터 로봇 접속 정보를 전송 받아 저장하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 로봇 제어부와 워크플로우 엔진을 중계하는 서비스 중계부를 구비함으로써, 외부 상황에 부합하는 상황 인지 서비스를 제공할 수 있는 효과가 있다.
그리고, 로봇 제어부가 사전에 복수의 로봇 기능 정보 및 로봇 접속 정보를 서비스 중계부에 전송하여 저장해 놓았다가, 상황 인지 서비스 제공이 필요할 때마다 서비스 중계부가 저장된 로봇 기능 정보를 이용하여 상황 인지 서비스에 부합하는 ROS 노드 정보를 생성하여 로봇 제어부에 전송하기 때문에, 응답성을 향상시킬 수 있는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 로봇 제어부의 블록도이다.
도 2는 본 발명의 실시예에 따른 로봇 제어 시스템의 블록도이다.
도 3은 본 발명의 실시예에 따른 로봇 제어 시스템의 서비스 중계부 및 로봇 제어부의 블록도이다.
도 4는 본 발명의 실시예에 따른 로봇 제어 방법의 흐름도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
본 발명의 일 실시 예에서, “또는”, “적어도 하나” 등의 표현은 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “A 또는 B”, “A 및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
도 1은 본 발명의 실시예에 따른 로봇 제어부의 블록도이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 로봇 제어부는 ROS(Robot Operating System)기반으로 동작한다.
ROS는 구조적인 통신 계층을 통해 이기종의 로봇 개체들을 운용할 수 있도록 해주는 오픈 소스 로봇 스프트웨어 프레임워크로서, 하드웨어 추상화를 지원하며 메시지 패싱 및 라이브러리를 제공한다.
ROS는 마스터(Master)와 노드들(Node1, Node2)로 이루어져 있다. 여기서, 노드란 소프트웨어 모듈로서 프로그램을 실행하는 기본 단위이고 마스터는 노드들 사이의 커뮤니케이션(메시지 통신)을 도와주는 역할을 한다.
노드의 통신 프로토콜은 발행자(Publisher)/구독자(Subscribe) 모델을 기반으로 한다. 여기서, 발행자란 토픽(Topic)에 해당하는 정보를 발행하는 노드를 의미하고, 구독자란 토픽에 해당하는 정보를 받아볼 노드를 의미한다.
마스터는 각 노드로부터 노드 정보(토픽 및 메시지)를 입력 받고, 마스터는 발행자 노드의 정보를 구독자 노드로 전달한다. 이후, 구독자 노드는 마스터를 통하지 않고 발행자 노드에 직접 접속하고, 발행자 노드는 서버가 되고 구독자 노드는 클라이언트가 되어 구독자 노드는 요청했던 토픽을 정해진 메시지의 형태로 받아볼 수 있게 된다.
한편, ROS는 하드웨어 추상화를 통해 노드를 생성하여 로봇을 제어하기 때문에, 외부 시스템 특히, 상황 인지 시스템과 직접 연동하는데 있어 한계가 있다.
도 2는 본 발명의 실시예에 따른 로봇 제어 시스템의 블록도이다.
도 2에 도시한 바와 같이, 본 발명의 실시예에 따른 로봇 제어 시스템은, 상황 인지부(100), 워크 플로우 엔진(200), 서비스 중계부(300) 및 로봇 제어부(400)를 포함할 수 있다.
여기서, 상황 인지부(100)는 로봇에 구비되거나 로봇이 위치한 일정한 공간에 구비될 수 있고, 워크 플로우 엔진(200) 및 서비스 중계부(300)는 서버 형태로 외부에 구비될 수 있고, 로봇 제어부(400)는 로봇에 구비될 수 있다.
상황 인지부(100)는 외부의 상황 정보 예를 들면, 외부 환경 정보, 사용자의 행동 정보 및 사용자의 음성 정보를 인지한다. 구체적으로, 상황 인지부(100)는 복수의 센서 및 음성 인식부를 포함할 수 있다. 여기서, 복수의 센서는 외부 환경(온도 및 조도 등) 정보 및 사용자의 행동 정보를 감지하고, 음성 인식부는 사용자의 음성 정보를 인식할 수 있다.
워크 플로우 엔진(200)은, 상황 인지부(100)가 인지한 상황 정보를 기초로 로봇 동작에 관한 워크 플로우 명세를 생성하고, 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성한다. 즉, 워크 플로우 엔진(200)은 상황 인지부(100)가 획득한 저수준 데이터를 고수준 데이터로 변환한다.
여기서, 복수의 센서에 의해 감지된 외부 환경 정보 및 사용자의 행동 정보는 수치화되어 워크 플로우 엔진으로 입력될 수 있고, 음성 인식부에 의해 인식된 사용자의 음성 정보는 STT(Speech To Text) 서버 또는 Communication 서버를 통해 텍스트 형태로 변환되어 워크 플로우 엔진(200)으로 입력될 수 있다.
서비스 중계부(300)는, 워크 플로우 엔진(200)과 로봇 제어부(400)를 중계하는 역할을 수행하며, 워크 플로우 엔진(200)으로부터 상황 인지 서비스 정보를 전송 받아 복수의 로봇 기능 정보 중 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하여 로봇 제어부(400)로 전송한다.
로봇 제어부(400)는 서비스 중계부(300)로부터 선택된 로봇 기능 정보 즉, ROS 노드 정보를 전송 받아 선택된 로봇 기능 정보에 따라 로봇을 제어하여 사용자에게 상황 인지 서비스를 제공한다.
도 3은 본 발명의 실시예에 따른 로봇 제어 시스템의 서비스 중계부 및 로봇 제어부의 블록도이다.
도 3에 도시한 바와 같이, 본 발명의 실시예에 따른 로봇 제어 시스템의 서비스 중계부(300)는 제1 인터페이스부(311), 노드 정보 생성부(312), 제2 인터페이스부(313), 로봇 기능 정보 관리부(321), 로봇 접속 정보 관리부(322) 및 정보 저장부(330)를 포함할 수 있다.
그리고, 로봇 제어부(400)는 로스 브릿지(ROS Bridge)(410) 및 로봇 서비스 관리부(420)를 포함할 수 있다.
먼저, 로봇 제어부(400)에 대해 설명하면, 로봇 서비스 관리부(420)는 로스 브릿지(410)를 통해 복수의 로봇 기능 정보 즉, ROS 노드 정보와 서비스 중계부(300)가 로봇 제어부(400)에 접속하기 위해 필요한 로봇 접속 정보를 서비스 중계부(300)의 정보 저장부(330)로 전송한다.
구체적으로, 로봇 서비스 관리부(420)는 XML 형식의 로봇 기능 정보 및 로봇 접속 정보를 파서(Parser)를 이용하여 파싱한다. 그리고, 컨버터(Converter)를 이용해 파싱된 로봇 기능 정보의 형식을 XML 형식에서 JSON 형식으로 변환한다. 그리고, JSON 형식의 로봇 기능 정보를 로스 브릿지(410)를 통해 서비스 중계부(300)로 전송한다.
아래의 표 1은 로봇 기능 정보를 예시적으로 표시한 표이다.
Key Value
Service_name 로봇 서비스 이름
Service_type 로봇 서비스의 종류(단일, 다수)
Topic_name ROS 노드의 토픽 경로
Message_name ROS 노드의 메시지 경로
여기서, 표 1의 Key 이름은 ROS 노드에서 사용되는 메시지 정보이고, Value는 ROS 노드의 실행에 필요한 값이다.
아래의 표 2는 로봇 접속 정보를 예시적으로 표시한 표이다.
{
“ROS_SERVER_IP”: “X.X.X.X”,
“ROS_SERVER_PORT”: “8080”
}
표 2를 참조하면, 로봇 접속 정보는 IP와 PORT로 구성되는 것을 확인할 수 있다.
그리고, 로봇 서비스 관리부(420)는 로스 브릿지(410)를 통해 서비스 중계부(300)에서 선택된 로봇 기능 정보 즉, ROS 노드 정보를 전송 받고, 전송 받은 ROS 노드 정보를 기초로 ROS 노드를 구성한다.
다음, 서비스 중계부(300)에 대해 설명하면, 정보 저장부(330)는 로봇 제어부(400)로부터 복수의 로봇 기능 정보 즉, ROS 노드 정보 및 로봇 접속 정보를 전송 받아 저장한다.
제1 인터페이스부(311)는 워크 플로우 엔진(200)으로부터 상황 인지 서비스 정보를 전송 받고, 전송 받은 상황 인지 서비스 정보를 로봇 기능 정보 관리부(321)로 전송한다.
여기서, 제1 인터페이스부(311)는 워크 플로우 엔진(200)과 동일한 통신 프로토콜을 사용하여 서로 간에 통신이 이루어진다.
로봇 기능 정보 관리부(321)는 정보 저장부(330)에 저장된 복수의 로봇 기능 정보 중 전송 받은 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하여 제1 인터페이스부(311)로 전송한다.
로봇 접속 정보 관리부(322)는 정보 저장부(330)에 저장된 로봇 접속 정보를 제2 인터페이스부(313)로 전송한다.
노드 정보 생성부(312)는 선택된 로봇 기능 정보를 제1 인터페이스부(311)로부터 전송 받아 이를 기초로 ROS 노드 정보를 생성한다.
아래의 표 3은 노드 정보 생성부(312)에 생성된 ROS 노드 정보에 대해 로봇 제어부(400)가 ROS 노드를 실행시킬 수 있도록 프로토콜을 맞추어 예시적으로 구성한 표이다.
프로토콜 타입 내용
Topic Name /curation_status/CurationEmergStatus
Message Name /status_msgs/CurationEmergsStatus
Message Value “emerg_stamp”: 145924829757,
“curation_event_status”: 1,
“emerg_position_id”: 1
제2 인터페이스부(313)는, 로봇 접속 정보 관리부(322)로부터 전송 받은 로봇 접속 정보를 통해 로봇 제어부(400)와 접속하며, 노드 정보 생성부(312)가 생성한 ROS 노드 정보를 로봇 제어부(400)로 전송한다.
여기서, 제2 인터페이스부(313)는 로봇 제어부(400)의 로스 브릿지(410)와 동일한 통신 프로토콜을 사용하여 서로 간에 통신이 이루어진다.
로봇 제어부(400)는 전송 받은 ROS 노드 정보를 기초로 ROS 노드를 구성하고, ROS 노드를 실행하여 사용자에게 상황 인지 서비스를 제공한다.
아래의 표 4는 전송 받은 ROS 노드 정보의 각 요소 별 속성을 표시한 표이다.
요소(Element) 속성(Attribute) 설명
Service name 실행할 서비스의 이름
type 서비스의 실행 종료
Topic name ROS Topic 경로
Message name ROS Message 경로
Arg name ROS Message의 변수
type ROS Message의 자료형
value ROS Message의 저장하는 값
표 4에 표시된 바와 같이, ROS 노드 정보의 각 요소는 서비스를 기준으로 구분되며, 서비스 내부에는 Topic, Message 및 Arg 요소가 포함되어 있다. 여기서, Topic은 ROS Topic을 실행하기 위한 경로를 나타내며, Message는 ROS Message를 전송하기 위한 경로를 나타내며, Arg는 ROS Message 내부에 포함되어 있는 다양한 변수와 자료형을 나타내고 있다.
이와 같이, 본 발명의 실시예에 따른 로봇 제어 시스템은 로봇 제어부(400)와 워크플로우 엔진(200)을 중계하는 서비스 중계부(300)를 구비함으로써, 외부 상황에 부합하는 상황 인지 서비스를 제공할 수 있는 효과가 있다.
그리고, 로봇 제어부(400)가 사전에 복수의 로봇 기능 정보 및 로봇 접속 정보를 서비스 중계부(300)에 전송하여 저장해 놓았다가, 상황 인지 서비스 제공이 필요할 때마다 서비스 중계부(300)가 저장된 로봇 기능 정보를 이용하여 상황 인지 서비스에 부합하는 ROS 노드 정보를 생성하여 로봇 제어부(400)에 전송하기 때문에, 응답성을 향상시킬 수 있는 효과가 있다.
도 4는 본 발명의 실시예에 따른 로봇 제어 방법의 흐름도이다.
이하, 도 1 내지 도 4를 참조하여 본 발명의 실시예에 따른 로봇 제어 방법을 설명하되, 전술한 본 발명의 실시예에 따른 로봇 제어 시스템과 동일한 내용에 대해서는 생략하겠다.
본 발명의 실시예에 따른 로봇 제어 방법은, 상황 인지부(100)가 외부의 상황 정보를 인지하는 단계와, 워크 플로우 엔진(200)이 상황 정보를 기초로 워크 플로우 명세를 생성하고, 워크 플로우 명세를 이용해 상황 인지 서비스 정보를 생성하는 단계(S10)와, 서비스 중계부(300)가 복수의 로봇 기능 정보 중 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하는 단계(S20)와, 서비스 중계부(300)가 선택된 로봇 기능 정보를 기초로 ROS 노드 정보를 생성하는 단계(S30)와, 서비스 중계부(300)가 ROS 노드 정보를 로봇 제어부(400)로 전송하는 단계(S40)를 포함할 수 있다.
그리고, 로봇 제어부(400)가 ROS 노드 정보를 기초로 ROS 노드를 구성하는 단계(S50)와, 로봇 제어부(400)가 ROS 노드를 실행하여 로봇이 상황 인지 서비스를 제공하는 단계(S60)를 더 포함할 수 있다.
그리고, 서비스 중계부(300)가 로봇 제어부(400)로부터 복수의 로봇 기능 정보를 전송 받아 저장하는 단계를 더 포함할 수 있다.
그리고, 서비스 중계부(300)가 로봇 제어부(400)로부터 로봇 접속 정보를 전송 받아 저장하는 단계를 더 포함할 수 있다.
여기서, 서비스 중계부(300)는 저장된 로봇 접속 정보를 이용해 로봇 제어부(400)에 접속할 수 있다.
이와 같이, 본 발명의 실시예에 따른 로봇 제어 방법은 로봇 제어부(400)와 워크플로우 엔진(200)을 중계하는 서비스 중계부(300)를 구비함으로써, 외부 상황에 부합하는 상황 인지 서비스를 제공할 수 있는 효과가 있다.
그리고, 로봇 제어부(400)가 사전에 복수의 로봇 기능 정보 및 로봇 접속 정보를 서비스 중계부(300)에 전송하여 저장해 놓았다가, 상황 인지 서비스 제공이 필요할 때마다 서비스 중계부(300)가 저장된 로봇 기능 정보를 이용하여 상황 인지 서비스에 부합하는 ROS 노드 정보를 생성하여 로봇 제어부(400)에 전송하기 때문에, 응답성을 향상시킬 수 있는 효과가 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 상황 인지부
200: 워크 플로우 엔진
300: 서비스 중계부
400: 로봇 제어부

Claims (12)

  1. 외부의 상황 정보를 인지하는 상황 인지부;
    상기 상황 정보를 기초로 워크 플로우 명세를 생성하고, 상기 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성하는 워크 플로우 엔진;
    로봇을 제어하여 상황 인지 서비스를 제공하는 로봇 제어부; 및
    복수의 로봇 기능 정보 중 상기 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하여 상기 로봇 제어부로 전송하는 서비스 중계부를 포함하고,
    상기 로봇 제어부는 선택된 상기 로봇 기능 정보에 따라 상기 로봇을 제어하는
    로봇 제어 시스템.
  2. 제 1 항에 있어서,
    상기 서비스 중계부는
    상기 워크 플로우 엔진으로부터 상기 상황 인지 서비스 정보를 전송 받는 인터페이스부를 포함하는
    로봇 제어 시스템.
  3. 제 1 항에 있어서,
    상기 서비스 중계부는
    선택된 상기 로봇 기능 정보를 기초로 ROS 노드 정보를 생성하는 노드 정보 생성부를 포함하는
    로봇 제어 시스템.
  4. 제 3 항에 있어서,
    상기 로봇 제어부는
    상기 ROS 노드 정보를 기초로 ROS 노드를 구성하고, 상기 ROS 노드를 실행하여 상기 상황 인지 서비스를 제공하는
    로봇 제어 시스템.
  5. 제 3 항에 있어서,
    상기 서비스 중계부는
    상기 ROS 노드 정보를 상기 로봇 제어부로 전송하는 인터페이스부를 더 포함하는
    로봇 제어 시스템.
  6. 제 5 항에 있어서,
    상기 인터페이스부는
    로봇 접속 정보를 통해 상기 로봇 제어부와 접속하는
    로봇 제어 시스템.
  7. 제 1 항에 있어서,
    상기 서비스 중계부는
    상기 로봇 제어부로부터 상기 복수의 로봇 기능 정보를 전송 받아 저장하는 정보 저장부를 포함하는
    로봇 제어 시스템.
  8. 제 7 항에 있어서,
    상기 정보 저장부는
    상기 로봇 제어부로부터 로봇 접속 정보를 전송 받아 저장하는
    로봇 제어 시스템.
  9. 상황 인지 서비스를 제공하는 로봇 제어 방법으로서,
    외부의 상황 정보를 인지하는 단계;
    상기 상황 정보를 기초로 워크 플로우 명세를 생성하고, 상기 워크 플로우 명세에 따른 상황 인지 서비스 정보를 생성하는 단계;
    복수의 로봇 기능 정보 중 상기 상황 인지 서비스 정보에 부합하는 로봇 기능 정보를 선택하는 단계;
    선택된 상기 로봇 기능 정보를 기초로 ROS 노드 정보를 생성하는 단계; 및
    상기 ROS 노드 정보를 로봇 제어부로 전송하는 단계
    를 포함하는 로봇 제어 방법.
  10. 제 9 항에 있어서,
    상기 ROS 노드 정보를 기초로 ROS 노드를 구성하는 단계; 및
    상기 ROS 노드를 실행하여 상기 로봇이 상기 상황 인지 서비스를 제공하는 단계를 더 포함하는
    로봇 제어 방법.
  11. 제 9 항에 있어서,
    상기 로봇 제어부로부터 상기 복수의 로봇 기능 정보를 전송 받아 저장하는 단계를 더 포함하는
    로봇 제어 방법.
  12. 제 9 항에 있어서,
    상기 로봇 제어부로부터 로봇 접속 정보를 전송 받아 저장하는 단계를 더 포함하는
    로봇 제어 방법.
KR1020170085483A 2017-07-05 2017-07-05 로봇 제어 시스템 및 방법 KR20190005001A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170085483A KR20190005001A (ko) 2017-07-05 2017-07-05 로봇 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170085483A KR20190005001A (ko) 2017-07-05 2017-07-05 로봇 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20190005001A true KR20190005001A (ko) 2019-01-15

Family

ID=65030286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170085483A KR20190005001A (ko) 2017-07-05 2017-07-05 로봇 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20190005001A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153360B1 (ko) * 2019-11-26 2020-09-10 가천대학교 산학협력단 클라우드 컴퓨팅 기반 로봇의 상황 인지 시스템 및 그 처리 방법
WO2023009410A1 (en) * 2021-07-28 2023-02-02 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102153360B1 (ko) * 2019-11-26 2020-09-10 가천대학교 산학협력단 클라우드 컴퓨팅 기반 로봇의 상황 인지 시스템 및 그 처리 방법
WO2023009410A1 (en) * 2021-07-28 2023-02-02 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot
KR20230017697A (ko) * 2021-07-28 2023-02-06 베어 로보틱스, 인크. 서빙 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Similar Documents

Publication Publication Date Title
CN107210943B (zh) 借助于通用通信驱动器的装置访问
US7613285B2 (en) System and method for service-oriented automatic remote control, remote server, and remote control agent
CN107276864A (zh) 智能语音设备控制家电的方法、装置及系统
US11940778B2 (en) Method of commissioning a field device in an industrial system network
JP2002223211A (ja) Soapプロトコルに基づいたコントローラ装置用通信システム
Thramboulidis Development of distributed industrial control applications: The CORFU framework
JP6663060B2 (ja) セマンティックゲートウェイのモデリング方法及びセマンティックゲートウェイ
CN110162417B (zh) 一种工业边缘计算应用与opc ua地址空间的数据交互方法
US20080255852A1 (en) Apparatuses and methods for voice command processing
CN107450899B (zh) 终端控制脚本的生成方法和装置
CN108306804A (zh) 一种Ethercat主站控制器及其通信方法和系统
CN105939365A (zh) 主控板用户态从业务板内核态获取数据的方法及装置
CN110457011A (zh) 软件应用定制方法及开发服务端
CN106790131B (zh) 一种参数修改方法、装置及分布式平台
CN111061678B (zh) 业务数据处理方法、装置、计算机设备和存储介质
KR20190005001A (ko) 로봇 제어 시스템 및 방법
De Coninck et al. Middleware platform for distributed applications incorporating robots, sensors and the cloud
Zug et al. Programming abstractions and middleware for building control systems as networks of smart sensors and actuators
KR20100025941A (ko) 생산 관리 시스템
JPH11231924A (ja) 異種コントローラの指令生成・監視装置
CN103561113B (zh) Web Service接口的生成方法及装置
CN110347451B (zh) 一种基于ai和iot的通用人机交互系统和方法
CN115333943B (zh) 确定性网络资源配置系统、方法、设备及存储介质
KR20170093562A (ko) 스마트 팩토리 연동 모듈 및 이의 작동 방법
CN113157737B (zh) 服务实例关联关系动态构建系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application