KR20230046333A - 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 - Google Patents

강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 Download PDF

Info

Publication number
KR20230046333A
KR20230046333A KR1020210128490A KR20210128490A KR20230046333A KR 20230046333 A KR20230046333 A KR 20230046333A KR 1020210128490 A KR1020210128490 A KR 1020210128490A KR 20210128490 A KR20210128490 A KR 20210128490A KR 20230046333 A KR20230046333 A KR 20230046333A
Authority
KR
South Korea
Prior art keywords
tool
contour
reference position
model
robot
Prior art date
Application number
KR1020210128490A
Other languages
English (en)
Other versions
KR102591942B1 (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 PCT/KR2021/013384 priority Critical patent/WO2023054751A1/ko
Priority to KR1020210128490A priority patent/KR102591942B1/ko
Publication of KR20230046333A publication Critical patent/KR20230046333A/ko
Application granted granted Critical
Publication of KR102591942B1 publication Critical patent/KR102591942B1/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/0055Cutting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

본 발명의 일 실시 예는 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 기술을 제공한다. 본 발명의 실시 예에 따른 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법은, 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇, 로봇의 말단과 결합하고 공구를 구비하여 가공대상에 대한 가공을 수행하는 가공부 및, 공구가 가공대상에 대한 작업 시, 로봇의 자세를 제어하는 제어부를 마련하는 제1단계; 상기 로봇의 자세에 따라 가변하는 상기 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 상기 공구에 작용되는 힘인 절삭력에 대한 정보를 이용함으로써, 상기 공구에 대해 연산된 가공오차인 컴플라이언스오차를 연산하여 도출하는 제2단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치 및 방향인 참조위치 및 참조방향, 그리고, 상기 컴플라이언스오차를 이용하여, 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제3단계; 가공대상에 따라 사전에 설정된 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하는 제4단계; 복수 개의 직선 중 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제5단계; 최근접참조위치에서의 참조방향과 실제방향을 이용하여 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제6단계; 및 윤곽기준위치와 윤곽기준방향을 이용하여 로봇을 제어함으로써 공구의 위치와 방향을 제어하는 제7단계;를 포함한다.

Description

강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 {A METHOD AND APPARATUS FOR CONTROLLING A ROBOT USING A MODEL FOR STIFFNESS AND A MODEL FOR CUTTING FORCE}
본 발명은 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치에 관한 것으로, 더욱 상세하게는, 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 기술에 관한 것이다.
최근에는 복수 개의 로봇을 이용한 제조 시스템이 증가하고 있으며, 자동차와 항공기 등과 같은 제품의 생산에 있어서, 로봇을 이용한 자동 제조 효율의 향상 및 가공 정밀도의 증가에 대한 요구가 지속적으로 증가하고 있다.
로봇을 이용하여 가공을 수행하는 경우, 로봇의 강성, 기구학 요인 등에 의해 가공오차가 발생하는데, 종래기술의 로봇 제어 장치에서는 상기와 같은 가공오차에 대한 정밀한 측정이 용이하지 않았으며, 이에 따라, 종래기술에서는 가공오차에 대한 정밀도를 향상시키기 위하여 복수 개의 센서를 이용하여 로봇의 가공에 대한 피드백을 수집하고 이와 같은 정보를 분석함으로써 로봇의 가공오차를 감소시키는 방식이 이용되었으나, 이와 같은 방식은 사용자가 개발한 제어 알고리즘을 적용할 수 있는 일부 개방형 로봇 제어기에만 적용할 수 있다는 문제점이 있다.
대한민국 공개특허 제10-2015-0070370호(발명의 명칭: 산업용 로봇의 인라인 교정을 위한 방법, 이러한 방법을 수행하기 위한 교정 시스템, 및 이러한 교정 시스템을 포함하는 산업용 로봇)에서는, 적어도 세 개의 광선들이 상기 로봇 팔(3)의 상기 말단(6)에 견고하게 연결된 적어도 하나의 광원(7)을 써서 생성되고, 상기 센서에 영향을 주는 광선의 위치를 2-차원 평면 내에 결정하기 위해 적응되는 적어도 하나의 광학 위치센서(12)는, 상기 로봇 팔(3)의 상기 말단(6)의 미리 정의된 교정 장소에서 상기 적어도 하나의 광원(7)에 의해 생성된 적어도 몇몇의 상기 광선들이 상기 센서(12) 또는 상기 센서들(12) 중 적어도 하나에 영향을 주도록 상기 로봇의 베이스부(2)에 대해 고정된 장소에 위치되는 사항이 개시되어 있다.
대한민국 공개특허 제10-2015-0070370호
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 로봇을 이용한 가공 공정에서, 가공대상에 대한 가공경로의 오차 보정이 용이하게 수행되도록 로봇을 제어하는 것이다.
그리고, 본 발명의 목적은, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇에 대한 상기와 같은 제어를 수행할 수 있도록 하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇, 상기 로봇의 말단과 결합하고 공구를 구비하여 가공대상에 대한 가공을 수행하는 가공부 및, 상기 공구가 상기 가공대상에 대한 작업 시, 상기 로봇의 자세를 제어하는 제어부를 마련하는 제1단계; 상기 로봇의 자세에 따라 가변하는 상기 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 상기 공구에 작용되는 힘인 절삭력에 대한 정보를 이용함으로써, 상기 공구에 대해 연산된 가공오차인 컴플라이언스오차를 연산하여 도출하는 제2단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치 및 방향인 참조위치 및 참조방향, 그리고, 상기 컴플라이언스오차를 이용하여, 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제3단계; 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하는 제4단계; 상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제5단계; 상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제6단계; 및 상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제7단계;를 포함한다.
본 발명의 실시 예에 있어서, 상기 제2단계에서, 상기 컴플라이언스오차(Δx)는 하기의 수학식에 의해 도출되며, Δx는 컴플라이언스오차이고, Cx는 데카르트 컴플라이언스 행렬이며, Ф는 절삭력이고, Cθ는 상기 로봇의 관절에 대한 컴플라이언스 행렬이며, T는 전치행렬일 수 있다.
Figure pat00001
본 발명의 실시 예에 있어서, 상기 제4단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
본 발명의 실시 예에 있어서, 상기 제5단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
본 발명의 실시 예에 있어서, 상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향일 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향과 상기 최근접참조위치에 인접한 참조위치에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
본 발명의 실시 예에 있어서, 상기 제6단계에서, 상기 윤곽기준방향은, 상기 윤곽기준위치에서 상기 공구의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 구성은, 상기 로봇에 결합되고 상기 공구를 구비하는 가공부; 및 상기 강성데이터와 상기 절삭력에 대한 정보를 이용하여, 상기 공구의 상기 컴플라이언스오차를 도출하고, 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치와 방향인 상기 참조위치와 상기 참조방향을 설정함으로써, 상기 컴플라이언스오차 및 상기 참조위치와 상기 참조방향을 이용하여 상기 실제위치와 상기 실제방향에 대한 정보를 생성하고, 상기 윤곽기준위치와 상기 윤곽기준방향을 도출하여, 상기 로봇으로 제어신호를 전달함으로써 상기 공구의 위치와 방향을 제어하는 제어부를 포함한다.
상기와 같은 구성에 따른 본 발명의 효과는, 현재 공구의 위치와 사전에 설정된 참조위치 간 차이를 이용하여 가공대상에 대한 가공경로의 오차 보정을 수행하므로, 오차 보정의 성능을 향상시킬 수 있다는 것이다.
그리고, 본 발명의 효과는, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇에 대한 오차 보정 제어를 수행할 수 있어, 로봇을 이용한 가공공정에서의 효율을 현저히 향상시킬 수 있다는 것이다.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명의 일 실시 예에 따른 가공 장치에 대한 개략도이다.
도 2는 본 발명의 일 실시 예에 따른 가공 장치의 일부에 대한 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 공구의 위치 보정에 대한 모식도이다.
도 4는 본 발명의 일 실시 예에 따른 공구의 위치 보정에 대한 그래프이다.
도 5는 본 발명의 일 실시 예에 따른 윤곽기준위치를 측정하기 위한 각 케이스의 설명을 위한 이미지이다.
도 6은 본 발명의 일 실시 예에 따른 방향윤곽오차의 측정에 대한 이미지이다.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시 예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결(접속, 접촉, 결합)"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 첨부된 도면을 참고하여 본 발명에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 가공 장치에 대한 개략도이고, 도 2는 본 발명의 일 실시 예에 따른 가공 장치의 일부에 대한 구성도이다. 또한, 도 3은 본 발명의 일 실시 예에 따른 공구(111)의 위치 보정에 대한 모식도이고, 도 4는 본 발명의 일 실시 예에 따른 공구(111)의 위치 보정에 대한 그래프이다.
그리고, 도 5는 본 발명의 일 실시 예에 따른 윤곽기준위치를 측정하기 위한 각 케이스의 설명을 위한 이미지이며, 도 6은 본 발명의 일 실시 예에 따른 방향윤곽오차의 측정에 대한 이미지이다.
먼저, 제1단계에서, 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇(120), 로봇(120)의 말단과 결합하고 공구(111)를 구비하여 가공대상(10)에 대한 가공을 수행하는 가공부(110) 및, 공구(111)가 가공대상(10)에 대한 작업 시, 로봇(120)의 자세를 제어하는 제어부(130)를 마련할 수 있다.
그리고, 제어부(130)는, 강성데이터와 절삭력에 대한 정보를 이용하여, 공구의 컴플라이언스오차(Δx)를 도출하고, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로 상 공구(111)의 위치와 방향인 참조위치와 참조방향을 설정함으로써, 컴플라이언스오차(Δx) 및 참조위치와 참조방향을 이용하여 실제위치(Pact)와 실제방향(Oact)에 대한 정보를 생성하고, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 도출하여, 로봇(120)으로 제어신호를 전달함으로써 상기 공구의 위치와 방향을 제어할 수 있다.
이와 같은 본 발명의 로봇(120) 제어 장치를 이용한 본 발명의 로봇(120) 제어 방법에 대해서, 하기의 각 단계에서 더욱 상세히 설명하기로 한다.
상기와 같은 제1단계 이후 제2단계에서, 로봇(120)의 자세에 따라 가변하는 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 공구(111)에 작용되는 힘인 절삭력에 대한 정보를 이용하여, 공구(111)에 대해 연산된 가공오차인 컴플라이언스오차(Δx)를 연산하여 도출할 수 있다.
강성데이터에는 각각의 가공공정 수행 시 로봇(120)의 자세에 대한 데이터가 수집 저장되어 있으며, 이와 같은 강성데이터를 이용하여 하기와 같은 강성행렬(Kx)을 도출할 수 있다.
제어부(130)에는 가공대상(10)에 대한 공구(111)인 이동경로인 참조가공경로가 사전에 저장되어 있으며, 이와 같은 참조가공경로를 따라 공구(111)가 이동하는 경우, 공구(111)의 이동 경로 상 각각의 위치에서의 로봇(120)의 자세가 제어부(130)에 저장될 수 있으며, 이를 이용하여, 제어부(130)는 참조가공경로를 이용하여 로봇(120)의 자세 변형을 예측할 수 있다.
여기서, 로봇(120)의 자세 변형이란, 복수 개의 관절 각각의 3차원 회전각 및 복수 개의 링크 각각의 3차원 위치가 반영되어 로봇(120)의 자세가 변경 및 결정되는 것을 의미할 수 있다.
제어부(130)는, 가공대상(10)에 형성된 복수 개의 가공부(110)위 각각에 대한 절삭력의 데이터인 절삭력모델링데이터를 저장할 수 있다. 사용자가 제어부(130)에 가공대상(10)의 종류에 대한 정보를 입력하면, 제어부(130)는 해당 가공대상(10)과 관련된 정보를 절삭력모델링데이터에서 서칭하게 되고, 매칭되는 데이터를 이용하여 해당 가공대상(10)에서 복수 개의 가공부(110)위 각각에 대한 절삭력을 도출하여 이용할 수 있다.
이와 같은 방식으로 절삭력을 도출하는 경우, offline 상태에서도 로봇(120)의 제어를 수행할 수 있어, 로봇(120)을 이용한 가공의 안정성을 향상시킬 수 있다.
또는, 가공부(110)는, 절삭력을 측정하는 힘센서(121)를 구비할 수 있다. 여기서, 힘센서(121)는 가공부(110)의 외부 또는 내부에 형성될 수 있으며, 힘센서(121)는 가공부(110) 내 공구(111)와 연결된 스핀들에 가해지는 압력 및 토크를 측정할 수 있다.
여기서, 스핀들에 가해지는 압력 및 토크는 3차원 방향으로 측정될 수 있으며, 제어부(130)는 이와 같은 스핀들에 대한 압력 및 토크 값을 이용하여 절삭력을 도출할 수 있으며, 이를 위해 제어부(130)는 절삭력 측정을 위한 공구(111)동력계(dynamometer)를 구비할 수 있다.
컴플라이언스오차(Δx)는 로봇 머니퓰레이터의 불충분한 구조적 강성으로 인해 발생할 수 있다. 컴플라이언스(Compliance)의 주요 요인은 베어링, 모터 샤프트, 기어 및 기어박스와 같은 로봇의 관절에 설치되는 부품일 수 있다. 링크의 강성은 관절(조인트)보다 훨씬 크기 때문에 링크가 강성인 것으로 가정하고 모든 컴플라이언스는 관절 부분에만 집중될 수 있다. 컴플라이언스오차(Δx)는 모터 엔코더로 측정할 수 없기 때문에 로봇(120) 가공 중 컴플라이언스오차(Δx)를 추정하기 위해 컴플라이언스 모델을 이용할 수 있다.
외력(external wrench)에 의해 유도된 로봇의 관절 토크(τ)는, 하기의 [수학식 1]에 의해 도출될 수 있다.
[수학식 1]
Figure pat00002
여기서, τ는 관절 토크이고, J는 자코비안 행렬이며, Ф는 외력일 수 있다. 그리고, 하기와 같이 외력은 절삭력일 수 있다.
그리고, 상기와 같은 [수학식 1]에 대한 편도함수는 [수학식 2]와 같이 표현될 수 있으며, [수학식 2]는 [수학식 3]과 같이 데카르트 강성행렬(Kx)의 관점에서 재정렬될 수 있다.
[수학식 2]
Figure pat00003
[수학식 3]
Figure pat00004
여기서, Kθ는 관절 강성행렬이고,
Figure pat00005
는 상보적 강성행렬일 수 있다. 일반적인 경우에는 상보적 강성행렬의 효과가 관절 강성행렬에 비해 상대적으로 작기 때문에 무시할 수 있다. 따라서, 컴플라이언스 모델에 대한 수학식은 [수학식 4]와 같이 도출될 수 있다.
그리고, 제어부(130)는, 하기의 [수학식 4]를 이용하여 컴플라이언스오차(Δx)를 도출할 수 있다. 여기서, Δx는 컴플라이언스오차이고, Cx는 데카르트 컴플라이언스 행렬이며, Ф는 절삭력이고, Cθ는 로봇(120)의 관절에 대한 컴플라이언스 행렬이며, J는 자코비안 행렬이고, T는 전치행렬(이하, 동일)일 수 있다. 이하, 로봇(120)의 관절(조인트)에 대한 컴플라이언스 행렬은 관절 컴플라이언스 행렬이라고 할 수 있다.
[수학식 4]
Figure pat00006
데카르트 컴플라이언스 행렬은 자코비안 행렬과 관절 컴플라이언스 행렬을 곱하여 연산될 수 있다. 관절 컴플라이언스 행렬은 각각의 요소가 관절 컴플라이언스 값인 대각 행렬, 즉, Cθ=diag(1/Kθ1, ..., 1/Kθi, ..., 1/Kθ6)일 수 있다. 여기서, Kθi는 로봇(120)의 각 관절에 대한 강성 값을 나타내고, 관절의 강성 값은 각 관절의 힘/변위 관계를 사용하여 식별될 수 있다.
가공 중 공구(111)의 실제 자세(실제 위치 및 방향)는 주로 절삭력으로 인한 처짐, 즉, 컴플라이언스 오류 및 운동학적 매개변수의 부정확성으로 인해 원하는 궤적에서 벗어나 윤곽 오류가 발생할 수 있다. 3차원(3-D) 로봇 가공에서, 윤곽 오차는, 공구(111)의 참조위치와 실제위치(Pact)의 차이인 위치윤곽오차(εp) 및, 공구(111)의 참조방향과 실제방향(Oact)의 차이인 방향윤곽오차(εo)로 구성될 수 있다.
도 3과 도 4에서 보는 바와 같이, 참조자세(Reference pose)와 실제자세(Actual pose)를 이용하여, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)를 포함하는 윤곽기준자세(Contour reference pose)를 도출할 수 있으며, 로봇(120) 가공에서의 위치윤곽오차(εp) 및 방향윤곽오차(εo)에 의한 자세오차(εcontour)를 도출할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)에서 직교 좌표의 원하는 참조 궤적까지의 직교 거리로 정의될 수 있고, 위치윤곽오차(εp)는 실제위치(Pact)와 실제위치(Pact)에서 참조 궤적에서 가장 가까운 참조위치인 최근접참조위치(Pn)를 이용하여 연산될 수 있다. 그리고, 방향윤곽오차(εo)는, 원하는 방향(윤곽기준자세의 방향)과 실제 방향을 사용하여 연산할 수 있다. 이와 같은 사항에 대해서는 하기의 나머지 각 단계에서 상세히 설명하도록 한다.
상기와 같은 제2단계 이후 제3단계에서, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로 상 공구(111)의 위치 및 방향인 참조위치 및 참조방향, 그리고, 컴플라이언스오차(Δx)를 이용하여, 공구(111)의 실시간 위치와 방향인 실제위치와 실제방향을 측정할 수 있다.
제어부(130)는, 참조가공경로에의 참조위치와 참조방향 및 컴플라이언스오차(Δx)를 이용하여 공구(111)의 실시간 위치와 방향인 실제위치와 실제방향을 도출할 수 있다. 구체적으로, 참조가공경로 상 참조위치는 3차원 위치로 표현되며 참조방향은 3차원 방향으로 설정되며, 컴플라이언스오차(Δx)는 3차원 위치와 방향을 모두 포함할 수 있다. 그리고, 참조위치와 참조방향에서 컴플라이언스오차(Δx)에 의한 오차를 연산함으로서, 3차원 위치와 방향에 있어 공구(111)의 실시간, 즉, 현재 상태에 대한 위치와 방향인 실제위치와 실제방향을 연산할 수 있다.
상기와 같은 제3단계 이후 제4단계에서, 가공대상(10)에 따라 사전에 설정된 공구(111)의 가공경로인 참조가공경로를 복수 개의 직선으로 분할할 수 있다. 여기서, 복수 개의 직선은 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성될 수 있다.
로봇(120)을 제어하는 제어부(130)는, 로봇(120)의 가공 경로 계획을 위해 각 샘플링 주기에서 참조위치와 참조방향으로 구성된 참조자세 세트를 하기의 [수학식 5]와 같이 제공할 수 있다.
[수학식 5]
Figure pat00007
여기서, Pr 및 Or은 데카르트 좌표의 기준 위치 및 방향일 수 있다. 또한, Xr, Yr 및 Zr은 각각 X, Y 및 Z축의 참조위치일 수 있다. 그리고, Rxr, Ryr, Rzr은 각각 오일러 각으로 표시되는 Rx, Ry, Rz축의 참조방향일 수 있다.
위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출하기 위해서는 상기와 같은 참조자세를 찾아야 하며, 참조 가공경로에 의한 참조 궤적은 보간기에 의해 분할된 복수 개의 직선으로 분할되며, 결과적으로 각 샘플링 기간에 대해 참조위치가 생성될 수 있다. 그리고, 각각의 참조위치에서의 공구(111)의 방향인 참조방향이 생성될 수 있다.
상기와 같은 제4단계 이후 제5단계에서, 복수 개의 직선 중 실제위치(Pact)에 가장 근접한 참조위치인 최근접참조위치(Pn)를 통과하는 2개의 직선 각각과 실제위치(Pact)를 수직 연결한 2개의 수직연결선을 이용하여, 공구(111)의 위치 오차를 보정한 위치인 윤곽기준위치(Pc)를 도출할 수 있다. 여기서, 2개의 직선은, 최근접참조위치(Pn)에 인접한 2개의 참조위치 각각과 최근접참조위치(Pn)를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함할 수 있다.
위치윤곽오차(εp)는 실제위치(Pact)와 보간된 참조위치를 연결하는 선분에서 찾은 윤곽기준위치(Pc) 사이의 거리를 사용하여 연산될 수 있다. 이를 위해, 먼저, 탐색범위를 설정하고 탐색범위 내의 참조가공경로에 복수 개의 참조위치를 설정한 다음, 복수 개의 참조위치 중 공구(111)의 실제위치(Pact)와 가장 근접한 최근접참조위치(Pn)를 연산하여 도출할 수 있다.
여기서, 탐색범위 내 복수 개의 참조위치는 실험적으로 20개 이상이 바람직할 수 있으나, 반드시 이에 한정되는 것은 아니다.
상기와 같은 최근접참조위치(Pn)를 도출한 후, 최근접참조위치(Pn)에 인접한 2개의 참조위치, 즉, 참조가공경로 상 가공 방향에 대해 최근접참조위치(Pn)의 전과 후의 방향에 위치한 2개의 참조위치인 제1인접참조위치(Pn-1)과 제2인접참조위치(Pn+1)가 설정될 수 있다.
여기서, 제1인접참조위치(Pn-1)와 최근접참조위치(Pn)를 연결하여 제1연결직선이 형성되고, 제2인접참조위치(Pn+1)와 최근접참조위치(Pn)를 연결하여 제2연결직선이 형성될 수 있다.
그리고, 실제위치(Pact)로부터 제1연결직선으로 연결되는 제1수직연결선과 제1연결직선의 교점인 제1투영점(H1) 및, 실제위치(Pact)로부터 제2연결직선으로 연결되는 제2수직연결선과 제2연결직선의 교점인 제2투영점(H2)이 설정될 수 있다.
상기와 같은 최근접참조위치(Pn)와 제1투영점(H1) 및 제2투영점(H1)을 이용하여 각각의 케이스에 따라 윤곽기준위치(Pc)를 도출할 수 있으며, 이에 대해서 하기에 상세히 설명하기로 한다.
도 5의 (a)는 제1케이스에 대한 것이고, 도 5의 (b)는 제2케이스에 대한 것이며, 도 5의 (c)는 제3케이스에 대한 것이다. 그리고, 도 5의 (d)는 제4케이스에 대한 것이다.
도 5에서 보는 바와 같이, 제1연결직선과 제2연결직선 각각에 대한 제1투영점과 제2투영점 각각의 위치에 따라 윤곽기준위치(Pc)와 윤곽기준방향(Oc)이 결정될 수 있다. 구체적으로, 4개의 케이스가 성립될 수 있으며, 제1연결직선과 제2연결직선 각각에 대한 제1투영점(H1) 및 제2투영점(H1) 각각의 위치를 기준으로 실제위치(Pact)에 대한 윤곽기준위치(Pc)가 결정될 수 있다.
그리고, 하기의 [수학식 6-1]과 [수학식 6-2]에서 보는 바와 같이, 제1투영점(H1)과 제2투영점(H1) 및 윤곽기준위치(Pc)의 연산을 위한 가중치를 결정하기 위해 r1 및 r2를 정의할 수 있다.
[수학식 6-1]
Figure pat00008
=
Figure pat00009
[수학식 6-2]
Figure pat00010
=
Figure pat00011
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다. 그리고, H1은 제1투영점을 나타내고, H2는 제2투영점을 나타낼 수 있다.
도 5의 (a)에서 보는 바와 같이, 제1케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
제1케이스의 경우, r1>1이고 r2>1이므로, 실제위치(Pact)에 가장 가까운 최근접참조위치(Pn)가 윤곽기준위치(Pc)일 수 있다.
도 5의 (b)에서 보는 바와 같이, 제2케이스로써, 제1투영점(H1)이 제1연결직선의 연장선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제2투영점(H2)이 윤곽기준위치(Pc)일 수 있다.
그리고, 도 5의 (c)에서 보는 바와 같이, 제3케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선의 연장선 상에 위치하는 경우, 제1투영점(H1)이 윤곽기준위치(Pc)일 수 있다.
제2케이스와 제3케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 중 어느 하나의 투영점은 하나의 연결직선 내부에 위치하고, 다른 투영점은 다른 연결직선의 외부에 위치할 수 있다. 그리고, r1 및 r2이며, 연결직선의 내부, 즉, 연결직선 상에 위치하는 투영점이 윤곽기준위치(Pc)일 수 있다.
도 5의 (d)에서 보는 바와 같이, 제4케이스로써, 제1투영점(H1)이 제1연결직선 상에 위치하고 제2투영점(H2)이 제2연결직선 상에 위치하는 경우, 제1투영점(H1)과 제2투영점(H2) 중 실제위치(Pact)에 더 근접한 투영점이 윤곽기준위치(Pc)일 수 있다.
제4케이스의 경우, 제1투영점(H1)과 제2투영점(H2) 각각은 제1연결직선과 제2연결직선 내부에 위치하고, 0≤r1≤1 및 0≤r2≤1이며, 실제위치(Pact)에 가장 가까운 투영점이 윤곽기준위치(Pc)일 수 있다.
그리고, 상기와 같은 제2케이스 내지 제4케이스에서, 연결직선 상에 있는 윤곽기준위치(Pc)는, 하기의 [수학식 7-1] 또는 [수학식 7-2]에 의해, 최근접참조위치(Pn)와 인접한 참조위치인 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1)의 선형 보간을 사용하여 연산될 수 있다.
[수학식 7-1]
Figure pat00012
[수학식 7-2]
Figure pat00013
여기서, Pc는 윤곽기준위치를 나타내고, Pn-1은 제1인접참조위치를 나타내며, Pn+1은 제2인접참조위치를 나타낼 수 있다.
그리고, 위치윤곽오차(εp)는 참조위치와 실제위치(Pact) 사이를 하기의 [수학식 8]과 같이 연산될 수 있다.
[수학식 8]
Figure pat00014
여기서, εp는 위치윤곽오차를 나타내고, Pc는 윤곽기준위치를 나타내며, Pa는 실제위치(Pact)를 나타낼 수 있다.
상기와 같은 제5단계 이후 제6단계에서, 최근접참조위치(Pn)에서의 참조방향과 실제방향(Oact)을 이용하여 공구(111)의 방향 오차를 보정한 방향인 윤곽기준방향(Oc)을 도출할 수 있다.
일반적인 로봇(120) 제어는 직관적이기 때문에 공구(111)의 방향 표현을 위해 오일러각을 이용할 수 있다. 그러나, 오일러각은 하나의 축의 변경이 순차적 회전으로 인해 다른 축에 영향을 미치기 때문에, 방향 보정을 처리하는데 적합하지 않을 수 있다.
따라서, 쿼터니언(Quternion, 사원수)은 회전 축을 동시에 처리하고 회전 행렬에 비해 연산이 더 효율적이기 때문에 방향 연산에 용이할 수 있다. 방향윤곽오차(εo)는, 참조방향과 실제방향(Oact)을 이용하여 연산될 수 있으며, 윤곽기준방향(Oc)은, 상기된 제3단계에서의 각각의 케이스에 따라 방식을 달리하여 도출될 수 있다.
구체적으로, 상기된 제1케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향일 수 있다. 그리고, 상기된 제2케이스 내지 제4케이스의 경우, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향과 최근접참조위치(Pn)에 인접한 참조위치(제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1))에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득될 수 있다.
제2케이스 내지 제4케이스에서, 윤곽기준방향(Oc)은, 최근접참조위치(Pn)에서의 참조방향인 최근접참조방향(On) 및 상기된 제1인접참조위치(Pn-1)와 제2인접참조위치(Pn+1) 각각에서의 참조방향인 제1인접참조방향(On-1)과 제2인접참조방향(On+1)의 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득할 수 있다. 여기서, 쿼터니언(Quternion) 구면선형보간(SLERP) 연산은 하기의 [수학식 9-1]과 [수학식 9-2]에 의해 연산될 수 있다.
[수학식 9-1]
Figure pat00015
[수학식 9-2]
Figure pat00016
여기서, 상기된 바와 같이, qc는 윤곽기준방향(Oc)의 쿼터니언을 나타내고, qn은 최근접참조방향(On)의 쿼터니언을 나타내며, qn-1는 제1인접참조방향(On-1)의 쿼터니언을 나타낼 수 있다. 그리고, qn+1은 제2인접참조방향(On+1)의 쿼터니언을 나타낼 수 있다.
그리고, 상기와 같이 획득되는 윤곽기준방향(Oc)의 3차원 좌표와 실제방향(Oact)의 3차원 좌표 간 차이를 이용하여 방향윤곽오차(εo)에 대한 3차원 좌표를 도출할 수 있다. 이에 대해서는 하기의 제5단계 설명에서 상세히 설명하기로 한다.
상기와 같이 윤곽기준방향(Oc)을 도출하는 하나의 방식 외에, 윤곽기준방향(Oc)은, 윤곽기준위치(Pc)에서 공구(111)의 길이 방향을 따라 형성되는 축의 벡터 방향일 수 있다. 여기서, 공구(111)의 길이 방향을 따라 형성되는 축의 벡터는 공구(111)에서 z축 벡터일 수 있다.
구체적으로, 방향윤곽오차(εo)를 연산하기 위해 실제위치(Pact)에서의 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향으로부터 z축 벡터를 추출할 수 있다. 그리고, 하기의 [수학식 10]과 같이, 방향윤곽오차(εo)는, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터 간 각도 차이를 이용하여 연산될 수 있다.
[수학식 10]
Figure pat00017
여기서, εo는 방향윤곽오차를 나타내고, ν'c는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타내며, νa는 실제방향(Oact)의 z축 벡터를 나타낼 수 있다.
그리고, 상기와 같은 방향윤곽오차(εo)를 이용하여 각도 차이를 보정함으로써, 윤곽기준방향(Oc)을 도출할 수 있다.
상기와 같은 제6단계 이후 제7단계에서, 윤곽기준위치(Pc)와 윤곽기준방향(Oc)을 이용하여 로봇(120)을 제어함으로써 공구(111)의 위치와 방향을 제어할 수 있다. 상기와 같이, 공구(111)에 대해서, 실제위치(Pact)와 윤곽기준위치(Pc)를 이용하여 위치윤곽오차(εp)를 도출할 수 있고, 실제방향(Oact)과 윤곽기준방향(Oc)을 이용하여 방향윤곽오차(εo)을 도출할 수 있다. 그리고, 위치윤곽오차(εp)와 방향윤곽오차(εo)가 보정되도록 공구(111)의 위치와 방향이 변경되도록 로봇(120)으로 제어신호를 전달할 수 있다.
상기와 같은 제어신호는 제어부(130)에 의해 생성되며, 로봇(120)의 관절 축은 개별적으로 제어되고, 개별 축 각각에 대한 제어기는 위치, 속도 및 전류 루프와 연결된 캐스케이드 제어 구조로 구성될 수 있다. 이와 같은 제어부(130)에서는 상기와 같은 윤곽제어 알고리즘을 이용하여 위치윤곽오차(εp)와 방향윤곽오차(εo)를 도출할 수 있다.
종래기술의 로봇 제어기에서는 내부 제어 구조의 수정을 허용하지 않기 때문에, 추가 PI(proportional-integral) 위치 제어 루프를 데카르트 좌표로 설계하여 등고선 오류를 보정할 수 있도록 함으로써, 본 발명의 제어부(130)를 형성할 수 있다.
따라서, 상기된 [수학식 5]을 수정하여 하기의 [수학식 11]을 도출할 수 있다.
[수학식 11]
Figure pat00018
여기서, Pr,m은 수정된 참조위치이고, Or,m은 수정된 참조방향일 수 있다. 그리고, KPI는 각각의 축에 대한 PI제어 게인일 수 있으며, 는 각각의 축에 대한 위치윤곽오차(εp)와 방향윤곽오차(εo)를 나타낼 수 있다.
이에 따라, 공구(111)의 위치 보정량은 하기의 [수학식 12]와 같이 나타날 수 있다.
[수학식 12]
Figure pat00019
여기서, 는 각각의 축에 대한 위치윤곽오차(εp)이고, Pc는 윤곽기준위치이며, Pa는 실제위치(Pact)이다.
방향윤곽오차(εo)를 보상하기 위해 상기와 같이 z축 벡터를 이용할 수 있으며, 이와 같은 방식의 경우, [수학식 13]에서 보는 바와 같이, 실제방향(Oact)과 윤곽기준위치(Pc)에서의 참조방향 각각의 z축 벡터에 직교하는 단위방향벡터(n)가 생성될 수 있다. 그 다음, 방향윤곽오차(εo)의 양 만큼 단위방향벡터(n)에 대한 오차 보정을 수행할 수 있다.
[수학식 13]
Figure pat00020
여기서, n은 단위방향벡터이고, νa는 실제방향(Oact)의 z축 벡터를 나타내고, νc는 윤곽기준위치(Pc)에서의 참조방향의 z축 벡터를 나타낼 수 있다.
도 6에서 보는 바와 같이, 방향윤곽오차(εo)를 보상하기 위해 상기와 같이 쿼터니언(Quternion) 구면선형보간(SLERP)을 이용할 수 있으며, 쿼터니언은 단위방향벡터(n)과 회전량(εo)을 사용하여 계산되고 오일러각으로 변환될 수 있다. 하기의 [수학식 14]에 의해서, q->E는 쿼터니언에서 오일러각으로 변환을 나타낼 수 있다.
[수학식 14]
Figure pat00021
여기서, n은 단위방향벡터이고, 는 각각의 축에 대한 방향윤곽오차(εo)이다.
상기와 같이 형성되는 본 발명의 로봇(120) 제어 장치; 및 로봇(120)의 형상 및 자세 변화, 참조가공경로 및 공구(111)에 대한 윤곽기준위치(Pc)와 윤곽기준방향(Oc) 각각으로의 보정량에 대한 수치를 표시하는 디스플레이 장치를 포함하는 가공 시스템을 형성할 수 있다.
디스플레이 장치에는, 로봇(120)의 3차원 형상 및 상기된 각각의 수치 값 중 일부 또는 전체가 표시될 수 있으며, 사용자는 디스플레이 화면을 보면서 로봇(120) 및 공구(111)의 작동 상황 등에 대해 육안으로 확인할 수 있다.
상기와 같은 본 발명의 로봇(120) 제어 방법 및 장치를 이용하는 경우, 현재 공구(111)의 위치인 실제위치(Pact)와 사전에 설정된 참조위치 간 차이를 이용하여 가공대상(10)에 대한 가공경로의 오차 보정을 수행하므로, 오차 보정의 성능을 향상시킬 수 있다.
그리고, 추가적인 별도의 장치나 복잡한 연산을 최소화하면서도 로봇(120)에 대한 오차 보정 제어를 수행할 수 있어, 로봇(120)을 이용한 가공공정에서의 효율을 현저히 향상시킬 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 가공대상 110 : 가공부
111 : 공구 120 : 로봇
121 : 힘센서 130 : 제어부

Claims (15)

  1. 복수 개의 링크와 복수 개의 관절을 구비하여 구동하는 로봇, 상기 로봇의 말단과 결합하고 공구를 구비하여 가공대상에 대한 가공을 수행하는 가공부 및, 상기 공구가 상기 가공대상에 대한 작업 시, 상기 로봇의 자세를 제어하는 제어부를 마련하는 제1단계;
    상기 로봇의 자세에 따라 가변하는 상기 복수 개의 관절 각각에 대한 강성 값인 강성데이터와 상기 공구에 작용되는 힘인 절삭력에 대한 정보를 이용함으로써, 상기 공구에 대해 연산된 가공오차인 컴플라이언스오차를 연산하여 도출하는 제2단계;
    가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치 및 방향인 참조위치 및 참조방향, 그리고, 상기 컴플라이언스오차를 이용하여, 상기 공구의 실시간 위치와 방향인 실제위치와 실제방향을 측정하는 제3단계;
    가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로를 복수 개의 직선으로 분할하는 제4단계;
    상기 복수 개의 직선 중 상기 실제위치에 가장 근접한 참조위치인 최근접참조위치를 통과하는 2개의 직선 각각과 상기 실제위치를 수직 연결한 2개의 수직연결선을 이용하여, 상기 공구의 위치 오차를 보정한 위치인 윤곽기준위치를 도출하는 제5단계;
    상기 최근접참조위치에서의 상기 참조방향과 상기 실제방향을 이용하여 상기 공구의 방향 오차를 보정한 방향인 윤곽기준방향을 도출하는 제6단계; 및
    상기 윤곽기준위치와 상기 윤곽기준방향을 이용하여 상기 로봇을 제어함으로써 상기 공구의 위치와 방향을 제어하는 제7단계;를 포함하는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  2. 청구항 1에 있어서,
    상기 제2단계에서, 상기 컴플라이언스오차(Δx)는 하기의 수학식에 의해 도출되며, Δx는 컴플라이언스오차이고, Cx는 데카르트 컴플라이언스 행렬이며, Ф는 절삭력이고, Cθ는 상기 로봇의 관절에 대한 컴플라이언스 행렬이며, J는 자코비안 행렬이고, T는 전치행렬인 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
    Figure pat00022

  3. 청구항 1에 있어서,
    상기 제4단계에서, 상기 복수 개의 직선은 상기 참조가공경로가 보간기(interpolator)에 의해 분할되어 형성되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  4. 청구항 1에 있어서,
    상기 제5단계에서, 상기 2개의 직선은, 상기 최근접참조위치에 인접한 2개의 참조위치 각각과 상기 최근접참조위치를 연결하여 형성되는 제1연결직선 및 제2연결직선을 포함하는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  5. 청구항 4에 있어서,
    상기 실제위치로부터 상기 제1연결직선으로 연결되는 제1수직연결선과 상기 제1연결직선의 교점인 제1투영점 및, 상기 실제위치로부터 상기 제2연결직선으로 연결되는 제2수직연결선과 상기 제2연결직선의 교점인 제2투영점이 설정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  6. 청구항 5에 있어서,
    상기 제1연결직선과 상기 제2연결직선 각각에 대한 상기 제1투영점과 상기 제2투영점 각각의 위치에 따라 상기 윤곽기준위치와 상기 윤곽기준방향이 결정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  7. 청구항 6에 있어서,
    상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 최근접참조위치가 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  8. 청구항 7에 있어서,
    상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향인 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  9. 청구항 6에 있어서,
    상기 제1투영점이 상기 제1연결직선의 연장선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제2투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  10. 청구항 6에 있어서,
    상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선의 연장선 상에 위치하는 경우, 상기 제1투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  11. 청구항 6에 있어서,
    상기 제1투영점이 상기 제1연결직선 상에 위치하고 상기 제2투영점이 상기 제2연결직선 상에 위치하는 경우, 상기 제1투영점과 상기 제2투영점 중 상기 실제위치에 더 근접한 투영점이 상기 윤곽기준위치로 설정되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  12. 청구항 9 내지 청구항 11에 있어서,
    상기 제6단계에서, 상기 윤곽기준방향은, 상기 최근접참조위치에서의 참조방향과 상기 최근접참조위치에 인접한 참조위치에서의 참조방향을 이용한 쿼터니언(Quternion) 구면선형보간(SLERP) 연산으로 획득되는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  13. 청구항 7 내지 청구항 10에 있어서,
    상기 제6단계에서, 상기 윤곽기준방향은, 상기 윤곽기준위치에서 상기 공구의 길이 방향을 따라 형성되는 축의 벡터 방향인 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법.
  14. 청구항 1의 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법을 수행하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 장치에 있어서,
    상기 로봇에 결합되고 상기 공구를 구비하는 가공부; 및
    상기 강성데이터와 상기 절삭력에 대한 정보를 이용하여, 상기 공구의 상기 컴플라이언스오차를 도출하고, 가공대상에 따라 사전에 설정된 상기 공구의 가공경로인 참조가공경로 상 상기 공구의 위치와 방향인 상기 참조위치와 상기 참조방향을 설정함으로써, 상기 컴플라이언스오차 및 상기 참조위치와 상기 참조방향을 이용하여 상기 실제위치와 상기 실제방향에 대한 정보를 생성하고, 상기 윤곽기준위치와 상기 윤곽기준방향을 도출하여, 상기 로봇으로 제어신호를 전달함으로써 상기 공구의 위치와 방향을 제어하는 제어부를 포함하는 것을 특징으로 하는 강성 모델과 절삭력 모델을 이용한 로봇 제어 장치.
  15. 청구항 14에 의한 강성 모델과 절삭력 모델을 이용한 로봇 제어 장치; 및
    상기 로봇의 형상 및 자세 변화, 상기 참조가공경로 및 상기 공구에 대한 상기 윤곽기준위치와 상기 윤곽기준방향 각각으로의 보정량에 대한 수치를 표시하는 디스플레이 장치를 포함하는 것을 특징으로 하는 가공 시스템.
