KR0183683B1 - 로봇의 위치제어 방법 및 장치 - Google Patents
로봇의 위치제어 방법 및 장치 Download PDFInfo
- Publication number
- KR0183683B1 KR0183683B1 KR1019930019174A KR930019174A KR0183683B1 KR 0183683 B1 KR0183683 B1 KR 0183683B1 KR 1019930019174 A KR1019930019174 A KR 1019930019174A KR 930019174 A KR930019174 A KR 930019174A KR 0183683 B1 KR0183683 B1 KR 0183683B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- error
- proportional
- error value
- value
- Prior art date
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
- Control Of Position Or Direction (AREA)
Abstract
본 발명은 로봇의 위치제어방법 및 장치에 관한 것으로서, 특히 위치오차의 크기에 따라 비례상수값을 적용함으로써 적응제어를 가능케 하는 기술이다. 이를 위해 비례제어과정은 목표위치와 현재위치의 차인 위치오차(e)를 구하는 제1과정과, 위치오차(e)가 소정의 제1오차값(SE) 미만이면 일정크기의 작은 비례이득상수(Kps)를 적용하고, 소정의 제2오차값(LE)을 초과하면 일정크기의 큰 비례이득상수(Kpl)를 적용하며, 상기 제1오차값(SE)과 제2오차값(LE)의 사이의 값이면 위치오차(e)의 크기에 비례하는 비례이득상수(Kpm)[단, Kpm={(Kpl-Kps)/(LE-SE)}*e]를 적용하여 비례제어를 실시하는 제2과정을 포함한다. 본 발명은 태크 타임을 줄일 수 있고, 위치제어의 정밀도와 성능을 향상시킬 수 있는 효과가 있다.
Description
제1도는 종래기술에 의한 비례이득상수를 도시한 그래프.
제2도는 본 발명에 의한 비례이득상수를 도시한 그래프.
제3도는 종래기술에 의한 로봇제어장치의 구성도.
제4도는 종래기술에 의한 로봇의 위치제어방법의 순서도.
제5도는 본 발명에 의한 로봇제어장치의 구성도.
제6도는 본 발명에 의한 로봇의 위치제어방법의 순서도.
* 도면의 주요부분에 대한 부호의 설명
20 : 터미날 22 : 교시함
24 : 통신포트 26 : 주제어기
28 : 축제어기 30 : 로봇제어기
32 : 로봇
본 발명은 로봇의 위치제어에 관한 것으로서, 특히 마이크로프로세서를 이용하여 소프트웨어적으로 로봇의 위치를 제어하는 로봇시스템에 관한 것이다.
본 발명은 복잡한 계산이나 수식을 사용하지 않고서도 로봇의 위치오차 데이타만을 자료로 하여 마이크로프로세서를 이용하여 위치제어를 할 수 있어 적응 제어(Adaptive Control) 방식이나 자동 튜닝(Auto Tunning)과 같은 제어효과를 얻을 수 있다. 그러므로 본 발명은 모터를 이용하여 소프트웨어적으로 시스템의 위치제어를 실시하는 모든 분야에 이용할 수 있으며, 특히 위치제어를 실시하는 로봇시스템에 적합한 것이다.
종래의 로봇의 위치제어장치는 제3도와 같은 구성을 가지며 제4도와 같은 흐름을 가진 알고리즘으로 구성된다. 종래의 기술은 주제어기(12)에서 외부와의 통신 및 사용자 프로그램의 해석 및 실행을 하며, 축제어기(14)에서는 로봇(18)이 충실하게 추종하게끔 비례(P), 적분(I), 미분(D) 등의 각종 제어기로써 로봇(18)의 위치제어를 실시한다. 아울러 제1도와 같이 위치오차의 크기에 관계없이 동일한 비례(P) 이득상수를 사용한다.
종래 기술의 동작순서는 아래와 같다.
주제어기(12)는 터미날(10)을 통하여 사용자가 원하는 목표위치데이타(P1∼Pn)를 받는다(S10). 주제어기(12)에서는 로봇(18)의 현재 위치로부터 사용자가 지정하는 목표위치까지의 이동경로 및 단위시간(Sampling time)당 이동량을 구하며(S12), 여기서 구한 이동경로를 따라 로봇(18)을 지정한 목표위치까지 이동시키기 위해 축제어기(14)로 이동명령을 전달하여 로봇을 구동시킨다(S14). 축제어기(14)는 주제어기(12)로부터 받은 이동명령(목표위치)에서 모터(도시되지 않음)로부터 받아들인 로봇의 현재위치를 뺀 위치오차(e)를 계산한다(S16). 축제어기(14)에서는 「위치오차(e)*Kp」(단, Kp는 비례이득값)을 이용하여 비례제어를 실시한다(S18). 아울러 「e*Ki」(단, Ki는 적분이득값)을 이용하여 적분제어를 실시한다(S20). 마지막으로 비례 및 적분제어의 결과를 더하여 D/A변환기(도시되지 않음)를 거쳐 로봇(18)을 구동시킨다(S22).
이와 같은 종래기술의 문제점은 첫째로, 축제어기(14)에서 비례(P) 제어기의 이득상수(Kp)를 위치오차에 관계없이 동일하게 적용하므로써 위치오차값이 작을 경우에는 원하는 위치오차값내로 신속하게 수렴되질 않아 세틀링 시간(Settling time)이 커서 로봇을 이용한 작업시에 태크 시간(Tack Time)이 길어진다는 것이다.
두번째 문제점은 하나의 비례이득상수만을 사용하므로 인해 로봇이 출발시에 존재하는 기계적인 정지 마찰력 때문에 로봇이 마찰력을 넘는 힘을 얻을 때까지 출발이 지연될 뿐만 아니라 이로 인해 저속으로 로봇을 이동시에 로봇의 선단에서 떨림현상(End effector)이 발생되어 로봇의 직선운동시에 정밀도를 저하시킨다.
세번째 문제점은 하나의 비례이득상수만을 사용함으로 인해 로봇이 직선 및 원호운동으로 동작중에 위치오차값(Envelop error)이 크게 발생함에 따라 원하는 형태의 직선, 원호 및 원의 모양을 얻을 수 없게 되어 로봇의 성능과 정밀도를 저하시킨다.
또한 종래의 기술은 제3도의 구성에서도 알 수 있듯이, 주제어기(12)는 외부와의 교신수단이 터미날(10)밖에 없기 때문에 사용자가 위치데이타를 입력할 때 하나씩 밖에 입력할 수가 없어 시간이 오래 소요되며 불편함이 따랐다.
이상과 같은 종래기술의 문제점을 감안하여 본 발명은 목표위치의 현재위치 간의 위치오차의 크기에 따라 비례이득상수의 값을 최적적으로 적용하므로써 태크 타임(Tack time)을 줄일 수 있고, 운동의 정밀도와 성능을 향상시킬 수 있는 로봇의 위치제어방법을 제공하는데 그 목적이 있다.
아울러 주제어기와 외부와의 교신수단으로 터미날외에 통신포트를 부가함으로써 CAD(Computer Aided Design) 등을 주제어기에 바로 인가하여 이용할 수 있는 장치를 제공하는데 본 발명의 또 다른 목적이 있다.
상기의 목적을 달성하기 위하여 본 발명의 방법은 로봇의 위치를 제어하는 방법에 있어서, 목표위치와 현재위치의 차인 위치오차(e)를 구하는 제1과정과, 상기 위치오차(e)가 소정의 제1오차값(SE) 미만이면 일정크기의 작은 비례이득상수(Kps)를 적용하고, 소정의 제2오차값(LE)을 초과하면 일정크기의 큰 비례이득상수(Kpl)를 적용하며, 상기 제1오차값(SE)과 제2오차값(LE)의 사이의 값이면 위치오차(e)의 크기에 비례하는 크기의 비례이득상수(Kpm)[Kpm={(Kpl-Kps)/(LE-SE)}*e]를 적용하여 비례제어를 실시하는 제2과정을 포함함을 특징으로 한다.
아울러 본 발명의 장치는 로봇과 상기 로봇을 제어하는 로봇제어기로 구성된 로봇장치에 있어서, 상기 로봇제어기는 사용자가 사용할 수 있는 명령어 및 편집프로그래밍언어를 입력시키는 터미널과 상기 로봇의 각 관절의 위치를 교시하는 교시함(Teach Box) 및 외부수단과의 데이타 통신이 가능하도록 하는 통신포트를 구비함을 특징으로 한다.
이하에서는 첨부한 도면을 참조하여 상세한 설명을 하기로 한다.
본 발명은 제5도와 같은 하드웨어 구성과 제6도와 같은 흐름을 갖는 알고리즘으로 구성되어 있다.
본 발명에 의한 로봇장치는 로봇(32)과 이를 제어하는 로봇제어기(30)로 구성되며, 로봇제어기(30)는 마스터-슬레이브(Master-Slave) 시스템으로 구성된다. 마스터인 주제어기(26)는 터미날(20)을 통하여 사용자와 대화하며 전체 시스템을 제어한다. 슬레이브인 축제어기(28)는 각 관절의 위치제어와 모터 구동시스템의 감시기능을 수행한다. 교시함(Teach Box:22)은 각 관절의 위치를 교시할 때 이용한다. 아울러 주제어기(26)에는 종래에는 없었던 통신포트(24)를 새로 부가한다.
이와같은 외부와의 데이타통신수단을 구비하므로써, 사용자는 원하는 임의 곡선을 따라 로봇을 이동시키면서 교시함(22)을 이용하여 위치데이타를 입력시키거나 또는 CAD 데이타 등은 RS-232C 등의 통신수단을 이용하여 주제어기(26)에 위치데이타를 입력시킬 수 있게 된다. 주제어기(24)에서는 입력된 위치데이타를 이용하여 각 위치데이타 사이의 이동거리 계산 및 위치데이타를 경유하는 이동경로를 생성하며, 축제어기(28)에서는 주제어기(24)로부터 받은 목표위치(Desired Position) 또는 이동경로를 로봇(32)이 충실하게 추종하게끔 비례(P), 미분(D), 적분(I) 등의 각종 제어기로서 로봇(32)의 위치제어를 실시한다.
이상과 같은 수단을 이용하여 로봇의 위치를 제어하는 본 발명의 방법은 아래와 같다. 사용자가 입력한 위치데이타(P1∼Pn)를 주제어기(26)에서 받아들이는 단계(S30), 주제어기(12)에서 로봇(18)의 현재 위치로부터 사용자가 지정하는 목표위치까지의 이동경로 및 단위시간(Sampling time)당 이동량을 구하는 단계(S32), 상기 (S32)단계에서 구한 이동경로를 따라 로봇(18)을 지정한 목표위치까지 이동시키기 위해 축제어기(14)로 로봇의 이동명령을 전달하여 로봇을 구동시키는 단계(S34) 및 축제어기(14)에서는 주제어기(12)로부터 받은 이동명령(목표위치)에서 모터로부터 받아들인 로봇의 현재위치를 뺀 위치오차(e)를 계산하는 단계(S36)는 상설한 종래의 기술과 동일하다.
상기 일련의 단계에서 구한 위치오차(e)를 이용하여 수행하는 비례제어는 종래와는 다른 방법에 의한다. 즉, 종래에는 위치오차의 크기에 관계없이 일정한 크기의 비례이득상수를 적용한 반면, 본 발명에서는 위치오차의 크기에 따라 제2도에 도시한 바와 같은 각각 다른 비례이득상수를 적용하여 비례제어를 실시한다(S38∼S46). 이때, 위치오차의 크기별 비례제어량은 다음과 같다.
a) 위치오차(e)작은 오차(Small Error)인 경우
비례제어량=e*Kps
b) 작은 오차(Small Error)≤위치오차(e)≤큰 오차(Large Error)인 경우
비례제어량=e*Kpm
Kpm={(Kpl-Kps)/(큰 오차-작은 오차)}*e
c) 위치오차(e)큰 오차(Large Error)인 경우
비례제어량=e*Kpl
단, Kps, Kpl은 위치오차에 따른 비례이득상수임.
작은 오차(Small Error)와 큰 오차(Large Error)는 해당 시스템에 맞는 위치오차를 사용해야 한다. 여기서, 작은 오차는 위치오차가 존재함에도 불구하고 로봇 구동모터(도시되지 않음)의 회전속도가 거의 영이 될 때의 최대 위치오차를 사용하며, 큰 오차는 비례이득상수를 키워서 로봇의 움직임에 진동이나 소음이 발생되지 않을 때의 최소 위치오차를 사용한다.
비례제어를 실시한 다음에는 축제어기(28)에서 적분제어를 실시한다(S48). 적분제어량은 적분이득상수를 Ki라 할 때 「e*Ki」를 이용하여 구한다.
그 다음으로 비례 및 적분제어의 결과를 더하여 D/A 변환기(도시되지 않음)를 통하여 출력하므로써 로봇(32)을 구동시킨다.
이상과 같은 본 발명에 의한 로봇제어를 실현할 경우 다음과 같은 효과가 있다.
로봇의 위치오차가 작을 경우에는 큰 값의 비례이득상수를 사용하여 빠른 시간내에 원하는 정밀도 이내로 로봇이 위치하도록 위치오차값을 해소하여 줌으로써 세틀링 타임(Settling Time)이 줄어들기 때문에 로봇을 이용한 작업시 태크 타임(Tack Time:작업 개시로부터 종료까지 걸리는 시간)을 줄일 수 있다.
두번째로, 로봇의 출발시 큰 값의 비례이득상수를 사용하여 기계적인 정지마찰력을 극복할 수 있기 때문에 로봇의 출발이 빨라질 뿐만 아니라, 로봇의 저속 이동시에도 엔드 이펙트(End Effector)의 떨림현상이 없기 때문에 로봇의 직선운동시 정밀도를 증가시킬 수 있다.
세번째는 위치오값의 크기에 따라 비례하는 이득상수(Kp)를 사용하기 때문에 로봇의 동작중에 발생하는 위치오차(Envelop error)를 거의 없앨 수 있다. 그러므로 로봇을 이용하여 직선, 원호 및 원을 그리는 CP(Continous Path) 운동에서 정밀도와 성능을 향상시킬 수 있다.
Claims (4)
- 비례제어과정을 포함함을 특징으로 하는 로봇의 위치제어방법에 있어서, 상기 비례제어과정은 목표위치와 현재위치의 차인 위치오차(e)를 구하는 제1과정과, 상기 위치오차(e)가 소정의 제1오차값(SE) 미만이면 일정크기의 작은 비례이득상수(Kps)를 적용하고, 소정의 제2오차값(LE)을 초과하면 일정크기의 큰 비례이득상수(Kpl)를 적용하며, 상기 제1오차값(SE)과 제2오차값(LE)의 사이의 값이면 위치오차(e)의 크기에 비례하는 비례이득상수(Kpm)[단, Kpm={(Kpl-Kps)/(LE-SE)}*e]를 적용하여 비례제어를 실시하는 제2과정을 포함함을 특징으로 하는 로봇의 위치제어방법.
- 제1항에 있어서, 상기 제1오차값(SE)는 위치오차가 존재함에도 불구하고 모터의 회전속도가 거의 영이 될 때의 최대 위치오차값임을 특징으로 하는 로봇의 위치제어방법.
- 제1항에 있어서, 상기 제2오차량(LE)는 비례이득상수를 키워서 로봇의 움직임에 진동이나 소음이 발생되지 않을 때의 최소 위치오차값임을 특징으로 하는 로봇의 위치제어방법.
- 로봇과 상기 로봇을 제어하는 로봇제어기로 구성된 로봇장치에 있어서, 상기 로봇제어기는 사용자가 사용할 수 있는 명령어 및 편집프로그래밍언어를 입력시키는 터미널과 상기 로봇의 각 관절의 위치를 교시하는 교시함(Teach Box) 및 외부수단과의 데이타 통신이 가능하도록 하는 통신포트를 구비함을 특징으로 하는 로봇장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930019174A KR0183683B1 (ko) | 1993-09-21 | 1993-09-21 | 로봇의 위치제어 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930019174A KR0183683B1 (ko) | 1993-09-21 | 1993-09-21 | 로봇의 위치제어 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950008053A KR950008053A (ko) | 1995-04-15 |
KR0183683B1 true KR0183683B1 (ko) | 1999-05-01 |
Family
ID=19364140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930019174A KR0183683B1 (ko) | 1993-09-21 | 1993-09-21 | 로봇의 위치제어 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0183683B1 (ko) |
-
1993
- 1993-09-21 KR KR1019930019174A patent/KR0183683B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950008053A (ko) | 1995-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0130570B1 (en) | Method and apparatus for controlling a robot hand along a predetermined path | |
US7324907B2 (en) | Self-calibrating sensor orienting system | |
US7509177B2 (en) | Self-calibrating orienting system for a manipulating device | |
US10384344B2 (en) | Processing device, parameter adjusting method, and storage medium | |
US10994422B2 (en) | Robot system for adjusting operation parameters | |
JP3476287B2 (ja) | ロボットの接続動作時に速度制御を行なうための曲線補間方法 | |
EP0713443B1 (en) | Synthetic friction algorithm for an active hand-controller | |
KR0183683B1 (ko) | 로봇의 위치제어 방법 및 장치 | |
KR0168065B1 (ko) | 수치제어시스템의 모터제어방법 및 그 장치 | |
JPH03123907A (ja) | ロボットの直接教示装置及び直接教示方法 | |
JP2737725B2 (ja) | ロボット制御装置及び方法 | |
JPH06206185A (ja) | ロボット制御装置 | |
JPH06324730A (ja) | 産業用ロボットの制御装置 | |
JPH06138945A (ja) | マスタスレーブマニピュレータの制御装置 | |
JP2003178107A (ja) | 産業用多関節ロボットの設計・解析支援装置及び設計・解析支援プログラム | |
US20230286152A1 (en) | Robot system and controller | |
KR100357433B1 (ko) | 모터의 가감속 구동제어방법 | |
JPH09128024A (ja) | 冗長軸を有するロボットの動作プログラムの最適化方法 | |
JP2638467B2 (ja) | ロボット制御装置 | |
JP2716446B2 (ja) | サーボ制御装置 | |
JP3457693B2 (ja) | ロボットの軌跡制御方法 | |
JPH09141581A (ja) | ロボット制御装置 | |
CN116175570A (zh) | 机械臂控制参数整定方法及机械臂控制*** | |
JPH07134606A (ja) | マニピュレータ制御装置 | |
CN114571447A (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: 20061129 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |