Skip to content

Sentinel: autonomous Unitree Go1 inspection-patrol — 7/7, 100/100#496

Open
Tekipeps wants to merge 2 commits into
Faraday-Future-AI:mainfrom
Tekipeps:submission/sentinel-patrol
Open

Sentinel: autonomous Unitree Go1 inspection-patrol — 7/7, 100/100#496
Tekipeps wants to merge 2 commits into
Faraday-Future-AI:mainfrom
Tekipeps:submission/sentinel-patrol

Conversation

@Tekipeps

Copy link
Copy Markdown

A fresh submission in the locomotion lane: a Unitree Go1 walks an instrumented patrol route entirely on real foot-ground contact (ctrl-only, no qpos teleport).

  • gait.py hand-built trot: foot-trajectory + planar 2-link IK, diagonal
    phasing, additive per-side stride for skid-steer + pivot-in-place
  • controller.py closed-loop waypoint heading control (the open-loop trot drifts)
  • scene.py procedural course (MjSpec): ramp berm, rubble field, two
    inspection panels, finish pad, onboard/chase/overview cameras
  • engine.py mission state machine (PATROL · INSPECT · SHOVE) + 7 scored,
    physics-checked objectives
  • hud.py/run_demo.py narrated HUD video: objective checklist, route mini-map,
    head-cam picture-in-picture during scans, scorecard

Mission result (deterministic): crest berm, cross rubble, scan both panels by pivoting in place, survive a 70 N lateral shove, reach finish, never fall — 7/7 objectives, 100/100. Unitree Go1 vendored (BSD-3, MuJoCo Menagerie). Registration UUID a003f03d-ca73-4d5e-96bd-87a7a83465bf.

Registration UUID (required) · 参赛 UUID(必填)

Registration UUID: PASTE-YOUR-UUID-HERE

Obtain your UUID from the official Robothon platform, and use the same UUID in
submissions/<your-project>/registration.json.
从官方 Robothon 平台获取 UUID,并在 submissions/<你的项目>/registration.json 中填写同一个 UUID。

Project Summary · 项目说明

  • Project name · 项目名称:
  • Robot platform · 机器人平台:
  • Task goal · 任务目标:
  • Technical approach · 技术方案:
  • Core features · 核心功能:
  • Highlights · 亮点:
  • Current limitations · 当前局限:
  • Future improvements · 未来改进:

How to Run · 如何运行

# paste install and run commands here · 在此粘贴安装与运行命令

Demo Video · 演示视频

  • Demo video is included in the submission folder · 演示视频已包含在提交文件夹中, or
  • Demo video link · 演示视频链接:

Checklist · 检查清单

  • submissions/<your-project>/registration.json contains my UUID · 已包含我的 UUID
  • PR description contains the same UUID · PR 描述中填写了同一个 UUID
  • Code runs from documented instructions · 代码可按文档说明运行
  • Demo video was generated by the submitted code · 演示视频由提交的代码生成

Tekipeps added 2 commits June 26, 2026 19:12
A fresh submission in the locomotion lane: a Unitree Go1 walks an instrumented
patrol route entirely on real foot-ground contact (ctrl-only, no qpos teleport).

  - gait.py        hand-built trot: foot-trajectory + planar 2-link IK, diagonal
                   phasing, additive per-side stride for skid-steer + pivot-in-place
  - controller.py  closed-loop waypoint heading control (the open-loop trot drifts)
  - scene.py       procedural course (MjSpec): ramp berm, rubble field, two
                   inspection panels, finish pad, onboard/chase/overview cameras
  - engine.py      mission state machine (PATROL · INSPECT · SHOVE) + 7 scored,
                   physics-checked objectives
  - hud.py/run_demo.py  narrated HUD video: objective checklist, route mini-map,
                   head-cam picture-in-picture during scans, scorecard

Mission result (deterministic): crest berm, cross rubble, scan both panels by
pivoting in place, survive a 70 N lateral shove, reach finish, never fall —
7/7 objectives, 100/100. Unitree Go1 vendored (BSD-3, MuJoCo Menagerie).
Registration UUID a003f03d-ca73-4d5e-96bd-87a7a83465bf.
… 500 Hz telemetry

- Compile 7 real MuJoCo sensors into the model (IMU gyro/accel/velocimeter on the
  Go1's imu site + 4 foot touch sensors) via MjSpec
- New sentinel/proprio.py: filtered-accel disturbance reflex (8 ms detection,
  crouch brace, reafference gating during pivots); measured to stretch the
  survivable lateral shove from 70 N passive to 100 N (90-110 N plateau)
- New sentinel/datalog.py: every run logs a 500 Hz state-action-sensor dataset
  (outputs/telemetry.npz) + labelled head-cam scan snapshots per panel
- HUD: live touch-sensor foot-contact dots + amber BRACE chip; refreshed captions
- tests/: 13-test pytest suite (IK round-trip, controller, reflex, scene sensors)
- validate.py now checks the sensor suite; requirements gain pytest
- Fix submission .gitignore: un-anchored _*.py silently excluded sentinel/__init__.py
- Regenerated demo.mp4 + report.json - still 7/7 = 100/100, deterministic
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