디지털 트윈(Digital Twin)은 물리적 객체나 시스템의 실시간 가상 복제본으로, 센서 데이터로 동기화되어 시뮬레이션과 예측에 활용된다.
디지털 트윈 성숙도 레벨
| 레벨 | 설명 | 예시 |
|---|
| 0: 디지털 모델 | 단방향 정적 모델 | CAD 설계도 |
| 1: 디지털 섀도우 | 실물 → 가상 데이터 흐름 | 센서 모니터링 |
| 2: 디지털 트윈 | 양방향 실시간 동기화 | 스마트 공장 |
| 3: 자율 트윈 | AI 기반 자율 최적화 | 자가 치유 인프라 |
아키텍처
물리 세계 디지털 세계
┌──────────────┐ ┌──────────────────┐
│ 물리 자산 │ 센서/IoT │ 디지털 트윈 모델 │
│ (공장, 건물 │ ──────────> │ (3D 모델 + 상태)│
│ 자동차 등) │ │ │
│ │ <────────── │ AI 최적화 엔진 │
│ 액추에이터 │ 제어 명령 │ 시뮬레이션 엔진 │
└──────────────┘ └──────────────────┘
↕ API
┌────────────┐
│ 분석 플랫폼 │
│ 예측 유지보수│
└────────────┘
구현 예시 (Azure Digital Twins)
python
from azure.digitaltwins.core import DigitalTwinsClient
from azure.identity import DefaultAzureCredential
client = DigitalTwinsClient("https://myinstance.api.eus.digitaltwins.azure.net",
DefaultAzureCredential())
# 트윈 모델 정의 (DTDL)
dtdl_model = {
"@id": "dtmi:factory:Turbine;1",
"@type": "Interface",
"contents": [
{"@type": "Property", "name": "rpm", "schema": "double"},
{"@type": "Property", "name": "temperature", "schema": "double"},
{"@type": "Telemetry", "name": "vibration", "schema": "double"}
]
}
# 트윈 인스턴스 생성
twin = {"$metadata": {"$model": "dtmi:factory:Turbine;1"},
"rpm": 3600.0, "temperature": 75.0}
client.upsert_digital_twin("turbine-001", twin)
# 실시간 업데이트
patch = [{"op": "replace", "path": "/rpm", "value": 3750.0}]
client.update_digital_twin("turbine-001", patch)
활용 분야
- •제조: 예측적 유지보수, 공정 최적화
- •스마트 시티: 교통 흐름, 에너지 관리
- •의료: 디지털 환자 (인체 시뮬레이션)
- •우주항공: 위성, 항공기 상태 모니터링
관련 문서
- •[[edge-ai|엣지 AI]]
- •[[mqtt-advanced|MQTT 심화]]
- •[[neuromorphic|뉴로모픽 컴퓨팅]]
- •[[autonomous-systems|자율주행 시스템]]