Skip to content

About

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

1,028 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EdgeGround-VLA

A Lightweight Model Fusing Heterogeneous Grounding Encoders for Goal-Directed Navigation in Wheeled Robots

Paper (HWP) Project Page Real-Robot Success Trained Params License

Results · Architecture · Key Findings · Dataset · Checkpoints · Docs

EdgeGround-VLA model architecture

Open-vocabulary detection + lightweight action head for mobile robot basket navigation — no LLM decoder, no cloud connectivity, no pre-built map. Fully on-device on a Jetson Orin NX.

마지막 업데이트: 2026-09-03 GitHub Pages: https://minuum.github.io/EdgeGroundVLA/


Latest Updates

  • 2026-09-03 — README 전면 재작성 (VLA 오픈소스 레포 스타일 참고: OpenVLA/Octo/openpi/LeRobot), 아키텍처·로봇 사진 임베드
  • 2026-08-27 — model_architecture_brief.html 전면 리빌드, 레거시 실험 서사(cadence-aligned·bbox_scale 딥다이브) 결론만 남기고 정리
  • 2026-08-19 — 추론 사용 파라미터 정확 실측(459,274,896) 반영, 오류 심각도 분해 도판 추가
  • 2026-08-07 — exp73 배포 전환(image_proj + MLP 헤드 재학습), 실기 100건 재검증 95/100 달성
  • 2026-08-01 — Kosmos-2 언어 디코더 로드 제거 적용 (host RAM 10.59GB → 3.20GB, 출력 bitwise 동일)

핵심 결과

Method Architecture 실기 성공률 ↑ val_acc Note
E2E VLA (Exp11) Kosmos-2 + LoRA 0.0% (CL) 58.6% PM Text attn 0%, structural failure
Decomp v1 (Exp14) CLIP + BBox MLP 66.7% (CL) 75.9% PM First decomposition baseline
Simple MLP (Exp65b) CLIP + plain MLP 10.3% (CL) — No L2-norm, no aug → pipeline ablation
Ours (Exp66, legacy) CLIP + L2-norm + aug 96.6% (CL, 시뮬) 93.5% 구 SOTA · 시뮬 closed-loop 기준
Ours (exp73) ★ OWL-v2 + Kosmos-2 vision + image_proj + MLP 95.0% (실기 95/100) 74.1% 현재 배포 구성

병목은 검출, 액션 헤드가 아니다 — 세션 내 검출 성공률(gnd%) ≥80%일 때 주행 성공률 98.8%(79/80), <80%일 때 51.2%(41/80). 타겟을 계속 보고만 있으면 거의 반드시 도달하고, 실패는 전부 "보지 못한" 경우. 0.866M짜리 MLP 헤드는 이미 충분하며, 자원을 투입할 곳은 검출 단계다.

Real-world test track — overview, target approach, target capture


아키텍처

현재 배포 구성(exp73)은 VLA가 아니라 **"오픈 보캐블러리 객체 검출 + 경량 액션 헤드"**다. Kosmos-2 언어 디코더는 로드조차 하지 않고(2026-08-01 제거, host RAM 10.59GB→3.20GB, 출력 bitwise 동일), 텍스트는 OWL-v2 검출 쿼리("gray basket")를 지정하는 런타임 불변 상수로만 쓰인다.

[Camera 720×1280 RGB]
       ├──────────────────────────────┐
       ↓                              ↓
[OWL-v2, 0.155B, zero-shot]   [Kosmos-2 vision_model, 0.303B, frozen]
  "gray basket" 검출                  ↓ 1024-dim
       ↓                       [image_proj → 256-dim, L2-normalize]  ← Stage 1 학습, 배포 시 frozen
[cx, cy, area, has_bbox] (4-dim)      ↓
       └──────────────→ [프레임 특징 260-dim] ← window=6 → [1560-dim]
                                       ↓
                         [MLP 액션 헤드: 1560→512→128→8]  ← Stage 2 학습 대상 (0.866M)
                                       ↓
                    [8 Actions: STOP / FWD / LEFT / RIGHT / FWD+L / FWD+R / ROT_L / ROT_R]
                                       ↓
                         3-DoF (x,y,z) 룩업(LUT) → CAN → 바퀴

Serbot II hardware block diagram

  • Stage 1 (image_proj, 5-class 대조학습): val_acc 94.09% · 225ep · OWL-v2 라벨
  • Stage 2 (MLP 액션 헤드, 8-class): val_acc 74.13%(stride=1 정확 채점) · window=6 · bbox_scale=3.0
  • 추론 사용 파라미터 459.3M / 학습 파라미터 1.128M(0.262M image_proj + 0.866M MLP)
  • 상세: model_architecture_brief.html
Data collection pipeline
Fig. 3 — Data collection: 225 teleoperated episodes (16,599 frames), 5 target directions.
Stage 1 / Stage 2 training pipeline
Fig. 4 — Two-stage training: Stage 1 trains image_proj, Stage 2 trains the MLP action head on top of it (frozen).
Deploy and runtime process
Fig. 8 — Deploy & runtime: checkpoints ship to the Jetson Orin NX; a FastAPI dashboard exposes control/status/camera over Tailscale.
Runtime inference control logic
Fig. 9 — Runtime control logic: a sliding 6-frame window feeds the action head; the 3-DoF command goes out over CAN → MCU → wheels.

주요 발견

  1. Text attention = 0% — Google-robot post-trained Kosmos-2의 구조적 사망. LoRA/head-only 모두 복구 불가. E2E(Exp11) 실패의 근본 원인이자 현재 구성으로 이탈한 이유.
  2. 성패를 가르는 건 검출 가용성 — gnd% ≥80%면 성공률 98.8%, <80%면 51.2%. 병목은 액션 헤드가 아니라 OWL-v2 검출.
  3. 레이턴시 병목도 검출기 — OWL-v2(0.155B)가 전체 지연의 ~97%(1901.7ms), Kosmos-2 비전(0.303B)은 ~3%(53.7ms), MLP 헤드는 <1ms. 파라미터 수와 속도가 역전돼 있어 "파라미터 줄이기"가 아니라 도메인 특화 소형 검출기가 다음 단계.
image_proj Stage 1 accuracy curve
Fig. 5 — image_proj acc: train 96.10% / val 94.09%.
image_proj Stage 1 loss curve
Fig. 5 — image_proj loss: train 0.107 / val 0.173.
Action head accuracy curve
Fig. 6 — Action head acc: train 91.44% / val 74.04% (epoch 225).
Action head loss curve
Fig. 6 — Action head loss: val loss rises after ep.20 while val acc keeps improving.

Deployed action head validation confusion matrix Validation errors by severity

Fig. 7 (왼쪽): 배포 헤드 val 혼동행렬(74.1%, stride=1 채점). Fig. 8 재색칠(오른쪽): 같은 오류를 심각도로 재색칠 — 81.4%는 방향성이 같은 대체 가능한 혼동이고, 실제 성공/실패를 가르는 좌우 반전은 1.97%뿐.


데이터셋

경로 에피소드 비고
ROS_action/mobile_vla_dataset_v5/ (V6 학습셋) 225개 (트랙A 180 + 트랙F 45) 16,599 프레임, train/val 192/33 (seed 42)
ROS_action/mobile_vla_dataset_v5_add_free/ 220개 리밸런싱 버전 (legacy, Exp66 계열)
ROS_action/mobile_vla_dataset_v5_2/ 59개 의자 (별도 모델 필요)

핵심 파일

파일 설명
robovlm_nav/serve/stage2_v2_inference_server.py 현재 배포 추론 서버
scripts/train_exp54_stage2_v2_action.py Stage 2 (MLP 액션 헤드) 학습
scripts/train_stage1_v3_5cls_owl_fastloss.py Stage 1 (image_proj) 학습
scripts/eval_confusion_matrix_stage1v3_correct.py 배포 헤드 정확 채점(stride=1)
scripts/sim/evaluate_closed_loop_v5.py Closed-loop 평가
scripts/measure_attention.py Text attention 측정
docs/v5/bbox_nav_owl/bbox_dataset_v6_owl.json Stage2 bbox 레이블 (OWL-v2, 배포 학습에 사용)

체크포인트

모델 경로 비고
Stage 1 (image_proj, 5-class) ★ runs/v5_nav/mlp/stage1_v3_5cls/stage1_v3_5cls_owl_projs.pt val_acc 94.09% · 225ep · OWL-v2 라벨
Stage 2 (MLP action head) ★ runs/v5_nav/mlp/exp73_stage1v3/exp73_owl_stage1v3_v6_mlp.pt val_acc 74.13% · window=6 · bbox_scale=3.0
비전 특징 캐시 docs/v5/closed_loop_eval/exp73_v6_vis_cache_stage1v3.pt 225ep 재인코딩 (Stage1 완료 후 생성)
Stage 1 v2 (legacy, CLIP) runs/v5_nav/mlp/shared/stage1_v2_projs.pt Exp66 계열
Stage 2 MLP w=4 (legacy, Exp66) runs/v5_nav/mlp/exp66/action_mlp.pt Exp66 계열

배포 이력 전체(체크포인트 교체 시점, A/B 미확정 항목 포함)는 model_architecture_brief.html 부록 참조.


문서


Citation

@article{lee2026edgeground,
  title   = {EdgeGround-VLA: A Lightweight Model Fusing Heterogeneous
             Grounding Encoders for Goal-Directed Navigation in
             Wheeled Robots},
  author  = {Lee, Min-Woo and Choi, In-Yeop},
  journal = {Journal of The Korea Society of Computer and Information (JKSCI)},
  volume  = {29},
  number  = {11},
  year    = {2026},
  publisher = {Korea Society of Computer and Information}
}

⚠️ third_party/RoboVLMs/ 수정 금지 — frozen backbone. 단, 현재 배포 파이프라인은 RoboVLMs 코드를 전혀 참조하지 않는다(baseline/비교 대상으로만 참고). ⚠️ Google-robot backbone으로 generate() 절대 호출 금지 — 무한 반복

About

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages