SimSentry hasn't launched yet. The starter pack, the pip package and Pro checkout all go live at launch — tell us where to send the announcement.

Navigation verification for ROS 2 Nav2

A bad nav change should fail the build. Not the warehouse.

SimSentry is a downloadable verification pack for your Nav2 stack: simulated warehouse scenarios, hard pass/fail gates, JUnit reports, and a one-command replay for every failure — wired into the CI you already run.

We built the scenario library and the CI plumbing you'd otherwise build and maintain yourself.

Install, point it at your robot, catch a collision before it merges — in under three minutes.

Three steps to a gated pull request

1 · Describe your robot.

Two TurtleBot3 profiles ship ready to run. For your own robot, point simsentry.yaml at a URDF and your Nav2 parameters — no forks, no custom ROS packages.

2 · Run the suite.

simsentry run launches Gazebo and Nav2 headless, drives every scenario, and checks five gate types: collisions, forbidden-zone entry, minimum clearance, speed limit, and goal reached.

3 · Gate the PR.

The result is a JUnit report your CI already understands. Any failed gate fails the build — and carries the exact command to replay the failure locally.

Five gates, tri-state verdicts

Every scenario evaluates hard thresholds — pass, fail, or skip. A gate that can't be measured reports SKIP, never a silent pass.

PASS

Collisions

contact-sensor events from the full contact stream, not sampled.

PASS

Minimum clearance

closest approach to any obstacle, from the laser scan.

FAIL

Speed limit

peak velocity from odometry against the scenario's cap.

PASS

Goal reached

did Nav2 actually complete the navigation task?

Every failure is reproducible

Each scenario run writes a replay bundle: the scenario seed, the generated world and map, the Nav2 configuration, logs, and the measured verdicts. One command re-runs exactly what failed. Reports regenerate from bundles byte-for-byte — the evidence doesn't depend on the machine that produced it.

Built for the pipeline you already have

CI templates included.

Copy-paste workflows for GitHub Actions and GitLab CI, plus a portable bash runner for everything else.

Bring your own robot.

Differential-drive robot on Nav2? Drop in your URDF and Nav2 parameters via simsentry.yaml. The scenario library is robot-agnostic — one suite verifies any robot you configure.

Two engines, one suite.

The free tier runs Gazebo on any CPU-only CI runner. Pro adds NVIDIA Isaac Sim as a first-class peer engine — same scenarios, same gates, same reports.

Where SimSentry sits in your toolchain

SimSentry doesn't replace your simulator or your observability stack — it's the verdict layer between them and your merge button.

Foxglove tells you what your robot did. SimSentry tells you whether to ship the change — the red/green PR gate that runs before anyone opens a bag file.
Your simulator renders the world. SimSentry fails your build when the robot collides, breaks a speed limit, enters a forbidden zone, or misses its goal — with a one-command replay attached.

A generous free tier. A Pro tier for where regressions actually happen.

The free starter pack is MIT-licensed and genuinely useful — static-obstacle warehouse scenarios with full gate evaluation. Pro adds the scenarios that catch real-world regressions: moving actors, more coverage, a generator for unlimited new scenarios, and Isaac Sim.

Feature comparison: Starter (free, MIT) versus Pro
Starter — free (MIT)Pro
Warehouse scenarios1952 (adds 33 advanced)
Warehouse archetypestight aisles, mixed flow, wide industrialsame three, deeper coverage
Floor surfaces6 friction surfaces6 friction surfaces
Gate typesall 5all 5
Dynamic actors (static obstacles)moving actors, 3 behavior patterns
Scenario generatorunlimited new scenarios from the warehouse taxonomy
Simulation enginesGazeboGazebo + NVIDIA Isaac Sim
Metricsodometry + scan sampling, full contact stream+ full-frequency rosbag speed and clearance
ReportsJUnit XML+ HTML and JSON evidence reports
Replay bundles + recorded rosbags
CI templatesGitHub Actions, GitLab, bashGitHub Actions, GitLab, bash
Bring your own robotURDF → Gazebo+ URDF → USD for Isaac Sim
Parallel execution + vectorized Isaac batching on GPU hosts
SupportGitHub issuesemail, 2-business-day first response
Isaac Sim in Pro is a peer engine, not a demo: the same scenario seeds, the same gates, the same reports — plus in-sim vectorized batching that runs multiple scenarios per simulator boot on a GPU host.
Determinism, honestly. Verdicts on the reference Gazebo stack are stable run to run, and reports regenerate byte-identically from replay bundles. Navigation controllers that are themselves nondeterministic are handled explicitly: --reps N runs a scenario N times and gates on the worst result, so flaky passes don't sneak through.

Pricing

Starter
Free, forever

