KR101306556B1 - 스마트 기기 기반 통합 로봇 제어 시스템 - Google Patents

스마트 기기 기반 통합 로봇 제어 시스템 Download PDF

Info

Publication number
KR101306556B1
KR101306556B1 KR1020130037971A KR20130037971A KR101306556B1 KR 101306556 B1 KR101306556 B1 KR 101306556B1 KR 1020130037971 A KR1020130037971 A KR 1020130037971A KR 20130037971 A KR20130037971 A KR 20130037971A KR 101306556 B1 KR101306556 B1 KR 101306556B1
Authority
KR
South Korea
Prior art keywords
robot
smart device
user
program
control system
Prior art date
Application number
KR1020130037971A
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 KR1020130037971A priority Critical patent/KR101306556B1/ko
Application granted granted Critical
Publication of KR101306556B1 publication Critical patent/KR101306556B1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Abstract

본 발명은 스마트 기기 기반 통합 로봇 제어 시스템에 관한 것으로, 더욱 상세하게는 로봇 제어기의 의존성을 줄이고, 스마트 기기를 이용하여 개발 환경을 통합하고 쉽게 프로그램을 수정하고 테스트할 수 있는 스마트 기기 기반 통합 로봇 제어 시스템에 관한 것이다.

Description

스마트 기기 기반 통합 로봇 제어 시스템 {Robot Control System Based On Smart Device}
본 발명은 스마트 기기 기반 통합 로봇 제어 시스템에 관한 것으로, 더욱 상세하게는 로봇 제어기의 의존성을 줄이고, 스마트 기기를 이용하여 개발 환경을 통합하고 쉽게 프로그램을 수정하고 테스트할 수 있는 스마트 기기 기반 통합 로봇 제어 시스템에 관한 것이다.
도 1은 종래의 교육용 로봇 시스템을 개략적으로 도시한 것이다.
종래의 교육용 로봇 시스템은 프로그램 작성을 위한 에디터와 상기 작성된 프로그램을 XML로 변환하는 파일 매니저를 포함하는 컴퓨터와 사용자로부터 작성된 프로그램을 해석하여 동작을 제어하는 로봇 제어기를 포함하는 로봇을 포함하여 구성된다.
종래의 교육용 로봇에서 프로그램 활동은 사용자가 PC에서 실행되는 프로그램을 통해 통합 개발 환경을 활용하여 로봇의 프로그램을 작성하고, 로봇의 로봇 제어기가 해석할 수 있는 형태로 변환시켜 이식하는 과정으로 이루어진다.
그러나, 상기와 같은 방법은 사용자가 자신이 작성한 프로그램을 수정하는 과정이 번거로울 뿐만 아니라, 테스트를 수행하는 경우 로봇의 내부 상태를 알기 어려워 로봇 창작 활동을 방해하는 요인으로 작용하는 문제가 있었다.
또한, 다양한 로봇 제품에 적용하기 위해서는 펌웨어를 변경하여야 하므로 다양한 로봇 플랫폼을 수용할 수 없는 문제가 있었다.
상기와 같은 문제점을 해결하기 위해 안출된 것으로서 본 발명의 목적은 스마트 기기의 OS와 블루투스 통신 인터페이스를 이용하여 종래의 로봇 제어기가 담당하던 로봇의 두뇌 역할을 스마트 기기가 수행하고, 로봇 제어기는 I/O 보드 역할을 수행함으로써 펌웨어를 변경하지 않고 다양한 로봇 플랫폼을 통합적으로 수용할 수 있는 스마트 기기 기반 로봇 통합 제어 시스템을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위해 본 발명에 따른 스마트 기기 기반 로봇 통합 제어 시스템은 프로그래밍 유저 인터페이스와 사용자 프로젝트를 저장 관리하는 파일 매니저와 로봇과 동기화를 수행하는 역할과 사용자가 작성한 프로그램의 논리를 검사하여 실행하는 가상 로봇을 포함하는 스마트 기기와 상기 스마트 기기에서 지시한 명령을 수행하고, 로봇 센서로 취득한 정보를 상기 스마트 기기에 제공하는 로봇을 포함하는 것을 특징으로 한다.
상기 프로그래밍 유저 인터페이스는 사용자가 프로그래밍을 기초 조건, 복합 조건, 행동 단위로 나누어 편집할 수 있도록 설계하여 사용자가 프로젝트를 단계적으로 설계할 수 있도록 유도하고 프로그램의 수정이 용이하도록 지원하는 에디터 UI와 프로그램을 편집하는 중에도 매 프레임마다 가상 로봇과 동기화되어 사용자에게 프로그램 편집에 필요한 센서 정보와 조건 상태 정보, 로봇의 상태정보를 제공하는 모니터와 프로그램이 실행되는 중에만 작동하며 로봇에 내려진 모든 명령을 로깅하는 로거를 포함하여 로봇의 오작동에 대한 디버깅을 사용자가 직관적으로 진행할 수 있도록 지원하는 모니터 UI와 사용자가 화면상에 가상의 센서를 추가하여 사용할 수 있는 가상 센서 기능을 제공하여 로봇의 부족한 입력장치를 지원하는 플레이어 UI를 포함하는 것을 특징으로 한다.
그리고 상기 파일 매니저는 사용자가 작성한 프로그램 코드(VPL code)와 사용자 조립 명세서가 포함되는 상기 사용자 프로젝트를 XML 형식으로 변환하여 스마트 기기의 파일 시스템에 저장하는 것을 특징으로 한다.
또한, 상기 스마트 기기는 새로운 명령어나 새로운 로봇이 추가되어도 사용자가 저작한 컨텐츠에 영향을 미치지 않도록 설계된 VPL 프레임 워크와 다양한 로봇을 지원하기 위해 설계된 로봇 프레임 워크를 포함하는 프레임 워크 기반으로 구성된 것을 특징으로 한다.
그리고 상기 가상 로봇은 상기 로봇의 구동을 위해 로봇 통신부와 동기화를 진행하고, 상기 스마트 기기의 기능을 활용하기 위해 상기 스마트 기기 OS와 통신을 수행하는 통신모듈과 사용자가 저작한 프로그램의 논리를 검사 및 실행하는 로직 모듈 및 상기 통신모듈을 통해 전송된 프로그램 데이터를 저장하는 메모리를 포함하는 것을 특징으로 한다.
또한, 상기 로직 모듈은 조건 검사 주기마다 기초 조건들의 목록을 일괄적으로 검사한 후 결과를 조건 모니터에 갱신하고, 기초 조건에 대한 검사가 완료되면 기초 조건들의 논리 연산으로 정의된 복합 조건들에 대한 검사를 일괄적으로 시행하는 상기 복합 조건이 만족할 경우 이와 대응된 행동이 행동 실행기에 후보 행동으로 추천하는 조건 검사자와 현재 실행중인 행동이 존재할 경우 후보 행동과 우선순위를 경쟁하여 높은 우선순위를 가진 행동을 실행하는 행동 실행기를 포함하여 사용자가 작성한 프로그램에 따라 가상 로봇을 제어하는 것을 특징으로 한다.
그리고 상기 로직 모듈은 제품의 하드웨어 성능을 바탕으로 사용자가 선택할 수 있는 편집 범위를 제한하고 사용자가 편집한 값을 실제 사용될 데이터의 형태로 변환하여 메모리에 저장하는 것을 특징으로 한다.
또한, 상기 통신 모듈은 상기 메모리에 저장된 데이터를 주기적으로 상기 로봇에 전송하여 실시간으로 갱신하되, 2개의 유동적인 갱신 주기인 현재 실행되고 있는 행동을 메모리에 갱신하기 위한 갱신 주기 A와 가상 로봇의 메모리에 저장된 데이터를 실제 로봇에 갱신하기 위한 갱신 주기 B를 사용하여 현재 실행되는 행동과 실제 로봇 장치 사이에 비동기 갱신을 수행하는 것을 특징으로 한다.
그리고 상기 가상 로봇은 상기 갱신 주기를 조절하기 위해 상기 통신 모듈과 메모리 사이에 어댑터를 더 포함하는 것을 특징으로 한다.
또한, 상기 로봇은 로봇 센서로 취득한 미가공 데이터를 다운 샘플링하여 로봇 통신부에 전송하고, 상기 로봇 통신부로부터 전송된 패킷을 해석하여 액츄에이터에 전달하는 입출력부와 상기 로봇의 동작을 제어하는 로봇 제어기와 상기 가상 로봇의 통신 모듈과 통신을 수행하여, 스마트 기기에서 지시한 명령을 상기 로봇 제어기로 제공하고, 로봇 센서로 취득한 정보를 상기 스마트 기기로 전송하는 로봇 통신부를 포함하는 것을 특징으로 한다.
상기에서 살펴본 바와 같이 본 발명에 따른 스마트 기기 기반 로봇 통합 제어 시스템은 스마트 기기를 로봇의 제어기로 확장하여 저가 제어기에 없었던 고급 기능을 지원하고, 스마트 기기의 고급 센서와 가상 센서를 로봇 센서와 동일하게 사용하도록 지원함으로써 저가의 교육용 로봇에 부족한 입력 장치를 지원할 수 있는 탁월한 효과가 발생한다.
또한, 항시 로봇의 내부를 모니터할 수 있는 기능을 제공하여 디버깅이 어려운 로봇 프로그래밍에서 사용자 스스로 문제를 찾을 수 있도록 지원하고, 로봇의 모니터는 눈에 보이지 않는 센서 변화를 시각화한 센서 모니터와 사용자가 정의한 조건이 올바르게 동작하는지 확인할 수 있는 조건 모니터, 하드웨어 이상에 따른 오작동을 확인할 수 있는 장치 모니터로 구분하여 문제의 원인 파악은 물론 편집하거나 실행할 때 디버깅이 가능한 탁월한 효과가 발생한다.
그리고 로봇 제어기를 I/O 보드로 사용하고 가상의 로봇 모델을 정의하여 기존에 상용화된 제품을 통합적으로 수용할 수 있으며, 상용화된 제품들이 사용하는 리모컨용 블루투스 모듈로도 제어할 수 있는 통신 프로토콜을 구현하여 추가로 하드웨어를 구입할 필요가 없으며, 로봇 사양 명세서와 사용자 조립 명세서를 기반의 가상의 로봇 모델을 정의하고 실제 로봇과 동기화 시 상기 로봇 모델을 통해 진행함으로써 사양에 따른 성능을 최적화할 수 있는 탁월한 효과가 발생한다.
도 1은 종래의 교육용 로봇 시스템을 개략적으로 도시한 것이다.
도 2는 본 발명의 바람직한 실시예에 따른 스마트 기기 기반 통합 로봇 제어 시스템을 개략적으로 도시한 시스템 구성도이고, 도 3은 도 2의 상세 구성도이다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 로봇과 로봇의 비동기 갱신을 개략적으로 도시한 것이다.
도 5는 본 발명의 바람직한 실시예에 따른 스마트 기기와 연동하여 확장된 로봇 구조를 도시한 것이다.
도 6은 교육용 로봇 제품의 블루투스 통신 프로토콜을 도시한 것이다.
도 7은 무선 제어용 통신 프로토콜의 유효 패킷을 분할하여 사용하는 것을 도시한 것이다.
이하, 본 발명의 구체적인 실시예에 대하여 도면을 참조하여 상세하게 설명하기로 한다.
도 2는 본 발명의 바람직한 실시예에 따른 스마트 기기 기반 통합 로봇 제어 시스템을 개략적으로 도시한 시스템 구성도이고, 도 3은 도 2의 상세 구성도이다.
도 2 및 3을 참조하면, 본 발명에 따른 로봇 제어 시스템은 스마트 기기(10)와 로봇(20)을 포함하여 구성된다.
여기서, 상기 스마트 기기(10)는 스마트폰, 태블릿 PC와 같은 CPU를 구비하고, 블루투스를 지원하는 모든 기기를 포함할 수 있다.
상기 스마트 기기(10)는 프로그래밍 유저 인터페이스(110)와 사용자의 로봇 프로그래밍 활동을 지원하는 파일 매니저(120)와 로봇과 실행중인 사용자 프로그램의 차이를 줄이기 위한 가상 로봇(130)을 포함하여 구성될 수 있다.
상기 프로그래밍 유저 인터페이스(110)는 에디터 UI와 모니터 UI 및 플레이어 UI를 포함하여 구성된다. 상기 에디터 UI는 사용자가 프로그래밍을 기초 조건, 복합 조건, 행동 단위로 나누어 편집할 수 있도록 설계하여 사용자가 프로젝트를 단계적으로 설계할 수 있도록 유도하고 프로그램의 수정이 용이하도록 지원하는 역할을 담당한다.
상기 모니터 UI는 센서 모니터, 조건 모니터, 장치 모니터, 로거(Logger)로 구성되어 로봇의 오작동에 대한 디버깅을 사용자가 직관적으로 진행할 수 있도록 지원하는 역할을 담당한다.
상기 센서 모니터와 조건 모니터, 장치 모니터는 프로그램을 편집하는 중에도 매 프레임마다 가상 로봇과 동기화되어 사용자에게 프로그램 편집에 필요한 센서 정보와 조건 상태 정보, 로봇의 상태정보를 제공하는 역할을 담당한다.
그리고 상기 로거는 프로그램이 실행되는 중에만 작동하며 로봇에 내려진 모든 명령을 로깅하는 역할을 담당한다.
상기 플레이어 UI는 사용자가 화면상에 가상의 센서를 추가하여 사용할 수 있는 가상 센서 기능을 제공하여 로봇의 부족한 입력장치를 지원하는 역할을 담당한다.
상기 프로그래밍 유저 인터페이스(110)는 필요시 모드전환 스위치를 통해 편집모드와 실행모드를 변경할 수 있으므로 용이한 수정과 테스트가 가능하다.
상기 파일 매니저(120)는 사용자 프로젝트를 XML 형식으로 변환하여 스마트 기기의 파일 시스템에 저장하는 역할을 담당한다. 상기 사용자 프로젝트에는 사용자가 작성한 프로그램 코드(VPL code)와 사용자 조립 명세서가 포함된다.
본 발명은 프레임 워크를 기반으로 동작하며 새로운 명령어나 새로운 로봇이 추가되어도 사용자가 저작한 컨텐츠에 영향을 미치지 않도록 설계된 VPL 프레임 워크와 다양한 로봇을 지원하기 위해 설계된 로봇 프레임 워크를 포함하여 구성될 수 있다.
상기와 같은 프레임 워크 뿐만 아니라 스마트 기기는 상용화된 엔진인 유니티3D(Unity3D)을 기반으로 구현될 수 있으며, 상기 유니티3D는 이기종의 하드웨어에 지원하도록 오픈소스화된 모노프로젝트를 기반으로 한다.
따라서, 유니티3D를 활용하면 엔진에서 제공하는 3차원 그래픽 기능의 변형으로 2차원의 사용자 인터페이스를 표현할 수 있고, 모노프로젝트의 API를 활용한 빠른 개발이 가능할 뿐만 아니라 Windows, iOS, 안드로이드 등 다양한 OS에 대한 호환성이 보장된 개발 환경을 구축할 수 있다.
상기 가상 로봇(130)은 로봇과 동기화를 수행하는 역할과 사용자가 작성한 프로그램의 논리를 검사하여 실행하는 역할을 담당한다.
상기 가상 로봇(130)은 로봇의 구동을 위해 로봇 통신부와 동기화를 진행하거나 스마트 기기의 고급 기능을 활용하기 위해 스마트 기기 OS와 통신을 수행하는 통신모듈(131)과 프로그램의 논리를 검사 및 실행하는 로직 모듈(132)과 상기 통신모듈을 통해 전송된 프로그램 데이터를 저장하는 메모리(133)를 포함하여 구성된다.
상기 로직 모듈(132)은 조건 검사자(Condition Checker)와 행동 실행기(Behavior Runner)를 구비하여 사용자가 작성한 프로그램에 따라 가상 로봇을 제어한다.
상기 조건 검사자는 조건 검사 주기마다 sensor1 > 30과 같은 기초 조건들의 목록을 일괄적으로 검사한 후 결과를 조건 모니터에 갱신하고, 기초 조건에 대한 검사가 완료되면 기초 조건들의 논리 연산으로 정의된 복합 조건들에 대한 검사를 일괄적으로 시행한다.
상기 복합 조건이 만족할 경우 이와 대응된 행동이 행동 실행기에 후보 행동으로 추천된다.
상기 행동 실행기는 현재 실행중인 행동이 존재할 경우 후보 행동과 우선순위를 경쟁하여 높은 우선순위를 가진 행동을 실행한다.
상기와 같은 가상 로봇(130)은 본 발명의 핵심 구성으로서, 스마트 기기와 로봇 사이에서 원활한 제어 및 모니터링을 수행하기 위한 중재자 역할을 담당한다.
교육용 로봇 프로그래밍 환경은 일반적인 로봇 프로그래밍 환경과 다르게 사용자가 선택한 로봇 제품과 조립에 사용한 부품에 따라 다양한 형태로 변할 수 있기 때문에 이를 수용할 수 있는 준비가 필요하다.
따라서, 사용자가 파일 매니저를 통해 창작한 로봇을 프로그래밍할 수 있도록 지원하기 위해서는 프로그래밍 환경에서 창작에 사용된 로봇 부품에 대한 편집만 가능하도록 제한을 둘 필요가 있다.
이를 통해 사용자가 조립에 사용하지 않은 부품에 대한 행동을 정의하지 못하게 막을 수 있고 사용한 부품에 대해서만 모니터링 기능을 제공할 수 있어서 혼돈되는 상황을 사전에 방지할 수 있다.
사용자가 창작한 로봇에 맞춰진 기능을 제공하려면 사용자가 조립에 사용한 제품의 종류와 조립한 형태에 대한 기본 정보가 필요하다. 이러한 정보는 로봇 사양 명세서와 로봇 조립 명세서로부터 얻을 수 있다.
상기 로봇 사양 명세서는 제품의 종류에 따라 제어에 필요한 변수의 종류와 값의 범위, 제어 해상도, 장치 주소 값 등을 기술한 형태이고, 본 발명에 따른 로봇 제어 시스템이 새로운 제품을 수용하고자 할 때 반드시 필요한 정보이다.
상기 로봇 조립 명세서는 사용자가 조립에 사용한 제품의 종류와 부품의 개수, 포트 연결에 대한 정보이다.
상기 2가지 명세서를 기반으로 생성된 가상 로봇(130)은 실제 조립된 로봇과 실행중인 사용자 프로그램의 차이를 줄이는 역할을 담당한다.
상기 가상 로봇(130)은 제품의 하드웨어 성능을 바탕으로 사용자가 선택할 수 있는 편집 범위를 제한하고 사용자가 편집한 값을 실제 사용될 데이터의 형태로 변환하여 메모리(133)에 저장한다.
상기 메모리(133)에 저장된 데이터는 통신 모듈(131)에 의해 주기적으로 로봇에 전송되어 실시간으로 갱신된다.
이 때, 상기 통신 모듈(131)은 2개의 유동적인 갱신 주기를 사용하여 갱신의 안정성을 보장한다.
도 4는 본 발명의 바람직한 실시예에 따른 가상 로봇과 로봇의 비동기 갱신을 개략적으로 도시한 것이다.
도 4를 참조하면, 갱신 주기 A는 현재 실행되고 있는 행동을 메모리에 갱신하기 위한 주기이며 이는 프로그램을 구동하는 스마트 기기의 CPU 영향을 받는다.
갱신 주기 B는 블루투스 장치를 활용한 가상 로봇의 메모리에 저장된 데이터를 실제 로봇에 갱신하기 위한 주기이며 로봇의 UART(Universal Asynchronous Receiver and Transmitter) 통신을 사용한다. 이는 비동기 통신이며 블루투스 모듈의 속도와 이를 처리하는 로봇 제어기의 CPU 영항을 받는다.
2번의 갱신주기 사이에는 메모리가 위치하며 이를 통해 현재 실행되는 행동과 실제 로봇 장치 사이에 비동기 갱신이 이루어지게 된다.
현재 실행되는 행동에 따라 로봇 장치를 자주 갱신할 필요가 발생할 수 있는데 이때 갱신 주기를 높이지 않으면 메시지 큐가 넘치는 상황이 발생할 수 있다.
또한, 갱신이 불필요한 경우에는 갱신주기를 낮춰 배터리 소모를 최소화하도록 제어될 수 있으며, 갱신 주기를 조절하기 위해서 가상 로봇의 통신 모듈과 메모리 사이에 어댑터를 더 포함하여 구성될 수 있다.
한편, 로봇(Robot Part, 20)은 로봇 제어기(220)와 입출력부(Robot device I/O, 210) 및 로봇 통신부(Robot Communicator, 230)를 포함하여 구성될 수 있으며, 로봇 제품에서 지원하는 프로그래밍 소프트웨어를 통해 쉽게 구현될 수 있다.
상기 로봇(20)은 스마트 기기(10)에서 지시한 명령을 수행하는 역할과 로봇 센서로 취득한 정보를 상기 스마트 기기에 제공하는 역할을 담당한다.
이러한 과정에서 상기 입출력부(210)는 로봇 센서로 취득한 미가공 데이터를 다운 샘플링하여 로봇 통신부(230)에 전송하고, 상기 로봇 통신부로부터 전송된 패킷을 해석하여 액츄에이터에 전달하는 역할만을 담당한다. 여기서, 실제로 스마트 기기와의 통신은 가상 로봇 내에 장착된 통신 모듈(133)과 상기 로봇 통신부(230) 사이의 외부 연결을 통해 이루어진다.
이 때, 상기 외부 연결은 로봇 하드웨어에서 지원하는 근거리 통신방법에 따라 다양한 방법을 적용할 수 있는데, 대부분의 교육용 로봇의 경우 무선 통신을 위해 블루투스 장치를 지원하므로 블루투스 방식을 사용하는 것이 바람직하다.
본 발명은 로봇의 기능을 추가로 지원하기 위해서 스마트 기기의 고급 기능을 물리적 로봇의 부품처럼 활용한다.
도 5는 본 발명의 바람직한 실시예에 따른 스마트 기기와 연동하여 확장된 로봇 구조를 도시한 것이다.
도 5를 참조하면, TTS(Text To Speech)나 음성인식, 자이로 센서와 같은 고급 센서 등 로봇에서 활용될 수 있는 스마트 기기의 고급 기능은 대부분 스마트 기기의 OS를 통해 제어할 수 있다.
스마트 기기의 고급 기능 제어는 로봇을 제어할 때와 같이 가상 로봇의 통신 모듈에 의해서 수행되지만 스마트 기기의 OS와 가상 로봇은 물리적으로 같은 공간 내에 위치하므로 별도의 통신 기기를 사용하지 않는다.
본 발명은 저작된 사용자 컨텐츠가 스마트 기기에서 바로 실행되므로 로봇 제어기에 상기 저작된 사용자 컨텐츠를 이식할 필요가 없으므로 로봇에 프로그램을 다운로드하는 기능이 불필요하다.
따라서, 저작된 사용자 컨텐츠를 파일 형태로 저장하면 프로젝트 파일을 공유하는 것만으로 사용자 간에 컨텐츠 공유가 가능하다.
한편, 다양한 제품의 교육용 로봇 하드웨어를 지원하기 위해서는 스마트 기기와 로봇 간의 통신 프로토콜을 표준화하여 상용화된 로봇에 모두 적용하거나, 기존에 각 제품들이 사용하던 프로토콜을 모두 수용하여야 한다.
본 발명은 프로토콜을 모두 수용하는 방법을 채택하였으며, 수용 제품이 추가될 때마다 필요한 개발시간을 단축하기 위해 제어 프로토콜을 지정하는 방식으로 구현된다.
도 6은 교육용 로봇 제품의 블루투스 통신 프로토콜을 도시한 것이다.
도 6을 참조하면, 교육용 로봇 제품들의 블루투스 통신 프로토콜은 리모트 컨트롤에 적합하도록 설계되어 있으며, 유효 데이터의 크기에 따라 제품을 분류하면 유효 데이터 범위가 같은 제품들은 같은 제어 프로토콜을 사용할 수 있으므로 개발 시간을 단축시킬 수 있다.
로봇 제어기에는 스마트 기기에서 전송된 데이터를 해석하여 로봇을 제어하기 위한 제어 프로토콜이 이식되어야 한다.
상기 제어 프로토콜은 스마트 기기로부터 전송받은 패킷을 해석하여 제어하고자하는 장치 종류(type)와 장치 식별자(ID), 값(value)을 알아내기 위한 규약과 환경으로부터 취득한 센서 데이터를 스마트 기기가 해석할 수 있는 패킷으로 만드는 규약을 포함한다. 또한, 상기 규약대로 만들어진 패킷을 전송하는데 사용할 리모트 컨트롤용 통신 프로토콜도 포함한다.
도 7은 무선 제어용 통신 프로토콜의 유효 패킷을 분할하여 사용하는 것을 도시한 것이다.
도 7을 참조하면, 먼저 리모컨 제어에 사용할 경우 동시에 여러 버튼이 눌렸는지 확인하기 위하여 유효 패킷을 1비트 단위로 나누어 리모컨의 각 버튼에 대응시킨다. 이러한 방법은 동시에 여러 명령을 내릴 수 있다는 장점이 있지만 수용할 수 있는 명령의 수가 유효 패킷의 비트 수로 제한된다는 단점이 있다.
따라서, 로봇을 직접 제어하기 위해 이를 변형하면 한 번의 유효 패킷에 하나의 장치만을 제어할 수 있는 명령만 담아 패킷의 크기를 확보하고, 유효 패킷은 장치의 종류와 장치의 식별자, 값을 담기 위해 3개의 필드로 분할된다.
식별자 필드는 원하는 장치를 구분하기 위해서 반드시 필요하고 값 필드는 명령의 정도(level)를 세분화하기 위해 필요하다.
종류 필드는 장치의 종류에 따라 값을 처리하기 위한 방법이 달라지기 때문에 포함되어야 한다.
이와 같은 방법은 도 7과 같이 제품이 기존에 사용하던 프로그래밍 방식을 그대로 사용하여 구현될 수 있기 때문에 이미 상품화된 로봇 제어기 내에 이식되어 있는 펌웨어를 수정하지 않고도 적용할 수 있다.
이상에서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명의 보호범위는 상기 실시예에 한정되는 것이 아니며, 해당 기술분야의 통상의 지식을 갖는 자라면 본 발명의 사상 및 기술영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : 스마트 기기 20 : 로봇

