KR20090110486A - 로봇 제어 코드 생성 방법 및 그 장치 - Google Patents

로봇 제어 코드 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR20090110486A
KR20090110486A KR1020080036009A KR20080036009A KR20090110486A KR 20090110486 A KR20090110486 A KR 20090110486A KR 1020080036009 A KR1020080036009 A KR 1020080036009A KR 20080036009 A KR20080036009 A KR 20080036009A KR 20090110486 A KR20090110486 A KR 20090110486A
Authority
KR
South Korea
Prior art keywords
module
code
function
control code
function module
Prior art date
Application number
KR1020080036009A
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 KR1020080036009A priority Critical patent/KR20090110486A/ko
Publication of KR20090110486A publication Critical patent/KR20090110486A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

로봇 제어 코드 생성 방법 및 그 장치가 개시된다. 범용 입출력(GPIO, general purpose input output) 포트를 구비한 메인 모듈을 포함하는 로봇에 관하여, 제어 코드생성 장치에 의하여 수행되는 제어 코드 생성 방법으로서, 메인 모듈의 하드웨어 속성 정보를 포함하는 하드웨어 기술 코드(HDC, hardware description code)를 수신하는 단계; 로봇의 제어를 위한 소스 코드(source code)를 생성하는 단계; 하드웨어 기술 코드에 상응하는 라이브러리(library)를 이용하여, 소스 코드를 컴파일(compile)함으로써 제어 코드를 생성하는 단계; 및 제어 코드를 메인 모듈의 제어부로 전송하는 단계를 포함하는 로봇 제어 코드 생성 방법이 제공된다. 이에 의하면 메인 모듈의 하드웨어 속정 정보에 대응하는 제어 코드를 보다 효율적으로 생성할 수 있다.
로봇, 제어 코드, 하드웨어 기술 코드, hardware description code

Description

로봇 제어 코드 생성 방법 및 그 장치 {method of robot control code generation and apparatus thereof}
본 발명은 로봇 제어 코드 생성 방법 및 그 장치에 관한 것이다.
교육용 로봇 시장은 나날이 발전하여, 어린 학생들도 몇 가지의 모듈을 조립함으로써 단순한 기능을 가지는 교육용 로봇을 조립할 수 있게 되었다. 교육용 로봇의 생산자들은 입력모듈(감광센서, 초음파 센서 등)과 출력모듈(모터, LED 점멸 장치 등)로 구별되는 기능 모듈을 제공한다. 이러한 기능모듈은 제어 프로세서를 갖춘 메인 모듈에 결합되어 소정의 기능을 수행할 수 있다.
이러한 메인 모듈과 기능 모듈 사이의 물리적, 전기적인 연결은 입력 포트 또는 출력 포트를 통하여 이루어질 수 있다. 종래에 입출력 포트는 그 모양을 달리 하여 구별되었다. 메인 모듈에서 입력 포트와 출력 포트를 엄격히 구별하여, 그 포트 규격을 달리하거나 신호 전달방향을 제한하여 상호 호환성을 갖추지 않은 형태로, 구현하는 것은 제한된 물리적 공간에서 확보할 수 있는 포트 수를 제한한다. 이는 곧 모듈의 결합으로 구성되는 로봇의 설계 유연성을 저해시키는 요인이 된다.
한편, 모듈들의 결합으로 이루어지는 교육용 로봇은 메인 모듈에 탑재된 제어 프로세서의 프로그램(제어 코드)실행에 의하여 제어될 수 있다. 일반적으로 교육용 프로세서에 탑재되는 제어 프로세서는 비교적 낮은 성능의 것이므로, 사용자가 작성한 소스 코드(고급 언어로 작성된)를 제어 프로세서가 이해할 수 있는 형태로 컴파일(compile)하는 과정이 요구된다.
이러한 컴파일 과정은 그 대상 프로세서의 종류에 따라 적합한 형태로 수행되어야 한다. 그러나, 다양한 종류의 프로세서가 사용되는 교육용 로봇에 관하여, 사용자에게 프로세서의 종류에 맞는 컴파일러를 선택하도록 하는 것은 사용자의 불편을 초래하며 적절하지 않은 컴파일러의 사용은 로봇의 오동작을 야기할 수도 있다.
본 발명은 범용 입출력 포트를 구비한 메인 모듈의 하드웨어 기술 코드(hardware description code)를 이용하여 보다 효율적인 로봇 제어 코드 생성 방법을 제공하는 것이다.
또한, 본 발명은 범용 입출력 포트를 구비한 메인 모듈의 하드웨어 기술 코드를 이용하여 보다 효율적인 로봇 제어 코드 생성 장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 범용 입출력 포트를 구비한 메인 모듈을 포함하는 로봇에 관하여, 제어 코드생성 장치에 의하여 수행되는 제어 코드 생성 방법으로서,메인 모듈의 하드웨어 속성 정보를 포함하는 메인 모듈의 하드웨어 기술 코드(HDC, hardware description code)를 획득하는 단계; 로봇의 제어를 위한 소스 코드(source code)를 생성하는 단계; 및 하드웨어 기술 코드에 상응하는 라이브러리(library)를 이용하여, 소스 코드를 컴파일(compile)함으로써 제어 코드를 생성하는 단계를 포함하는 로봇 제어 코드 생성 방법이 제공된다.
메인 모듈의 하드웨어 속성 정보는 메인 모듈의 마이크로 콘트롤러 유닛(MCU, micro controller unit)유형 정보, 상기 마이크로 콘트롤러 유닛의 동작 클럭(clock 정보) 및 상기 입출력 범용포트의 특성 정보 중 적어도 하나를 포함할 수 있다.
또한, 소스 코드를 생성하는 단계는 메인 모듈 및 범용 입출력 포트에 연결된 기능 모듈에 상응하는 기능 아이콘을 제공하는 단계; 및 사용자에 의하여 설정되는 기능 아이콘의 배열 및 연결 관계에 대응하는 코드를 소스 코드에 포함시키는 단계를 포함할 수 있다.
더욱이, 로봇 제어 코드 생성 방법은 메인 모듈로부터 범용 입출력 포트에 설치된 기능 모듈의 식별자(ID)를 획득하는 단계를 더 포함할 수 있으며, 이 경우 기능 아이콘을 제공하는 단계는 획득된 기능 모듈 식별자에 상응하는 기능 아이콘을 제공할 수 있다.
한편, 기능 모듈의 식별자는 기능 모듈이 연결된 범용 입출력 포트를 통하여 인가된 전압에 대응하여 기능 모듈의 출력하는 전압 레벨에 기초하여 생성될 수 있다. 이 출력 전압 레벨은 기능 모듈에 포함된 전압 분배기(voltage)에 의하여 결정될 수 있다.
소스 코드에 포함되는, 기능 아이콘의 배열 및 연결 관계에 대응하는 코드는 기능 모듈이 연결된 범용 입출력 포트의 식별 정보를 포함할 수 있다.
생성된 제어 코드는 메인 모듈의 제어부에 의하여 실행되며, 범용 입출력 포트의 식별 정보에 대응하는 범용 입출력 포트를 검사하여 획득된 기능 모듈의 식별자(ID)와 동일한 식별자를 가지는 기능 모듈이 설치되어 있지 않은 경우에 알람 이벤트를 호출할 수 있다.
이러한 알람 이벤트의 호출시, 메인 모듈에 포함된 상태 표시 모듈은 기능 모듈의 위치에 따른 속성 정보를 표시할 수 있다. 이러한 오류 정보의 표시로 로봇의 오동작 및 오동작에 대응하는 디버깅의 효율성이 향상된다.
한편, 로봇 제어 코드 생성 방법은 소스 코드의 논리적 오류를 체크하는 단계; 및 제어 코드에 의한 로봇의 동작을 시뮬레이션을 제공하는 단계를 더 포함할 수 있다.
이상에서 언급된 로봇 제어 코드 생성 방법은 프로그램으로 작성되어 컴퓨터에서 실행될 수 있다. 또한, 이를 위해 로봇 제어 코드 생성 방법은 컴퓨터 판독 가능한 기록매체에 수록될 수 있다.
또한, 본 발명의 다른 측면에 따르면, 범용 입출력 포트를 구비한 메인 모듈 을 포함하는 로봇에 관하여, 제어 코드를 생성하는 장치로서, 메인 모듈로부터, 하드웨어 기술 코드(HDC, hardware description code)를 획득하는 하드웨어 속성 정보 입력부; 로봇의 제어를 위한 소스 코드(source code)를 생성하는 소스 코드 생성부; 및 하드웨어 기술 코드에 상응하는 라이브러리(library)를 이용하여, 소스 코드를 컴파일(compile)하는 제어 코드를 생성하는 소스 코드 컴파일부를 포함하는 로봇 제어 코드 생성 장치가 제공된다.
소스 코드 생성부는 메인 모듈 및 범용 입출력 포트에 연결된 기능 모듈에 상응하는 기능 아이콘을 제공하고, 사용자에 의하여 설정되는 기능 아이콘의 배열 및 연결 관계에 대응하는 코드를 소스 코드에 포함시킴으로써 소스 코드를 생성할 수 있다.
이 경우, 로봇 제어 코드 생성 장치는 메인 모듈로부터 범용 입출력 포트에 설치된 기능 모듈의 식별자(ID)를 획득하는 기능 모듈 식별자 획득부(122)를 더 포함할 수 있으며, 소스 코드 생성부는 획득된 기능 모듈 식별자에 상응하는 기능 아이콘을 제공할 수 있다.
또한, 기능 모듈의 식별자는 기능 모듈이 연결된 범용 입출력 포트를 통하여 인가된 전압에 대응하여 기능 모듈의 출력하는 전압 레벨에 기초하여 생성되는 값일 수 있다.
기능 모듈의 출력 전압 레벨은 기능 모듈에 포함된 전압 분배기(voltage)에 의하여 결정되는 것을 특징으로 하는 로봇 제어 코드 생성 장치.
한편, 소스 코드 생성부에 의하여 소스 코드에 포함되는, 기능 아이콘의 배 열 및 연결 관계에 대응하는 코드는 기능 모듈이 연결된 범용 입출력 포트의 식별 정보를 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 바람직한 일 실시예에 따르면 범용 입출력 포트를 구비한 메인 모듈의 하드웨어 기술 코드(hardware description code)를 이용하여 보다 효율적인 로봇 제어 코드 생성 방법을 제공할 수 있다.
또한, 본 발명의 바람직한 일 실시예에 따르면 범용 입출력 포트를 구비한 메인 모듈의 하드웨어 기술 코드를 이용함으로써, 보다 효율적인 로봇 제어 코드 생성 장치를 제공할 수 있다.
이하, 본 발명에 따른 로봇 제어 코드 생성 방법 및 그 장치의 실시예를 첨부도면을 참조하여 상세히 설명하기로 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부 도면을 참조하여 설 명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 로봇과 로봇 제어 코드 생성 장치를 예시한 도면이다. 도 1을 참고하면, 메인 모듈(100), 제어부(102), 범용 입출력 포트(104), 상태 표시 모듈(106), 기능모듈(110), 제어 코드 생성 장치(120)가 도시되어 있다.
메인 모듈(100)은 기능 모듈(110)결합되는 모듈로서, 본 실시예의 로봇은 메인 모듈(100)과 기능 모듈(110)의 결합으로 완성된다. 메인 모듈(100)은 로봇의 핵심 부품으로 제어부(102), 범용 입출력 포트(104)를 포함한다. 본 실시예에서, 메인 모듈(100)은 상태 표시 모듈(106)을 더 포함하고 있다.
메인 모듈(100)은 기판을 포함하며 기판은 범용 입출력 포트(104)를 통하여 기능 모듈(110),상태 표시 모듈(106), 제어부(102)를 물리적, 전기적으로 지지한다. 본 실시예에서 메인 모듈(100)은 로봇의 이동을 위한 액추에이터로 바퀴의 회전축에 연결된 모터를 포함한다.
제어부(102)는 메인 모듈(100)의 기능 및 기능 모듈(110)을 제어함으로써 로봇의 기능을 제어하는 장치이다. 본 실시예에서 제어부(102)는 반도체 칩 패키지를 포함한다. 패키지의 입출력 단자는 메인 모듈(100)의 기판상에서 범용 입출력 포트(104), 상태 표시 모듈(106) 및 기능 모듈(110)과 전기적으로 연결된다.
제어부(102)는 제어 코드(프로그램)을 실행할 수 있다. 제어 코드의 실행에 따라서 로봇은 소정의 기능을 수행하게 된다. 제어 코드는 제어 코드 생성 장치(120)에서 생성되어 메인 모듈(100)로 전달된다. 제어 코드는 제어부(102)가 실행할 수 있는 형태의 코드여야 한다. 이를 위해 사용자가 작성한 소스 코드를 제어 코드로 컴파일 하는 과정이 요구될 수 있다.
범용 입출력 포트(104)는 기능 모듈(110)이 메인 모듈(100)과 전기적으로 연결되는 부분이다. 종래의 교육용 로봇 등에서 입·출력 포트의 구성 비율 과 배치는 메인 모듈의 제조사에 의해 미리 정해져 있다. 또한, 각 기능 모듈에 대한 포트(커넥터) 역시 미리 설정된 위치에 구현되어, 로봇의 다양한 구성이 불가능하였다. 이는 로봇 조립의 유연성을 저하시키며 결과적으로는 교육 효과의 저해를 초래할 수 있다.
본 실시예에서 메인 모듈(100)은 5개의 범용 입출력 포트(104)를 제공한다. 사용자는 5개의 범용 입출력 포트(104) 모두에 입력 모듈을 연결할 수 있으며, 5개 모두에 출력 모듈을 연결할 수도 있다. 종래와 같이 입력 포트와 풀력 포트를 구별하는 경우 앞서 언급된 바와 같은 로봇의 구성은 불가능하며 로봇 구성의 유연성이 이와 같이 향상되었다.
본 실시예에서, 기능 모듈은 서로 호환 가능한 복수 개의 범용 입출력 포트 중 하나에 결합될 수 있다. 기능 모듈의 결합 위치는 제어 코드 생성 장치(120)에서 수동 또는 자동으로 설정될 수 있다. 이를 통해 보다 다양한 구성의 로봇을 구현할 수 있으며, 결과적으로는 교육 효과를 향상 시킬 수 있다.
범용 입출력 포트(104)는 그 연결되는 기능 모듈의 종류에 따라서, 디지털 입·출력 및 아날로그 입력(ADC: Analog to Digital Conversion) 포트로 사용이 가능하다.
상태 표시 모듈(106)은 메인 모듈(100)과 기능 모듈(110)의 결합으로 구성된 로봇의 상태를 표시하는 장치이다. 본 실시예에서 상태 표시 모듈(106)은 단순한 형태의 액정 표시 장치이다. 상태 표시 모듈(106)은 로봇의 작동과정에서 발생하는 오동작, 오류 등을 표시할 수 있다. 또한, 상태 표시 모듈(106)은 제어 코드를 실행하는 제어부(102)의 명령에 따라서 제어되는 하나의 출력 모듈로서 동작할 수 있다.
기능 모듈(110)은 메인 모듈(100)에 연결되어 단위 기능을 수행함으로써 로봇을 구성하는 모듈이다. 기능 모듈(110)은 입력 모듈과 출력 모듈로 구별될 수 있다. 입력 모듈은 로봇 외부의 정보를 메인 모듈(100)의 제어부(102)로 전달하는 모듈이며, 출력 모듈은 제어부(102)의 명령에 따라 로봇 외부로 정보를 전달하거나, 동작을 수행하는 모듈이다.
기능 모듈(110)은 자신의 식별자를 가질 수 있다. 기능 모듈(110)의 식별자는 소스 코드의 생성과 제어 코드의 생성에서 활용될 수 있는 정보이다. 기능 모듈(110)의 식별자는 제어부(102)가 명령을 내릴 대상을 식별하는 정보로서 사용될 수 있다.
기능 모듈(110)에는 그 구동을 위한 전압이 인가될 수 있으며, 기능 모듈(110)의 식별자는 이와 같이 범용 입출력 포트(104)를 통하여 인가된 전압에 대응하여 기능 모듈(110)이 출력하는 전압 레벨에 기초하여 생성되는 값일 수 있다.
일 예로, 기능 모듈(110)은 저항 소자 등으로 구성된 전압 분배기(voltage divider)를 포함할 수 있으며, 전압 분배기를 통하여 분배된 전압은 기능 모듈(110)에 따라 다른 값을 가질 수 있다. 분배 전압(출력 전압)의 레벨을 디지털로 변환하여 이 값을 기능 모듈(110)의 식별자로 사용할 수 있다.
한편, 제어 코드 생성 장치(120)에서 제공하는 제어 코드 생성 환경의 그래픽 유저 페이스 상에서, 하나의 기능 모듈은 하나의 기능 아이콘으로 상징되어 제공될 수 있다. 사용자는 이 기능 아이콘에 대한 조작을 통해 기능 모듈을 동작을 설정할 수 있으며, 이에 대하여는 도 2 내지 도 4를 참조하여 상세히 설명될 것이다.
로봇은 제어 코드 생성 장치(120)와 통신 케이블로 연결될 수 있다. 시리얼, 패러랠 등 다양한 종류의 통신 케이블이 사용될 수 있으며, 장치의 자동인식 등을 위해 USB 케이블이 사용될 수 있다. 본 실시예에서는 유선의 통신 케이블을 예로 들었으나, 비용의 문제 등을 감수하는 경우 무선 네트워크를 통한 로봇과 제어 코드 생성 장치(120)의 통신도 가능하다.
제어 코드 생성 장치(120)는 제어부(102)에서 실행될 프로그램 즉, 제어코드를 생성하는 장치이다. 본 실시예에서 제어 코드 생성 장치(120)는 제어 코드 생성 환경이 설치된 PC 이다. PC는 단순히 하나의 예시로서, 제어 코드 생성 환경(프로그램)이 설치될 수 있으며 USB 등의 통신 케이블을 통하여 메인 모듈(100)과 통신할 수 있는 장비라면, 그 명칭에도 불구하고, 제어 코드 생성 장치(120)로 사용될 수 있다.
제어 코드 생성 장치(120)는 사용자로부터 입력 받은 정보에 의하여 소스 코드를 생성하고, 그 소스 코드에 기초하여 제어 코드를 생성한다. 소스 코드와 제어 코드의 생성과정에 대하여는 도 2 및 도 3을 참조하여 상세히 설명될 것이다.
한편, 소스 코드의 생성 과정에서 하드웨어 기술 코드(hardware description code)가 이용될 수 있다. 하드웨어 기술 코드는 하드웨어 즉, 메인 모듈(100)의 구성을 기술하는 정보를 포함하는 코드이다.
메인 모듈(100)에 사용되는 제어부(102)는 반도체 칩으로 구현될 수 있다. 반도체 칩의 종류에 따라서 소스 코드 컴파일의 과정도 그에 맞게 변경되어야 한다. 제어부(102)(반도체 칩)의 종류에 따라서 제어 코드의 형태도 달라질 수 있으며, 이에 따라, 컴파일에 사용되는 라이브러리 등도 달라질 수 있다.
따라서, 메인 모듈(100)에 사용되는 제어부(102)를 구성하는 반도체 칩에 대한 식별 정보를 포함하는 하드웨어 기술 코드를 사용함으로써 다양한 메인 모듈(100)에 대응하는 제어 코드 생성 환경을 사용자에게 제공할 수 있다는 장점이 있다. 또한, 제조 회사가 다른 교육용 로봇 제품군에 대하여도 손쉽게 제어 코드를 생성할 수 있다는 장점이 있다.
도 2는 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 장치의 구성도이다. 도 2를 참조하면, 제어 코드 생성 장치(120)는 하드웨어 속성 정보 입력부(121), 기능 모듈 식별자 획득부(122), 소스 코드 생성부(123) 및 소스 코드 컴파일부(124)를 포함한다.
하드웨어 속성 정보 입력부(121)는 메인 모듈의 하드웨어 속성 정보를 포함하는 하드웨어 기술 코드 정보를 획득한다. 본 실시예에서 제어 코드 생성 장치(120)는 제어 코드 생성 환경(프로그램)이 설치된 PC이며 메인 모듈(100)은 USB 케이블을 사용하여 제어 코드 생성 장치(120)와 연결된다.
하드웨어 속성 정보 입력부(121)는 메인 모듈(100)의 하드웨어 속성 정보를 획득할 수 있다. 메인 모듈의 하드웨어 속성 정보란 메인 모듈의 마이크로 콘트롤러 유닛(MCU, micro controller unit)유형 정보, 상기 마이크로 콘트롤러 유닛의 동작 클럭(clock 정보) 및 상기 범용 입출력 포트의 특성 정보를 포함하는 의미로 해석될 수 있다.
이러한 하드웨어 속성 정보는 하드웨어 기술 코드의 형태로 수집되어 소스 코드 생성부(123) 및 소스 코드 컴파일부(124)로 전달될 수 있다. 하드웨어 기술 코드는 하드웨어 속성 정보 입력부(121)가 메인 모듈의 메모리로부터 읽어 들일 수도 있다. 또한, 메인 모듈의 메모리에 미리 저장된 하드웨어 기술 코드가 존재하지 않는 경우 및 부적절한 형태로 존재하는 경우 등에는 하드웨어 속성 정보 입력부(121)가 메인 모듈과의 통신을 통해 하드웨어 기술 코드를 직접 생성할 수도 있다.
이러한 하드웨어 기술 코드의 생성 과정은 하드웨어 속성 정보 입력부(121)에 의하여 실행되는 하드웨어 기술 코드의 생성 툴(tool)에 의하여 수행될 수 있다. 하드웨어 기술 코드 생성 툴은 제어 코드 생성 장치(120)에 의하여 실행되는 제어 코드 생성 환경(프로그램)의 일부로서 제공되거나, 별도의 프로그램으로 제공 될 수 있다.
본 발명 일 실시예에 따른 로봇 제어 코드 생성 툴(tool)의 실행 화면은 도 5를 참조하여 이해될 수 있다. 로봇 제어 코드 생성 툴(tool)의 실행 과정에서, 메인 모듈의 하드웨어에 대한 몇 가지 정보(모델명, MCU 종류 등)는 사용자에 의하여 직접 입력(선택)될 수도 있다.
제어 코드 생성 장치(120)는 하드웨어 기술 코드에 상응하는 코드 생성 모드를 제공할 수 있으며, 사용자는 이를 통해 자신이 이용하는 메인 모듈(100)의 종류를 수동으로 선택하지 않고서도 편리하게 소스 코드를 작성할 수 있다.
기능 모듈 식별자 획득부(122)는 제어 코드 생성 장치(120)와 연결된 메인 모듈(100)에 설치된 기능 모듈의 식별자를 획득한다.
앞서 언급된 바와 같이 각 기능 모듈(110)은 자신의 식별자를 가질 수 있으며, 그 식별자는 기능 모듈(110)에 인가되는 구동 전압을 전압 분배기로 나눈 출력 전압의 레벨에 기초하여 결정될 수 있다.
후술되는 바와 같이, 제어 코드 생성 장치(120)는 그래픽 유저 인터페이스(GUI)를 통해 소스 코드 작성을 위한 사용자의 입력을 전달 받을 수 있으며, 이를 위해 기능 아이콘이 사용될 수 있다. 따라서, 현재 제어 코드 생성 장치(120)와 연결된 로봇에서 사용 가능한 기능 아이콘을 제공하는 것이 효율적인 소스 코드 생성방안이 될 수 있다.
소스 코드 생성부(123)는 이를 위해 현재 로봇을 구성하고 있는 기능 모듈(110)에 대한 정보를 필요로 할 수 있으며, 이 정보는 기능 모듈(110)의 식별자 의 형태로 제공될 수 있다. 기능 모듈 식별자 획득부(122)는 이러한 식별자를 로봇과의 통신을 통해 획득하는 기능을 수행한다.
소스 코드 생성부(123)는 사용자의 조작을 입력 받아 로봇을 제어하기 위한 소스 코드를 생성한다. 소스 코드는 사용자가 로봇을 제어하기 위한 의사를 표현하는 형태이다. 고급 사용자의 경우, 소스 코드의 텍스트를 직접 편집하는 것도 가능 하지만, 일반 사용자의 경우 소스 코드 생성부(123)가 제공하는 그래픽 유저 인터페이스(GUI)의 조작 만으로도 소스 코드를 작성할 수 있다.
소스 코드 생성부(123)는, 이러한 그래픽 유저 인터페이스(GUI)를 통하여, 제어 코드생성 장치와 연결된 로봇의 메인 모듈(100) 및 기능 모듈(110)에 상응하는 기능 아이콘을 제공한다. 사용자는 제공된 기능 아이콘을 배치하고 연결함으로써 로봇이 수행할 동작을 묘사할 수 있다.
본 발명의 일 실시예에 따른 기능 모듈 및 기능 아이콘의 예시는 도 6 및 도 7을 참조하여 이해될 수 있다.
도 6는 본 발명의 일 실시예에 따른 기능 모듈을 예시한 도면이다. 도 6을 참조하면, 기능 모듈 중 입력 모듈의 예로서, 스위치, CDS 센서, 터치 센서, 마이크, 전·하방 센서, 리모콘 수신기가 예시되어 있으며, 기능 모듈 중 출력 모듈의 예로서, 부저, FND, LED, LCD, 스피커가 예시되어 있다.
도 7은 본 발명의 일 실시예에 따른 기능 아이콘을 예시한 도면이다. 도 7을 참조하면, 메인 모듈 및 메인 모듈에 설치할 수 있는 기능 모듈에 대응하는 기능 아이콘들이 예시되어 있다.
도 6에서 언급된 기능 모듈에 대응하는 마이크, 리모콘, 스위치 등의 입력 기능 아이콘 및 부저, LCD, LED 등의 출력 기능 아이콘이 예시되어 있다. 또한, 이러한 메인 모듈의 제어부(102)에 의하여 수행될 수 있는 시작, 종료, 지연, 반복 등의 로직 모듈 역시 도시되어 있다. 사용자는 이러한 기능 아이콘을, 드랙 앤 드랍(drag & drop)등의 조작을 통하여, 도 4의 기능 아이콘 배치 영역(400)으로 옮길 수 있다. 이러한 기능 아이콘의 배치로써 소스 코드 생성을 위한 사용자의 설정 행위가 이루어진다.
소스 코드 생성부(123)는 이와 같이 사용자에 의하여 설정되는 기능 아이콘의 배열 및 연결 관계에 대응하는 코드를 소스 코드에 포함시키는 기능을 수행한다. 포함되는 코드는 기능 모듈(110)이 연결된 범용 입출력 포트(104)의 식별 정보를 포함할 수 있다. 이러한 범용 입출력 포트(104)의 식별 정보를 통해 제어부(102)는 자신이 어떤 포트에 명령을 내릴 것인지를 파악할 수 있게 된다.
한편, 이러한 소스 코드의 생성을 위해 메인 모듈(100)로부터 범용 입출력 포트(104)에 설치된 기능 모듈(110)의 식별자(ID)를 획득하고, 획득된 기능 모듈 식별자에 상응하는 기능 아이콘을 제공하는 과정이 수행될 수 있음은 앞서 언급된 바와 같다.
한편, 소스 코드 생성을 위한 그래픽 유저 인터페이스는 도 4를 참조하여 자세히 설명될 것이다.
소스 코드 컴파일부(124)는 사용자가 이해할 수 있는 고급 언어로 표현된 소스 코드를 제어부(102)가 이해할 수 있는 제어 코드로 변환하는 기능을 수행한다. 제어 코드는 메인 모듈(100)의 제어부(102)에 의하여 실행되는 코드로서, 사용자의 의지를 로봇에 반영하는 도구로서 이용되는 코드이다.
소스 코드는 그래픽 유저 인터페이스를 이용하여 생성(물론 텍스트 편집을 통한 생성도 가능하다)되는 코드로서 사용자가 이해할 수 있는 고급언어(예를 들어 비쥬얼 베이직 및 C 언어 등)에 기반하여 작성된다.
제어부(102)가 이러한 소스 코드에 반영된 사용자의 의도대로 동작하기 위해서는,그 소스 코드를 제어부(102)가 이해할 수 있는 형태의 저급 언어(어셈블리 및 기계어 등)으로 변환할 필요가 있다.
소스 코드 컴파일부(124)는 이러한 소스 코드의 변환(컴파일)과정을 수행하여 제어 코드를 생성한다. 생성된 제어 코드는 메인 모듈(100)로 전송되어 메인 모듈(100) 상의 메모리 등에 저장된다. 메인 모듈(100)로의 제어 코드 전송시의 필요한 정보(통신 프로토콜 등) 역시 하드웨어 기술 코드에 포함된 메인 모듈의 속성 정보에 대응하여 변경될 수 있음은 물론이다.
소스 코드 컴파일부(124)는 하드웨어 기술 코드를 참조하여 그에 상응하는 컴파일 기능을 수행할 수 있음은 앞서 언급된 바와 같다. 또한, 소스 코드 컴파일부(124)는 제어 코드의 생성에 앞서 소스 코드의 문법적인 오류 및 오동작을 유발할 수 있는 요인이 존재하는 지 여부를 검사할 수 있다.
한편, 제어 코드 생성 장치(120)는 로봇의 동작을 시뮬레이션 하여 그 결과를 제공하는 시뮬레이션 제공부(125)를 더 포함할 수 있다. 하드웨어 기술 코드 및 기능 모듈 식별자를 통해 로봇의 구성에 대한 정보가 파악될 수 있으므로, 생성된 제어 코드에 따른 로봇의 동작을 미리 예상하는 것 역시 가능하며, 이를 통해 사용자는 자신의 의도가 제대로 반영되었는지를 즉시 확인할 수 있다.
또한, 도 2에 도시된 구성요소들은 반드시 하드웨어 구성을 가질 필요는 없으며, 일부 구성요소는 동일 또는 유사한 기능을 수행하는 응용 프로그램의 형태로 구현될 수 있다. 또한, 각 구성요소들은 발명의 사상 범위 내에서 결합되거나 분리될 수도 있음은 물론이다.
도 3은 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 방법의 흐름도이다.
하드웨어 기술 코드를 획득하는 단계(S310)는 하드웨어 속성 정보 입력부(121)가 메인 모듈(100)로부터 하드웨어 기술 코드를 획득하는 단계이다. 본 실시예에서 메인 모듈(100)과 하드웨어 속성 정보 입력부(121)는 USB 통신 케이블을 이용하여 정보를 주고 받는다. 한편, 기능 모듈 식별자 획득부(122)에 의하여 메인 모듈(100)에 설치된 기능 모듈(110)의 식별자를 획득하는 단계가 더 수행될 수 있다.
소스 코드를 생성하는 단계(S320)는 소스 코드 생성부(123)가 사용자의 입력을 받아 소스 코드를 생성(편집)하는 단계이다. 제어 코드 생성 장치(120)는 소스 코드의 편집을 위한 그래픽 유저 인터페이스를 제공할 수 있다. 이 과정에서 메인 모듈(100)로부터 획득된 하드웨어 기술 코드 및 기능 모듈 식별자가 참조될 수 있으며, 이에 상응하는 기능 아이콘이 제공(S321)된다.
사용자에 의한 기능 아이콘의 배열을 해석하여 소스 코드 생성부(123)는 그 기능 아이콘 및 배열에 상응하는 코드(함수)들을 소스 코드에 포함시킬 수 있다(S322). 이 과정에서 각 기능 모듈에 대응하는 코드(함수)는 하나의 프로그램 모듈로서 소스 코드에 포함될 수 있다. 이러한 함수는 기능 아이콘과 일대일 대응관계를 가질 수 있다.
각 함수의 내부에는 그 기능 아이콘에 대응되는 기능 모듈이 설치된 범용 입출력 포트의 위치(식별 정보)를 반영하기 위한 부분이 포함될 수 있다. 기능 모듈이 설치된 범용 입출력 포트의 식별 정보는 제어 코드 생성 장치(120)에 의하여 자동으로 획득 될 수 있으며, 경우에 따라서 사용자가 직접 편집하는 것도 가능하다.
이러한 과정은 도 8을 참조하여 이해될 수 있다. 도 8은 본 발명의 일 실시예에 따른 기능 모듈의 위치 설정 화면과 그에 대응하는 소스 코드의 예시한 도면이다. 도 8을 참조하면, 사용자는 입력 기능 모듈인 터치 센서와 출력 기능 모듈인 부저에 대한 모듈 위치(입출력 포트의 식별 정보로서)를 수정할 수 있으며, 그 결과는 소스 코드에 반영된다.
한편, 설정된 포트 위치와 실제 기능 모듈이 설치된 포트의 위치가 상이한 경우 메인 모듈의 제어부(102)는 알람 이벤트를 호출할 수 있다.
이러한 알람 이벤트의 호출시, 메인 모듈에 포함된 상태 표시 모듈(106)은 기능 모듈의 위치에 따른 속성 정보를 표시할 수 있다. 이러한 오류 정보의 표시로 로봇의 오동작 및 오동작에 대응하는 디버깅의 효율성이 향상될 수 있다.
소스 코드를 컴파일하여 제어 코드를 생성하는 단계(S330)는 소스 코드 생성부(123)에 의하여 생성된 소스 코드를 제어 코드로 변환하는 과정이다. 이 과정은 제어 코드 생성 장치(120)의 소스 코드 컴파일부(124)에 의하여 수행된다.
앞서 언급된 제어 코드 생성의 각 단계에 대한 설명은 제어 코드 생성 장치(120)의 각 부분에 대한 도 2의 상세한 설명을 참조하여 이해될 수 있으므로 중복된 설명은 생략한다.
한편, 생성된 제어 코드는 로봇의 오동작을 예방하는 기능을 수행할 수 있다. 제어 코드가 제어부(102)로 전송된 후에 로봇의 구성(기능모듈의 설치 여부 및 설치 위치 등)이 변경되는 경우에 제어 코드의 실행은 오류를 발생시킬 수 있으며, 이는 로봇의 고장으로 귀결될 수 있다. 특히, 본 발명의 일 실시예와 같이 입출력 범용 모듈을 사용하는 경우, 입력 모듈과 출력 모듈의 위치가 구별되지 않으므로 이러한 고장의 발생 확률은 높아질 수 잇다.
따라서, 제어 코드에 포함된 로봇의 구성 정보 즉, 기능모듈이 설치된 범용 입출력 포트(104)의 식별정보 및 그 포트에 설치된 기능 모듈(110)의 식별자와 현재 로봇의 구성 상태가 일치하는 여부를 점검하는 과정이 수행될 수 있다. 이 과정에서, 불일치가 발생하는 경우, 제어부(102)는 상태 표시 모듈(106)이 오류 메시지를 출력할 수 있도록 한다. 이를 통해 로봇의 오동작과 각 모듈의 고장을 예방할 수 있다.
도 4는 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 환경의 표시 화면이다. 도 4를 참조하면 기능 아이콘 배치 영역(400), 시뮬레이션 영역(410) 및 진행 상태 표시 영역(420)이 도시되어 있다.
본 실시예에서 제어 코드 생성 장치(120)는 제어 코드 생성 환경(프로그램)이 설치된 PC이다. 사용자는 도 4와 같이 제공된 인터페이스를 통해 소스 코드를 작성하고 제어 코드를 생성할 수 있다.
기능 아이콘 배치 영역(400)은 사용자가 기능 아이콘들을 배치하고 그 연결관계를 설정하는 영역이다. 도 4를 참조하면, 로봇에 설치된 센서(411)에 해당하는 기능 아이콘(401)이 도시되어 있다. 이 센서(411)의 신호는 모터로 전달되고, 모터에 대응하는 기능 아이콘(402)는 센서에 대응하는 기능 아이콘(401)과 화살표로 연결된다. 이러한 동작은 반복적으로 수행되므로 반복에 해당하는 기능하는 기능 아이콘(403)에 의하여 루프가 형성된다. 또한, 사용자는 배치된 아이콘을 클릭하는 방법 등으로 그 기능 아이콘에 대한 속성을 수정할 기회를 가질 수 있다. 한편, 기능 아이콘 배치 영역(400)에 배치될 수 있는 기능 아이콘들은 도 7에서 예시되어 있다.
앞서 언급된 로봇 동작의 각 단계에 해당하는 함수가 소스 코드에 포함될 수 있다. 이와 같이 사용자는 아이콘 만을 배열 하고 그 연결관계를 설정함으로써 간단하게 소스 코드를 생성할 수 있다. 각 기능 아이콘에 해당하는 코드는 모듈화된 형태로 소스 코드에 포함될 것이며, 이는 고급 사용자에 의한 소스 코드 편집을 더욱 편리하게 한다.
시뮬레이션 영역(410)은 기능 아이콘 배치 영역(400)에서 설정된 기능 아이콘의 배열에 따른 로봇의 동작의 시뮬레이션을 제공하는 영역이다. 진행 상태 표시 영역(420)는 제어 코드 생성 장치(120)에서 수행되는 소스 코드 생성 과정, 소스 코드 컴파일 과정, 시뮬레이션 과정에 대한 진행 상태를 표시하는 화면으로, 작업 이력 및 오류 메시지가 이를 통하여 사용자에게 전달될 수 있다.
한편, 본 발명의 일 실시예에 의한 제어 코드 생성 방법은 컴퓨터 판독 가능한 기록매체에 디지털 코드로서 구현될 수 있다. 컴퓨터가 판독 가능한 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예로서 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이제까지 본 발명에 대하여 그 실시예를 중심으로 살펴보았다. 전술한 실시예 외의 많은 실시예들이 본 발명의 특허청구범위 내에 존재한다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 로봇과 로봇 제어 코드 생성 장치를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 환경의 표시 화면이다.
도 5는 본 발명의 일 실시예에 따른 로봇 제어 코드 생성 툴(tool)의 실행 화면을 예시한 도면이다.
도 6는 본 발명의 일 실시예에 따른 기능 모듈을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 기능 아이콘을 예시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 기능 모듈의 위치 설정 화면과 그에 대응하는 소스 코드의 예시한 도면이다.
<도면의 주요부분에 대한 부호의 설명>
100: 메인 모듈 102: 제어부
104: 범용 입출력 포트 106: 상태 표시 모듈
110: 기능 모듈 120 : 제어 코드 생성 장치
121: 하드웨어 속성 정보 입력부 122: 기능 모듈 식별자 획득부
123: 소스 코드 생성부 124: 소스 코드 컴파일부
125: 시뮬레이션 제공부 400: 기능 아이콘 배치 영역
410: 시뮬레이션 영역 420: 진행 상태 표시 영역

Claims (14)

  1. 범용 입출력(GPIO, general purpose input output) 포트를 구비한 메인 모듈을 포함하는 로봇에 관하여, 제어 코드생성 장치에 의하여 수행되는 제어 코드 생성 방법으로서,
    메인 모듈의 하드웨어 속성 정보를 포함하는 하드웨어 기술 코드(HDC, hardware description code)를 획득하는 단계;
    로봇의 제어를 위한 소스 코드(source code)를 생성하는 단계; 및
    하드웨어 기술 코드에 상응하는 라이브러리(library)를 이용하여, 소스 코드를 컴파일(compile)함으로써 제어 코드를 생성하는 단계를 포함하는 로봇 제어 코드 생성 방법.
  2. 제1항에 있어서,
    상기 메인 모듈 상기 하드웨어 속성 정보는
    상기 메인 모듈의 마이크로 콘트롤러 유닛(MCU, micro controller unit)유형 정보, 상기 마이크로 콘트롤러 유닛의 동작 클럭(clock 정보) 및 상기 범용 입출력 포트의 특성 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  3. 제1항에 있어서,
    소스 코드를 생성하는 단계는
    메인 모듈 및 범용 입출력 포트에 연결된 기능 모듈에 상응하는 기능 아이콘을 제공하는 단계; 및
    사용자에 의하여 설정되는 기능 아이콘의 배열 및 연결 관계에 대응하는 코드를 소스 코드에 포함시키는 단계를 포함하는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  4. 제2항에 있어서,
    메인 모듈로부터 범용 입출력 포트에 설치된 기능 모듈의 식별자(ID)를 획득하는 단계를 더 포함하고,
    기능 아이콘을 제공하는 단계는 획득된 기능 모듈 식별자에 상응하는 기능 아이콘을 제공하는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  5. 제3항에 있어서,
    기능 모듈의 식별자는
    기능 모듈이 연결된 범용 입출력 포트를 통하여 인가된 전압에 대응하여 기능 모듈의 출력하는 전압 레벨에 기초하여 생성되는 값인 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  6. 제4항에 있어서,
    기능 모듈의 출력 전압 레벨은
    기능 모듈에 포함된 전압 분배기(voltage)에 의하여 결정되는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  7. 제3항에 있어서,
    기능 아이콘의 배열 및 연결 관계에 대응하는 코드는
    기능 모듈이 연결된 범용 입출력 포트의 식별 정보를 포함하는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  8. 제6항에 있어서,
    제어 코드는 메인 모듈의 제어부에 의하여 실행되며, 범용 입출력 포트의 식별 정보에 대응하는 범용 입출력 포트를 검사하여 획득된 기능 모듈의 식별자(ID) 와 동일한 식별자를 가지는 기능 모듈이 설치되어 있지 않은 경우에 알람 이벤트를 호출하고,
    상기 알람 이벤트는 메인 모듈의 상태 표시 모듈을 통하여 오류 정보를 표시 하는 것을 특징으로 하는 로봇 제어 코드 생성 방법.
  9. 제1항 내지 제8항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  10. 범용 입출력 포트를 구비한 메인 모듈을 포함하는 로봇에 관하여, 제어 코드를 생성하는 장치로서,
    메인 모듈의 하드 웨어 속성 정보를 포함하는 하드웨어 기술 코드(HDC, hardware description code)를 획득하는 하드웨어 속성 정보 입력부;
    로봇의 제어를 위한 소스 코드(source code)를 생성하는 소스 코드 생성부; 및
    하드웨어 기술 코드에 상응하는 라이브러리(library)를 이용하여, 소스 코드를 컴파일(compile)하는 제어 코드를 생성하는 소스 코드 컴파일부를 포함하는 로봇 제어 코드 생성 장치.
  11. 제10항에 있어서,
    소스 코드 생성부는 메인 모듈 및 범용 입출력 포트에 연결된 기능 모듈에 상응하는 기능 아이콘을 제공하고,
    사용자에 의하여 설정되는 기능 아이콘의 배열 및 연결 관계에 대응하는 코드를 소스 코드에 포함시키는 것을 특징으로 하는 로봇 제어 코드 생성 장치.
  12. 제11항에 있어서,
    메인 모듈로부터 범용 입출력 포트에 설치된 기능 모듈의 식별자(ID)를 획득하는 기능 모듈 식별자 획득부를 더 포함하고,
    소스 코드 생성부는,
    획득된 기능 모듈 식별자에 상응하는 기능 아이콘을 제공하는 것을 특징으로 하는 로봇 제어 코드 생성 장치.
  13. 제12항에 있어서,
    기능 모듈의 식별자는
    기능 모듈이 연결된 범용 입출력 포트를 통하여 인가된 전압에 대응하여 기능 모듈의 출력하는 전압 레벨에 기초하여 생성되는 값인 것을 특징으로 하는 로봇 제어 코드 생성 장치.
  14. 제11항에 있어서,
    기능 아이콘의 배열 및 연결 관계에 대응하는 코드는
    기능 모듈이 연결된 범용 입출력 포트의 식별 정보를 포함하는 것을 특징으로 하는 로봇 제어 코드 생성 장치.