MIT-licensed. 19 scenarios, 3 warehouse archetypes, 6 surfaces, all 5 gates, replay bundles, CI templates, bring-your-own-robot.

Indie Pro
$169 per month

For one engineer. Everything in Starter, plus 33 advanced scenarios, dynamic actors, the scenario generator, full-frequency rosbag metrics, HTML/JSON evidence reports, Isaac Sim support, email support, and all updates while licensed.

Available at launch 14-day trial at launch
Team Pro
$439 per month

Everything in Indie, for up to 10 engineers in one company. Costs less per year than one GPU-year of enterprise sim licensing.

Available at launch 14-day trial at launch
Fleet / Enterprise
Contact us

More than 10 engineers, multiple legal entities, procurement-friendly terms — PO and invoice, priority support, a separate agreement.

Try Pro free for 14 days. Full features of the tier you pick. Card required; the trial converts to a monthly license unless you cancel — cancel before day 14 and you are never charged. One trial per company.
14-day money-back guarantee on your first purchase · annual licenses never auto-renew — renewing is a fresh purchase at the then-current price · monthly licenses cancel anytime · support@simsentry.io, first response within 2 business days · prices net of VAT · sold to businesses only (B2B)

When a license expires, every scenario and report you already have keeps working. The generator, updates, and support stop until you renew.

Where SimSentry fits in your safety case

The EU Machinery Regulation 2023/1230 applies from 20 January 2027 and, for the first time, explicitly brings software, software updates, and evolving autonomous behavior into machinery risk assessment (Recital 32). SimSentry produces automated, replayable CI evidence that your navigation behavior didn't regress across a software change — documentation that supports your risk-assessment file and your change-management discipline.

The machinery safety standard for driverless industrial trucks, ISO 3691-4, assigns its required performance levels to the protective stop — personnel detection, braking, emergency stop. Navigation and steering carry no safety rating: navigation quality is left to you as an engineering problem. That is exactly the layer SimSentry verifies.

SimSentry is a development and CI verification tool, not a safety-rated product. It does not perform or replace risk assessment, conformity assessment, or functional-safety certification, and simulation results — including passing verdicts — are not evidence that a robot is safe to operate in the physical world.

Questions engineers actually ask

Why wouldn't I just extend nav2_system_tests?
You can — it's a solid codebase, and it's the same underlying practice: full-system simulation tests for Nav2. It exists so Nav2's maintainers can gate Nav2's own pull requests. Turning that into a verification harness for your stack means writing and maintaining the scenario library, world and map generation, metric gates, JUnit reporting, replay tooling, and CI wiring yourself. SimSentry is that work, productized and maintained: install it with pip, point it at your robot, gate your PRs today.
Does it work with my robot?
If it's a differential-drive robot running ROS 2 Nav2 — yes. Two TurtleBot3 profiles ship ready to run; for your own robot you provide a URDF and your Nav2 parameters in simsentry.yaml. The scenario library is robot-agnostic, so the same suite verifies whatever robot you configure.
What do I need to run it?
A ROS 2 Humble environment with Gazebo and Nav2 — any CPU-only runner or workstation is enough for the free tier, no GPU required. If you don't have that environment handy, the CI templates and prebuilt Docker images ship it ready to run. Isaac Sim (Pro) additionally needs an NVIDIA RTX GPU.
Is a passing suite a safety certification?
No. SimSentry verifies navigation behavior in simulation and documents it. It does not certify safety functions, satisfy conformity assessment, or replace real-world testing — passing verdicts are engineering evidence, not a safety claim.
How does the 14-day trial work?
Card required. You get the full features of the tier you pick for 14 days; the trial then converts to a monthly license unless you cancel. Cancel before day 14 and you are never charged. One trial per company.
What happens when my license expires?
Everything you already produced keeps working — scenarios on disk, reports, replay bundles. Generating new scenarios, receiving updates, and support require an active license. Annual licenses never auto-renew; renewing is a new purchase at the then-current price. Monthly licenses renew each month until you cancel.
What's the refund policy?
Your first purchase of a paid tier carries a 14-day money-back guarantee — email support@simsentry.io within 14 days and the purchase is refunded in full (the license key is revoked). Trials canceled before day 14 are never charged in the first place.
Does it phone home?
No. License keys are verified offline by signature — no telemetry, no activation server, no network calls at runtime. It runs on air-gapped CI runners.
Gazebo or Isaac Sim?
Both run the same scenarios and gates. Gazebo is the free default and runs on any CPU-only CI runner. Isaac Sim (Pro) adds GPU-accelerated physics and sensing plus vectorized batching for GPU hosts — use it when your team already lives in the NVIDIA stack or wants a second engine's opinion on the same suite.

Stop merging navigation regressions.

$ pip install simsentry