diff --git a/basic/README.md b/basic/README.md index 32c3d1f..987e125 100644 --- a/basic/README.md +++ b/basic/README.md @@ -61,6 +61,41 @@ python3 basic/lift_rmc2.py down python3 basic/stop_all.py ``` +## Первый запуск на физическом RMC2 + +Сначала выберите соседнюю с текущей целевую метку и оставьте низкие скорости: + +```bash +TARGET_ID=1 +python3 basic/drive_to_aruco.py \ + --target "$TARGET_ID" \ + --spacing 1.0 \ + --max-speed 0.04 \ + --max-angular 0.12 \ + --stop-distance 0.70 \ + --tolerance 0.10 \ + --ready-timeout 30 \ + --waypoint-timeout 90 +``` + +Флаги `drive_to_aruco.py`: + +- `TARGET` или `--target TARGET` — ID целевой ArUco-метки; укажите только одним способом. +- `--robot` — имя робота; физический проезд по ArUco поддерживается только для `RMC2`. +- `--rows`, `--columns` — размеры сетки; по умолчанию 5×5 для реального поля и 6×6 с `--sim`. +- `--spacing` — измеренное расстояние между центрами соседних ArUco в метрах. +- `--blocked` — ID закрытых клеток. Возле крупного препятствия закройте и соседнюю клетку, если корпусу не хватает зазора. +- `--max-speed` — линейная скорость. Первый реальный тест: 0.03–0.05 м/с, после проверки: 0.08–0.12 м/с. +- `--max-angular` — угловая скорость. Первый реальный тест: 0.10–0.15 рад/с. +- `--stop-distance` — расстояние аварийной остановки по лидару. Оно измеряется от датчика, а не от центра ровера; начните с 0.70 м. +- `--tolerance` — допустимая ошибка центрирования над меткой. `0.10` означает 10 см; после настройки уменьшите до `0.06`. +- `--ready-timeout` — сколько секунд ждать odometry, lidar, ArUco и TF перед отказом. +- `--waypoint-timeout` — максимальное время движения к одной следующей метке. +- `--scan-topic` — другое имя топика переднего лидара, если оно отличается от `/RMC2/scan_front`. +- `--sim` — использовать Webots: симуляторное время, сетку 6×6 и симуляторный топик ArUco. +- `--yes` — начать без подтверждения Enter; не используйте при первом физическом запуске. + + `drive_to_aruco.py` по умолчанию использует реальную сетку 5×5: `0=(0,0)`, `1=(0,+1 м)`, `5=(-1 м,0)`. С `--sim` выбирается сетка Webots 6×6, где `6=(-1 м,0)`. Ровер должен стартовать центром над видимой меткой.