KR1020080036009A 2008-04-18 2008-04-18 로봇 제어 코드 생성 방법 및 그 장치 KR20090110486A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080036009A KR20090110486A (ko) 2008-04-18 2008-04-18 로봇 제어 코드 생성 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080036009A KR20090110486A (ko) 2008-04-18 2008-04-18 로봇 제어 코드 생성 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20090110486A true KR20090110486A (ko) 2009-10-22

Family

ID=41538332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080036009A KR20090110486A (ko) 2008-04-18 2008-04-18 로봇 제어 코드 생성 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20090110486A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176300A1 (ko) * 2012-05-21 2013-11-28 (주)로보티즈 범용 주변 장치 인터페이스, 인터페이싱 방법 및 이를 가지는 로봇용 제어 장치
KR20170126573A (ko) * 2016-05-10 2017-11-20 주식회사 디투리소스 가시광통신 방식의 교육용 마이크로로봇 시스템 플랫폼
US9846570B2 (en) 2016-03-07 2017-12-19 Luxrobo Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium
KR101993858B1 (ko) * 2018-10-05 2019-06-27 주식회사 엔터핀 프로그램 개발 시스템 및 이를 이용한 개발 방법
CN117706987A (zh) * 2023-12-05 2024-03-15 广东全芯半导体有限公司 一种主控芯片控制系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176300A1 (ko) * 2012-05-21 2013-11-28 (주)로보티즈 범용 주변 장치 인터페이스, 인터페이싱 방법 및 이를 가지는 로봇용 제어 장치
KR101351529B1 (ko) * 2012-05-21 2014-01-16 (주)로보티즈 범용 주변 장치 인터페이스, 인터페이싱 방법 및 이를 가지는 로봇용 제어 장치
US20150081094A1 (en) * 2012-05-21 2015-03-19 Robotis Co., Ltd. General-purpose peripheral interface, a method of interfacing, and an apparatus having the same for controlling a robot
US9846570B2 (en) 2016-03-07 2017-12-19 Luxrobo Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium
KR20170126573A (ko) * 2016-05-10 2017-11-20 주식회사 디투리소스 가시광통신 방식의 교육용 마이크로로봇 시스템 플랫폼
KR101993858B1 (ko) * 2018-10-05 2019-06-27 주식회사 엔터핀 프로그램 개발 시스템 및 이를 이용한 개발 방법
WO2020071639A1 (ko) * 2018-10-05 2020-04-09 주식회사 엔터핀 프로그램 개발 시스템 및 이를 이용한 개발 방법
CN117706987A (zh) * 2023-12-05 2024-03-15 广东全芯半导体有限公司 一种主控芯片控制系统

