2023년 2월 1일 수요일

디지털트윈 컨소시엄, 디지털트윈 정의언어와 리얼리티 캡쳐 기술 소개

이 글은 디지털트윈 컨소시엄, 디지털트윈 기술언어 및 리얼리티 캡쳐 기술을 간단히 소개한다. 디지털트윈 컨소시엄(DTC)은 디지털트윈 기술을 발굴하고, 적용하기 위해 노력하는 해외 산학연 연합체이다. DTC는 2020년 5월 Ansys, Autodesk, Bentley Systems, GE, Dell, Northrop Grumman, Microsoft 등에 의해서 설립되었고, OMG(Object Management Group)이 파트너 기업으로 참여했다. 디지털트윈 기술언어는 물리세계와 디지털세계의 데이터를 교환, 상호연결하기 위한 표준이다. 리얼리티 캡쳐는 디지털트윈 플랫폼 위에 공간정보를 디지털화된 모델로 표현할 수 있는 도구이다. 

디지털트윈 컨소시엄 소개
DTC은 디지털트윈 기술을 확인하고, 채택하며, 상호운용성 기술 개발을 주도한다. DTC는 산학연 협력 파트너십을 통해, 디지털트윈 프레임웍, 아키텍처, 기술언어 및 도구 등 기술을 개발한다.
디지털트윈 시스템 아키텍처 개념도(DTC)

디지털트윈을 표현하는 모델은 다음 그림과 같이 구조화된 데이터 정보, 데이터 분석 및 예측에 필요한 알고리즘을 정의할 수 있어야 한다. DTC는 이런 부분들을 아키텍처 정의에 고려한다. 
디지털 모델 표현(DTC)

DTC는 디지털트윈 구현에 도움이 되는 다양한 기술을 개발하고 있다. 그 중 하나가 DTDL (Digital Twins Definition Language)이다. DTDL은 물리세계와 디지털세계 간의 데이터를 교환하기 위한 디지털트윈 정의언어이다. DTDL은 DTC 깃허브에서 오픈소스로 제공하고 있다.

디지털컨소시엄 github(github.com/digitaltwinconsortium)

컨소시엄은 디지털트윈에 관심이 있는 비즈니스, 조직, 단체로 구성된다. Digital Twin Consortium은 Object Management Group의 일부로서 활동한다. 참고로, OMG는 객체지향모델링 표준언어이자, ISO 국제표준 기술언어인 UML(Unified Modeling Language)를 관리하고 있다.
컨소시엄 리더 일부(GE, 마이크로소프트 등)
DTC 소개 영상

디지털트윈 모델을 묘사하는 정의언어(DTDL)
DTDL은 디지털 트윈 모델 및 인터페이스를 기술하는 언어이다. 디지털 트윈은 공간, IoT 객체, 사물 등 특정 솔루션에 사용되는 물리적 환경의 엔티티(entity)를 디지털로 정의한 모델이다. 그러므로, 이를 묘사할 수 있는 컴퓨터가 처리가능한 기술언어가 필요하다. DTDL을 사용해, 디지털 트윈의 기능을 기술하면, IoT 플랫폼, 솔루션이 엔터티의 의미체계를 기계적으로 해석할 수 있다. 

Microsoft는 컨소시엄에서 DTDL 기술을 주도적으로 개발하고 있다. DTDL은 JSON-LD(JSON for Linking Data) 및 RDF(Resource Description Framework)와 같은 개방형 W3C 표준을 기반으로 한다. JSON-LD를 기반으로 DTDL이 개발되었으므로, DTDL은 온톨로지 개념을 그대로 물려받는다. 참고로, JSON-LD는 Schema.org, 구글 지식 그래프 데이터베이스 등 유명 검색 엔진에서 사용된다. 

이를 기반으로, IoT 플러그 앤 플레이(PnP) 기능을 구현할 수 있다. PnP 기능 구현을 위해서는 데이터 스키마 정의(펌웨어 버전, 속성, 설정값), 원격 모니터링(센서 판독값, 경고 이벤트 등), 장치가 수신할 수 있는 명령(예. 재부팅) 정보를 디지털트윈 플랫폼과 상호운영할 수 있어야 한다. IoT PnP 동작은 DTDL V2로 정의될 수 있다. 

