KR102109886B1 - 로봇 시스템 및 이의 서비스 제공 방법 - Google Patents
로봇 시스템 및 이의 서비스 제공 방법 Download PDFInfo
- Publication number
- KR102109886B1 KR102109886B1 KR1020180137235A KR20180137235A KR102109886B1 KR 102109886 B1 KR102109886 B1 KR 102109886B1 KR 1020180137235 A KR1020180137235 A KR 1020180137235A KR 20180137235 A KR20180137235 A KR 20180137235A KR 102109886 B1 KR102109886 B1 KR 102109886B1
- Authority
- KR
- South Korea
- Prior art keywords
- classes
- service
- suitability
- policy
- current situation
- 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/1602—Programme controls characterised by the control system, structure, architecture
-
- 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/1628—Programme controls characterised by the control loop
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
실시 예에 따른 로봇 시스템은, 각 서비스의 방향성을 나타내는 복수의 클래스 및 상기 복수의 클래스 각각에 대한 적합도 평가 방법을 정의하는 정책 모델과 현재 상황에 대응하는 상황 정보를 연계하여 상기 복수의 클래스 각각에 대한 적합도를 평가하고, 상기 복수의 클래스 각각의 적합도를 조합하여 서비스들의 적합도 평가에 공통으로 적용되는 공통 지표들로 변환하고, 상기 각 서비스에 대해 상기 공통 지표들을 포함하는 정책 평가 결과를 출력하는 작업 추론기, 및 상기 정책 평가 결과와 현재 상황 정보에 기초하여 복수의 작업계획 각각에 대한 적합도를 평가하고, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 작업 실행자를 포함할 수 있다.
Description
본 개시는 로봇 시스템 및 로봇 시스템의 서비스 제공 방법에 관한 것이다.
최근 인식, 이동, 조작, 상호작용(Human-Robot Interaction, HRI), 학습, 추론 등의 지능적인 요소를 활용하여 다양한 서비스를 제공할 수 있는 로봇에 대한 연구가 활발하다.
로봇에서 제공할 수 있는 서비스들이 늘어나면서, 로봇이 다수의 서비스를 동시에 수행해야 하는 경우가 늘어나고 있다. 이러한 경우, 로봇의 서비스 선택 방안은 아직까지 구체적인 표준안이 마련되지 않은 상태이다. 따라서, 대부분의 기업들은 로봇이 먼저 수행하던 작업을 완료한 이후 다른 서비스를 수행하는 방식을 채택하고 있다.
로봇이 동시에 여러 서비스를 수행해야 하는 경우, 현재 상황에 따라서 우선적으로 수행해야 하는 서비스를 구분할 수 있도록 지원하는 로봇 시스템 및 로봇 시스템의 서비스 제공 방법을 제공하고자 한다.
상기 과제를 해결하기 위한 실시 예에 따른 로봇 시스템은, 각 서비스의 방향성을 나타내는 복수의 클래스 및 상기 복수의 클래스 각각에 대한 적합도 평가 방법을 정의하는 정책 모델과 현재 상황에 대응하는 상황 정보를 연계하여 상기 복수의 클래스 각각에 대한 적합도를 평가하고, 상기 복수의 클래스 각각의 적합도를 조합하여 서비스들의 적합도 평가에 공통으로 적용되는 공통 지표들로 변환하고, 상기 각 서비스에 대해 상기 공통 지표들을 포함하는 정책 평가 결과를 출력하는 작업 추론기, 및 상기 정책 평가 결과와 현재 상황 정보에 기초하여 복수의 작업계획 각각에 대한 적합도를 평가하고, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 작업 실행자를 포함할 수 있다.
상기 작업 추론기는, 상기 정책 모델, 상황 정보들을 자료 구조화한 세계 모델, 및 상기 정책 모델 및 현재 상황에 대응하는 상황 정보에 기초하여, 상기 각 서비스에 대해 상기 정책 평가 결과를 획득하는 정책 평가자를 포함할 수 있다.
상기 작업 추론기는, 상기 복수의 클래스 각각의 적합도 평가에 사용되는 외부 함수를 정의하는 연산 모듈을 더 포함하며, 상기 정책 평가자는, 상기 복수의 클래스 중 일부에 대해 상기 외부 함수를 이용하여 적합도를 판정할 수 있다.
상기 복수의 클래스는, 서비스들에 공통으로 사용되는 복수의 제1클래스와, 대응하는 서비스의 개발 단계에서 추가된 적어도 하나의 제2클래스를 포함할 수 있다.
상기 복수의 클래스 각각에 대한 적합도 평가 방법은, 대응하는 서비스의 개발 단계에서 정의될 수 있다
상기 작업 실행자는, 상황 정보들을 자료 구조화한 세계 모델, 상기 복수의 작업계획을 저장하는 작업계획 라이브러리, 및 상기 정책 평가 결과와 현재 상황 정보에 기초하여 상기 복수의 작업계획 각각에 대한 적합도를 평가하고, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 적합도 평가자를 포함할 수 있다.
상기 적합도 평가자는, 상기 공통 지표들을 현재 상황 정보와 연계하여 상기 복수의 작업계획 각각에 대해 정의된 평가 방법에 적용함으로써, 상기 복수의 작업계획 각각의 적합도를 평가할 수 있다.
상기 공통 지표는, 안전성 및 효율성을 포함할 수 있다.
또한, 실시 예에 따른 로봇 시스템의 서비스 제공 방법은, 각 서비스의 방향성을 나타내는 복수의 클래스 및 상기 복수의 클래스 각각에 대한 적합도 평가 방법을 정의하는 정책 모델과 현재 상황에 대응하는 상황 정보를 연계하여 상기 복수의 클래스 각각에 대한 적합도를 평가하는 단계, 상기 복수의 클래스 각각의 적합도를 조합하여 서비스들의 적합도 평가에 공통으로 적용되는 공통 지표들이 포함된 정책 평가 결과를 획득하는 단계, 상기 정책 평가 결과와 현재 상황 정보에 기초하여 복수의 작업계획 각각에 대한 적합도를 평가하는 단계, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 단계, 및 상기 현재 상황에 최적인 작업계획에 따라 서비스를 실행시키는 단계를 포함할 수 있다.
상기 복수의 클래스 각각에 대한 적합도를 평가하는 단계는, 상기 복수의 클래스 중 일부에 대해 상기 정책 모델 외부의 함수를 이용하여 적합도를 평가하는 단계를 포함할 수 있다.
상기 복수의 작업계획 각각에 대한 적합도를 평가하는 단계는, 상기 공통 지표들을 현재 상황 정보와 연계하여 상기 복수의 작업계획 각각에 대해 정의된 평가 방법에 적용함으로써, 상기 복수의 작업계획 각각의 적합도를 평가하는 단계를 포함할 수 있다.
실시 예에 따르면, 로봇은 동시에 여러 서비스를 요청 받는 경우, 상황에 따라서 우선적으로 수행해야 하는 서비스를 구분하여 수행함으로써 사용자의 만족도를 향상시킬 수 있다.
또한, 로봇이 서비스 수행 시 어떤 서비스를 어떻게 수행하는 것이 적합한지를 판단할 수 있도록 지원할 수 있다.
도 1은 실시 예에 따른 로봇 시스템을 개략적으로 도시한 것이다.
도 2는 실시 예에 따른 기본 정책 모델의 일 예를 도시한 것이다.
도 3은 실시 예에 따른 학습 정책 모델의 일 예를 도시한 것이다.
도 4는 실시 예에 따른 로봇 시스템의 서비스 제공 방법을 개략적으로 도시한 것이다.
도 2는 실시 예에 따른 기본 정책 모델의 일 예를 도시한 것이다.
도 3은 실시 예에 따른 학습 정책 모델의 일 예를 도시한 것이다.
도 4는 실시 예에 따른 로봇 시스템의 서비스 제공 방법을 개략적으로 도시한 것이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이하, 필요한 도면들을 참조하여 실시 예에 따른 로봇 시스템 및 이의 서비스 제공 방법에 대해 상세히 설명하기로 한다.
도 1은 실시 예에 따른 로봇 시스템을 개략적으로 도시한 것이다.
도 1을 참조하면, 사용자에 의해 선택된 서비스패키지(2)가 로봇 시스템(1)에 플러그 앤 플레이(plug and play)될 수 있다.
로봇이 수행하여야 하는 서비스는, 서비스에 관련된 작업계획(plan), 목표(goal), 관련 지식(knowledge)이나 유지하여야 하는 상황(context) 정보 등이 복합적으로 구성되어야 하나의 서비스를 수행할 수 있다. 실시 예에 따른 서비스패키지(2)는 이러한 로봇 서비스에 관련된 정보를 서술하고 하나의 어플리케이션 단위로 구성되는 기능을 로봇 시스템(1)에 제공할 수 있다. 따라서, 복합적인 서비스 구성 요소를 하나의 패키지로 통합함으로써 개발자는 쉽고 간편한 개발을, 사용자에게는 단순한 플러그 앤 플레이 식 서비스 확장 기능을 제공할 수 있다.
서비스패키지(2)는 로봇 서비스를 수행하기 위하여 필요한 필수적인 정보와 기능을 제외한 서비스 종속적인 데이터 패키지로, 하나의 서비스에 대해서 개발한 모델 데이터들로 구성된 단위 개체일 수 있다. 서비스패키지(2)에는 서비스를 수행하기 위한 작업계획, 서비스 수행 환경에 대한 추론을 지원하는 규칙, 및 서비스와 관련된 지식 정보 각각에 대응하는 모델 데이터들을 포함할 수 있다. 또한, 서비스패키지(2)는 서비스의 방향성을 나타내는 정책(policy)(2-1)에 대한 모델 데이터들을 포함할 수도 있다.
구체적으로, 작업계획은 서비스의 절차 및 세부 수행 구성을 포함하고, 규칙은 로봇이 감시하는 환경 구성 및 상황 정보를 생성하기 위한 상황 규칙을 포함할 수 있다. 지식 정보는 서비스 구성을 위해 로봇이 갖추어야 하는 정보를 포함할 수 있다. 정책은 서비스의 방향성을 나타내는 정보들을 포함할 수 있다.
모델 데이터들 각각은 서비스패키지 디스크립터(descriptor)를 통해 연결되어 하나의 서비스를 구성할 수 있다. 서비스패키지 디스크립터는 JOSN 문법을 통해 서술될 수 있고, 서비스에 관련된 데이터의 타입, 예를 들어, 지식, 규칙, 작업, 경로(URI) 등의 서술로서, 서비스패키지의 구성을 서술하기 위한 배치(configuration) 파일일 수 있다.
실시 예에 따른 서비스패키지(2)를 통해, 로봇의 서비스가 하나의 패키지로 묶여 관리될 수 있고, 일관된 방법으로 개발될 수 있다. 이를 통해 로봇의 서비스는 서비스 단계 모델을 통해 서비스 단위로 관리 및 개발될 수 있고, 서비스 개발자는 서비스 단위의 관리 및 개발을 통해 모바일 환경에서의 앱(app)과 같이 단위 서비스를 개발, 유지보수, 배포등을 제공할 수 있다.
서비스패키지(2)는 로봇 시스템(1)의 지능 컴퍼넌트가 활용하는 내부 스크립트 언어로 변환되어 서비스 적용이 수행될 수 있다.
로봇 시스템(1)은 서비스 디스패처(service dispatcher)(10) 및 작업 관리자(task manager)(20)를 포함할 수 있다.
도 1에 도시된 바와 같이, 서비스패키지(2)는 로봇 시스템(1)의 서비스 디스패처(10)로 인스톨되며, 서비스 디스패처(10)에 의해 로봇 시스템(1)의 지능 컴퍼넌트가 활용하는 내부 스크립트 언어로 변환되어 서비스 적용이 수행될 수 있다.
서비스패키지(2)는 로봇의 개발자가 수월하게 개발할 수 있는 개방적 스크립트 언어를 통해서 개발될 수 있다. 이는 로봇 시스템(1)의 내부 스크립트 언어와는 상이할 수 있다. 이에, 서비스 디스패처(10)는 개발 언어로 구성된 서비스패키지(2)의 구성 요소를 대응하는 지능 컴퍼넌트에 맞게 내부 스크립트 언어로 변환할 수 있다. 예를 들어, 서비스 디스패처(10)는 서비스패키지(2)를 파싱하여 작업 관리자(20)가 필요로 하는 정책 모델(211)로 변환할 수 있다.
작업 관리자(20)는 각 작업계획(plan)에 대해 적합도(utility)를 평가하고, 평가결과에 따라 현재 상황에 가장 적합한 작업계획을 결정할 수 있다. 또한, 현재 상황에 가장 적합한 것으로 결정된 작업계획에 따라 작업이 이루어지도록 관리할 수 있다.
작업 관리자(20)는 작업 추론기(Task Reasoner)(21), 및 작업 실행자(Task Executor)(22)를 포함할 수 있다.
작업 추론기(21)는 로봇 시스템(1)에서 수행할 각 서비스의 정책 모델(policy)에 기초하여, 현재 상황에 따른 각 서비스의 정책 평가 결과를 추론하여 작업 실행자(22)로 전달할 수 있다.
이를 위해, 작업 추론기(21)는 정책 모델(211), 세계 모델(world model)(212), 연산 모듈(calculation module)(213), 및 정책 평가자(policy evaluator)(214)를 포함할 수 있다.
정책 모델(211)은 로봇 시스템(1)에서 수행할 각 서비스에 대해 정책 모델을 정의할 수 있다. 정책은 대응하는 서비스의 방향성을 나타내는 지표로서, 대응하는 서비스의 적합도 판정에 사용될 수 있다.
정책 모델(211)의 정책은 서비스의 상세한 방향성을 나타내는 복수의 클래스(class)로 분류되며, 정책 모델(211)은 클래스 리스트와, 각 클래스의 적합도(utility)를 평가하기 위한 평가 방법에 대한 정의를 포함할 수 있다.
실시 예에 따르면, 서비스 개발 단계에서, 적합도 평가에 사용되는 클래스들에 대해 정의된 기본 정책 모델이 개발자들에게 배포될 수 있다.
도 2는 서비스 개발 단계에서 개발자들에게 배포되는 기본 정책 모델의 일 예를 도시한 것이다.
도 2를 예로 들면, 기본 정책 모델(30)은 만족도 관련 클래스(서비스 만족도(Service Satisfaction)(31)), 효율성 관련 클래스(서비스 효율성(Service Efficiency)(32), 시간 효율성(Time Efficiency)(33), 결과 효율성(Result Efficiency)(35), 상호성(Interactivity)(36)), 그리고 안전성 관련 클래스(로봇 안전성(Robot Stability)(34), 사용자 안전성(User Safety)(37))를 기본적으로 포함할 수 있다.
서비스 만족도(31)는 로봇이 제공하는 서비스에 대한 사용자의 만족도와 관련된 클래스이다. 서비스 효율성(32)은 현재 상황에서 서비스의 효율성과 관련된 클래스이다. 시간 효율성(33)은 사용자가 원하는 상태에 얼마나 빠르게 도달할 수 있는지와 관련된 클래스이다. 로봇 안전성(34)은 로봇의 서비스 유지 가능성과 관련된 클래스이다. 결과 효율성(35)은 현재 상황에서의 서비스 결과와 관련된 클래스이다. 상호성(36)은 서비스 수행 과정에서 사용자와 로봇 간의 상호 작용 시, 상황에 적합한 로봇의 태도와 관련된 클래스이다. 사용자 안전성(37)은 서비스 수행 과정에서의 사용자의 안전성과 관련된 클래스이다.
이러한 기본 정책 모델(30)은 개발자들에게 정책 모델(211) 설계에 대한 가이드를 제공하며, 개발자들은 기본 정책 모델(30)에 클래스를 새롭게 추가하거나, 각 클래스의 연산 방식을 정의하는 방식으로, 자신이 개발하는 서비스의 방향에 맞게 정책 모델을 수립할 수 있다.
도 3은 학습 서비스에 맞춰 수립된 정책 모델의 일 예를 도시한 것이다. 또한, 아래의 표 1은 학습 서비스의 정책 모델에서 각 클래스에 대해 정의된 연산식의 일 예를 나타낸다.
도 3을 참조하면, 학습 서비스의 정책 모델(30A)은, 기본 정책 모델(30)에 정의된 클래스들(31~37) 외에 새로운 클래스(41~49)를 추가로 포함하다. 또한, 각 클래스(31~37, 41~49)에 대해 적합도 평가에 사용되는 평가 방법들을 아래의 표 1과 같이 정의한다.
클래스 |
평가 방법 |
Robot Stability | 0.3 × HardwareSafety + 0.3 × SoftwareSafety + 0.4 × BatteryEnough |
Service Satisfaction | 0.5 × ServiceEfficiency + 0.5 × UserSafety |
Service Efficiency | 0.3 × ResultEfficiency + 0.3 × TimeEfficiency + 0.4 × Interactivity |
Result Efficiency | 0.4 × StudentConcentratively + 0.4 × StudentActively + 0.2 × TeachingEasily |
Time Efficiency | 0.5 × StudentConcentratively + 0.5 × EducateIndividually |
Interactivity | 0.5 × EducateSocially + 0.5 × TeachingKindly |
User Safety | 외부 function 사용 |
Student Concentratively | condition (StudentResponseTime($minTime), $minTime >= 5) { value = 10; } condition (StudentResponseTime($minTime), $minTime <= 5) { value = 100; } default = 0; |
Student Actively | condition (LearningMethod($method), $method == videoLecture) { value = 50; } condition (LearningMethod($method), $method == practice) { value = 200; } condition (LearningMethod($method), $method == exercise) { value = 150; } default = 0; |
Teaching Easily | condition (StudentQuestion($subject)) { value = 150; } default = 50; |
Educate Individually | condition (StudentInClass($number), $number == 1) { value = 150 } condition (StudentInClass($number), $number >=2) { value = 0; } default = 0; |
Educate Socially | 외부 function 사용 |
Teaching Kindly | 외부 function 사용 |
Hardware Safety | condition (RobotMovingModule($wheel), ThingOnFloor($carphet)) { value = 100 ; } condition (RobotMovingModule($leg), ThingOnFloor($carphet) { value = 20; } default = 0; |
Software Safety | condition (CloudServiceHistory($serviceName1, $address, $history), CurrentCloudService($serviceName2, $address), $serviceName1 == $serviceName2, $history == null) { value = 0; } condition (CloudServiceHistory($serviceName1, $address, $history), CurrentCloudService($serviceName2, $address), $serviceName1 == $serviceName2) { value = $history * 10 } default = 0; |
Battery Enough | condition (CurrentBattery($battery)) { value = 100 - $battery; } default = 50; |
위 표 1에서, 컨디션 함수(condition())는 현재 상황(context) 정보에 따라서 적합도 값을 결정하기 위한 함수로서, 각 클래스와 연관된 상황 정보들이 입력되면, 대응하는 적합도 값을 반환할 수 있다. 또한, 위 표 1에서, 외부 함수를 사용하는 클래스는 정책 모델(211) 내에서 정의되지 않은 외부 연산 모듈을 사용하여 대응하는 클래스의 적합도 값을 획득할 수 있다. 다시 도 1을 보면, 세계 모델(212)은 작업 추론기(21)의 지능 컴퍼넌트들이 알고 있는 논리 정보(예를 들어, 상황 정보)를 자료구조화 한 것이다.
연산 모듈(213)은 정책 모델(211)의 클래스에 대한 적합도 평가에 사용되는 외부 함수들을 정의한다.
정책 평가자(214)는, 정책 모델(211)로부터 로봇 시스템(1)이 수행해야 하는 각 서비스의 정책 모델을 수신하고, 세계 모델(212)로부터 현재 환경에 대응하는 상황 정보를 수신하며, 연산 모듈(213)로부터 정책 평가에 사용되는 외부 함수들을 수신할 수 있다. 그리고, 수신되는 정책 모델, 상황 정보, 및 외부 함수를 이용하여 각 서비스에 대한 정책 평가 결과를 출력할 수 있다. 즉, 정책 평가자(214)는, 정책 모델에서 정의한 평가 방법에 기초하여, 상황 정보 및 외부 함수의 조합으로 정책 모델 내 포함된 각 클래스의 적합도 값을 산출하고, 기 설정된 방식에 의해 각 클래스의 적합도 값을 조합하여 복수의 공통 지표로 변환할 수 있다. 여기서, 공통 지표는 서비스와 상관 없이 서비스의 적합도 평가에 공통으로 사용되는 적합도 평가 지표이다. 정책 평가자(214)에서 출력되는 정책 평가 결과는, 이러한 공통 지표들(예를 들어, 효율성, 안정성)에 대해 평가한 적합도 값을 포함할 수 있다.
작업 추론기(21)는 전술한 방식으로 각 서비스에 대한 정책 평가 결과를 실시간으로 획득하며, 이를 작업 실행자(22)로 실시간 전달할 수 있다.
이와 같이, 작업 추론기(21)는 서로 다른 정책을 사용하여 적합도를 판정하는 다양한 서비스들의 적합도 판정 결과를, 통일화된 공통 지표로 변환해서 출력할 수 있다.
작업 실행자(22)는 작업 추론기(21)에 의해 평가된 각 서비스의 정책 평가 결과에 기초하여, 복수의 작업계획(225) 중 현재 상황에 최적인 작업계획을 선택할 수 있다. 그리고, 선택된 작업계획에 의해 서비스들이 순차 수행되도록 제어할 수 있다.
이를 위해, 작업 실행자(22)는 세계 모델(221), 및 적합도 평가자(222), 작업계획 라이브러리(223)를 포함할 수 있다.
세계 모델(221)은 작업 실행자(22)의 지능 컴퍼넌트들이 알고 있는 논리 정보(예를 들어, 현재 상황 정보)를 자료구조화 한 것이다.
작업계획 라이브러리(223)는 로봇 시스템에서 수행 가능한 작업계획들(225)을 저장하고 관리할 수 있다. 여기서, 작업계획은, 서비스가 도달하고자 하는 목표(goal)에 대한 행동방법을 정의한 것으로서, 해당 작업계획이 달성할 수 있는 목표와, 해당 목표를 달성하기 위한 행위들의 집합, 및 해당 행위들을 수행하기 위한 사전 조건(precondition)등으로 구성될 수 있다.
작업계획 라이브러리(223)에 저장된 작업계획(225)들에는, 작업 추론기(21)의 정책 평가 결과를 이용하여 각 작업계획(225)의 적합도 값을 평가하기 위한 평가 방법이 정의되며, 이러한 평가 방법은 작업계획(225)에 따라서 다르게 정의될 수 있다.
적합도 평가자(222)는 작업 추론기(21)로부터 수신되는 각 서비스의 정책 평가 결과와, 작업계획 라이브러리(223)에 저장된 각 작업계획(225)의 적합도 평가 방법, 그리고 현재 상황 정보에 기초하여, 각 작업계획(225)에 대한 적합도를 평가할 수 있다. 즉, 적합도 평가자(222)는 각 서비스의 정책 평가 결과에 포함된 공통 지표들을 현재 상황에 대한 상황 정보와 연계하여 각 작업계획(225)에 대해 정의된 평가 방법에 적용함으로써, 각 작업계획에 대한 적합도를 평가할 수 있다.
적합도 평가자(222)는 각 작업계획(225)에 대한 적합도 값에 기초하여, 현재 상황에 가장 적합한 작업계획을 선택할 수 있다. 적합도 평가자(222)가 현재 상황에 가장 적합한 작업계획을 선택하면, 이는 작업계획이 수행하고자 하는 목표와, 해당 목표에 적합한 행위를 지시하는 의도 구조체(Intention Structure)(224) 형태로 출력될 수 있다.
작업 실행자(22)는 전술한 바와 같이, 현재 상황에 가장 적합한 작업계획이 선택되면, 선택된 작업계획에 대응하는 의도 구조체(224)를 참조하여 로봇 시스템(1)에서의 서비스를 실행시킬 수 있다.
도 4는 실시 예에 따른 로봇 시스템의 서비스 제공 방법을 개략적으로 도시한 것이다.
도 4를 참조하면, 실시 예에 따른 로봇 시스템(1)은 작업 추론기(21)는 로봇 시스템(1)이 수행해야 하는 서비스의 정책 모델(211)을 획득한다(S1). 그리고, 각 서비스의 정책 모델과, 현재 상황 정보 및 외부 함수를 연계하여 각 서비스의 정책 평가 결과를 도출한다(S2).
상기 S2 단계에서, 작업 추론기(21)는 정책 모델에서 정의한 평가 방법에 기초하여, 상황 정보 및 외부 함수의 조합으로 정책 모델 내 포함된 각 클래스의 적합도 값을 산출하고, 기 설정된 방식에 의해 각 클래스의 적합도 값을 조합하여 복수의 공통 지표로 변환할 수 있다. 이렇게 획득된 공통 지표들은 작업 실행자(22)로 정책 평과 결과로서 전달된다.
작업 실행자(22)는 각 서비스의 정책 평가 결과에 기초하여, 각 작업계획의 적합도를 획득하고(S3), 이를 토대로 현재 상황에 가장 적합한 작업계획을 선택한다(S4). 그리고, 선택된 작업계획에 맞춰 서비스를 실행시킨다(S5).
상기 S4 단계에서, 작업 실행자(22)는 작업 추론기(21)로부터 수신되는 각 서비스의 정책 평가 결과와 그리고 현재 상황 정보에 기초하여, 각 작업계획에 대해 정의된 평가 방법대로 각 작업계획의 적합도를 평가할 수 있다. 그리고, 상기 S5 단계에서는, 각 작업계획에 대해 평가된 적합도에 기초하여, 현재 상황에 가장 적합한 작업계획을 선택할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위해 기록매체에 기록된 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
1: 로봇 시스템
2: 서비스패키지
10: 서비스 디스패처
20: 작업 관리자
21: 작업 추론기
22: 작업 실행자
211: 정책 모델
212, 221: 세계 모델
213: 연산 모듈
214: 정책 평가자
222: 적합도 평가자
223: 작업계획 라이브러리
224: 의도 구조체
225: 작업계획
2: 서비스패키지
10: 서비스 디스패처
20: 작업 관리자
21: 작업 추론기
22: 작업 실행자
211: 정책 모델
212, 221: 세계 모델
213: 연산 모듈
214: 정책 평가자
222: 적합도 평가자
223: 작업계획 라이브러리
224: 의도 구조체
225: 작업계획
Claims (14)
- 각 서비스의 방향성을 나타내는 복수의 클래스 및 상기 복수의 클래스 각각에 대한 적합도 평가 방법을 정의하는 정책 모델과 현재 상황에 대응하는 상황 정보를 연계하여 상기 복수의 클래스 각각에 대한 적합도를 평가하고, 상기 복수의 클래스 각각의 적합도를 조합하여 서비스들의 적합도 평가에 공통으로 적용되는 공통 지표들로 변환하고, 상기 각 서비스에 대해 상기 공통 지표들을 포함하는 정책 평가 결과를 출력하는 작업 추론기, 및
상기 정책 평가 결과와 현재 상황 정보에 기초하여 복수의 작업계획 각각에 대한 적합도를 평가하고, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 작업 실행자를 포함하는 로봇 시스템. - 제1항에 있어서,
상기 작업 추론기는,
상기 정책 모델,
상황 정보들을 자료 구조화한 세계 모델, 및
상기 정책 모델 및 현재 상황에 대응하는 상황 정보에 기초하여, 상기 각 서비스에 대해 상기 정책 평가 결과를 획득하는 정책 평가자를 포함하는 로봇 시스템. - 제2항에 있어서,
상기 작업 추론기는, 상기 복수의 클래스 각각의 적합도 평가에 사용되는 외부 함수를 정의하는 연산 모듈을 더 포함하며,
상기 정책 평가자는, 상기 복수의 클래스 중 일부에 대해 상기 외부 함수를 이용하여 적합도를 판정하는 로봇 시스템. - 제1항에 있어서,
상기 복수의 클래스는,
서비스들에 공통으로 사용되는 복수의 제1클래스와, 대응하는 서비스의 개발 단계에서 추가된 적어도 하나의 제2클래스를 포함하는 로봇 시스템. - 제1항에 있어서,
상기 복수의 클래스 각각에 대한 적합도 평가 방법은, 대응하는 서비스의 개발 단계에서 정의되는 로봇 시스템. - 제1항에 있어서,
상기 작업 실행자는,
상황 정보들을 자료 구조화한 세계 모델,
상기 복수의 작업계획을 저장하는 작업계획 라이브러리, 및
상기 정책 평가 결과와 현재 상황 정보에 기초하여 상기 복수의 작업계획 각각에 대한 적합도를 평가하고, 상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 적합도 평가자를 포함하는 로봇 시스템. - 제6항에 있어서,
상기 적합도 평가자는, 상기 공통 지표들을 현재 상황 정보와 연계하여 상기 복수의 작업계획 각각에 대해 정의된 평가 방법에 적용함으로써, 상기 복수의 작업계획 각각의 적합도를 평가하는 로봇 시스템. - 제2항에 있어서,
상기 공통 지표는, 안전성 및 효율성을 포함하는 로봇 시스템. - 각 서비스의 방향성을 나타내는 복수의 클래스 및 상기 복수의 클래스 각각에 대한 적합도 평가 방법을 정의하는 정책 모델과 현재 상황에 대응하는 상황 정보를 연계하여 상기 복수의 클래스 각각에 대한 적합도를 평가하는 단계,
상기 복수의 클래스 각각의 적합도를 조합하여 서비스들의 적합도 평가에 공통으로 적용되는 공통 지표들이 포함된 정책 평가 결과를 획득하는 단계,
상기 정책 평가 결과와 현재 상황 정보에 기초하여 복수의 작업계획 각각에 대한 적합도를 평가하는 단계,
상기 복수의 작업계획 각각의 적합도에 기초하여 현재 상황에 최적인 작업계획을 선택하는 단계, 및
상기 현재 상황에 최적인 작업계획에 따라 서비스를 실행시키는 단계를 포함하는 로봇 시스템의 서비스 제공 방법. - 제9항에 있어서,
상기 복수의 클래스 각각에 대한 적합도를 평가하는 단계는,
상기 복수의 클래스 중 일부에 대해 상기 정책 모델 외부의 함수를 이용하여 적합도를 평가하는 단계를 포함하는 로봇 시스템의 서비스 제공 방법. - 제9항에 있어서,
상기 복수의 클래스는,
서비스들에 공통으로 사용되는 복수의 제1클래스와, 대응하는 서비스의 개발 단계에서 추가된 적어도 하나의 제2클래스를 포함하는 로봇 시스템의 서비스 제공 방법. - 제9항에 있어서,
상기 복수의 클래스 각각에 대한 적합도 평가 방법은, 대응하는 서비스의 개발 단계에서 정의되는 로봇 시스템의 서비스 제공 방법. - 제9항에 있어서,
상기 복수의 작업계획 각각에 대한 적합도를 평가하는 단계는,
상기 공통 지표들을 현재 상황 정보와 연계하여 상기 복수의 작업계획 각각에 대해 정의된 평가 방법에 적용함으로써, 상기 복수의 작업계획 각각의 적합도를 평가하는 단계를 포함하는 로봇 시스템의 서비스 제공 방법. - 제9항에 있어서,
상기 공통 지표는, 안전성 및 효율성을 포함하는 로봇 시스템의 서비스 제공 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180137235A KR102109886B1 (ko) | 2018-11-09 | 2018-11-09 | 로봇 시스템 및 이의 서비스 제공 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180137235A KR102109886B1 (ko) | 2018-11-09 | 2018-11-09 | 로봇 시스템 및 이의 서비스 제공 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102109886B1 true KR102109886B1 (ko) | 2020-05-12 |
Family
ID=70679353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180137235A KR102109886B1 (ko) | 2018-11-09 | 2018-11-09 | 로봇 시스템 및 이의 서비스 제공 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102109886B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023101365A1 (ko) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법 및 장치 |
WO2023101368A1 (ko) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080073414A (ko) * | 2007-02-06 | 2008-08-11 | 한국과학기술연구원 | 지능형 로봇의 지능적 작업 관리를 위한 컴포넌트 기반의작업 관리 소프트웨어의 구조 |
KR20110000689A (ko) * | 2008-04-02 | 2011-01-04 | 아이로보트 코퍼레이션 | 로보틱스 시스템 |
KR20110026212A (ko) * | 2009-09-07 | 2011-03-15 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
KR20160072621A (ko) * | 2014-12-15 | 2016-06-23 | 엘지전자 주식회사 | 학습과 추론이 가능한 로봇 서비스 시스템 |
KR20170057908A (ko) * | 2015-11-17 | 2017-05-26 | 동국대학교 산학협력단 | 로봇 시스템 및 그의 제어 방법 |
JP2017520068A (ja) * | 2014-05-23 | 2017-07-20 | データロボット, インコーポレイテッド | 予測データ分析のためのシステムおよび技術 |
-
2018
- 2018-11-09 KR KR1020180137235A patent/KR102109886B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080073414A (ko) * | 2007-02-06 | 2008-08-11 | 한국과학기술연구원 | 지능형 로봇의 지능적 작업 관리를 위한 컴포넌트 기반의작업 관리 소프트웨어의 구조 |
KR20110000689A (ko) * | 2008-04-02 | 2011-01-04 | 아이로보트 코퍼레이션 | 로보틱스 시스템 |
KR20110026212A (ko) * | 2009-09-07 | 2011-03-15 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
JP2017520068A (ja) * | 2014-05-23 | 2017-07-20 | データロボット, インコーポレイテッド | 予測データ分析のためのシステムおよび技術 |
KR20160072621A (ko) * | 2014-12-15 | 2016-06-23 | 엘지전자 주식회사 | 학습과 추론이 가능한 로봇 서비스 시스템 |
KR20170057908A (ko) * | 2015-11-17 | 2017-05-26 | 동국대학교 산학협력단 | 로봇 시스템 및 그의 제어 방법 |
Non-Patent Citations (2)
Title |
---|
김하빈 외 1명, "지능 로봇 제어를 위한 BDI 기반의 계획 실행기와 작업 계획기의 연동", 한국정보과학회 학술발표논문집, NO. 2, VOL. 32, PP.766~768 * |
유인식 외 3명,"지능형 로봇의 TASK MANEGEMENT 지원을 위한 TASK REASONER 요구사항 분석", 한국정보과학회 학술발표논문집, PP.929~931 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023101365A1 (ko) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법 및 장치 |
WO2023101368A1 (ko) * | 2021-11-30 | 2023-06-08 | 서울시립대학교 산학협력단 | 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Branke et al. | Automated design of production scheduling heuristics: A review | |
US11449370B2 (en) | System and method for determining a process flow of a software application and for automatically generating application testing code | |
US20070016829A1 (en) | Test case generator | |
KR102362749B1 (ko) | 지식베이스 기반 인공지능 적방책 분석 및 아방책 수립 시스템 및 그 방법 | |
US20100275186A1 (en) | Segmentation for static analysis | |
CN103425574A (zh) | 一种测试应用程序的方法及装置 | |
Aggarwal et al. | Test case generation from uml state machine diagram: A survey | |
KR102109886B1 (ko) | 로봇 시스템 및 이의 서비스 제공 방법 | |
CN111966361B (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
Frajtak et al. | Exploratory testing supported by automated reengineering of model of the system under test | |
US20050137839A1 (en) | Methods, apparatus and programs for system development | |
Sanchez et al. | An approach based on feature models and quality criteria for adapting component-based systems | |
US9983965B1 (en) | Method and system for implementing virtual users for automated test and retest procedures | |
Souza et al. | H-Switch Cover: a new test criterion to generate test case from finite state machines | |
Xia et al. | A model-driven approach for evaluating system of systems | |
Burton et al. | Complementing metaheuristic search with higher abstraction techniques | |
Hochgeschwender et al. | Testing service robots in the field: An experience report | |
Rauh et al. | AI asset management: a case study with the asset administration shell (AAS) | |
WO2023160402A1 (zh) | 数据建模方法、装置、设备和存储介质 | |
Asaduzzaman et al. | FEMIR: A tool for recommending framework extension examples | |
Bankauskaite et al. | Automated trade study analysis based on dynamic requirements verification in the model‐based system engineering | |
Ruhroth et al. | Versioning and evolution requirements for model-based system development | |
US8954310B2 (en) | Automatic designation of equivalent variable values | |
Kaindl et al. | Towards an extended requirements problem formulation for superintelligence safety | |
Freitas et al. | SCOUT: a multi-objective method to select components in designing unit testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |