Delivery (outdoor — robot identity TBD)
⚠ Possible robot-identity anomaly. This SOP diverges from
GO2_Standard_Operating_Procedure_V3and the April 2026 GO2 ABM SOP in three ways: (1) PlayStation-style controller mapping (R1/R2, L1/L2) instead of Xbox-style (LT+X, LT+RT) used at LGA; (2) 68°C max temperature instead of 75°C; (3) GPS / GNSS / RTK terminology not present in the indoor LGA SOPs. The filenameGo2_Robot_delivery_Sop_FINALsays GO2, but the operating regime resembles a different robot or outdoor deployment. Vega is ruled out (Dexmate explicitly prohibits outdoor operation). Verify against Linear (BACKLOG B-A2).
Scope
Teleop-driven episodic data collection runs for outdoor robot delivery: GPS-localized start, navigate to door, pause, reverse along the same path.
Purpose
Capture paired forward/reverse navigation episodes for downstream delivery-route training. Each episode runs in two parts (forward + reverse), originates from an off-curb start, and ends at the front door of a real residential property. [SOURCE: Go2_Robot_delivery_Sop_FINAL §"Recording Workflow"]
Required inputs / tools
- Hardware: delivery robot (GO2 variant per filename — verify); teleop controller; charged batteries.
- Software: ROS2-based recording stack; GNSS receiver (RTK preferred).
- Permissions: route assignment from engineering; Skild House Tracker access.
- Documents / channels: Skild House Tracker (to avoid duplicate houses); deployment Slack.
Controller reference
| Input | Action |
|---|---|
R2 | Start recording |
R1 | Stop recording |
R1 + Y | Dry run (GPS pre-check) — run before every episode |
L1 + L2 | Enter teleop mode (also L2 + X) |
L2 + Y | Lay down |
L2 + L1 | Standby mode |
[SOURCE: Go2_Robot_delivery_Sop_FINAL §"Teleoperation Controls"] |
Procedure
Before — Per session
- Pre-flight checks per /robots/go2/setup/pre-flight-checklist/.
- Run dry run (R1 + Y) before every recording. Do not run a sanity check immediately after stopping — walk to the next spot, wait 10 seconds, then dry run.
[SOURCE: §"Sanity Check & GNSS Tips"] - Choose start points with enough space (~5 m wide). Avoid tight spaces (e.g. 1 m between cars).
[SOURCE: §"Recording Workflow"] - Check the Skild House Tracker — confirm the house hasn’t already been used.
Before — Per episode (forward)
- Position robot at start point: non-sidewalk, off-curb location (90-100% off-curb starts; sidewalk starts are discouraged).
- Randomize heading: robot should start facing away or sideways from the goal. Ideal: 90-270° offset. Aim for 2-3 randomized headings per session.
[SOURCE: §"Recording Best Practices"] - Distance from curb can vary but not further than the width of a car.
- Confirm GPS / GNSS:
- Old vectornav robot: accuracy ~3-4; GPS quality 2 (may start at 1 and improve); heading None acceptable; values drop slowly 10 → 5 → 3.
- New GNSS robot: accuracy < 1.0, ideally < 0.1; GPS quality
RTK Fixed(preferred) orRTK Float; heading must change from 0s and match phone compass. If heading or accuracy doesn’t change → restart robot. - Baseline length should stabilize at ~0.59–0.60 (above 2 is invalid).
[SOURCE: §"Common Alerts and Status Messages" + §"Sanity Check & GNSS Tips"]
- Avoid tree cover, buildings, dense urban zones for GPS quality.
During — Forward episode
- Tap
R2to start recording. Confirm ”✅ Bag recording started successfully”. - Teleop forward to the front door.
- Pause 0.5–1 second at the door before stopping.
[SOURCE: §"Forward Requirements"] - Tap
R1to stop. Confirm either:- ✅ “Recording quick check done, ready for next episode!” → proceed.
- ❌ “No bag metadata found — recording FAILED” → restart.
- Max 2 houses away from the door (1 distractor max).
During — Reverse episode (always paired with forward)
- Position robot at the door immediately after the forward trajectory.
- Teleop back to the exact same start point as the forward episode.
[SOURCE: §"Reverse Protocol"] - Match the path as precisely as possible — do not improvise new routes.
- End orientation can differ; location must match.
- Avoid getting in front of the robot while reversing.
Every forward episode must have a backward counterpart. Unpaired episodes are not usable.
During — Movement technique
- Use long joystick presses for smooth arcs. Avoid short, repeated presses (no micro-adjustments).
- Avoid reverse movements when possible. Minimize backward steps even within a single episode.
- Smooth trajectory while rotating or going up curbs.
- Slow down approaching any obstacle or stairs.
[SOURCE: §"Movement Technique" + §"Obstacle Avoidance"]
During — Obstacle avoidance
Avoid all collisions, including:
- Bushes, ferns, leaves overhanging sidewalk.
- Tall grass.
- Any object the robot might “clip” even if safe to pass through.
Pathing priority
- Sidewalk
- Short grass (acceptable when sidewalk blocked)
- Driveway (tolerated but discouraged)
- Yard grass near house (avoided)
Small forward detours (e.g. onto short grass to avoid tight cars) are OK if the robot keeps moving forward. No backward steps. [SOURCE: §"Pathing & Grass/Sidewalk Logic"]
During — Cooldown (thermal limit)
- Max operating temperature: 68°C.
[SOURCE: §"Cooldown & Safety"] - If approaching limit:
- Move to a shaded area.
- Enter standby mode (
L2 + L1). - Lay down.
- Wait for cooldown:
- Until ~50°C minimum.
- If cooling quickly, wait until ~45°C.
- If cooling slowly, acceptable to resume slightly above 50°C.
- Use judgment based on weather and cooling rate.
After
- Confirm all paired episodes saved (forward + reverse).
- Mark house in Skild House Tracker.
- Note any robot behavior issues / GPS anomalies / hardware events for engineering.
Environmental selection
- Varied house types: L-shaped sidewalks, offset stairs, non-standard geometry.
- Avoid: apartments, condos.
- Porch must have 1-2 m of depth & width for realistic drop-off.
- Houses must allow space in front of door after stairs.
- Starting point within 2 houses of goal (1 distractor max).
[SOURCE: §"Environmental Selection"]
Egocentric navigation logic
Think like a human carrying a package. Avoid unrealistic robot-only paths.
- If a tree well cuts into the sidewalk, curve around it like a person would — not over dirt.
- If sidewalk is tight or obstructed, take a clean arc around the object.
- If there’s an obstacle or human in front, slow down or wait for them to pass.
Human obstruction training: Periodically (1× per house or a few times per day), put yourself in front of the robot to simulate pedestrian interaction. Slow/stop, navigate around, rejoin route. This is teleop training for smarter routing behaviors, not an autonomy test. [SOURCE: §"Egocentric Navigation Logic" + §"Human Obstruction Simulation"]
Common failure modes
| Issue | Likely cause | Action |
|---|---|---|
| ”GPS is not ready” | Located between buildings or under tree cover | Find open space (not between houses). Wait until robot is static for 1-2 minutes. [SOURCE: §"Common Alerts"] |
| ”Need to be already teleop visual mode” | Robot not in teleop | Use L1 + L2 then L2 + X. [SOURCE: §"Common Alerts"] |
| ”ROS2 topics not detected: xxxxx” | Cable connection issue | Check cable connections. Restart if needed. [SOURCE: §"Common Alerts"] |
| Heading stuck at 0 / accuracy not improving | GPS / GNSS hardware issue | Restart robot. |
| ”Recording FAILED” / “No bag metadata found” | Recording stack issue | Restart and retry. |
| Erratic GPS readings near trees / buildings | Multipath / poor satellite visibility | Move to open area. Avoid tree cover, buildings, dense urban zones. |
Conflict resolution log
[RESOLVED 2026-05-18 for GO2 indoor — C2: LT+X/Y/RT (Xbox-style) confirmed.]April 2026 ABM SOP §XXI. The PS-style mapping used in this SOP is anomalous for GO2 — likely indicates this SOP belongs to a different robot.[OPEN — BACKLOG B-A2][RESOLVED 2026-05-18 for GO2 indoor — C3: 75°C uniform.]April 2026 ABM SOP lines 588, 604. The 68°C value here may apply to outdoor regime or a different robot.[OPEN — BACKLOG B-A2][RESOLVED 2026-05-18 — C4: "Teleop visual mode" prerequisite is a stale anomaly.]Not in April 2026 SOP or SOP V3. May still appear in ROS2 stack output but is not a documented operational prerequisite.[RESOLVED 2026-05-18 for GO2 indoor — C7: minimal cooldown guidance.]April 2026 ABM SOP lines 552, 598. The “~50°C minimum” guidance here may apply for outdoor delivery (different thermal regime) or for a different robot.[OPEN — BACKLOG B-A2]- Vega-as-candidate ruled out 2026-05-18: Dexmate Scope doc explicitly prohibits outdoor Vega operation; this delivery SOP is outdoor. Remaining hypothesis: outdoor-capable third Skild robot with PS-controller heritage (Vega family).
Escalation
- Persistent GPS failures after restart → engineering Slack channel.
- Any robot behavior that diverges from the controller-mapping or thermal limits above → flag immediately; this may be the indicator that this SOP applies to a different robot type. See BACKLOG B-A2.
Source notes
[SOURCE: Go2_Robot_delivery_Sop_FINAL.docx]— primary; entire content of this SOP.[SOURCE: GO2_Standard_Operating_Procedure_ABM.docx](April 2026, Tyler Kugima) — used as comparative reference; not authoritative for outdoor delivery scope.[SOURCE: Dexmate Docs — Scope and Intended Use]— rules out Vega as candidate (outdoor prohibited).[INFERRED: ownership]— this work likely connects to “LHY Robot delivery performance evaluation” trackers shared by jangirrishabh@skild.ai. Owner field is “TBD” until confirmed.
Related
- /robots/go2/setup/pre-flight-checklist/
- /robots/go2/maintenance/battery-and-charging/
- /robots/go2/troubleshooting/common-symptoms/
- /robots/vega/ — Vega Skild-internal SOP for controller-family reference (PS5/PS4).