Similar Documents

Publication Publication Date Title
Molloy Exploring BeagleBone: tools and techniques for building with embedded Linux
US7945895B2 (en) Graphical programs with FIFO structure for controller/FPGA communications
US7028222B2 (en) Target device-specific syntax and semantic analysis for a graphical program
US7606950B2 (en) Graphical programs with direct memory access FIFO for controller/FPGA communications
US7650316B2 (en) Automatic generation of help information for specified systems
US20080209405A1 (en) Distributed debugging for a visual programming language
EP2556457A2 (en) Integrated development environment for rapid device development
US10558776B2 (en) Trigger-action-circuits: leveraging generative design to enable novices to design and build circuitry
CN103914315A (zh) 驱动程序的配置方法
JP2008506184A (ja) コンテンツ生成用の自動画像キャプチャ
CN105143895A (zh) 从交互式图形用户界面中自动生成测试类预编译头
KR20090110486A (ko) 로봇 제어 코드 생성 방법 및 그 장치
CN112732576B (zh) 基于用户界面的自动化测试方法、装置及设备
Kurniawan Iot projects with arduino nano 33 ble sense
Devine et al. Plug-and-play physical computing with Jacdac
US20060015844A1 (en) Automatic hardware and firmware generation for multi-function custom controls
KR20060128747A (ko) 프로그램 생성 장치, 프로그램 생성 방법 및 프로그램
Allan iOS Sensor Apps with Arduino: Wiring the iPhone and iPad into the Internet of Things
CN111338753B (zh) 基于计算机实现电子控制单元硬件仿真的系统
US20060143535A1 (en) Computer platform automatic testing method and system
Monk Making Android Accessories with IOIO
JP2005536789A (ja) 様々なシリアルバスタイプをシミュレーションし、エミュレーションし、試験するための普遍的なアプローチ
CN112148611B (zh) 一种基于云架构的自动化测试中间接口方法与平台
CN1567201A (zh) 软件总线和芯片结构的可重构虚拟仪器
Liu et al. A real-time UEFI functional validation tool with behavior Colored Petri Net model

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid