diagnose-camera-stack
Diagnose HikRobot, MindVision, or USB camera discovery, SDK, streaming, frame, and frame-rate failures in this repository. Use when camera initialization fails, frames are empty, FPS is wrong, or exposure/gain/VID-PID settings look suspect.
- License 许可
- MIT
- 最近更新
- 2026-11-13
- Stars
- ★ 5
- Forks
- 1
01 前言 Front Matter
- name
- diagnose-camera-stack
- description
- Diagnose HikRobot, MindVision, or USB camera discovery, SDK, streaming, frame, and frame-rate failures in this repository. Use when camera initialization fails, frames are empty, FPS is wrong, or exposure/gain/VID-PID settings look suspect.
02 资源文件 3
- 参考文档agents/openai.yaml256 B
- 参考文档references/camera-matrix.md1.0 KB
- 脚本scripts/camera_preflight.sh2.0 KB
03 SKILL.md 正文
Diagnose Camera Stack
Use this skill for camera-only failures. Keep the diagnosis read-only until the user explicitly asks to change a device setting.
Workflow
- Establish the exact symptom and whether it reproduces with hardware disconnected. Record the config path, camera name, VID:PID, expected resolution/FPS, and the first error line.
- Run
scripts/camera_preflight.sh [config]from the repository root. Treat missing devices, permissions, SDK libraries, and model binaries as separate findings. - Confirm the build before touching hardware:
cmake --build build-ninja --target camera_test -j$(nproc)cmake --build build-ninja --target camera_detect_test -j$(nproc)./build-ninja/camera_test -h
- Exercise the smallest relevant executable.
camera_testproves acquisition;camera_detect_testadds the detector. Do not jump toinfantryuntil both are understood. - Compare observed frame timestamps/FPS and image dimensions with
exposure_ms,gainorgamma,frame_rate,camera_name, andvid_pid. For HikRobot also check/opt/MVS/lib/64andLD_LIBRARY_PATH; MindVision uses the repository SDK library. - If acquisition is healthy, hand off algorithm symptoms to
$replay-auto-aim. If the failure is a config/model mismatch, hand off to$audit-vision-config.
Evidence and stop conditions
- Capture command, exit status, stderr, device listing, and the first failing layer. Redact machine-specific serials and private paths when reporting.
- A successful process start is not proof of streaming. Require non-empty frames and a measured rate.
- Stop before changing exposure, gain, camera firmware, udev rules, or SDK installation. Ask the user before any privileged or hardware-mutating action.
- GUI tests need a display. Report
DISPLAY/headless limitations instead of substituting an unverified result.
Read camera-matrix.md for repository-specific facts and expected commands.
04 同仓库更多 Skills
replay-auto-aim
Reproduce and isolate auto-aim detection, tracking, solving, aiming, and planning issues from recorded video in this repository. Use for false positives, missed armors, tracker state changes, aim jitter, fire decisions, or latency regressions.
improve-codebase-architecture
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
grill-with-docs
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
diagnosing-bugs
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.
diagnose-gimbal-link
Safely diagnose this repository's gimbal serial link, packet framing, CRC, timing, quaternion interpolation, and reconnect behavior. Use for /dev/gimbal failures, stale state, CRC errors, dropped packets, or incorrect control data.
codebase-design
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.