AutonomousVehicleControlBeginnersGuide
자율주행 차량 제어 알고리즘 샘플 코드와 문서로, 초보자가 알고리즘과 소프트웨어 구조를 공부할 수 있는 기술 가이드
로봇 내비게이션용 브라우저 시뮬레이터로 위치·인식·계획·제어를 조정하고 루프를 분석하며 가이드 학습이 가능
A browser simulator for robot navigation: tune localization, perception, planning and control, analyze the loop, learn with guided lessons.
교육JavaScript · PythonGitHub @spz0git온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
A robot navigation simulator and course in one HTML file: localization, perception, planning, control and safety, with loop analysis and guided lessons.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A robot navigation simulator that runs in your browser. It is one HTML file: nothing to install, works offline, works on a phone.
Try it: open the live page at https://spz0git.github.io/nav-stack-lab/. It is the file at the head of this
repository, deployed on every merge. To keep a copy, download dist/nav-stack-lab.html
(or the file attached to the latest release) and open it
in a browser; it works without a network.
A small robot drives missions on seven floors, from an empty room to a parking lot and a moose test. You choose how it localizes (dead reckoning, EKF, particle filter, EKF-SLAM), how it maps (known map or lidar occupancy), how it plans (A*, RRT*, Hybrid A*, space-time A*) and how it steers (pure pursuit, Stanley, rear-wheel feedback, PID, DWA, MPC). You can also write your own controller, planner, localizer or predictor in JavaScript and drop it in. There are people walking around, another vehicle, sensor noise, latency, and a car model with tyre slip.
The page has two modes, Simulate and Learn, and a loop analysis view:
training/) and run in the page
as plain JavaScript, with lessons that measure where each works and where it does not. A Safety group teaches the
ideas of the safety standards for automated vehicles (ISO 26262, ISO 21448, ISO/PAS 8800, UL 4600) by measuring
them: the operating domain, hazards rated by the speed of each contact, the situations that make a stack with
nothing broken fail, faults with their time budget, and a search for the failures nobody wrote down (Tools → Safety).It is meant for students and engineers who want to see localization, perception, planning and control interact, change one thing, and watch what happens. Design notes, known limits and what comes next are in docs/roadmap.md.
git clone https://github.com/spz0git/nav-stack-lab.git
cd nav-stack-lab
./build.sh
open dist/nav-stack-lab.html
You need Node 20 or newer. The page has no runtime dependencies and the build needs nothing but Node; the lint and
format checks (npm run lint, npm run fmt:check) use ESLint and Prettier, which npm ci installs.
npm test # Node only, 69 tests, about 35–55 s (after ./build.sh)
python3 tests/run_all.py --changed # the browser tests this change needs (smoke test about 40 s)
python3 tests/run_all.py # all twelve browser tests, about 12 min
The browser tests need Playwright and a Chromium once:
python3 -m venv .venv && source .venv/bin/activate && pip install -r tests/requirements.txt && playwright install chromium.
What each test checks is in CONTRIBUTING.md.
Issues and pull requests are welcome. CONTRIBUTING.md explains what kind of change fits and the tests every PR runs; docs/good-first-issues.md has a few small ones to start with; src/README.md is the map of the source.
If you use the lab in a course or a paper, CITATION.cff has the citation.
MIT, see LICENSE. The embedded fonts and the vendored TeX converter keep their own licences, listed in NOTICE.