Mathworks, 모델을 기반한 개발 시작하기

기계 및 시스템 제조사들이 ‘스마트 인더스트리’를 시작하려면 변화를 모색해야 한다. 모델을 기반한 개발이 이를 위한 토대가 될 수 있으며 이를 위한 출발점은 가상 시운전이다. Mathworks이 가상 시운전이 적합한 이유를 보여준다.

 

필립 발너(Philipp Wallner): Mathworks GmbH 인더스트리 매니저

 

핵심 내용

  • 기계와 시스템은 새로운 요건에 대응하기 위해 업데이트를 계속해야 한다. 이는 모델 기반 개발로의 전환을 의미한다.
  • 첫 번째 단계는 가상 시운전을 위해 기존 자원과 정보를 이용할 수 있는 모델을 도입하는 것이다.
  • Mathworks는 프로그래밍 경험 없이 시운전에서 시작하여 전체 라이프 사이클을 시뮬레이션 할 수 있도록 툴과 구성 요소로 업체를 지원한다.

 

시스템 운영자는 생산을 위해 많은 기능과 유연성이 요구되고 있어 기계와 생산 시스템의 복잡성이 계속 증가하고 있다. 또한 시스템은 네트워크로 연결되어야 할 뿐만 아니라 회사 인프라 및 제조 업체와도 연결되어야 한다. 양방향 양방향 교환은 프로세스를 더욱 투명하고 효율적으로 만들어, 운전 계획과 원자재 주문을 지원하고, 작동 중단을 짧게 유지하면서 소프트웨어 및 하드웨어 업데이트와 정비를 가능하게 한다. 따라서 시스템 제조에서 원하는 바는 라이프 사이클 동안 지속적인 업그레이드와 업데이트를 받는 기계와 시스템이다. 이는 새로운 요구 사항과 변하는 시장 조건 그리고 혁신에 대응하기 위해 기계를 교체하는 것이 아니라 기존 시스템을 부분적으로 변경하여 대응할 수 있다.

그림 2: 볼이 핸들링 로봇에서 컵으로 떨어진다(왼쪽). 볼이 담긴 컵이 컨테이너로 미끄러진다(오른쪽). 자유 운동하는 물체가 물리적으로 타당하게 거동한다.

도전 과제

하지만 기계 및 시스템 제조사들은 이러한 기술을 기존의 기계와 기계 개발 프로세스에 통합하는 것은 새로운 도전 과제이다. 이렇게 많은 요구 사항을 고려하면 중단 없이 전환을 만들어내는 것이 거의 불가능해 보인다. 하지만 이미 자동차 산업과 항공기 산업을 비롯하여 다양한 제조 산업에서 모델 기반 개발 프로세스를 성공적으로 채택하고 복잡한 문제를 해결하고 있다. 이들이 이러한 기계 공학의 모범이 되고 있다. 하지만 이러한 전환에는 시간과 전문 지식 그리고 파트너가 필요하다.

모델을 도입하고 이를 경제적으로 사용하기 위한 출발점은 우선 가상으로 기계 시운전을 수행하는 것이다. 이를 위해 시스템 모델을 실제 컨트롤에 연결하여 하드웨어와 소프트웨어가 예상대로 거동하는지 점검해야 한다.

이 방법의 장점은 다음과 같다.

• 자재 및 에너지 소비 없이 테스트 가능

• 기계 손상 리스크 없음

• 시간 지연 시 배상 방지

• 출장 비용 및 숙식 비용 절감

이번 코로나 팬데믹 사태는 현장 출동을 줄이는 프로젝트 실현으로 중요한 의미가 되었다.

기존 자원 위에 구성하기

기계 제조사들은 대부분 모델링에 익숙하지 않고, 위에 언급한 이점에도 불구하고 추가적으로 비용을 들일 가치가 있는지 질문한다. 하지만 그럴만한 가치는 충분하다! 모델링을 도입하는 것은 디지털 전환을 성공적으로 수행하기 위한 시작이다.

시스템 제조사들은 이러한 모델을 구축하기 위해 이미 많은 것들을 가지고 있다. 예를 들어, 구성품의 CAD 데이터를 Simulink와 같은 툴로 바로 가져올 수 있다. Simscape Multibody와 같은 다 물체 시뮬레이션 툴로 이를 매개변수화하고, 구성 요소의 기계적, 전기적, 유압적 거동을 재연할 수 있다.

하지만 이러한 방식은 전체 생산 라인이나 대규모 공장에서는 비용이 많이 들기 때문에 진행하기 어려운 방식이다. 따라서 CAD 설명에서 3D 모델을 게임 엔진에 구축한 이후, 완성된 기계의 시각화를 위해 사용하는 접근법이 이미 추구되고 있다. 게임 엔진의 한 가지 기능은 새로운 소프트웨어를 개발할 필요 없이, 이를 위해 그래픽 카드의 특화된 계산 능력을 사용하는 것이다.

