KR20110070508A - 그래픽 기반 로봇 프로그래밍 시스템 - Google Patents

그래픽 기반 로봇 프로그래밍 시스템 Download PDF

Info

Publication number
KR20110070508A
KR20110070508A KR1020090127358A KR20090127358A KR20110070508A KR 20110070508 A KR20110070508 A KR 20110070508A KR 1020090127358 A KR1020090127358 A KR 1020090127358A KR 20090127358 A KR20090127358 A KR 20090127358A KR 20110070508 A KR20110070508 A KR 20110070508A
Authority
KR
South Korea
Prior art keywords
block
robot
command
blocks
graphical
Prior art date
Application number
KR1020090127358A
Other languages
English (en)
Other versions
KR101103787B1 (ko
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 KR1020090127358A priority Critical patent/KR101103787B1/ko
Publication of KR20110070508A publication Critical patent/KR20110070508A/ko
Application granted granted Critical
Publication of KR101103787B1 publication Critical patent/KR101103787B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 그래픽 기반 로봇 프로그래밍 시스템 및 컴퓨터로 판독가능한 기록매체에 관한 것으로서, 일면에 따른 그래픽 기반 로봇 프로그래밍 시스템은, 로봇의 작업을 명령하는 다수의 명령어 블록을 저장하는 블록 저장부 및 사용자의 명령에 따라 다수의 명령어 블록 중 선택된 명령어 블록을 배치하고 선택 및 배치된 명령어 블록을 링크로 연결하여 로봇의 작업을 프로그래밍하는 그래픽 인터페이스부를 포함한다.
Figure P1020090127358
로봇 프로그래밍, 그래픽 기반

Description

그래픽 기반 로봇 프로그래밍 시스템 및 컴퓨터로 판독가능한 기록매체 {Robot programming system based graphic and computer-readable storage medium}
본 발명은 그래픽 기반 로봇 프로그래밍 시스템 및 컴퓨터로 판독가능한 기록매체에 관한 것이다.
로봇의 작업을 시뮬레이션하는 기술이 개발되어 왔다. 그 중 하나가 그래픽기반 하에 로봇의 작업을 프로그래밍하고 시뮬레이션하는 것이다.
그러나 종래에는 복잡한 텍스트 기반의 프로그래밍 언어를 사용하여 로봇의작업을 프로그래밍하고, 시뮬레이션하였다. 따라서 프로그래밍 언어에 익숙하지 않은 사용자는 로봇의 작업을 프로그래밍하고 시뮬레이션하는 과정에 많은 어려움이 있었다.
본 발명은 전술한 바와 같은 문제점을 해결하기 위하여, 그래픽 기반 하에 로봇의 작업의 프로그래밍 및 시뮬레이션을 블록 형태의 간단한 구조로 직관적으로 수행할 수 있도록 하며, 약간의 학습으로 전자공학 관련 지식이 없는 자라도 그래픽 기반의 제작 도구를 사용하여 로봇의 작업을 구성할 수 있도록 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일면에 따른 그래픽 기반 로봇 프로그래밍 시스템은, 로봇의 작업을 명령하는 다수의 명령어 블록을 저장하는 블록 저장부 및 사용자의 명령에 따라, 상기 다수의 명령어 블록 중 선택된 명령어 블록을 배치하고 상기 선택 및 배치된 명령어 블록을 링크로 연결하여 상기 로봇의 작업을 프로그래밍하는 그래픽 인터페이스부를 포함한다.
또한 그래픽 기반 로봇 프로그래밍 시스템은, 상기 링크로 연결된 명령어 블록들을 순차적으로 번역하는 번역기 및 상기 번역 결과에 따라 상기 로봇을 실행시키는 실행기를 더 포함할 수 있다. 여기서 그래픽 인터페이스부는 상기 실행 결과를 사용자에게 표시한다.
또한 상기 번역기는 상기 링크에 의해 둘 이상의 명령어 블록으로 분기될 때 상기 둘 이상의 명령어 블록을 다중으로 번역할 수 있다.
상기 실행기는 3D 기반의 시뮬레이터를 이용하여 상기 로봇을 실행시킬 수있다.
또한 상기 그래픽 인터페이스부는 상기 다수의 명령어 블록을 아이콘으로 표시하는 오브젝트뷰(object view) 및 상기 사용자의 클릭 및 드래그에 따라, 상기 오브젝트 뷰로부터 선택된 명령어 블록의 아이콘이 배치된 것과 각 배치된 명령어 블록이 상기 링크로 연결된 것을 표시하는 태스크 뷰(task view)를 포함한다.
여기서 상기 태스크 뷰는 상기 사용자의 명령에 따라, 상기 선택, 배치 및 연결된 상기 명령어 블록 및 링크를 삭제 또는 수정하는 것이다.
또한 그래픽 기반 로봇 프로그래밍 시스템은, 상기 선택 및 배치되어 명령어 블록 및 상기 링크에 의해 올바르게 연결되었는지 여부를 검증하는 오류 체크부를 더 포함할 수 있다.
한편, 상기 다수의 명령어 블록은 프로그램의 시작과 종료를 수행하는 스타트(start) 블록과 앤드(and) 블록, 두 명령어 블록 간의 엔드(AND) 연산을 수행하는 엔드(and) 블록, 딜레이(delay)를 설정할 수 있는 설정하는 딜레이 블록, 상기 로봇의 로봇의 자세를 설정하는 포스쳐(posture) 블록, 상기 로봇의 제스쳐(gesture)를 설정하는 제스쳐 블록, 조건 판단 기능을 하는 조건(if) 블록, 프로그램 변수에 값을 쓸 수 있는 쓰기(write) 블록, 사용자에 의해 작성된 텍스트를 음성으로 읽어 주는 기능을 하는 스피치 블록, 기존에 작성된 로봇 프로그램을 불러오는 태스크 블록 및 음성 파일을 불러오는 웨이브 블록 중 적어도 하나를 포함 한다.
전술한 목적을 달성하기 위한 본 발명의 다른 면에 따른 그래픽 기반 로봇 프로그래밍이 가능한 소프트웨어가 저장된 컴퓨터로 판독가능한 기록매체로서, 상기 그래픽 기반 로봇 프로그래밍이 가능한 소프트웨어는 사용자의 명령에 따라, 다수의 명령어 블록 중 선택된 명령어 블록을 배치하고 상기 선택 및 배치된 명령어 블록을 링크로 연결하여 상기 로봇의 작업을 프로그래밍하는 단계, 상기 링크로 연결된 명령어 블록들을 순차적으로 번역하는 단계 및 상기 번역 결과에 따라 상기 로봇을 실행시키는 단계를 수행하는 것이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면, 그래픽 기반 하에 로봇의 작업의 프로그래밍 및 시뮬레이션을 블록 형태의 간단한 구조로 수행할 수 있도록 하며, 약간의 학습으로 전자공학 관련 지식이 없는 자라도 그래픽 기반의 제작 도구를 사용하여 로봇의 작업을 구성할 보장한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발 명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
도 1 내지 도 14를 참조하여 본 발명의 실시예에 따른 그래픽 기반 로봇 프로그래밍 시스템 및 컴퓨터로 판독가능한 기록매체에 대해 설명한다. 도 1은 본 발명의 실시예에 그래픽 기반 로봇 프로그래밍 시스템을 나타내는 구성도이고, 도 2 내지 도 11은 도 1의 그래픽 인터페이스부를 설명하기 위한 예시도이고, 도 12는 명령어 블록을 설명하기 위한 예시도이고, 도 13 및 도 14는 도 1의 그래픽 인터페이스부와 실행기를 설명하기 위한 예시도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 그래픽 기반 로봇 프로그래밍 시스템(100)은, 그래픽 인터페이스부(110)와, 블록 저장부(120)와, 번역기(130) 및 실행기(140)를 포함한다.
블록 저장부(120)에는 로봇의 작업을 명령하는 다수의 명령어 블록이 저장되어 있고, 그래픽 인터페이스부(110)는, 도2에 도시된 바와 같이 사용자의 명령에 따라, 블록 저장부(120)에서 다수의 명령어 블록 중 적어도 하나를 선택하여 각각을 배치하고 링크로 연결시킬 수 있다.
그리고 번역기(130)는 사용자의 명령에 의해 선택, 배치 및 연결된 각 명령어 블록을 번역하고, 실행기(140)는 번역된 결과를 토대로 각 명령어를 실행시킨다. 이러한 번역기(130)는 링크에 의해 둘 이상의 명령어 블록으로 분기될 때 상기 둘 이상의 명령어 블록을 다중으로 번역할 수 있다. 또한 실행기(140)는 3D 기반의 시뮬레이터를 이용하여 상기 로봇을 실행시킬 수 있다.
실행기(140)의 실행에 따라, 그래픽 인터페이스부(110)는 처리 결과로서, 로봇의 작업을 그래픽으로 사용자에게 보여줄 수 있다. 즉, 로봇은 사용자가 선택, 배치하고 연결한 순서에 따라 작업을 하게 되며, 이러한 처리 결과가 그래픽 인터페이스부(110)를 통해 표시된다. 실행기(140)는 각 명령어 블록을 연결하는 링크를 따라 토큰을 증가시켜 토큰을 만난 명령어 블록을 실행할 수 있다. 일련의 명령어 블록들(파일)이 다수 존재 할 때에는 다수의 토큰을 사용하여 동시에 여러 개의 파일을 실행 할 수 있다.
한편, 선택 및 배치되어 연결된 명령어 블록 및 링크가 올바르게 연결되었는지 여부를 검증하는 오류 체크부(150)를 더 포함할 수 있다. 오류 체크부(150)는, 번역기(130) 및 실행기(140)가 각 기능을 동작하기 전에 먼저, 각 명령어 블록의 속성과 링크의 연결관계를 통해 올바르게 프로그래밍되어 있는지 여부를 체크 및 검증할 수 있다. 그리고 체크 결과를 사용자에게 그래픽 인터페이스부(110)를 통해 표시할 수 있다.
이하에서 각각의 모듈들에 대해 좀더 구체적으로 설명한다.
먼저 그래픽 인터페이스부(110)는 도 2에 도시된 바와 같이, 예를 들어 메뉴 및 툴바(menu & toolbar)와, 트리 뷰(tree view)와, 태스크 뷰(task view)와, 프로퍼티 뷰(property view)와, 아웃풋 뷰(output view)를 포함할 수 있다.
Menu와 Toolbar는 프로그래밍 시스템(100)으로 작성된 파일을 저장 및 불러오기, 새로 만들기를 할 수 있다. 태스크파일 뷰(TaskFile View), 웨이브파일 뷰(WaveFile View), 포스쳐파일 뷰(PostureFile View), 제스쳐파일 뷰(GestureFile View)를 통해, 이전에 프로그래밍했던 태크스파일, 이전에 저장했던 음성 등의 웨이브파일, 이전에 설정했던 제세에 관한 포스쳐파일, 이전에 설정했던 제스쳐에 관한 제스쳐파일 각각의 위치를 도 3과 같이 지정하여 사용할 수 있다. 또한 configuration 창에서 태스크파일 뷰(TaskFile View)의 크기를 지정하여 사용할 수 있다.
트리 뷰는 오브젝트 뷰(Object View)와, 태스크파일 뷰(TaskFile View), 웨이브파일 뷰(WaveFile View), 포스쳐파일 뷰(PostureFile View), 제스쳐파일 뷰(GestureFile View)를 표시한다.
오브젝트 뷰는 도 4와 같이 사용자로 하여금 로봇의 명령어 블록을 선택할 수 있도록 한다. 오브젝트 뷰에서 명령어 블록을 더블클릭하면 테스크파일 뷰에서, 도 5와 같이 명령어 블록이 생성된다.
태스크파일 뷰는, 도 6에 도시된 바와 같이, 기존에 작성된 태스크파일들을 나타낸다. 태스크파일 뷰의 태스크 파일을 더블클릭하면 태스크 명령어 블록이 생성된다.
웨이브파일 뷰는, 도 7과 같이, 기존에 작성된 웨이브파일을 나타낸다. 웨이 브파일 뷰의 웨이브 파일을 더블클릭하면 웨이브 명령어 블록이 생성된다.
포스쳐파일 뷰는, 도 8과 같이 기존에 작성된 제스쳐파일들을 나타낸다. 포스쳐파일 뷰의 포스쳐파일을 더블클릭하면 포스쳐 명령어 블록이 생성된다.
제스쳐파일 뷰는, 도 9과 같이 기존에 작성된 제스쳐파일들을 나타낸다. 제스쳐파일 뷰의 제스쳐파일을 더블클릭하면 제스쳐 명령어 블록이 생성된다.
태스크 뷰는 그래픽기반 프로그래밍 시스템(100)의 메인 뷰로서, 사용자의 명령에 따라, 트리 뷰에서 선택한 명령어 블록들을 다중 선택하여 배치할 수 있으며, 선택 및 배치된 명령어 블록들을 연결해주는 링크를 삽입할 수 있고, 명령어 블록과 링크들의 수정, 삭제를 가능하게 한다.
태스크 뷰의 명령어 블록에 대한 마우스 및 키보드 이벤트는, 예를 들어 다음과 같을 수 있다. 사용자는 마우스 왼쪽클릭으로 생성된 명령어 블록의 위치를 지정 할 수 있으며, 마우스 드래그로 다수의 명령어 블록들을 선택, 이동(배치)할 수 있다. 또한 사용자는 선택된 명령어 블록을 Delete키로 삭제가 가능하며, 포스쳐 명령어 블록, 제스쳐 명령어 블록, 웨이브 명령어 블록, 태스크 명령어 블록을 더블 클릭하여 파일들을 지정할 수 있다.
그리고 사용자는 태스크 뷰에서 각 명령어 블록들을 연결해주는 링크를 생성할 수 있다. 예를 들어, 도 10과 같이 명령어 블록의 왼쪽 화살표는 입력을, 오른쪽 화살표는 명령어 블록의 출력을 나타내므로, 사용자는 생성된 명령어들의 순서에 맞추어 입력 및 출력을 링크로 연결한다. 예컨대 명령어 블록의 출력 화살표를 클릭한 채로 드래그를 하면 링크가 생성되고, 생성된 링크를 이어 주고자 하는 다 른 명령어 블록의 입력에 넣으면, 도 11과 같이 두 블록의 링크가 생성된다. 링크도 명령어 블록과 같이 선택하고 Delete키를 누름으로써 삭제가 가능하다.
프로퍼티 뷰는 사용자에 의해 명령어 블록의 속성을 설정할 수 있다. 태스크 뷰에 생성된 명령어 블록을 클릭하면 해당하는 속성이 프로퍼티 뷰에 표시된다.
아웃풋 뷰는 파일 저장시 프로그램의 오류 및 저장 성공여부를 표시한다.
이하에서는 명령어 블록에 대해 설명한다.
도 12의 (a)에 도시된 명령어 블록은 프로그램의 시작을 나타내는 Start 블록이다. Start 블록은 입력 포트는 존재하지 않으며 출력 포트 한 개를 갖는다. Task Composer로 만들어진 모든 프로그램은 Start 블록으로부터 프로그램이 시작이 된다. 또한 Start 블록은 하나의 프로그램에 하나 이상 존재한다.
도 12의 (b)에 도시된 명령어 블록은 End 블록이다. End 블록은 프로그램의 끝을 나타내는 블록이다. End 블록은 출력 포트를 갖지 않고, 입력 포트 한 개를 갖는다. 이러한 End 블록은 하나의 프로그램에 하나 이상 존재한다.
도 12의 (c)에 도시된 명령어 블록은 Delay 블록이다. Delay 블록은 주어진 시간만큼 프로그램을 지연시키는 블록이다. 이러한 Delay 블록은 입력 포트, 출력 포트 각각 한 개씩 갖는다. 프로퍼티 뷰에서 딜레이 타임을 설정할 수 있다. 예컨대 딜레이 타임은 ms단위로 설정될 수 있다.
도 12의 (d)에 도시된 명령어 블록은 And 블록이다. And 블록은 입력으로 들어온 모든 블록들이 모두 주어진 역할을 마칠 때까지 기다리는 블록이다. And 블록은 여러개의 입력을 가질 수 있으며, 출력 포트는 한 개를 갖는다.
도 12의 (e)에 도시된 명령어 블록은 Write 블록이다. Write 블록은 해당하는 변수의 이름에 값을 지정(쓰기)한다. 만일 변수가 존재하지 않는다면 변수를 생성하고 값을 지정한다. 프로퍼티 뷰에서 변수의 이름(Name)과 값(Value)을 설정할 수 있다. Value 값은 정수로 설정된다. Write 블록은 입력, 출력 포트 각각 한 개씩 가지는 블록이다.
도 12의 (f)에 도시된 명령어 블록은 If 블록이다. If 블록은 아래에 지정된 연산자로변수의 값을 검사하는 블록이다. 프로퍼티 뷰에서 변수의 이름(Name)과 연산자(Operator), 값(Value)을 설정할 수 있다. Value값은 정수로 설정된다.
연산자(Operator)는 다음과 같은 6가지 종류가 있다.
1. 변수에 저장된 값 <  Value (LESS_THAN);
2. 변수에 저장된 값 <= Value (LESS_EQUAL);
3. 변수에 저장된 값 > Value (GREATER_THAN);
4. 변수에 저장된 값 >= Value (GREATER_EQUAL);
5. 변수에 저장된 값 == Value (EQUAL);
6. 변수에 저장된 값 != Value (NOT_EQUAL);
위에 연산에 의해 나온 값이 참이면 출력 포트중 True 포트로 다음 프로그램이 실행되며, 거짓이면 False 포트로 연결된 다음 프로그램이 실행된다.
도 12의 (g)에 도시된 명령은 TTS 블록이다. TTS 블록은 주어진 text를 음성으로 출력할 수 있는 블록이다. 프로퍼티 뷰에서 Text와 음성의 음조(Pitch), 빠르기(Speed), 크기(Volume)를 설정할 수 있다. 음조, 빠르기, 크기는 default 값을 가질 수 있다. TTS 블록은 입력, 출력 포트 각각 한 개씩 가지는 블록이다.
도 12의 (h)에 도시된 명령어 블록은 Task 블록이다. Task 블록은, 로봇이 특정 태스크를 수행하도록, Task Composer로 이전에 작성한 프로그램을 불러 올 수 있다. Task 블록은, 이전에 만들어진 프로그램에서 Start 블록부터 시작해 End 블록까지의 역할을 수행한다. 프로퍼티 뷰에서 기존에 작성된 태스크파일을 지정할 수 있습니다. Task 블록은 입력, 출력 포트 각각 한 개씩 가지는 블록이다.
도 12의 (i)에 도시된 명령어 블록은 Wave 블록이다. Wave 블록은 기존에 만들어진 웨이브파일을 불러와 실행하는 블록이다. 프로퍼티 뷰에서 기존에 작성된 웨이브파일을 지정할 수 있다. Wave 블록은 입력, 출력 포트 각각 한 개씩 갖는다.
도 12의 (j)에 도시된 명령어 블록은 Posture 블록이다. Posture 블록은, 로봇이 특정 자세를 취하도록, 기존에 만들어진 포스쳐파일(txt 파일)을 불러와 실행하는 블록이다.
프로퍼티 뷰에서 기존에 작성된 포스쳐파일을 지정할 수 있다. Posture 블록은 입력, 출력 포트 각각 한 개씩 갖는다.
도 12의 (k)에 도시된 명령어 블록은 Gesture 블록이다. Gesture 블록은, 로봇이 특정 제스쳐를 취하도록, 기존에 만들어진 제스쳐파일(txt 파일)을 불러와 실행하는 블록이다. Gesture 블록은 프로퍼티 뷰에서 기존에 작성된 제스쳐파일을 지정할 수 있다. 이러한 Gesture 블록은 입력, 출력 포트 각각 한 개씩 갖는다.
도 12의 (l)에 도시된 명령어 블록은 WayPoint 블록이다. WayPoint 블록은다른 명령어 블록을 상호 연결하는 역할을 한다. WayPoint 블록은 입력, 출력 포트 각각 한 개씩 가지는 블록이다.
다음으로 도 13을 참조하여 실행기(140)와 그래픽 인터페이스부(110)의 동작을 좀더 구체적으로 설명한다.
실행기(140)를 통해 각 명령어 블록을 실행시키면, 도 13에 도시된 바와 같이, 그래픽 인터페이스부(110)에는 시나리오 뷰(Scenario View)와, 태스크 뷰(Task View)와 로봇 뷰(Robot View)와 아웃풋 뷰(Output View)를 표시한다.
시나리오 뷰에서는 미리 설정된 파일 경로에 Task Composer로 작성된 파일들을 볼 수 있다. 시나리오 뷰에서 파일을 선택하면 태스크 뷰에 Task Composer로 작성된 프로그램을 확인 할 수 있다. 시나리오 뷰에서 파일을 선택하면 Start 버튼이 활성화 되어 로봇뷰에서, 로봇이 작성한 프로그램대로 동작하는 것을 확인 할 수 있다.
태스크 뷰에서는 시나리오 뷰에서 선택된 파일을 표시한다. 또한 프로그램에 따라 로봇이 동작시 현재 실행되고 있는 명령어 블록을 도 14와 같이 확인할 수 있다.
아웃풋 뷰에서는 시뮬레이션 동작의 정보, 예컨대 수행시간, 명령어 블록명을 표시한다.
로봇 뷰에서는 기존에 만들어진 로봇에 프로그램 수행 동작을 OpenGL을 이용하여 시뮬레이션을 확인 할 수 있다.
한편, 전술한 내용의 그래픽 기반 로봇 프로그래밍이 가능한 소프트웨어는 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 실시예에 그래픽 기반 로봇 프로그래밍 시스템을 나타내는 구성도이다.
도 2 내지 도 11은 도 1의 그래픽 인터페이스부를 설명하기 위한 예시도이다.
도 12는 명령어 블록을 설명하기 위한 예시도이고, 도 13 및 도 14는 도 1의 그래픽 인터페이스부와 실행기를 설명하기 위한 예시도이다.

Claims (9)

  1. 로봇의 작업을 명령하는 다수의 명령어 블록을 저장하는 블록 저장부; 및
    사용자의 명령에 따라, 상기 다수의 명령어 블록 중 선택된 명령어 블록을 배치하고 상기 선택 및 배치된 명령어 블록을 링크로 연결하여 상기 로봇의 작업을 프로그래밍하는 그래픽 인터페이스부
    를 포함하는 그래픽 기반 로봇 프로그래밍 시스템.
  2. 제1항에 있어서,
    상기 링크로 연결된 명령어 블록들을 순차적으로 번역하는 번역기; 및
    상기 번역 결과에 따라 상기 로봇을 실행시키는 실행기를 더 포함하고,
    상기 그래픽 인터페이스부는 상기 실행 결과를 사용자에게 표시하는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  3. 제2항에 있어서, 상기 번역기는
    상기 링크에 의해 둘 이상의 명령어 블록으로 분기될 때 상기 둘 이상의 명령어 블록을 다중으로 번역할 수 있는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  4. 제2항에 있어서, 상기 실행기는
    3D 기반의 시뮬레이터를 이용하여 상기 로봇을 실행시키는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  5. 제1항에 있어서, 상기 그래픽 인터페이스부는
    상기 다수의 명령어 블록을 아이콘으로 표시하는 오브젝트뷰(object view); 및
    상기 사용자의 클릭 및 드래그에 따라, 상기 오브젝트 뷰로부터 선택된 명령어 블록의 아이콘이 배치된 것과 각 배치된 명령어 블록이 상기 링크로 연결된 것을 표시하는 태스크 뷰(task view)를 포함하는 것
    인 그래픽 기반 로롯 프로그래밍 시스템.
  6. 제5항에 있어서, 상기 태스크 뷰는
    상기 사용자의 명령에 따라, 상기 선택, 배치 및 연결된 상기 명령어 블록 및 링크를 삭제 또는 수정하는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  7. 제1항에 있어서,
    상기 선택 및 배치되어 명령어 블록 및 상기 링크에 의해 올바르게 연결되었는지 여부를 검증하는 오류 체크부를 더 포함하는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  8. 제1항에 있어서, 상기 다수의 명령어 블록은
    프로그램의 시작과 종료를 수행하는 스타트(start) 블록과 앤드(and) 블록, 두 명령어 블록 간의 엔드(AND) 연산을 수행하는 엔드(and) 블록, 딜레이(delay)를 설정할 수 있는 설정하는 딜레이 블록, 상기 로봇의 로봇의 자세를 설정하는 포스쳐(posture) 블록, 상기 로봇의 제스쳐(gesture)를 설정하는 제스쳐 블록, 조건 판단 기능을 하는 조건(if) 블록, 프로그램 변수에 값을 쓸 수 있는 쓰기(write) 블록, 사용자에 의해 작성된 텍스트를 음성으로 읽어 주는 기능을 하는 스피치 블록, 기존에 작성된 로봇 프로그램을 불러오는 태스크 블록 및 음성 파일을 불러오는 웨이브 블록 중 적어도 하나를 포함하는 것
    인 그래픽 기반 로봇 프로그래밍 시스템.
  9. 그래픽 기반 로봇 프로그래밍이 가능한 소프트웨어가 저장된 컴퓨터로 판독가능한 기록매체로서, 상기 그래픽 기반 로봇 프로그래밍이 가능한 소프트웨어는
    사용자의 명령에 따라, 다수의 명령어 블록 중 선택된 명령어 블록을 배치하고 상기 선택 및 배치된 명령어 블록을 링크로 연결하여 상기 로봇의 작업을 프로그래밍하는 단계;
    상기 링크로 연결된 명령어 블록들을 순차적으로 번역하는 단계; 및
    상기 번역 결과에 따라 상기 로봇을 실행시키는 단계를 수행하는 것
    인 컴퓨터로 판독가능한 기록매체.
KR1020090127358A 2009-12-18 2009-12-18 그래픽 기반 로봇 프로그래밍 시스템 KR101103787B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090127358A KR101103787B1 (ko) 2009-12-18 2009-12-18 그래픽 기반 로봇 프로그래밍 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090127358A KR101103787B1 (ko) 2009-12-18 2009-12-18 그래픽 기반 로봇 프로그래밍 시스템

Publications (2)

Publication Number Publication Date
KR20110070508A true KR20110070508A (ko) 2011-06-24
KR101103787B1 KR101103787B1 (ko) 2012-01-10

Family

ID=44402002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090127358A KR101103787B1 (ko) 2009-12-18 2009-12-18 그래픽 기반 로봇 프로그래밍 시스템

Country Status (1)

Country Link
KR (1) KR101103787B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014126303A1 (ko) * 2013-02-18 2014-08-21 주식회사 케이티 이동 로봇에 대한 제어 명령과 이동 로봇이 전송한 영상 간 매칭 방법 및 이를 위한 제어 장치
KR101640451B1 (ko) * 2015-04-26 2016-07-25 주식회사 셈웨어 Gui 인터페이스를 가진 계산 프로그래밍 언어 기반 시뮬레이터 및 이를 이용한 시뮬레이터 실행 방법
CN107240334A (zh) * 2017-05-23 2017-10-10 梦孚(上海)教育科技有限公司 一种编程学习系统及其方法
WO2018143607A1 (ko) * 2017-02-03 2018-08-09 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
WO2022097820A1 (ko) * 2020-11-03 2022-05-12 주식회사 아이오테드 코딩 확인이 가능한 코딩 시뮬레이션 장치
KR20230018763A (ko) * 2021-07-30 2023-02-07 주식회사 이엘사이언스 아이콘을 이용한 사용자 작성 프로그램의 실행방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020061186A (ko) * 2001-01-15 2002-07-24 주식회사 보스텍 로봇 제어, 설계 및 활용을 위한 학습시스템
KR20030092762A (ko) * 2002-05-31 2003-12-06 (주)하늘아이 조립식 로봇 및 이를 제어하기 위한 아이콘 방식의 제어프로그램 작성 장치
KR20070061326A (ko) * 2005-12-09 2007-06-13 한국전자통신연구원 로봇 응용 프로그램 제작 지원 방법 및 그 제작 장치
KR100746156B1 (ko) * 2006-12-28 2007-08-03 주식회사 이디 로봇 트레이닝 장치 및 상기 로봇 트레이닝 장치를 이용한로봇 교육 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014126303A1 (ko) * 2013-02-18 2014-08-21 주식회사 케이티 이동 로봇에 대한 제어 명령과 이동 로봇이 전송한 영상 간 매칭 방법 및 이를 위한 제어 장치
KR101448278B1 (ko) * 2013-02-18 2014-10-07 주식회사 케이티 이동 로봇에 대한 제어 명령과 이동 로봇이 전송한 영상 간 매칭 방법 및 이를 위한 제어 장치
KR101640451B1 (ko) * 2015-04-26 2016-07-25 주식회사 셈웨어 Gui 인터페이스를 가진 계산 프로그래밍 언어 기반 시뮬레이터 및 이를 이용한 시뮬레이터 실행 방법
WO2018143607A1 (ko) * 2017-02-03 2018-08-09 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
KR20180090623A (ko) * 2017-02-03 2018-08-13 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
CN107240334A (zh) * 2017-05-23 2017-10-10 梦孚(上海)教育科技有限公司 一种编程学习系统及其方法
WO2022097820A1 (ko) * 2020-11-03 2022-05-12 주식회사 아이오테드 코딩 확인이 가능한 코딩 시뮬레이션 장치
KR20230018763A (ko) * 2021-07-30 2023-02-07 주식회사 이엘사이언스 아이콘을 이용한 사용자 작성 프로그램의 실행방법

Also Published As

Publication number Publication date
KR101103787B1 (ko) 2012-01-10

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
US8046735B1 (en) Transforming graphical objects in a graphical modeling environment
KR101103787B1 (ko) 그래픽 기반 로봇 프로그래밍 시스템
US7861217B2 (en) Non-graphical model dependencies in graphical modeling environments
JPH02272645A (ja) プログラム・デバツグ支援方法
KR20060134087A (ko) 프로세싱 시스템을 프로그래밍하는 방법
US20090235229A1 (en) Graphical Modelization of User Interfaces for Data Intensive Applications
KR101619192B1 (ko) 전산 기반 모델링의 수정 방법
Silva et al. Analysis of WIMP and post WIMP interactive systems based on formal specification
US9170783B1 (en) Class creation assistant for textual programming languages
JP3535354B2 (ja) ストール検出表示装置及び方法
CN108920143A (zh) 一种用于人机交互软件的快速开发方法
CN117215556A (zh) 模块化的页面快速构建方法、系统、设备及介质
CN115562989A (zh) 一种自动化测试序列转化方法、系统、设备和介质
De Ruvo et al. An eclipse-based editor to support lotos newcomers
JP4127318B2 (ja) プログラム生成方法および装置
JP2003076545A (ja) プログラム開発支援装置
US11822773B2 (en) Systems and methods for generating and utilizing an interactive causal loop diagram using a causal loop designer
US20230289220A1 (en) Techniques for trial-and-error learning in complex application environments
JP3966355B2 (ja) プログラム生成方法および装置
JPH1185835A (ja) 作図装置
JP2005259169A (ja) プログラム作成方法
Kulms et al. MultiPro: Prototyping Multimodal UI with Anthropomorphic Agents
CN109062553A (zh) 一种同时面向硬件和数据的编程系统
CN115770390A (zh) 模型骨骼修复方法、装置、存储介质与电子设备

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170803

Year of fee payment: 18