fix(module2): use 6x6 grid in simulator

This commit is contained in:
2026-09-14 21:18:44 +03:00
parent f39462330a
commit 6937ce6782
2 changed files with 13 additions and 5 deletions
+5 -2
View File
@@ -92,8 +92,9 @@ python3 module2/module_b.py --target 14 --sim
python3 module2/module_b.py --target 14 python3 module2/module_b.py --target 14
``` ```
По умолчанию используется поле 5×5, ID 0–24 и шаг 1 м. Закрытые ячейки Без `--sim` используется площадочное поле 5×5, ID 0–24. Флаг `--sim`
передаются через `--blocked`: включает старый Webots 6×6, ID 0–35. Закрытые ячейки передаются через
`--blocked`:
```bash ```bash
python3 module2/module_b.py --target 14 --blocked 7 8 13 --sim python3 module2/module_b.py --target 14 --blocked 7 8 13 --sim
@@ -103,6 +104,7 @@ python3 module2/module_b.py --target 14 --blocked 7 8 13 --sim
- `--target` — целевой ArUco ID; - `--target` — целевой ArUco ID;
- `--blocked` — закрытые ячейки; - `--blocked` — закрытые ячейки;
- `--sim` — профиль симулятора 6×6;
- `--rows`, `--columns`, `--spacing` — геометрия сетки; - `--rows`, `--columns`, `--spacing` — геометрия сетки;
- `--speed` — линейная скорость, по умолчанию 0.35 м/с, предел RMC2 0.5 м/с; - `--speed` — линейная скорость, по умолчанию 0.35 м/с, предел RMC2 0.5 м/с;
- `--angular` — скорость поворота, по умолчанию 0.6 рад/с; - `--angular` — скорость поворота, по умолчанию 0.6 рад/с;
@@ -128,6 +130,7 @@ workspace RMC2 управляется через `/RMC2/cmd_vel`; Nav2 наст
```bash ```bash
python3 module2/module_b.py --target 14 --start 0 --dry-run python3 module2/module_b.py --target 14 --start 0 --dry-run
python3 module2/module_b.py --target 8 --start 0 --sim --dry-run
python3 module2/module_b.py --target 24 --start 6 --blocked 7 8 --dry-run python3 module2/module_b.py --target 24 --start 6 --blocked 7 8 --dry-run
``` ```
+8 -3
View File
@@ -98,8 +98,8 @@ def shortest_path(start, goal, rows, columns, blocked, forbidden=()):
def arguments(): def arguments():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("--target", type=int, required=True) parser.add_argument("--target", type=int, required=True)
parser.add_argument("--rows", type=int, default=ROWS) parser.add_argument("--rows", type=int)
parser.add_argument("--columns", type=int, default=COLUMNS) parser.add_argument("--columns", type=int)
parser.add_argument("--spacing", type=float, default=SPACING) parser.add_argument("--spacing", type=float, default=SPACING)
parser.add_argument("--blocked", type=int, nargs="*", default=[]) parser.add_argument("--blocked", type=int, nargs="*", default=[])
parser.add_argument("--speed", type=float, default=MAX_SPEED) parser.add_argument("--speed", type=float, default=MAX_SPEED)
@@ -107,11 +107,16 @@ def arguments():
parser.add_argument("--stop-distance", type=float, default=STOP_DISTANCE) parser.add_argument("--stop-distance", type=float, default=STOP_DISTANCE)
parser.add_argument("--tolerance", type=float, default=TOLERANCE) parser.add_argument("--tolerance", type=float, default=TOLERANCE)
parser.add_argument("--scan-topic", default="/RMC2/scan_front") parser.add_argument("--scan-topic", default="/RMC2/scan_front")
parser.add_argument("--sim", action="store_true") parser.add_argument("--sim", action="store_true", help="Симулятор с сеткой 6x6")
parser.add_argument("--dry-run", action="store_true") parser.add_argument("--dry-run", action="store_true")
parser.add_argument("--start", type=int, default=0) parser.add_argument("--start", type=int, default=0)
args = parser.parse_args() args = parser.parse_args()
if args.rows is None:
args.rows = 6 if args.sim else ROWS
if args.columns is None:
args.columns = 6 if args.sim else COLUMNS
count = args.rows * args.columns count = args.rows * args.columns
if args.rows < 1 or args.columns < 1: if args.rows < 1 or args.columns < 1:
parser.error("rows и columns должны быть больше нуля") parser.error("rows и columns должны быть больше нуля")