Цифровые двойники - отнюдь не новое понятие, оно появилось ещё в начале 1990-ых и с тех пор регулярно становится объектом повышенного внимания со стороны исследователей, инженеров и предпринимателей. Сейчас на дворе уже 2024-ый и цифровые двойники вновь на слуху - начиная с 2016 года, согласно Google Trends, интерес к ним непрерывно растёт. Мы считаем должным познакомить читателя с этим концептом, потому как часто данное понятие трактуется произвольно, что затрудняет его понимание.
Первое, что ассоциируется с понятием цифрового двойника у не владеющих данным дискурсом людей, это компьютерная модель. Такое представление о цифровых двойниках мне встречалось даже у достаточно опытных инженеров-робототехников. И это неслучайно - исторически сложилось, что объектом компьютерного моделирования становилась именно техника - какой-то автомобиль или фабрика - которые предварительно появляются именно в таком виде, прежде чем воплотиться в жизни. Вот, к примеру, мы рассматриваем 3D-модель некого устройства или системы на экране компьютера. Мы видим его геометрическую форму и можем даже производить какие-то рассуждения/вычисления над этой моделью - примерить габариты, посчитать массу при наличии информации о материалах, проверить её на прочность, запустить симуляцию. Тем не менее, фундаментально она не является цифровым двойником. В чём же заключается ключевое отличие?
Дело в том, что классическая инженерная модель является ничем иным как чертежом, описывающим не конкретную систему, а определённый класс систем (под системой мы будем понимать любой объект, воплощённый в физическом мире и занимающий в нём вполне конкретное пространство).
Модель - это описание какого-то класса объектов (обычно составленное вручную). Может быть цифровой, но не обязательно. Модель - это прежде всего описание абстрактного, а не конкретного/физического объекта.
Да, по такому чертежу или, если обобщать, конструкторской документации систему можно изготовить, но после того как она выпущена с конвейера, она начинает жить своей жизнью и постепенно меняться в ходе эксплуатации, всё более отдаляясь от исходной модели, вплоть до неузнаваемости. Поэтому, чтобы не потерять возможность производить какие-либо мыслительные или вычислительные операции с системой (на бумаге или в гораздо более продвинутой информационной системе), нам важно поддерживать модель в состоянии, соответствующем реальности.
Вот таким образом мы и приходим к необходимости разделять модели на видовые (или модели классов) и цифровые (или модели экземпляров). Видовая модель описывает класс объектов и его основные свойства, в то время как цифровая модель добавляет к этому описанию также и данные, позволяющие судить о конкретном представителе этого класса - его уникальное имя, идентификатор или серийный номер, положение в пространстве и времени, калибровочные коэффициенты и другие данные, позволяющие связать данное описание с объектом реального мира. Именно поэтому цифровой моделью не может быть виртуальный мир, если он не ассоциирован с конкретным физическим миром, а действия в этом виртуальном мире не приводят к изменению его параметров в жизни.
Абстрактному объекту может соответствовать много физических объектов.
Для простоты, в самом начале статьи мы приводили примеры из мира техники или производства, однако сейчас перешли на более обобщённую терминологию, употребляя “системы”, “объекты” и так далее. Это имеет определённый смысл, потому что понятие цифрового двойника универсально и далеко не всегда имеет отношение к техническим устройствам. Цифровым двойником может обладать любой существующий в физическом мире объект - от живой клетки до экологических и звёздных систем.
Приведём примеры цифровых моделей из других сфер:
Физический объект | Видовая модель | Цифровая модель |
---|---|---|
Гражданин | Стандарт оформления документа под названием “Паспорт гражданина” | Паспорт Джона Доу |
Пациент | Справочник врача, описывающий вид заболевания, то есть признаки, присутствующие у больного человека | Амбулаторная карта Мориса Брюшье |
Автомобиль | Руководство по эксплуатации BMW x5 | Записи о техническом обслуживании BMW x5 с серийным номером 29591376838 |
Приведённые примеры намеренно просты, чтобы быть знакомыми каждому читателю. Обратите внимание, что во всех этих примерах указаны модели, использовавшиеся задолго до начала цифровой эпохи! Этим я хотел показать одно из ключевых свойств, отличающих цифровую модель от обычной - историю изменений его состояния во прошедшем времени, отражённую на каком-то носителе информации. Сам носитель может быть любым - данные могут собираться вручную и записываться чернилами на бумаге. Почему же это раньше не называли цифровыми двойниками (да и моделями тоже, в общем-то)? И дело тут прежде всего в автоматизации - как процесс сбора данных, так и вычислений над этими данными.
Человечество до недавнего времени было весьма ограничено в своей способности работать с информацией - хранить её, копировать, поддерживать в актуальном состоянии, производить над этой информацией вычисления. Книги и писари стоили дорого, а библиотеки регулярно горели. В таких обстоятельствах вести учёт всех объектов окружающего мира в бумажном виде не представлялось возможным. Компьютерная эпоха произвела радикальные количественные изменения в этой сфере. Увеличилось буквально всё: объёмы хранимой информации, скорость её сбора, возможности быстро обрабатывать и передавать по сетям связи на какие угодно расстояния. Всё это в совокупности обеспечило беспрецедентную лёгкость создания цифровых моделей буквально для чего угодно, а главное - теперь для получения и обработки информации перестал требоваться человек.
Ранее информацию о ходе работы устройств вносили люди (например, в какой-нибудь график или таблицу).
Модель физического объекта - это описание экземпляра объекта (то есть некое его отражение), включающее его историю эксплуатации (лог, даталог исторических данных).
Разумеется, это было долго, дорого и приводило к ошибкам при передаче информации. Добавление к устройствам микрочипов и развитие индустрии информационных технологий сделали возможным непрерывный сбор информации без людей-операторов. Если раньше устройства выпускались и далее жили своей независимой жизнью (в том числе видоизменяясь), то теперь каждое умное устройство может давать обратную связь о своём состоянии, записывать исторические данные. Цифровая модель может получать актуальные данные о состоянии системы в автоматическом режиме. В этом случае цифровая модель становится цифровой тенью - журналом изменений состояний системы в ходе её работы, собранным автономно.
Цифровая тень - описание экземпляра объекта (включая исторические данные), составленное автоматически.
В случае с живыми людьми цифровыми тенями являются профили пользователей в разнообразных цифровых платформах - интернет-магазинах, социальных сетях; у организаций - это может быть история операций по банковскому счёту; в компьютерах - всевозможные логи работы программ. В Робономике цифровая тень создаётся вызовом datalog, добавляющим очередную запись к истории изменений нужного нам физического параметра.
Но откуда взялось понятие цифровой тени? Почему этот автоматически собранный журнал изменений системы не называли цифровым двойником? Чтобы понять это, нужно задаться вопросом о том с какой целью вообще люди ведут запись исторических данных. Ответ тут прост - учёт позволяет понять каким образом нужно воздействовать на физический объект, чтобы получить требуемое поведение. Чтобы реализовать полный цикл управления, нужно не только уметь автоматически собирать данные, но и автоматически принимать решения об изменении параметров эксплуатации. И в этом направлении также был достигнут значительный прогресс - человечество научилось автоматизировать процесс вычислений, позволяющий предсказать поведение модели с изменением вводных параметров. С классическими моделями производились расчёты в ручном режиме - нужно быть сформулировать задачу, описать её условия и решить её, применив законы естествознания и соответствующие им математические уравнения. Автоматизация вычислений обеспечила возможность имитировать работу модели, то есть сделать её интерактивной.
Собственно, цифровым двойником как раз и является такая сущность, которая автоматически получает данные (собирая цифровую тень), производит над ними вычисления (принимая решение об изменении состояния), после чего осуществляет над системой какие-то действия.
Цифровой двойник - программа как интерактивное описание объекта, которая может принимать решения по изменению параметров эксплуатации автоматически.
Иными словами, это работающая компьютерная программа или имитационная модель, напрямую связанная с объектом управления. Если имитационная модель ещё не привязана к объекту управления и у неё отсутствуют уникальный ID, серийный номер и история эксплуатации, то она называется прототипом цифрового двойника.
Цифровые двойники имеют прямое отношение к, так называемому, 4D-экстенционализму - подходу к моделированию мира, где объекты не трёхмерны, а чётырёхмерны - к ним добавляется измерение времени. Такие модели отражают не только геометрические параметры на тот момент, когда данная система была выпущена, но и всю её историю за всё время эксплуатации, а также возможные будущие(!) её состояния. Причём сбор данных осуществляется не только в течение короткого промежутка времени, как в классических системах управления, а на протяжении всего срока жизни системы. Системы, позволяющие связать между собой различные состояния цифрового двойника во времени, от задумывания до вывода из эксплуатации, называют цифровой нитью.
Итак, после довольно продолжительной прелюдии мы можем обобщить всё выше сказанное в относительно лаконичное определение:
Цифровой двойник (ЦД) - это цифровое представление физического объекта или процесса, созданное с целью улучшения процесса принятия решений в безопасной и экономически целесообразной среде, где различные альтернативы могут быть оценены перед их реализацией.
В основном цифровых двойников различают по тому в каком временном диапазоне они оперируют и как много могут учесть данных в процессе принятия решения об изменении параметров эксплуатации своих двойников из физического мира. Терминология и классификация, как и в любой развивающейся отрасли, только формируется и нет единой устоявшейся мета-модели о том как называть те или иные типы двойников. Тем не менее, уже сейчас можно выделить следующие их основные категории.
Они осуществляют оперативное управление, непрерывно получая данные с датчиков и меняя текущие параметры в режиме реального времени. К такого рода двойникам можно отнести и Model-Based управление, где в состав управляющей программы, так или иначе, “вкладывается” упрощённая модель управляемого объекта - например, бортовой компьютер (встроенная система), работающий внутри объекта своего непосредственного управления, который весьма ограничен в вычислительных ресурсах, поэтому заложенная в нём модель объекта должна быть также достаточно простой, но при этом достаточной для эффективной работы. Однако, в отличие от классической управляющей программы, цифровой двойник может существовать “отдельно” - например, в виртуальной машине на удалённом компьютере или в облаке, поэтому заложенная в него имитационная модель может быть более детализированной и потому более точной.
Данный вариант цифровых двойников также можно назвать кибернетическим. Кибернетика как наука описывает процессы управления в живой природе и технике, а так как любое управление подразумевает управляющего и управляемого, то, собственно, цифровой двойник по сути и является таким кибернетическим управляющим агентом.
Реактивный двойник работает на достаточно низком уровне. Его программа должна уметь интерпретировать служебную информацию о системе - например, показания датчиков температуры бортового контроллера для внутреннего использования, чтобы предотвратить перегрев или другие нежелательные ситуации. Способом обратной связи для воздействия на физического двойника является “тонкая” подстройка параметров без изменений версий программного обеспечения или физической конструкции.
Также в отношении данного вида цифровых двойников можно часто в литературе можно встретить термин “цифровые родственники” (siblings). Эти двойники позволяют симулировать какие-то гипотетические ситуации, способные произойти в будущем и принять меры по предотвращению негативных сценариев или повышению эффективности. В отличие от рассмотренных выше реактивных двойников, имеющих прямую связь с объектом управления и представленных в одном единственном экземпляре, ситуативные двойники могут быть скопированы и развёрнуты в любом количестве экземпляров на каком угодно количестве вычислителей. “Оторванность” от объекта управления заключается в том, что имитационная модель помещается в виртуальную среду, где информация поступает не из настоящих датчиков, как в случае реактивных двойников, а из виртуальной реальности, созданной нами для воспроизведения гипотетической ситуации, а управляющее воздействие осуществляется с самой имитационной моделью, а не с исполнительными механизмами вроде двигателей или нагревательных элементов. Данные двойники задействуют внешние или облачные вычислительные мощности, а потому учесть гораздо большее количество параметров, чем реактивные.
Также в этом случае можно изменять и ход течения времени работы имитационной модели. Реактивные двойники обязаны успевать вовремя реагировать на изменения состояния физического двойника, поэтому вынуждены принимать решения исключительно в условиях реального времени. Ситуативные двойники свободны от этого ограничения и могут использовать, помимо реального, симуляционное время, которое может быть как медленнее, так и быстрее реального времени. Замедление времени неизбежно в тех случаях, когда нужно учитывать большое количество параметров и, соответственно, производить большое количество вычислений, чтобы использовать высоко-детализированные среды симуляции, содержащие очень точные движки физики и рендеринга окружающей среды. Ускорение времени помогает в тех случаях, когда нужно произвести большое количество запусков симуляции - например, для формирования набора данных или обучения с подкреплением.
Способом обратной связи с физическим двойником тут является обновление программного обеспечения - как системного, так и для поддержки принятия решений. Например, в ходе многократного запуска цифрового двойника тестируется разрабатываемая программа для сборки роботом нового продукта, после проверки которой данное ПО загружается в цифровой двойник - робот и производство получают новую способность.
Теперь, после того как мы определили понятие цифрового двойника и его основные виды, мы можем задаться вопросом о том каким образом эти двойники нужно проектировать, реализовывать и использовать на практике. Так как цифровой двойник является отражением физически существующей системы, то способы их описания зависят от того каким именно образом мы понимаем этот мир в целом. Именно поэтому движение цифровых двойников выросло из систем моделирования, симуляции, предиктивной аналитики, что отражает фактическое положение дел, потому как в реальности все эти системы являются, как правило, подсистемами цифрового двойника. В связи с этим тут можно выделить предметную и информационную составляющие способов описания двойников.
Предметная связана с разными способами представления знаний о системе - например, даже у геометрической модели может быть несколько вариантов - CAD-модель для отражения структуры системы, габаритная модель для движков физики, облегчённая модель с PBR-текстурами для игровых движков, модель для высокореалистичного рендеринга. Помимо этого, модели могут быть вложенными друг в друга - так коробка передач автомобиля и сам автомобиль зачастую разрабатываются разными компаниями, но при этом в ходе симуляции модель автомобиля должна включать в себя модель коробки и как-то с ней взаимодействовать. В этом отношении законодателем мод является Open Source Modelica Consortium, разрабатывающий стандарты описания моделей (такие как Functional-Mockup-Interface), способов их компоновки (см. System Structure and Parameterization), обмена между различными инструментами для multi-domain моделирования и распределённой симуляции (см. Distributed Co-Simulation Protocol).
Другая составляющая - информационная. Она более высокоуровневая и описывает скорее программные интерфейсы или API для доступа к информации об имитационной модели. На текущий момент существует множество разнообразных стандартов, среди которых нет однозначного лидера. Сейчас можно выделить следующих ключевых законодателей мод в этом направлении:
Многие из указанных стандартов основаны или стремятся к интеграции со стеком технологий под названием семантическая паутина. Этот стек технологий был предложен в начале 2000-ых годов отцами-основателями интернета как ответ на те вызовы, с которыми столкнулся web первой версии и которым он не очень соответствовал. Оказалось, что недостаточно просто физически соединить одни компьютеры с другими и обеспечить передачу между ними информации. Для полнофункционального взаимодействия между собой системы должны “понимать” друг друга, то есть иметь определённые соглашения по поводу того каким способом они описывают реальность, что выходит за рамки классической модели сетевого взаимодействия OSI (на чём построен современный интернет) и добавляет к ним новые уровни. В дальнейшем на базе набора стандартов семантической паутины появились также и стандарты семантической интероперабельности, предписывающие методы согласования информационных систем друг с другом. К ним относится, например, известный в узких кругах ISO 15926, разработанный для описания жизненного цикла сложных систем, но так и не получивший широкого распространения.
Так сложилось, что интернет в настоящее время разделён на крупные платформы или экосистемы, каждая из которых не сильно стремится к “взаимопониманию” друг с другом, поэтому стандарты семантической интеграции не очень охотно поддерживающеися ключевыми игроками отрасли. То есть технические системы не могут эффективно взаимодействовать друг с другом скорее по административным, а не техническим причинам. Аналогичные процессы могут произойти и с цифровыми двойниками, которые, в силу принадлежности к разным стандартам, не смогут “понимать” друг друга. Возможно, что web3, где правовой аспект (то есть административная составляющая) имеет первостепенное значение, способен возродить интерес к этой теме на новом витке эволюции.
Блокчейн-сети, как значимая часть web3, первоначально формировались вокруг финансового сектора, а их физическим воплощением являются по сей день держатели состояния баз данных и валидаторы. Оба типа устройств представляют собой ничто иное как вычислительные узлы, не меняющие состояние окружающей среды напрямую - у них нет датчиков и двигателей. Не имея возможности менять среду своего “обитания” напрямую, блокчейн-сети замыкаются на развитии самих себя и становятся, чуть более продвинутым, но всё же финансовым пузырём, что вызывает сомнения у широкой публики и мешает mass adoption крипто-индустрии. Тем не менее, те средства, которые на данный момент вобрала в себя эта отрасль, могут проявить себя конструктивно - в способности менять мир и решать те проблемы, которые не может по сей день решить современная мировая экономическая система. В том числе с помощью цифровых двойников.
Когда мы говорим о способности менять мир в 21 веке, то подразумеваем прежде всего роботов-агентов, поэтому тема цифровых двойников и их отражения в информационных системах крайне важна для связывания мира отношений владельцев приватных криптографических ключей (чем формально и является блокчейн) с техническими системами, которые разрабатываются и строятся людьми. Блокчейн в этом отношении достаточно прост - он обычно абстрагируется от семантики хранящейся в нём информации - не наделяет транзакции и аккаунты каким-то смысловым содержанием. Смысловым содержанием его наполняют пользователи, создавая именованные активы (токены), отражающие какую-то идею. По сей день токены преимущественно отражают веру сообщества в ту или иную компанию (в случае Governance) или какую-то ожидаемую полезность (в случае Utility). Причём Utility токены, как правило, сконцентрированы на IT-сервисах, то есть сущностях сопоставимого с блокчейном уровня. И мало кто пытается сделать токен, который мог бы отражать физическое состояние какой-то реальной системы. Физическое состояние мира де-факто оценивают участники рынка, часто опираясь на недостоверную и часто противоречивую информацию. Оракулы лишь частично могут решить эту проблему, потому как могут быть также подвержены искажениям. Именно в этом есть потенциал роста web3 и миссия Робономики - в том, чтобы физический мир был напрямую связан с рынками, а не через посредников в виде масс-медиа или держателей активов.
По отношению к объектам реального мира блокчейн-активы могут играть разные роли. Взаимозаменяемые токены могут быть подобны макро-характеристикам - они отражают состояние большого числа агентов. Подобно тому как температура газа отражает какой-то среднестатистический показатель всего множества значений кинетической энергии молекул газа, курс токена отражает степень интереса общества к какому-то конкретному проекту или команде разработчиков. Невзаимозаменяемые токены имеют несколько другую природу - это запись в децентрализованном реестре, отражающая какой-то уникальный объект, который невозможно разделить без его уничтожения. Именно это свойство делает NFT подходящим для объектов реального мира или цифровых двойников. NFT может выступать уникальным идентификатором экземпляра системы, содержащим цифровой паспорт, ссылку на её имитационную модель для запуска симуляций и даталог её изменений в прошлом.
Подобно тому как исторический интернет пришёл к идее необходимости семантической сети, Web3 также предстоит сделать это шаг, но при этом довести его до логического конца. И тут уже есть определённые прогрессивные шаги.
В частности, появились альтернативы DNS в виде Namecoin и ENS, а в качестве ссылок начали применяться иммутабельные контентно-адресуемые идентификаторы ресурсов (в виде хешей IPFS), гарантирующие неизменность содержимого. Если мы посмотрим на фундаментальные стандарты, лежащие в основе интернета, то можем обратить внимание как , например, в перечне схем универсальных идентификаторов ресурсов (URI) помимо традиционных http, https, ftp, mailto появились новые - такие как ipfs, ipns, web3, bitcoin, ethereum. Да, web3 по-прежнему использует сетевой протокол IP для соединения друг с другом компьютеров, но уже позволяет существенно абстрагироваться от него, переведя идентификацию на уровень криптографической верификации. Сеть перестала связывать обезличенные компьютеры с IP-адресами, а стала связывать людей как владельцев криптографических ключей. Вы можете находиться где угодно, но наличие у вас приватного ключа позволяет вам быть связанным с другими подобными вам пользователями независимо от их местонахождения, в том числе передавая друг другу ценность. Это может быть крайне актуальным и для мобильной робототехники, где местонахождение может быть весьма условным.
Упомянутый выше стек семантического веба, как и возможная причина его неудач, во многом строился на исходном фундаменте “старого” интернета. Например, на DNS, который активно используется для идентификации ресурсов URI. DNS представляет собой глобальную, административно управляемую таблицу маршрутизации, посредством которой пользователи могли обращаться к ресурсам в сети через человеко-читаемые адреса. Эта особенность не может обеспечить должную степень надёжности при описании моделей объектов реального мира для взаимодействия автоматических систем. Например, ссылаясь на какую-либо модель (или прототип) цифрового двойника в виде ресурса с URI в виде домена, мы никогда не будем уверены, что содержание этой модели не изменится на кардинально противоположное. В этом может состоять потенциальная точка роста блокчейн как некоего интерфейса к безлюдным роботизированным системам через их цифровые двойники. Например, мы можем описать модель какой-либо системы в виде многовложенных контентно-адресуемых IPLD-структур (каждый уровень в которой может описывать особый семантический слой в модели системы), записать их адреса в блокчейн и быть уверенными, что системы и устройства, опирающиеся на эти модели, никогда не будут “обмануты” касательно их содержания. Это может стать надёжной основой для коммуникации автономных автоматизированных систем в будущем.