KR100885546B1 - 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템 - Google Patents

로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템 Download PDF

Info

Publication number
KR100885546B1
KR100885546B1 KR1020070014565A KR20070014565A KR100885546B1 KR 100885546 B1 KR100885546 B1 KR 100885546B1 KR 1020070014565 A KR1020070014565 A KR 1020070014565A KR 20070014565 A KR20070014565 A KR 20070014565A KR 100885546 B1 KR100885546 B1 KR 100885546B1
Authority
KR
South Korea
Prior art keywords
rotation
robot
data
program
unit
Prior art date
Application number
KR1020070014565A
Other languages
English (en)
Other versions
KR20080075412A (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 KR1020070014565A priority Critical patent/KR100885546B1/ko
Publication of KR20080075412A publication Critical patent/KR20080075412A/ko
Application granted granted Critical
Publication of KR100885546B1 publication Critical patent/KR100885546B1/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/1656Programme controls characterised by programming, planning systems for manipulators

Abstract

본 발명은 시스템 설계자가 수동으로 로봇의 움직임을 제어하고, 그 움직임에 따라 로봇 제어 프로그램을 생성하는 엔코딩 시스템 및 그 방법에 관한 것으로, 구체적으로 로봇의 회전축에 연결되어 상기 회전축의 회전에 따라 회전하며, 표면에 데이터가 기록된 디스크부; 상기 디스크부의 표면에 기록된 데이터의 독취가 가능한 소정의 위치에 고정되어 상기 디스크에 기록된 데이터를 독취하기 위한 데이터리더부; 및 상기 로봇의 회전축의 회전시 상기 데이터리더부에서 독취된 데이터를 이용하여 로봇 제어를 위한 프로그램을 생성하는 프로그램생성부;를 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템 및 이를 이용한 엔코딩 방법에 관한 것이다.
본 발명에 따르면, 로봇 시스템의 사용자가 직접 자신이 원하는 로봇의 동작이 프로그램 되도록 할 수 있으므로, 동작의 제어를 위한 프로그램의 초기 설치, 동작의 수정을 위한 프로그램의 수정 등을 위해서 번번이 프로그래머에게 작업을 의뢰할 필요가 없는 장점이 있다.
엔코딩, 로봇 제어

Description

로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를 이용한 로봇 시스템{Encoding method for controlling robot, encoding system thereof, and robot system using encoding system}
도 1은 본 발명의 로봇 시스템의 구성을 도시한 블록도
도 2는 본 발명의 엔코딩 시스템의 구성을 도시한 블록도
도 3은 본 발명의 엔코딩 방법을 도시한 흐름도
본 발명은 로봇 제어를 위한 엔코딩 시스템 및 엔코딩 방법에 관한 것으로, 구체적으로 시스템 설계자가 수동으로 로봇의 움직임을 제어하고, 그 움직임에 따라 로봇 제어 프로그램을 생성하는 엔코딩 시스템 및 그 방법에 관한 것이다.
로봇을 제어하기 위해서는 그 로봇을 제어하기 위한 프로그램이 그 제어시스템 내에 설치되어 구동되어야 한다.
일반적으로, 이 제어시스템 내에 프로그램을 설치하기 위해서는 먼저 설치될 프로그램이 프로그래머에 의해 프로그램 되어지고, 그렇게 제작된 프로그램을 제어시스템 내에 설치한 후 제어시스템을 통하여 로봇을 제어하여 동작을 수행시켜보 고, 시스템 운영자가 로봇의 동작 위치나 이동 속도 등을 체크하여 프로그래머에게 수정사항을 알려주면 프로그래머가 다시 프로그램을 수정하는 등의 과정을 수 회 거친 후 최종적으로 확정된 프로그램을 제어시스템에 다시 설치하는 과정을 거치게 된다.
그 후 로봇의 동작 방향, 이동거리, 속도 등을 다시 설정하기 위해서는 제어프로그램을 프로그래머에게 의뢰를 하여 다시 위와 같은 과정을 거쳐야 한다.
이렇게, 종래 로봇을 제어하기 위해서는 처음 설치하는 과정도 번거롭지만, 일단 동작 설정이 된 후에 그 설정을 변경하는 경우에도 대단히 번거롭게 되며, 로봇 시스템을 구매한 업자는 구매 이후에도 계속하여 시스템 생산자에게 사후관리 서비스를 받아야 하는 불편이 있었다.
상기한 문제를 해결하기 위해서 본 발명에서는 로봇 이용자가 직접 동작을 설정할 수 있는 로봇제어를 위한 엔코더 시스템을 제공하는 것을 목적으로 한다.
또한, 상기한 문제를 해결하기 위해서 본 발명에서는 상기한 시스템을 통하여 로봇 제어를 위한 엔코딩을 하는 방법 및 그 방법이 기록된 기록매체를 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위해서 본 발명은 로봇의 회전축에 연결되어 상기 회전축의 회전에 따라 회전하며, 표면에 데이터가 기록된 디스크부; 상기 디스크부의 표면에 기록된 데이터의 독취가 가능한 소정의 위치에 고정되어 상기 디스크에 기록된 데이터를 독취하기 위한 데이터리더부; 및 상기 로봇의 회전축의 회전시 상기 데이터리더부에서 독취된 데이터를 이용하여 로봇 제어를 위한 프로그램을 생성하는 프로그램생성부;를 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템을 제공한다.
여기서, 상기 프로그램생성부는 상기 회전축의 회전각도에 관한 값을 제외한 상기 로봇의 회전축 제어를 위한 소스코드 명령어를 저장하고 있으며, 상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 프로그램을 생성하는 것이 바람직하다.
또한, 상기 프로그램생성부는 상기 회전축의 회전각도 및 회전속도에 관한 값을 제외한 상기 로봇의 회전축 제어를 위한 소스코드 명령어를 저장하고 있으며, 상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도 및 회전속도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 프로그램을 생성할 수도 있다.
또한, 상기 엔코딩 시스템은 사용자의 입력에 따라 상기 생성된 프로그램이 수정되도록 하는 보정부;를 더 포함하는 것이 바람직하다.
또한, 상기 디스크부는 컴팩트디스크(CD)를 포함하는 것이 바람직하다.
또한, 상기 데이터리더부는 상기 디스크부에 기록된 데이터 중 상기 데이터리더부의 독취영역을 통과하는 모든 데이터를 독취하여 상기 프로그램생성부에 전송하도록 할 수 있다.
또한, 상기 회전속도는 상기 디스크부가 한번의 회전동작 동안 회전한 속도의 평균값을 산출할 수 있다.
한편, 상기한 목적을 달성하기 위해서 본 발명은 상기한 목적을 달성하기 위해서 본 발명은 상기한 엔코딩 시스템과 상기 엔코딩 시스템에 의해 생성된 프로그램에 따라 동작이 제어되는 구동시스템;을 포함하는 것을 특징으로 하는 로봇 시스템을 제공한다.
한편, 상기한 목적을 달성하기 위해서 본 발명은 로봇의 회전축에 연결된 디스크부와, 상기 디스크부의 표면에 기록된 데이터의 독취를 위한 데이터리더부를 포함하는 엔코딩 시스템을 이용하여 로봇 제어를 위한 프로그램을 엔코딩하는 방법에 있어서, 상기 데이터리더부로부터 상기 디스크부의 회전시 독취되는 데이터를 수신하는 단계; 및 상기 수신된 데이터를 이용하여 상기 로봇의 제어를 위한 프로그램을 생성하는 단계;를 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법을 제공한다.
한편, 상기한 목적을 달성하기 위해서 본 발명은 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하 본 발명의 바람직한 실시예를 도면을 참조하여 상세히 설명한다.
도 1은 로봇 시스템의 구성을 도시한 것이다.
도 1에 도시된 로봇 시스템은 디스크부(110), 데이터리더부(120), 프로그램생성부(130) 및 보정부(140)를 포함하는 엔코딩시스템(100)과, 기계부(170), 동력연결부(150) 및 제어부(160)를 포함하는 구동시스템(200)을 포함하여 구성된다.
본 발명에서 말하는 로봇시스템은 전자적인 제어 작용에 의해 시스템 내에 포함되어 있는 회전축의 회전이 제어되며 구동되는 모든 시스템을 포함하며, 대표적으로는 산업현장에서 사용되는 로봇암 등이 포함된다.
도 1에서 도시된 구동시스템(200)은 일반적인 로봇을 구동하기 위한 구동시스템과 유사하다. 간단하게 살펴보면 다음과 같다.
기계부(170)는 로봇의 각 관절부위에 설치되는 회전축과 회전축의 회전을 위한 모터, 회전축(미도시)들을 연결하고, 회전축의 회전에 의해 이동하는 지지대(미도시) 등에 의해 외형적인 동작을 수행하는 부분이다. 관절부에 설치되는 회전축은 로봇의 가동범위에 따라 그 수가 결정되며, 3차원적인 움직임을 구현하기 위해서는 3개의 회전축이 필요하게 된다.
동력연결부(150)는 제어부(160)의 제어에 따라 기계부(170)에 동력을 연결하여 기계부(170)의 모터가 구동되도록 한다.
제어부(160)는 로봇의 기계부(170)를 구동하기 위한 제어프로그램에 따라 동력연결부(150)를 제어하여 결과적으로 기계부(170)의 동작을 제어한다.
제어부(160)에 설치되는 제어프로그램의 경우, 종래에는 외부에서 별도의 프로그램을 입력받는 방식으로 설치가 되었지만, 본 발명에서는 프로그램생성부(130)에 의해 생성된 프로그램이 설치된다는 점이 다르다.
본 발명의 엔코딩시스템(100)은 앞서 언급한 바와 같이, 디스크부(110), 데이터리더부(120), 프로그램생성부(130) 및 보정부(140)를 포함하여 구성된다. 각 구성을 도 2를 참조하여 설명한다.
본 발명의 엔코딩시스템(100)은 로봇의 외부에 구현될 수도 있고, 로봇의 내부에 구현이 되어 있을 수도 있다. 또한, 본 발명의 엔코딩시스템(100)이 로봇의 외부에 구현이 될 때에는 로봇의 기계부(170)의 회전축의 연결이 착탈식으로 구현이 되어 필요할 때에만 외부에 설치하여 이용할 수 있도록 하는 것이 바람직하다.
또한, 디스크부(110) 및 데이터리더부(120)만이 로봇의 관절부에 설치되고, 프로그램생성부(130) 및 보정부(140)는 데이터리더부(120)와 유, 무선으로 연결된 별도의 시스템에 설치될 수도 있다.
본 발명은 기계부(170)를 사람이 수동으로 또는 외부의 장치에 의해 제어부(160)의 제어 없이 움직이게 하고, 이렇게 움직인 동작이 제어부(160)의 제어에 의해 그대로 재현될 수 있도록 제어부(160)에 설치될 제어프로그램이 생성되도록 한 점에 특징이 있는 발명이다.
디스크부(110)는 기계부(170)의 회전축(171)에 연결되어, 회전축(171)이 회전함에 따라 회전을 하며, 그 표면에는 디스크부(110)에서의 위치를 나타내는 데이터가 기록되어 있다.
디스크부(110)는 외부에서 리더기를 통하여 읽을 수 있는 데이터가 기록될 수 있는 형태의 소재이면 제한이 없으며, 바람직하게는 CD, DVD 등이 이용될 수 있다.
CD, DVD와 같은 기록매체의 경우 좁은 면적에 많은 데이터를 기록할 수 있으므로 보다 정밀한 제어를 할 수 있다는 장점이 있다.
데이터리더부(120)는 디스크부(110)에 기록된 데이터를 독취할 수 있는 어느 한 곳에 고정되어 있으며, 디스크부(110)에 기록된 데이터 중 데이터리더부(120)의 독취영역에 있는 데이터를 읽어온다.
디스크부(110)가 회전축(171)의 회전에 따라 회전을 하게 되면, 데이터리더부(120)의 독취 영역에 위치하게 되는 데이터가 다르게 되므로, 읽어진 데이터를 이용하여 디스크부(110)가 어느 정도 회전하였는지를 알 수 있게 된다.
데이터리더부(120)가 데이터를 읽을 때에는 회전하기 전의 데이터와, 회전이 끝난 후의 최종 데이터만을 읽는 방식으로 데이터를 독취할 수도 있고, 회전이 되는 동안 계속하여 데이터를 읽어들이는 방식으로 데이터를 독취할 수도 있다.
예를 들어, 회전축을 중심으로 데이터리더부(120)의 독취영역과 동일 반경에 데이터들이 각각 0, 1, 2, 3, 4...와 같이 순차적으로 기록되어 있고, 회전 전에는 데이터리더부(120)의 독취영역에 0이 위치하고 있었고, 회전 후에는 4가 위치한 경우, 상기한 독취 방법에서 전자의 경우는 0과 4만을 독취하여 이를 프로그램생성부(130)에 전송하고, 후자의 경우에는 0, 1, 2, 3, 4를 모두 독취하여 이를 프로그램생성부(130)에 전송하도록 한다.
데이터리더부(120)는 디스크부(110)의 데이터를 독취하여 프로그램생성부(130)에 전송하는 기능만을 수행할 수도 있지만, 디스크부(110)의 회전시 데이터리더부(120)의 독취영역을 통과하는 데이터, 즉 독취된 데이터의 수를 카운트하여 그 카운트된 수를 프로그램생성부(130)에 전송하도록 할 수도 있다.
이렇게 하는 경우, 디스크부(110)에서 독취영역과 동일 반경에 위치한 데이터가 모두 다를 필요는 없으며, 단순히 데이터와 다음 데이터의 경계가 인식 가능 하도록 기록되어 있기만 하면 동일한 데이터가 기록되는 것도 가능하다.
프로그램생성부(130)는 데이터리더부(120)로부터 독취된 데이터를 이용하여 구동시스템(200)의 제어부(160)에 설치될 제어프로그램을 생성한다.
프로그램생성부(130) 내에는 기계부(170)의 회전축(171)의 회전을 제어하기 위한 프로그램의 소스코드 중 회전각도 또는 회전각도와 회전속도, 복수의 회전 동작이 있는 경우 회전동작과 회전동작 사이의 시간 등을 제외한 동작을 위한 기본적인 명령어들을 포함하는 소스코드가 저장되어 있으며, 데이터리더부(120)로부터 독취된 데이터를 이용하여 회전축의 회전각도 또는 회전각도와 회전속도를 연산하고, 연산된 값과 미리 저장되어 있는 명령어들을 이용하여 프로그램을 완성시키게 된다.
회전각도는 회전하는 동안 몇 개의 데이터가 독취되었는지를 알 수 있으면, 디스크부(110)에서 하나의 데이터가 저장되는 저장영역이 이동할 때마다 디스크부(110)의 회전각도와 독취된 데이터의 수를 곱하면 간단하게 연산이 가능하다.
한번의 회전동작 동안 몇 개의 데이터가 독취되었는지 알기 위해서는 데이터리더부(120)로부터 독취된 모든 데이터를 모두 수신하여 확인하는 방법, 회전을 시작할 때 독취된 데이터와 한 번의 회전이 종료된 때 독취된 데이터만을 수신하여 이를 이용하여 확인하는 방법, 데이터리더부(120)가 단순히 데이터의 수만을 카운터하여 전송하고, 전송된 값을 이용하여 확인하는 방법 등이 있다.
데이터리더부(120)가 회전을 시작할 때 독취된 데이터와 한 번의 회전이 종료된 때 독취된 데이터만을 전송하도록 설정되어 있는 경우, 프로그램생성부(130) 는 디스크부(110)에 기록된 데이터 배열 순서에 관한 정보를 미리 저장하고 있는 것이 전제가 되어야 한다.
회전축(171)이 회전하는 회전속도는 미리 프로그램생성부(130) 내에 지정이 되어 있을 수도 있고, 실제 회전하는 회전속도를 측정하여 지정할 수도 있다.
회전속도를 측정하여 지정하는 경우, 프로그램생성부(130) 내에는 타이머(미도시)가 포함되어 있으며, 회전하는 동안 걸리는 시간을 측정하고, 그 측정된 시간과 산출된 회전각도를 이용하여 회전속도를 산출한다.
이 때, 한 번의 회전동작의 시작 시간과 종료 시간을 이용하여 하나의 회전 동작 동안의 평균적인 회전속도를 산출할 수도 있고, 회전 중의 순간 순간마다 회전속도를 산출하는 방법도 가능하다.
회전 중의 순간마다 회전속도를 산출하는 경우에는 독취된 하나의 데이터에서 그 데이터에 연이어 기록된 다음 데이터가 독취된 순간마다 시간을 측정하여 회전속도를 산출할 수도 있지만, 이렇게 하는 경우 연산량이 너무 많아지므로, 데이터 독취를 기준으로 각 구간마다, 예를 들어 10개의 데이터가 독취되는 구간 간격으로 각 구간의 평균 회전속도를 산출하거나, 소정의 시간 간격으로 평균 회전속도를 산출하도록 하는 것이 바람직하다.
데이터 구간, 시간 구간 별로 평균회전속도를 산출하도록 되어 있는 경우 회전이 종료되는 시점이 위치한 구간에서는 그 구간의 시작 시점과 종료되는 시점의 평균 회전속도를 산출하도록 하는 것이 바람직하다.
한편, 프로그램생성부(130)는 자체 타이머(미도시)를 이용하여 각 동작에 걸 리는 시간을 기록하고 이를 프로그램 생성시 반영한다.
도 2에서는 하나의 회전축(171)만이 있는 예를 도시하였으나, 복수개의 회전축이 있고, 이들이 서로 연동하여 하나의 동작을 수행한다면, 각각의 회전축이 회전하는 시간이 서로 다를 것이므로, 이럴 경우 각각의 회전축이 회전을 시작하는 순간을 알 수 있어야만 제어프로그램의 생성이 가능하므로 각 순간에서의 시간을 기록한다.
또한, 하나의 회전축이 복수의 회전을 하는 경우에도 각각의 회전동작이 시작하는 시간을 알 수 있어야만 제어프로그램의 생성이 가능하므로 각 순간에서의 시간을 기록한다.
또한, 회전속도를 측정하여 측정된 회전속도를 이용하여 프로그램을 생성하는 경우에도 각 순간에서의 시간의 기록이 필요하다.
이렇게 생성된 제어프로그램은 바로 제어부(160)에 설치될 수도 있으나, 별도의 보정부(140)를 통하여 보정이 된 후 제어부(160)에 설치되도록 하는 것이 바람직하다.
보정부(140)는 프로그램생성부(130)에 의해 생성된 제어프로그램을 사용자의 입력에 따라 또는 소정의 보정프로그램에 따라 보정한다.
보정을 하는 방법에는 여러 가지 방법이 있을 수 있다.
먼저, 사용자에게 생성된 제어프로그램의 소스코드를 출력하고, 사용자가 직접 소스코드를 정정하는 방식으로 보정이 되도록 할 수 있다.
다른 방법으로, 생성된 제어프로그램을 기초로 각 회전축의 회전 또는 로봇 의 움직임을 시뮬레이션으로 보여주고, 별도의 인터페이스를 통하여 그 동작을 보정받을 수도 있다.
사용자의 입력을 통하여 보정을 할 수 있는 사항에는 여러 가지가 있을 수 있다.
먼저, 사용자가 수동으로 로봇을 움직이다가 특정한 지점에서 정지를 해야 하는데 정지를 하지 못하고 지나친 다음 다시 정해진 위치로 돌아온 경우, 실수로 지나쳤다가 다시 돌아온 경로를 제어프로그램 상에서 삭제하는 보정을 수행할 수 있다.
또한, 각 회전축의 회전시작시간을 조절할 수 있다. 예를 들어, 제1축, 제2축, 제3축의 3개의 회전축이 순차적으로 그리고 연속적으로 회전하는 동작을 사용자가 구현하고자 하였는데, 각 회전축의 회전과 회전이 연속적으로 이루어지지 않고 약간의 시간 간격이 발생한 경우, 그 시간간격을 삭제하는 보정을 수행할 수 있다.
또한, 자동으로 기계부(170)를 구동시 그 회전속도가 미리 지정되어 있지 않고, 프로그램 설정 과정에서 회전축이 움직이는 속도에 따라 산출되도록 되어 있는 경우, 수동으로 시스템을 구동하는 사용자의 의도는 동일한 속도로 구동하기를 원하더라도 실제로는 속도가 일정하지 않고 변화할 수 있는데 이런 속도를 보정하여 일정한 속도로 구동되도록 할 수도 있다.
또한, 로봇의 구동시 각 시간구간별로 회전하는 속도를 다르게 하고 싶은 경우 이에 대한 보정도 가능하다.
이러한 보정들은 생성된 제어프로그램의 소스코드에서 간단한 수치의 변경을 통해서 가능한 것이므로 생성된 제어프로그램을 통하여 시뮬레이션 등을 보여줄 수 있는 별도의 인터페이스 프로그램을 통하여 보정을 하는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게는 용이한 일일 것이다.
한편, 보정부(140)는 별도의 보정프로그램을 이용하여 자동으로 생성된 제어프로그램이 보정되도록 할 수도 있다.
회전각도가 소정 각도 이하인 경우에는 그 회전 경로를 무시하여 제어프로그램에서 삭제되도록 한다던가, 한번의 회전동작 중의 회전속도가 일정하지 않은 경우 이를 그동안의 평균회전속도로 변경하는 등의 작업은 사용자가 일일이 보면서 체크할 필요 없이 미리 보정프로그램을 통하여 보정이 되도록 하는 것이 바람직할 것이다.
도 3은 본 발명의 엔코딩 방법을 도시한 흐름도이다.
사용자가 로봇 제어를 위한 엔코딩을 위해서 먼저 엔코딩 모드로 모드 전환을 하면 데이터리더부(120)는 디스크부(110)에서 데이터리더부(120)의 독취영역에 위치한 데이터를 읽어들인다(301).
엔코딩 모드에서는 기계부(170)가 사용자의 수동 조작 또는 외부의 장치에 의한 조작으로 쉽게 움직일 수 있도록 동력연결부(150)와 기계부(170)의 연결이 해제되도록 하는 것이 바람직하다.
사용자 등이 기계부(170)를 움직여서 회전축(171)이 회전하면, 이와 연결된 디스크부(110)가 회전되며, 데이터리더부(120)는 디스크부(110)의 회전이 감지되 면(302), 다시 독취영역에 위치한 디스크부(110)의 데이터를 읽어들인다(303).
이 때, 데이터리더부(120)는 디스크부(110)가 회전할 때 독취영역 경로 상에 위치한 모든 데이터를 읽어들여서 프로그램생성부(130)에 전송할 수도 있고, 회전이 시작되기 전의 데이터와 회전 감지가 종료된 때, 즉 회전 감지가 소정 시간 이상 되지 않은 경우에 독취되는 데이터만을 읽어서 프로그램생성부(130)에 전송할 수도 있음은 앞에서 살펴본 바와 같다.
또한, 데이터리더부(120)는 디스크부(110)의 데이터를 독취하여 프로그램생성부(130)에 전송할 수도 있지만, 디스크부(110)의 회전시 데이터리더부(120)의 독취영역을 통과하는 데이터, 즉 독취된 데이터의 수를 카운트하여 그 카운트된 수를 프로그램생성부(130)에 전송하도록 할 수도 있음도 앞에서 살펴본 바와 같다.
프로그램생성부(130)는 데이터리더부(120)로부터 전송된 데이터를 이용하여 제어프로그램을 생성한다(304).
프로그램생성부(130)가 제어프로그램을 생성할 때, 데이터리더부(120)로부터 수신되는 데이터를 이용하여 회전각도 또는 회전각도와 회전속도, 회전동작과 회전동작 사이의 시간을 산출하고, 산출된 값을 미리 저장되어 있는 기본적인 명령어들을 포함하는 소스코드 내에 삽입하는 형식으로 제어 프로그램을 완성시키게 됨은 앞에서 살펴본 바와 같다.
또한, 회전축의 회전속도는 미리 설정되어 있을 수도 있고, 사용자 등이 기계부(170)를 이동시키는 속도를 측정하여 설정될 수도 있으며, 회전속도를 측정할 때에는 내장된 타이머에 의해 회전하는 동안 걸리는 시간을 측정하고, 그 측정된 시간과 산출된 회전각도를 이용하여 회전속도를 산출할 수 있음은 앞에서 살펴본 바와 같다.
또한, 회전속도를 측정할 때는 데이터 또는 시간 기준으로 구간을 나누어 평균 회전속도를 측정할 수도 있고, 순간 순간의 속도를 산출할 수도 있음도 앞에서 살펴본 바와 같다.
보정부(140)는 사용자의 입력에 의해 또는 별도의 보정 프로그램을 통하여 프로그램생성부(130)에서 생성된 제어프로그램을 보정한다(305).
사용자의 입력에 의해 보정을 수행하는 경우, 사용자에게 생성된 제어프로그램의 소스코드를 출력하고, 사용자가 직접 소스코드를 정정하는 방식으로 보정이 되도록 할 수도 있고, 생성된 제어프로그램을 기초로 각 회전축의 회전 또는 로봇의 움직임을 시뮬레이션으로 보여주고, 별도의 인터페이스를 통하여 일부 동작 경로의 삭제, 정지 시간의 삭제, 회전축의 회전시간의 조정, 회전속도의 조절 등을 지시받아 그 동작을 수정하는 보정을 수행할 수도 있다.
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴 퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면, 로봇 시스템의 사용자가 직접 자신이 원하는 로봇의 동작이 프로그램되도록 할 수 있으므로, 동작의 제어를 위한 프로그램의 초기 설치, 동작의 수정을 위한 프로그램의 수정 등을 위해서 번번이 프로그래머에게 작업을 의뢰할 필요가 없는 장점이 있다.

Claims (14)

  1. 로봇의 회전축에 연결되어 상기 회전축의 회전에 따라 회전하며, 표면에 데이터가 기록된 디스크부;
    상기 디스크부의 표면에 기록된 데이터의 독취가 가능한 소정의 위치에 고정되어 상기 디스크에 기록된 데이터를 독취하기 위한 데이터리더부; 및
    상기 로봇의 회전축의 회전시 상기 데이터리더부에서 독취된 데이터를 이용하여 상기 로봇의 회전축의 회전 동작을 인식하고, 상기 인식된 회전 동작에 대응되도록 상기 로봇의 회전축이 회전되도록 제어하는 프로그램을 생성하는 프로그램생성부;를 포함하고,
    상기 디스크부 표면에 기록된 데이터는 상기 데이터리더부에 의해 독취가 가능한 형태의 데이터로, 상기 디스크부에서 상기 데이터리더부에 의해 데이터가 독취되는 위치의 변화를 확인하기 위해 사용되는 데이터인 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  2. 제1항에 있어서, 상기 프로그램생성부는 상기 회전축의 회전각도에 관한 값을 제외한 상기 로봇의 회전축의 회전의 제어를 위한 소스코드 명령어를 저장하고 있으며,
    상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 연산된 회전각도에 따라 상기 로봇의 회전축이 회전하도록 상기 로봇의 회전축의 회전을 제어하는 프로그램을 생성하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  3. 제1항에 있어서, 상기 프로그램생성부는 상기 회전축의 회전각도 및 회전속도에 관한 값을 제외한 상기 로봇의 회전축의 회전의 제어를 위한 소스코드 명령어를 저장하고 있으며,
    상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도 및 회전속도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 연산된 회전각도 및 회전속도에 따라 상기 로봇의 회전축이 회전하도록 상기 로봇의 회전축의 회전을 제어하는 프로그램을 생성하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  4. 제1항에 있어서, 상기 엔코딩 시스템은 사용자가 상기 프로그램생성부에 의해 생성된 프로그램에 제어되는 동작을 보정하기 위한 인터페이스를 통하여 사용자의 입력을 받고, 상기 사용자의 입력에 따라 상기 생성된 프로그램이 수정되도록 하는 보정부;를 더 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  5. 제1항에 있어서, 상기 디스크부는 컴팩트디스크(CD)를 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  6. 제1항에 있어서, 상기 데이터리더부는 상기 디스크부에 기록된 데이터 중 상기 데이터리더부의 독취영역을 통과하는 모든 데이터를 독취하여 상기 프로그램생성부에 전송하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  7. 제3항에 있어서, 상기 회전속도는 상기 디스크부가 한번의 회전동작 동안 회전한 속도의 평균값을 산출하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 기재된 엔코딩 시스템; 및
    상기 엔코딩 시스템에 의해 생성된 프로그램에 따라 동작이 제어되는 구동시 스템;을 포함하는 것을 특징으로 하는 로봇 시스템.
  9. 로봇의 회전축에 연결되어 상기 회전축의 회전에 따라 회전하는 디스크부와, 상기 디스크부의 표면에 기록되어 있고, 상기 디스크부에서의 독취되는 위치의 변화를 확인하기 위해 사용되는 데이터의 독취를 위한 데이터리더부를 포함하는 엔코딩 시스템을 이용하여 로봇 제어를 위한 프로그램을 엔코딩하는 방법에 있어서,
    상기 데이터리더부로부터 상기 디스크부의 회전시 상기 디스크부에서 독취되는 데이터를 수신하는 단계; 및
    상기 수신된 데이터를 이용하여 상기 로봇의 회전축의 회전 동작을 인식하고, 상기 인식된 회전 동작에 대응되도록 상기 로봇의 회전축이 회전되도록 제어하는 프로그램을 생성하는 단계;를 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법.
  10. 제9항에 있어서, 상기 엔코딩 시스템은 상기 회전축의 회전각도에 관한 값을 제외한 상기 로봇의 회전축의 회전의 제어를 위한 소스코드 명령어를 저장하고 있으며,
    상기 프로그램을 생성하는 단계는 상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 연산된 회전각도에 따라 상기 로봇의 회전축이 회전하도록 상기 로봇의 회전축의 회전을 제어하는 프로그램을 생성하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법.
  11. 제9항에 있어서, 상기 엔코딩 시스템은 상기 회전축의 회전각도 및 회전속도에 관한 값을 제외한 상기 로봇의 회전축의 회전의 제어를 위한 소스코드 명령어를 저장하고 있으며,
    상기 프로그램을 생성하는 단계는 상기 데이터리더부로부터 독취된 데이터를 이용하여 상기 회전축의 회전각도 및 회전속도를 연산하고, 상기 연산된 값과 상기 소스코드 명령어를 이용하여 상기 연산된 회전각도 및 회전속도에 따라 상기 로봇의 회전축이 회전하도록 상기 로봇의 회전축의 회전을 제어하는 프로그램을 생성하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법.
  12. 제9항에 있어서, 상기 엔코딩 방법은
    사용자가 생성된 프로그램에 제어되는 동작을 보정하기 위한 인터페이스를 통하여 사용자의 입력을 받고, 상기 사용자의 입력에 따라 상기 생성된 프로그램이 수정되도록 하는 단계;를 더 포함하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법.
  13. 제11항에 있어서, 상기 회전속도는 상기 디스크부가 한번의 회전동작 동안 회전한 속도의 평균값을 산출하는 것을 특징으로 하는 로봇 제어를 위한 엔코딩 방법.
  14. 제9항 내지 제13항 중 어느 한 항에 기재된 엔코딩 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070014565A 2007-02-12 2007-02-12 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템 KR100885546B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070014565A KR100885546B1 (ko) 2007-02-12 2007-02-12 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070014565A KR100885546B1 (ko) 2007-02-12 2007-02-12 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템

Publications (2)

Publication Number Publication Date
KR20080075412A KR20080075412A (ko) 2008-08-18
KR100885546B1 true KR100885546B1 (ko) 2009-02-26

Family

ID=39879058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070014565A KR100885546B1 (ko) 2007-02-12 2007-02-12 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템

Country Status (1)

Country Link
KR (1) KR100885546B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101381753B1 (ko) * 2009-12-18 2014-04-07 한국전자통신연구원 지능형 서비스 로봇 환경에서 로봇 서비스 적재 방법 및 이를 위한 서비스 적재 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5202603B2 (ja) 2009-12-18 2013-06-05 韓國電子通信研究院 知能型サービスロボット環境におけるロボットサービスロード方法およびそのためのサービスロード装置
KR20190051612A (ko) 2017-11-07 2019-05-15 주식회사 선테크 로봇제어 교육을 위한 교육용 키트

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6391708A (ja) 1986-10-06 1988-04-22 Oki Electric Ind Co Ltd ロボツトによるワ−ク移送の教示方法およびその教示方法に使用する治具
JPH0375804A (ja) * 1989-08-18 1991-03-29 Nachi Fujikoshi Corp ロボット制御装置
KR19980054427A (ko) * 1996-12-27 1998-09-25 이종수 산업용 로봇의 기준위치 교정 장치 및 그 방법
JP2001038662A (ja) 1999-08-04 2001-02-13 Honda Motor Co Ltd 作業ロボットの校正方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6391708A (ja) 1986-10-06 1988-04-22 Oki Electric Ind Co Ltd ロボツトによるワ−ク移送の教示方法およびその教示方法に使用する治具
JPH0375804A (ja) * 1989-08-18 1991-03-29 Nachi Fujikoshi Corp ロボット制御装置
KR19980054427A (ko) * 1996-12-27 1998-09-25 이종수 산업용 로봇의 기준위치 교정 장치 및 그 방법
JP2001038662A (ja) 1999-08-04 2001-02-13 Honda Motor Co Ltd 作業ロボットの校正方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101381753B1 (ko) * 2009-12-18 2014-04-07 한국전자통신연구원 지능형 서비스 로봇 환경에서 로봇 서비스 적재 방법 및 이를 위한 서비스 적재 장치

Also Published As

Publication number Publication date
KR20080075412A (ko) 2008-08-18

Similar Documents

Publication Publication Date Title
US20180210407A1 (en) Control device, control program, and control system
JP4268135B2 (ja) 特に測量器についての位置制御装置及び測量器
KR100885546B1 (ko) 로봇 제어를 위한 엔코딩 방법, 엔코딩 시스템 및 이를이용한 로봇 시스템
CN107263543A (zh) 一种机器人关节的校准方法和计算装置
JP6708428B2 (ja) ロボット装置、制御方法、製造方法、プログラム、及び記録媒体
US7890212B2 (en) Wizard for programming an intelligent module
CN107449460A (zh) 一种旋转编码器的补偿方法和补偿系统
KR19990021328A (ko) 센서를 이용한 캘리브레이션 방법 및 장치
JPWO2012164740A1 (ja) 多軸モータ駆動システム及び多軸モータ駆動装置
KR20200051485A (ko) 감속기 시스템, 구동 유닛으로의 지령값의 보정 방법, 보정 데이터의 생성 방법 및 감속기 시스템의 제조 방법
JP2008090513A (ja) 数値制御装置
JP7168011B2 (ja) 動作モデル算出装置、制御装置、関節機構、動作モデル算出方法、プログラム
JP2008041011A (ja) 工作機械における位置補正方法
EP0433083A1 (en) Angular position measurement apparatus
JP6665718B2 (ja) モータ制御装置及び遊技機
JP7119759B2 (ja) 設定支援装置
JP2001184124A (ja) 位置制御方法、位置制御システムおよび位置コントローラ
JP2017164833A (ja) マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム
JP5308144B2 (ja) サーボモータ装置の較正方法およびサーボモータ装置
JP3010107B2 (ja) エンコーダシステム
JPH0771950A (ja) ギア形状測定方式
CN109696189A (zh) 一种基于编码器的vr头盔的转动延迟测量方法
WO2023053432A1 (ja) 産業機械制御システム
JP6658378B2 (ja) モータ制御装置及び遊技機
KR101213151B1 (ko) 분산 지능형 제어장치의 데이터 패킷 생성 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20120217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130124

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee