홀리데이로보틱스는 연구실 데모가 아니라 실제 현장에서 사람과 협업하는 휴머노이드를 만드는 곳이라, 작업 평가·안전 가드 하네스는 그 현장 작업 시퀀스가 있어야 판정을 검증할 수 있다.
'사람과 함께 안전하게 협업하는 로봇'. 안전 가드 평가가 FDE 의 핵심.
'예측 불가능 환경에서 스스로 학습·적응'. 작업 성공 평가가 직격.
'범용 휴머노이드 로봇 상용화'. 안전 평가 하네스가 토대.
휴머노이드 로봇 작업 로그를 받아 작업 성공·안전을 규칙으로 판정하고, 사람 협업 중 위험 동작을 가드하는 평가 하네스를 배포하는 1주 FDE PoC.
홀리데이로보틱스 FDE. 로봇 작업 성공·안전을 사람이 확인하던 일을, 자동 평가 + 안전 가드 하네스로 배포하고 싶은 사람.
작업 로그에 단계·근접 센서를 붙이면, 도구가 (a) 성공·안전을 규칙으로 판정하고 (b) 위험 동작을 가드로 잡을 수 있다.
로봇 작업 로그를 받아 성공·안전을 판정하고 위험 동작을 가드하는 동작하는 평가 하네스.
검수자 라벨과 성공·안전 판정 일치도(κ)를 재고, 위험 가드 적중률을 보여주는 대시보드.
작업 중 실시간으로 위험 동작을 가드·정지하는 단계.
작업 로그를 넣으면 성공·안전 판정과 위험 가드가 근거와 함께 나오는 걸 시연한다
안전 위험(근접 임계 등)을 100% 가드로 잡는 걸 시연한다
측정: 가드 규칙, 표본: 위험 50건
일부러 만든 결측·근접·미등록 작업 30종을 넣어도 판정이 멈추지 않고 처리되는 걸 시연한다
위 수치는 더미데이터 자가채점이며, 실제 작업 안전 판정 정확도는 홀리데이로보틱스 실데이터 + 실 검수자가 있어야 측정 가능. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만든다.
이건 고객·실데이터 없이 혼자 만든 포트폴리오라 모든 수치는 합성 데이터 자가채점이다. 면접에서 '데모 동작 + 실검증 준비 상태'로 솔직히 설명하는 게 오히려 신뢰를 준다
정답을 내가 만들었으니 잘 맞는 게 당연. 그래서 결측·경계·미등록·표기 흔들림 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여준다
안전 최우선: 근접·충돌 위험은 무조건 정지 가드하고 자동 작업으로 넘기지 않는다
실제 도입 시 달라지는 것: 실 고객 데이터·환경이 더미와 다르므로 규칙·파이프라인을 실데이터로 맞춰야 한다(도입 단계 과제)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
휴머노이드 작업 로그·센서를 평가 입력으로 쓴다
| task_id | task_raw | task_key | proximity_cm | completed | safety_event | duration_s |
|---|---|---|---|---|---|---|
| HT900 | A작업(구) | — | — | — | — | 3 |
| HT901 | 작업0 | ht0 | 2 | false | NEAR_HUMAN | 10 |
| HT902 | 완벽작업 | ht2 | 80 | true | — | 2 |
| HT903 | 미등록작업 | — | 0 | — | XXXX | 0.1 |
| HT000 | 작업0 | ht0 | 50 | false | — | 3 |
z.object({ task_id: z.string(), task_raw: z.string(), task_key: z.string().nullable(), proximity_cm: z.number().nullable(), completed: z.boolean().nullable(), safety_event: z.string().nullable(), duration_s: z.number() }). 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라: proximity/completed null(센서 누락), proximity 0/근접(위험), safety_event 미정의(XXXX), task_key null 미등록, task_raw 표기 흔들림. 형식 깨뜨리기 시도 3건도 별도로.z.object({ task_id: z.string(), task_raw: z.string(), task_key: z.string().nullable(), proximity_cm: z.number().nullable(), completed: z.boolean().nullable(), safety_event: z.string().nullable(), duration_s: z.number() })| Python | 작업 로그 ingest + 판정·가드 규칙 + eval |
| C++ | 실시간 센서 로그 파서 |
| Docker | 평가 하네스 컨테이너 |
| ROS | 로봇 작업·근접 센서 연동 |
| gRPC | 실시간 작업 스트림 |
| Linux | 엣지 런타임 |
✓ pass → 그대로 멈춰도 완성품. 더 키우려면 2주차(판정 검증)로.
✓ pass → 여기서 멈춰도 완결. 더 키우려면 3주차(실시간 가드)로.
작업 평가 + 안전 가드
z.object({ task_id: z.string(), result: z.enum(['success','fail','unsafe','review']), cause: z.string().nullable(), evidence: z.object({ field: z.string(), value: z.number() }).nullable() })[
{
"task_id": "HT901",
"result": "unsafe",
"cause": "사람 근접 2cm. 안전 가드 작동",
"evidence": {
"field": "proximity_cm",
"value": 2
}
},
{
"task_id": "HT002",
"result": "success",
"cause": null,
"evidence": {
"field": "duration_s",
"value": 2
}
},
{
"task_id": "HT900",
"result": "review",
"cause": "센서 결측. 확인 필요",
"evidence": null
}
]result(성공·안전 규칙)·evidence 정합성은 자동 검증, cause 타당성은 로봇 엔지니어/judge 검증.