DOI QR코드

DOI QR Code

Development of Tennis Training Machine in Ourdoor Environment with Human Tracking

사용자 추적 기능을 가진 야외용 테니스 훈련용 장치 개발

  • 양정연 (목원대학교 지능로봇공학과 교수)
  • Received : 2019.12.27
  • Accepted : 2020.02.19
  • Published : 2020.03.28

Abstract

This paper focused on the development of sports robot that detects a human player and shots a serve ball automatically. When robot technologies apply to the sports machine, the domain problems occurs such as outdoor environments and playing condition to recognize the visual and the vocal modalities. Gaussian mixture model and Kalman filter are used to detect the player's position in the left, right, and depth direction and to avoid the noises caused by the player's posture variation around the net. The sports robot is designed by the pan-tilt structure to shot a serve ball by pneumatic control under the multi layered software architecture. Finally, the proposed tracking and the machine performance are discussed by experimental results.

본 논문은 사용자 위치를 인식하여 공을 자동으로 서브하는 테니스 훈련용의 로봇 개발을 목적으로 한다. 로봇 기술을 스포츠 분야에 활용하는 경우, 야외 환경 및 스포츠 경기 방식의 특수성에 기인하여 시각, 음성과 같은 모달리티 인식에 다양한 문제점이 존재한다. 영상 정보를 이용하여 경기장 내의 사용자 가로 및 깊이 방향의 위치를 인식하는 과정에서, 네트 주위에서의 사용자 자세 변화에 따른 위치 오차 감소를 위해 가우시안 혼합 모델 및 칼만 필터를 적용하고, 이에 따라 해당 위치로 공을 서브하는 기능을 구현하고자 한다. 이를 위해 팬 틸트 기반의 움직임이 가능한 로봇 구동부 및 공압 제어 기반의 공을 발사하는 기능을 구현하고, 이를 다계층의 소프트웨어 구조로 구성하였다. 최종적으로 실험을 통한 추적 기능 및 훈련용 장치의 실효성 및 보완점을 논하고자 한다.

Keywords

I. 서론

최근 로봇 기술의 발달에 따라, 기존의 스포츠 및 레저 분야에 이를 활용하여 선수 및 관객의 몰입감을 유발하거나, 새로운 유형의 스포츠 종목을 활성화하는 기술 기반의 스포츠 산업화가 진행되고 있다.

먼저 기존 스포츠 활용 사례로는, 대표적으로 2001년 슈퍼볼 게임에서 적용된 가상 리플레이 기능이 있다. 이는 3차원 시각 기술 및 다수의 카메라 팬, 틸트 기능을 활용하여, 플레이어의 위치를 자동으로 추적하고 이를 다각도에서 실시간 합성 및 재생함에 따라, 관객에게 필드 위에서의 현장감을 제공하는 새로운 유형의 사용자 경험으로 발전하였다[1][2].

최근 야구 경기에서는 기존 고속 카메라로 공을 추적하는 방식을 벗어나, 딥러닝 기술을 활용하여 자동으로 공의 궤적을 예측, 추적하는 방식의 정교한 판정 보조 기술을 사용하고 있다.

새로운 요소 기술의 등장은 신설 스포츠 분야의 다양화, 산업화에도 기여하고 있다. 세그웨이와 같은 직립형 구동 방식의 발전에 따라, 파도가 없는 곳에서의 서핑을 가능하게 하는 위보와 같은 제트 보드가 등장하였으며, 모터의 성능 개선 및 추력 제어의 정교화에 따라 드론을 이용한 고속 레이싱 분야가 인기를 끌고 있다.

스포츠와 기술의 융합에 따른 대표적 로봇 분야로는, 가상 환경 및 힘 반향 장치와의 결합을 통한 시뮬레이터[3], 사용자 피드백 기반의 스포츠 재활 분야가 있다.

다축 구동기를 통한 승마 시뮬레이터의 경우, 말의 보행에 따른 복잡한 3차원 운동을 유사하게 표현하여 사용자가 실제 말을 타기 위한 공간 및 거리적 제약을 벗어나 역 감을 느낄 수 있다. 특히 승마 시뮬레이터의 경우, 골반 보정 및 운동량을 높이는 장점이 있다.

스포츠 재활 분야의 경우, 기존의 물리치료와 함께 장치를 이용한 단계적 치료에 초점을 맞추고 있다. 조정 시뮬레이터와 같은 기존의 근지구력 운동 기구를 활용하여 사용자의 근육 활성도 조절 및 반복적인 부정형 패턴을 이용한 신경가소성 원리 기반의 재활이 진행되고 있다.

이러한 스포츠와 기술의 융합 과정에는 다양한 문제점이 있는데, 크게 인간의 신체 능력과 기술 수준과의 격차가 있거나, 적절한 관측 및 재현에 어려움이 있는 경우에 해당한다. 일반적으로 인간은 근력에 의한 순간 가속 능력이 우수하여, 인간과 유사한 다자유도 운동의 생성과 운동 궤적에 대한 관측의 실시간성이 떨어진다.

예를 들어 피칭 머신의 경우, 투수가 던지는 공과 유사한 궤적과 속도를 로봇 구동기로 재현하는 것은 한계가 명확하여 이를 활용한 훈련은 단순 속도감 적응에 그치고 있는 실정이다. 또한 근력에 의한 정교한 스윙 궤적 분석은 초당 500 프레임을 요구하여, 영상 처리에 의한 실시간 화가 어렵다. 세그웨이와 같은 직립형 장치의 경우, 각도를 측정하는 틸트 센서의 정밀도는 우수하나, 장치의 기울기가 사용자의 밸런스를 위한 무게중심의 변화와 일치하지 않기 때문에 관측기를 이용한 추정 방식이 사용된다[4]

또한, 사용자, 공, 도구의 위치추적이 필요한 경우, 대다수의 스포츠가 야외에서 진행되기 때문에 정확한 검출과 관련하여 실용성 측면의 많은 문제점을 가지고 있다. 야외 환경에서의 사람 위치 추적 기능은, 크게 카메라를 이용한 보행자 추적 기술과 레이저를 회전하여 거리를 측정하는 스캐닝 기법, 또는 3차원 포인트 클라우드를 활용한 방법으로 나눌 수 있다.

야외 환경에서 거리 기반의 레이저 스캐너 및 포인트 클라우드를 활용하는 경우, 태양광에 의한 광원의 과다 노출로 인해 프래널(Fresnel) 효과와 유사하게 노이즈가 증가한다. 또한 테니스, 배구와 같이 네트에 의해 일부 사용자의 영상이 가려진 상태에서는, 제한된 정밀도를 가지며 불특정 운동을 보이는 네트에 의해 노이즈가 증가하는 문제점을 가지고 있다.

자율 주행 로봇에 많이 활용되는 레이저 스캐너의 경우, 측정 거리가 저가 제품이 20m, 고가 제품이 70m이나 거리가 멀어질수록 공간 분해능이 현격하게 떨어지는 단점이 있어 경기장 전체의 플레이어 움직임을 한 번에 측정하는데 어려움이 있다.

이러한 이유로, 스포츠 분야에서는 영상 처리 기반의 방법론이 유리하나, 광학적인 시야각이 제한되어 있기 때문에 높고 먼 거리에서의 측정, 또는 다수의 카메라를 활용하는 것이 일반적이다.

본 논문에서 다루고자 하는 사용자 위치 추적은, 테니스장 환경에 의한 특수성을 반영하여 위치 추적 기능의 성능을 향상하는 것이 주 목표이다. 이동이 가능한 훈련용 장치임을 고려하여, 비교적 낮은 위치에 카메라가 위치하고 있게 된다. 따라서, 네트에 의해 사용자 영상이 불연속적이며, 서브 위치로 이동할 경우의 걷는 동작과 서브 대기 시의 웅크림에 의해 사용자 높이 정보가 변화하는 특징을 갖는다. 이러한 현상에 적합한 위치 보정 기법의 제안을 통해 자세 변화에 따른 깊이 방향의 위치 정확도를 개선하고자 한다.

II. 영상 기반의 사용자 추적 방식

보행자 중심의 위치 추정 기법에는 특징점의 선형 변환을 통한 Ada Boost 기법이 많이 쓰이고 있다[5]. 이 는 배경의 복잡성을 회피하기 위해 다수의 특징점 집합으로부터 적절한 이미지 영역을 선별해나가는 장점이 있기 때문이다. 또한 RGB 색상 정보를 HSV 변환을 이용하여 피부색 추출에 용이하도록 하는 전처리 과정이 많이 쓰인다[6][7].

이러한 방법론은 복잡한 환경적 요소를 고려하여 사용자의 위치를 추적하는 반면, 제안된 테니스 훈련용 장치는 테니스장이라는 비교적 배경의 복잡도가 낮은 환경을 이용하는 장점이 있다. 하지만, 주어진 환경적 요소에 따라 다음과 같은 두 가지 문제점이 있다.

1. 사용자에게 공을 서브하기 위해서는 [그림 1]의 상단과 같이, 네트 건너편의 사람을 추적해야하는 특수성이 있으며, 이에 따라서 사용자 움직임 영상이 하얀 천으로 만든 벨트인 센터 스트랩에 의해 상하로 불연속적으로 분리되는 경향이 있다

CCTHCV_2020_v20n3_424_f0001.png 이미지

그림 1. 센터 스트랩에 의한 가려짐(상), 이동 및 서브 대기에 따른 자세 변화(하) 예시

2. 사용자의 이동에 따른 위치 추적은 보행자 인식과 유사하나, [그림 1]의 하단과 같이 서브 대기를 위한 웅크림이 발생하고 이에 따라 위치 추적 시 깊이 방향의 추종 오차가 발생한다. 사용자가 서브 대기 자세로 변화할 때, 하체는 고정되고 상체의 변화만 인식되기 때문에 깊이 좌표 추정에 오차를 발생시킨다.

먼저, 센터 스트랩에 의한 영상 분리는 사용자가 깊이 방향으로 움직이는 경우, 적분 영상을 통한 Ada Boost 방식 적용시에 다양한 상하 비율을 갖는 특징점이 대폭 증가하여 결과적으로 인식을 위한 캐스캐이드 방식의 단계가 깊어져 인식에 어려움이 있다.

보행자 검출에 쓰이는 HOG 방식을 적용하는 경우 [8], 경기장 전체에서의 사용자 검출을 사용하기 때문에 50 픽셀 미만의 원거리 영상에서의 인식 성능이 떨어지는 문제점이 있다. 또한 사용자의 노출된 피부가 매우 적어 HSV 방식의 검출에도 어려움이 있다.

테니스 훈련 장치에서의 사용자 추적은, 사용자가 서브 위치로 이동하는 것보다는 이동 후 서브 대기 상태에서의 위치 파악이 중요하다. [그림 1]처럼 상하의 자세 변화가 발생하기 때문에, 차영상(Differenceimage)과 같은 움직임 감지는 크게 보행에 따른 이동과 서브 대기를 위한 웅크림의 자세 판단이 함께 요구 된다.

이동시에는 영상 변화가 사용자 전신에 걸쳐서 일어나기 때문에 사용자의 위치 추적이  용이하나, 멈추고 웅크림 자세로 변화하는 경우 움직임이 상반신에서만 일어나기 때문에 사용자 중심 위치가 이동시보다 상승하는 문제점이 있다. 이에 따라, 실제 이동 위치보다 서브 대기 상태의 위치가 영상에서 더 높게 나타나고 깊이 방향의 위치 추적에 오차가 큰 현상이 생긴다.

이러한 특수성 때문에, 특징점을 센터 스트랩 상하로 구별하거나 센터 스트랩에 의해 특징점이 분리되는 상황을 고려하는 방법론을 적용하고자 한다. 움직임 감지에 유리한 영상 간의 차이를 사용하는 차영상을 토대로, 가우시안 혼합 모델을 활용하여 분리된 상하 영상의 군집 분포를 이용하고, 보행과 서브 대기 상태의 구별에 따른 위치 추적의 보정 방식을 개발하고자 한다.

차영상의 경우, 배경 화면의 영향을 많이 받기에 전 처리 작업에서만 사용되나, 테니스장의 경우 사용자와 공, 간헐적인 네트의 움직임을 제외하고는 대체로 정적인 영상 상태에 해당하여 연산량 감소에도 유리하다. 또한, 칼만(Kalman)필터를 사용하여 사용자의 위치 변화에 따른 추정 오차를 보정하고자 한다.

1. 가우시안 혼합 모델

주어진 데이터를 다수의 확률 밀도 함수간의 조합으로 표현하는 가우시안 혼합 모델(Gaussian Mixture Model, GMM)은 데이터를 확률적으로 재배치할 수 있는 장점이 있어 데이터의 차원 및 양이 증가하는 최근에 각광받는 방법론 중 하나이다.

GMM은 최대 가능도 추정량(Maximum likelihood estimator, MLE) 기법을 토대로, 주어진 데이터 군집의 사전 확률과 가우시안 함수 기반의 파라미터 추출을 통한 기댓값과 잠재변수(latent variable)를 통해 기댓값의 최대화(Expectation Maximization, EM) 방법으로 구성된다[9]. 이에 대한 정의는 다음과 같다.

       \(L(\theta ; X)=p(X \mid \theta)=\int p(X, Z \mid \theta) d Z\)             (1)

이 때, 주어진 랜덤 변수 x에 대해, 확률 밀도함수의 파라미터인 θ와 MLE 함수인 L, 관측되지 않은 잠재변수 z로 구성된다. 이러한 잠재 변수 z를 통해, 식 (1)의 해를 구할 수 있으며, 기댓값 추정 과정에서 각 데이터 군집에 대한 x의 포함 확률인 W를 정의할 수 있다.

       \(W_{i}^{j}=\frac{\pi_{i} G_{i}(x)}{\sum_{k=1} \pi_{k} G_{k}(x)}\)             (2)

이 때, G는 가우시안 기반의 확률 밀도 함수이며, π는 군집별 혼합 가중치 또는 사전 행렬로 정의가능하다. i는 군집 번호, j는 샘플의 번호를 의미한다.

이처럼 W를 통해 얻어진 기댓값은 모든 사전 행렬의 합이 1이라는 구속 조건을 만족하는 최적화 문제로 간주할 수 있다. 이러한 식 (1), (2)를 토대로, 각 군 집의 파라미터를 결정한다. EM에서의 최대 값 방법을 통해 라그랑주 승수법(Lagrange multiplier)에 의한 최적화에 의해 각 군 집의 평균값, μ, 공분산 Σ를 계산할 수 있다. 이는 다음 식과 같이 표현된다.

\(x=\left\{x^{1}, x^{2}, \ldots, x^{N}\right\}^{T}\)

\(\pi_{i}=\frac{1}{N} \sum_{j=1}^{N} W_{i}^{j}\)

\(\mu_{i}=\frac{\sum_{j=1}^{N} W_{i}^{j} x^{j}}{\sum_{j=1}^{N} W_{i}^{j}}, \quad \sum_{i}=\frac{\sum_{j=1}^{N} W_{i}^{j}\left(x^{j}-\mu_{i}\right)\left(x^{j}-\mu_{i}\right)^{T}}{\sum_{j=1}^{N} W_{i}^{j}}\)

EM의 기댓값 및 최대화 과정을 반복적으로 수행함에 따라 GMM을 통해 군집별 확률 파라미터를 결정할 수 있다.

2. 군집 분포를 이용한 위치 보정 기법

차영상에 기반한 이동 방식의 경우, 앞서 언급한 서브 대기 상태로 전환할 때 상반신의 움직임에 따라 중심점이 이동하는 문제점이 있다. [그림 2]는 같은 자리에서 서브 대기로 전환하는 예시이다.

CCTHCV_2020_v20n3_424_f0002.png 이미지

그림 2. 상반신 자세 변화에 따른 중심점의 부정확한 이동

차 영상 기반 특징점을 사용하는 경우, 상반신만을 움직이기 때문에 사용자 위치가 몸 중간에서 위쪽으로 이동하여 깊이 방향의 추정 오차가 급격히 증가한다.

또한 발의 위치를 추종하는 방식에서는, 사용자가 뒤로 이동, 즉 깊이 방향으로 이동하는 것과 웅크림 자세 간의 구별에 어려움이 있다. 이와 함께, 사용자 위치에 따라 센터 스트랩 주변에서 일어나는 영상 단절에 의해 세로 방향의 영상 변화 감지에 어려움이 있다.

이를 보정하기 위해, 센터 스트랩에 의한 상하 영상 간 단절에 적합한 방식으로 GMM을 이용한 군집화 및 하단부 영상의 분포 결과를 이용하여 자세 변화를 판단하는 방식을 사용하고자 한다. 하단의 영상 분포의 분산값을 이용하여 값이 작은 경우, 웅크림에 의한 서브 대기 상태로 간주하여 중심점 변화를 보정하고자 한다.

GMM의 경우, 다수 특징점의 분리를 위해서는 반복적인 연산이 필요하다. 일반적으로 영상 처리에서는 연속적인 파이프 라인 방식의 연산이 수행되나, 차영상 추출 및 전처리기 과정과 시간이 소비되는 GMM 적용을 서로 다른 두 개의 연산으로 분산시켜, [그림 3]와 같이 GMM 결과를 사용자 추적 과정에만 반영하는 방식으로 구성하였다.

CCTHCV_2020_v20n3_424_f0003.png 이미지

그림 3. 사용자 위치 추적을 위한 영상 처리 필터링 구조

3. 사용자 위치 추적 보정

GMM기반 군집화 과정은 최대 500회 반복과 함께 데이터는 최대 1000개의 픽셀을 사용하였으며, 특징점 공간의 픽셀을 무작위 샘플링으로 선별하여 군집화하는 방식을 적용하였다.

[그림 4]의 경우, 각 위치에 따른 자세별 상하 군집의 중심점을 표기하였다. 각 영상은 사용자가 경기장 내의 가로 및 깊이 방향의 이동과 함께 서브 대기 상태로의 진입 영상에 해당한다. 좌측으로부터 처음 세 개의 영상은 이동에 해당하며 우측 세 개는 서브 대기 상태에 진입하는 순간이며, 각 영상에 GMM에 따른 상하 군집의 중심점이 표현되어 있다.

CCTHCV_2020_v20n3_424_f0004.png 이미지

그림 4. GMM 적용으로 센터 스트랩 상하로 구별된 군집 데이터의 중심 결과(하얀색 사각형)

사용자가 이동을 멈추고 상반신을 웅크림에 따라 우측 세 개의 영상은 군집간 거리의 감소 및 특히 하단부 군집의 분산이 크게 감소하기 때문에 이동에서 서브 대기로의 사용자 자세 천이과정 검출에 유리하다.

군집에 따른 각 위치 추적은 오차가 포함된 영상 관측 자료를 토대로 추정하는 것으로, 관측기의 한 유형인 칼만(Kalman) 필터를 이용하여 간섭에 의한 외란을 줄이고자 하였다.

해당 보정 기법의 성능 평가를 위하여, 사용자가 가로 방향으로 평행하게 움직이며 세 차례의 서브 자세를 취하는 영상을 사용하였다. 사용자가 평행하게 움직이므로 깊이 방향의 좌표가 일직선으로 낮은 표준편차를 갖는 것이 이상적이다.

약 400번의 영상에 걸쳐, 각 곡선은 깊이 방향 좌표 변화를 나타낸다. 각각 150, 240, 400회 근처로, 우측, 중간, 좌측 지점에서 서브 대기자세를 취하였다.

[그림 5]의 상단에서, 실선은 차영상 기반의 중심 궤적이며 위, 아래 곡선은 상하 분리된 군집 중심의 좌표이다. 초기 약 100회 미만의 영상들의 경우, 칼만 필터의 영향을 받아 상태천이 과정에 있다. 차 영상을 사용한 경우는 서브 대기 자세에서 상체만 움직임에 따라, 평균 지점인 약 225에서 약 15 픽셀 정도 위로 치우침이 발생하는 것을 볼 수 있다. 이와 달리, 상하 군집 좌표의 중심은 상대적으로 변동이 낮게 나타나고 있다.

CCTHCV_2020_v20n3_424_f0005.png 이미지

그림 5. 차영상 결과와 추출된 상하 군집 예시(상), 차영상 결과와 보정 기법 적용 후 결과 비교(하)

따라서 [그림 5]의 하단과 같이, 상하 군집 좌표의 중점을 깊이 방향 좌표로 사용하는 경우, 차 영상에 의한 약 15 픽셀 이상의 깊이 방향 추종 오차를 감소할 수 있었다. 사용자가 가로 방향으로 평행하게 움직이고 있기 때문에, 약 400장의 영상 내의 위치 분포에 대한 분산 값으로 보정 성능을 정량적 평가하고자 한다. 기존의 차영상 기반 위치는 평균 228.3, 표준편차 6.49이며, 군집의 중심을 사용하는 경우 평균 224.2, 표준편차 2.98로 위치 오차가 줄어들었음을 알 수 있다.

가로 방향의 위치 추종은, 차영상 결과를 그대로 적용하였다. 약 400장의 영상에 대해 머리 위치를 픽셀 단위로 추정하여, 얻어진 결과와 비교하였다. 167장의 서브 대기 자세에서 오차의 평균은 0.69, 표준 편차는 1.83이며, 나머지 이동 과정에서는 오차 평균이 13.72, 표준 편차는 5.75이다. 사용자가 왼쪽으로 이동하고 있어, 이동 시의 오차 평균이 차영상 기반에서 크게 나타났으나, 위치 정보가 필요한 서브 대기 자세는 상대 적으 로 오차가 적어 차 영상 결과가 적합함을 알 수 있다.

III. 테니스 훈련용 장치 설계 및 실험

테니스 훈련용 장치는 다음 세 가지 목적으로 구성된다. 정지한 사용자에게 공을 서브하는 기능, 움직이는 사용자의 방향에 맞춰 공을 보내거나, 반대 방향으로 공을 보내 운동 효과를 높이는 기능으로 구성된다.

해당 장치는 크게 발사 각도의 조절을 위한 팬틸트 기능과, 공압 조절을 통한 발사 실린더, 공을 공급하는 호퍼 장치로 구성했다.

1. 팬 틸트 기반의 원통형 발사 장치

테니스공을 발사하여 목표 지점에 근접하게 하기 위해서는, 발사체인 테니스공의 최종 발사 속도 및 각도 조절이 필수적이다. 이를 위해 [그림 6]와 같이 좌우 및 상하 이동이 가능한 팬틸트 기반의 장치를 설계하였다.

CCTHCV_2020_v20n3_424_f0006.png 이미지

그림 6. 테니스 공의 발사를 위한 장치부 개념도. 좌우 패닝 및 상하 틸트 운동과 공압에 의한 발사 예시

해당 장치는 발사체인 테니스공의 질량이 약 56~ 59.4g의 표준을 따르고 있어 질량에 의한 부하가 적은 반면 발사 시 최대 시속 170km/h에 해당하여 발사 시의 충격량이 높은 특징을 갖는다.

목표 지점에 공을 떨어트리기 위해서 초기 발사 속도와 발사 각도로 거리가 결정되기 때문에, 각 파라미터에 대한 민감도는 다음 수식으로 결정된다.

\(x=t v_{0} \cos \theta\)

\(\therefore \frac{\partial x}{\partial v_{0}}=t \cos \theta, \frac{\partial x}{\partial \theta}=-t v_{0} \sin \theta\)             (3)

이는, 거리 x는 시간 t에 대해 초기 발사속도 v0와 각 도 θ로 표현하는 경우, 발사 속도는 거리와 선형적 관계이며 발사각이 작을수록 사인 함수에 의해 거리에 대한 민감도가 증가하는 것을 의미한다. 이에 따라, 공압의 크기를 조절하는 공압 레귤레이터의 해상도 한계 및 비선형성을 고려하여, 식 (3)과 같이 발사 거리 제어를 발사 각도에 초점을 맞추어 설계하였다.

2. 공압 기반의 발사 장치 및 속도 제어

테니스 서브의 경우 최근 최대 시속 260km/h에 육박하고 있으나, 숙련자를 대상으로 고려하여 최대 시속 170km/h 를 목표로 설정하였다.

[그림 6]와 같이 공압 실린더를 이용하여 두 개의 밸브를 제어하여, 입력 밸브, A를 열어 공기를 고압으로 투입하고 이후 밸브를 닫고 출력 밸브, B를 열어 역방향으로 실린더를 이송하는 방식이다. 두 개의 입출력 밸브 사이의 시간 조절을 통해, 공기 압축기의 압력이 정압상태를 유지하는 동안 최대 1초에 2번 이상의 발사가 가능하도록 설계하였다.

발사 속도의 제어는 디지털 방식의 공압 레귤레이터를 통해 실린더 내부의 공기 압력량을 조절하고 압력에 따라 발사 속도를 제어하는 방식을 사용하였다. 본 장치가 초당 최대 1~2회 발사가 가능하도록, 발사 대기시의 정압 유지에 적합하도록 설계되었다.

3. 스크립트 기반의 온라인 통합 시스템

테니스 훈련용 장치의 수행 태스크는 비교적 단순한 구조로 되어 있으나, 소프트웨어 구조는 전형적인 지능형 로봇의 개발 과정 및 구조와 동일하다[10].

센서에 의한 신호 검출 및 구동부의 제어 과정을 처리하는 하드웨어 계층, 영상을 이용하여 사용자 위치 검출 및 GMM, 칼만 필터 기반 연산을 수행하는 서비스 계층, 사용자 상호작용을 위한 무선 단말 기반의 인터페이스 계층으로 구성되었다.

해당 훈련 장치의 경우, 물리적 구동에 따른 하드웨어 동작이 필수적이다. 각도 세팅을 위한 초기화, 발사 시 실린더 움직임이 이에 해당한다. 개발 단계에서 기능의 수정을 위해서는, 반복적인 초기화 및 내부 상태량의 복귀가 필요하나 이는 하드웨어의 재설정에 따른 반복된 물리적 구동에 따른 시간 소비가 매우 크다.

이에 따라, 로봇의 하드웨어 상태량을 보존하는 하드웨어 계층과 서비스 계층을 분리하고, 서비스 계층의 잦은 기능 수정의 편의를 위해 온라인 상태의 시스템 통합 방식을 사용하였다.

해당 서비스 계층을 분리하여, 주요 태스크 처리를 위한 태스크 계층과 임베디드 파이썬 기반의 스크립트 처리 계층으로 구성하였다. 임베디드 파이썬은 파이썬 코드의 수정 및 동작으로 구성된 인터프리터 기능을 기존 응용프로그램에 직접 탑재하는 방식을 말한다.

계층화 및 스크립트 기반의 온라인 시스템을 구성함에 따라 하드웨어 상태량이 유지한 상태로 스크립트를 수정 가능하게 되어 제어 파라미터 수정, 위치 추적에 따른 로봇 반응 조절 등의 개발 편의성이 확보되었다.

4. 성능 실험 결과

테니스 훈련 장치의 경우, 하드웨어 제어를 위해서 STM32기반의 마이크로프로세서를 사용하고, 영상 처리 및 파이썬 기반 운영은 소형 임베디드 보드인 Rapsberry Pi를 사용하였다. 이는 [그림 7]과 같다.

CCTHCV_2020_v20n3_424_f0007.png 이미지

그림 7. 스크립트 기반의 온라인 계층 및 세 개의 계층으로 나누어진 통합 시스템 구성도

실 환경에서의 위치 추적 기능은, [그림 8]과 같은 완성된 장치에서의 카메라 위치를 변경하며 수행하였다. 깊이 방향 변화에 따른 사용자 위치의 차이를 크게 하기 위해 카메라의 위치를 낮게 변경하여 적용하였다. 즉, 영상 내 소실점을 낮추어 근거리 및 원거리 차이를 크게 변화하였다.

CCTHCV_2020_v20n3_424_f0008.png 이미지

그림 8. 테니스 훈련용 장치 완성도

최대 발사 속도는, 속도계를 이용하여 최대 172km/h를 얻었으며, 연속 발사 시 10초에 20회를 만족하였다. 최대 발사 거리는 60m에 해당하나, 공이 사용자에 도달하는 종속이 약한 문제가 있었다. 특히 연속 발사의 경우, 원거리 사용자에게 도달할 때까지 1초 미만에 해당하지만 초당 2회 발사 시 사용자는 2개의 공이 날라 오는 것으로 판단하여 혼란을 야기하는 단점이 있었다.

또한, 공과 실린더 사이의 유격에 따른 공압 누수와 발사 거리의 오차 문제 해결이 추가적으로 필요할 것으로 사료된다. 이는 기존 제품이 최대 발사 속도 140km/h, 연속 발사 시 10초에 2~5회 수준에 그치고 있어 훈련용 서브 장치로써의 성능 향상이 있었다. 기존 장비가 정해진 각도와 속도로 반복 서브하는 방식인 반면, 제안된 장치는 영상처리 기반의 다양한 서브 기능을 가져 반응형 로봇화의 가능성을 보여주었다.

IV. 결론

본 논문에서는 사용자 위치 변화에 따라 테니스공을 발사하는 스포츠 훈련용 장치의 개발을 다루었다.

제안된 위치 추적 방식은, 일반적인 보행자 인식과 달리 원거리에서의 깊이 방향에 따른 자세 변화를 군집 분포를 통해 식별하는 방식으로 적용되었다. 이는 근거리에서의 자세 인식과 달리, 사용 가능한 특징점 확보가 부족한 원거리의 야외 환경이라는 특징을 갖는다.

또 다른 주요 기능인 공의 발사 조절은, 테니스 공 표면의 거칠기와 불확실성에 의해 발사 거리 조절에 한계가 있다. 이를 공압 실린더에 의한 타격 방식을 적용하여 거리 조절이 가능하였으나, 속도가 높아질수록 오차가 증가하였다. 이는 공압 실린더의 타격 이외에 실린 더 내에 유입된 공기 압력 차이도 공의 추진에 영향을 주는 것으로 생각되며, 차후에는 실린더 외벽을 통한 공기 배출로 불필요한 압력차를 줄이는 것이 필요하다.

사용자의 위치 추적에 따른 테니스 훈련용 장치의 로봇화에 따라, 외부 야외 환경과 네트에 의한 가림처럼 영상 인식에 적합하지 않은 영역에 대한 사례 및 선행 연구로써의 가치가 있으며, 향후 문제점 해결과 스포츠 태스크 영역의 간소화를 통해 스포츠 분야의 로봇 장치 산업화에 기여가 예상된다.

References

  1. B. D. Lucas and T. Kanade, "An Iterative Image Registration Technique with an Application to Stereo Vision," Int'l Joint Conf. on Artificial Intelligence, pp.674-679, 1981.
  2. C. Tomasi and T. Kanade, Detection and Tracking of Point Features, Technical Report CMU-CS-91-132, CMU, 1991.
  3. 윤재홍, 최효승, "스포테인먼트 실감자전거 시뮬레이터 개발," 한국콘텐츠학회논문지, 제14권, 제2호, pp.10-18, 2014. https://doi.org/10.5392/JKCA.2014.14.02.010
  4. D. I. Choi, Development of a 2-wheel self-balanced mobile platform and the robust control by disturbance observer, KAIST, pp.5-23, 2007.
  5. D. Geromino, A. D. Sappa, A. Lopez, and D. Ponsa, "Pedestrian Detection using Adaboost Learning of Features and Vehicle Pitch Estimation," Int'l Conf. Visualization, Imaging, and Image processing, Aug. 28-30, pp.400-405, 2006.
  6. F. A. Purol, M. Pujol, A. J. Morenilla, and M. J. Pujol, "Face Detection based on Skin Color Segmentation using Fuzzy Entropy," Entropy, Vol.19, No.1, pp.1-22, 2017. https://doi.org/10.3390/e19010001
  7. J. M. Chaves-Gonzalez, M. A. Vega-Rodriguez, J. A. Gomez-Pulido, and J. M. Sanchez-Perez, "Detecting Skin in Face Recognition Systems: A Colour Spaces Study," Digital Signal Processing, Vol.20, No.3, pp.806-823, 2010. https://doi.org/10.1016/j.dsp.2009.10.008
  8. N. Dalal and B. Triggs, "Histograms of Oriented Gradients for Human Detection," IEEE Computer Society Conf. on Computer Vision and Pattern Recognition, pp.886-893, 2005.
  9. K. P. Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, pp.337-341, 2012.
  10. A. K. Pandey and R. Gelin, "A Mass Produced Sociable Humanoid Robot: Pepper: The First Machine of its Kind," IEEE Robotics & Automation Magazine, Vol.25, Issue.3, pp.1-10, 2018(7).