1 서론
2022년 대한민국은 국방혁신 4.0을 발표하며, 4차 산업혁명 기술을 기반으로 국방력을 강화하겠다는 전략을 내세웠다. 이에 따라, 군사 훈련 시스템 역시 전통적인 방식에서 벗어나, 가상현실(VR)과 증강현실(AR)을 활용한 차세대 훈련 체계로의 전환이 시도되고 있다. 대표적으로, 육군사관학교에서는 VR/AR 기반 통합 전투훈련체계를 도입하여 병사들의 전투 수행 능력을 향상시키는 연구를 진행 중이다.
현재 대한민국 육군이 채택한 사격훈련 방식은 프로젝터 기반 VR 시스템 또는 비디오 시스루(Video-See Through) 방식의 HMD를 활용하고 있다 (그림 1). 그러나 이 방식은 더 많은 가상 콘텐츠 자원 (아바타, 환경 등)이 필요하며 그에 따른 시스템 지원 사항(렌더링 등)이 필요하다. 특히, 실제 전투 환경에서의 몰입감을 감소시키고, 사용자가 게임하는 듯한 느낌을 받을 가능성이 높아 훈련의 집중력과 효과성이 저하될 수 있다.
그러나 이 방식은 VR 착용자의 시야를 차단하기 때문에 주변과의 충돌을 방지하기 위한 수단을 강구해야 하며 가상공간의 이질성이 사용자에게 디지털 멀미를 유발할 수 있다는 문제점이 존재한다. 결과적으로 훈련을 진행함에 있어 멀미로 인하여 사용자의 집중력과 몰입감을 저해할 수 있기 때문에 훈련의 효율성이 감소할 수 있다.
이러한 한계를 극복하기 위해, 최근에는 증강현실(AR) 기반의 군사 훈련 및 전술 도입이 활발하게 연구되고 있다. 특히 미 육군은 AR 기기를 활용하여 훈련 전 시뮬레이션 데이터를 시각적으로 습득하고, 부대원 간 실시간 정보 공유가 가능한 시스템을 구축하고 있다 (그림 2). 이를 통해 군사 훈련의 몰입도를 높이고, 실전과 유사한 환경에서 훈련할 수 있도록 지원하고 있다. 대한민국 또한 군사 훈련에서 AR 기술의 도입을 점진적으로 확대하고 있으나, 아직까지 사격 훈련과 같이 위험성이 높은 훈련에 이를 완전히 적용하는 데 어려움을 겪고 있다. 이러한 문제는 단순한 비용적 요인뿐만 아니라, 기술적인 한계에서도 기인한다.
현재 Hololens 2와 같은 광학 시스루(Optical-See Through) AR 기기는 비디오 시스루 방식과 달리 외부 트래커 시스템과의 연동이 어렵다는 한계를 갖고 있다. 일반적으로 VR 환경에서는 VIVE 트래커와 같은 외부 위치 추적 시스템을 이용하여 물체의 정확한 위치를 실시간으로 추적할 수 있지만, AR 환경에서는 이러한 연동이 원활하지 않다. 이를 해결하기 위해 다양한 연구가 진행되고 있으며, 대표적인 방법으로 Marker-Based Tracking 및 Edge-Based Tracking 등의 기법이 존재한다. 그러나 이러한 방식은 높은 연산량을 요구하며, 사격훈련과 같이 실시간성이 중요한 환경에서는 적용이 어렵다는 단점을 갖고 있다 (그림 3).
기술적인 문제 외에도, 대한민국은 군 장병 수 감소로 인해 군 전력의 질적 강화를 목표로 하는 '군장병 정예화' 정책을 추진하고 있다 (그림 4). 이에 따라, 개별 병사의 전투력 향상을 위한 첨단 훈련 시스템의 필요성이 더욱 커지고 있다.
현재까지 VR 기반의 훈련이 주로 활용되고 있지만, AR 기술을 접목한 사격 훈련 시스템이 개발될 경우, 보다 몰입감 있고 실전과 유사한 환경에서 훈련할 수 있게 된다. 따라서 본 연구에서는 Hololens 2와 VIVE 트래커를 연동하여 AR 환경에서도 실시간 위치 추적이 가능한 사격 훈련 시스템을 개발하고, 이를 통해 강화학습 기반의 피드백 시스템을 적용하여 사격 정확도와 정밀도를 개선하는 방안을 제안한다.
본 연구는 Hololens 2를 활용하여 AR 기반의 모의 사격훈련 시스템을 개발하는 것을 목표로 한다. 기존의 VR 기반 사격훈련 방식이 더 많은 가상 콘텐츠 자원(아바타 및 제반 환경) 및 그에 따른 시스템 지원(렌더링 등)이 필요한 반면, AR을 활용하면 실제 환경과 가상 정보를 결합하여 보다 직관적인 훈련이 가능하다.
이를 위해, 본 연구에서는 Hololens 2와 공식적으로 연동되지 않는 VIVE 트래커를 활용하여 총기 형태의 컨트롤러 위치를 정밀하게 추적하고, 이를 가상 총기와 실시간으로 동기화하는 시스템을 구축한다. 또한, 사용자의 사격 자세를 분석하기 위해 왼쪽 손목, 오른쪽 손목, 왼쪽 발목, 오른쪽 발목, 허리 등 5개의 신체 부위 움직임을 실시간으로 추적한다. 추적된 신체 데이터를 기반으로 사용자가 방아쇠를 당길 때마다 자세 정보를 서버에 기록하며, 이를 통해 사격 종료 후 정확도(Accuracy, 표적에 탄환이 몇 개 충돌했는지)와 정밀도(Precision, 탄착군이 조밀하게 모여 있는 정도)를 분석하고 최적화할 수 있는 피드백을 제공하는 시스템을 구현한다. 또한, 자세 추적 데이터를 학습한 강화학습(Proximal Policy Optimization, PPO) 기반 AI 어시스턴트를 도입하여, 훈련 중 개인의 자세 교정 및 최적화된 사격 자세 유도가 가능하다. 특히, AI 모델은 정확도가 높고 정밀한 사격 자세를 학습하여 사용자에게 맞춤형 피드백을 제공하는 방식으로 설계된다.
본 연구의 궁극적인 목표는 Hololens 2를 활용한 Optical See-Through AR 환경에서도 정밀한 위치 추적과 실시간 피드백이 가능한 사격훈련 시스템을 구축하는 것이며, 이를 통해 기존 VR 기반 훈련 시스템의 한계를 극복하고, AR이 적용된 군사 훈련의 실용성과 가능성을 검증하는 데 있다.
2. 관련 연구
기존 사격 시뮬레이션 연구들은 대부분 VR 환경을 기반으로 구성되며, 총기의 위치는 컨트롤러 또는 트래커를 활용하여 SteamVR 기반 VR HMD에 연동하는 방식으로 구현된다[8][9][10]. 이러한 접근 방식은 가상공간 내에서 총기 위치를 정합하여 훈련에 활용하는 데 효과적이지만, 실제 공간과의 상호작용에는 한계가 존재한다.
본 연구는 기존 VR 중심의 접근법과 달리, AR 환경에서도 유사한 위치 추적이 가능하다는 가설을 바탕으로, 2024년에 개발된 오픈소스인 traid_openvr를 활용하여 Hololens 2와 VIVE 트래커의 연동 가능성을 실험적으로 확인하였다(그림 5).
VR/AR 기술은 소방, 군사, 의료, 건설 등 고위험•고비용 산업의 훈련 시뮬레이션 분야에서 활발하게 활용되고 있다[1-3][5-7]. VR 기반 시스템은 HMD 및 외부 트래커/컨트롤러를 이용하여 장비와 사용자의 동작을 가상공간 내에서 정합시킨다. AR 기반 시스템은 카메라 영상과 컴퓨터 비전 기술을 활용하여 실제 환경과의 상호작용을 동적으로 구성하는 방식을 채택한다[4]. 이러한 시스템들은 물리적 장비 조작, 응급상황 대응 시뮬레이션, 반복 가능한 훈련 환경을 제공함으로써 교육 효과를 극대화하고 있다.
다만 해당 시스템이 군사 훈련에 있어서 특히 AR을 이용한 사격 훈련 분야에 있어서는 훈련 환경을 제공하지 못하고 있다. 군사 분야에서 실사격 훈련 분야는 사고 위험도가 높기 때문에 반복하여 교육하기에 어렵다. 본 연구에서는 AR을 활용하여 반복 가능한 훈련을 제공하려 한다.
가상 사격훈련 구현에는 일반적으로 두 가지 방식이 사용된다.
정확한 위치 추적을 위해 개별 센서 혹은 VIVE 트래커를 활용한 사례들이 있으며, HMD와 전용 장비 간 정합을 통해 가상 총기의 동작을 시뮬레이션하는 방식이 주를 이룬다.
사격자의 자세를 인식하기 위해 다양한 센서 융합 기법이 사용되고 있다.
-
- LiDAR, 초음파, Depth 카메라, 적외선 센서 등 복합 센서 데이터를 활용하여 정확한 3D 자세 정보를 추출하고 분석하는 연구가 진행되고 있다[12].
-
- 또한, 훈련 제어 시스템을 통해 사격 결과에 대한 실시간 피드백 제공 및 영점 조절 훈련을 효과적으로 수행하는 방식도 제안되고 있다.
기존 연구에서는 사람과 표적까지의 거리와 위치에 대한 정보는 센서를 활용한 직접 측정을 활용하지만, 자세 정보에 대한 것은 간접적으로 측정하기에 세부적인 정보 취득이 어려웠다.
본 연구에서는 이러한 신체 인식 및 분석 방식을 PPO 기반 강화학습과 결합하여 자동 피드백을 제공하는 접근을 시도하였다. 트래커를 이용해 신체의 물리적인 거리 측정을 통하여 사람의 자세 정보를 수집하고, 수집함에 있어 간접 측정이 아닌 직접 측정을 통해 추출하여 비교하려 한다.
현재까지 AR을 활용한 사격 훈련은 VR 기반에 비해 연구 사례가 매우 제한적이다. 대부분은 실제 물체를 스캔하거나, 인식된 평면 위에 가상 객체를 증강하여 상호작용하는 방식에 머무르고 있으며[13-14], 원자력 발전소 등 특수 산업 현장에서는 AR을 이용한 비상 대응 시뮬레이션 시스템도 일부 개발되었다. 그러나, 광학 시스루 기반 AR 디바이스(Hololens 등)와 외부 트래커의 연동을 통해 실시간 사격 훈련을 구현한 사례는 찾아보기 어렵다.
본 연구는 이러한 공백을 채우고자, Hololens 2와 VIVE 트래커의 연동을 통해 Optical See-Through AR 환경에서의 정밀한 사격 시뮬레이션 가능성을 실험적으로 제시한다.
3. 실험 조건
본 연구에서는 AR 기반 사격훈련 시뮬레이션 구현을 위해 Hololens 2를 사용하였다. 다양한 증강현실 기기 중 가장 진보된 광학 시스루(Optical See-Through) 디스플레이를 제공하는 기기로, 몰입도 높은 훈련 환경을 구축할 수 있다.
사격 훈련의 총기 및 신체 움직임을 정밀하게 추적하기 위해 VIVE 트래커를 다음과 같이 활용하였다.
트래커 배치 기준은 사격 시 가장 민감한 움직임을 보이는 부위를 고려하여 선정하였다.
참고로 VIVE 트래커는 유니티3D와 달리 오른손 좌표계를 사용하므로, 가상 환경에서 올바른 정합을 위해 좌표 변환이 필요하다.
사격 훈련 시 실제 방아쇠를 당기고 탄창을 교체하는 동작을 구현하기 위해 아두이노 나노, 디지털 홀 센서, 블루투스 모듈(HM-10)을 사용하여 모의총기를 개발하였다(그림 6).
본 연구에서는 사격훈련 시뮬레이션을 Hololens 2에서 실행하기 위해 유니티3D 엔진을 사용하고 다음과 같은 추가적인 라이브러리 및 에셋을 사용하였다.
-
○ Microsoft Mixed Reality Toolkit(MRTK3) 활용 → 증강현실 공간 구성 및 상호작용 구현
-
○ Arduino Bluetooth Plugin 에셋 사용 → 유니티3D가 아두이노 블루투스 모듈과 통신할 수 있도록 설정
-
○ 유니티3D 내에서 강화학습 모델(PPO) 실행을 위해 Open Neural Network Exchange(ONNX) 변환 및 Barracuda[15] 엔진 사용
4. 시스템 구현 및 구현 상세
본 연구에서 제안한 AR 기반 사격 훈련 시스템은 다음과 같은 두 단계로 구성된다(그림 7).
-
트래커 위치 조회 및 전송: VIVE 트래커를 활용하여 총기 및 신체의 위치 데이터를 수집하고 Unity3D로 전송
-
강화학습 기반 피드백 시스템: 10회 사격 후, 신체 자세 데이터의 평균값을 PPO 모델로 분석하여 피드백 제공(그림 8)
Hololens 2는 공식적으로 VIVE 트래커를 지원하지 않기 때문에, 본 연구에서는 오픈소스를 활용하여 연동하는 방식을 채택하였다.
<SteamVR Null Driver 세팅>
<OpenVR을 통한 위치 정보 조회>
-
- SteamVR에서 트래커의 위치 데이터를 OpenVR API를 활용하여 수집
-
- 쿼터니언 형식의 위치 및 회전 데이터를 변환
-
- 식 1을 통해 좌표값 계산
<가상 총기와의 위치 동기화>
식 2에서 poseinit 은 다음과 같은 내용을 보정하기 위해 사용된다.
이를 보정하기 위해 초기 위치를 계산 후 트래커의 위치 정보에 초기 위치값을 더하여 총기 위치를 일치시킨다. 본 연구에서는 실험을 위해 가상총기와 모의총기의 위치를 정합하기 때문에 사용자가 트래킹 시작 전에 가상총기와 모의총기 위치를 수동으로 일치시킨 후 진행한다.
트래킹 안정성을 위하여 오일러 방식과 쿼터니언 방식중 쿼터니언 방식을 채택하여 진행하였다. 이는 y축 회전에 종속적인 오일러 방식으로는 3차원 이동 및 회전 추적이 불안정하기 때문에 사격자의 위치를 조정하거나 사격 자세의 변환으로 인한 트래킹의 뒤틀림이 생성되지 않도록 쿼터니언 값으로 총기 트래킹을 진행하였다.
트래커의 위치 정보를 실시간으로 Hololens 2의 Unity3D 환경과 연동하기 위해 클라이언트-서버 통신 방식을 적용하여 다음과 같이 수행하였다.
전송된 트래킹 값이 유니티3D에서 수신되었을 때 그림 9와 같이 모의 총기의 위치를 추적하는 모습을 확인할 수 있다.
본 연구에서는 사용자의 사격 정확도 및 정밀도를 분석하고 최적의 자세 피드백을 제공하기 위해 Proximal Policy Optimization (PPO) 알고리즘을 적용하였다.
<피드백 제공을 위한 주요 지표>
<PPO 모델 학습 및 보상 설계>
<실시간 모델 적용>
-
- 학습된 PPO 모델을 ONNX 파일로 변환 후,
-
- Unity3D의 Barracuda 엔진을 사용하여 실시간 적용
-
- 10회 사격 후, 자세 평균 데이터를 기반으로 사용자별 맞춤형 피드백 제공
오프라인 데이터셋을 기반으로 하는 MOReL방식을 참조하여, 이를 PPO 방식에 적용시켜 강화 학습을 진행하였다. MOReL 방식을 택하지 않고 PPO 방식을 데이터셋 기반으로 이용한 이유는 수집한 양질의 정적 데이터를 정책 기반과 보상 중심을 통해 자세 조정을 최적화하기 위함이다.
사격 자세와 결과의 데이터를 수집하기 위해, 본 연구에서는 신체에 트래커를 장착하고 다양한 자세로 서서 쏴, 앉아 쏴, 엎드려 쏴를 진행하였다. 해당 사격절차를 진행하여 각 사격 자세 당 100개의 데이터를 생성하였다.
강화학습에서 필요한 시뮬레이션을 진행할 수 없기 때문에 이를 위해 고정된 데이터셋을 OpenAI에서 제공하는 Gym[17] 형식으로 래핑하여 사용자 정의 환경을 구성하였다. 해당 환경에서 신체 좌표와 자세의 평가 지표인 정확도와 정밀도를 하나의 상태로 정의하였고 이에 대하여 5개의 신체 부위에 3차원 좌표를 연속적으로 조정하는 액션을 수행한다. 에이전트에서는 15차원의 연속된 벡터로 행동을 선택하며 조정 후 획득한 정확도와 정밀도를 기반으로 보상을 산출하도록 했다. 학습 과정에서 에이전트는 미리 확보된 데이터셋의 샘플을 순차적으로 탐색한 후, 샘플에 대해 조정과 보상 평가를 반복하도록 구성하였다.
[상태]
강화학습 에이전트가 인식해야 할 현재 정보는 VIVE 트래커가 위치된 각 3차원의 신체 데이터(왼쪽 손목, 오른쪽 손목, 왼쪽 발목, 오른쪽 발목, 허리)와 정확도, 정밀도를 상태로 선정하였다. 따라서 총 17개의 정보가 상태에 포함된다.
[행동]
상태를 기반으로 하여 보정될 위치 정보에 대해서 예측한다. 예측을 위한 모델은 Mlp(Multilayer Perception) 정책에 맞춰서 행동을 생성한다. 따라서 VIVE 트래커가 위치한 신체위치의 3차원 정보에 관련한 보정값을 결정한다. 총 15개의 정보가 행동에 포함된다.
[보상함수 설계]
보상함수는 식4와 같이 설계하였으며 보상함수의 특징은 아래와 같다.
[정확도 식]
NBullet 는 충돌한 총알의 개수를 의미
[정밀도 식]
정밀도는 탄환들의 표준 편차를 구하는 것으로, xn 는 각 총알의 좌표, x̅ 는 각 총알의 평균 위치를 의미한다.
해당 방식으로 10,000회 학습시킨 강화학습 모델은 이후 Unity에서 활용하기 위해 Barracuda를 통해 ONNX 파일로 변환하여 사격 결과에서 피드백하는 형식으로 활용하였다.
5. 실험
본 연구에서는 AR 기반 사격훈련 시스템의 성능을 검증하기 위해 사격 실험과 네트워크 지연시간 분석을 수행하였다.
사용자가 사격을 진행할 때마다 총알이 표적지에 충돌한 위치를 시각적으로 기록하여 피드백을 제공하였다(그림 10). 10회 사격 후에는 강화학습 기반 피드백 시스템이 신체 자세 변경 사항을 분석하여 그 결과를 사용자에게 제공한다.
피드백에서 표현된 정확도는 식 5의 결과를 바탕으로 하며, 정밀도는 식 6을 기반으로 도출된 값을 표현한다.
[피드백 사항 초기 데이터]
피드백을 위해 강화학습 모델이 생성하는 초기 데이터의 경우 아래와 같이 표현된다
권장 조정 값:
[1.0, -1.0, -0.449]
[0.08121, -0.403]
[-0.294,-0.458,0.384]
[0.8433,1.0,-0.254]
[0.7454,1.0,-0.912]
위에서부터 각각 왼쪽 손목, 오른쪽 손목, 왼쪽 발목, 오른쪽 발목, 허리 순서이고 해당 값들의 위치 값들을 실제 이동의 의미가 있는 값의 경우만 이동하라고 피드백한다.
실제 이동의 의미가 있는 수준은 왼쪽 손목, 오른쪽 손목, 왼쪽 발목, 오른쪽 발목은 권장 조정값이 –0.5 미만이거나 0.5 초과했을 경우 피드백을 제공하며, 허리의 경우 –0.05 미만 0.05 이상일 경우 피드백을 제공한다. 연구에서 정한 이동 기준은 VIVE 베이스 스테이션과 VIVE 트래커의 동기화 위치의 수치를 조회하고 진행했다. 모의 총기를 파지 할 때 의미 있는 수준의 이동 정도만 반영하였으며 해당 이동 정도가 기준이 되었다.
X, Y, Z좌표에 따라서 피드백은 아래와 같이 표현된다.
X: -0.5 미만- 좌로, 0.5 초과- 우로
Y: -0.5 미만- 아래로. 0.5 초과- 위로
Z: -0.5 미만- 뒤로, 0.5 초과- 앞으로
허리의 경우 피드백 방식은 동일 하나 수치만 –0.5는 –0.05, 0.5는 0.005로 변경되어 진행되었다.
본 연구에서는 실시간 트래커 데이터 전송의 성능을 평가하기 위해 TCP 및 UDP 기반 소켓 통신을 비교 분석하였다. 각각 평균 지연시간은 TCP는 2.68ms, UDP는 2.30ms로 측정되었다.
TCP 방식은 최대 지연시간이 22.38ms로 UDP보다 절반 이하로 낮으며, 전체적으로 지연시간이 높아 평균 지연시간이 높게 도출되는 것으로 확인된다(그림 11, 표 1). UDP 방식은 최대 지연시간이 57.95ms로 TCP에 비해 높지만, 전반적으로는 TCP에 비해 낮은 지연시간을 가지는 모습을 확인할 수 있다(그림 12, 표 1).
TCP | UDP | |
---|---|---|
평균 지연시간(ms) | 2.68 | 2.30 |
최대 지연시간(ms) | 22.38 | 57.95 |
최저 지연시간(ms) | 1.55 | 1.50 |
위 정보들을 기반으로 확인해 보았을 때 본 시스템은 2ms 이하일 때 설정할 수 있는 초저지연 네트워크를 보유하고 있다.
6. 결론
본 연구에서는 공식적으로 연동이 지원되지 않는 Hololens 2와 VIVE 트래커를 연동하여 Optical See-Through AR 기반의 사격훈련 시뮬레이터를 구현하였다. 이를 통해 가상 총기와 실제 총기의 위치를 동기화하고, 사용자 신체 데이터를 실시간으로 추적하여 피드백을 제공하는 시스템을 개발하였다.
또한, 강화학습 기반 PPO(Proximal Policy Optimization) 모델을 활용하여 사격 정확도 및 정밀도를 분석하고, 최적의 자세 교정을 위한 피드백을 자동으로 생성하는 기능을 구현하였다. 네트워크 지연을 최소화하기 위해 TCP 및 UDP 기반의 소켓 통신 방식을 비교 분석하였으며, UDP 방식에서 평균 2.30ms의 낮은 지연시간을 기록하여 실시간 훈련 환경에서도 안정적인 성능을 보장할 수 있음을 확인하였다.
본 연구의 실험 결과는 외부 장치와의 연동이 어려운 Optical See-Through AR 환경에서도 효과적인 사격훈련 시뮬레이션이 가능함을 검증하였으며, 향후 군사 훈련에서 AR 기술을 활용할 수 있는 가능성을 제시하였다. 그러나, 본 연구에서는 공간적 제한과 트래커의 빠른 이동 시 추적 성능 저하라는 한계를 발견하였으며, 이를 개선하기 위한 후속 연구가 필요하다.
VIVE 트래커 추적 시 IMU 센서에서 발생하는 드리프트 현상이 중첩되면 실제 값과 어긋날 수 있으며, 센서 융합 알고리즘에서 Lighthouse 측정값과 IMU 센서 예측값 간에 불일치가 장기적으로 누적되면 필터 수렴값이 점차 편향될 수 있다. 향후 연구에서는 트래킹 오차를 보완하는 보정 알고리즘을 도입하고, 다양한 환경에서 시스템의 확장성과 실용성을 검증하는 것이 필요할 것으로 보인다. 최종적으로 우리는 향후 군사 훈련 전문가의 자문 및 평가를 통해 본 시스템의 실용성 및 가능성을 검증할 예정이다.