2.1 기구부 구조
본 논문에서는 ball and plate 시스템을 위한 기구부로 pitch, roll, vertical 움직임에 관하여 자유도를 가지는 3 자유도
Stewart platform을 채택한다. 그림 1은 본 논문에서 채택한
표 1. Arm을 기술하는 파라미터
Table 1. Parameters that describes the arm
Symbol
|
Parameter
|
Jbi
|
The i-th base joint(i=1,2,3)
|
Jpi
|
The i-th plate joint(i=1,2,3)
|
Jsi
|
The i-th sub joint(i=1,2,3)
|
Lbs
|
Base-sub link
|
Lps
|
Plate-sub link
|
L
|
Virtual leg connecting Jbi and Jpi
|
Rb
|
Radius of the base circle
|
Rp
|
Radius of the plate circle
|
Ds
|
The length of Lps
|
Rm
|
The length of Lbs
|
Πi
|
The plane with joints of the i-th arm(i=1,2,3)
|
hi
|
Height(z-axis coordinate of Jpi, i=1,2,3)
|
α
|
The angle between Lbs and L when γ=0
|
β
|
The angle between Lbs and L when γ≠0
|
γ
|
The angle of rotation of the motor
|
platform의 개념도이며, 다음과 같은 역할을 하는 3개의 층으로 구성된다.
· Plate 층: Base 층의 모터에 의해 picth, roll, vertical에 대한 자유도를 가지고 동작한다. Ball의 위치를 측정하는
센서가 부착되어 있으며, ball and plate 시스템이 구현되는 층이다.
· Base 층: 3개의 모터를 부착하여 platform의 움직임을 생성한다.
· Control 층: 센서 데이터 수집과 모터 구동을 위한 인터페이스 보드가 장치된 층이다.
기구부에 부착되는 모터로는 정밀 제어가 용이하며 강한 힘을 출력할 수 있도록 감속기를 갖는 DC 모터를 사용한다. 그림 2는 base 층에 부착된 DC 모터의 구조를 보여준다. 고분해능의 자기식 엔코더와 자석 거치대를 장착하여 정밀한 회전각의 측정이 가능하고, 어댑터를
이용하여 엔코더와 모터를 결합할 수 있도록 제작한다(23). 또한 platform이 제한된 공간 내에서 넓은 동작범위를 가지도록 revolute joint를 사용하는 구조를 갖는 것이 특징이다. 그림 3(a)은 3차원 설계 SW로 설계한 전체 platform을 나타낸다. 그림 3(b)은 모터에 부착되어 plate를 구동하는 arm의 구조를 보여준다.
2.2 기구학
Ball and plate 시스템의 기구부 구조로 제안하는 3 자유도 Stewart platform을 동작시키기 위해서는 이에 대한 기구학에 대한
지식이 요구된다. 3 자유도 Stewart platform의 기구학(Kinematics)과 역기구학(Inverse kinematics) 문제에 대해
platform의 base 층과 plate 층에 삼각형 모양으로 배치된 joint를 연결하는 link의 길이와 plate 층의 pitch, roll,
vertical 움직임의 관계에 대하여 다룬 연구가 있다(24). 이때 link의 길이는 prismatic joint에 의해 결정되는데 본 논문에서 제안하는 기구부는 그림 1과 같이 prismatic joint가 아닌 revolute joint를 사용하므로 기구학에 대한 새로운 유도가 필요하다. 따라서 본 논문에서는 revolute
joint를 사용한 3 자유도 Stewart platform의 기구학을 유도한다.
먼저 수학적으로 정리하기 위해 arm을 기술하기 위한 파라미터를 표 1과 같이 정의한다. Platform은 그림 3(b)과 같이 3개의 joint(Jbi, Jpi, Jsi)와 2개의 link(Lbs, Lps)로 이루어진
arm을 사용하여 base 층과 plate 층을 연결하는 구조이다. L은 Jbi와 Jpi 사이에 존재하는 virtual leg에
대응하며, 길이는 모터의 움직임에 의해 결정된다(24). 따라서 본 논문에서 제안하는 platform의 기구학을 base 층에 부착된 모터의 회전각과 base 층의 무게 중심을 origin으로 한 base
frame으로부터 plate 층의 무게 중심을 origin으로 한 plate frame까지의 수직 거리(height), plate frame의 pitch,
roll과의 상관관계로 나타내고자 한다.
그림. 4. (a) Base 평면에 정사영 된 joints, (b) γi=γ일 때 arm 개념도(i=1,2,3)
Fig. 4. (a) Joints projected onto the base plane, (b) Concept diagram of the arm when
γi=γ (i=1,2,3)
Jbi와 Jpi의 좌표를 정의하고자 한다. 식을 간단히 하기 위해 앞으로 삼각함수 수식은 sinα=sα,
cosα=cα, tanα=tα의 형태로 표현한다. Jbi와 Jpi의
좌표는 각각 base frame을 기준으로 다음과 같이 나타낼 수 있다.
Jpi를 x−y평면(z=0)으로 정사영시키면 그림 4(a)와 같이 반지름이 다른 3개의 가상의 원 모양에 120∘간격으로 배치되며 정사영 된 Jpi의 좌표는 다음과 같다.
모터가 그림 4(b)처럼 γ만큼 회전했을 때 α와 β는 다음과 같이 구한다.
이때 Rm, Ds는 platform 설계 시 정해지는 값이고, l은 모터가 회전함에 따른 virtual leg(L)의 길이로
Jbi와 Jpi의 좌표를 통해 구할 수 있다. 여기서 Jpi의 좌표는 정사영 된 Jpi의 좌표에 대한 회전행렬(R)과
병진 벡터(ξ)를 통해 표현할 수 있으므로 l은 다음과 같이 정리할 수 있다.
R은 SO(3)행렬로, pitch-roll-yaw(ψ, θ, ϕ) 또는 Rodrigues’ rotation formula로
표현된다. 이때 n와 δ, N는 각각 회전축 상의 단위벡터, 회전각, skew-symmetric 행렬을 의미한다(8).
여기서 rij와 δ, n은 다음의 관계를 가진다.
3 자유도 Stewart platform에서 Jpi는 각각 평면 Π1, Π2, Π3 상에 존재해야
하므로 R과 ξ는 임의로 선택할 수 없고 제약 조건(constraint equation)을 만족해야 하며 다음과 같이 정리된다(24). 여기서 xG와 yG, zG는 base frame 기준으로 한 plate frame의 origin의 좌표이다. zG는
사용자가 정하는 값으로, base frame으로부터 plate flame까지의 수직 거리(height)에 해당한다.
sδ≠0이라면 식 (6), (7)에 의해 ϕ는 ψ와 θ의 종속 변수임을 알 수 있다.
따라서 식 (5), (6)을 ψ와 θ로 나타낼 수 있다.
제약 조건을 통해 ψ=θ=0인 경우에만 xG=yG=0이 성립하고 나머지 경우에는 0이 아닌 값을 가질 수 있음을
알 수 있다. 즉 plate frame의 origin은 고정되어 있지 않고, plate가 회전함에 따라 다음과 같이 이동한다.
이로 인해 plate frame의 pitch, roll은 R에서 정의한 ψ, θ와 다를 수 있으므로 plate frame의
pitch(ˉψ), roll(ˉθ)을 새롭게 정의해야 한다. Plate frame의 z축 벡터는 base
frame의 z축 벡터에 R을 곱하여 표현할 수 있다. 또한 plate frame의 z축 벡터는 plate에 수직이므로 다음과 같은 평면의
방정식으로 나타낼 수 있으며 Jpi는 이 평면 위에 있다.
식 (11), (12)을 통해 ˉψ와 ˉθ는 다음과 같이 유도된다.
이를 통해 ψ는 ˉψ과 같지만, θ는 ˉθ와 ψ의 종속 변수임을 알 수 있다.
따라서 새롭게 정의된 ˉψ와 ˉθ을 사용하여 기구학을 유도해야 한다. 결론적으로 base 층의 모터의 회전각은
Jbi, Jpi와 관련 있으며 Jbi는 고정 파라미터이고 Jpi는 R과 ξ을 통해 알 수 있다.
이는 plate frame의 zG와 ˉψ, ˉθ에 의해 결정된다.
그림. 5. 터치패널 다이어그램 (a) x, y축, (b) 터치가 있을 때 z축, (c) 터치가 없을 때 z축
Fig. 5. Concept diagram of the touch panel (a) the x, y axes, (b) the z axis
with touch, (c) the zaxis without touch
그림. 6. 인터페이스 보드
Fig. 6. Interface board
그림. 7. 데이터 처리 개념도
Fig. 7. Concept diagram for data processing
2.3 센서부 및 인터페이스 보드
Ball and plate 시스템을 구현하기 위해서는 ball의 위치를 측정하고 사용 가능한 데이터로 가공하여 LW-RCP에 전달하는 과정이 요구된다.
Ball의 위치를 측정하기 위해 10.2인치 크기의 터치패널과 ADS7846E 터치패널 컨트롤러를 사용한다. 이 컨트롤러는 터치패널의 x, y,
z축에 대한 전압 데이터를 측정하여 SPI(Serial Peripheral Interface) 통신을 통해 MCU(Microcontroller
Unit)로 송신한다. x, y는 각각 x, y축 위치에 대한 정보를, z는 터치패널의 접촉 여부에 대한 정보를 의미하며 그림 5과 같이 VCC와 GND의 연결을 변경하여 측정한다. MCU는 측정 데이터를 사용 가능한 데이터로 가공하여 LW-RCP에 전달한다.
Control 층에 부착한 인터페이스 보드(그림 6)는 LW-RCP와 platform 간의 연계 역할을 한다. 이 보드는 센서 측정과 모터 구동을 위한 데이터를 처리하고 송수신하기 위한 것으로 모터
드라이버와 터치패널 컨트롤러, STM32F407VE (메인 보드)가 장치되어 있다. Platform과 인터페이스 보드, LW-RCP 간의 전반적인
데이터 처리 및 송수신 과정은 그림 7과 같다. LW-RCP는 SPI 통신을 지원하지 않기 때문에 터치패널의 데이터를 직접적으로 처리하지 못한다. 따라서 측정된 ball의 위치 데이터는
인터페이스 보드에 장치된 메인 보드에서 측정하고 LW-RCP로 전송한다. Ball의 위치에 대한 데이터는 터치패널의 아날로그 전압이며 컨트롤러로부터
SPI 통신을 통해 메인 보드가 수신한다. 이를 PWM(Pulse Width Modulation) 신호로 변환하여 LW-RCP로 송신한다. 모터 구동에
필요한 PWM 데이터는 인터페이스 보드의 모터 드라이버에 전달해 모터에 전압을 인가한다. 엔코더 데이터는 인터페이스 보드를 거쳐 LW-RCP로 전달된다.