Summary
Add new diagnostic and maintenance scripts to each demo, callable via the gateway's Scripts REST API.
Motivation
Gateway v0.4.0 has a Scripts API with ScriptProvider plugin interface. Adding demo-specific diagnostic scripts showcases this feature naturally.
Proposed solution
Add scripts to container filesystem via Dockerfile COPY, configure in gateway manifest (ScriptProvider):
sensor_diagnostics:
run-diagnostics - check all sensor health
inject-fault-scenario - composite fault injection
turtlebot3:
nav-health-check - verify navigation stack
reset-navigation - clear costmaps + reset localization
moveit:
arm-self-test - joint limit check
planning-benchmark - test planning with multiple goals
Host-side convenience wrappers calling /scripts/{id}/executions.
Existing inject-*.sh scripts remain as-is (they already use the proper REST API).
Exception: MoveIt inject-collision.sh and inject-planning-failure.sh use docker exec for Gazebo/MoveIt operations - these are candidates for migration to Scripts API since they run container-side commands.
Acceptance criteria
- New diagnostic scripts callable via REST API
- Host-side wrappers work
- Scripts visible in web UI scripts tab
Summary
Add new diagnostic and maintenance scripts to each demo, callable via the gateway's Scripts REST API.
Motivation
Gateway v0.4.0 has a Scripts API with ScriptProvider plugin interface. Adding demo-specific diagnostic scripts showcases this feature naturally.
Proposed solution
Add scripts to container filesystem via Dockerfile COPY, configure in gateway manifest (ScriptProvider):
sensor_diagnostics:
run-diagnostics- check all sensor healthinject-fault-scenario- composite fault injectionturtlebot3:
nav-health-check- verify navigation stackreset-navigation- clear costmaps + reset localizationmoveit:
arm-self-test- joint limit checkplanning-benchmark- test planning with multiple goalsHost-side convenience wrappers calling
/scripts/{id}/executions.Existing inject-*.sh scripts remain as-is (they already use the proper REST API).
Exception: MoveIt inject-collision.sh and inject-planning-failure.sh use
docker execfor Gazebo/MoveIt operations - these are candidates for migration to Scripts API since they run container-side commands.Acceptance criteria