Запись поз и первое движение
Результат: небольшой проверенный путь воспроизведён, а конечное состояние моторов известно. Нужны Extension v9, проверенные калибровка и профили каждого мотора. Не запускайте полную руку с однопрофильным примером.
1. Проверить неподвижное оборудование
Поддержите руку и оставьте удержание выключенным. Команды ниже читают оборудование; --include-writes здесь не используется:
macOS / Linux
npm run bus-benchmark -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
Windows PowerShell
npm.cmd run bus-benchmark -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --repetitions 100
macOS / Linux
npm run telemetry -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Windows PowerShell
npm.cmd run telemetry -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6 --samples 1000 --interval-ms 20 --output tools/diagnostics/results/first-check
Укажите реальные ID. Для следующего запуска телеметрии выберите новое имя выходного каталога. Диапазон контроля напряжения по умолчанию — 8–16 В; если он не соответствует вашему питанию, задайте --voltage-min и --voltage-max по спецификации оборудования.
Проверка: разберите ошибки связи, аварии и отмеченные показания в отчёте. Сам факт создания файла не означает успешную проверку. Полный аппаратный diff-набор здесь не нужен: он может двигать моторы и заменять настройки.
2. Записать две близкие позы
Запустите запись в интерактивном терминале:
macOS / Linux
npm run record-poses -- --port "$SERVO_PORT" --ids 1,2,3,4,5,6
Windows PowerShell
npm.cmd run record-poses -- --port "$env:SERVO_PORT" --ids 1,2,3,4,5,6
- Поддержите механизм и нажмите Enter для подтверждения снятия удержания.
- Дождитесь
Torque off verified. - Выберите устойчивую позу в пределах хода, держите руку неподвижно и введите
start. - Вручную выполните небольшое проверенное перемещение, удерживайте новую позу и введите
nearby. - Введите
doneи сохраните выведенный путь к JSON.
Поза — последовательный снимок неподвижных моторов, не синхронная запись движения. Удержание остаётся выключенным. Файл находится в tools/poses/recordings/; он не содержит калибровочного снимка и не позволяет обнаружить последующую смену смещений.
3. Проверить конфигурацию и весь путь
Создайте tools/poses/controller.local.json по руководству конфигурации. Укажите все моторы из записи, соответствующие профили и порт. На шине должны быть ровно эти моторы. Если механизму нужна проверенная модель гравитации для удержания, настройте её до первого запуска; наличие шаблона с нулевой компенсацией не доказывает пригодность для вашей нагрузки.
Вместо POSES.json подставьте путь, полученный при записи. Пути с пробелами заключайте в кавычки. Предварительный просмотр подключается к оборудованию, читает его и проверяет цели и настроенные ограничения по всей записи, но не меняет настройки и не запускает движение. Столкновения, зазоры и физическая траектория звеньев не проверяются:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json
Проверка: правильные ID и порт; число кадров соответствует записи; цели и выбранные скорости ожидаемы. cappedTargets сообщает о целях, обрезанных по текущим пределам. Для первого запуска разберите любую такую коррекцию, вместо того чтобы считать изменённую траекторию равной записи.
4. Запустить движение
Проверьте свободный путь от текущего положения до первой позы, а также между записанными позами. Уберите руки из зоны движения, сохранив возможность отключить питание. Команда включает управление и движение:
macOS / Linux
npm run replay -- tools/poses/controller.local.json POSES.json --run
Windows PowerShell
npm.cmd run replay -- tools/poses/controller.local.json POSES.json --run
При старте новая сессия или смена профилей может кратковременно отпустить моторы. Механизм должен быть закреплён или поддержан безопасным способом до запуска. Скорости суставов масштабируются по расстоянию, но каждый строит собственную S-кривую: точное одновременное прибытие не гарантируется. Точки проходят с остановкой, без непрерывного сглаживания между ними.
Проверка: программа завершилась без ошибки, достигнуты допустимые позиции, журнал сохранён в logs/motion/. Успешное завершение не является измерением абсолютной точности конца руки.
5. Завершить работу
После обычного завершения Extension replay моторы остаются включёнными и удерживают последнюю цель. Ctrl+C прекращает выдачу новых целей, но не останавливает движение мгновенно. С моделью гравитации контроллер обслуживает оставшееся движение и ждёт покоя перед выходом. Без модели он может завершить процесс, пока мотор продолжает движение к последней цели. При настроенной гравитации последнее воздействие сохраняется, но после выхода больше не пересчитывается.
Для снятия удержания после завершения процесса поддержите руку, запустите команду записи из шага 2, подтвердите освобождение, дождитесь Torque off verified и введите done. Появится пустая запись; её не воспроизводят. При потере связи эта процедура может не сработать: заранее предусмотренный способ отключения питания остаётся необходимым.
Далее по задаче: гравитация, телеуправление, настройка или просмотр журнала. Сводка различий остановки инструментов — в справочнике сессий.
Главная раздела · Версия исходников: a995f77. Extension 9.0.