Skip to content

Delivery (outdoor — robot identity TBD)

⚠ Possible robot-identity anomaly. This SOP diverges from GO2_Standard_Operating_Procedure_V3 and 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 filename Go2_Robot_delivery_Sop_FINAL says 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

InputAction
R2Start recording
R1Stop recording
R1 + YDry run (GPS pre-check) — run before every episode
L1 + L2Enter teleop mode (also L2 + X)
L2 + YLay down
L2 + L1Standby mode
[SOURCE: Go2_Robot_delivery_Sop_FINAL §"Teleoperation Controls"]

Procedure

Before — Per session

  1. Pre-flight checks per /robots/go2/setup/pre-flight-checklist/.
  2. 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"]
  3. Choose start points with enough space (~5 m wide). Avoid tight spaces (e.g. 1 m between cars). [SOURCE: §"Recording Workflow"]
  4. Check the Skild House Tracker — confirm the house hasn’t already been used.

Before — Per episode (forward)

  1. Position robot at start point: non-sidewalk, off-curb location (90-100% off-curb starts; sidewalk starts are discouraged).
  2. 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"]
  3. Distance from curb can vary but not further than the width of a car.
  4. 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) or RTK 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"]
  5. Avoid tree cover, buildings, dense urban zones for GPS quality.

During — Forward episode

  1. Tap R2 to start recording. Confirm ”✅ Bag recording started successfully”.
  2. Teleop forward to the front door.
  3. Pause 0.5–1 second at the door before stopping. [SOURCE: §"Forward Requirements"]
  4. Tap R1 to stop. Confirm either:
    • ✅ “Recording quick check done, ready for next episode!” → proceed.
    • ❌ “No bag metadata found — recording FAILED” → restart.
  5. Max 2 houses away from the door (1 distractor max).

During — Reverse episode (always paired with forward)

  1. Position robot at the door immediately after the forward trajectory.
  2. Teleop back to the exact same start point as the forward episode. [SOURCE: §"Reverse Protocol"]
  3. Match the path as precisely as possible — do not improvise new routes.
  4. End orientation can differ; location must match.
  5. 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

  1. Sidewalk
  2. Short grass (acceptable when sidewalk blocked)
  3. Driveway (tolerated but discouraged)
  4. 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:
    1. Move to a shaded area.
    2. Enter standby mode (L2 + L1).
    3. Lay down.
    4. 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

  1. Confirm all paired episodes saved (forward + reverse).
  2. Mark house in Skild House Tracker.
  3. 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

IssueLikely causeAction
”GPS is not ready”Located between buildings or under tree coverFind 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 teleopUse L1 + L2 then L2 + X. [SOURCE: §"Common Alerts"]
”ROS2 topics not detected: xxxxx”Cable connection issueCheck cable connections. Restart if needed. [SOURCE: §"Common Alerts"]
Heading stuck at 0 / accuracy not improvingGPS / GNSS hardware issueRestart robot.
”Recording FAILED” / “No bag metadata found”Recording stack issueRestart and retry.
Erratic GPS readings near trees / buildingsMultipath / poor satellite visibilityMove 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.