Claims (10)

  1. 프로그래밍 유저 인터페이스와 사용자 프로젝트를 저장 관리하는 파일 매니저와, 로봇의 구동을 위해 로봇 통신부와 동기화를 진행하고 스마트 기기의 기능을 활용하기 위해 스마트 기기 OS와 통신을 수행하는 통신모듈과 사용자가 저작한 프로그램의 논리를 검사 및 실행하는 로직 모듈 및 상기 통신모듈을 통해 전송된 프로그램 데이터를 저장하는 메모리를 포함하여 로봇과 동기화를 수행하고 사용자가 작성한 프로그램의 논리를 검사하여 실행하는 가상 로봇을 포함하는 스마트 기기와;
    상기 스마트 기기에서 지시한 명령을 수행하고, 로봇 센서로 취득한 정보를 상기 스마트 기기에 제공하는 로봇을 포함하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  2. 제 1항에 있어서,
    상기 프로그래밍 유저 인터페이스는
    사용자가 프로그래밍을 기초 조건, 복합 조건, 행동 단위로 나누어 편집할 수 있도록 설계하여 사용자가 프로젝트를 단계적으로 설계할 수 있도록 유도하고 프로그램의 수정이 용이하도록 지원하는 에디터 UI와;
    프로그램을 편집하는 중에도 매 프레임마다 가상 로봇과 동기화되어 사용자에게 프로그램 편집에 필요한 센서 정보와 조건 상태 정보, 로봇의 상태정보를 제공하는 모니터와 프로그램이 실행되는 중에만 작동하며 로봇에 내려진 모든 명령을 로깅하는 로거를 포함하여 로봇의 오작동에 대한 디버깅을 사용자가 직관적으로 진행할 수 있도록 지원하는 모니터 UI와;
    사용자가 화면상에 가상의 센서를 추가하여 사용할 수 있는 가상 센서 기능을 제공하여 로봇의 부족한 입력장치를 지원하는 플레이어 UI를 포함하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  3. 제 1항에 있어서,
    상기 파일 매니저는
    사용자가 작성한 프로그램 코드(VPL code)와 사용자 조립 명세서가 포함되는 상기 사용자 프로젝트를 XML 형식으로 변환하여 스마트 기기의 파일 시스템에 저장하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  4. 제 1항에 있어서,
    상기 스마트 기기는
    새로운 명령어나 새로운 로봇이 추가되어도 사용자가 저작한 컨텐츠에 영향을 미치지 않도록 설계된 VPL 프레임 워크와 다양한 로봇을 지원하기 위해 설계된 로봇 프레임 워크를 포함하는 프레임 워크 기반으로 구성된 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  5. 삭제
  6. 제 1항에 있어서,
    상기 로직 모듈은
    조건 검사 주기마다 기초 조건들의 목록을 일괄적으로 검사한 후 결과를 조건 모니터에 갱신하고, 기초 조건에 대한 검사가 완료되면 기초 조건들의 논리 연산으로 정의된 복합 조건들에 대한 검사를 일괄적으로 시행하는 상기 복합 조건이 만족할 경우 이와 대응된 행동이 행동 실행기에 후보 행동으로 추천하는 조건 검사자와;
    현재 실행중인 행동이 존재할 경우 후보 행동과 우선순위를 경쟁하여 높은 우선순위를 가진 행동을 실행하는 행동 실행기를 포함하여 사용자가 작성한 프로그램에 따라 가상 로봇을 제어하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  7. 제 6항에 있어서,
    상기 로직 모듈은
    제품의 하드웨어 성능을 바탕으로 사용자가 선택할 수 있는 편집 범위를 제한하고 사용자가 편집한 값을 실제 사용될 데이터의 형태로 변환하여 메모리에 저장하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  8. 제 6항에 있어서,
    상기 통신 모듈은
    상기 메모리에 저장된 데이터를 주기적으로 상기 로봇에 전송하여 실시간으로 갱신하되;
    2개의 유동적인 갱신 주기인 현재 실행되고 있는 행동을 메모리에 갱신하기 위한 갱신 주기 A와 가상 로봇의 메모리에 저장된 데이터를 실제 로봇에 갱신하기 위한 갱신 주기 B를 사용하여 현재 실행되는 행동과 실제 로봇 장치 사이에 비동기 갱신을 수행하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  9. 제 8항에 있어서,
    상기 가상 로봇은
    상기 갱신 주기를 조절하기 위해 상기 통신 모듈과 메모리 사이에 어댑터를 더 포함하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
  10. 제 1항에 있어서,
    상기 로봇은
    로봇 센서로 취득한 미가공 데이터를 다운 샘플링하여 로봇 통신부에 전송하고, 상기 로봇 통신부로부터 전송된 패킷을 해석하여 액츄에이터에 전달하는 입출력부와;
    상기 로봇의 동작을 제어하는 로봇 제어기와;
    상기 가상 로봇의 통신 모듈과 통신을 수행하여, 스마트 기기에서 지시한 명령을 상기 로봇 제어기로 제공하고, 로봇 센서로 취득한 정보를 상기 스마트 기기로 전송하는 로봇 통신부를 포함하는 것을 특징으로 하는 스마트 기기 기반 통합 로봇 제어 시스템.
KR1020130037971A 2013-04-08 2013-04-08 스마트 기기 기반 통합 로봇 제어 시스템 KR101306556B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130037971A KR101306556B1 (ko) 2013-04-08 2013-04-08 스마트 기기 기반 통합 로봇 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130037971A KR101306556B1 (ko) 2013-04-08 2013-04-08 스마트 기기 기반 통합 로봇 제어 시스템

Publications (1)

Publication Number Publication Date
KR101306556B1 true KR101306556B1 (ko) 2013-09-09

Family

ID=49455627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130037971A KR101306556B1 (ko) 2013-04-08 2013-04-08 스마트 기기 기반 통합 로봇 제어 시스템

Country Status (1)

Country Link
KR (1) KR101306556B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101524783B1 (ko) * 2013-12-16 2015-06-01 주식회사마이크로컴퓨팅 로봇 동작 프로그래밍 장치
WO2015160098A1 (ko) * 2014-04-15 2015-10-22 주식회사 로보티즈 스마트 기기에 의해 제어되는 로봇 및 로봇 제어 시스템
KR101678383B1 (ko) 2015-05-27 2016-12-06 주식회사 유진로봇 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법
US10864627B2 (en) 2014-06-12 2020-12-15 Wonder Workshop, Inc. System and method for facilitating program sharing
CN113874175A (zh) * 2020-03-09 2021-12-31 深圳市大疆创新科技有限公司 控制系统、方法、电子设备、可移动设备及计算机可读存储介质
CN115635272A (zh) * 2022-10-24 2023-01-24 南京佳和牙科技术有限公司 牙模与底座的安装方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120049374A (ko) * 2009-08-27 2012-05-16 네트 파워 앤드 라이트 인코포레이티드 편재형 컴퓨팅 시스템 및 방법
KR20120118825A (ko) * 2011-04-19 2012-10-29 한성대학교 산학협력단 가상 상위 명령어를 이용하여 로봇과 멀티미디어 컨텐츠를 제어하는 방법과 그를 위한 컴퓨터로 읽을 수 있는 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120049374A (ko) * 2009-08-27 2012-05-16 네트 파워 앤드 라이트 인코포레이티드 편재형 컴퓨팅 시스템 및 방법
KR20120118825A (ko) * 2011-04-19 2012-10-29 한성대학교 산학협력단 가상 상위 명령어를 이용하여 로봇과 멀티미디어 컨텐츠를 제어하는 방법과 그를 위한 컴퓨터로 읽을 수 있는 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문1.2012.7 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101524783B1 (ko) * 2013-12-16 2015-06-01 주식회사마이크로컴퓨팅 로봇 동작 프로그래밍 장치
WO2015160098A1 (ko) * 2014-04-15 2015-10-22 주식회사 로보티즈 스마트 기기에 의해 제어되는 로봇 및 로봇 제어 시스템
US10864627B2 (en) 2014-06-12 2020-12-15 Wonder Workshop, Inc. System and method for facilitating program sharing
KR101678383B1 (ko) 2015-05-27 2016-12-06 주식회사 유진로봇 이기종 로봇 및 기기를 이용한 동적 서비스 제공 시스템 및 방법
CN113874175A (zh) * 2020-03-09 2021-12-31 深圳市大疆创新科技有限公司 控制系统、方法、电子设备、可移动设备及计算机可读存储介质
CN115635272A (zh) * 2022-10-24 2023-01-24 南京佳和牙科技术有限公司 牙模与底座的安装方法
CN115635272B (zh) * 2022-10-24 2023-09-08 上海微云实业集团有限公司 牙模与底座的安装方法

