DOI QR코드

DOI QR Code

Kinematic Calibration of Delta Parallel Robot Using Laser Tracker

레이저 트래커를 이용한 Delta 병렬로봇의 기구학적 보정

  • Jeong, Sung-Hun (Dept. of Mechanical Convergence Engineering, Kyungnam University) ;
  • Choi, Jun-Woo (Dept. of Mechanical Convergence Engineering, Kyungnam University) ;
  • Kim, Han-Sung (Dept. of Mechanical Engineering, Kyungnam University)
  • 정성훈 (경남대학교 기계융합공학과) ;
  • 최준우 (경남대학교 기계융합공학과) ;
  • 김한성 (경남대학교 기계공학부)
  • Received : 2021.11.16
  • Accepted : 2021.12.01
  • Published : 2021.12.31

Abstract

In this paper, the simplified kinematic error model for Delta parallel robot is presented, which can enable the analytical forward kinematics essentially for kinematic calibration calculations instead of the numerical one. The simplified kinematic error model is proposed and the forward kinematics including the error parameters is analytically derived. The kinematic calibration algorithm of the Delta parallel robot with 90 degree arrangement using laser tracker and the experiment result are presented.

Keywords

1. 서론

Delta형 병렬로봇[1-4]은 구동부가 고정부에 위치하고 이동부의 관성을 크게 감소시킬 수 있어 고속, 고가속 운동 및 우수한 동적특성 등의 장점을 가진다. 이러한 장점으로 Delta 병렬로봇은 고속 조립, 포장, 분류, 정밀 위치 등의 작업에 많이 사용되고 있다.

최근 로봇은 오프라인 경로계획, 비전서보 등으로 제어되므로 반복정밀도뿐만 아니라 보다 높은 위치정확도가 요구된다. 직렬로봇은 구동조인트만을 포함하나, 병렬로봇은 다수의 직렬체인으로 구성되고 구동조인트뿐만 아니라 다수의 수동조인트를 포함하고 있어 직렬로봇과 비교하여 상당히 많은 링크와 조인트로 구성된다. Delta형 병렬로봇의 오차모델은 직렬로봇과 비교하여 제한된 연구결과가 제시되었다. 이 중, Vischer등[5]은 모든 가능한 오차를 포함한 오차모델과 이상적인 평행사변형을 갖는 간략화된 오차모델을 제시하였다. Li등[6]은 실제 평행사변형 변형을 포함하는 오차모델을 제시하였다. 병렬기구의 오차모델은 직렬기구의 오차모델과 비교하여 상당히 많은 기구학적 오차변수를 포함하고, 직렬로봇의 경우는 해석적인 정기구학 해가 존재하나, 병렬로봇의 경우는 일반적으로 해석적 정기구학 해가 존재하지 않는다.

본 논문에서는 엔드이펙터 위치오차와의 연관성이 높은 주요한 오차를 포함하여 해석적 정기구학 해석이 가능한 기구학적 오차모델을 제시하고자 한다. 레이저 트래커를 이용한 기구학적 보정을 제시하고 컨베이어 벨트 횡방향의 가속성능을 향상시키기 위하여 Fig. 1과 같이 다리를 90˚ 로 배치한 Delta 병렬로봇[7]에 대한 기구학적 실험결과를 제시한다.

SOOOB6_2021_v24n6_2_947_f0001.png 이미지

Fig. 1 Configuration of 3-DOF Delta parallel robot

2. 기구학적 오차모델링

제안하는 Delta 병렬로봇은 컨베이어 벨트 횡방향(y축)의 가속성능을 향상시키기 위하여 Fig. 1과 Fig. 2(a)와 같이 다리를 90˚ 로 배치하였다. Fig. 2(a)와 같이 3개 회전구동기 축의 중심에 고정좌표계(O-xyz), 이동플랫폼 중심에 이동좌표계(P-uvw), 그리고 각 다리마다 지역좌표계(Ai-xiyizi)를 정의하였다. 기준 기구학적 모델을 표현하기 위하여 지역 좌표계에서 표현된 i번째 다리의 벡터루프 방정식(vector-loop equation)은 다음과 같다.

\(\begin{align}\begin{aligned} &\bar{l}_{1 i}\left[\begin{array}{c} c \bar{\theta}_{1 i} \\ 0 \\ s \bar{\theta}_{1 i} \end{array}\right]+\bar{l}_{2 i}\left[\begin{array}{c} s \theta_{3 i} c\left(\bar{\theta}_{1 i}+\theta_{2 i}\right) \\ c \theta_{3 i} \\ s \theta_{3 i} s\left(\bar{\theta}_{1 i}+\theta_{2 i}\right) \end{array}\right] \\ &=\left[\begin{array}{ccc} c \phi_{i} & s \phi_{i} & 0\\ -s \phi_{i} & c \phi_{i} & 0\\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{l} p_{x} \\ p_{y} \\ p_{z} \end{array}\right]+\left[\begin{array}{c} \bar{b}_{i}-\bar{a}_{i} \\ 0 \\ 0 \end{array}\right] \end{aligned}\end{align}\)       (1)

여기서, \(\begin{align}\phi_{1}=\pi / 2, \phi_{2}=\pi, \phi_{3}=-\pi / 2\end{align}\) 이다(Fig. 2(a) 참조).

SOOOB6_2021_v24n6_2_947_f0002.png 이미지

Fig. 2 Nominal kinematic model

Vischer 등에 의해 제안된 Delta형 병렬로봇의 기구학적 오차 모델링[5]은 가능한 모든 오차를 포함하나 모든 오차요소를 포함하는 경우에는 기구학적 보정(calibration) 및 보상(compensation)에 필요한 정기구학 및 역기구학의 해석적 해가 존재하지 않아 수치적 해석방법을 사용해야 한다. 특히, 병렬로봇의 정기구학은 다수의 해를 포함하므로 수치적 해석방법을 사용하는 경우에는 다수의 해를 구별하기 어려운 문제점이 있다. 본 논문에서는 엔드이펙터 위치오차와의 연관성이 높은 주요한 오차변수만을 오차모델에 포함하여 해석적 정기구학 및 역기구학 해석이 가능한 오차모델을 제시하고자 한다.

SOOOB6_2021_v24n6_2_947_f0003.png 이미지

Fig. 3 Error modeling of Delta parallel robot

해석적 기구학 해석을 위한 단순화된 오차모델을 Fig. 1에 나타내었다. 여기서, 오차요소는 고정 플랫폼 상의 회전조인트 위치오차벡터(Δai), 회전조인트 축의 방향벡터 오차(Δγi, Δαi), 구동조인트 오프셋 오차(Δθ1i), 구동링크 길이오차(Δl1i), 연결링크 길이오차(Δl2i), 이동플랫폼 상의 구형조인트 위치오차벡터(Δbi)가 있고 기구학적 오차벡터로 다음과 같이 나타낼 수 있다.

\(\begin{align}\boldsymbol{\beta}=\left[\Delta \boldsymbol{a}_{i}^{T}, \Delta \gamma_{i}, \Delta \alpha_{i}, \Delta \theta_{1 i}, \Delta l_{1 i}, \Delta l_{2 i}, \Delta \boldsymbol{b}_{i}^{T}\right]\end{align}\)       (2)

또한, 해석적 기구학 해석을 위하여 평행사변형 기구를 구성하는 2개의 연결링크의 길이오차가 동일하다는 가정을 사용하였다.

식 (2)의 오차요소에서 회전조인트 축의 방향벡터 오차(Δγi, Δαi)가 다른 오차와 비교하여 작다고 가정한다면 기구학적 오차벡터를 다음과 같이 더욱 간략화할 수 있다.

\(\begin{align}\boldsymbol{\beta}^{\prime}=\left[\Delta \boldsymbol{a}_{i}{ }^{T}, \Delta \theta_{1 i}, \Delta l_{1 i}, \Delta l_{2 i}, \Delta \boldsymbol{b}_{i}{ }^{T}\right]\end{align}\)       (3)

비 기구학적 오차의 요인인 기어의 백래쉬, 기어의 히스테리시스, 제어기의 오차 등은 기구학적 오차와 비교하여 작다고 가정하고 식 (3)의 단순화된 기구학적 오차벡터를 포함하는 병렬기구의 벡터루프 방정식을 다음과 같이 나타낼 수 있다.

\(\begin{align}\begin{aligned} &\left(\bar{l}_{2}+\Delta l_{2 i}\right)\left[\begin{array}{c} s \theta_{3 i} c\left(\bar{\theta}_{1 i}+\theta_{2 i}\right) \\ c \theta_{3 i} \\ s \theta_{3 i} s\left(\bar{\theta}_{1 i}+\theta_{2 i}\right) \end{array}\right] \\ &=\left[\begin{array}{cc} c \phi_{i} & s \phi_{i} &0 \\ -s \phi_{i} & c \phi_{i} &0 \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{l} p_{x} \\ p_{y} \\ p_{z} \end{array}\right]+\left[\begin{array}{l} d_{x i} \\ d_{y i} \\ d_{z i} \end{array}\right] \end{aligned}\end{align}\)       (4)