다음은 간단한 읽기 전용 속성을 정의한 DTDL이다. 여기에는 DTDL이 사용되는 컨텍스트, id, type이 정의되어 있고, 여기에, 교환될 데이터 컨텐츠의 유형, 이름 및 스키마가 포함된다. 네이밍 구조는 ':'로 구분된다. 이 예는 온도센서가 연결된 IoT 장치를 디지털트윈 플랫폼과 PnP할 수 있다.

{
  "@context": "dtmi:dtdl:context;2",
  "@id": "dtmi:example: Thermostat;1",
  "@type": "Interface",
  "contents": [
    {
      "@type": "Property",
      "name": "temperature",
      "schema": "double"
    }
  ]
}

물리세계에 있는 데이터는 PnP된 플랫폼에 다음과 같은 센서값을 전달해 줄 수 있다.
"reported" :
{
  "temperature" : 21.3
}

이와 반대로, 디지털 세계에서 물리 세계로 값을 전달해 주는 방법도 있다. 예를 들어, 백엔드(back-end) 어플리케이션에서 장치로 데이터를 전달해 주고자 할 때 DTDL은 value, ac, av, ad란 속성을 사용할 수 있다.
  • value - 속성 값
  • ac - HTTP 상태를 사용하는 확인 코드 
  • av - 원하는 속성 $version을 참조하는 승인 버전
  • ad - 선택적 확인 설명
예를 들어, 물리적 온도 환경을 변화시키는 스마트 전열기 IoT 장치에 목표 온도값을 전달하는 DTDL의 유스케이스 시나리오를 상상해 보자. 물리적 환경은 아날로그 상태이므로, 온도를 목표값으로 변화시키는 데 시간이 걸린다. 이를 고려해, 물리 세계에 설치된 장치가 디지털트윈의 디지털세계와 동기화하기 위한 상태 변화값을 알려줄 수 있어야 한다.

초기 단계에서는 스마트 전열기에서 다음과 같이 디지털트윈 플랫폼으로 리포트될 수 있다. 여기서 ac 상태코드는 203으로 장치에 이 목표값으로 온도를 설정하겠다는 선언을 한 것을 확인했음을 의미한다(참고. HTTP 상태 코드). 

"reported": {
  "targetTemperature": {
    "value": 20.0,
    "ac": 203,
    "av": 0,
    "ad": "initialize"
  }
}

다음 단계에서 물리세계에 있는 해당 IoT 장치는 온도를 올리고 있는 중이라 디지털트윈 플랫폼에 알려줄 수 있다. 이를 통해, 디지털 모델에 온도값이 상승하고 있음을 데쉬보드나 컬러스키마 등으로 렌더링할 수 있다.

"reported": {
  "targetTemperature": {
    "value": 35.0,
    "ac": 202,
    "av": 3,
    "ad": "In-progress - reporting current temperature"
  }
}

IoT 장치가 목표 온도까지 도달했다면, 다음과 같이 도달했음을 알리는 리포트를 디지털트윈 플랫폼에 알려줄 수 있다.
"reported": {
  "targetTemperature": {
    "value": 20.0,
    "ac": 200,
    "av": 4,
    "ad": "Reached target temperature"
  }
}

DTDL은 디지털트윈 플랫폼에서 관리되므로, 이를 편하게 CRUD(Create, Read, Update, Delete)할 수 있도록, 마이크로소프트에서는 관련 파이썬 라이브러리를 제공한다. 
다음은 이곳에서 제공한 파이썬 라이브러리를 이용해, 디지털트윈 플랫폼에 디지털트윈 모델을 생성, 리스트 및 정보를 얻는 코드의 예시이다.

digital_twin_id = 'digitalTwin-' + str(uuid.uuid4())
temporary_twin = {
    "$metadata": {
        "$model": model_id
    },
    "$dtId": digital_twin_id,
    "Prop1": 42
}

created_twin = service_client.upsert_digital_twin(digital_twin_id, temporary_twin)
print('Created Digital Twin:')
print(created_twin)

listed_models = service_client.list_models()
for model in listed_models:
    print(model)

get_model = service_client.get_model(model_id)
print('Get Model:')
print(get_model)

디지털트윈과 리얼리티 캡쳐(Reality Capture)의 관계
디지털트윈은 공간정보모델를 이용해 시너지효과를 얻을 수 있다. 예를 들어, 위치정보가 포함된 IoT 데이터는 시설물 관리 등에 편리하게 사용될 수 있다. 이런 이유로, 공간 데이터를 캡쳐할 수 있는 리얼리티 캡쳐 기술은 디지털트윈에서 핵심적인 기술 중 하나가 되었다. 

리얼리티 캡처 기술은 지난 20년 동안 빠르게 발전했다. 2000년 당시 레이저 스캐닝이라고 불리는 리얼리티 캡처는 100,000달러가 넘는 부피가 큰 스캔 장비였다. 지금은, 1,000달러 미만 휴대폰, 상업용 카메라로 간단한 스캔 데이터(3차원 포인트 클라우드)를 만들 수 있다. 스캐닝이 더 저렴하고 접근성이 높아졌지만, 산출물의 품질은 엔지니어링 전문가, 하드웨어와 소프트웨어에 크게 의존한다. 
장치로부터 수집된 데이터의 디지털트윈 표현

리얼리티 캡쳐는 수집 시간, 수집 범위 및 밀도에 따라 다음과 같은 어플리케이션 영역으로 구분될 수 있다.
리얼리티 캡쳐의 어플리케이션 영역
리얼리티 캡쳐 성숙도 모델

리얼리티 캡쳐 데이터는 많은 유용한 정보를 포함할 수 있지만, 그 만큼 높은 수집, 분석 및 처리 비용이 필요하다. 이런 3차원 데이터를 처리, 분석하기 위해서는 인공지능, 3차원 비전, 역설계 등 도구가 사용될 수 있다. 이 과정에서 다양한 상업용, 오픈소스 도구 등이 사용되어, 3차원 데이터를 가공, 처리한다. 3차원 데이터 품질 검수에 대한 프로세스는 별개로 사전에 정의한 후 발주품 체크 단계에서 확인할수 있어야 한다. 3차원 데이터는 3차원 모델이 포함된 공간정보로 표현되어 사용될 수 있다. 이 경우, 요구사항에 따른 LoD(Level of Detail)은 사전 정의되어 있어야 한다. 이와 관련된 좀 더 상세한 지침이나 내용은 아래 링크를 참고 하길 바란다. 
로보틱스 기술을 이용해, 반복적인 리얼리티 캡쳐 작업을 자동화할 수도 있다. 다음은 로보틱스 기반 스캔 및 역설계 개념을 보여주는 참고 영상이다. 
3차원 스캔 및 역설계 기술 예시

디지털트윈 모델에 물리세계에서 캡쳐된 3차원 공간정보를 사용하려 할 때는 이런 점들을 고려할 필요가 있다.

DTDL기반 빌딩운영체제, ProptechOS 개발 사례
DTDL 기반 개발 사례를 간단히 분석해 보기 위해, 상업용 부동산을 관리하기 위한, BOS(Building Operation System) 디지털 트윈 기술 구현 사례를 조사해 본다.

빌딩 운영 체제(BOS)는 IT 관리자가 통찰력을 얻을 수 있는 데이터를 기반으로, 운영 효율성, 환경 인증, 거주자 서비스 등을 위한 서비스 개발에 집중할 수 있는 기능을 제공할 수 있어야 한다. 이와 관련해, Smart Buildings DTDL가 RealEstateCore 온톨로지 구조를 기반으로 개발되었으며, 이 DTDL이 BOS와 ProptechOS를 개발하는 데 사용되었다. 
RealEstateCore 지원 Smart Building Ontology 개념(Alina Stanciu, 2021.2, RealEstateCore, a smart building ontology for digital twins, is now available)

BOS는 다음과 같은 핵심 기능을 제공한다.
  • 데이터: 기본 데이터(도면, BIM, BMS-Building Management System Tag List),  RealEstateCore 기반 지식 그래프, 실시간 원격 측정, 과거 이력 데이터 등 교환
  • 애플리케이션: 데이터 인사이트, 프로세스 최적화, 업무 자동화, 서비스 앱 제공
  • 확장성: SDK(Software Development Kit), API(Application Program Interface) 제공
이러한, 디지털 트윈용 운영 체제는 비지니스 요구사항에 따라 달라진다. ProptechOS는 빌딩 관리 요구사항 관점에서 개발된 운영체제이다. 

ProptechOS(Building Operating System for real estates)
ProptechOS 소개 영상 (참고)

ProptechOS는 빌딩 공간정보를 사용하기 위해, 건물정보모델(BIM. Building Information Modeling)을 사용한다. BIM은 건물 설계, 계획, 시공, 운영, 폐기 등 전생애주기 단계를 지원하기 위해 건물을 디지털화된 도면으로 정의한 모델이다. 하지만, BIM은 건물의 운영 속성에 대한 정보가 거의 포함되지 않다. BIM은 추가 비용과 노력없이 비즈니스 요구 사항에 따른 데이터 기반 애플리케이션을 개발할 수 없다는 점은 프로젝트 진행 시 고려해야 한다. 이외, BIM을 사용할 때 고려사항은 다음과 같다.

• BIM 모델 형식: 파일 형식은 여러 가지가 있다. 일반적으로 기존 BIM 모델을 디지털 방식으로 재사용하기 전에 수행해야 하는 변환작업이 필요하다. 
• BIM 관리 방식: BIM은 데이터베이스 중심이 아닌 파일 포맷으로 관리된다. 이는 건물에서 발생하는 지속적인 변경 사항을 유지 관리하고, 추적하는 프로세스를 통합하는 데 큰 문제가 된다. 예를 들어, BIM 수정 시, 건축가는 항상 Revit 파일을 열어 수정하고, 관련 데이터를 같이 업데이트해야 한다. 이는 일반적인 데이터베이스 작업보다 많은 비용이 소모되는 번거러운 작업이다.

BOS는 기존 BMS(Building Management System) 솔루션 같이, 레거시 데이터 소스와 연결도 포함되어야 한다. BOS는 모든 유형의 IoT 장치 및 외부 레거시 데이터 소스와 통합을 쉽게 설정할 수 있어야 한다. 아울러, 데이터 보안을 위해, 단일 사인온(sign & login), 2단계 인증(2FA), IT 보안 및 데이터 암호화를 지원할 수 있어야 한다.

BOS에 채택된 표준 온톨로지는 RealEstateCore이다. 부동산 소유자는 RealEstateCore를 사용하여 자신이 운영하는 건물 내 상호 작용되는 데이터와 데이터 관리, 저장 및 공유 방식을 정의할 수 있다. RealEstateCore는 건물에서 발생할 수 있는 데이터의 개념과 관계를 기술하는 데이터 스키마 모음이다. RealEstateCore는 2016년부터 개발되었으며 최근 Microsoft에서 채택되었다. 
마무리
이 글에서 DTC, DTDL 및 리얼리티 캡쳐 기술을 간단히 소개한다. DTC는 해외에서 디지털트윈과 관련된 도구를 개발하고, 배포하는 역할을 하고 있다. DTDL과 리얼리티 캡쳐 기술은 물리 세계와 디지털 세계를 연결하고 묘사하는 데 중요한 컴포넌트 중 일부이다. 

DTC는 마이크로소프트, 밴틀리와 같은 소프트웨어 플랫폼 개발사가 포함되어 있다. 이런 이유로, 자사에 DTDL을 적극 활용하고 있으며, 점차, 사용 사례가 증가하고 있다. 
디지털트윈 서비스 개발 사례(Dale Kehler, 2021, Building the TwinWorX ® platform on Microsoft Azure Digital Twins. Bentley)
기술 아키텍처(Sujay Nandi, 2022.3, Building the digital representation with Digital Twin using Microsoft stack)

디지털트윈에 관한 실제 구현 방법, 표준에 대한 좀 더 상세한 자료는 다음 링크를 참고하기를 바란다.
디지털트윈은 엔지니어링 분야에서 인공지능과 함께 가장 많이 사용될 도구 중 하나가 될 것이다. 하지만, 너무 과도한 스펙이나, 요구사항에 맞지 않은 개발은 오히려 조직 생산성에 독이 될 수도 있음을 명심해야 한다. 그러므로, 디지털트윈 기반 프로젝트를 진행하는 발주자, 관리자나 실무자는 사용되는 기술들을 잘 이해하고 미리 경험해 볼 필요가 있다. 

프로젝트 이해당사자들은 프로젝트 계획 수행 시 불필요한 작업을 제거하고, 핵심에 집중해야 한다. 프로젝트 참여자들은 요구사항이 어떻게 디지털트윈 기술로 맵핑될 수 있는 지를 명확히 이해하고 있어야 낭비를 줄이고 성공 가능성이 높아질 것이다.

레퍼런스

댓글 없음:

댓글 쓰기

10 Construction Robots Finding Success, Making Job Sites Safer for the Humans

레퍼런스 10 Construction Robots Finding Success, Making Job Sites Safer for the Humans - BuiltWorlds