Similar Documents

Publication Publication Date Title
KR101306556B1 (ko) 스마트 기기 기반 통합 로봇 제어 시스템
US9830166B2 (en) Software-defined IoT controller
Nádvorník et al. Remote control robot using Android mobile device
EP3217283A1 (en) Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium
JP6349805B2 (ja) 通信ユニット、コントローラ、制御システム、制御方法、およびプログラム
CN104317236A (zh) 基于软plc技术的无线传感器网络控制终端
JP2019159697A (ja) 制御システムおよび制御方法
JP6333512B2 (ja) 適応型マイクロコントローラ式のリストップコンピュータ、それに関連するシステム及びソフトウェアプロダクト
CN106484403A (zh) 一种机器人跨平台的图形化开发系统
CN104503898A (zh) 一种嵌入式软件调试参数实时查看的方法及系统
KR20130079046A (ko) Hmi 시뮬레이터 및 plc 시뮬레이터간의 통신 시뮬레이션 시스템
US11140236B2 (en) Device arrangement for deriving a communication data scheme
US20160072692A1 (en) Two-way remote communication system
JP2018045406A (ja) 測定システム、センサデバイス、及び測定システムの制御方法
KR102065421B1 (ko) 모바일 기기 및 모바일 기기를 활용한 가상현실 기기 컨트롤러 구동 방법.
CN112506871B (zh) 自动化任务管理及日志管理方法、系统、电子设备和介质
EP3528126B1 (en) Representing a test execution of a software application using extended reality
US11429357B2 (en) Support device and non-transient computer-readable recording medium recording support program
CN103902274A (zh) 智能电视ui开发的平台
KR100918840B1 (ko) 센서 네트워크를 구성하기 위한 타겟 센서 노드를 시험하는장치 및 그 방법
US11287789B2 (en) Program development support device, program development support system, program development support method, and non-transitory computer-readable recording medium
US11835942B2 (en) Real-time high-speed clock signal for industrial network emulation
Maksimova et al. Modern Approaches with Python in Sensory Fusion
US20240176659A1 (en) Transparently executing actions within a containerized cloud environment
KR20170131789A (ko) 음성인식을 이용한 스마트 완구의 제어방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20160823

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170710

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190812

Year of fee payment: 7