하지만 단점도 있다. 이 솔루션은 개발 환경과 다른 개별적인 솔루션이다. 또한 게임 엔진은 태생적으로 제한된 물리적인 모델을 갖고 있어, 힘과 토크, 강도 및 마찰 값으로 기계의 실질적인 동역학을 매핑하지 못해, 프로그래밍을 진행할 수 있는 전문적인 개발자나 공급업체가 추가로 필요하다.

 

프로그래밍이 필요하지 않다

이런 이유로 Mathworks는 Matlab과 Simulink를 위해 언리얼 엔진으로 3D 애니메이션을 위한 새로운 구성 요소를 개발하였다. 이를 통해 CAD 모델이나 Simscape에서 만든 모델을 가져와 많은 구성 요소로 이루어진 대규모 시스템을 시뮬레이션할 수 있으며, 여기에는 시중의 45개 산업용 로봇을 포함한 로봇 라이브러리도 포함되어 있다.

사용자는 Matlab 스크립트를 이용하여 시뮬레이션을 만들고 제어하여 사용 중에 상태를 조회하고 매개변수를 변경할 수 있다. 게임 엔진을 이용한 프로그래밍 경험은 필요하지 않다. 물리적으로 타당하고 있을 수 있는 변수와 충돌을 통해 거동이 결정되는 방식으로 모든 대상을 매개변수화할 수 있다. 또한 이 환경에서 공작물과 같은 대상에 가해지는 외부 힘을 계산할 수 있다. 예를 들어, 좌표계를 선택하고 낙하하는 물체는 중력과 원심력 및 마찰력이 대상이 될 수 있다(그림 2).

 

잠재력 활용하기

모델의 부가가치는 이를 시스템의 전체 라이프 사이클 동안 일관되게 사용하는 경우에만 달성할 수 있다. 따라서 기존 자원을 기반으로 수집할 수 있는 가상 시운전이 모델 채택을 위한 이상적인 여건이 되고, 기존에 확립된 프로세스를 완전히 뒤집을 필요 없이, 단계적으로 지속적으로 사용할 수 있다. 자동차 제조사와 항공기 제조사들은 이미 오래전부터 개발 초기 단계부터 모델을 이용하여 작업하고 있다. 개발 프로세스 시작 단계부터 시스템 모델에 대해 컨트롤러의 초기 시뮬레이션이 가능하고 시뮬레이션된 입력을 사용할 수 있다. 기계 장치, 전기 장치, 전자 장치, 유압 장치, 공압 장치, 소프트웨어를 협력하여 개발하고 개선할 수 있다. 요구 사항과 연결된 대략적인 모델에서 시작하여 컨트롤러 기능을 세부적으로 작동하고 알고리즘 테스트와 검증 역시 처음부터 시작된다.

이러한 모델의 모듈에 결정적 장점이 있다.

• 이미 구축되고 검증된 알고리즘과 로직 그리고 이전 프로젝트의 모듈을 재사용할 수 있다.

• 모듈로 인해 지속적으로 업데이트가 가능하다. 새로운 기능을 기존 모듈에 탑재하거나 새로운 모듈로 개발할 수 있고 기존 모델에 삽입할 수 있다. 사전에 테스트한 기능은 원하는 대로 작동한다고 믿고 사용할 수 있다. 또한 새로운 부품을 제작하거나 컨트롤러를 위한 코드를 적용해야 할 필요 없이 시뮬레이션을 수행할 수 있다.

• Matlab과 Simulink와 같은 적합한 툴을 사용하면 모델로부터 자동으로 다양한 컨트롤 플랫폼을 위한 코드를 자동으로 생성할 수 있다. IEC 61131에 따른 Ladder Diagram 또는 C, C++, 구조화된 텍스트 및 HDL 중에 선택할 수 있다.

 

단계적으로 보다 빠르게 목표로

구현을 위해 모델에는 추후에 PLC에서 사용할 데이터 유형이 제공된다. 이것 또한 Fixed-Point Designer와 같은 도구를 사용하여 대부분 자동으로 이루어진다. 필요한 정확도로 수정하고 최적화한 후 코드를 생성할 수 있다. 하지만 이 코드가 반드시 컨트롤러에 직접 기록되는 것은 아니며, DLL(Dynamic Linked Library)에 기록된다. 이후 PC 또는 기타 컴퓨터 하드웨어에서 실행할 수 있으며, 시스템 모델 또는 물리적 시스템과 상호작용하며 테스트할 수 있다. 이러한 방식으로 하드웨어를 사용하기 전에 기계 및 소프트웨어의 기능을 테스트하고 확인할 수 있다.

