다이슨(Dyson)은 최적의 물청소 솔루션을 개발하기 위해 새로운 접근 방식이 필요하다는 연구 결과를 도출했다. 그 결과물이 바로 수세기의 역사를 지닌 가정용 청소 도구인 대걸레를 재해석한 청소기 ‘다이슨 워시G1(Dyson WashG1)’이다.
다이슨 엔지니어들은 이 제품을 개발하기 위해 항공우주 산업 등 복잡한 시스템 설계에 쓰이는 엔지니어링 방법론을 일상 제품에 적용했다. 기존 제품의 개선 버전을 개발할 때는 효과적이었던 다이슨의 문서 기반 워크플로가 완전히 새로운 제품군을 만드는 데는 적합하지 않았기 때문이다. 이에 다이슨의 첨단 제어 시스템 수석 엔지니어인 로맹 기셰르(Romain Guicherd)는 팀을 설득해 모델 기반 설계(model-based design : MBD)를 도입했다. 모델 기반 설계란 시스템 레벨 시뮬레이션 모델을 활용해 시스템 개발 방식을 개선하는 방법론이다. 이를 통해 개발 워크플로를 가속화하고, 테스트를 위한 보다 강건한 코드를 구현할 수 있었다.
모델 기반 설계로 바꾼 제품 개발 방식
다이슨은 진공청소기 등 기존 제품 라인업의 신제품을 개발할 때, 팀 간 요구사항의 전달에서 서면으로 된 문서 기반 방식을 사용해 왔다. 이러한 방식은 이전의 설계 및 임베디드 소프트웨어를 참고하고 반복 개선할 수 있어, 이미 안정화된 기존 제품군 개발에 적합한 방식이다. 그러나 완전히 새로운 제품군을 개발하는 과정에서는 이러한 문서 전달 방식이 오히려 혼선을 초래할 수 있었다. 문서로 작성된 설계 사양은 엔지니어마다 요구사항을 다르게 해석할 가능성이 있기 때문이다. 새로운 제품군 개발은 팀 간 오해를 줄이고 보다 원활한 협업을 가능하게 하는 새로운 개발 방식을 모색하게 하는 계기가 됐다.

▲ 다이슨 워시G1은 습식 오염과 건식 이물질을 모두 제거한다.
다이슨은 모델 기반 설계가 새로운 기능과 설계 방향을 탐색하는 데 적합한 개발 방식이라고 봤다. 개발 초기에는 다양한 개념과 방향을 동시에 검토해야 했는데, 시뮬링크(Simulink) 기반의 모델 기반 설계를 도입한 덕분에 팀은 기존 문서 기반 프로세스 대비 두 배 빠르게 새로운 아이디어를 구현할 수 있었다.
워시G1의 핵심 세척 방식은 촘촘한 마이크로파이버 천으로 감싼 역방향 회전 롤러를 탑재한 세척 헤드를 중심으로 구성된다. 습식 오염과 건식 이물질을 분리하기 위해 보조 롤러가 고체 이물질을 트레이에 모으고, 트레이 바닥의 메시 필터를 통해 액체가 오수 탱크로 흘러내려가는 구조다. 기셰르의 팀은 이 모든 기능을 구현하고 다양한 상황에 대응하기 위해, 상호작용하는 시스템 구성요소의 시뮬레이션을 용이하게 하고 설계부터 코드 생성, 소프트웨어 테스트까지 전 과정을 아우르는 툴이 필요했다.
팀은 세척 롤러 제어 장치 개발을 위해 심스케이프 일렉트리컬(Simscape Electrical)로 폼 롤러 모터와 모터 드라이브를 모델링했다. 또한 스테이트플로(Stateflow)를 활용해 청소기에 탑재된 두 개의 펌프, 즉 깨끗한 물로 롤러에 수분을 공급하는 펌프와 오수를 배출하는 펌프의 스케줄링과 제어 로직을 설계했다. 제품의 자동 세척 메커니즘 구현에도 스테이트플로가 활용됐다.
워시G1의 세척 성능을 구현하기 위해서는 단계별로 선택 가능한 수분 공급 수준과 각 단계의 세밀한 민감도 조정이 모두 뒷받침돼야 했다. 다양한 설정 값과 세척 부하 변화에 대응하려면 정밀한 전압 제어가 필수였다. 팀은 시뮬링크 모델로 매개변수를 조정하고 다양한 값을 반복 테스트하며 모터 전압 제어 로직을 빠르게 최적화했다. 실제 프로토타입을 제작하지 않고도 시뮬레이션만으로 설계 변경의 영향을 사전에 파악할 수 있었다는 점도 개발 효율을 높이는 데 크게 기여했다.

▲ 심스케이프로 모델링된 다이슨의 롤러 기술
다이슨은 요구사항 툴박스(Requirements Toolbox)를 활용해 요구사항을 시뮬링크 모델에 연결함으로써 각 요구사항이 제품 기능으로 어떻게 구현되는지 확인할 수 있었다. 요구사항 툴박스(Requirements Toolbox)를 사용하기 전에는 하드웨어 테스트 단계에 이르러서야 요구사항의 오류를 발견할 수 있었다. 하지만 요구사항을 모델에 연결한 이후로는 각 요구사항의 구현 방식과 요구사항 간 상호 관계를 사전에 명확히 파악할 수 있게 됐다.
시스템 시뮬레이션이 설계에 가져온 변화
시뮬링크와 심스케이프를 활용한 모델 기반 설계는 보다 체계적인 개발 접근 방식을 가능하게 했고, 다이슨이 프로토타입을 제작하고 테스트하기에 앞서 다양한 유형의 인더루프(in-the-loop) 테스트를 수행할 수 있도록 하였다. 모델 기반 설계 덕분에 엔지니어는 멀티도메인 모델링을 수행하고 타 팀과 긴밀하게 협업할 수 있었다. 일례로 기셰르의 팀은 배터리 셀 및 배터리 관리 시스템 팀의 데이터를 활용해 정밀한 4셀 배터리팩 모델을 구축했다. 또한 전자팀과 협력해 심스케이프 일렉트리컬로 전력전자 하드웨어의 동작을 모델링하고 시뮬레이션했다.
시뮬링크를 통한 시스템 레벨 시뮬레이션은 더 많은 설계 옵션을 검토하고 트레이드오프를 비교할 수 있는 환경을 만들어줬다. 그 결과 팀은 프로젝트의 설계 단계에 더 많은 시간을 투자할 수 있었고, 설계 오류와 통합 문제를 수정하기 훨씬 쉽고 비용도 적게 드는 초기 단계에서 발견할 수 있었다.
소프트웨어 아키텍처와 임베디드 코드 개발
이후 프로젝트에서 팀은 소프트웨어 아키텍처 개발을 위해 시스템 컴포저(System Composer)를 추가로 도입했다. 시스템 컴포저를 통해 제품팀과 소프트웨어팀은 소프트웨어 인터페이스와 스케줄링을 함께 개발하고 다양한 시나리오를 모델링할 수 있었다. 또한 대규모 모델을 논리적 단위로 구조화해 병합 충돌 없이 원활한 팀 간 협업이 가능해졌다.
시뮬링크 모델은 제품 동작을 시각적으로 표현함으로써 개발 전 과정에 걸쳐 팀원 간의 협업을 촉진했다. 제어 시스템 모델에서는 C 코드가 생성됐다. 팀은 모델을 수정하고 일부 구간에 주석을 달거나 새로운 블록을 추가하는 방식으로 소프트웨어 엔지니어에게 청소기의 새로운 동작을 보여줬다. RCP(Rapid Control Prototyping)를 활용하면 코드를 빠르게 생성하고, 다음 날 바로 실험실에서 제품의 동작을 확인할 수 있었다.
팀은 직접 코딩 대신 임베디드 코더(Embedded Coder)로 시뮬링크 모델에서 C 코드를 자동 생성했고, 소프트웨어팀은 이를 NXP 마이크로컨트롤러의 메인 코드에 통합했다. 임베디드 코더 도입 이후 소프트웨어 릴리스 주기는 기존 약 10주에서 9일로 단축됐다. 초기에는 실험실 환경에서의 동작 구현에 집중하였기 때문에 모델과 코드 생성을 핵심으로 삼았지만, 곧 모델과 코드, 테스트, 커버리지가 함께 어우러질 때 제품 완성도가 한층 높아진다는 사실을 확인했다.
테스트 효율을 높인 모델 기반 개발
팀은 이전 제품 개발 때보다 설계 개선에 더 많은 시간을 쏟았다. 시뮬링크를 통해 시뮬레이션 중 발생한 오류를 신속하게 수정할 수 있었고, 그 효과는 테스트 단계에서 그대로 나타났다. 이 테스트 단계는 과거보다 훨씬 단순하고 빨라졌으며, 팀의 개발 시간과 노력을 절감하는 데 기여했다. 모델에서 정상 작동하도록 설계한 것은 실제 제품에 적용해도 동일하게 구현됐고, 이는 무결점 제품 출시로 이어졌다.
워시G1의 모델 기반 설계와 코드 자동 생성이 성공을 거두면서, 초기에 회의적이었던 소프트웨어팀의 시각도 달라졌다. 자동 생성 코드가 내부 표준 준수와 실행 효율성을 담보할 수 있을지 우려하던 소프트웨어팀은 이제 코드에 대한 확신을 갖게 됐다. 현재 소프트웨어팀은 하드웨어팀과 협력해 자동 생성 코드의 API를 함께 정의하고 있으며, 모델 기반 설계에 시뮬링크를 활용하면서 유연성과 개발 속도 모두를 향상시켰다. 이제는 소프트웨어팀이 먼저 나서서 동일한 프로세스를 다른 제품에도 적용해 달라고 요청할 만큼, 프로젝트 복잡도가 높아질수록 모델 기반 설계의 가치는 더욱 분명해지고 있다.
다이슨 팀은 향후 워시G1 후속 모델 개발 시 기존 모델의 구성 요소를 재사용할 수 있다. 또한 이번 모델 기반 설계 방법론의 성공 사례는 사내 다른 부서에서도 주목받고 있다. 헤어 케어 제품과 다른 플로어 케어 제품군에도 이를 적용하는 방안이 검토되고 있어, 다이슨 내 추가 혁신 가능성을 넓히고 있다.
■ 이웅재 | 매스웍스코리아 이사 |




■ 이웅재 | 



