구조물의 운동에 대한 실시간 측정시스템 개발
김원진a*, 윤혜성aReal-time Measurement System for 3D Motion of a Body
Wonjin Kima*, Hyesung Yoona
a Department of Mechanical and Automotive Engineering, Keimyung University, 2800 Dalgubeoldaero, Dalseo-Gu, Daegu 704-701, Korea
ARTICLE INFO ABSTRACT
Article history: Measurement of the absolute displacement of the moving machinery components in three-dimensions (3D) is of critical functional importance. This paper describes the system that measures motion associated with six degrees-of-freedom in 3D.
Wire-sensors are used to estimate the positions of an object in a 3D Cartesian coordinate system, based on the values of their initial position and the measured values. For inducing the transfer function, which represents the motion of an object, the number of the minimum measurement points is determined. Also, the experimental measuring device is configured to visualize the behavior of a rectangular object in real-time. The software for measuring the six types of motions is directly programmed using a commercial software.
Received 23 May 2014 Revised 5 July 2014 Accepted 24 July 2014 Keywords:
Wire sensor
3D motion visualization Behavior measurement Real-time
Transfer function
* Corresponding author. Tel.: +82-53-580-5265 Fax: +82-53-580-5165 E-mail address: [email protected] (Wonjin Kim).
1. 서 론
3차원으로 운동하는 구조물의 시간에 따른 정확한 거동 정보가 제품 개발에 필요한 경우가 있다. 예를 들어, 세탁기의 경우 세탁기 드럼의 운동을 3차원으로 측정하여 서스펜션이나 마운트에 작용하 는 부하를 평가하고 분석할 수 있다. 또는 자동차의 경우 거친 노면 을 운행할 때, 차체와 도어 사이의 도어 스트립에서 비빔노이즈가 발생하는데 도어의 3D 거동을 측정함으로써 도어 스트립의 설계 개선에 이용할 수 있다. 이밖에도 기기나 설비를 구성하고 있는 여 러 구성품들이 복잡하게 연결된 경우 각 구성품들의 3차원 거동을 측정함으로써 구성품들 간의 간섭을 분석할 수 있다. 이와 같이, 운동하는 대상 구조물과 주변 구조물의 절대적 위치와 구조물들 간의 연결 특성을 파악하여 구조물 개발에 이용하기 위해서는 대상
구조물의 3차원 거동 측정이 필요하다.
대상 구조물의 2차원 변위 측정시스템 연구는 다양하게 진행 되 어 왔으나[1-3], 3차원에 대한 측정시스템은 아직 개발되지 않아 현 장에서 진동측정을 통해 구조물의 국부적인 변위예측으로 거동의 안정성을 평가하고 있는 실정이다. 가속도계를 이용하여 변위를 도 출할 경우에는 적분에 의한 적분오차와 신호 이동(signal drift)이 발생하기 때문에 변위값이 정확하지 않다[4]. 단순한 거동의 경우에 는 변위센서를 이용하면 대체적인 거동측정이 가능하나[5], 거동의 범위가 상대적으로 크거나 복잡한 경우에는 구조물의 고정된 위치 에 대한 3차원 위치 정보가 필요하다. 변위측정센서들은 구조물의 고정된 위치를 측정하는 것이 아니라 센서 거치 위치에서의 변위를 측정하는 것이기 때문에 거동 범위가 비교적 크거나 복잡한 경우 측정하고자 하는 위치의 변경으로 인하여 변위측정에 큰 오류가
Fig. 1 3D Coordinate system and the measurement point position 포함된다. 따라서 센서의 위치에 구속되지 않고 대상 구조물의 변 위에 의해 구조물의 거동을 표현하는 시스템이 필요하다. 본 논문 에서는 구조물의 변위측정이 센서 위치에 구속받지 않게 하기 위해 센서를 구조물에 직접 설치하는 방법을 이용하였다. 변위센서로는 접촉식 센서로써 여러 장점을 가지고 있는 와이어센서를 사용하였 다. 와이어센서는 측정거리 대비 작은 크기를 가지고 있어 기구적 으로 시스템에 설치가 용이하고, 와이어가이드가 필요하지 않으며, 또한 유연하기 때문에 측정방향에 구애받지 않는다. 이러한 장점을 가진 와이어센서는 다양한 기기들의 변위를 측정하기 위한 센서로 많이 사용된다. 와이어센서를 사용하여 플랜지의 위치를 측정한 기 존 사례에서는 스텝모터를 추가로 사용하여 병진변위와 회전변위 를 각각 측정하였다[6]. 그러나 본 논문에서는 와이어센서만을 이용 하여 공간상에서 모든 방향의 병진과 회전 운동을 측정하는 시스템 을 구현하였다.
2. 3D 거동 측정 알고리즘
2.1 3D에서 한 점의 위치 결정 알고리즘
물체의 거동을 표시하기 위해서는 3D에서 한 점의 절대위치를 측정하는 작업이 선행되어야 한다. 3D에서 한 점의 위치를 측정하 기 위해 우선 임의의 직교좌표계를 설정한다. Fig. 1과 같이 세 개 의 센서가 직교좌표계의 각 축 선상에 위치해 있다고 가정하면, 피 타고라스 정리를 이용하여 한 점의 위치를 계산할 수 있다. 각 센서 의 와이어 길이를 lx, ly, lz 센서의 위치를 (-lx0, 0, 0), (0, -ly0, 0), (0, 0, lz0)로 둔다. 주어진 값은 측정에 의한 와이어 길이와 초기설정에 의한 각 센서들의 위치이고 구하고자 하는 값은 임의의 한 점 위치 (x, y, z)이다. 이와 같이 정의한 변수들을 이용하면 식 (1)~(3)의 관계를 유도할 수 있고, 직교좌표계에서의 위치(x, y, z)에 대해 정리하면 식 (4)~(6)과 같다. 식 (7)~(13)은 변수들 로부터 계산된 좌표값(x, y, z)를 나타내기 위해 치환된 변수값들
(1)
(2)
(3)
(4)
±
(5)
(6)
여기서,
(7)
(8)
(9)
(10)
(11)
(12)
(13)
이다.
식 (5)에서 2개의 위치가 계산된다. 이는 각 변수들로부터 계산 된 좌표값이 2개인 것을 의미한다. 이러한 문제를 해결하기 위해서 는 추가적인 정보가 필요한데, 센서 1개를 추가하여 길이 정보를 하나 더 확보하여 하나의 점을 결정하거나 측정 프로그래밍을 개발 할 때 측정영역을 제한하는 방법이 있다. 본 논문에서는 측정영역 을 제한하는 방법을 이용하여 3D에서의 정확한 한 점 위치를 결정 하였다.
2.2 최소 측정점 결정과 전달함수 유도
물체 내의 한 점으로는 3D 물체의 거동을 정확하게 알 수가 없 다. 즉, 하나의 점으로는 회전을 표현할 수 없기 때문에 물체의 거 동이 회전을 포함하는 경우 3D 구조물의 거동 표시가 불가능하다.
3D에서 구조물의 거동을 표현하기 위해서는 구조물 내에서 다수 의 점에 대한 위치 데이터가 필요하다. 그러나 매 순간마다 구조물 내의 많은 점의 위치 데이터를 측정하는 것은 현실적으로 불가능하 므로 한정된 최소한의 측정점을 이용하여 물체의 거동형태를 알아 내야 한다.
측정점 개수를 결정하기 위해 면의 3D 운동을 고려한다. 3D에 서 면의 운동과 입체도형의 운동 자유도는 같고, 입체도형은 무한 개의 면으로 구성되어 있기 때문에 입체도형에 속한 고정된 면의 운동은 입체도형의 운동을 대표할 수 있다. 면을 표현하기 위해서
Fig. 2 Setting the local coordinate system
Fig. 3 Relation between the location of a object and transfer function
는 기하학적으로 최소한 3개의 점이 필요하다. 따라서 물체의 3D 거동을 알기 위해서는 물체 내 최소 세 점의 위치만 측정하면 된다.
로봇공학에서 로봇팔의 이동과 회전을 표현하기 위해, 로봇팔에 지역좌표계를 설정한다[8]. 이 지역좌표계를 절대좌표계에 대한 위 치와 회전을 행렬로 표현하는데 이를 동차행렬 혹은 동차변환행렬 이라고 하며, 식 (14)과 같이 표현한다. 동차행렬은 공간상에서 절 대좌표계에 대한 지역좌표계의 위치와 운동을 표현할 수 있다.
nx~az는 지역좌표계의 각 축 n, o, a의 절대좌표계에서 각 축 x, y, z로의 정사영 값이고, P는 절대좌표계의 원점에서부터 지역좌표 계 원점까지의 위치를 나타낸다. 4행의 [0, 0, 0, 1]은 행렬연산을 위해 정방행렬로 만들기 위한 고정된 값이다.
(14)측정 대상물체의 이동 전 후의 좌표계사이 관계가 전달함수이므 로 거동 측정 물체에 좌표계를 설정해야 한다. Fig. 2와 같이 직육 면체 내에 세 점 A, B, C가 있다. 절대좌표계 xyz가 있고 직육면체 내에 지역좌표계를 설정한다. 한 점 A를 지역좌표계의 원점으로 두고 점 B와 C를 잇는 벡터 n, o를 구하여 2차원 좌표계를 구성한 다. 3차원 좌표계를 생성하기 위해 벡터 외적의 성질을 이용한다.
두 벡터 n, o의 외적으로 벡터 n, o가 이루는 평면에 수직인 벡터 a를 생성하여 3차원 좌표계 n, o, a를 설정한다.
(15)
(16)
× (17)
지역좌표계 noa의 각 축을 이루는 벡터 n, o, a는 서로 직교할 필요도 없고, 각각이 크기를 가져도 무관하다. 전달함수는 시간에 따라 지역좌표계가 절대좌표계에 대해 어떻게 운동했는가에 대한 것이므로 대상 물체의 이동 전 후에서 벡터 n, o, a 각각의 위치 관계가 서로 같으면 된다. 벡터 n, o, a는 대상 물체 내의 고정된
세 점으로부터 유도한 것이므로, 물체가 강체이면 물체가 움직이기 전후에서 각 벡터들 사이의 관계는 서로 같다.
Fig. 3은 전달함수에 의한 물체의 운동을 나타낸다. 시간 t에서의 물체의 위치를 [F1], 시간 t+Δt에서 물체의 위치를 [F2]라고 하면 전달함수는 식 (18)의 관계에 의해 식 (19)와 같이 유도된다. 이 전달함수에 의해 시간 t에서 물체 내의 모든 점은 시간 t+Δt에서의 위치로 이동한다. 차원이 4x4인 동차행렬 [F1]의 행렬식 (determinant)은 동차좌표와 P벡터를 제외한 벡터 n, o, a로 이루 어진 3x3의 행렬식과 같다. 벡터 n, o, a는 기하학적으로 서로 1차 독립적인 관계를 가지고, 이 세 벡터로 이루어진 행렬은 정칙행렬 이므로 역행렬을 가지기 때문에 행렬식의 값은 0이 아니다. 따라서 동차행렬 [F1]의 행렬식 값도 0이 아니므로 동차행렬 [F1]은 항상 역행렬을 갖는다.
[F2] = [T] × [F1] (18)
[T] = [F2] × [F1]−1 (19)
2.3 직육면체 와이어프레임(Wireframe)의 좌표변환 시뮬레이션 한 변이 2인 직육면체 와이어프레임의 거동을 수학적으로 시뮬 레이션 한다. Fig. 4에서 왼쪽은 와이어프레임의 거동 전이고 오른 쪽은 거동 후를 나타낸다. 와이어프레임은 초기위치에서 절대좌표 계 xyz에 대해 y축으로 -90도 회전 후에 x축으로 3만큼 병진운동 하였다. 지역좌표계는 점 A를 원점으로 하는 직교좌표계를 설정하 였다. 직육면체의 초기위치에서 지역좌표계를 설정하기 위한 각 점 의 위치는 절대좌표계에 대해 A(0, 1, 2), B(0, 0, 2), C(2, 1, 2)이 고, 거동 후 각 점의 위치는 A'(1, 1, 0), B'(0, 0, 2), C'(1, 1, 2)이 다. 두 위치에서의 A, B, C 좌표값으로 부터 식 (15)~(17)에 의해 거동 전 후 위치에서의 지역좌표계를 나타내는 동차행렬 [F1], [F2]를 계산할 수 있다. 두 동차행렬에 의해 식 (30)와 같이 직육면 체의 특정 거동을 나타내는 전달함수[T1]는 계산된다.
(20)
Fig. 4 Simulation of Coordinate transformation
Fig. 5 Installation of the structure for a measuring object and sensors
(21)
× (22)
(23)
(24)′ ′′ ′ ′ (25)
′ ′′ ′ ′ (26)
′ ′ × ′ (27)
′ ′ (28)
(29) ×
(30)전달함수 [T1]은 절대좌표계의 y축에 대해 -90도 회전한 후 x 축으로 3만큼의 병진운동을 나타낸다. [T1]에 의해 [F1] 위치에서 의 직육면체 와이어프레임내의 모든 점은 [F2]위치로 이동한다.
Fig. 1에서 거동 전 점 K의 좌표는 (2, 0, 0)이고, 거동 후 점 K'의 좌표는 (3, 0, 2)이다. 거동 후 점 K'의 위치는 식 (31)과 같이 전달 함수 [T1]과 거동 전 위치 K에 의해 계산된다.
′ ×
×
(31)3. 실 험
3.1 측정 장치 구성
3D 거동 실험을 위해 Fig. 5와 같이 실험장치를 구성하였다. 측 정대상 구조물은 얇은 알루미늄 판의 직육면체 형상으로 400 ×
300 × 300 mm3의 크기로 제작하였다. 공간상에서 6자유도 운동 을 구현하기 위해 직육면체 구조물을 지면과 평행하게 스프링을 이용하여 상부 프로파일에 거치하였다. 변위센서는 3개의 측정점 에 각각 3개씩 총 9개를 설치하였다. 센서에 공급되는 전원은 10 V의 전압으로 외장배터리와 센서 전원공급기를 이용하였다. DAQ 보드는 입력전압범위와 운영시스템 등을 고려하여 NI사의 NI 9234모델을 사용하였다.
각 센서모듈의 설치위치는 직육면체 구조물 상판의 각 꼭짓점 이다. Fig. 6는 3개의 측정점 위치와 절대좌표계 원점위치를 나타 낸다. 절대좌표계의 원점은 측정점 1에 위치해있지만, 측정 프로그 램에서 구조물의 초기위치를 설정하면 절대좌표계 원점의 위치는 고정된다. 점 1~3은 센서모듈에 의한 측정지점이고, 센서모듈에서 각 센서의 설치상태는 Fig. 7과 같이 측정점을 기준으로 3개의 와 이어센서를 3축으로 설치하였다. 앞 절에서 유도한 3D 한 점 위치 계산식의 전제조건은 3개의 센서가 서로 직교하는 것이므로, 정확 한 위치값을 얻기 위해서는 각 센서의 위치가 측정점을 중심으로 직교좌표계의 각 축상에 설치되어야 한다.
3.2 측정 프로그램 개발
거동을 실시간으로 가시화하기 위해 모델링 데이터 수를 최소화 시켜야 한다. 개발한 프로그램에서는 실험대상인 직육면체구조물 의 모델링 데이터를 최소화하기 위해 와이어프레임의 형태로 표현 하였다. 와이어프레임은 선으로만 이루어져 있기 때문에 선이 만나 는 점의 위치정보만 알면 구조물의 형태를 나타낼 수 있다. 직육면 체의 경우에는 8개 꼭짓점의 위치가 모델링 데이터가 되므로 이 데이터들만을 이용하여 물체의 거동을 가시화할 수 있다. 8개의 꼭 짓점은 전달함수에 의해 거동 후의 위치로 이동하고, 모든 전달함 수는 식 (20)과 같이 초기위치를 기준으로 계산되기 때문에 모든 점들의 이동은 초기위치를 기준으로 일어난다.
Fig. 6 Position of installed sensors and the origin of global coordinate system
Fig. 7 Front panel of the measurement program
Fig. 8 Block diagram of the measurement program in real-time mode
[Tn] = [Fn] × [F1]−1 (32) 개발한 측정 프로그램은 재생모드와 실시간모드가 있다. 재생 모드는 기존에 저장해놓은 센서 데이터들을 이용하여 물체의 거 동을 출력하는 기능이고, 실시간모드는 실시간으로 측정되는 센 서 데이터들을 이용하여 물체의 거동을 출력한다. Fig. 8은 실시 간모드에서 측정 프로그램의 알고리즘을 블록다이어그램으로 나 타낸 것이다. 절대좌표계의 원점을 설정하기 위해 물체의 정지상 태에서 각 센서의 길이를 초기값으로 설정한다. 초기값이 설정되 면 직육면체의 초기 측정점 3개의 위치가 계산된다. 이 측정점들 을 이용하여 직육면체의 8개 꼭짓점 좌표를 계산한다. 절대좌표 계의 원점이 설정되면 연속적으로 측정되는 9개의 센서 데이터 를 이용하여 3개의 측정점 좌표는 실시간으로 계산된다. 전달함 수는 각 샘플시간의 측정점 위치와 초기 측정점 위치에 의해 계 산되고, 이 전달함수에 의해 직육면체의 초기 8개 꼭짓점 위치는 거동 후의 위치로 이동한다. 마지막으로 이동된 직육면체의 8개 꼭짓점을 직선으로 이어 직육면체 형상을 와이어프레임으로 표 현한다. 이상의 과정들은 샘플시간마다 연속으로 반복되고, 형상 데이터의 수, PC의 성능, DAQ 장비의 성능에 의해 시간지연은 달라진다.
3.3 실험결과
변위센서에서의 측정값으로부터 직육면체 구조물의 위치가 계산 되어 화면에 출력될 때까지 시간지연은 평균 100 ms로 직육면체 구조물의 거동은 PC를 통해 실시간으로 확인 가능하였고, 측정범 위 안에서 직육면체 구조물의 와이어프레임은 임의의 위치와 자세 에서 정확하게 출력되었다. Fig. 9는 직육면체 구조물의 자세별 출 력결과를 나타낸다. (a)는 센서의 초기 위치설정 후 정지상태, (b) 는 한쪽 모서리를 기울였을 때, (c)는 측정범위를 벗어났을 때 구조 물의 위치를 나타낸다. (c)에서와 같이 구조물의 위치가 측정 범위 에서 벗어나면 와이어프레임의 측정범위 밖의 포인터들은 화면에 출력되지 않는다.
전달함수에 의한 직육면체 내 한 점의 좌표 변환의 결과는 Table 1에 나타나 있다. 직육면체 구조물의 이동에 따라 절대좌표계의 원 점을 기준으로 (300, 400, -400)의 위치해 있는 점의 좌표변환을 실험을 통해 이론값과 비교하였다. 직육면체 구조물의 정적인 상태 에서 초기값을 설정하고 직육면체가 x방향을 따라 일정하게 이동 할 수 있게 알루미늄 프로파일로 가이드를 설치하여 직육면체를 x방향으로 20, -20 mm 이동 후와 y축을 기준으로 -6, -11° 회전 후 그 점의 좌표 변환 결과를 확인하였다. 실험결과, 각 축에 대한 오차 범위는 x, y 좌표가 4% 이내, z 좌표가 10 % 이내이다. 특히, 병진 이동에서 z 방향의 좌표변환값의 오차가 비교적 크게 도출되 었다. 이는 한 측정지점에 대한 센서의 설치 오차에 의해 발생하였
(a) Initial position of the structure
(b) The structure in the measurement area
(c) The structure out of the measurement area
\
Fig. 9 Measurement for a moving rectangular parallelepiped object
Table 1 Transfer function for the motion of object
Theoretical value
experimental value
error (%)
x 320 328.59 2.69
y 400 397.51 0.62
z -300 -270.81 9.73
(a) Translation 20 mm toward x-direction
Theoretical value
experimental value
error (%)
x 280 286.25 2.23
y 400 396.75 0.81
z -300 -326.46 8.82
(b) Translation -20 mm toward x-direction
Theoretical value
experimental value
error (%)
x 351.73 349.77 0.56
y 400 384.62 3.85
z -242.25 -238.35 1.60
(c) Rotation -11o about y-axis
Theoretical value
experimental value
error (%)
x 329.72 336.55 2.07
y 400 386.62 3.35
z -266.99 -259.06 2.97
(d) Rotation -6o about y-axis
다. 2.1절에서 설명한 것과 같이 3개의 센서가 측정지점을 중심으 로 하는 직교좌표계의 각 축에 정확하게 위치해야만 정확한 좌표 값을 얻을 수 있다. 또한, 가이드의 제작 오차로 인해 가이드와 좌 표계의 x축의 평형이 이루어지지 않은 것도 또 하나의 원인이다.
4. 결 론
본 논문에서는 변위센서를 이용하여 구조물의 3D 거동을 나타 내는 시스템을 구성하였다. 센서에서 측정된 와이어의 길이로부
터 3D에서 한 점의 위치를 계산하는 알고리즘을 수학적으로 유도 하였고, 점의 3D위치를 토대로 물체의 6자유도 거동을 표현하기 위한 최소 측정점 수를 결정하여 물체의 순간 거동을 표현하는 전달함수를 유도하였다. 대상 물체의 3점의 위치만 측정하면 그 물체의 3D에서 6자유도 운동을 모두 표현할 수 있음을 실험을 통해 확인하였다. 측정시스템은 총 9개의 와이어센서, 실시간이 가능한 DAQ Board, Laptop 컴퓨터 등으로 구성하였다. 측정 프 로그램은 LabVIEW를 이용하여 시스템 환경에 맞추어 직접 개발 하였으며, 실험 대상 구조물을 와이어프레임으로 표현하여 거동을 가시화하였다. 실험을 통해 대상 구조물을 무작위로 움직였을 때 구조물의 거동과 프로그램에서의 와이어프레임 거동이 일치함을 확인하였다.
후 기
본 연구는 지식경제부․한국산업기술진흥원 지정 계명대학교 전자 화 자동차 부품지역 혁신센터(B0008866)의 지원에 의한 것입니다.
그리고 3D 거동 측정 시스템은 (주)메카시스와 공동으로 제작하 였습니다.
References
[1] Kang, H., Kweon, M., Suh, Y., Ro, Y., 2008, Development of a Robotic System for Measuring Hole Displacement Using Contact-Type Displacement Sensors, Journal of the Korean Society for Precision Engineering 25:1 79-84.
[2] Jung, K., Lee, S., Park, S., 2013, Measuring Methods for Two- dimensional Position Referring to the Target Pattern, Journal of the Korean Society of Manufacturing Technology Engineers 22:1 77-84.
[3] Hong, D., 1999, A Two-Dimensional Position Sensor Using Cable Extension Transducers, Journal of the Korean Society of Precision Engineering 16:9 159-165.
[4] Park, K., Kim, S., Park, H., Lee, K., 2005, The determination of bridge displacement using measured acceleration, Journal of Engineering Structures 27:3 371-378.
[5] Kim, Y., 2007, Measuring of Rotational Accuracy of Lathe Spindle, Transaction of the Korean Society of Machine Tool Engineers 16:6 43-48.
[6] Youn, J., Yoon, K., Lee, S., 2003, Pipe Flange Measurement System Using Draw-Wire sensor, Journal of the Korean Society of Precision Engineering 20:8 62-69.
[7] Yang, Z., Lu, H., Wang, Z., 2010, Six Degree-of-freedom Strong Ground Motions Measurement by Using Eight Accelerometers, 2010 International Conference on Computer, Mechatronics, Control and Electronic Engineering 4 559-562.
[8] Niku, S., 2001, Introduction to Robotics: Analysis, Systems, Appli- cations, Prentice Hall, United States of America.