# Навыки робота Справочник 32 навыков, используемых генератором датасета. ## Формат действия ```json {"skill": "align", "object": "деталь №1", "target": "сборочная позиция №1"} ``` - `skill` — фиксированное имя навыка на английском; по нему программа выбирает обработчик. - `object` — русское название объекта из сцены. Для `return_home` — `робот`. - `target` — русское название цели действия. Поле присутствует только у навыков, отмеченных в таблице. ## Список навыков | Навык | Назначение | Значение `target` | |---|---|---| | `detect` | Определить положение объекта | — | | `approach` | Подвести робот к объекту | — | | `pick` | Захватить объект | — | | `position` | Переместить объект к месту назначения | Место назначения | | `place` | Установить объект на место, сохраняя захват | Место установки | | `align` | Совместить объект с местом установки | Место установки | | `insert` | Вставить объект | Место установки | | `release` | Отпустить объект | — | | `inspect` | Проверить результат установки объекта | — | | `insert_fastener` | Установить крепёж в отверстие | Место установки | | `tighten` | Затянуть крепёж | Место установки | | `press_fit` | Запрессовать объект | Место установки | | `route_wire` | Проложить провод | Место подключения | | `connect` | Подключить провод | Место подключения | | `test_continuity` | Проверить электрическую целостность соединения провода | — | | `seat_component` | Установить электронный компонент | Место установки | | `test_connection` | Проверить подключение электронного компонента | — | | `clean_surface` | Очистить поверхность объекта для склеивания | — | | `apply_adhesive` | Нанести клей на объект | — | | `bond` | Прижать объект к месту соединения | Место соединения | | `wait_cure` | Дождаться отверждения клея на соединении | — | | `clamp` | Зафиксировать объект в приспособлении | Место фиксации | | `weld` | Выполнить сварное соединение | Место соединения | | `measure` | Проверить размеры объекта | — | | `wait_operator` | Дождаться готовности оператора принять объект | — | | `handover` | Поднести объект для передачи оператору, сохраняя захват | `оператор` | | `confirm_assembly` | Получить подтверждение сборки объекта от оператора | — | | `move_to_operator` | Переместить объект к оператору | `оператор` | | `hold` | Удерживать объект в неподвижном состоянии возле оператора | `оператор` | | `wait_assembly` | Дождаться подтверждения завершения сборки, продолжая удерживать объект | — | | `move_to_storage` | Переместить объект в зону хранения | Зона хранения | | `return_home` | Вернуться в исходное положение | `исходное положение` | ## Форматы ответа модели ### Полный план — `full` Ответ содержит `status` и массив `plan`: ```json { "status": "ready", "plan": [ {"skill": "detect", "object": "распределительная коробка №1"}, {"skill": "approach", "object": "распределительная коробка №1"}, {"skill": "pick", "object": "распределительная коробка №1"}, {"skill": "move_to_operator", "object": "распределительная коробка №1", "target": "оператор"}, {"skill": "hold", "object": "распределительная коробка №1", "target": "оператор"}, {"skill": "wait_assembly", "object": "распределительная коробка №1"}, {"skill": "move_to_storage", "object": "распределительная коробка №1", "target": "зона хранения №1"}, {"skill": "release", "object": "распределительная коробка №1"}, {"skill": "return_home", "object": "робот", "target": "исходное положение"} ] } ``` - `ready` — полный план достигает цели в логической модели сцены. - `blocked` — цель недостижима в текущей сцене. План может содержать выполнимую часть действий; если действий нет, массив пуст. ### Следующее действие — `step` ```json { "status": "ready", "plan": [{"skill": "pick", "object": "деталь №1"}] } ``` В этом режиме `ready` означает доступность указанного следующего действия, а не гарантию завершения всей задачи. При достигнутой цели возвращается `ready` с пустым массивом; при невозможности продолжения — `blocked` с пустым массивом. ### План с ветвлением — `branch` У каждого действия дополнительно присутствуют: | Поле | Назначение | |---|---| | `id` | Идентификатор действия: `step_1`, `step_2` и далее | | `on_success` | ID следующего действия или терминальный исход `ready` / `blocked` | | `on_failure` | Терминальный исход `replan_required` | Пример отдельного узла внутри плана: ```json { "id": "step_1", "skill": "pick", "object": "деталь №1", "on_success": "step_2", "on_failure": "replan_required" } ``` Выполнение начинается с первого элемента `plan`. При успехе последнего действия переход ведёт к `ready` или `blocked`. При ошибке `replan_required` означает остановку, обновление сцены и построение нового плана. Эти три исхода не являются навыками. У пустого плана итог определяется полем `status`.