В данном репозитории разрабатывается библиотека с открытым кодом для создания цифровых двойников производства. Основана на мультиагентной системе, которая собирает информацию, проектирует базу данных и настраивает цифрового двойника. Содержит конструктор цифровых двойников и панель мониторинга данных. Также включает инструменты для интеграции с камерами видеонаблюдения и датчиками.
Библиотека поддерживает получение сигнала со следующих датчиков:
- Температуры.
- Уровня.
- Вибрации.
- Давления.
- Износа.
- RFID.
Библиотека поддерживает следующие протоколы к ip камер видеонаблюдения для построения производства и дальнейшего анализа:
- Gige Vision - интерфейс передачи данных для цифровых камер промышленного класса.
- RTSP - протокол для организации трансляций и передачи медиаконтента.
DigitalTwinBuilder/
├── src/
│ └── DigitalTwinBuilder/
│ ├── DTlibrary/ - модуль для работы с мультиагентной системой
│ │ ├── agents/
│ │ │ ├── __init__.py
│ │ │ ├── base_agent.py
│ │ │ ├── user_interaction_agent.py
│ │ │ ├── database_agent.py
│ │ │ └── digital_twin_agent.py
│ │ │
│ │ ├── core/
│ │ │ ├── __init__.py
│ │ │ ├── database.py
│ │ │ ├── models.py
│ │ │ └── sensor_manager.py
│ │ │
│ │ ├── sensors/
│ │ │ ├── __init__.py
│ │ │ ├── base_sensor.py
│ │ │ ├── level_sensor.py
│ │ │ ├── pressure_sensor.py
│ │ │ ├── rfid_sensor.py
│ │ │ ├── temperature_sensor.py
│ │ │ ├── vibration_sensor.py
│ │ │ └── wear_sensor.py
│ │ │
│ │ ├── main.py
│ │ ├── web_interface.py
│ │ └── requirements.txt
│ │
│ └── ipcamera/ - модуль для работы с камерами с использованием протоколов gige vision и rtsp
│ ├── cpp/
│ │ ├── src/
│ │ │ └── camera/
│ │ │ ├── client.cpp
│ │ │ ├── client.hpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── gige
│ │ │ └── ...
│ │ │ └── rtsp
│ │ │ └── ...
│ │ │
│ │ ├── bindings/
│ │ │ └── camera/
│ │ │ ├── bindings.cpp
│ │ │ ├── CMakeLists.txt
│ │ │ ├── gige
│ │ │ └── ...
│ │ │ └── rtsp
│ │ │ └── ...
│ │ │
│ │ ├── python/
│ │ │ └── ipcamera/
│ │ │ ├── __init__.py
│ │ │ └── camera/
│ │ │ ├── __init__.py
│ │ │ ├── camera.so
│ │ │ ├── gige
│ │ │ | └── ...
│ │ │ └── rtsp
│ │ │ └── ...
│ │ │
│ │ └── CMakeLists.txt
│ ├── __init__.py
│ └── _core.so
├── main.py
├── scripts/
├── tests/
├── pyproject.toml
├── requirements.txt
└── README.md
git pull https://github.com/CTLab-ITMO/DigitalTwinBuilder && cd DigitalTwinBuildersudo apt-get update
sudo apt-get install docker docker-compose-pluginsudo yum update
sudo yum install docker docker-compose-pluginbrew install docker docker-composeТакже в зависимости от настроек вашей системы вам может понадобиться выполнить некоторые шаги, которые напишет brew при установке
docker compose up -dПерезапуск
docker compose up --build -d && docker compose restartДля сборки библиотеки IP camera следуйте инструкциям
sudo apt update && sudo apt install gcc cmake vcpkg boost-develsudo dnf update && sudo dnf install gcc cmake vcpkg boost-devel## Использование
```bash
python main.py
from digital_twin_builder.ipcamera.camera.gige import gige
camera_ip = "192.168.150.15"
my_ip = "192.168.1.94"
streaming_port = 53899 ## should be the one that used in docker
g = gige(camera_ip, my_ip, streaming_port)
g.start_stream()
print("Enter :q to quit")
answer = ""
while (answer != ":q"):
answer = input()
g.stop_stream()
from digital_twin_builder.ipcamera.camera.gige.gvcp import gvcp
gc = gvcp(camera_ip)
ack = gc.discovery
print(ack.current_ip) # "192.168.150.15"streamlit run web_interfaces.pyДля проведения интервью с сотрудником используется диалог в чате на странице «Интервью с пользователем».

Дальнейшим этапом является «Создание базы данных» на основе полученной от пользователя информации.

Для лучшего восприятия представляется текстовый вариант результата работы агента.

На следующем этапе «Цифровой двойник» агент конфигурирует цифрового двойника, подбирая необходимые компоненты.

Для лучшего восприятия представляется текстовый вариант результата работы агента.

Перед запуском цифрового двойника необходимо выбрать режим работы датчиков. Для тестирования данного примера были выбраны симулированные данные. Для запуска и остановки датчика предусмотрены соответствующие кнопки.

После запуска цифрового двойника становится активна Панель мониторинга для обзора результатов моделирования и данных от сенсоров. На данном примере отображены текущие показания сенсоров, графики изменения показателей, предупреждения о критических значениях, некоторые показатели качества, а также анализ исторических данных, представленный различными графиками

This project is licensed under the MIT License - see the LICENSE file for details.