여기서,

\(\begin{align}\begin{aligned} d_{x i}=&-\left(\bar{l}_{1}+\Delta l_{1 i}\right) c\left(\bar{\theta}_{1 i}+\Delta \theta_{1 i}\right) \\ &-\left(\bar{a}+\Delta a_{x i}\right)+\left(\bar{b}+\Delta b_{x i}\right) \\ d_{y i}=&-\Delta a_{y i}+\Delta b_{y i} \\ d_{z i}=&-\left(\bar{l}_{1}+\Delta l_{1 i}\right) s\left(\bar{\theta}_{1 i}+\Delta \theta_{1 i}\right) \\ &-\Delta a_{z i}+\Delta b_{z i} \\ \bar{l}_{1} \equiv \bar{l}_{11}=& \bar{l}_{12}=\bar{l}_{13}, \bar{l}_{2} \equiv \bar{l}_{21}=\bar{l}_{22}=\bar{l}_{23} \end{aligned}\end{align}\)       (5)

식 (4)의 양변을 제곱하여 합치면 식 (6)과 같이 표현할 수 있다.

\(\begin{align}\begin{aligned} &\left(\bar{l}_{2}+\Delta l_{2 i}\right)^{2}=p_{x}^{2}+p_{y}^{2}+p_{z}^{2} \\ &+d_{x i}^{2}+d_{y i}^{2}+d_{z i}^{2}+2\left(p_{x} c \phi_{i}+p_{y} s \phi_{i}\right) d_{x i} \\ &+2\left(-p_{x} s \phi_{i}+p_{y} c \phi_{i}\right) d_{y i}+2 p_{z} d_{z i} \\ &\text { for } i=1,2,3 \end{aligned}\end{align}\)       (6)

정기구학 해석을 위하여 위 식을 px, py, pz에 대하여 정리하면 다음과 같다.

\(\begin{align}\begin{aligned} &2\left(c \phi_{i} d_{x i}-s \phi_{i} d_{y i}\right) p_{x}+2\left(s \phi_{i} d_{x i}+c \phi_{i} d_{y i}\right) p_{y} \\ &+2 d_{z i} p_{z}+p_{x}^{2}+p_{y}^{2}+p_{z}^{2}+d_{x i}^{2}+d_{y i}{ }^{2}+d_{z i}{ }^{2} \\ &-\left(\bar{l}_{2}+\Delta l_{2 i}\right)^{2}=0 \text { for } i=1,2,3 \end{aligned}\end{align}\)       (7)

식 (7)의 첨자 i를 (i = 1) - (i = j)와 같이 적용하여 식 (8)을 구하면 px2, py2, pz2항을 소거할 수 있다.

\(\begin{align}\begin{aligned} &e_{1 j} p_{x}+e_{2 j} p_{y}+e_{3 j} p_{z}+e_{4 j}=0 \text { for } j=2,3 \\ &e_{1 j}=2\left(c \phi_{1} d_{x 1}-s \phi_{1} d_{y 1}\right)-2\left(c \phi_{j} d_{x j}-s \phi_{j} d_{y j}\right) \\ &e_{2 j}=2\left(s \phi_{1} d_{x 1}+c \phi_{1} d_{y 1}\right)-2\left(s \phi_{j} d_{x j}+c \phi_{j} d_{y j}\right) \\ &e_{3 j}=2\left(d_{z 1}-d_{z j}\right) \\ &e_{4 j}=\left\{d_{x 1}^{2}+d_{y 1}^{2}+d_{z 1}^{2}-\left(\bar{l}_{2}+\Delta l_{21}\right)^{2}\right\} \\ &-\left\{d_{x j}^{2}+d_{y j}^{2}+d_{z j}^{2}-\left(\bar{l}_{2}+\Delta l_{2 j}\right)^{2}\right\} \end{aligned}\end{align}\)       (8)

식 (8)을 px, py에 대하여 풀이하면 pz에 대한 수식을 만들 수 있다.

\(\begin{align}\begin{aligned} {\left[\begin{array}{c} p_{x} \\ p_{y} \end{array}\right] } &=\frac{1}{q_{2}}\left[\begin{array}{l} q_{0} p_{z}+q_{3} \\ q_{1} p_{z}+q_{4} \end{array}\right] \\ q_{0} &=e_{22} e_{33}-e_{23} e_{32} \\ q_{1} &=e_{13} e_{32}-e_{12} e_{33} \\ q_{2} &=e_{12} e_{23}-e_{22} e_{13} \\ q_{3} &=e_{22} e_{43}-e_{23} e_{42} \\ q_{4} &=e_{13} e_{42}-e_{12} e_{43} \end{aligned}\end{align}\)       (9)

사용하지 않은 식 (7)(i = 1)을 다시 표현하면 다음과 같다.

\(\begin{align}\begin{aligned} &p_{x}^{2}+p_{y}^{2}+p_{z}^{2}+q_{5} p_{x}+q_{6} p_{y}+q_{7} p_{z}+q_{8}=0 \\ &q_{5} \equiv 2\left(c \phi_{1} d_{x 1}-s \phi_{1} d_{y 1}\right) \\ &q_{6} \equiv 2\left(s \phi_{1} d_{x 1}+c \phi_{1} d_{y 1}\right) \\ &q_{7} \equiv 2 d_{z 1} \\ &q_{8} \equiv d_{x 1}^{2}+d_{y 1}^{2}+d_{z 1}^{2}-\left(\bar{l}_{2}+\Delta l_{21}\right)^{2}=0 \end{aligned}\end{align}\)       (10)

식 (9)에서 pz로 표현된 px, py를 식 (10)에 대입하면 pz에 대한 2차식을 얻을 수 있다.

\(\begin{align}\begin{aligned} &k_{0} p_{z}{ }^{2}+k_{1} p_{z}+k_{2}=0 \\ &k_{0}=1+\frac{q_{0}{ }^{2}}{q_{2}{ }^{2}}+\frac{q_{1}{ }^{2}}{q_{2}{ }^{2}} \\ &k_{1}=\frac{2 q_{0} q_{3}}{q_{2}{ }^{2}}+\frac{2 q_{1} q_{4}}{q_{2}{ }^{2}}+\frac{q_{0} q_{5}}{q_{2}}+\frac{q_{1} q_{6}}{q_{2}}+q_{7} \\ &k_{2}=\frac{q_{3}{ }^{2}}{q_{2}{ }^{2}}+\frac{q_{4}{ }^{2}}{q_{2}{ }^{2}}+\frac{q_{3} q_{5}}{q_{2}}+\frac{q_{4} q_{6}}{q_{2}}+q_{8} \end{aligned}\end{align}\)       (11)

위 식으로 pz를 구하고 px, py는 식 (9)로부터 구할 수 있다.

3. 기구학 보정 실험

Fig. 4는 Delta 병렬로봇, Laser tracker, 반사경을 나타내고 수식 유도를 위하여 좌표계들을 정의한다. {A}, {B}는 각각 병렬로봇의 고정 및 이동좌표계를 나타내고, {T}는 레이저 트래커의 기준좌표계, {M}는 반사경의 좌표계를 나타낸다.

SOOOB6_2021_v24n6_2_947_f0004.png 이미지

Fig. 4 Frame definitions for calibration

레이저 트래커의 좌표를 병렬로봇의 고정좌표계로 변환하기 위해서는 식 (12)와 같은 동차변환이 필요하다. 식 (12)를 행렬의 원소로 표현하면 식 (13)과 같다.

\(\begin{align}{ }^{A} T_{T}{ }^{T} T_{M}={ }^{A} T_{B}{ }^{B} T_{M}\end{align}\)       (12)

\(\begin{align}\left[\begin{array}{ccc} & & &x_{T} \\ & { }^{A} R_{T} & &y_{T} \\ & & & z_{T} \\ 0 & 0 & 0 & 1 \end{array}\right] \left[\begin{array}{c} *&*&* &x_{M} \\ *&*&* &y_{M} \\ *&*&*&z_{M} \\ 0&0&0&1 \end{array}\right] =\left[\begin{array}{c} &&& x_{P}\\ & I_{3\times 3}&& y_{P} \\&&& z_{P}-h_{M} \\ 0&0&0&1 \end{array}\right]\end{align}\)       (13)