따라서 이미 개발 프로세스 초기에 오류를 찾아 제거하고, 이후 통합이 보다 신속하고 마찰 없이 진행된다. 또한 실제 기계에서 안전 상의 이유로 또는 손상 위험 때문에 진행할 수 없었던 시나리오를 테스트할 수 있다. 다양한 컨트롤 시스템 공급자들도 전체 PLC 시뮬레이션을 중간 단계로서 컴퓨터 하드웨어에서 수행할 수도 있다.

기계 및 시스템 제조사들이 모델 기반 개발 패러다임을 따르면서, 가상 시운전이 더 이상 특정한 어느 한 부분에서 이루어지지 않고, 각각의 중간 단계와 지속적으로 테스트와 검증이 이루어진다. 따라서 물리적 시스템으로 원하는 대로 기능하고 작동할 수 있다.

그렇다고 이것으로 지금까지 구축된 모델의 유익한 점이 고갈되는 것이 아니다. 이러한 기계와 시스템은 향후 라이프 사이클 동안 스마트 인더스트리에서 핵심 역할을 한다. 이들은 작동하는 시스템에서 디지털 트윈의 역할을 할 수 있고, 운영자와 제조사가 시스템의 실제 상태를 지속적으로 모니터링할 수 있다. 전체 시스템과 생산 라인의 3D 시뮬레이션이 이를 위해 중요한 역할을 한다. 작동 장애나 눈에 띄는 데이터는 전체 맥락 가운데서 더 잘 이해할 수 있고 분류할 수 있다. 예를 들어, 문제가 확인된 지점을 강조하거나 표시하여 수행할 수 있다.

그림 3: Dev-Ops 관점에서 본 메카트로닉스 제품의 라이프 사이클

지속적으로 업데이트 가능

기계를 유연하게 만들고 기계에 새로운 기능을 지속적으로 장착하는 데에는 두 가지 과제가 수반된다.

• 운영자는 가능한 한 가동을 중단하지 않고 이러한 작업을 실현하고자 한다.

• 반면에 제조업체는 엔지니어 팀이 본질적인 요소에 집중할 수 있는 경우에만 이러한 개발 업무를 해결할 수 있다.

이를 위한 기반이 디지털 트윈 형태의 완성된 기계 모델이다. 모듈이 통합의 번거로움을 줄여주고, 특정 테스트와 검사는 변경된 경우에만 실시하면 된다. 또한 시뮬레이션에서 많은 절차를 스크립트를 기반으로 자동화할 수 있기 때문에 기존 테스트 스위트를 보완하여 작업자가 개입하지 않고 실시할 수 있다. 따라서 전체 비용이 현저하게 제한된다. 이렇게 물리적 시스템에 변경을 적용하기 전에 새로운 디지털 트윈이 생성된다. 이 디지털 트윈이 재차 비교를 위해 새로운 데이터를 자신의 디지털 트윈으로 전송한다. 따라서 기계와 디지털 트윈은 항상 최신 상태로 유지된다.

의도하는 하드웨어 변경도 위에 설명한 대로 초기에 시뮬레이션하고 테스트한다. 이 테스트를 완전히 통과한 이후 물리적 부품을 생산된다. 테스트 절차의 광범위한 자동화, 멀티 코어 시스템 및 멀티프로세서 시스템 등에 맞춘 테스트 절차의 확장성 그리고 코드 자동 생성을 통해, 엔지니어는 자신의 시간을 실질적인 개발 작업에 할애할 수 있다. 이로 인해 부품에 투자하거나 부품 생산을 기다릴 필요 없이 언제든지 하드웨어 및 드라이브 설계의 세부 변경이 가능하다.

이런 방식으로 개발과 기계에 전송과 작동 그리고 데이터를 기반으로 재차 기계를 개선하는 제조사로의 데이터 흐름이 순환된다. 소프트웨어 산업에서는 이러한 흐름으로 입증된 Dev-Ops 사이클이다(그림 3). 이 사이클은 연속적인 개발 프로세스로, 운영자와 제조사가 상호 정보 교환의 이점을 누리고 변경 또는 오류 제거 시 가동 중단이 최소화되고 신속하게 이루어진다.

이러한 순환은 제품 라이프 사이클의 각 단계에서 이 모델을 일관되게 사용하는 경우에만 가능하다. 모든 참여자는 자신에게 필요한 레벨과 자신에게 연결된 툴로 이 모델을 이해한다. 이로 인해 공통의 기반이 마련될 뿐만 아니라, 상호 의사소통에 사용되는 하나의 언어를 형성한다. 이러한 보편성이 성공적인 디지털 전환의 토대를 형성한다.