fix: align modules with physical rover API
This commit is contained in:
+28
-2
@@ -13,7 +13,8 @@
|
||||
|
||||
Решение специально последовательное: это медленнее параллельного управления,
|
||||
зато уменьшает риск столкновения RMC1 и RMC2. Маршруты строятся BFS по графу
|
||||
ArUco 6 × 6, занятые клетки исключаются. Движение замыкается по odometry,
|
||||
ArUco, занятые клетки исключаются. Для Webots используется сетка 6 × 6, для
|
||||
физического поля из документации — 5 × 5. Движение замыкается по odometry,
|
||||
`scan_front` вызывает остановку перед препятствием, команды скорости сглаживаются.
|
||||
Соседняя парковочная точка RMC2 автоматически берётся из построенного пути к
|
||||
комплектации, отдельный параметр для неё не нужен.
|
||||
@@ -63,7 +64,7 @@ python3 module5/module5.py --target 1
|
||||
Перед движением программа показывает все точки и маршруты. После проверки
|
||||
нажмите Enter. Классы цели: `1=hammer`, `2=wrench`, `3=pliers`.
|
||||
|
||||
Пример с точками эксперта:
|
||||
Пример с точками эксперта для Webots:
|
||||
|
||||
```bash
|
||||
python3 module5/module5.py --target wrench \
|
||||
@@ -72,6 +73,26 @@ python3 module5/module5.py --target wrench \
|
||||
--delivery 5 --delivery-approach 4 --blocked 31,35
|
||||
```
|
||||
|
||||
На физическом поле обязательно добавьте `--real` и явно передайте все семь точек
|
||||
эксперта. Без них скрипт откажется запускаться, чтобы случайно не применить
|
||||
симуляторный пресет 0–35 к реальным ID 0–24:
|
||||
|
||||
```bash
|
||||
python3 module5/module5.py --real --target wrench \
|
||||
--rmc1-start "$RMC1_START" --rmc2-start "$RMC2_START" \
|
||||
--rack "$RACK" --assembly "$ASSEMBLY" \
|
||||
--assembly-approach "$ASSEMBLY_APPROACH" \
|
||||
--delivery "$DELIVERY" --delivery-approach "$DELIVERY_APPROACH" \
|
||||
--blocked "$BLOCKED" --dry-run
|
||||
```
|
||||
|
||||
Сначала присвойте переменным фактические ID и проверьте этот `--dry-run`. Затем
|
||||
уберите только `--dry-run`. Реальный профиль также выбирает камеру
|
||||
`/RMC1/arm95/svcam/right/image/compressed`, лифт `0.05` м и системное время.
|
||||
Суффикс камеры противоречит указанному в PDF типу `sensor_msgs/Image`, поэтому
|
||||
сначала выполните `ros2 topic info ... -v`; если фактический тип
|
||||
`CompressedImage`, добавьте `--camera-compressed`.
|
||||
|
||||
Только маршруты, без ROS и движения:
|
||||
|
||||
```bash
|
||||
@@ -118,6 +139,11 @@ Webots не имеет аппаратного watchdog: после SIGKILL до
|
||||
поле: геометрия полки может отличаться. Если ARM95 пока не откалиброван,
|
||||
`--skip-arm` позволяет отдельно проверить всю логистику RMC1/RMC2.
|
||||
|
||||
Для расчёта координат детали нужен `CameraInfo`. Если его нет в списке топиков,
|
||||
передайте калибровку как `--camera-fx`, `--camera-fy`, `--camera-cx`,
|
||||
`--camera-cy`. Имена frame камеры и базы проверьте через TF; базу можно заменить
|
||||
аргументом `--base-frame`.
|
||||
|
||||
## Логи и критерии
|
||||
|
||||
Логи сохраняются в `module5/logs/module5_*.jsonl` и не попадают в Git. В них
|
||||
|
||||
Reference in New Issue
Block a user