측정점 번호\(\begin{align}(j=1, \cdots, m)\end{align}\) 기준으로 Laser tracker 측정 위치벡터와 엔드이펙터의 계산 위치 벡터를 표현하면 다음과 같고, ATT를 계산하기 위해서는 최소 4개 이상의 측정점이 필요함을 알 수 있다.

\(\begin{align}\left[\begin{array}{ccc} & & &x_{T} \\ & { }^{A} R_{T} & &y_{T} \\ & & & z_{T} \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{c} x_{M}^{j} \\ y_{M}^{j} \\ z_{M}^{j} \\ 1 \end{array}\right]=\left[\begin{array}{c} x_{P}^{j} \\ y_{P}^{j} \\ z_{P}^{j}-h_{M} \\ 1 \end{array}\right] \text { for } j= 1, \cdots , m\end{align}\) (14)

기구학적 보정을 위하여 직육면체 형태의 m = 27개 격자점에서 (Δx = Δy = 150 mm, Δz = 40 mm) 이 동플랫폼의 위치(\(\begin{align}\boldsymbol{p}_{j}^{m}(j=1, \cdots, m)\end{align}\))를 레이저 트래커로 측정하였다(Fig. 5 참조). \(\begin{align}\boldsymbol{p}_{j}^{c}\left(\boldsymbol{\beta}^{\prime}\right)\end{align}\)는 추정된 오차벡터에 대한 해석적 정기구학 식으로 계산된 P점의 위치벡터이다. 기구학적 오차벡터 추정 알고리즘은 다음과 같은 구속최적화방법을 사용하였다.

\(\min \sum_{j=1}^{m}\left\|\boldsymbol{p}_{j}^{m}-\boldsymbol{p}_{j}^{c}\left(\boldsymbol{\beta}^{\prime}\right)\right\|\)       (15)

SOOOB6_2021_v24n6_2_947_f0005.png 이미지

Fig. 5 Calibration experiment using laser tracker

기구학적 보정의 유효성을 검증하기 위하여 기구학적 보정 전과 보정 후 인근 측정점 사이의 거리비율(=정기구학 계산거리/레이저 트래커 측정거리×100%)을 Fig. 6과 같이 나타내었다. 보정 후 거리비율(실선)은 보정 전 거리비율(점선)과 비교하여 진폭은 대략 20% 감소하였고, 100%를 기준으로 양쪽으로 균등하게 분포함을 알 수 있다.

SOOOB6_2021_v24n6_2_947_f0006.png 이미지

Fig. 6 Calibration experiment result

감사의 글

본 논문은 산업통상자원부 및 산업기술평가관리원(KEIT) 연구비 지원(No. 20004636, 확장작업공간 구현을 위한 부가 직선축을 가진 보급형 고속병렬로봇 시스템 개발)을 통해 개발된 성과이고 이에 관계자 여러분들께 감사드립니다.

References

  1. R. Clavel, "Delta, a Fast Robot With Parallel Geometry," 18th International Symposium on Industrial Robots (ISIR), Sydney, Australia, pp. 91-100, (1988).
  2. R. E. Stamper, "A Three Degree of Freedom Parallel Manipulator with Only Translational Degree Freedom," Ph. D. Thesis, University of Maryland, (1997).
  3. F. Pierrot, V. Nabat, S. Krut, and P. Poignet, "Optimal Design of a 4-DOF Parallel Manipulator: From Academia to Industry," IEEE Trans. Rob., 25(2), pp. 213-224, (2009). https://doi.org/10.1109/tro.2008.2011412
  4. S. H. Jeong, G . Kim, G. M. Gwak, and H. S. Kim, " Development of a Novel 3-DOF Hybrid Robot with Enlarged Workspace," J. of The Korean Society of Industry Convergence, vol. 23, no. 5, pp. 875-880, (2020). https://doi.org/10.21289/KSIC.2020.23.5.875
  5. P. Vischer, R. Clavel, "Kinematic calibration of the parallel Delta robot," Robotica, vol. 16, pp. 207-218, (1998). https://doi.org/10.1017/s0263574798000538
  6. Y. Li, D. Shang, and Y. Liu, "Kinematic Modeling and Error Analysis of Delta Robot Considering Parallelism Error," Int. J. of Advanced Robotic Systems, pp. 1-9, (2019).
  7. H. S. Kim, "Design of a Novel 4-DOF High-Speed Parallel Robot," Int. J. Mech. Eng. Rob. Res, vol. 7, no. 5, pp. 500-506, (2018).