Skip to content

docs: add production-style Jetbot Guardrail example#3

Merged
ez945y merged 1 commit into
mainfrom
example/jetbot-guardrail
Jun 15, 2026
Merged

docs: add production-style Jetbot Guardrail example#3
ez945y merged 1 commit into
mainfrom
example/jetbot-guardrail

Conversation

@ez945y

@ez945y ez945y commented Jun 15, 2026

Copy link
Copy Markdown
Owner

A counterpart to the minimal mobile_base_guardrail.py: a tensor-in/tensor-out JetbotGuardrail wrapper showing the new dict-based Guardrail API on a differential-drive base. Obs (planar pose) and action ([v, omega]) are separate spaces — the boundary callback declares base_pose/action/solvers by name and the runtime injects them, so there is no 5-D vector to assemble.

Unsafe commands are QP-corrected in place (osqp), falling back to a full stop (safe_action=[0, 0]) when no QP solver is available. The wrapper keeps only the high-information surface (filter, command_to_wheels, last_results, close) and drops the previous stat-theater (last_decision/last_delta/step_count/ intervention_rate), the unused device arg, and the bundled-path resolver.

Summary

Briefly describe the changes and the problem they solve.

Linked Issues

Fixes # (issue number)

Testing

  • Unit tests
  • Simulation/Hardware tests
  • Other:

Checklist

  • I have self-reviewed my changes
  • I have updated the documentation
  • I have added tests for my changes

A counterpart to the minimal mobile_base_guardrail.py: a tensor-in/tensor-out
JetbotGuardrail wrapper showing the new dict-based Guardrail API on a
differential-drive base. Obs (planar pose) and action ([v, omega]) are
separate spaces — the boundary callback declares base_pose/action/solvers by
name and the runtime injects them, so there is no 5-D vector to assemble.

Unsafe commands are QP-corrected in place (osqp), falling back to a full stop
(safe_action=[0, 0]) when no QP solver is available. The wrapper keeps only the
high-information surface (filter, command_to_wheels, last_results, close) and
drops the previous stat-theater (last_decision/last_delta/step_count/
intervention_rate), the unused device arg, and the bundled-path resolver.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@ez945y ez945y merged commit 78f030b into main Jun 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant