세이코 엡손이 유니티를 활용하여 제품 개발의 효율성을 향상시킨 방법

세이코 엡손 주식회사는 다양한 산업 기계를 제공하는 것으로 알려져 있으며, 20년 이상 전에 통합 소프트웨어인 Epson RC+(이하 RC+)를 처음 출시했습니다. 이 소프트웨어는 사내 로봇의 배치 및 유지 관리를 지원하기 위해 구축되었습니다. 그 이후로 여러 번의 버전 업그레이드를 거쳤으며, 2024년 9월에 최신 버전인 RC+ 8.0이 출시되었습니다. 유니티는 로봇의 움직임을 검증하기 위해 설계된 소프트웨어 도구인 RC+ 8.0 시뮬레이터 개발에 채택되었습니다.
이전 버전의 시뮬레이터에서 제공된 기능을 유지하면서, 유니티를 사용하여 재개발하기로 한 결정은 두 가지 주요 목표에 의해 추진되었습니다: RC+의 핵심이 크게 재구성된 8.0 버전 개발에 적응하고, 개발에서의 개별 의존성 문제를 해결하는 것입니다.
이것은 유니티가 RC+ 개발을 담당하는 제조 솔루션 운영 부서에서 처음 사용된 경우였기 때문에, 팀은 제품 품질과 개발 속도를 보장하기 위해 유니티의 유료 지원 서비스를 활용했습니다.
이 사례 연구는 세이코 엡손 팀이 유니티를 활용하여 개발에서의 개별 의존성 문제를 해결하고, 소프트웨어 품질과 전반적인 경험을 향상시키며, 부서 내 팀 구조 확장과 관련된 문제를 해결하는 경로를 성공적으로 구축한 방법을 강조합니다.
간소화된 개발: 최신 기술 스택의 채택은 개발 팀의 확장을 촉진할 뿐만 아니라 개발 프로세스에서의 개별 의존성을 개선했습니다. 이로 인해 기능 추가 및 유지 관리와 같은 업데이트가 훨씬 쉬워진 개발 환경이 조성되었습니다.
- 3D 기술: 유니티의 고급 3D 렌더링 기능의 채택은 이전 버전보다 빠른 렌더링 속도를 포함하여 여러 가지 이점을 가져왔습니다.
- 향상된 경험: 또한 개발자는 개발 중 3D 객체를 시각적으로 검사하면서 디버깅할 수 있어 전반적인 경험이 향상되었습니다.
- 전문가 지원: 유니티의 유료 지원 서비스인 통합 성공은 프로젝트 리뷰 및 유니티 엔지니어의 컨설팅에 대한 접근을 제공했습니다. 이 서비스를 활용함으로써 팀은 소프트웨어 품질을 크게 향상시킬 수 있었습니다.
레거시 소프트웨어의 복잡성과 의존성 극복
엡손 RC+는 출시 이후 지속적인 업그레이드를 거쳐 수많은 고객으로부터 폭넓은 지지를 받는 제품으로 발전했습니다. 일곱 번째 세대 — RC+ 7.0 — 는 2012년 12월에 출시되었습니다. 시간이 지남에 따라 기능을 향상시키기 위해 소규모 업데이트가 시행되었지만, 시간이 지나면서 사용자 인터페이스(UI)의 단점이 드러났습니다. 이로 인해 소규모 업데이트보다는 근본적인 모델 개편이 필요하게 되었고, RC+ 8.0의 개발로 이어졌습니다.
그러나 RC+ 7.0이 개발될 당시 두 가지 주요 과제가 발생했습니다. 첫 번째는 특정 팀원에게 기능 개발을 과도하게 의존하는 것이었고, 두 번째는 소프트웨어의 높은 복잡성이었습니다.
RC+는 세이코 엡손이 제공하는 다양한 로봇의 배포부터 유지 관리까지 지원하는 통합 소프트웨어로, 다양한 기능을 제공합니다. 이로 인해 이러한 기능들이 복잡하게 얽히게 되어, 추가 기능이 도입될 때 새로운 기능이 시스템에 미칠 영향과 위치를 이해하기 어려워졌습니다.
이러한 문제를 해결하기 위해 RC+ 8.0의 개발이 2017년에 시작되었으며, 다양한 기능에서 공유되는 구성 요소를 위한 공통 플랫폼을 만드는 것과 아키텍처를 재구성하는 데 중점을 두었습니다. 이러한 노력은 개발 속도와 소프트웨어 품질을 모두 향상시키는 것을 목표로 했습니다.

엡손 RC+ 시뮬레이터 화면입니다. 이미지 제공: 세이코 엡손 주식회사.
RC+ 시뮬레이터 재구성: 기술적 및 구조적 장애물 해결
RC+에는 로봇 움직임을 검증하기 위한 시뮬레이터가 포함되어 있지만, 이것도 도전에 직면했습니다. MS 기획 및 설계 부서의 시뮬레이터 개발 책임자인 마사노부 니시타니 씨는 "RC+ 8.0 개발 초기, 세이코 엡손 주식회사는 처음에 7.0 버전에서 사용된 시뮬레이터를 재사용하는 것을 고려했지만 곧 문제가 발생했습니다."라고 설명했습니다.
RC+ 7.0은 C++로 프로그래밍되었지만, 8.0 버전은 C#으로 전환되었습니다. 또한, UI 프레임워크는 이전에 사용된 Windows Forms에서 WPF로 전환되었습니다. 주요 RC+ 시스템의 이러한 구조적 변화로 인해 시뮬레이터의 특정 기능이 작동을 멈췄습니다.
게다가, 시뮬레이터 개발은 주요 RC+ 애플리케이션을 개발하는 팀과 독립적인 별도의 팀에 의해 처리되었습니다. 그러나 시뮬레이터의 플랫폼이 OpenGL을 기반으로 했기 때문에 회사 내부와 외부 모두에서 자격을 갖춘 인력의 가용성이 제한되어 개발 팀을 확장하는 데 어려움이 있었습니다.
문제를 복잡하게 만든 것은 같은 부서에서 RC+ 외에도 3D 표현을 포함한 여러 소프트웨어를 출시했다는 점입니다. 그러나 이러한 소프트웨어 제품 각각은 서로 다른 환경에서 개발되었고 개별적으로 유지 관리되었습니다. 이로 인해 니시타니가 "바퀴를 재발명하는 것"이라고 설명한 비효율성이 발생했습니다.
RC+ 시뮬레이터 혁신: 왜 Unity가 명확한 선택이었는가
C# 및 WPF로 구축된 현대 환경에 맞추기 위해 3D 엔진을 도입하고 시뮬레이터를 재개발하며 부서 전반에 걸쳐 통합된 3D 개발 환경을 구축하기로 결정했습니다. 2021년 3월, 잠재적인 3D 엔진에 대한 평가가 시작되었습니다.
니시타니와 개발 팀은 다양한 게임 엔진과 오픈 소스 3D 엔진을 신중하게 고려하고 광범위하게 테스트했습니다. 궁극적으로 그들은 Unity를 채택하기로 결정했습니다. 그는 이 결정의 주요 이유를 강조했습니다. "기존 시뮬레이터의 기능을 복제할 수 있는 능력, 모바일 개발에 적합함, 일본어로 제공되는 정보의 풍부함, 그리고 활발한 개발자 커뮤니티가 모든 차이를 만들었습니다."

Unity가 Epson RC+에 도입되었습니다. 이미지 제공: 세이코 엡손 주식회사.
“기존 시뮬레이터의 기능을 복제할 수 있는 능력, 모바일 개발에 적합함, 일본어로 제공되는 정보의 풍부함, 그리고 Unity가 제공하는 활발한 개발자 커뮤니티가 모든 차이를 만들었습니다.”
Masanobu Nishitani - Seiko Epson Corp.
Development Leader Simulator, MS planning and design departmentRC+ 시뮬레이터 업그레이드: Unity의 이점
2021년 10월, 니시타니와 그의 팀은 Unity를 채택하기로 결정하고 RC+ 시뮬레이터의 변환을 시작했습니다. 실제 개발을 담당했던 준 토다는 Unity 사용의 이점을 강조했습니다. "디버깅 중 3D 객체를 시각적으로 검사할 수 있어 개발을 진행하는 것이 훨씬 쉬워졌습니다."
개발이 새로웠지만 RC+ 7.0 시뮬레이터의 기능을 추적하는 것으로 시작했습니다. 이전 버전을 구현한 니시타니는 "OpenGL로 시뮬레이터를 개발할 때와 비교했을 때, 같은 3D 데이터를 사용하고 있음에도 불구하고 시각적으로 상당히 향상되었다고 느꼈습니다."라고 설명했습니다.
그는 또한 Unity의 변화 덕분에 향후 새로운 기능을 추가할 때 더 효율적인 개발이 가능할 것이라는 낙관적인 의견을 표현했습니다.

