KR101395660B1 - 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 - Google Patents
법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 Download PDFInfo
- Publication number
- KR101395660B1 KR101395660B1 KR1020130118619A KR20130118619A KR101395660B1 KR 101395660 B1 KR101395660 B1 KR 101395660B1 KR 1020130118619 A KR1020130118619 A KR 1020130118619A KR 20130118619 A KR20130118619 A KR 20130118619A KR 101395660 B1 KR101395660 B1 KR 101395660B1
- Authority
- KR
- South Korea
- Prior art keywords
- point
- coordinate system
- origin
- world coordinate
- computer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체에 관한 것이다. 3 차원 좌표 정렬 방법은 서로 다른 곡율면을 갖는 대상물의 표면에서 목표 지점에 대한 좌표값을 획득하기 위하여, 법선 벡터를 이용하여 월드 좌표계에 정렬된 회전 행렬 좌표계의 좌표값을 획득한다. 이러한 본 발명의 3 차원 좌표 정렬 방법은 컴퓨터가 판독 가능한 프로그램으로 구비되며, 이 프로그램은 컴퓨터 네트워크를 이용한 온라인 또는 저장 매체를 통해 제공 가능하다. 본 발명에 의하면, 월드 좌표계에 정렬된 회전 행렬 좌표계로 대상물의 목표 지점에 대한 좌표값을 획득함으로써, 대상물의 목표 지점의 곡율에 따라 물체를 큰 이동없이 정확하고 용이하게 삽입하도록 제어할 수 있다.
Description
본 발명은 3 차원 좌표 정렬 방법에 관한 것으로, 좀 더 구체적으로 대상물의 표면 상의 임의의 위치에 대해 면직하게 삽입되는 물체의 좌표를 회전 정렬하기 위하여, 대상물의 표면에 면직된 법선 벡터를 이용하여 3 차원 좌표를 회전 정렬하는 방법 및, 이 방법을 처리하는 컴퓨터가 판독 가능한 프로그램을 저장하는 저장 매체에 관한 것이다.
자동차 생산에 이용되는 3 차원 프로그램 상에서 치공구에 대한 최적의 목적 지점의 좌표를 관리하기 위하여, 대상물 예를 들어, 서로 다른 복수 개의 곡율면을 갖는 자동차 판넬 표면 등에 대해, 면직하게 삽입되도록 물체의 3 차원 좌표계를 변환하여, 해당 표면에 대해 좌표값을 정렬할 필요가 있다.
예를 들어, 자동차 생산 설비에서의 치공구는 제조 부문에서 사용되는 제품 생산의 한 보조 수단으로서, 가공물(또는 조립물)의 위치 결정과 움직이지 않도록 고정시켜 허용 공차 내에서 공작물(즉, 자동차)를 가공 또는 조립하는데 사용되는 생산용 장비이다.
치공구는 크게 지그와 고정구로 나누어진다. 지그는 공작물을 고정, 지지하거나, 또는 공작물에 부착 사용하는 특수 장치로서 공작물을 위치 결정하여 고정할 뿐만 아니라, 가공 작업 시, 공구를 작업물에 안내할 수 있는 가이드 장치를 포함하고 있다. 고정구는 공작물의 위치 결정 및 클램프하여 고정하는데 대해서는 근본적으로 지그와 같으나, 공구를 작업물에 안내하는 가이드 기능이 없는 것을 말한다. 또한 고정구는 작업 수행을 위하여, 기계의 테이블 상에 견고하게 고정되어야 한다. 이들 지그와 고정구를 기존 장비에 설치하여 사용함으로써, 장비의 효율 증대, 대량 생산, 생산의 고속화, 생산 단가의 절감 및 정밀도 높은 제품을 가공할 수 있는 등의 이점이 있다.
그러나 이러한 치공구가 삽입되는 자동차의 표면은 서로 다른 곡률면을 갖는 경우가 대부분이며, 치공구를 표면에 삽입할 때에 항상 면직한 방향으로 삽입해야만 한다. 따라서 치공구의 삽입 방향을 정렬하기 위한 정확한 제어가 필요하다.
예를 들어, 종래에는 3 차원 공간에서 회전 행렬 좌표계의 Z 축이 대상물로 삽입되는 물체의 삽입 방향이라면, 회전 행렬 좌표계의 X 축이 대상물의 목표 지점의 곡율에 따라 Z 축을 중심으로 여러 방향으로 회전 이동되어, X 축이 정렬되지 않게 된다. 그 결과, 대상물로 물체 삽입 시, 물체를 X 축에 대향해서 일일이 회전시켜야 하는 어려움이 있었다.
그러므로 종래에는 서로 다른 곡율을 갖는 모든 목표 지점들에 대해 물체를 이동시키는 범위를 일일이 계산하여 입력해야만 하는 문제점이 있다.
3 차원 좌표 정렬에 대한 기술이나 자동차 산업에서 좌표를 관리하는 기술들은 이미 다양하게 공지되어 있다. 예를 들어, 국내 등록특허공보 제10-1086228호(공고일 2011년 11월 24일)의 '3차원 모델 단면 시뮬레이션 방법 및 장치', 동 등록특허공보 제10-0933716호(공고일 2009년 12월 24일)의 '자동 3 차원 스캔 데이터 정렬 시스템 및 방법', 동 등록특허공보 제10-0435700호(공고일 2004년 06월 12일)의 '차체 조립용 패널 검사 장치', 그리고 동 등록특허공보 제10-1101740호(공고일 2012년 01월 05일)의 '자동차 로봇 용접기의 위치 변환 장치' 등이 있다.
본 발명의 목적은 대상물의 표면 상의 임의의 위치에 대해 면직하게 삽입되는 물체의 좌표를 정렬하기 위하여, 법선 벡터를 이용하여 3 차원 좌표를 정렬하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 법선 벡터를 이용하여 3 차원 좌표를 정렬하는 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체를 제공하는 것이다.
삭제
본 발명의 또 다른 목적은 자동차 산업에서 사용되는 물체를 서로 다른 곡률면을 갖는 대상물의 표면에 대응하여 정확하고 용이하게 삽입 가능하도록 처리하는 3 차원 좌표 정렬 방법 및, 그 방법을 처리하는 프로그램을 저장하는 저장 매체를 제공하는 것이다.
상기 목적들을 달성하기 위한, 본 발명의 3 차원 좌표를 정렬하는 방법은 법선 벡터를 이용하는데 그 한 특징이 있다. 이와 같은 3 차원 좌표 정렬 방법은 월드 좌표계에 정렬된 회전 행렬 좌표계로 대상물의 목표 지점에 대한 좌표값을 획득함으로써, 대상물에 삽입되는 물체를 정확하고 용이하게 제어할 수 있다.
이 특징에 따른 본 발명의 3 차원 좌표 정렬 방법은, 대상물의 표면에 위치하고, 하나의 목표 지점을 포함하는 3 차원 공간의 임의점 제1 내지 제3 점의 좌표를 입력하는 단계와; 상기 제1 내지 상기 제3 점에 의해 형성된 제1 평면에 면직하고 월드 좌표계의 원점을 지나는 제1 법선 벡터를 생성하는 단계와; 상기 제1 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제1 직선을 생성하여, 상기 제1 직선에서 회전 행렬 좌표계의 Z 축을 생성하기 위한 제4 점의 좌표를 산출하는 단계와; 월드 좌표계의 원점과 상기 제4 점을 근거로 정렬된 회전 행렬 좌표계의 X 축 좌표를 산출하기 위하여 월드 좌표계의 Z 축과 평행한 축 상에서 상기 제4 점에 대응하는 제5 점의 좌표를 산출하는 단계와; 월드 좌표계의 원점과 상기 제4 점 및 상기 제5 점에 의해 형성된 제2 평면에 면직하고, 월드 좌표계의 원점을 지나는 제2 법선 벡터를 생성하는 단계와; 상기 제2 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제2 직선을 생성하여, 상기 제2 직선에서 회전 행렬 좌표계의 X 축 생성을 위한 제6 점의 좌표를 산출하는 단계와; 월드 좌표계의 원점과 상기 제4 점 및 상기 제6 점에 의해 형성된 제3 평면에 면직하고, 월드 좌표계의 원점을 지나는 제3 법선 벡터를 생성하는 단계와; 상기 제3 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제3 직선을 생성하여, 상기 제3 직선에서 회전 행렬 좌표계의 Y 축 생성을 위한 제7 점의 좌표를 산출하는 단계 및; 상기 제1 내지 상기 제3 점에 형성된 제1 평면에 면직하고, 월드 좌표계의 원점과 상기 제5 내지 상기 제7 점의 좌표를 이용해서 평행 이동하여 월드 좌표계에 정렬된 상기 목표 지점에 대한 회전 행렬 좌표계의 좌표를 획득하는 단계를 포함한다.
이 특징의 한 실시예에 있어서, 상기 제4 점의 좌표를 산출하는 단계는; 월드 좌표계의 원점에서 상기 제1 직선을 따라 길이가 1인 지점의 좌표를 산출한다.
다른 실시예에 있어서, 상기 제5 점의 좌표를 산출하는 단계는; 월드 좌표계의 원점에서 월드 좌표계의 Z 축과 평행한 축을 따라 길이가 1인 지점의 좌표를 산출한다.
또 다른 실시예에 있어서, 상기 제6 점의 좌표를 산출하는 단계는; 월드 좌표계의 원점에서 상기 제3 직선을 따라 길이가 1인 지점의 좌표를 산출한다.
또 다른 실시예에 있어서, 상기 제7 점의 좌표를 산출하는 단계는; 월드 좌표계의 원점에서 상기 제4 직선을 따라 길이가 1인 지점의 좌표를 산출한다.
또 다른 실시예에 있어서, 상기 제4 점은 상기 제1 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하고; 상기 제5 점은 월드 좌표계의 Z 축과 평행한 축과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하고; 상기 제6 점은 상기 제2 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하며; 그리고 상기 제7 점은 상기 제3 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출한다.
또 다른 실시예에 있어서, 상기 제1 법선 벡터를 생성하는 단계는; 좌표 설정 어플리케이션을 이용하여 메쉬 평면 상에서 상기 제1 점을 설정하여 자동으로 생성한다.
본 발명의 다른 특징에 따르면, 법선 벡터를 이용한 3 차원 좌표 정렬 방법을 처리하기 위한 컴퓨터가 판독 가능한 프로그램이 제공된다.
이 특징의 일 실시예에 있어서, 상기 프로그램은 컴퓨터 네트워크를 이용하여 온라인으로 제공 가능하다.
본 발명의 또 다른 특징에 따르면, 법선 벡터를 이용한 3 차원 좌표 정렬 방법을 처리하기 위한 컴퓨터가 판독 가능한 프로그램을 저장하는 저장 매체가 제공된다.
상술한 바와 같이, 본 발명의 3 차원 좌표 정렬 방법은 법선 벡터를 이용하여 목표 지점에 대한 좌표값을 월드 좌표계에 정렬된 회전 행렬 좌표계로 획득 가능하다.
또 본 발명의 3 차원 좌표 정렬 방법은 월드 좌표계에 정렬된 회전 행렬 좌표계로 대상물의 목표 지점에 대한 좌표값을 획득함으로써, 대상물에 삽입되는 물체를 정확하고 용이하게 제어할 수 있다.
또한 본 발명의 3 차원 좌표 정렬 방법은 자동차 산업에서 서로 다른 곡율면을 갖는 대상물의 표면에 대한 좌표 관리가 용이하다.
도 1은 본 발명에 따른 법선 벡터를 이용한 3 차원 좌표의 회전 정렬 수순을 도시한 흐름도;
도 2는 도 1에 도시된 단계 S100에서 대상물에 포함되는 제1 내지 제3의 임의점들을 나타낸 도면;
도 3은 도 1에 도시된 단계 S110에서 생성된 제1 법선 벡터를 나타낸 도면;
도 4는 도 1에 도시된 단계 S120에서 제1 법선 벡터 상에 생성된 제1 직선을 나타낸 도면;
도 5는 도 1에 도시된 단계 S130에서 회전 행렬 좌표계의 Z 축을 생성하기 위한 제4 점의 좌표를 나타내는 도면;
도 6은 도 1에 도시된 단계 S140에서 회전 행렬 좌표계의 X 축을 생성하기 위한 제5 점을 나타내는 도면;
도 7은 도 1에 도시된 단계 S150에서 생성된 제2 법선 벡터를 나타내는 도면;
도 8은 도 1에 도시된 단계 S160에서 제2 법선 벡터 상에 생성된 제2 직선을 나타내는 도면;
도 9는 도 1에 도시된 단계 S170에서 회전 행렬 좌표계의 X 축을 생성하기 위한 제6 점의 좌표를 나타내는 도면;
도 10은 도 1에 도시된 단계 S180에서 생성된 제3 법선 벡터를 나타내는 도면;
도 11은 도 1에 도시된 단계 S190에서 제3 법선 벡터 상에 생성된 제3 직선을 나타내는 도면;
도 12는 도 1에 도시된 단계 S200에서 회전 행렬 좌표계의 Y 축을 생성하기 위한 제7 점의 좌표를 나타내는 도면;
도 13은 본 발명에 따른 3 차원 좌표의 회전 정렬 수순에 의해 월드 좌표계에 정렬된 회전 행렬 좌표계의 좌표축들을 나타내는 도면;
도 14는 도 1에 도시된 단계 S210에서 월드 좌표계에 정렬된 회전 행렬 좌표들을 나타내는 도면; 그리고
도 15는 본 발명의 3 차원 좌표 정렬 알고리즘에 의해 3 차원 공간에서 대상물의 임의의 위치들에 면직하게 삽입되는 물체의 좌표가 정렬되는 것을 나타내는 대상물의 측면도이다.
도 2는 도 1에 도시된 단계 S100에서 대상물에 포함되는 제1 내지 제3의 임의점들을 나타낸 도면;
도 3은 도 1에 도시된 단계 S110에서 생성된 제1 법선 벡터를 나타낸 도면;
도 4는 도 1에 도시된 단계 S120에서 제1 법선 벡터 상에 생성된 제1 직선을 나타낸 도면;
도 5는 도 1에 도시된 단계 S130에서 회전 행렬 좌표계의 Z 축을 생성하기 위한 제4 점의 좌표를 나타내는 도면;
도 6은 도 1에 도시된 단계 S140에서 회전 행렬 좌표계의 X 축을 생성하기 위한 제5 점을 나타내는 도면;
도 7은 도 1에 도시된 단계 S150에서 생성된 제2 법선 벡터를 나타내는 도면;
도 8은 도 1에 도시된 단계 S160에서 제2 법선 벡터 상에 생성된 제2 직선을 나타내는 도면;
도 9는 도 1에 도시된 단계 S170에서 회전 행렬 좌표계의 X 축을 생성하기 위한 제6 점의 좌표를 나타내는 도면;
도 10은 도 1에 도시된 단계 S180에서 생성된 제3 법선 벡터를 나타내는 도면;
도 11은 도 1에 도시된 단계 S190에서 제3 법선 벡터 상에 생성된 제3 직선을 나타내는 도면;
도 12는 도 1에 도시된 단계 S200에서 회전 행렬 좌표계의 Y 축을 생성하기 위한 제7 점의 좌표를 나타내는 도면;
도 13은 본 발명에 따른 3 차원 좌표의 회전 정렬 수순에 의해 월드 좌표계에 정렬된 회전 행렬 좌표계의 좌표축들을 나타내는 도면;
도 14는 도 1에 도시된 단계 S210에서 월드 좌표계에 정렬된 회전 행렬 좌표들을 나타내는 도면; 그리고
도 15는 본 발명의 3 차원 좌표 정렬 알고리즘에 의해 3 차원 공간에서 대상물의 임의의 위치들에 면직하게 삽입되는 물체의 좌표가 정렬되는 것을 나타내는 대상물의 측면도이다.
본 발명의 실시예는 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 서술하는 실시예로 인해 한정되어지는 것으로 해석되어서는 안된다. 본 실시예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서 도면에서의 구성 요소의 형상 등은 보다 명확한 설명을 강조하기 위해서 과장되어진 것이다.
이하 첨부된 도 1 내지 도 15를 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 법선 벡터를 이용한 3 차원 좌표 회전 정렬 수순을 도시한 흐름도이고, 도 2 내지 도 14는 도 1에 도시된 각 단계별(S100 ~ S210)로 상세한 과정들을 설명하기 위한 도면들이다.
도 1을 참조하면, 본 발명에 따른 3 차원 좌표 정렬 알고리즘은 대상물로 삽입되는 물체의 목표 지점 좌표를 회전 정렬시키기 위하여, 3 차원 법선 벡터(Normal Vector)를 삽입하여 3 차원 좌표를 회전 정렬한다.
이러한 본 발명의 3 차원 좌표 정렬 알고리즘은 컴퓨터가 판독 가능한 프로그램으로 구비되고, 이 프로그램은 컴퓨터가 판독 가능한 저장 매체 예를 들어, 하드 디스크, 컴팩트 디스크, DVD 미디어, 플래쉬 메모리 등과 같은 저장 장치에 저장된다. 물론 이 프로그램은 컴퓨터 네트워크를 이용한 온라인 상으로도 제공될 수 있다.
구체적으로, 본 발명의 3 차원 좌표 정렬 알고리즘은 단계 S100에서 3 차원 공간의 월드 좌표계에서 임의점 제1 내지 제3 점(point)(P1 ~ P3)의 좌표를 입력한다. 임의점 제1 내지 제3 점(P1 ~ P3)들은 도 2에 도시된 바와 같이, 하나의 평면(plane) 즉, 제1 평면(PL1)을 결정한다. 이 임의점 제1 내지 제3 점(P1 ~ P3)들에 의해 형성된 제1 평면(PL1)은 동일 곡율면 상에 위치되며, 대상물로 삽입되는 물체의 목표 지점을 포함한다. 이러한 임의점 제1 내지 제3 점(P1 ~ P3)은 예컨대, 작업자에 의해 직접 입력하거나, 메쉬(mesh) 평면 상에서 좌표 설정 어플리케이션에 의해 획득될 수 있다.
단계 S110에서 임의점 제1 내지 제3 점(P1 ~ P3)들에 의해 형성된 제1 평면(PL1)에 면직하고, 월드 좌표계의 원점(O)을 지나는 제1 법선 벡터(NV1)를 생성한다. 이 때, 제1 점(P1)을 목표 지점이라 한다면, 제1 법선 벡터(NV1)는 월드 좌표계(World Coordinate)의 원점(O)을 기준으로 하여, 제1 점(P1)을 3 차원 좌표로 회전 정렬하고자 하는 회전 행렬(Ratation Matrix) 좌표계로 평행 이동 및 회전 이동 가능하도록 회전 행렬 좌표계의 Z 축과 평행하게 생성된다. 또 제1 점(P1)을 목표 지점이라 한다면, 좌표 설정 어플리케이션을 이용하여 메쉬 평면 상에서 제1 점(P1)을 설정하면, 자동으로 제1 법선 벡터(NV1)를 생성할 수도 있다.
제1 법선 벡터(NV1)는 도 3에 도시된 바와 같이, 임의점 제1 내지 제3 점(P1 ~ P3)들에 의해 형성된 제1 평면(PL1)과 면직하고, 월드 좌표계의 원점(O)을 지나는 직선이다. 이 제1 법선 벡터(NV1)는 수학식 1의 '평면의 방정식'을 이용하여 생성된다. 즉, 수학식 1은 점 A(x1, y1, z1)을 지나고, 제1 법선 벡터 NV1(a, b, c)에 수직인 평면의 방정식이다.
단계 S120에서 제1 법선 벡터(NV1)와 평행하고, 월드 좌표계의 원점(O)을 지나는 제1 직선(L1)을 생성한다. 즉, 도 4에 도시된 바와 같이, 제1 직선(L1)은 제1 법선 벡터(NV1)로부터 평행 이동하여 얻을 수 있다. 이 제1 직선(L1)은 수학식 2의 '직선의 방정식'을 이용하여 생성된다.
이 수학식 2는 점 A(x1, y1, z1)을 지나고, 제1 법선 벡터 NV1(a, b, c)에 평행한 직선의 방정식이다. 여기서, abc≠0이다.
단계 S130에서 제1 직선(L1)에서 임의의 한 점에 대한 좌표를 산출하여 회전 행렬 좌표계의 Z 축 좌표를 생성한다. 이를 위해, 도 5에 도시된 바와 같이, 회전 행렬 좌표계의 Z 축 좌표는 제1 내지 제3 점(P1 ~ P3)을 지나는 제1 평면(PL1)에 면직하는 제1 법선 벡터(NV1)에 평행하고, 월드 좌표계의 원점(O)을 지나는 제1 직선(L1)에서, 길이가 '1'인 지점의 제4 점(P4)을 설정하여 회전 행렬 좌표계의 Z 축 좌표를 산출한다. 즉, 제4 점(P4)은 제1 직선(L1)과, 월드 좌표계의 원점(O)을 중심으로 하고 반지름(R)이 '1' 인 구(Sphere)와의 교차점이다.
따라서 제4 점(P4)의 좌표는 제1 직선(L1)에 대한 직선의 방정식과, 반지름 R이 '1' 인 구의 방정식을 이용하여 산출된다. 이 때, 구의 방정식은 다음의 수학식 3과 같다.
따라서 제4 점(P4)의 좌표는 도 5에 도시된 바와 같이, 월드 좌표계의 원점(O)을 지나고, 제1 내지 제3 점(P1 ~ P3)에 의해 형성된 제1 평면(PL1)에 대해 수직한 회전 행렬 좌표계의 Z 축 상에 위치되며, 월드 좌표계의 원점(O)으로부터 길이가 '1' 만큼 떨어진 지점으로, 그 좌표값은 Z(Zx, Zy, Zz)가 된다.
단계 S140에서 도 6에 도시된 바와 같이, 월드 좌표계의 Z 축과 평행하고, 원점(O)으로부터 길이가 '1' 만큼 떨어진 지점을 제5 점(P5)으로 설정하고, 그 좌표값을 산출한다. 이는 정렬된 회전 행렬 좌표계의 X 축을 생성하기 위하여, 원점(O) 및 제4 점(P4)과 함께 형성하는 제2 평면(도 6의 PL2)을 얻고, 이 제2 평면(PL2)에 면직하여, 월드 좌표계의 X 축에 정렬되는 회전 행렬 좌표계의 X 축을 생성하기 위함이다. 그러므로 제5 점(P5)은 월드 좌표계의 Z 축과 평행한 축과, 반지름(R)이 '1' 인 구가 만나는 지점으로, 상술한 수학식 3의 구의 방정식을 이용하여 제5 점(P5)의 좌표를 산출한다.
이어서 월드 좌표계의 X 축에 정렬되는 회전 행렬 좌표계의 X 축을 생성하기 위하여, 상술한 단계 S110 내지 단계 S140의 단계들을 동일한 방식으로 반복 처리하여 회전 행렬 좌표계의 X 축 좌표를 산출한다.
즉, 단계 S150에서 도 7에 도시된 바와 같이, 원점(O)과 제4 및 제5 점(P4, P5)에 의해 형성된 제2 평면(PL2)에 면직하는 제2 법선 벡터(NV2)를 생성한다. 이는 수학식 1의 평면의 방정식을 이용하여 산출된다.
단계 S160에서 도 8에 도시된 바와 같이, 제2 법선 벡터(NV2)와 평행하고,원점(O)을 지나는 제2 직선(L2)을 생성한다. 단계 S170에서 도 9에 도시된 바와 같이, 제2 직선(L2)에서 회전 행렬 좌표계의 X 축 생성을 위한 제6 점(P6)의 좌표를 산출한다. 제6 점(P6)은 제2 직선(L2)과, 원점(O)을 중심점으로 하고 반지름이 '1'인 구가 만나는 지점으로, 원점(O)과 제4 점 및 제5 점(P4, P5)에 의해 형성된 제2 평면(PL2)에 대해 수직한 회전 행렬 좌표계의 X 축 상에 위치되며, 그 좌표값은 X(Xx, Xy, Xz)가 된다.
이어서 회전 행렬 좌표계의 Z 축 및 X 축을 기준으로 하여 Z 축 및 X 축에 수직한 Y 축의 좌표를 산출하기 위하여, 단계 S180에서 도 10에 도시된 바와 같이, 원점(O), 제4 및 제6 점(P4, P6)에 의해 형성된 제3 평면(PL3)에 면직한 제3 법선 벡터(NV3)를 생성한다.
단계 S190에서 도 11에 도시된 바와 같이, 제3 법선 벡터(NV3)와 평행하고, 원점(O)을 지나는 제3 직선(L3)을 생성한다. 단계 S200에서 도 12에 도시된 바와 같이, 제3 직선(L3)에서 회전 행렬 좌표계의 Y 축을 생성하기 위한 제7 점(P7)의 좌표 Y(Yx, Yy, Yz)를 산출한다. 이 때, 제7 점(P7)은 제3 직선(L3)과, 원점(O)을 중심점으로 하고 반지름이 '1'인 구가 만나는 지점으로, 원점(O)과 제4 점 및 제6 점(P4, P6)에 의해 형성된 제3 평면(PL3)에 대해 수직한 회전 행렬 좌표계의 Y 축 상에 위치한다.
그리고 단계 S210에서 도 13 및 도 14에 도시된 바와 같이, 제1 내지 제3 점(P1 ~ P3)에 면직하고, 제4 점(P4)과, 제6 및 제7 점(P6, P7)이 월드 좌표계로부터 평행 이동되고 회전 이동된 회전 행렬 좌표계의 좌표를 획득한다. 따라서 대상물의 목표 지점인 제1 점(P1)에 대한 회전 행렬 좌표는 P4(Xx, Xy, Xz), P6(Yx, Yy, Yz) 및, P7(Zx, Zy, Zz)가 된다. 이 좌표값은 월드 좌표계의 원점(O)이 회전 행렬 좌표계의 제1 점(P1)으로 평행 이동되고, θ 각도 만큼 회전 이동되어, 월드 좌표계에 정렬된 회전 행렬 좌표계의 좌표값 P4(Xx, Xy, Xz), P6(Yx, Yy, Yz) 및, P7(Zx, Zy, Zz)으로 대상물에 삽입되는 목표 지점이 된다.
그 결과, 제1 점(P1)을 회전 행렬 좌표계의 원점으로 하고, 제4 점(P4), 제 6 및 제 7 점(P6, P7)에 회전되어 좌표 정렬이 이루어진다.
상술한 바와 같이, 본 발명에 따른 3 차원 좌표 정렬 알고리즘은 대상물로 삽입되는 물체의 목표 지점 좌표를 좌표 정렬시키기 위하여, 목표 지점 좌표가 포함된 제1 내지 제3 점(P1 ~ P3)에 면직하면서 월드 좌표계의 축 방향에 평행한 제1 내지 제 3의 3 차원 법선 벡터(Normal Vector)(NV1 ~ NV3)들을 삽입하여, 월드 좌표계에 정렬된 회전 행렬 좌표계의 좌표값을 산출함으로써, 회전 행렬 좌표계의 각 축들이 월드 좌표계의 각 축들에 대해 일정 방향으로 좌표 정렬되어, 대상물의 서로 다른 곡율면 상에 위치하는 임의의 목표 지점으로 물체를 용이하게 삽입 가능하다.
다만, 본 발명의 3 차원 좌표 정렬 알고리즘에서, 법선 벡터(NV1 ~ NV3)가 월드 좌표계의 좌표축과 일치하거나, 좌표축의 방향이 평행 이동되어 좌표축의 위치가 동일한 경우에는 예외 사항이 발생된다. 예를 들어, 제1 법선 벡터(NV1)의 방향이 월드 좌표계의 X 축 방향이거나 또는 Y 축, Z 축 방향에 평행했을 경우에는 예외 사항이 발생된다. 즉, 제1 법선 벡터(NV1)의 방향이 월드 좌표계의 X 축 방향과 평행할 때에는 제4 점(P4)의 직선 방향은 X 축과 평행하고, Y 축은 월드 좌표계의 Y 축 또는 Z 축에 일치한다. 또 제1 법선 벡터(NV1)의 방향이 월드 좌표계의 Y 축 방향과 평행할 때에는 제4 점(P4)의 직선 방향은 Y 축과 평행하고, 이 때, X 축은 월드 좌표계의 Z 축 방향과 일치한다.
이러한 본 발명에 따른 3 차원 좌표 정렬 알고리즘은 예를 들어, 자동차 산업에서 이용되는 MCP(Master Control Point) 관리 프로그램 또는 용접 건 자동 삽입 프로그램 등에 적용되어, 자동차 패널 면에 면직하면서 월드 좌표계에 좌표 정렬된 물체 즉, MCP 블럭 또는 용접 건을 정확한 위치에 용이하게 삽입할 수 있다.
그리고 도 15는 본 발명의 3 차원 좌표 정렬 알고리즘에 의해 3 차원 공간에서 대상물의 임의의 위치들에 면직하게 삽입되는 물체의 좌표가 정렬되는 것을 나타내는 대상물의 측면도이다.
도 15를 참조하면, 본 발명의 3 차원 좌표 정렬 알고리즘에 의하면, 3 차원 공간에서 대상물(10)의 서로 다른 목표 표면 상에 위치한 임의의 목표 지점(12)에 면직하게 삽입되는 물체(미도시됨)의 회전 행렬 좌표계의 축들이 월드 좌표계의 원점 및 어느 한 방향으로 회전 정렬되는 것을 알 수 있다.
예컨대, 대상물(10)이 서로 다른 곡율면들을 갖는 구 형상의 표면을 갖으며, 그 표면의 서로 다른 위치에 복수 개의 목표 지점(12)들을 구비한다면, 모든 목표 지점(12)들은 대상물(10)의 곡율에 따라 회전 행렬 좌표계의 X 축이 일정 방향으로 회전 정렬되고, 회전 행렬 좌표계의 Y 축은 월드 좌표계의 원점 방향으로 일정하게 회전 정렬됨을 알 수 있다. 여기서 회전 행렬 좌표계의 Z 축은 물체(객체)가 삽입되는 방향을 나타낸다.
따라서 본 발명의 3 차원 좌표 정렬 알고리즘에 의해 목표 지점(12)들 각각에 삽입되는 물체의 X 축 방향이 월드 좌표계의 Z 축 방향과 수직을 이루게 된다.
종래에는 회전 행렬 좌표계의 Z 축이 물체의 삽입 방향이 되는 경우에라도 회전 행렬 좌표계의 X 축이 대상물의 목표 지점의 곡율에 따라 Z 축을 중심으로 여러 방향으로 회전 이동되어, X 축이 정렬되지 않게 되므로, 대상물로 물체 삽입 시, 물체를 X 축에 대향해서 일일이 회전시켜야 하는 어려움이 있었다. 그러나 본 발명의 알고리즘에 의하면, 물체가 삽입되는 회전 행렬 좌표계가 월드 좌표계에 대해 회전 정렬되므로, 대상물의 목표 지점의 곡율에 따라 물체를 큰 이동없이 용이하게 삽입할 수 있다.
그러므로 종래에는 서로 다른 곡율을 갖는 모든 목표 지점들에 대해 물체를 이동시키는 범위를 일일이 계산하여 입력해야만 하지만, 본 발명의 3 차원 좌표 정렬 알고리즘은 제1 내지 제3 점(P1 ~ P3)에 대한 좌표만 입력하면, 자동으로 월드 좌표계에 정렬된 회전 행렬 좌표값을 획득할 수 있다.
이상에서, 본 발명에 따른 3 차원 좌표 정렬 알고리즘의 구성 및 작용을 상세한 설명과 도면에 따라 도시하였지만, 이는 실시예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
P1 ~ P7 : 점
PL1 ~ PL3 : 평면
NV1 ~ NV3 : 법선 벡터
L1 ~ L3 : 직선
R : 반지름
10 : 대상물
12 : 목표 지점
PL1 ~ PL3 : 평면
NV1 ~ NV3 : 법선 벡터
L1 ~ L3 : 직선
R : 반지름
10 : 대상물
12 : 목표 지점
Claims (10)
- 3 차원 좌표 정렬 방법에 있어서:
대상물로 삽입되는 물체와, 상기 물체의 목표 지점 좌표를 회전 정렬시키도록 처리하는 컴퓨터를 갖는 생산 설비에서, 상기 대상물의 표면에 위치하고, 상기 물체의 하나의 목표 지점을 포함하는 3 차원 공간에서의 임의점 제1 내지 제3 점의 좌표를 상기 컴퓨터로 입력하는 단계와;
상기 컴퓨터가 상기 제1 내지 상기 제3 점에 의해 형성된 제1 평면에 면직하고 월드 좌표계의 원점을 지나는 제1 법선 벡터를 생성하는 단계와;
상기 컴퓨터가 상기 제1 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제1 직선을 생성하여, 상기 제1 직선에서 회전 행렬 좌표계의 Z 축을 생성하기 위한 제4 점의 좌표를 산출하는 단계와;
상기 컴퓨터가 월드 좌표계의 원점과 상기 제4 점을 근거로 정렬된 회전 행렬 좌표계의 X 축 좌표를 산출하기 위하여 월드 좌표계의 Z 축과 평행한 축 상에서 상기 제4 점에 대응하는 제5 점의 좌표를 산출하는 단계와;
상기 컴퓨터가 월드 좌표계의 원점과 상기 제4 점 및 상기 제5 점에 의해 형성된 제2 평면에 면직하고, 월드 좌표계의 원점을 지나는 제2 법선 벡터를 생성하는 단계와;
상기 컴퓨터가 상기 제2 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제2 직선을 생성하여, 상기 제2 직선에서 회전 행렬 좌표계의 X 축 생성을 위한 제6 점의 좌표를 산출하는 단계와;
상기 컴퓨터가 월드 좌표계의 원점과 상기 제4 점 및 상기 제6 점에 의해 형성된 제3 평면에 면직하고, 월드 좌표계의 원점을 지나는 제3 법선 벡터를 생성하는 단계와;
상기 컴퓨터가 상기 제3 법선 벡터와 평행하고 월드 좌표계의 원점을 지나는 제3 직선을 생성하여, 상기 제3 직선에서 회전 행렬 좌표계의 Y 축 생성을 위한 제7 점의 좌표를 산출하는 단계 및;
상기 컴퓨터가 상기 제1 내지 상기 제3 점에 형성된 제1 평면에 면직하고, 월드 좌표계의 원점과 상기 제5 내지 상기 제7 점의 좌표를 이용해서 평행 이동하여 월드 좌표계에 정렬된 상기 물체의 상기 목표 지점에 대한 회전 행렬 좌표계의 좌표를 획득하는 단계를 포함하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 1 항에 있어서,
상기 제4 점의 좌표를 산출하는 단계는;
상기 컴퓨터가 월드 좌표계의 원점에서 상기 제1 직선을 따라 길이가 1인 지점의 좌표를 산출하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 2 항에 있어서,
상기 제5 점의 좌표를 산출하는 단계는;
상기 컴퓨터가 월드 좌표계의 원점에서 월드 좌표계의 Z 축과 평행한 축을 따라 길이가 1인 지점의 좌표를 산출하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 3 항에 있어서,
상기 제6 점의 좌표를 산출하는 단계는;
상기 컴퓨터가 월드 좌표계의 원점에서 상기 제3 직선을 따라 길이가 1인 지점의 좌표를 산출하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 4 항에 있어서,
상기 제7 점의 좌표를 산출하는 단계는;
상기 컴퓨터가 월드 좌표계의 원점에서 상기 제4 직선을 따라 길이가 1인 지점의 좌표를 산출하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 5 항에 있어서,
상기 제4 점은 상기 컴퓨터가 상기 제1 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하고;
상기 제5 점은 상기 컴퓨터가 월드 좌표계의 Z 축과 평행한 축과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하고;
상기 제6 점은 상기 컴퓨터가 상기 제2 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하며; 그리고
상기 제7 점은 상기 컴퓨터가 상기 제3 직선과, 월드 좌표계의 원점을 중심점으로 하고, 반지름이 1인 구가 접하는 지점의 좌표를 산출하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 제1 법선 벡터를 생성하는 단계는;
상기 컴퓨터에 구비되는 좌표 설정 어플리케이션을 이용하여 메쉬(Mesh) 평면 상에서 상기 제1 점을 설정하여 자동으로 생성하는 것을 특징으로 하는 3 차원 좌표 정렬 방법. - 제 1 항 내지 제 6 항 중 어느 한 항에 따른 3 차원 좌표 정렬 방법을 처리하기 위한 상기 컴퓨터가 판독 가능한 프로그램을 저장하는 저장 매체.
- 제 8 항에 있어서,
상기 프로그램은 컴퓨터 네트워크를 이용하여 온라인으로 제공 가능한 상기 컴퓨터가 판독 가능한 프로그램을 저장하는 저장 매체. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130118619A KR101395660B1 (ko) | 2013-10-04 | 2013-10-04 | 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130118619A KR101395660B1 (ko) | 2013-10-04 | 2013-10-04 | 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101395660B1 true KR101395660B1 (ko) | 2014-05-16 |
Family
ID=50894265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130118619A KR101395660B1 (ko) | 2013-10-04 | 2013-10-04 | 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101395660B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335335A (zh) * | 2014-06-13 | 2016-02-17 | 清华大学 | 基于xy多项式自由曲面的面形构建方法 |
KR101910871B1 (ko) | 2017-08-31 | 2018-12-31 | 주식회사 화승알앤에이 | 3차원 좌표를 이용한 튜브의 레이아웃을 해석하는 방법 및 기록매체 |
CN114683282A (zh) * | 2022-03-22 | 2022-07-01 | 东莞市智睿机械科技有限公司 | 一种制鞋机器人的喷胶轨迹生成方法、装置和设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100886721B1 (ko) | 2007-04-30 | 2009-03-04 | 고려대학교 산학협력단 | 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체 |
-
2013
- 2013-10-04 KR KR1020130118619A patent/KR101395660B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100886721B1 (ko) | 2007-04-30 | 2009-03-04 | 고려대학교 산학협력단 | 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335335A (zh) * | 2014-06-13 | 2016-02-17 | 清华大学 | 基于xy多项式自由曲面的面形构建方法 |
KR101910871B1 (ko) | 2017-08-31 | 2018-12-31 | 주식회사 화승알앤에이 | 3차원 좌표를 이용한 튜브의 레이아웃을 해석하는 방법 및 기록매체 |
CN114683282A (zh) * | 2022-03-22 | 2022-07-01 | 东莞市智睿机械科技有限公司 | 一种制鞋机器人的喷胶轨迹生成方法、装置和设备 |
CN114683282B (zh) * | 2022-03-22 | 2024-09-10 | 东莞市智睿智能科技有限公司 | 一种制鞋机器人的喷胶轨迹生成方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10228686B2 (en) | Robot programming device for teaching robot program | |
US10556305B2 (en) | Aligning parts using multi-part scanning and feature based coordinate systems | |
EP2881817B1 (en) | System and method for operating a machine and performing quality assurance | |
US20110295408A1 (en) | Process for positioning a workpiece | |
JP2016074040A5 (ko) | ||
US20030031383A1 (en) | Method for establishing the position of a temprary on an object relative to know features of the object | |
KR101395660B1 (ko) | 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체 | |
Hu et al. | Dual-edge robotic gear chamfering with registration error compensation | |
Cornelius et al. | Hybrid manufacturing of Invar mold for carbon fiber layup using structured light scanning | |
Wu et al. | Automatic calibration of work coordinates for robotic wire and arc additive re-manufacturing with a single camera | |
Estrems et al. | Influence of fixtures on dimensional accuracy in machining processes | |
JP2017037460A (ja) | 加工システム及び加工方法 | |
KR101650011B1 (ko) | 3차원 스캐너를 이용하여 생성된 기하형상을 기준 좌표에 이동시켜 검사 기준 좌표를 설정하는 방법 | |
Do et al. | Augmented-reality-assisted workpiece localization in rod-type flexible fixtures | |
Petrakov et al. | Contour milling programming technology for virtual basing on a CNC machine | |
EP1170648A1 (en) | Method for machining a workpiece | |
JP3796207B2 (ja) | 三次元レーザ加工機による加工方法並びに三次元レーザ加工用のncプログラムの作成方法 | |
KR101393090B1 (ko) | 머시닝센터 가공을 위한 공작물 세팅방법 | |
EP1189022A1 (en) | Measurement method to find position of a target on an object | |
KR20130029883A (ko) | 작업 조인트를 이용한 레이저비전시스템의 캘리브레이션 방법 | |
Contreras | An improved tolerance charting technique using an analysis of setup capability | |
JP2014172054A (ja) | オリジナル突当先端を使用した加工データ作成システムおよび方法および突当位置規定方法 | |
CN115846891B (zh) | 镭雕设备的控制方法、镭雕设备及计算机可读存储介质 | |
Chaturvedi et al. | Body in White Fixture Design | |
JP2017191447A (ja) | 加工基準位置決定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated 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: 20180425 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190507 Year of fee payment: 6 |