Недавно участвовал в споре о том, что можно считать сабжем, а что — нет. Моё сугубо личное мнение: или ЦД позволяет выявить в работе системы моменты, явно не запрограммированые, либо внутри ЦД те же алгоритмы, что и внутри моделируемого объекта.
Приведу пример. На роботе "отваливается" камера, подключённая по USB 3.0. Выясняется, что наводки от генератора заставляют контроллер сбрасывать шину раз за разом. В проекте есть цифровой двойник камеры в виде software-in-the-loop и, очевидно, проблемы с USB с ним не моделируются. Но зато этот двойник внутри используется тот же (почти) алгоритм преобразования видео в облако точек, что и реальная камера, поэтому если есть какие-то проблемы при дальнейшей обработке (засветы, искажения, проблемы с триангуляцией), то ЦД это выявит при условии правдоподобного моделирования сцены. Также в эмуляторе робота в этом проекта была цифровая модель многозвенного манипулятора, суть которой состояла в моделировании обратной кинематики (задаёшь положение конечного звена манипулятора и готово!). Вот эту часть я не могу назвать цифровым двойником, потому что по сути это stub implementation — что сказали делать, то и будет. И с такой моделью можно тестировать, но не моделировать систему. А правильно было бы смоделировать обратную кинематику с учётом динамики звеньев. Например, можно было бы смоделировать работу сервоприводов, и уже к ним привязывать движения звеньев. Или же можно смоделировать обратную кинематику, но с учётом физики реальных объектов. В первом случае можно сделать даже hardware-in-the-loop, если запускать сервоприводы где-нибудь на стенде, а снимать с них положение вала.