Update entities.md
This commit is contained in:
parent
587441baac
commit
a5783618c5
1 changed files with 36 additions and 11 deletions
|
@ -19,13 +19,14 @@
|
||||||
{
|
{
|
||||||
"sid": 1,
|
"sid": 1,
|
||||||
"type": "computing_process",
|
"type": "computing_process",
|
||||||
|
"description": "Robossembler Dataset Generator",
|
||||||
"command": "blenderproc",
|
"command": "blenderproc",
|
||||||
"package": "dataset_generator.py",
|
"package": "dataset_generator.py",
|
||||||
"executable": "",
|
"executable": "",
|
||||||
"args": {
|
"args": {
|
||||||
"folder": \${NAME:string:""},
|
"folder": \${NAME:string:""},
|
||||||
},
|
},
|
||||||
"description": "Robossembler Dataset Generator"
|
"interfaces": "" // у процессов нет интерфейсов
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -35,6 +36,7 @@
|
||||||
{
|
{
|
||||||
"sid": 2,
|
"sid": 2,
|
||||||
"type": "digital_twin",
|
"type": "digital_twin",
|
||||||
|
"description": "ROS Wrapper for Intel RealSense Cameras",
|
||||||
"command": "ros2 launch",
|
"command": "ros2 launch",
|
||||||
"package": "realsense2_camera",
|
"package": "realsense2_camera",
|
||||||
"executable": "rs_launch.py",
|
"executable": "rs_launch.py",
|
||||||
|
@ -42,7 +44,9 @@
|
||||||
"camera_namespace": \${NAME:string:""},
|
"camera_namespace": \${NAME:string:""},
|
||||||
"camera_name": \${NAME:string:""},
|
"camera_name": \${NAME:string:""},
|
||||||
},
|
},
|
||||||
"description": "ROS Wrapper for Intel RealSense Cameras"
|
"interfaces": {
|
||||||
|
"cmd": "python ros2_topic_to_json.py"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -51,6 +55,7 @@
|
||||||
{
|
{
|
||||||
"sid": 3,
|
"sid": 3,
|
||||||
"type": "skill_server",
|
"type": "skill_server",
|
||||||
|
"description": "Pose Estimation Skill Dope 6D",
|
||||||
"command": "ros2 launch",
|
"command": "ros2 launch",
|
||||||
"package": "dope6d",
|
"package": "dope6d",
|
||||||
"executable": "dope.py",
|
"executable": "dope.py",
|
||||||
|
@ -60,7 +65,9 @@
|
||||||
"param3": \${INT:string:""},
|
"param3": \${INT:string:""},
|
||||||
"image_raw": \${TOPIC:CameraInfo:""},
|
"image_raw": \${TOPIC:CameraInfo:""},
|
||||||
},
|
},
|
||||||
"description": "Pose Estimation Skill Dope 6D"
|
"interfaces": {
|
||||||
|
"cmd": "python ros2_topic_to_json.py"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -69,6 +76,7 @@
|
||||||
{
|
{
|
||||||
"sid": 4,
|
"sid": 4,
|
||||||
"type": "behaviour_tree",
|
"type": "behaviour_tree",
|
||||||
|
"description": "Behaviour tree executor",
|
||||||
"command": "ros2 launch",
|
"command": "ros2 launch",
|
||||||
"package": "rbs-bt",
|
"package": "rbs-bt",
|
||||||
"executable": "bt_executor",
|
"executable": "bt_executor",
|
||||||
|
@ -76,7 +84,28 @@
|
||||||
"xml": \${NAME:string:""},
|
"xml": \${NAME:string:""},
|
||||||
"json": \${NAME:string:""}
|
"json": \${NAME:string:""}
|
||||||
},
|
},
|
||||||
"description": "Behaviour tree executor"
|
"interfaces": {
|
||||||
|
"cmd": "python skills_interfaces_to_json.py [args]",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Пример
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"sid": 5,
|
||||||
|
"type": "behaviour_tree",
|
||||||
|
"description": "Behaviour tree executor",
|
||||||
|
"command": "python",
|
||||||
|
"package": "",
|
||||||
|
"executable": "interfaces_to_json.py",
|
||||||
|
"args": {
|
||||||
|
"xml": \${NAME:string:""},
|
||||||
|
"json": \${NAME:string:""}
|
||||||
|
},
|
||||||
|
"interfaces": {
|
||||||
|
"cmd": "",
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -108,17 +137,13 @@
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
3. После завершения конфигурации цифрового двойника Backend фоново запускает команду `<command> <package> <executable> <key1>:=<value1> <key2>:=<value2>`. После также запускает команду `ros2_topic_to_json.py` (выводит все топики и их типы в системе), получает интерфейсы ROS данного двойника(ов) и записывает их в таблицу. Структура таблицы БД: `parent` (ссылка на экземпляр цифрового двойника из п.2), `topic_name` (строка или path), `msg_type` (строка), `hash` (хеш, пока не будет использоваться, оставлять пустым по дефолту). Все изменения в Scene Builder должны быть синхронизированы с БД. Если устройство удаляется из сцены, то её интерфейсы также удаляются из таблицы по parent'у.
|
3. После завершения конфигурации цифрового двойника Backend фоново запускает команду `get_interfaces.py --json={}`, где json - это набор параметров двойника для данного экземпляра. Программа `get_interfaces.py --json={}` внутри будет запускать субпроцесс вида `<command> <package> <executable> <key1>:=<value1> <key2>:=<value2>` и после запуска получать перечень интерфейсов, после чего возвращает веб-сервису все топики и их типы в системе. Веб-сервис записывает их в таблицу. Структура таблицы БД: `parent` (ссылка на экземпляр цифрового двойника из п.2), `topic_name` (строка или path), `msg_type` (строка), `hash` (хеш, пока не будет использоваться, оставлять пустым по дефолту). Все изменения в Scene Builder должны быть синхронизированы с БД. Если устройство удаляется из сцены, то её интерфейсы также удаляются из таблицы по parent'у.
|
||||||
|
|
||||||
## Пример навыка
|
## Пример навыка
|
||||||
|
|
||||||
см. предыдущий пример (вместо "Цифровой двойник" - "Навык", вместо Scene Builder - BT Builder).
|
1-3. см. предыдущий пример (вместо "Цифровой двойник" - "Навык", вместо Scene Builder - BT Builder, вместо Сцены - Холст). При конфигурации навыка пользователь видит только те топики, которые поддерживают данный тип интерфейса (то есть из цифровых двойников или других источников данных). При удалении данного навыка с холста, его интерфейсы удаляются из таблицы.
|
||||||
В редакторе деревьев появляется пользовательский Навык (создан на этапе 1-3), при добавлении которого уже известны интерфейсы цифровых двойников (запущены заранее).
|
|
||||||
5. Пользователь добавляет Навык на холст (под капотом присваивается sid) и конфигурируем его (добавляя уже записанные в БД интерфейсы).
|
|
||||||
6. При конфигурации навыка пользователь видит только те топики, которые поддерживают данный тип интерфейса (то есть из цифровых двойников или других источников данных).
|
|
||||||
7. При добавлении навыка, формирующего топик, пользователь указывает его имя и веб-сервис размещает его в таблицу. При удалении данного навыка с холста, топик удаляется.
|
|
||||||
|
|
||||||
## Виды цифровых двойников
|
## Виды цифровых двойников (в разработке)
|
||||||
|
|
||||||
Parts:
|
Parts:
|
||||||
`/parts/bolt_x/mesh_path [std_msgs/FilePath]`
|
`/parts/bolt_x/mesh_path [std_msgs/FilePath]`
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue