From 6937ce6782671e73f7ab452700814399f983f596 Mon Sep 17 00:00:00 2001 From: mavxa Date: Mon, 14 Sep 2026 21:18:28 +0300 Subject: [PATCH] fix(module2): use 6x6 grid in simulator --- README.md | 7 +++++-- module2/module_b.py | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5761799..b457b0b 100644 --- a/README.md +++ b/README.md @@ -92,8 +92,9 @@ python3 module2/module_b.py --target 14 --sim python3 module2/module_b.py --target 14 ``` -По умолчанию используется поле 5×5, ID 0–24 и шаг 1 м. Закрытые ячейки -передаются через `--blocked`: +Без `--sim` используется площадочное поле 5×5, ID 0–24. Флаг `--sim` +включает старый Webots 6×6, ID 0–35. Закрытые ячейки передаются через +`--blocked`: ```bash 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; - `--blocked` — закрытые ячейки; +- `--sim` — профиль симулятора 6×6; - `--rows`, `--columns`, `--spacing` — геометрия сетки; - `--speed` — линейная скорость, по умолчанию 0.35 м/с, предел RMC2 0.5 м/с; - `--angular` — скорость поворота, по умолчанию 0.6 рад/с; @@ -128,6 +130,7 @@ workspace RMC2 управляется через `/RMC2/cmd_vel`; Nav2 наст ```bash 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 ``` diff --git a/module2/module_b.py b/module2/module_b.py index e86f8ea..5048103 100644 --- a/module2/module_b.py +++ b/module2/module_b.py @@ -98,8 +98,8 @@ def shortest_path(start, goal, rows, columns, blocked, forbidden=()): def arguments(): parser = argparse.ArgumentParser() parser.add_argument("--target", type=int, required=True) - parser.add_argument("--rows", type=int, default=ROWS) - parser.add_argument("--columns", type=int, default=COLUMNS) + parser.add_argument("--rows", type=int) + parser.add_argument("--columns", type=int) parser.add_argument("--spacing", type=float, default=SPACING) parser.add_argument("--blocked", type=int, nargs="*", default=[]) 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("--tolerance", type=float, default=TOLERANCE) 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("--start", type=int, default=0) 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 if args.rows < 1 or args.columns < 1: parser.error("rows и columns должны быть больше нуля")