KR1020210128490A 2021-09-28 2021-09-29 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치 KR102591942B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/013384 WO2023054751A1 (ko) 2021-09-28 2021-09-29 윤곽제어 알고리즘을 이용한 로봇 제어 방법
KR1020210128490A KR102591942B1 (ko) 2021-09-29 2021-09-29 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210128490A KR102591942B1 (ko) 2021-09-29 2021-09-29 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230046333A true KR20230046333A (ko) 2023-04-06
KR102591942B1 KR102591942B1 (ko) 2023-10-24

Family

ID=85917944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210128490A KR102591942B1 (ko) 2021-09-28 2021-09-29 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102591942B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050108645A (ko) * 2004-05-12 2005-11-17 고등기술연구원연구조합 로봇 용접의 보정장치 및 그 방법
KR20150070370A (ko) 2012-10-19 2015-06-24 이노스 오토메이션스소프트웨어 게엠베하 산업용 로봇의 인라인 교정을 위한 방법, 이러한 방법을 수행하기 위한 교정 시스템, 및 이러한 교정 시스템을 포함하는 산업용 로봇
KR20170016631A (ko) * 2015-08-04 2017-02-14 한국전기연구원 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
JP2017505240A (ja) * 2014-02-11 2017-02-16 タイコ エレクトロニクス (シャンハイ) カンパニー リミテッド 視覚センサを用いるロボットシステムのための自動較正方法
KR20180126539A (ko) * 2016-03-22 2018-11-27 티이 커넥티비티 코포레이션 로봇 시스템을 위한 자동 교정 방법
JP2020049633A (ja) * 2018-09-28 2020-04-02 三菱重工業株式会社 ロボットの教示作業支援システム及び教示作業支援方法
KR102096897B1 (ko) * 2018-12-31 2020-04-03 (주) 엠엔비젼 3d 도면 파일을 이용하여 로봇 제어에 필요한 자동 티칭 시스템 및 티칭 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050108645A (ko) * 2004-05-12 2005-11-17 고등기술연구원연구조합 로봇 용접의 보정장치 및 그 방법
KR20150070370A (ko) 2012-10-19 2015-06-24 이노스 오토메이션스소프트웨어 게엠베하 산업용 로봇의 인라인 교정을 위한 방법, 이러한 방법을 수행하기 위한 교정 시스템, 및 이러한 교정 시스템을 포함하는 산업용 로봇
JP2017505240A (ja) * 2014-02-11 2017-02-16 タイコ エレクトロニクス (シャンハイ) カンパニー リミテッド 視覚センサを用いるロボットシステムのための自動較正方法
KR20170016631A (ko) * 2015-08-04 2017-02-14 한국전기연구원 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
KR20180126539A (ko) * 2016-03-22 2018-11-27 티이 커넥티비티 코포레이션 로봇 시스템을 위한 자동 교정 방법
JP2020049633A (ja) * 2018-09-28 2020-04-02 三菱重工業株式会社 ロボットの教示作業支援システム及び教示作業支援方法
KR102096897B1 (ko) * 2018-12-31 2020-04-03 (주) 엠엔비젼 3d 도면 파일을 이용하여 로봇 제어에 필요한 자동 티칭 시스템 및 티칭 방법