이미지 제공: 세이코 엡손 주식회사
전문가 지원으로 혁신 가속화
이 부서는 Unity 도입과 함께 유료 지원 프로그램 Essential Success에 처음으로 가입했습니다.
"우리 부서가 Unity를 사용하는 것은 처음이었기 때문에, 스스로 문제를 해결하는 데 많은 시간이 걸릴까 걱정했습니다. 우리는 다양한 문제를 신속하게 해결하고 긴급성을 가지고 고품질 제품을 생산하기 위해 유료 지원이 필요하다고 느꼈습니다" - 마사노부 니시타니
2023년 11월, 세이코 엡손 주식회사는 지원 계획을 Integrated Success로 업그레이드했습니다. 이 업그레이드의 목표는 프로젝트 리뷰를 수행하여 Unity의 수석 엔지니어로부터 직접 기술 지도를 받을 수 있는 것이었습니다. 2024년 4월, Unity 엔지니어들이 나가노현 스와시에 있는 세이코 엡손 주식회사의 본사를 방문했습니다.
"복잡하고 대규모 CAD 모델을 렌더링할 때 매우 오랜 시간이 걸렸기 때문에, 우리는 Unity 팀이 그 측면에 집중하도록 했습니다."라고 토다가 프로젝트 리뷰를 회상하며 말했습니다. "그들은 병목 현상을 식별했을 뿐만 아니라, 직접적인 소통을 통해 문제를 해결하는 과정에서 디버깅 중 프로파일링 도구를 사용하는 방법과 같은 귀중한 통찰을 제공했습니다. 이 경험은 향후 개발에 매우 의미 있는 경험이었습니다."

세이코 엡손 주식회사 본사에서 Unity 엔지니어에 의한 프로젝트 리뷰
사고의 전환: 자신감을 가지고 혁신을 수용하기
지금까지 Unity의 RC+8.0 개발에서의 역할은 공개되지 않았지만, 니시타니와 세이코 엡손 주식회사의 영업 부서는 앞으로 RC+8.0의 도달 범위를 더욱 확장하기 위해 적극적으로 홍보하고 싶어합니다.
개발 환경도 다양한 변화를 겪었습니다.
니시타니 씨는 "우리가 OpenGL을 사용하던 시절에는 새로운 기능을 개발하는 것이 어려웠습니다... 개발 팀 내에서는 현실적으로 달성할 수 있는 것에 대한 회의감이 있었고, 발생할 수 있는 문제를 처리하는 방법에 대한 우려가 있었습니다."라고 설명했습니다.
Unity 구현 이후, 팀은 도전 과제를 해결할 수 있는 지식과 솔루션이 온라인 검색을 통해 쉽게 접근 가능하다는 것을 발견했습니다. 이 변화는 팀 내에서 새로운 분위기를 만들어냈으며, 개발 과정에서 발생할 수 있는 장애물에 자신감을 가지고 대처할 수 있게 되었습니다.
팀의 회복력: 의존성 문제 극복하기
RC+ 시뮬레이터는 원래 약 4명의 팀원에 의해 개발되었으며, 정점에서는 6명으로 확장되었습니다. 니시타니는 Unity의 채택이 개발 팀을 더욱 확장할 수 있는 길을 열어주었고, 개발에서 개인 의존성 문제를 해결하는 데 도움을 주었다고 강조했습니다.
"그들이 시뮬레이터 개발자로 특별히 고용된 것은 아니지만, 일부 팀원들은 회사에 입사할 때 이미 Unity 경험이 있었고, 몇몇은 도입 이후 Unity를 배우기 시작했습니다." 이들 멤버를 포함시킴으로써, 우리는 개발 프레임워크를 강화할 수 있는 잠재력을 보았습니다. 이는 이전 버전의 개발과 비교할 때 상당한 변화를 나타냅니다."
미래에 대한 전망
현재 시뮬레이터 개발 팀은 다음 업데이트 계획을 작업하고 있습니다. 다가오는 업데이트의 목표는 시뮬레이션의 범위를 확장하는 것입니다.
현재 RC+는 로봇의 움직임을 시뮬레이션하는 데 제한되어 있습니다. 그러나 니시타니는 세이코 엡손의 미래 계획을 공유했습니다. "우리는 이를 회사가 제공하는 다양한 주변 장치를 시뮬레이션하는 데 사용할 수 있는 소프트웨어로 발전시키는 것을 목표로 하고 있습니다."
"우리는 이 비전을 가지고 나아가면서 Unity가 제공하는 다양한 기능을 활용하기를 기대합니다."라고 그는 덧붙였습니다.
새로운 기술을 수용하고 혁신 문화를 조성함으로써, 세이코 엡손은 개발 프레임워크를 강화했을 뿐만 아니라 산업 자동화에 대한 보다 확장 가능하고 효율적이며 미래 지향적인 접근 방식을 위한 기초를 마련했습니다.




