Korean Institute of Information Technology
[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 16, No. 8, pp.35-44
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Aug 2018
Received 13 Jul 2018 Revised 31 Jul 2018 Accepted 03 Aug 2018
DOI: https://doi.org/10.14801/jkiit.2018.16.8.35

단안 카메라 기반 3차원 물체 인식 기법 및 6축 머니퓰레이터 경로계획을 이용한 탁구 로봇의 구현

윤재성* ; 곽창희* ; 김영현* ; 김원호** ; 옥승호***
*동의대학교 메카트로닉스공학과
**동의대학교 로봇·자동화공학전공 교수
***동의대학교 로봇·자동화공학전공 조교수
Implementation of a Table Tennis Robot Using Monocular Camera-based 3D Object Recognition Method and Path Planning for 6-Axis Manipulator
Yoon Yoon* ; Chang-Hee Kwak* ; Young-Hyeon Kim* ; Won-Ho Kim** ; Seung-Ho Ok***

Correspondence to: Seung-Ho Ok Dept. of Robot·Automation Engineering, Dong-eui University, Pusan, Korea. Tel.: +82-51-890-2265, Email: osh@deu.ac.kr

초록

본 논문에서는 탁구 로봇을 위한 6축 머니퓰레이터의 경로계획 기법 및 단안 카메라를 사용하여 3차원 공간상 탁구공의 위치 좌표를 검출하는 기법을 제안한다. 머니퓰레이터의 경로계획에서는 기구학적 해석과 최소 관절 변화량 탐색을 이용해 경로를 계획한다. 탁구 로봇에 사용된 두 대의 단안 카메라 중 한 대는 3차원 공간상의 탁구공 위치 좌표를 검출하고, 다른 한 대는 탁구공 속도 및 궤적을 추적하여 탁구공의 타격지점을 예측한다. 본 논문에서 제안하는 탁구 로봇의 타격률 측정을 위해 탁구공의 위치 좌표 보정 기법이 적용되지 않은 기존 모델과 본 논문에서 제안하는 기법이 적용된 모델을 비교 평가하였다. 성능평가 결과, 기존 모델의 타격률 10% 대비 제안된 보정 시스템이 적용된 탁구 로봇은 50%의 타격률로 증가된 것을 확인할 수 있었다.

Abstract

In this paper, we propose a path planning method of a 6-axis manipulator and a monocular camera-based detecting method of a ball coordinate in 3D space for a table tennis robot. In the path planning, we plan the path by using kinematic analysis and searching minimal joint change. One of two monocular cameras detects the coordinate of the ball and the other estimates hit point by tracking the ball speed and trajectory. In order to measure hit rate of the proposed table tennis robot, we compared the existing model without ball position coordinate calibration system to the proposed model. As a result of the performance evaluation, hit rate of the table tennis robot with the proposed ball position coordinate calibration system is increased to 50% hit rate from the 10% hit rate of the existing model.

Keywords:

table tennis robot, monocular camera, path planning, kinematics, image processing, linear regression analysis

Ⅰ. 서 론

탁구 로봇의 종류에는 탁구공을 발사하는 로봇과 영상처리 및 모션 제어(Motion Control)를 이용하여 탁구공을 타격하는 로봇이 있다. 본 논문에서는 탁구공을 인식하여 타격하는 다관절 탁구 로봇을 구현하였으며, 머니퓰레이터(Manipulator)의 최소 관절 변화량 탐색 기반 경로계획(Path Planning) 기법과 단안 카메라(Monocular Camera) 기반 3차원 공간상의 탁구공 위치 좌표 검출 기법을 제안한다.

탁구공 타격 로봇 연구에서는 3차원 공간상의 탁구공 위치를 인식하기 위한 영상 처리 기법이 중요하다. 이를 위한 영상 처리 기법으로는 스테레오 카메라(Stereo Camera) 또는 양안 카메라(Binocular Camera) 등을 사용한 기법들이 있다[1]-[5]. [2]의 경우 카메라 두 대를 사용하여 3차원 공간상 탁구공의 위치를 인식하기 위한 비전 시스템을 구축하였으며, [3]의 경우에는 VC4458 카메라 두 대 및 Prosilica GC660C 카메라 한 대를 사용하여 비전 시스템을 구축하였다. [4][5]에는 Quick MAG System 3 카메라 두 대를 사용하여 스테레오 비전 시스템을 구축하였다. 이러한 기존 연구들에서는 3차원 공간상 탁구공의 위치를 인식하기 위해 두 대 이상의 스테레오 카메라 또는 양안 카메라를 사용하여 탁구 로봇을 구현하였다. 본 논문에서는 한 대의 단안 카메라를 기반으로 하여 3차원 공간상의 탁구공 위치 좌표를 인식할 수 있는 기법을 제안한다.

본 논문에서는 한 대의 단안 카메라만을 이용하여 3차원 공간상의 탁구공 위치 좌표를 검출하고, 다른 한 대의 단안 카메라를 사용하여 탁구공 속도 및 궤적을 추적함으로써 탁구공의 타격 지점을 예측하는 기법을 제안한다. 본 논문의 2장에서는 탁구 로봇의 구동 환경을 설명하고 다관절 로봇의 타격 모션을 정하기 위해 기구학적 해석을 통한 최단거리 탐색 기반 경로계획 기법을 제안한다. 3장에서는 카메라의 화각을 고려한 카메라 최소 설치 높이를 설정하고, 탁구공의 정확한 위치 인식을 위해 탁구공의 잔상 및 위치 좌표를 보정하는 기법을 제안한다. 그리고 4장에서는 타격률 비교 실험을 하여 결과에 대해 분석을 하고, 5장에서는 본 논문의 결론과 향후 연구과제에 대해 논한다.


Ⅱ. 탁구 로봇의 구동 환경과 경로계획

본 장에서는 단안 카메라를 사용한 탁구 로봇의 구동 환경에 대해 설명하고 다관절 로봇의 기구학적 해석을 통해 탁구 로봇 머니퓰레이터의 경로계획 기법을 제안한다.

2.1 탁구 로봇의 구동 환경

탁구 로봇의 구동 환경 요소는 그림 1과 같이 탁구대, 탁구공 타격을 위한 6축 다관절 로봇, 탁구공을 인식하기 위한 두 대의 단안 카메라, 그리고 영상처리 및 6축 로봇 구동을 위한 PC로 구성되어 있다. 그림 1에 나타낸 탁구대 상단에 설치된 단안 카메라(CAM1)는 탁구공의 좌표(x,y,z)를 검출하는데 사용되고, 탁구대 측면에 설치된 단안 카메라(CAM2)는 탁구공의 속도를 추적하는데 사용된다. PC는 CAM1과 CAM2의 영상을 수집하여 처리하고 머니퓰레이터에 구동 신호를 보낸다. 그리고 다관절 로봇의 말단장치(End-effector) 부분에는 탁구채를 고정하여 탁구 로봇의 구동 환경을 조성하였다.

Fig. 1.

Environment for the table tennis robot

2.2 탁구 로봇의 기구학적 해석

그림 2는 탁구 로봇으로 사용된 삼성 AS2 로봇(Samsung FARAMAN AS2 Robot)의 관절과 링크의 구성을 나타내며, 그림 3은 삼성 AS2 로봇의 정기구학(Forward Kinematic) 모델링을 위한 직각좌표계와 D-H(Denavit-Hartenberg) 변환 파라미터(Parameter)를 나타낸다[6].

Fig. 2.

Joints and links of Samsung AS2 robots

Fig. 3.

Coordinate frame system of the Samsung FARAMAN AS2 robot and D-H parameters

그림 4는 역기구학(Inverse Kinematics)을 해석하기 위해 기구학적 분리(Kinematics Decoupling)기법을 사용하여 다관절 로봇을 몸통 부분과 손목 부분으로 분리한 것을 나타낸다[6].

Fig. 4.

Body part and wrist part through kinematic decoupling

그림 5는 3차원 공간인 xyz 좌표계에서 몸통 부분의 관절(Joint) 및 링크(Link)를 나타낸다. 몸통 부분의 끝 좌표(x3,y3,z3)가 주어지면 역기구학을 사용하여 관절 a1~a3에 대한 θ1,θ2,θ3값들의 해는 식 (1)~(3)에 의해 결정된다[6].

θ1=tan-1y3x3(1) 
R=x32+y32-a1,D=R2+z3-d12β=tan-1z3-d1R,cosα=d22+D2-a32+a422a2Dsinα=±1-coaα2,α=tan-1sinαcosαθ2=α+β(2) 
φ=tan-1d4a3,cosψ=a22+a32+a42-D22a2a32+d42sinψ=±1-cosψ2,ψ=tan-1sinψcosψθ3=180°-φ-ψ(3) 
Fig. 5.

Diagram for joint a1 to a3 of body point

탁구공 타격을 위한 말단장치의 역기구학 해석 과정에서 손목 부분의 관절 a4~a6θ4,θ5,θ6값들에 대한 무수히 많은 해가 존재한다. 본 논문에서는 이러한 문제점을 해결하기 위해 탁구공 타격이 이루어지는 평면을 타격 평면(Hit Point Plane)으로 정의하였다. 타격 평면은 그림 6과 같이 yz 평면이 X축 방향으로 일정한 거리(K) 간격에 위치한 평면으로 정의된다. 탁구 로봇이 탁구공 타격 시 몸통 부분의 끝 좌표(x3,y3,z3)와 말단장치의 좌표(x6,y6,z6)는 항상 타격 평면상에 위치하도록 하며 θ4값의 해는 식 (4)에 의해 결정되고, θ5,θ6값의 해는 z3z5경우 식 (5)에 의해, z3z6경우 식 (6)에 의해 결정된다.

θ4=π2-tan-1y3-y6z3-z6(4) 
θ5=θ3×cosθ4+θ1×sinθ4+π2,if z3z6θ3×cosθ4+θ1×sinθ4-π2,if z3<z6(5) 
θ6=θ1×cosθ4-θ3×sinθ4, if z3z6θ3×sinθ4-θ1×cosθ4, if z3<z6(6) 
Fig. 6.

Hit point plane with a distance K from the robot

2.3 탁구 로봇의 경로계획

탁구공 타격을 위해 타격 평면상에 두 좌표(x3,y3,z3)와 (x6,y6,z6)를 제약하더라도 평면상에 무수히 많은 해가 존재하게 된다.

이러한 문제를 해결하기 위해 본 논문에서는 탁구 로봇의 최단 경로를 계산하여 각 관절이 최소한의 움직임으로 예측타격지점(Estimated Hit Point)까지 도달할 수 있는 경로계획 기법을 제안한다. 그림 7은 몸통 부분의 끝 좌표(P) 및 말단장치의 좌표(E) 위치, 그리고 좌표 P와 좌표 E 사이의 거리 간격(J)를 나타낸다. 그림 8(a)는 탁구공의 예측 궤적 및 탁구공이 타격 평면상에 위치할 예측타격지점(H)를 나타내며, 좌표 E가 H에 도달함으로써 로봇이 탁구공 타격 자세를 갖추게 된다. 좌표 E가 H에 도달한 이후의 그림 8(b)에서는 원 중심이 좌표 E가 되고 반지름 길이가 J인 원을 타격 평면상에 나타내며, 이 원의 둘레는 좌표 P가 위치할 수 있는 무수히 많은 해를 나타낸다.

Fig. 7.

Position of coordinate P and E, interval J of them

Fig. 8.

Estimated hit point H and circle configured with P

본 논문에서는 탁구채인 말단장치가 예측타격지점 H에 위치하기 위한 최소 관절 변화량 탐색 기반 경로계획 기법을 제안한다. 경로계획의 첫 번째 단계로 그림 8과 같이 타격 평면상의 예측타격지점 H에 말단장치의 좌표 E가 위치하여 원의 중심으로 하고 반지름 길이가 J인 원을 구성한다. 두 번째 단계로는 원의 둘레의 모든 해에 대해 2.2절의 역기구학을 통해 모든 관절 θ1,θ2,θ3,θ4,θ5,θ6값의 해를 계산하여 도출한다. 세 번째 단계는 (최적 좌표 P를 지정하기 위해) 현재 상태의 로봇 관절 (θp1,θp2,θp3,θp4,θp5,θp6) 값과 도출된 관절 (θ1,θ2,θ3,θ4,θ5,θ6) 값의 차를 제곱하여 누적한다. 누적된 모든 경우의 값들을 비교하여 가장 최솟값이 되는 지점을 도출하고 이 지점을 좌표 P로 지정한다. 이로써 무수히 많은 해 중 로봇의 모든 관절 변화량이 최소가 되도록 하는 몸통 부분의 끝 좌표 P의 해를 탐색하였다.


Ⅲ. 단안 카메라 기반 탁구공 궤적 추적

본 장에서는 단안 카메라 CAM1과 CAM2의 영상을 처리하여 탁구공의 좌표를 검출하고 타격지점을 예측하는 알고리즘을 제안한다. 상단의 CAM1에서 탁구공의 위치 변화와 탁구공의 크기를 이용해 높이를 계산하고 타격지점의 좌표(x,y,z)를 검출하며 좌측의 CAM2는 탁구공의 속도를 계산하여 타격지점에서 로봇 구동 시점을 결정한다.

3.1 탁구공의 좌표 검출

CAM1은 탁구공의 좌표검출을 위해 탁구대 상단에 설치되며 전체 탁구대의 xy 좌표평면을 촬영한다. 탁구공의 정확한 좌표 검출을 위해서는 카메라의 화각을 고려한 카메라 최소높이를 설정하고 단안 카메라에 의한 탁구공 위치 좌표 오차를 보정하는 기법을 사용한다. 이를 통해 최종적으로 검출된 좌표를 실제 3차원 공간의 좌표로 변환하여 로봇의 구동이 이루어진다.

그림 9(a)와 같이 CAM1의 화면에 탁구대만 나오도록 카메라 높이를 설정하여 촬영할 경우 탁구대 영역 안에서 공이 일정 높이 이상으로 떠오르면 카메라 화각에 의해 인식범위를 벗어나 탁구공이 검출되지 않는 현상이 발생한다. 본 논문에서는 이러한 문제를 해결하기 위해 그림 9(b)와 같이 로봇이 타격 가능한 직육면체 영역을 모두 인식하는 카메라의 최소높이 설정방법을 제안한다.

Fig. 9.

Ball recognition space according to installation height of camera

그림 10은 CAM1의 최소높이 설정에 필요한 로봇팔의 최대 구동 높이(b), 탁구대의 중심에서 대각선 끝점까지 거리(a), 카메라 화각(2θ)을 표현하였고 본 논문에서 제안하는 탁구공의 위치 인식을 위한 카메라의 높이는 식 (7)을 통해 구할 수 있다.

Fig. 10.

Setting the camera minimum height

탁구공의 정확한 좌표를 검출하기 위해 그림 11과 같이 단안 카메라 CAM1이 촬영한 화면에서 탁구공을 관심영역으로 지정하여 이진화를 수행하였으며, 잔상에서 탁구공의 정확한 중심점 검출을 위해 잔상의 중심점에서 상 하 좌우 탐색을 통해 원을 검출하였다.

a=Horizontal length22+Verical length22Minimum camera hight:L=atanθ+b(7) 
Fig. 11.

Binarization and detection for the ball

본 논문에서는 단안 카메라 한 대만을 사용하여 탁구공의 좌표를 검출한다. 좌표를 검출함에 있어서, 그림 12와 같이 카메라를 중심으로 동일한 직선상에 탁구공 A, B가 위치할 경우 탁구공 A, B의 3차원상의 실제 좌표는 다르다. 그림 13(a)의 카메라 영상에서 검출되는 탁구공 A, B의 중심 좌표가 같아지는 현상이 발생한다. 따라서 그림 13(b)와 같이 영상 좌표계에서 인식된 탁구공의 좌표 정보와 탁구공의 크기 정보를 이용하여 실제 좌표계상의 좌표로 변환해 주는 과정이 필요하다. 좌표 변환을 위해서는 탁구공의 크기 정보를 픽셀(Pixel) 기반으로 양자화 하여 도출된 카메라와 탁구공 사이의 거리 값과 영상에서 검출되는 탁구공 중심점 좌표에서 영상화면 중심까지의 거리 값이 필요하며, 이를 이용해 탁구공 실제 좌표를 보정하는 기법을 제안한다.

Fig. 12.

Position of the ball in xy coordinate plane captured by CAM1

Fig. 13.

Difference of actual xy coordinate of the ball according to the ball size

탁구공의 중심좌표를 보정하기 위해 카메라와 탁구공 사이의 실제 거리(H-H')를 측정하여 표본화하고, 표본화 단계에서 사용된 표본의 개수는 로봇팔의 최대 구동 높이를 고려하여 그림 14와 같이 10개로 결정하였다. 이 표본들을 이용하여 단위픽셀마다 변화하는 카메라와 탁구공 간의 거리를 식 (8)의 선형 회귀 분석을 통하여 직선 방정식인 식 (9)와 같이 도출한다[7].

Fig. 14.

Distance between camera and ball according to pixel change

그림 15의 영상화면 중심점에서 탁구공 중심점까지 거리 D는 실제 좌표계 길이로 계산되기 때문에 CAM1이 촬영하는 실제 좌표계의 길이와 화면 해상도 사이의 비율을 이용하여 식 (10)와 같이 계산한다. 위의 값들을 중심점 좌표 보정을 위해 삼각비로 계산하면 영상화면에 나타나는 B좌표와 보정하여 검출할 A'좌표까지의 거리 D'가 계산된다. 이 거리 값을 이용하여 식 (11)(12)와 같이 좌표를 보정하고, 보정된 좌표는 그림 16과 같이 영상 화면에 점으로 표시된다.

Acnmn=B1y1111y2y3yncnmn=y1y2y3ynTranspose matrix ATATA-1ATB=cnmn(8) 
y=mnx+cny=-9.483x+256.45(9) 
D=xB×realx6402+yB×realy4802H=L2+D2,D'=H'×DH,L'=H'×LH(10) 
xA'=1-D'D×xB(11) 
yA'=1-D'D×yB(12) 
Fig. 15.

Searching method for real ball coordinate through ball position coordinate calibration

Fig. 16.

Center of calibrated ball

CAM1 및 CAM2의 영상에서 탁구공의 정확한 위치를 검출한 이후에는 로봇 구동을 위해 그림 17과 같은 3차원 공간상의 실제 좌표로 변환해야 한다. 식 (13)은 CAM1의 영상에서 검출된 좌표 pixel X, pixel Y와 카메라가 촬영하는 영역의 실제 길이 X, Y 사이의 비율을 이용한 좌표변환을 나타낸다. 식 (14)는 CAM2의 영상에서 검출된 좌표pixel X와 실제 길이 X사이의 비율을 이용한 좌표변환을 나타내며, CAM2는 측면 카메라이기 때문에 X축 좌표 정보만 고려한다. 공통적으로 X축의 경우 로봇의 원점을 기준으로 타격 평면을 설정하기 때문에 로봇 원점에서 최초로 카메라에 인식되는 실제 X좌표까지의 거리 A를 합산하여 로봇 구동을 위한 실제 좌표 real X pos, real Y pos로 변환한다.

real X pos=-pixelX×X/640+Areal Y pos=-pixelY×Y/480(13) 
real X pos=pixelX×X/640+A(14) 
Fig. 17.

Real 3D coordinate system for the table tennis robot

3.2 탁구공 타격지점 예측

그림 18은 CAM1의 화면에서 탁구공의 중심점 좌표를 각각의 프레임마다 검출하여 표본화한 것이다. 타격지점의 정확한 Y좌표를 검출하기 위해 식 (8)과 같이 표본들의 거리오차 합(SSE, Error Sum of Squares)이 최소가 되는 선형 회귀 분석을 이용해 그림 19와 같이 검출한 표본들을 탁구공의 궤적에 대한 직선 방정식으로 도출한다[7].

Fig. 18.

Sampling the ball center coordinates in xy coordinates of CAM1

Fig. 19.

Linear regression using center coordinate samples

그림 20과 같이 좌측에 설치된 CAM2는 탁구공의 속도를 추적하여 로봇의 타격 시점을 결정한다. CAM2에서 추적한 탁구공의 속도를 이용하여 식 (15)(16)과 같이 탁구공의 X축 방향 속도 및 수평 이동 거리를 계산하고 타격지점에 도달하는 시점을 예측하여 로봇을 구동한다.

Vx0=V0cosθ ,Vz0=V0sinθ-gt(15) 
x0 pos=v02×sin2θg(16) 
Fig. 20.

Calculation for ball speed and hit point


Ⅳ. 성능 평가 실험 및 분석

4.1 성능 평가 실험방법

본 논문에서는 해상도 640×480, 11fps인 단안 카메라의 영상을 받아 Intel Core i5-6600 CPU 기반 PC의 MFC 환경에서 OpenCV를 사용하여 탁구 로봇을 구현하였다. 탁구로봇의 타격률을 측정하기 위해 탁구공 타격 성공에 대한 요구조건을 정의하였으며 탁구공이 타격지점으로 이동한 후 머니퓰레이터의 말단장치에 부착된 탁구채가 탁구공을 타격한 경우를 ‘타격에 성공하였다’라고 정의한다.

표 1의 Case 1은 카메라 최소 높이를 그림 9(a)와 같이 사각뿔대 영역만을 인식하도록 설치하고 탁구공의 위치 좌표를 보정하지 않은 타격률 실험 결과를 나타내고, Case 2는 카메라 최소 높이를 그림 9(b)와 같이 본 논문에서 제안한 카메라 최소 높이 설정하고 탁구공의 위치 좌표에 대해 보정한 타격률 실험 결과를 나타낸다. 한 세트를 탁구공 10개로 기준을 잡고 각각의 Case마다 10세트를 시행하여 총 100회 탁구공을 던져 표본을 기록하고 타격률을 측정하였다.

4.2 실험 결과 및 분석

타격률 실험을 진행한 결과, 표 1의 Case 1과 같이 탁구공의 위치 좌표 보정 등 보정 시스템이 없는 타격률 실험에서 평균 10%의 타격률을 확인하였고, Case 2와 같이 본 논문에서 제안된 탁구공의 위치 좌표 보정 등 보정 시스템이 있는 타격률 실험에서는 평균 50%의 타격률로 증가된 것을 확인할 수 있었다[8].

Hit rate before and after ball position coordinate calibration system

본 논문에서 제안된 알고리즘들을 적용한 탁구 로봇의 평균 타격률이 50%에 미치는 이유는 카메라 영상처리 시 고속으로 이동하는 물체의 잔상이 영상에 투영되는 문제가 발생하고, 해상도 640×480에서 반지름 20mm인 탁구공 크기를 이용해 카메라와 물체 사이 거리 값을 양자화(Quantization)할 때 픽셀 간의 양자화 단위가 약 9cm로 실제 위치 좌표에 대한 양자화 오차 문제로 분석된다.


V. 결론 및 향후 과제

본 논문에서는 두 대의 단안 카메라를 사용하여 3차원상의 탁구공 위치를 검출하여 이를 타격하는 탁구 로봇을 구현하였다. 탁구 로봇의 경로계획을 위해 최단거리 탐색 기반 경로계획 기법을 사용하였으며, 탁구공 궤적 추적에서는 정확한 탁구공 검출을 위해 카메라 최소 높이를 설정하고 고속이동 물체의 잔상을 중심점에서 상하좌우 방향 탐색을 통해 탁구공을 검출하였다. 그리고 탁구공의 위치 좌표 오차에 대해 카메라와 물체 사이의 양자화 한 거리 데이터를 사용한 보정 기법을 제안하였으며 선형 회귀 분석을 이용하여 탁구공의 예측타격지점을 도출하였다.

실험 결과 본 논문에서 제안한 기법들을 사용할 경우, 적용하지 않은 실험의 타격률 10%보다 적용한 실험의 타격률 50%로 증가된 것을 확인할 수 있었다. 하지만 50%에 미치는 한계는 카메라의 저해상도로 인한 영상의 탁구공의 픽셀 크기의 적은 변화율 때문이라고 예상된다. 본 논문에서 제안하는 단안 카메라 기반 위치 검출 기법은 향후 다양한 위치 인식을 위한 시스템에 적용 가능할 것으로 기대된다. 향후 연구과제에서는 고해상도 영상처리가 가능한 FPGA 및 하드웨어 기반으로 실시간 영상처리 시스템을 구현하여 타격률을 높일 수 있는 연구를 수행할 계획이다.

Acknowledgments

이 성과는 2018년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임 (No.2018R1C1B5043706).

References

  • K. Mülling, J. Kober, and J. Peters, "A biomimetic approach to robot table tennis", Adaptive Behavior, 19(5), p359-376, Oct), (2011.
  • C. Liu, Y. Hayakawa, and A. Nakashima, "Racket Control for a Table Tennis Robot to Return a Ball", SICE Journal of Control, Measurement, and System Integration, 6(4), p259-266, Jul), (2013. [https://doi.org/10.9746/jcmsi.6.259]
  • K. Zhang, Z. Cao, J. Liu, Z. Fang, and M. Tan, "Real-Time Visual Measurement With Opponent Hitting Behavior for Table Tennis Robot", IEEE Transactions on Instrumentation and Measurement, 67(4), p811-820, Apr), (2018. [https://doi.org/10.1109/tim.2017.2789139]
  • Z. Zhang, D. Xu, and M. Tan, "Visual Measurement and Prediction of Ball Trajectory for Table Tennis Robot", IEEE Transactions on Instrumentation and Measurement, 59(12), p3195-3205, Dec), (2010. [https://doi.org/10.1109/tim.2010.2047128]
  • M. Matsushima, T. Hashimoto, M. Takeuchi, and F. Miyazaki, "A Learning Approach to Robotic Table Tennis", IEEE Transactions on Robotics, 21(4), p767-771, Aug), (2005. [https://doi.org/10.1109/tro.2005.844689]
  • Tae-Won Kim, Moon-Gyo Jeong, Jin-Ho Shin, and Won-Ho Kim, "Development of an Integrated Robot Control System Using an Off-Line Graphic Simulator for a Vertical Articulated Robot", Journal of Korean Institute of Information Technology, 8(1), p9-19, Jan), (2010.
  • M. H. Kutner, C. J. Nachtsheim, and J. Neter, "Applied Linear Regression Models, 4th Edition", McGraw-Hill Education, p16-230, Jan), (2004.
  • Table Tennis Robot with two monocular cameras, https://youtu.be/b72uyBtBj9s [accessed: Jun. 26, 2018].
저자소개
윤 재 성 (Jae-Seong Yoon)

2012년 3월 ~ 현재 : 동의대학교 메카트로닉스공학과 (재학중)

관심분야 : 로봇공학, 모션 제어, 임베디드 제어 시스템, SoC

곽 창 희 (Chang-Hee Kwak)

2013년 3월 ~ 현재 : 동의대학교 메카트로닉스공학과 (재학중)

관심분야 : 모션 제어, 임베디드 제어 시스템, SoC

김 영 현 (Young-Hyeon Kim)

2012년 3월 ~ 현재 : 동의대학교 메카트로닉스공학과 (재학중)

관심분야 : 로봇공학, 모션 제어, 임베디드 제어 시스템, 영상처리

김 원 호 (Won-Ho Kim)

1988년 2월 : 경북대학교 전자공학과 (공학석사)

1999년 8월 : 경북대학교 전자공학과 (공학박사)

1988년 6월 ~ 1993년 2월 : 한국전자통신연구소(ETRI) 연구원

2018년 8월 현재 : 동의대학교 로봇·자동화공학전공 교수

관심분야 : 임베디드 시스템, 정밀 모션 제어, 로봇 제어 시스템

옥 승 호 (Seung-Ho Ok)

2008년 2월 : 경북대학교 전자공학과(공학석사)

2014년 2월 : 경북대학교 전자공학부(공학박사)

2014년 3월 ~ 2017년 8월 : 삼성전자 책임연구원

2017년 9월 ~ 현재 : 동의대학교 로봇·자동화공학전공 조교수

관심분야 : 로봇비전, SoC, VLSI

Fig. 1.

Fig. 1.
Environment for the table tennis robot

Fig. 2.

Fig. 2.
Joints and links of Samsung AS2 robots

Fig. 3.

Fig. 3.
Coordinate frame system of the Samsung FARAMAN AS2 robot and D-H parameters

Fig. 4.

Fig. 4.
Body part and wrist part through kinematic decoupling

Fig. 5.

Fig. 5.
Diagram for joint a1 to a3 of body point

Fig. 6.

Fig. 6.
Hit point plane with a distance K from the robot

Fig. 7.

Fig. 7.
Position of coordinate P and E, interval J of them

Fig. 8.

Fig. 8.
Estimated hit point H and circle configured with P

Fig. 9.

Fig. 9.
Ball recognition space according to installation height of camera

Fig. 10.

Fig. 10.
Setting the camera minimum height

Fig. 11.

Fig. 11.
Binarization and detection for the ball

Fig. 12.

Fig. 12.
Position of the ball in xy coordinate plane captured by CAM1

Fig. 13.

Fig. 13.
Difference of actual xy coordinate of the ball according to the ball size

Fig. 14.

Fig. 14.
Distance between camera and ball according to pixel change

Fig. 15.

Fig. 15.
Searching method for real ball coordinate through ball position coordinate calibration

Fig. 16.

Fig. 16.
Center of calibrated ball

Fig. 17.

Fig. 17.
Real 3D coordinate system for the table tennis robot

Fig. 18.

Fig. 18.
Sampling the ball center coordinates in xy coordinates of CAM1

Fig. 19.

Fig. 19.
Linear regression using center coordinate samples

Fig. 20.

Fig. 20.
Calculation for ball speed and hit point

Table 1.

Hit rate before and after ball position coordinate calibration system

Case 1 : Hit rate before ball position coordinate calibration system Case 2 : Hit rate after setting Camera minimum height and ball position coordinate calibration system
Set No. Hit time Hit rate Set No. Hit time Hit rate
1 2/10 20% 1 5/10 50%
2 0/10 0% 2 5/10 50%
3 1/10 10% 3 4/10 40%
4 0/10 0% 4 7/10 70%
5 0/10 0% 5 5/10 50%
6 1/10 10% 6 6/10 60%
7 2/10 20% 7 5/10 50%
8 2/10 20% 8 4/10 40%
9 0/10 0% 9 4/10 40%
10 2/10 20% 10 5/10 50%
Case 1 :
Average Hit rate
10% Case 2 :
Average Hit rate
50%