Also Published As

Publication number Publication date
KR102591942B1 (ko) 2023-10-24

Similar Documents

Publication Publication Date Title
CN109794938B (zh) 一种适用于曲面结构的机器人制孔误差补偿装置及其方法
Baeten et al. Hybrid vision/force control at corners in planar robotic-contour following
US8918210B2 (en) Method of detecting an inter-axis offset of 6-axis robot
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
KR100311663B1 (ko) 여유축을이용하여물체의외형을추적하는장치및방법
JP7153085B2 (ja) ロボットキャリブレーションシステム及びロボットキャリブレーション方法
US20050273202A1 (en) Method and device for improving the positioning accuracy of a manipulator
EP2722136A1 (en) Method for in-line calibration of an industrial robot, calibration system for performing such a method and industrial robot comprising such a calibration system
JP2006048244A (ja) 加工プログラム作成装置
KR20180069031A (ko) 로봇의 다이렉트 교시방법
JPH0820894B2 (ja) 産業用ロボツトの動作制御方法
JP2010142910A (ja) ロボットシステム
WO2015070010A1 (en) Calibration system and method for calibrating industrial robot
JP2008204188A (ja) モーションコントローラおよびモーションプランナおよび多軸サーボシステムおよびサーボアンプ
JP2012196716A (ja) 6軸ロボットの軸間オフセット検出方法
US20040193293A1 (en) Flexure correction apparatus and method for robot
JP2014208400A (ja) ロボットの制御装置及びロボットの姿勢補間方法
CN111515928B (zh) 机械臂运动控制***
JP5786550B2 (ja) 6軸ロボットの軸間オフセット検出方法
JP2013010149A (ja) 6軸ロボットの軸間オフセット検出方法
JP7281910B2 (ja) ロボット制御システム
Baeten et al. Combining force control and visual servoing for planar contour following
KR102591942B1 (ko) 강성 모델과 절삭력 모델을 이용한 로봇 제어 방법 및 장치
Cong Combination of two visual servoing techniques in contour following task
KR102582430B1 (ko) 레이저 트래커 피드백을 이용한 로봇 제어 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant