1. 서 론
2. 관련연구
2.1 Exisiting Animation Tools
2.2 AR-Based Maintenance Research
2.3 현재 연구
3. 증강현실 유지보수 애니메이션 제작을 위한 저작도구 설계
3.1 선박 유지보수에 사용되는 공구 분석
3.2 정비 애니메이션 제작을 위한 조건 정의
4. 정비 애니메이션 시스템
4.1 System Overview
4.2 정비 애니메이션 저작도구 인터페이스
5. 프로토타입 개발
5.1 프로토타입 구성
5.2 프로토타입 실행 및 로드 테스트
6. 결 론
1. 서 론
최근 조선 산업은 자율운항 선박의 도입으로 인해 빠르게 변화하고 있다. 이러한 변화에 따라 기본 성능뿐만 아니라 유지보수에 대한 중요성이 부각되고 있다(Kim et al., 2022a; Lee et al., 2019). 또한, 자율운항 선박의 도입으로 선박 시스템은 더욱 복잡해지고 있으며, 이에 따라 선박 유지보수는 보다 정교하고 효율적인 방법이 필요하다. 따라서, 기존의 음성 및 영상 기술을 통한 유지보수 방식에서 더 나아가, 실감나게 가시화되는 데이터를 제공하는 증강현실 기술이 유지보수 분야에서 주목을 받고 있다. 하지만, 현재의 유지보수 방식은 3D 모델만을 가시화하기 때문에 정비 애니메이션을 통한 시각화가 필수적이다. 이를 해결하기 위한 효과적인 정비 애니메이션 도구의 필요성이 대두되고 있다. 또한, 기량이 낮은 초보 엔지니어의 경우, 선박의 복잡한 부품 및 시스템을 이해하기 어려워, 유지보수 시간이 증가하고 비용이 증대되는 경향이 있다. 따라서, 증강현실을 기반으로 한 정비 애니메이션은 유지보수 작업을 실제로 시뮬레이션하여 효과적으로 문제를 해결할 수 있는 도구가 필요하다. 이와 관련하여 증강현실을 활용한 유지보수 분야에서의 연구가 많이 이루어지고 있다(Fernández del Amo et al., 2018; Cardoso, et al., 2020; Kim et al., 2022b; Mourtzis et al., 2017; Mourtzis et al., 2018; Ong and Zhu, 2013; Palmarini et al., 2018). 그러나 기존의 연구는 특정 플랫폼에 최적화된 포맷을 사용하여 종속되는 경우가 많으며, 증강현실 환경에서 적용하려면 별도의 변환과정이 필요하기 때문에 호환성과 활용성에 제한이 있다.
본 연구는 중립 포맷을 도입함으로써 다양한 플랫폼에서 활용 가능한 정비 애니메이션 저작 도구를 제시한다. 이에 따라 본 연구에서는 Json 파일 형식의 정비 애니메이션 중립 포맷을 개발하여 선박 유지보수를 위한 경량하고 호환성이 높은 저작 도구를 제시할 것이며, 이를 통해 선박 유지보수의 효율성을 향상시키고, 다양한 플랫폼에서의 적용 가능성을 확장하고자 한다. 이를 통해 손쉽게 정비 애니메이션을 제작할 수 있으며, 다양한 플랫폼과의 호환성을 확보할 수 있다.
섹션 2에서는 본 연구와 관련 저작도구 소프트웨어와 관련 연구들을 소개할 것이다. 섹션 3에서는 저작도구 개발을 위한 제약사항을 정의할 것이다. 섹션 4에서는 제안한 중립 포맷을 이용한 정비 애니메이션 저작도구의 구체적인 설계와 개발 과정에 대해 다룰 것이다. 섹션 5에서는 프로토타입의 개발 및 제안한 도구와 관련 소프트웨어간의 비교를 통한 유효성 입증할 것이며, 마지막으로 결론을 낼 것이다.
2. 관련연구
Table 1은 관련 소프트웨어 및 관련 연구들에 대해 조사하고 분석한 Key Findings와 Results를 정리해서 요약한 표이다.
Table 1.
Comparison of Related Research
2.1 Exisiting Animation Tools
애니메이션 제작을 위해 사용되는 소프트웨어들은 많지만, 그중에서 엔지니어링 소프트웨어 및 애니메이션 제작이 가능한 게임 엔진만을 비교하였다. 이를 표로 정리하면 Table 2와 같다. 여기서, 1, 2, 4, 5번의 경우 애니메이션 키프레임 설정 방식을 사용한다. 애니메이션 키프레임 설정 방식은 모델의 움직임을 정의하기 위해 각 프레임에 키프레임을 설정하고 타임라인을 활용해 오브젝트의 위치, 크기, 회전 등을 조정하는 방식으로 정의한다. 하지만, 3번의 경우만 다른 방식인 애니메이션 클립 제작 및 조합 방식을 사용해서 애니메이션을 제작한다. 다른 소프트웨어와는 다르게 애니메이션을 분리해서 clip 단위로 제작하고 위 clip을 조합하여 하나의 애니메이션을 제작할 수 있다. 이를 통해 복잡한 애니메이션을 제작할 수 있다. 위와 같은 소프트웨어들을 활용한다면 복잡한 애니메이션을 쉽게 제작할 수 있다. 하지만, 이를 활용하기 위해서는 사용자가 소프트웨어에 대한 이해가 있어야 하고, 애니메이션 제작하는 방법에 대한 이해가 필요하다. 또한, 활용한다면 다양한 애니메이션을 만들 수 있지만, 유지보수 애니메이션을 제작하기 위해서는 소프트웨어의 모든 기능들을 활용할 필요가 없다. 일부의 기능만이 필요하다. 또한, 위 소프트웨어들을 활용한다면, 다양한 형태의 포맷으로 나오게 되지만 결국에는 모든 포맷들은 프레임 단위로 제작되며, 타 소프트웨어에서 호환되지 않는 파일로 될 수 있다. 따라서, 사용성 및 호환성이 다소 낮기 때문에 유지보수 애니메이션 제작을 위한 저작도구가 필요하며, 모든 플랫폼에서 호환 가능하도록 중립 포맷 개발이 필요하다.
Table 2.
Comparison of Existing Animation Software
2.2 AR-Based Maintenance Research
전 산업 분야에서 증강현실 기술을 활용하기 위해 노력하고 있으며, 증강현실 기술 콘텐츠 저작을 위한 저작도구에 대한 연구가 많아지고 있다.
사용자들이 마커 기반 및 터치 기반 상호 작용을 갖는 AR 콘텐츠를 쉽게 생성 가능한 모바일 AR 저작도구 인터페이스를 제안한 연구가 있었다(Wang et al., 2009). 사용자는 RGB-D 카메라를 통해 마커를 인식, 간단한 제스처 사용으로 다양한 대화형 기능을 적용 가능한 비프로그래머 사용자도 제스처를 통해 가상 객체에 대화형 기능을 쉽게 적용 가능한 AR 콘텐츠 저작도구 제안한 연구가 있었다(Yang et al., 2016). 위치 기반 모바일 게임에 AR 기능을 추가한 게임을 만들기 위한 저작 도구 LAGARTO를 개발한 연구가 있었다(Silva et al., 2017). 기계부품 조립을 위한 AR 작업 지침 생성을 위한 저작도구 개발한 연구가 있었다(Lavric et al., 2020). 비전문가의 모바일 AR 환경에서 데이터 시각화 생성을 위한 저작도구 개발 연구가 있었다(Chen et al., 2019). 클라우드 기능과 AR 기술을 결합하여 강사와 학생 간 저작을 가능하게 하는 협업 AR을 위한 저작 플랫폼 개발 연구가 있었다(Villanueva et al., 2020). 종이를 상호작용의 핵심으로 두어 디지털 미디어, 애니메이션 클리핑 마스크로 보강하여 교사가 AR 교육 경험을 만들 수 있는 저작도구 개발 연구가 있었다(Rajaram and Nebeling, 2022). 수동 작업용 디지털 지침을 생성하기 위한 저작 도구를 제시한 연구가 있었다(Zogopoulos et al., 2022).
위와 같이 AR 콘텐츠 저작을 위한 많은 연구가 이루어지고 있지만, 제작을 위해 시퀀스가 중요한 유지보수 애니메이션을 제작하기 위해서는 한계점들이 존재한다. 따라서, 유지보수 작업에서 의사 결정을 지원해주기 위한 유지보수 애니메이션 제작을 위한 저작도구가 필요하다.
2.3 현재 연구
제안된 저작 도구를 사용하면 위에서 언급한 호환성 및 유지 관리 저작 도구 기술의 한계를 극복하고 산업 발전에 기여할 수 있다.
플랫폼 독립성 강화: 본 연구에서는 Json 형식을 채택하여 플랫폼 독립성을 강화하는 것을 목표로 한다. Json의 유연성은 다양한 소프트웨어와 플랫폼 간에 원활한 데이터 교환을 가능하게 하여 다양한 시스템에서 사용성과 호환성을 향상시킬 수 있다. 이를 통해 사용 중인 특정 소프트웨어나 플랫폼에 관계없이 유지 관리 애니메이션을 효과적으로 만들고 활용할 수 있다.
향상된 사용성 및 호환성: Json 형식을 사용하면 플랫폼 독립성을 촉진할 뿐만 아니라 사용성과 호환성도 향상된다. 이 형식을 사용하는 유지 관리 저작 도구는 사용자 친화적인 인터페이스를 제공하고 광범위한 장치 및 소프트웨어 환경과의 호환성을 보장할 수 있다.
3. 증강현실 유지보수 애니메이션 제작을 위한 저작도구 설계
3.1 선박 유지보수에 사용되는 공구 분석
선박에는 무수히 많은 장비가 탑재되어 있고 항해에 필요한 장비(타, 엔진, 펌프 등)들은 항시에 사용할 수 있도록 주기적으로 관리하고 있다. 이러한 상황으로 인해 선박에는 장비를 유지보수하기 위한 공구들이 많이 존재한다. 따라서, 선박에 탑재되는 공구들을 분석하고 운동 방식이 유사한 공구끼리 분류하여 움직임을 애니메이션화할 수 있도록 정의가 필요하다.
선박에 탑재되는 공구는 Fig. 1과 같이 무수히 많이 존재하지만 공구는 크게 부품을 들어올리기 위한 공구, 체결 및 해체를 위한 공구, 측정을 위한 공구 등으로 분류 가능하다. 또한, 이를 운동으로 표현하자면 직선, 회전, 고정 운동으로 크게 분류 가능하며, 예외적으로 복합 운동을 하는 공구의 경우 직선, 회전, 고정 운동을 조합하여 조작 가능함을 확인할 수 있었다. 따라서, 이를 종합한 결과 본 연구에서는 Table 3처럼 Translational, Rotational, Pusion, Fix와 같이 공구의 운동을 총 4가지 타입으로 분류 가능하였다. 여기서, Translational타입은 Hook, Chain 등과 같이 어떤 것을 들거나 움직이게 하는 공구들의 타입을 의미한다. Rotational은 나사, 볼트와 같이 고정된 부품을 쪼이거나 푸는 운동 및 토크 운동 등을 아우를 수 있는 타입을 의미한다. Pustion 타입은 Puller와 같이 한 번에 사용하지 못하고 고정시키고 토크를 이용한 운동 타입을 의미한다. Fix 타입은 측정기계 및 분사용 도구 등과 같이 고정된 공구로 사용되는 경우의 타입을 의미한다.
3.2 정비 애니메이션 제작을 위한 조건 정의
Fig. 2는 Camshaft Bearing Sequence로 유지보수를 위해서는 반드시 위의 Sequence와 같이 조립 및 해체 작업을 진행해야한다. 증강현실 기반 유지보수 시스템에서는 위 시퀀스를 유지보수 애니메이션으로 제작해야지 증강현실에서 활용가능하다. 따라서, 장비 부품의 축과 회전축, 운동 타입에 따른 컨트롤 등을 위해 제약 조건을 정의해야 한다. 우선, 장비의 부품, 공구를 살펴본다면 체결 방향이나 해체 방향은 정해져 있으며 공구도 정해져 있다. 또한, 모델들은 모델링된 소프트웨어를 통해 좌표축이 결정되기 때문에 소프트웨어에 독립적인 상대 좌표 기반으로 운동을 가시화해야 한다. 따라서, 섹션 3.1, 3.2에서의 조건을 정의해 보면 다음과 같다.
1) Table 1과 같이 총 4가지의 운동만을 고려한다.
2) 유지보수가 필요한 부품과 공구는 같은 방향으로 운동한다.
3) 유지보수가 필요한 부품 및 공구의 3D 모델은 존재한다.
4) 모든 부품은 체결 방향이나 해체 방향은 정해져 있다.
4. 정비 애니메이션 시스템
4.1 System Overview
본 연구에서는 제안하는 저작도구는 사용자가 손쉽게 정비 애니메이션을 만들 수 있고, 다른 플랫폼에서도 쉽고 가볍게 적용 가능한 정비 애니메이션 저작도구이다. Fig. 3은 정비 애니메이션 저작도구를 간략하게 보여주고 있다. Fig. 3에서 보듯이 제안한 시스템은 크게 4가지 영역으로 나눌 수 있다. 첫 번째는 정비에 대한 기본적인 정보를 생성하기 위한 단계로 애니메이션 ID를 설정할 수 있으며, 애니메이션에 대한 상세한 설명도 설정할 수 있다. 두 번째 단계는 움직여야 하는 부품에 대한 정보를 생성하기 위한 단계로, 부품의 ID, 공구와의 정합을 위한 축 정보 등을 설정하는 단계이다. 세 번째 단계에서는 공구에 대한 정보를 생성하기 위한 단계로, 공구의 ID, 정합을 위한 축, 운동 강도, 속도 등 공구의 모션을 표현하기 위한 정보를 설정하고 정비 애니메이션 정보를 가진 중립포맷의 형태로 Json 파일 형식으로 저장한다. 네 번째 단계에서는 시스템에서 제작한 애니메이션을 로드하여 정비 애니메이션을 실행하는 단계이다.
4.2 정비 애니메이션 저작도구 인터페이스
저작도구를 개발하기 위해서는 데이터를 입력받는 부분, 데이터를 관리해 주는 부분, 데이터를 활용하는 부분이 필요하다. 이를 순서도로 표현하면 Fig. 4와 같다. 우선, 사용자로부터 Animation → Target → Tool를 순서대로 입력받는다. 중립 포맷에 저장되는 데이터 형식은 다양한 환경에서 활용할 수 있게 설계된다. 이 과정을 설명하기 위해 메인엔진의 실린더 오버홀 과정을 예로 들어 설명한다. 우선, Fig. 5(a)는 메인엔진 실린더 오버홀의 시퀀스를 나타내고 있다. 유지보수 작업은 1, 2, 3, 4번과 같이 순차적으로 진행된다. 수행되는 작업에 대한 정보와 상세 작업 내용은 Fig. 4에서 나타난 AnimationInfo에서 입력을 받고, 이는 Fig. 5(b)에 AnimationInfo에 연결된다. 또한, 시퀀스에서 작업이 필요한 타겟(부품)은 Fig. 4에서 나타난 TargetInfo(모델의 이름, 좌표, 회전축) 에서 입력을 받고, 이는 Fig. 5(b)에 TargetModel과 연결된다. 마지막으로 시퀀스에서 작업을 위한 공구는 Fig. 4에서 나타난 ToolInfo(모델의 이름. 좌표, 회전축, 운동 타입 등)에서 입력을 받고, 이는 Fig. 5(b)에 ToolModel과 연결된다. 이를 통해 모든 시퀀스에 대한 정보들을 Json 포맷에 저장가능하다.
Json 파일에서 AnimaionInfo에서의 Name은 애니메이션 이름, Desc는 애니메이션에 대한 설명을 의미한다. TargetModel에서의 Name은 부품에 대한 ID고, Pos는 커넥트 포인트 좌표, Axis는 회전축을 의미한다. ToolModel에서의 IsTotal은 모델 전체를 움직일지, 아니면 모델의 한 부분만 움직일지를 설정할 수 있게 해준다. 예를 들어, 풀러라는 공구에서 중앙나사만을 움직이고 싶은데, Group에서 Total(True)을 선택하게 되면 Fig. 6과 같이 전체 풀러가 움직이게 된다. 따라서, 전체 모델 중 파트만 움직이고 싶으면 Fig. 7과 같이 Group에서 Single(False)을 선택하면 파트하나만 움직임이 가능하다. Fig. 7(a)는 중앙 나사만을 돌리는 것을 가시화하였으며, Fig. 7(b)는 다리만을 움직이는 것을 가시화하였다.
Step은 몇 번째 스텝인지를 의미하며, Driver와 같이 하나의 모션만으로 구성되어 있으면 Step 0, 풀러와 같이 4개의 스텝으로 구성되며 움직임마다 0, 1, 2, 3으로 순차적으로 Step이 입력된다. Name은 모델의 Key이며, SinglePartName은 모델 안에 있는 파트를 의미한다. OperType은 0은 직선, 1은 회전, 3은 복합, 4는 고정 운동을 의미한다. ConnectPos는 공구와 부품을 연결하기 위한 좌표를 의미하며, ConnectAxis는 회전 축을 의미한다. AxisPos는 운동을 위한 좌표이고, RotAxis는 운동을 위한 회전축이다. TransStrenth는 직선 운동을 위한 강도이며, 이는 직선 운동의 거리를 의미한다. RotStrenth는 회전 운동을 위한 강도이며, 이는 회전시키고 싶은 각도를 의미한다. 마지막으로 RepeatTime은 속도를 나타내며 1프레임에 얼마만큼씩 운동을 할지를 의미한다. 즉, 사용자가 원하는 PlayTime을 수식으로 나타내면, 식 (1)과 같이 표현할 수 있다. 이를 통해 제작자가 원하는 속도에 맞춰 애니메이션 제작이 가능할 것이다.
이를 통해 공구의 애니메이션을 구현해 보면 Fig. 8과 같이 다양한 공구의 애니메이션을 가시화할 수 있다.
또한, 앞에서 제작한 Json은 하나의 운동만으로 이루어져있기 때문에, 시퀀스가 정해져있는 정비에서는 사용할 수 없다. 따라서, 이를 활용하기 위해 Fig. 9과 같이 공구의 이름으로 폴더를 생성하여 공구에 대한 Json 파일을 저장하고, 공구의 이름으로 된 폴더를 전체 유지보수 시나리오의 이름으로 된 폴더에 저장하여 정비 시퀀스대로 활용할 수 있도록 구성하였다.
저장된 정비 시나리오 폴더에 접근하여 정비 순서대로 Json 파일을 로드하여 정비 시퀀스대로 정렬하였다. 이를 수행하면 동작하는 부분에서는 정합을 진행하고, 그 후 애니메이션이 실행된다. 정합을 진행하기 위해서는 앞서 정의한 공구와 부품 간의 좌표를 정합하기 위한 커넥트 포인트가 필요하다. 여기서, 커넥트 포인트란 타겟과 공구 사이를 연결시켜 주는 축을 의미한다. 커넥트 포인트는 Fig. 10와 같이 모델을 제작할 때 제작자가 기준으로 둔 축에 따라 축이 정해지기 때문에 커넥트 포인트를 조종할 수 있게 해야 한다. 따라서, 타겟의 바운딩 박스와 공구의 바운딩 박스를 -1~1로 정규화하고, 좌표에 값을 비율로 하여 주는 것을 통해 좌표축을 조정해줄 수 있게 하였다.
또한, 공구와 툴 간의 좌표를 통해 회전을 줘야한다. 회전을 주기위해서는 공구를 타겟의 방향과 일치하도록 맞춰줘야 된다. 이를 통해서 정합이 가능해진다. 정합과정을 가시화하면 Fig. 11과 같고 (a)와 같이 좌표를 Target에 맞추고, (b)와 같이 방향은 Target에 맞게 좌표를 회전시키면 된다. 정합을 완료하게 되면, 애니메이션을 플레이하여 증강현실에서 사용할 수 있도록 구현하였다.
5. 프로토타입 개발
5.1 프로토타입 구성
이번 장에서는 앞서 3장에서 정의한 프로세스를 구현할 수 있도록 프로토타입을 구현하였다. 우선, 프로토타입은 Fig. 12와 같이 총 3개의 View로 이루어져 있다. 첫 번째로 Fig. 12(a)와 같이 Animation Info view에서는 애니메이션 ID와 설명을 설정가능하다. 이를 설정하면, Json Format에 AnimationInfo 항목에 저장된다. 두 번째로 Fig. 12(b)와 같이 TargetModel에서는 부품과 회전 축, 커넥트 포인트 좌표를 설정할 수 있다. 이를 설정하면, Json Format의 TargetModel항목에 저장된다. 세 번째로 Fig. 12(c)와 같이 ToolView에서는 공구에 대한 이름, 커넥트 포인트, 좌표, 운동 타입 등을 설정할 수 있다. 이를 설정하면, Json Format의 ToolModel 항목에 저장된다.
5.2 프로토타입 실행 및 로드 테스트
본 연구의 프레임 워크의 유효성을 검증하기 위해, 엔진 실린더와 펌프 베어링을 제거하는 시나리오를 제작하였다. 연구에서 사용된 개발한 환경은 Table 4와 같다. 또한, 프로토타입을 구현하기 위해 작성한 시나리오는 Table 5와 같다.
Table 4.
Development environment
Table 5.
Scenario
프로토타입은 Unity에서 개발하였고, 프로토타입을 통해서 시나리오를 Json 형식으로 저장하여 다른 플랫폼과의 호환성을 검증하였으며, 증강현실에서도 사용할 수 있는지 검증하기 위해 AR Core 라이브러리를 사용하여 실제 모델을 증강시켜 검증하였다.
5.2.1 Unity(Development Platform)
Fig. 13은 엔진 실린더 제거 시나리오를 구현하였으며, Fig. 14는 펌프 베어링 제거 시나리오를 구현하였다. 또한, 본 시나리오들은 Unity(Development Platform)에서 작성한 유지보수 시나리오를 본 연구의 저작도구 프로토타입을 통해 제작하였다. 제작한 유지보수 애니메이션을 Json 포맷으로 저장하였고, 저장된 Json 파일을 불러와서 애니메이션을 실행하였다. 결과적으로 저작도구로 제작했을 때와 동일하게 애니메이션이 실행됐다는 것을 확인할 수 있었다. 또한, Section. 5.2에서와 같이 저장된 Json 파일을 다른 3D 가시화 플랫폼에서 실행시켰다.
5.2.2 Helix Toolkit(Other Platform)
3D 가시화 툴인 Helix Toolkit에서 엔진 실린더 제거 애니메니션을 실행 및 펌프 베어링 제거 애니메이션을 실행하였다. 이는 Fig. 15, 16과 같다. Fig. 15, 16에서 확인할 수 있듯이 저작도구에서 만든 Json 파일을 다른 플랫폼에 적용해 보니 프로그래밍에서 제공해 주는 Vector, Translate, Rotate 함수에 적용 가능하도록 설정만 해주면 동일한 애니메이션이 실행된다는 것을 확인할 수 있었다. 이를 통해 타 플랫폼에서도 Json으로 저장된 애니메이션을 사용할 수 있다는 것을 확인할 수 있었다.
5.2.3 AR(Utilization Test)
AR Core를 활용하여 증강현실에서 엔진 실린더 제거 애니메이션을 실행 및 펌프 베어링 제거 애니메이션을 실행하였다. 이는 Fig. 17, 18과 같다. Fig. 17, 18에서 확인할 수 있듯이 실제로 AR Core를 통해 모델을 현실에 증강시켰을 때, Test 1, 2번과 같이 동일하게 애니메이션이 실행되는 것을 확인할 수 있었다.
5.2.4 Discussion(사용)
본 연구의 저작도구의 효율성을 입증하기 위해 모델에 Animation을 입히는 방식, Unity에서의 Animation Controller을 활용한 방식, 제안한 저작도구를 활용하여 나사 제거 애니메이션을 제작하여 비교하였다. 그 결과는 Table 6과 같다. Table 6에서 View는 소프트웨어를 통해 만든 애니메이션을 나타낸다. 그 결과, Table 6의 View에서 보듯이 모든 소프트웨어는 동일하게 애니메이션이 만드는 것이 가능했다. 하지만, 3D Max에서 나온 .fbx애니메이션은 다른 플랫폼에서 지원 가능한 경우에만 사용할 수 있으며, 프레임 단위로 컨트롤 가능하기에 활용성이 떨어진다. 또한, Unity에서 제작한 독립적인 .anim 파일을 컨트롤러를 통해서 사용하기 때문에 다른 플랫폼에서 사용할 수 없다. 하지만, 본 저작도구에서는 .json 포맷으로 나오기 때문에 타 소프트웨어에서 사용하기 위해 parameter만을 변경해준다면 어디서든 사용 가능하다.
Table 6.
Comparison with other software
또한, 사용자의 만족도를 평가하기 위해 Fig. 19와 같이 사용성, 학습 가능성, 인지 부하, 완료 시간이라는 4개의 항목을 가지고 인하대학교 지능형 설계 자동화 연구실 멤버 10명에게 평가를 받았다. 여기서, 사용성은 소프트웨어를 효과적으로 사용할 수 있는 정도를 나타내고, 학습 가능성은 새로운 사용자가 제품을 얼마나 쉽게 배우고 익힐 수 있는지를 나타낸다. 인지 부하는 사용자가 정보를 이해하고 처리하는데 필요한 정신적 노력의 양을 나타낸다. 마지막으로 완료 시간은 사용자가 특정 작업을 완료하는데 걸린 시간을 나타낸다. 이를 평가해 보니, 사용성을 제외한 모든 항목에서 제안한 저작도구가 가장 만족도가 높았다. 사용성 부분의 경우 일반적인 캐드와 비슷한 부분이 아니라, 처음 접해보는 프로그램이기 때문에 소프트웨어가 직관적으로 이해하기 어렵다는 의견이 많았다. 하지만, 제안한 저작도구의 경우, 플로우를 이해하기만 하면 클릭, 입력 정도만 있기 때문에 학습도 쉽고, 제작이 빠르게 가능했다.
하지만, 제안한 저작도구는 유지보수를 위한 애니메이션을 제작하기 위한 저작도구이기 때문에 다른 소프트웨어처럼 화려한 애니메이션은 제작할 수 없다는 한계가 있었다. 또한, UI/UX가 일반적인 애니메이션 제작이 가능한 엔지니어링 소프트웨어와 다르기 때문에 매뉴얼 없이 처음 사용해 보는 사람은 사용하기 어렵다는 한계가 존재했다.
6. 결 론
본 연구에서는 증강현실 기반 원격 유지보수 시스템에서 명확한 지시를 위한 신속하고 경량의 정비 애니메이션 저작도구를 제안한다. 저작도구를 개발하기 위해 유지보수에서 사용되는 작업 공구들의 유형을 분석하고 유사한 유형을 그룹화하고 해당 그룹화 된 작업 공구의 유형에 대한 제약사항과 운동에 대해 정의했다. 또한, 정비 애니메이션에서 목표와 도구 간 정확한 정합을 고려하여 좌표축을 조정할 수 있게 구현했습니다. 또한, 작업 공구의 애니메이션을 위해 움직임 및 회전의 강도 및 속도를 조절할 수 있도록 가능하게 했다.
저작도구 테스트에서 제안된 저작도구는 가벼운 형식인 Json 파일로 유지보수 애니메이션을 생성하게 함으로써 타 플랫폼에서 사용할 수 있다는 것을 확인하였다. 본 연구에서 제안한 Json 형식은 다른 3D 플랫폼과 호환되며 매개 변수만 일치시키면 사용 가능함을 확인하였다. 또한, 실제 환경에서 증강시킬 때, 사용자의 의도와 일치하는 애니메이션을 생성 가능한 것을 확인할 수 있었다. 이러한 확장성을 통해 저작도구 플랫폼, 플랫폼 간 환경, 그리고 증강현실과 같은 다양한 영역에서의 적용 가능하다는 것을 확인할 수 있었다.
그러나 제안된 도구가 다른 플랫폼에서 생성된 애니메이션과의 호환성 문제를 극복하는 효능은 시연되었지만 더 다양한 시나리오에서의 유효성을 확인하기 위한 검증이 필요하다. 향후에는 도구의 기능을 더욱 개선하고 더 넓은 호환성을 보장하며 증강현실 기반 원격 유지보수 시스템의 진화하는 요구에 대응하기 위해 노력이 필요하다.
























