KR0159804B1 - 로보트의 위치 교시방법 - Google Patents

로보트의 위치 교시방법 Download PDF

Info

Publication number
KR0159804B1
KR0159804B1 KR1019940702163A KR19940702163A KR0159804B1 KR 0159804 B1 KR0159804 B1 KR 0159804B1 KR 1019940702163 A KR1019940702163 A KR 1019940702163A KR 19940702163 A KR19940702163 A KR 19940702163A KR 0159804 B1 KR0159804 B1 KR 0159804B1
Authority
KR
South Korea
Prior art keywords
correction
teaching
straight line
robot
vector
Prior art date
Application number
KR1019940702163A
Other languages
English (en)
Other versions
KR940704023A (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 이나바 세이우에몽
Publication of KR940704023A publication Critical patent/KR940704023A/ko
Application granted granted Critical
Publication of KR0159804B1 publication Critical patent/KR0159804B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36043Correction or modification of program

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

공간의 일직선상에 각각 위치하는 프로그램에 교시된 복수의 교시점중, 임의의 교시점을 복수의 교시점중, 임의의 교시점을 그 직선에 따라 어떤 이동량 이동시키므로서 이 교시점의 위치의 수정을 하는 경우, 그 수정후의 교시위치를, 좌표계를 의식하지 않고, 용이하게 구할 수 있는 방법을 제공한다. 그 수정의 대상이 되는 교시점의수정후의 위치를 수정전의 위치벡터와, 상기 직선에 따른 이동량과, 상기 직선상에 놓인 임의의 2개의 위치벡터에서, 위치벡터로 하여 구하도록 하고 있다. 로보트 콘트롤러 부속의 수동입력장치에 부속한 디스플레이를 보면서, 수정의 대상의 교시점, 상기 직선상에 놓인 임의의 2개의 교시점의 특정, 수정을 위한 이동량을 수동 입력한다.

Description

[발명의 명칭]
로보트의 위치 교시방법
[기술분야]
본 발명은 교시된 프로그램에 따라서 동작하는 산업용의 로보트에 있어서의 위치 교시방법에 관한 것으로, 더욱 상세하게 말하면, 이미 교시가 끝난 위치(교시위치)를 수정할때의, 로보트의 위치 교시방법에 관한 것이다.
[배경기술]
교시된 프로그램에 따라서 동작하는 산업용 로보트(이하, 로보트라함)를 사용하여 각종작업을 실행할 때에 이미 교시가 끝난 프로그램에 대해서 교시위치를 변경하여 작업을 실시할 필요가 종종 생긴다.
이러한 교시위치의 변경에 있어서는 로보트를 수동피드 등에 의하여 수정위치(수정후에 실현되어야 할 교시위치)로 실제 이동시켜서 이 위치를 기억시키는 형태로 수정을 실행하는 방법이나, 수정위치의 데이터를 직접 입력하는 방법이 사용되는 것이 일반적이지만, 수정량을 사전에 알고있는 경우에는, 오퍼레이터가 위치수정량을 입력하므로써 교시위치의 변경을 실시하는 방법이 사용되는 경우가 많다.
이와 같이 교시위치 수정을 실시하는 하나의 전형예로서, 이미 교시가 끝난 프로그램에 대해서 교시위치간의 방향은 변경하지 않고, 교시위치만을 변경하여 작업을 실행한다고 하는 케이스가 있다.
예를 들면, 소정간격 D를 두고 직선상으로 복수개 배열된 소정 사이즈 L의 공작물 파지(grasping), 운반 및 아크용접 등의 작업을 실행하기 위한 위치교시가 프로그램교시의 형태로 로보트에 이미 실시되고 있는 케이스에 있어서, 상기 소정간격 D 혹은 소정사이즈 L로 변경이 있는 경우에, 프로그램전체의 재작성 및 수동피드에 의한 교시를 하는 것은 명백히 비효율적이므로, 오퍼레이터에 의한 교시위치 수정 데이터의 입력을 하게 된다.
이 예와 같은 케이스에 있어서, 종래는 이미 교시가 끝난 위치의 데이터가 준거하고 있는 좌표계와 동일한 좌표계상에서 표현된 위치 수정데이터 혹은 이 위치 수정데이터에 로보트 콘트롤러 내에서 환산될 수 있는 데이터(즉, 로보트에 사전에 설정되어 있는 좌표계 혹은 기준좌표계 상에서 표현된 위치수정데이터)를 특정한다고 하는 준비작업이 오퍼레이터에게 부과되어 있었다.
상기와 같이, 종래의 방법에 의하여 교시위치 수정 데이터의 입력작업을 실행하기 위해서는 로보트에 사전에 설정되어 있는 좌표계 혹은 기준좌표 계상에서 표현된 위치 수정데이터를 특정한다고 하는 준비작업이 필요해지지만, 오퍼레이터는 통상의 경우 이들의 좌표계를 명확히 의식하고 있지 않은 경우가 많고, 따라서, 이와 같은 준비작업을 신속 및 정확하게 실행하는 것은 반드시 용이하지는 않다.
만약, 이들 좌표게가 오퍼레이터에 의하여 인식되어 있는 경우라 해도, 실제의 위치 수정이 이들의 좌표계의 어느하나의 축방향(직교 좌표계에 있어서의 X, Y, Z 각 축방향 혹은 극좌표계에 있어서의 r, θ, ψ의 방향등)으로 평행이라고는 한정되지 않기 때문에, 이들 각 축 성분에 대한 수정데이터(X성분, θ성분등)을 구해야 된다. 예를 들면, 상기의 직선상으로 배열된 공작물에 대한 작업의 케이스에 있어서도, 그 배열 방향 및 사이즈 변경 방향을 따른 위치 수정의 방향이 로보트에 설정된 좌표계 및 기준 좌표계의 하나의 축과 정확히 평행이라고는 한정되지 않는다.
따라서, 일반으로는 수정전의 위치에서 수정후의 위치로 향하는 벡터의 방향 여현을 해당 좌표계상에서 표시한 것에 상당하는 데이터를 알고, 이에 의거한 수정량의 성분 계산을 실행하는 것이 필요해지지만, 이와 같은 작업은 번잡하고, 경우에 따라서는 그 때문에 새로운 계측작업(예를 들면, 공작물 배열 방향의 측정, 사이즈 변경 방향의 측정)을 추가해야하는 경우도 생길 수 있다.
[발명의 개시]
본 발명의 목적은, 이미 교시가 끝난 프로그램에 대해서, 어느한 교시위치 사이의 방향에 따라 어느 한 개의 교시위치를 변경하는 형의 교시위치수정에 있어서, 오퍼레이터에게 부과되는 상기와 같은 부담을 경감시키고, 좌표계의 인식, 위치수정데이터의 환산(성분계산)등의 번잡한 작업을 필요로 하지않고, 극히 간편하게 교시위치의 수정을 실행할 수 있는 로보트의 위치교시 방법을 제공함에 있다.
상기 목적을 달성하기 위하여 본 발명은 공간의 일직선상에 각각 위치하도록 프로그램에 교시된 복수의 교시점중, 임의의 교시점을 그 직선에 따라 어떤 이동량을 이동시킵므로서 해당 교시점의 위치의 수정을 함에 있어서, 그 수정의 대상이 되는 교시점의 수정후의 위치를, 수정전의 위치정보와, 상기 직선에 따른 이동량과, 상기 직선상에 놓인 임의의 2개의 교시점의 위치 정보에 의거하여 구하도록 하고 있다.
바람직하게는, 본 발명은, 공간의 일직선상에 각각 위치하는 프로그램에 교시된 복수의 교시점중, 임의의 교시점을 그 직선을 따라 어떤 이동량을 이동시키므로서 이 교시점의 위치의 수정을 실시함에 있어서, 그 수정의 대상이 되는 교시점의 수정후의 위치를, 수정전의 위치 벡터와, 상기 직선에 따른 이동량과, 상기 직선 상에 놓인 임의의 2개의 교시점의 각각의 위치벡터에 의거하여, 위치 벡터로서 구하도록 하고 있다.
또한, 바람직하게는, 수정의 대상이 되는 교시점의 수정전의 위치벡터를 OPS 상기 직선에 따른 이동량을 δS, 상기 직선상에 놓인 임의의 2개의 교시점의 위치벡터를 각각 Dj, Di로 하면, 상기 수정대상의 교시점의 수정 후의 위치 벡터 OQS를 다음식
으로 구한다. 단
로 한다.
[도면의 간단한 설명]
제1도는 본 발명의 위치교시 방법에 의하여 교시위치를 수정하는 원리를 설명하는 도.
제2도는 본 발명의 위치교시 방법을 실시할때 사용하는 로보트 콘트롤러의 요부 블록도.
제3도는 치수가 상이한 2종류의 공작물에 대한 작업에 관하여, 교시위치의 수정전후의 관계를 나타내는 도.
제4도는 수동 데이터 입력장치에 부속된 디스플레이에 표시된 교시위치 데이터 수정입력 모드의 화면을 표시하는 도, 및
제5도는 제3도에 표시된 케이스에 대해서 교시위치를 수정하는 프로세스의 일례를 나타낸 플로우차트이다.
[발명을 실시하기 위한 최량의 형태]
제1도는 본 발명의 원리를 설명하기 위하여, 수정전의 교시위치(즉, 교시가 끝난 위치)를 포함하는 로보트의 이동궤적과 수정후의 교시위치(즉, 새로이 교시하는 위치)를 포함하는 로보트 이동궤적과의 관계를 개념적으로 표시한 것이다.
제1도에 있어서, 각 교시 위치는 원점 0를 중심으로하는 XYZ 축 직교좌표계 Σ로 정의되어 있다. 이 좌표계 Σ는, 통상은 베이스 좌표계 또는 월드좌표계이다.
이 제1도에 있어서, 이미 교시되어 있는 교시위치의 경로는 P0→P1→P2→…→Pk→Pk+1→Pk+2→Pk+3→Pk+4→…Pn-1→Pn(=Po)로 한다. 이들의 교시위치중, 제1도에 표시하는 바와 같이, 교시위치 Pk+1, Pk+2, Pk+3은 일직선상으로 나란히 있다고 한다. 이하, 이 위치 Pk+1, Pk+2, Pk+3을 연결하는 구간을(수정전의) 직선구간이라 부른다.
그래서, 이 교시위치 Pk+1, Pk+2, Pk=3을 이들을 연결하는 일직선상에 각각 δk+1, δk+2, δk+3만큼 시프트 하는 교시위치의 보정을 생각한다. 또한, 이 시프트량에는, 이 직선상을 위치 Pk-1에서 위치 Pk+2, pk+3으로 향하는 시프트 경우는, 플라스의 부호를, 그 반대에는 마이너스의 부호를 부여한다. 그리고, 교시위치 Pk+1, Pk+2, Pk+3을 시프트한 위치를 각각 Qk+1, Qk+2, Qk+3으로 한다. 그 결과, 수정후의 교시위치의 경로는,
로 표시한다. 이들 교시위치 중, 위치 Qk+1, Qk+2, Qk+3은 일직선상(즉, 위치 Pk+1, Pk+2, Pk+3을 연결하는 일직선상)에 나란히 있다.
수정전의 직선구간에 대해서, 교시위치 Pk+1에서 Pk+2로 향하는 벡터, 교시위치 Pk=2에서 Pk+3으로 향하는 벡터를 각각 Dk+1, Dk+2로 한다. 또한 위치 Pk+1에서 수정위치 Qk+1로 향하는 벡터, 위치 Pk+2에서 수정위치 Qk+2로 향하는 벡터, 위치 Pk+3에서 수정위치 Qk+3으로 향하는 벡터를 각각 Δk+1, Δk+2, Δk+3로 한다(이후, 이들 3개의 벡터를 수정 벡터라 함). 이들의 벡터 Dk+1, Dk+2, Δk+1, Δk+2, Δk+3은 모두 일직선상에 있다.
또 벡터 Dk+1, Dk+2의 절대치를 각각 dk+1, dk+2로 한다. 수정 벡터 Δk+1, Δk+2, Dk+3의 절대치는, 각각 상기한 시프트량 δk+1, δk+2, δk+3이 된다.
벡터 Di(i=k+1, k+2)와 수정벡터 ΔJ(i=k+1, k+2, k+3)와의 사이에는 다음의 관계가 성립한다.
다음에 위치 Pk+1, Pk+2, Pk+3, Qk+1, Qk+2, Qk+3에 대해서 원점 0 기점으로 하는 위치 벡터를 도면과 같이 취하고, OPk+1, OPk+2, OPk+3, OQk+1, OQk+2, OQk+3으로 각각 표시하기로 하면, 다음의 관계식이 성립한다.
식(6)∼(8)의 우변에 식(1)∼(3)을 대입하면
이 된다.
그래서, 위치 벡터OPk+1, Opk+2, Opk+3은 이미 교시가 끝났다. 즉 좌표계 Σ상에서의 위치 데이터(XYZ 각 성분)의 형태로 통상은 로보트 콘트롤러내의 메모리에 저장이 끝난 정보이다.
또, 벡터 Dk+1, Dk+2의 절대치 dk+1, dk+2는, 각각 교시가 끝난 위치 Pk+1, Pk+2 사이의 거리 및 위치 Pk+2, Pk+3 사이의 거리로서 계산하여 구할 수 있다. 왜냐하면, 좌표계 Σ로 정의된 2점 Pi(Xi, Yi, Zi)와 Pi+1(Xi+1, Yi+1, Zi+1)과의 사이의 거리 di는,
로 구할 수 있기 때문이다.
또한 교시 위치를 수정하기 위한 직선 구간 상의 시프트량 δj(j=k+1, k+2, k+3)은 예를 들면 공작물의 사이즈나 배열 간격의 수정량등에 직접관계하는 값으로서, 오퍼레이터가 좌표계 Σ를 의식하지 않고 정할 수 있는 스칼라 양이다.
이상, 상기 식이 교시하는 바는, 예를 들면, 점 Pk+1, Pk+2, Pk+3이 공간에 일직선상에 나란히 있다고 하고, 그 중 점 Pk+2를 이 직선에 따라서 점 Pk+3쪽으로 δk+2 시프트 하는 수정을 한 경우, 수정후의 점 Qk+2의 위치를 위치벡터 OQk+2로 하여 이하의 식으로 구할 수 있음을 의미하고 있다. 즉, 식(10)에서 OQk+2=OPk+2+(δk+2/dk+2/Dk+2
단 Dk+2는 식(5)에서 Dk+2=OPk+3-OPk+2로 구하고, 또 dk+2=|Dk+2|이다.
결국, 수정후의 교시점의 위치 벡터는, 수정대상의 교시점의 수정전의 위치 벡터 OPk+2와 수정을 위한 시프트량과, 다시 직선상에 놓인 또다른 교시점의 위치 벡터 (OPk+3)과의 정보에서 얻어지게 된다.
따라서, 예를 들면 식(4),(5),(12)를 사용하여 식(9)∼(11)에 상당하는 계산을 실행하는 프로그램을 로보트 콘트롤러 내의 메모리에 저장해 놓으면, 오퍼레이터가 시프트량 δk+1, δk+2, δk+3을 로보트 콘트롤러에 입력하여 계산의 실행을 지령하고, 계산결과를 교시위치 데이터의 갱신치로서 메모리에 저장하는 것만으로 소망하는 교시위치 수정작업이 실행될 수 있게 된다.
이상의 설명에 있어서, 수정전후의 교시 위치의 경로의 각각에 대해서 연속된 복수 구간(Pk+1→Pk+2; Pk+2→Pk+3; Qk+1→Qk+2; Qk+2→Qk+3의 각 구간)을 상정했지만, 이 조건은 본 발명으로서 불가결한 전제는 아니다.
즉, 상기 설명에서 용이하게 유추되는 바와 같이, 각수정 벡터Δm(m은 불연속 양의 정수도 연속된 양의 정수라도 좋다)에 대해서, 이것과 평행한 관계에 있고, 교시위치 Ps에서 Ps+1(단 s는 0 또는 임의의 정수)로 향하는 벡터가 적어도 1개씩 발견해 낼 수 있는 형의 임의의 교시위치 수정에 관하여, 본 발명의 위치 교시 방법이 적용가능이다.
제2도는, 본 발명을 실시하기 위하여 사용하는 로보트 콘트롤러의 요부 블록도이다.
도면중, 로보트 콘트롤러(10)는, 중앙 연산 장치(이하, CPU라함)(1)를 가지며, 이 CPU(1)에는, ROM으로 이루는 메모리(2), RAM으로 이루는 메모리(3), CMOS 등으로 이루는 불휘발성 메모리(4), CRT 표시장치가 있는 수동 데이터 입력장치(CRT/MDI)(5), 교시 조작반(6), 보간기등을 포함하고, 로보트의 각축을 제어하는 로보트축 제어부(7)가 버스(9)를 통해서 접속되어 있다. 로보트 축 제어부(7)는 다시 서보회로(8)를 경유하여 로보트 본체(20)에 접속되어 있다.
ROM(2)에는, CPU(1)가 로보트(20) 및 로보트 콘트롤러(10) 자신의 제어를 위하여 실행하는 각종의 프로그램이 저장되어 있다. RAM(3)은 데이터의 일시기억 및 연산을 위하여 이용되는 메모리이다. 불휘발성 메모리(4)에는 CRT/MDI(5), 교시조작반(6), 혹은 도시하지 않은 외부장치에서 입력되는 교시 데이터, 즉, 교시위치 데이터를 포함하는 프로그램 및 각종 파라미터 설정치가 저장된다.
상술한 구성은, 종래의 로보트 콘트롤러와 기본적으로는 변하는 바가 없다. 단, 본 발명을 실시하기 위하여 오퍼레이터에 의하여 CRT/MDI(5) 및 교시조작반(6)을 사용하여 입력된 교시위치 수정데이터(즉, 시프트량 δk+1등)과, 또한, 상술한 식(4),(5),(9),(10),(11),(12)등에 의거하여, 수정된 교시위치 데이터(Qk+1 등의 XYZ 각 성분)을 계산하고, 각 대응하는 수정전의 교시위치 데이터가 저장된 RAM(3)내의 어드레스 위치의 데이터를 수정하는 프로그램이 ROM으로 이루어지는 메모리(2)에 저장되어 있다고 하는 점이 종래와 상이하다.
또, 오퍼레이터의 지령에 의하여, 제4도에 표시와 같은 교시위치 수정모드의 화면을 CRT/MDI(5) 또는 조작 표시반(6)의 디스플레이에 표시시키고, 오퍼레이터가 대화형식으로 수정작업을 실행할 수 있도록, 필요한 프로그램이 ROM으로 이루어지는 메모리(2)에 저장되어 있다고 하는 점에서도 종래와 차이가 있다.
제4도의 교시위치 수정모드의 화면에 있어서는, 수정해야 할 교시 위치의 번호 s 수정량 δs(즉 수정 대상의 교시위치를 직선 구간상을 시프트시키는 양) 수정 벡터의 방향을 지정하기 위하여 필요한 교시위치 번호 i, j(즉, 상기 직선구간을 특정하기 위한 2개의 교시위치의 번호) 일자, 오퍼레이터 코드 번호등을 CRT/MDI의 키보드 또는 조작교시반(6)에서 오퍼레이터가 지정·입력한다. 수정량 δs의 입력에는 부호 +, -가 수반한다. 여기에서는, 각 직선구간을 특정하는 위치 Pi에서 Pj로 향하는 방향과 동일 방향이면 +에 입력란을 선택하고, 반대방향이면 -의 입력란을 선택한다.
ROM으로 이루어지는 메모리(2)에 격납된 수정프로그램은 상기 지정 내용에 의거하여 교시가 끝난 프로그램의 대응하는 블록번호(시퀀스번호)의 위치데이터를 수정할 수 있도록 작성되어 있는 것으로 한다.
이상의 구성과 기능을 갖는 로보트 콘트롤러(10)를 사용하고, 본 발명의 방법을 따라서 교시위치 수정을 행하는 순서의 일례를, 제3도에 표시와 같은 치수가 상이한 2종류의 공작물에 대한 작업을 상정한 경우에 대해서, 제4도의 교시위치 수정모드 화면과 제5도의 플로우차트를 참조하여 설명한다.
제3도에 있어서, (a)는 바닥면의 반지름이 R이고 두께(길이) d를 갖는 원통상의 3개의 공작물 Wa가 좌표계 Σ 상의 일점 G를 기준으로 하여 직선상으로 정렬 배치되어 있는 상태를 모식적으로 표시하고 있다. 로보트에는 이 3개의 공작물에 대한 작업(예를 들면 용접, 마킹등)을 위한 프로그램이 교시가 끝나있고, 로보트가 이들 공작물 Wa에 액세스 해야할 위치로서, 3점 Pk+1, Pk+2, Pk+3이 사전에 교시되어 있는 것으로 한다. 이들 3개의 교시점 Pk+1, Pk+2, Pk+3은, 각 공작물 Wa에 대해서 각각 등가인 위치에 온다고 생각될 수 있기 때문에, 공통의 간격 d를 갖고 한개의 직선상에 나란히 된다. 교시점 Pk+1에서 Pk+2 및 교시점 Pk+2에서 Pk+3으로 향하는 벡터는 동등하고, 이것을 D로 표시하기로 한다. 벡터 D의 절대치는 상기 간격 d가 된다.
상기 교시된 프로그램에 따라서 로보트를 작동시키면, 로보트는 초기 위치에서 출발하여 공작물 Wa에 엑세스하고, Pk+1, Pk+2, Pk+3(및 각 보간점)을 순차 경유하는 운동을 하고, 소정의 작업을 수행하게 된다.
한편, 제3도(b)는, 바닥면 반지름은 제3도(a)의 Wa와 동일한 R이고, 두께(길이) d+δ를 갖는 3개의 공작물 Wb를 Wa에 대신하여 (a)의 경우와 동일하게, 좌표계 Σ상의 일점 G를 기준으로 하여 직선상으로 정렬 배치한 상태를 모식적으로 표시하고 있다.
지금 상기 제3도 (a)의 케이스에서 교시가 끝난 프로그램과 동일한 로보트를 사용하여 동일한 작업을 제3도(b)의 경우에 대해서 실행하는 것을 생각하면, 각 교시점 Pk+1, Pk+2, Pk+3은, 도면중에 표시와 같이, 각각 수정교시점 Qk+1, Qk+2, Qk+3로 수정되어야 한다.
교시점 Pk+1에서 그 수정교시점 Qk+1, 교시점 Pk+2에서 그 수정 교시점 Qk+2, 교시점 Pk+3에서 그 수정교시점 Qk+3에의 각각의 수정(변위)를 표시하는 벡터를 수정벡터 Δk+1, Δk+2, Δk+3으로 하면, 이들 수정 벡터의 크기는 도시한 바와 같이 각각 δ, 2δ, 3δ가 된다.
즉, 여기에서 필요해지는 교시위치수정을, 제1도에 있어서의 설명과 대응시키면, 제1도의 벡터 Dk+1 및 Dk+2를 여기에서는 어느것이나 D로 놓고, 제1도의 간격 dk+1, dk+2, dk+3을 여기에서는 어느것이나 d로 놓고, 다시 제1도의 시프트양 δk+1, δk+2, δk+3을 각각 δ, 2δ, 3δ로 놓은 것과 동등하다.
따라서, 수정된 교시점 Qk+1, Qk+2, Qk+3의 위치데이터를 구하는 데에는, 식 상기의 식(9),(10),(11)을 이상의 조건하에서 계산하면 좋다.
즉, 식(1)∼(3)이하와 같이 된다.
다음에 식(4),(5)는 다음식(16)으로 정리될 수 있다.
여기에서 위의식(13)∼(15)를 사용하며 식(9)∼(11)은 다음과 같이 된다.
여기에서, 각 위치 벡터 OPk+1, OPk+2, OPk+3의 XYZ 각 성분은 교시가 끝난 위치 데이터에 불과하기 때문에, 불휘발성 메모리(4)로 부터 판독할 수 있다. 또, 상기 d의 값은, 불휘발성 메모리(4)에서 읽어낸 OPk+1, OPk+2, OPk+3의 XYZ 각 성분 데이타를 사용하여, 상기식(12)에 해당하는 계산을 ROM으로 이루어지는 메모리(2)에 저장한 수정 프로그램에 의하여 실행시키므로써 구할 수 있다. 또한, 이 d의 값은 공작물 Wa의 두께이므로, 그 실측치를 설정 파라미터로서 사전에 불휘발성 메모리(4)에 저장해 두는 것도 생각할 수 있다.
상기 설명에서 용이하게 알 수 있는 바와 같이, 제3도에 나타낸 수정 작업을, 제4도에 표시한 화면을 표시하는 디스플레이를 갖는 데이터 수동입력장치(CRT/MDI(15)) 또는 교시 조작반(6)을 갖고 실행하는데에는, 화면상[수정 1]란에서는 i에 k+1, j에 k+2, s에 k+1, δs(=δk+1)에 δ:[수정 2]란에서는 i에 k+1, j에 k+2, s에 k+2, δs(=δk+2)에 2δ:[수정 3]란에서는 i에 k+1, j에 k+2, s에 k+3, δs(=δk+3)에 3δ를 입력하게 된다.
이하에 상기 데이터 수동입력장치(CRT/MDI(15)) 또는 교시조작반(6)을 사용한 교시위치 수정의 실행 프로세스의 일례를 제5도의 플로우차트로 표시한다.
우선 로보트 콘트롤러(10)의 전원을 ON하여 제4도의 교시 위치 수정모드의 화면을 CRT/MDI(15) 또는 교시조작반(6)의 디스플레이에 표시시킨다(스텝 S1). 여기에서 이 화면을 보면서[수정 1]란, [수정 2]란, [수정 3]란의 각각의 i, j, s, δs를 수동입력한다(스텝 2).
여기서 예로서, 직선구간을 형성하는 3개의 점 P51, P52, P53에 관하여, 이 직선의 방향에 따라서, 점 P51을 점 P52의 쪽으로 50mm(δ=+50), 점 P52를 점 P53쪽으로 20mm(δ=+20), 점 P53을 점 P52와 반대쪽으로 30mm(δ=+30) 각각 시프트하는 교시위치 수정을 상정한다. 그러면, 표시환면의 [수정]란에서는, 직선 구간을 점 P51과 점 P52를 연결하는 직선으로 정의하도록(물론, 점 P51과 점 P53과를 연결하는 직선으로서 정의해도 좋다) i에 51을, j에 52를 입력하고, 다음에 수정대상의 점 Ps를 특정하는 s의 값 51과 그 시프트 양 δ를 +50에 입력한다. 동일하게 하여 [수정 2]란에서는, i에 51을, j에 52를 입력하고(이난에서 직선 구간을 또다른 형태로(예를 들면 P52와 P53으로) 재정의할 필요는 없다). s에 52, δ에 +20을 입력한다. 또한, [수정 3]란에서는, i에 51를, j에 52를 입력하고, s에 53, δ에 +30을 입력한다.
이상 입력한 데이터를 화면으로 확인한 뒤에, 화면 최하부의 질문에서 수정완료를 표시하는 Y를 키 입력하면, CPU(1)이 수정처리를 개시한다.
우선, 수정번호지표 α를 1로 리셋트하고(스텝 S3), 교시가 끝난 프로그램 중에서 [수정 1]로 지정된 i, j, s에 대응한 교시위치 데이터를 판독하고, 어드레스 번호와 함께 RAM(3)에 일시기억한다(스텝 S4).
이어서, (4) 또는 (5)식에 의거하여 dIJ=Dj-Di의 계산과, 다시, (12)식에 의거하여,
DIJ=|DIJ|
의 계산을 행한다(스텝 S5).
그리고, (9),(10),(11)식에 대응해서,
OQs=OPs+(δs/dij)Dij
의 계산을 하고, 수정위치 Qs의 위치 벡터 OQs를 구한다(스텝 S6).
이렇게 하여, 우선 [수정 1]에서 입력한 점의 수정위치 Qs가 구해지면 즉시 불휘발성 메모리(4)내의 Ps가 저장된 어드레스번호의 데이터를 이 Qs에 수정한다(스텝 S7). 이와같이 하여, [수정 1]의 처리가 종료하면, 다음의 수정번호 지표 α에 1을 가산한다(스텝 S8). 그래서, [수정 2]가 있으면 스텝 S4로 되돌아오고(스텝 S9), [수정 2]에 관해서 스텝 S4∼스텝 S7을 재실행한다. 본 실시예에서는 α=3으로 1화면분의 수정은 끝나기 때문에, 스텝 S4∼스텝 S7이 전부 3회 반복되어 1화면분의 교시위치수정이 완료한 후에, 스텝 S8에서 α=4가 되어 스텝 S10으로 전진한다.
스텝 S10에서는, CRT/MDI(5) 또는 교시 조작반(6)이 수정화면모드를 리셋트하여 i, j, s δs 등의 데이터의 표시를 종료시킨다. [수정 1]∼[수정 3]외에 요(要)수정교시위치가 남아 있으면, 오퍼레이터는 다시 수정화면 모드를 호출하고(스텝 S11, 스텝 S1), 전회 동일한 수정작업을 실행한다.
제4도의 케이스에서는, 요수정교시위치는 3점으로 모두 실행하기 때문에, 스텝 S11에서는 NO로 판단되어 전수정작업이 완료한다.
또한, 이상의 설명에서는 수정입력은 수동입력으로 실시했지만, 오프라인으로 수정데이터를 작성하고, 요수정교시위치의 데이터의 어드레스 번호등의 데이터와 함께 도시 않는 입력장치를 통해서 일단 불휘발성 메모리(4)에 로딩하고, 오퍼레이터의 지령에 의하여 이것을 판독하여 교시위치의 일괄수정처리를 하게 하는 것도 가능하다.
본 발명의 위치 교시방법에 의하면, 이미 교시가 끝난 프로그램에 대해서 교시위치간의 방향은 변경하지 않고, 교시위치만을 변경하는 형의 교시위치수정에 있어서, 오퍼레이터는, 좌표계를 인식하여 위치수정데이터의 환산(성분계산)을 실행하는 등의 번잡한 작업을 필요로 하지 않는다. 즉, 오퍼레이터는, 현실의 작업대상의 레벨에서의 수정량으로서 파악이 용이한 값(스칼라량 δj)을 로봇 콘트롤러 등에 입력하는 것만으로 좋기 때문에, 교시가 끝난 프로그램을 재이용한 극히 효율적인 작업을 실시할 수 있다.
특히, 공작물의 사이즈나 배열개수에 여러가지의 변화가 있어도, 수정량(δj)과, 교시가 끝난 프로그램의 요수정개소를 블록번호(시퀸스번호) 등의로 지정하여 최소한의 수정을 실시하는 것만으로 교시가 끝난 프로그램을 유효하게 이용할 수 있는 장점이 있다.

Claims (3)

  1. 일직선상에 위치한 복수의 교시점들중 임의의 교시점의 수정전 위치를 상기 직선을 따라 상기 수정전 위치로부터 어떤 거리 이동된 수정후 위치로 수정하는 로보트의 위치 교시방법에 있어서, 상기 임의의 교시점의 상기 수정전 위치의 제1위치 정보를 제공하는 단계, 상기 수정전 위치로부터 상기 수정후 위치로의 상기 직선에 따른 상기 이동거리를 제공하는 단계, 상기 직선상에 위치한 제2 및 제3의 상기 복수의 교시점들의 제2위치정보를 제공하는 단계, 상기 제공하는 단계들에서 구한 상기 제1위치정보, 상기 거리, 및 상기 제2위치정보에 의거하여 상기 수정후 위치를 결정하는 단계, 상기 결정하는 단계에서 구한 상기 수정후 위치에 의거하여 로보트 동작을 수행하는 단계로 이루어지는 것을 특징으로 하는 로보트의 위치교시방법.
  2. 일직선상에 위치한 복수의 교시점들중 임의의 교시점의 수정전 위치를 상기 직선을 따라 상기 수정전 위치로부터 어떤 거리 이동된 수정후 위치로 수정하는 로보트의 위치 교시방법에 있어서, 상기 임의의 교시점의 상기 수정전 위치의 제1위치 벡터를 결정하는 단계, 상기 수정전 위치로부터 상기 수정후 위치로의 상기 직선에 따른 상기 이동거리를 제공하는 단계, 상기 직선상에 위치한 제2 및 제3의 상기 복수의 교시점들의 제2위치벡터와 제3위치벡터를 각각 결정하는 단계, 상기 결정된 상기 제1위치벡터, 상기 제공된 거리, 및 상기 결정된 제2위치벡터 및 제3위치벡터들에 의거하여 상기 수정후 위치벡터를 결정하는 단계, 상기 결정된 수정후 위치벡터에 의거하여 로보트 동작을 수행하는 단계로 이루어지는 것을 특징으로 하는 로보트의 위치교시방법.
  3. 제2항에 있어서, 상기 수정후 위치벡터를 결정하는 상기 단계는 다음 식들로부터 상기 수정후 위치벡터를 결정하는 단계를 포함하고
    여기서, OPs는 상기 제1위치벡터를 나타내고, δs는 상기 거리를 나타내며, Dj는 상기 제2위치벡터를 나타내고, Di는 상기 제3위치벡터를 나타내며, OQs는 수정후 위치벡터를 나타내는 것을 특징으로 하는 로보트의 위치교시방법.
KR1019940702163A 1992-10-20 1993-10-19 로보트의 위치 교시방법 KR0159804B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP92-306232 1992-10-20
JP4306232A JP3053501B2 (ja) 1992-10-20 1992-10-20 ロボットの位置教示方法
PCT/JP1993/001502 WO1994009422A1 (en) 1992-10-20 1993-10-19 Method for teaching position to robot

Publications (2)

Publication Number Publication Date
KR940704023A KR940704023A (ko) 1994-12-12
KR0159804B1 true KR0159804B1 (ko) 1999-03-20

Family

ID=17954590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940702163A KR0159804B1 (ko) 1992-10-20 1993-10-19 로보트의 위치 교시방법

Country Status (5)

Country Link
US (1) US5479078A (ko)
EP (1) EP0622715A4 (ko)
JP (1) JP3053501B2 (ko)
KR (1) KR0159804B1 (ko)
WO (1) WO1994009422A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3529158B2 (ja) * 1994-05-18 2004-05-24 ファナック株式会社 ロボット動作プログラミング方法及びプログラミング装置
JP3804994B2 (ja) * 1994-07-15 2006-08-02 ファナック株式会社 ロボットの教示方法
US7430456B2 (en) * 2006-02-08 2008-09-30 Seagate Technology Llc Reference point teaching using an end effector to form a witness mark
JP6449534B2 (ja) * 2012-11-14 2019-01-09 ファナック アメリカ コーポレイション ロボットシミュレータ用の教示点プログラム選択方法
DE102014226933B3 (de) * 2014-12-23 2016-03-24 Kuka Roboter Gmbh Vorrichtung und Verfahren zum Aufnehmen von Positionen
JP6348141B2 (ja) * 2016-04-28 2018-06-27 ファナック株式会社 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置
CA3098890A1 (en) 2018-04-30 2019-11-07 Path Robotics, Inc. Reflection refuting laser scanner
US11407110B2 (en) 2020-07-17 2022-08-09 Path Robotics, Inc. Real time feedback and dynamic adjustment for welding robots
US11648683B2 (en) 2021-02-24 2023-05-16 Path Robotics, Inc. Autonomous welding robots

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4140953A (en) * 1976-03-03 1979-02-20 Unimation, Inc. Real time program modification apparatus
US4380696A (en) * 1980-11-12 1983-04-19 Unimation, Inc. Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing
JPS58155189A (ja) * 1982-03-10 1983-09-14 新明和工業株式会社 産業用ロボツトの位置制御装置
JPS58225406A (ja) * 1982-06-23 1983-12-27 Shin Meiwa Ind Co Ltd 工業用ロボツト
US4568816A (en) * 1983-04-19 1986-02-04 Unimation, Inc. Method and apparatus for manipulator welding apparatus with improved weld path definition
US4675502A (en) * 1985-12-23 1987-06-23 General Electric Company Real time tracking control for taught path robots
JPS62242202A (ja) * 1986-04-15 1987-10-22 Nippon Kokan Kk <Nkk> 溶接ロボツトの制御方法
JPH02137004A (ja) * 1988-11-18 1990-05-25 Tokico Ltd 工業用ロボット

Also Published As

Publication number Publication date
JPH06131033A (ja) 1994-05-13
EP0622715A4 (en) 1996-04-03
US5479078A (en) 1995-12-26
EP0622715A1 (en) 1994-11-02
KR940704023A (ko) 1994-12-12
WO1994009422A1 (en) 1994-04-28
JP3053501B2 (ja) 2000-06-19

Similar Documents

Publication Publication Date Title
US4659971A (en) Robot controlling system
JP2786225B2 (ja) 工業用ロボットの制御方法及び装置
EP0062244B1 (en) Robot locus control system
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
EP0383944B1 (en) Action teaching method and control apparatus for a robot
KR0159804B1 (ko) 로보트의 위치 교시방법
CN107443389B (zh) 机器人控制装置及机器人控制方法
EP0216930B1 (en) System for setting rectangular coordinates of workpiece for robots
US6157155A (en) Robot path planning method where bending owing to load is taken into consideration
JPS62108313A (ja) ロボットのプログラミング方法
US10507585B2 (en) Robot system that displays speed
US5600759A (en) Robot capable of generating patterns of movement path
JP2019089201A (ja) 教示データ作成装置、教示データ作成装置の制御方法及びロボットシステム
EP0785492A1 (en) Jog operation method of robot
US5276777A (en) Locus correcting method for industrial robots
JPS6097409A (ja) ロボツトの動作教示法
EP0414919A1 (en) Robot capable of forming operating path pattern
EP0371142B1 (en) Method of correcting loci of an industrial robot
JPS63123723A (ja) ロボツトシステムにおけるパレツト空間位置特定方法
JPH05127720A (ja) ロボツトのオフライン教示装置
JPS5958503A (ja) ロボツトのツ−ルオフセツト教示方法
JPH05224734A (ja) ロボットのシミュレーション装置
KR940003090B1 (ko) 산업용 로보트의 오프-라인 교시방법
JP3330386B2 (ja) 産業用ロボットの自動教示方法と産業用ロボット装置
JPH0641031B2 (ja) 溶接ロボットの溶接方法

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee