로봇 정책 안전 실드는 학습 모델이 낸 행동을 그대로 모터에 보내지 않고, 충돌·속도·관절·안전 집합 제약을 실행 직전에 검사해 허용하거나 수정하거나 안전 정지로 바꾸는 런타임 계층입니다. 불확실성 점수와 달리 금지 조건을 명시하고, 실드 개입률·최소 안전 여유·작업 성공률을 함께 검증해야 합니다.
아래에서는 용어의 차이를 실제 시스템 경계, 실패 조건과 검증 순서로 나눠 살펴봅니다.
로봇 정책 안전 실드는 행동을 실행하기 전 허용 집합 안에 있는지 판정하는 별도 계층이다
학습 정책이 속도, 관절 증분이나 trajectory를 출력하면 안전 실드는 현재 상태와 가까운 미래의 충돌·관절 한계·속도·금지 구역을 검사합니다. 통과하면 그대로 보내고, 경계에 가까우면 허용 집합으로 투영하며, 수정 가능한 해가 없으면 제동이나 안전 자세로 바꿉니다.
로봇 정책의 불확실성과 기권은 모델이 모르는 상황을 찾는 문제이고 안전 실드는 알려진 금지 조건을 실행 경계에서 강제하는 문제입니다. confidence가 높아도 벽을 향한 명령은 막아야 하며, confidence가 낮다고 모든 행동이 물리적으로 위험한 것도 아닙니다.
실드의 안전 명세는 위험 목록이 아니라 계산 가능한 상태·행동 제약이어야 한다
관절 위치 q의 상한·하한, 속도와 토크 제한, 링크 간 최소 거리, 사람 구역의 속도 상한처럼 센서와 제어 주기에서 계산할 수 있는 식으로 바꿉니다. ‘사람에게 가까이 가지 않는다’만 적으면 거리 기준, 예측 시간과 센서 지연을 코드로 옮길 수 없습니다.
피지컬 AI 안전 계층의 위험 분석에서 나온 요구를 실드가 모두 맡는 것은 아닙니다. 비상 정지, 하드웨어 토크 차단, 안전 PLC 같은 독립 보호 수단과 학습 정책의 런타임 제약을 구분해야 단일 소프트웨어 오류가 전체 방어를 무너뜨리지 않습니다.
hard rule·제약 투영·예측 필터는 막는 방식과 필요한 모델이 다르다
hard rule은 한계 초과 명령을 즉시 거부해 설명하기 쉽지만 경계에서 떨림이 생길 수 있습니다. 제약 투영은 원래 행동과 가장 가까운 허용 행동을 최적화하고, 예측 안전 필터는 동역학 모델로 여러 스텝 뒤까지 시뮬레이션해 지금은 안전해 보여도 멈출 수 없는 행동을 미리 줄입니다.
Safe Reinforcement Learning via Shielding 원 논문은 시간 논리 명세에서 파생한 shield가 unsafe action을 대체하는 구성을 제시합니다. 실제 로봇에서는 명세 완전성, 상태 추정 오차와 최적화 시간까지 별도 검증해야 합니다.
| 방식 | 판정 범위 | 장점 | 주요 실패 |
|---|---|---|---|
| hard rule | 현재 state·action | 단순·빠름 | 경계 떨림·규칙 누락 |
| constraint projection | 현재 허용 집합 | 작은 수정 | 목표 왜곡·해 없음 |
| predictive filter | 미래 horizon | 제동거리 반영 | 모델 오차·계산 지연 |
| fallback replace | 위험 판정 후 | 명확한 정지 | 전이 중 불안정 |
사람과 가까운 로봇에서는 소프트웨어 실드와 독립 정지 경로를 함께 둔다
사진처럼 사람과 이동 로봇이 한 공간에 있으면 카메라 인지, 정책, 네트워크 가운데 하나가 늦거나 틀릴 수 있습니다. 실드는 정상 제어 주기에서 접근 속도와 구역을 제한하지만, watchdog이나 하드웨어 정지는 실드 프로세스 자체가 멈춘 경우에도 동작해야 합니다.
현장 설계에서는 사람 검출 신뢰도만 보지 않고 마지막 유효 관측 시각, 정지 거리, 통신 지연과 로봇 질량을 함께 씁니다. 사진은 협업 환경의 필요성을 설명할 뿐 해당 시설의 구체적인 안전 구조나 성능을 대표하지 않습니다.

control barrier function은 안전 집합을 유지하도록 최소 행동 수정을 계산한다
안전도를 나타내는 함수 h(x)가 0 이상인 영역을 안전 집합으로 두고, 다음 상태에서도 경계를 안쪽으로 유지하는 부등식을 제어 입력에 부과합니다. 보통 원래 정책 행동과의 차이를 최소화하는 quadratic program으로 풀어 정상 구간에서는 개입하지 않고 경계에서만 수정합니다.
Control Barrier Function 기반 QP 원 논문의 핵심은 안정화 목표와 안전 제약을 한 최적화에 넣는 것입니다. 다만 접촉이 불연속이고 모델 오차가 큰 로봇에서는 보수 여유, 입력 포화와 solver timeout을 명시해야 수학적 조건이 실제 주기에서도 의미를 갖습니다.
예측 안전 필터는 지금 행동 뒤에 안전한 복귀 경로가 남는지를 본다
현재 한 스텝이 충돌하지 않아도 높은 속도로 좁은 구역에 들어가면 다음 주기에 멈출 수 없습니다. 필터는 후보 행동 뒤의 reachable state를 예측하고 horizon 끝에서 안전 백업 제어기로 돌아갈 수 있는 terminal set이 남는지 확인합니다.
Predictive Safety Filter 원 논문은 학습 기반 제어 입력을 모델 예측으로 검사해 제약 만족 입력으로 수정하는 틀을 제시합니다. horizon이 짧으면 제동거리를 놓치고 길면 계산량과 모델 오차가 커지므로 실제 최악 지연에서 검증합니다.
상태 추정이 오래됐거나 불확실하면 안전 집합도 실제 위치와 어긋난다
실드는 완벽한 state를 받는다는 가정을 버리고 timestamp, covariance, 센서 health를 입력 계약에 넣어야 합니다. 장애물 위치의 불확실성이 커지면 최소 거리 여유를 늘리고, 관측 age가 상한을 넘으면 새 행동을 투영하기보다 감속·정지로 전이합니다.
로봇 센서 융합에서 얻은 covariance를 단순 로그로 남기지 말고 constraint tightening에 연결합니다. 평균 오차만으로 여유를 정하면 지연 spike와 가림 상황에서 실제 링크가 계산된 안전 경계 밖에 있을 수 있습니다.
fallback은 멈춤 하나가 아니라 로봇 상태에 맞는 복구 가능한 행동 계층이다
공중에 무거운 물체를 든 팔을 즉시 토크 0으로 만들면 물체가 떨어질 수 있고, 경사면의 이동 로봇이 급정지하면 미끄러질 수 있습니다. hold, controlled brake, retract, safe pose, power isolation을 위험 유형과 동역학 상태별로 정합니다.
fallback 전이는 원래 정책과 별개인 작은 상태 기계로 구현하고 진입·완료·timeout 조건을 테스트합니다. 동일한 위험 이벤트가 반복되면 무한히 재시도하지 않고 작업을 중단해 사람 승인이나 원격 조작으로 넘겨야 합니다.
실드 개입을 학습 신호로 되먹일 때는 안전 보장과 데이터 개선을 분리한다
개입 전 정책 행동, 제약 margin, 수정 행동, 원인 코드와 이후 작업 결과를 저장하면 정책이 반복해서 경계를 두드리는 구간을 찾을 수 있습니다. 그러나 다음 모델이 개선됐다는 이유로 실드 조건을 자동 완화하면 보호 계층이 학습 오차에 종속됩니다.
DeepMind AutoRT 안전 계층 설명처럼 대규모 실제 로봇 운영도 VLM 기반 규칙과 전통적 안전 제어를 함께 둘 수 있습니다. 실드 로그는 정책 재학습 후보로 쓰되 제약 변경은 별도 위험 검토와 회귀 시험을 거칩니다.
런타임 예산은 평균이 아니라 최악 지연과 timeout 동작으로 검증한다
제어 주기가 10ms라면 실드가 평균 3ms여도 99.99 percentile에서 15ms가 걸리면 오래된 행동이 실행될 수 있습니다. 센서 수신, collision query, solver, command transmission을 구간별로 측정하고 deadline 초과 시 이전 안전 명령 유지나 제동으로 전환합니다.
CPU 과부하, 메모리 할당, garbage collection, 네트워크 지연을 주입해 실드가 멈추는 상황을 시험합니다. 정상 해를 찾지 못한 solver status를 안전하다고 간주하지 않고 infeasible·timeout·numerical error를 서로 다른 원인 코드로 남깁니다.

평가는 작업 성공률뿐 아니라 안전 여유·개입률·거짓 개입을 함께 본다
항상 정지하는 실드는 충돌률이 낮지만 쓸모가 없습니다. 최소 거리와 관절 margin, constraint violation, intervention rate, 원래 행동 대비 수정량, false positive, task success와 cycle time을 같은 시나리오에서 측정합니다.
로봇 VLA 평가의 성공률 세트에 near-miss와 recovery set을 추가하고, 사람 접근·센서 지연·동역학 오차를 조합합니다. 평균값 외에 최악 margin과 개입이 연속된 구간을 공개해야 작은 안정성 문제를 숨기지 않습니다.
배포 계약에는 제약 버전·상태 유효성·대체 행동·감사 로그가 모두 들어간다
정책 버전마다 필요한 action 단위와 범위, 실드 제약 버전, 로봇 모델 digest와 calibration을 묶습니다. 정책 출력 형식이 달라지거나 payload·tool이 바뀌면 같은 실드 설정을 재사용하지 않고 사전 replay와 저속 시험을 다시 합니다.
발행 기준은 모든 위험 제약의 단위·여유가 명시되고, stale state와 solver timeout이 fail-safe이며, 독립 정지 경로가 유지되고, 개입률과 작업 성공의 회귀 기준을 통과하는 것입니다. 안전 실드는 인증을 자동으로 만들어 주지 않지만 학습 행동과 실제 실행 사이에 검증 가능한 경계를 만듭니다.
| 검증 축 | 측정값 | 고장 주입 | 합격 증거 |
|---|---|---|---|
| 제약 | min margin·violation | 경계 접근·모델 오차 | 위반 0·여유 충족 |
| 실시간 | p99.99 latency | CPU·network 부하 | deadline·timeout 안전 |
| 개입 | rate·delta·false positive | 정상·near-miss | 작업성 유지 |
| fallback | 정지거리·전이 완료 | 센서 단절·solver 실패 | 독립 경로 성공 |
로봇 정책 안전 실드에서 자주 묻는 질문
안전 실드가 있으면 학습 정책을 안전 데이터로만 학습하지 않아도 되나요?
아닙니다. 위험 행동을 적게 내는 정책이 작업성과 안정성에 유리합니다. 실드는 남은 오류를 실행 경계에서 제한하는 추가 방어층이지 안전한 학습과 검증을 대신하지 않습니다.
불확실성 임계값과 안전 실드는 같은 것인가요?
다릅니다. 불확실성은 모델이 모르는 정도를 추정하고, 안전 실드는 명시된 물리·운영 제약을 강제합니다. 둘을 함께 쓸 수 있지만 각각 따로 calibration과 실패 시험이 필요합니다.
모든 위험 행동을 nearest safe action으로 바꾸면 되나요?
가까운 수치가 안전한 작업 의미까지 보존하지는 않습니다. 투영 후 목표가 바뀌거나 물체를 떨어뜨릴 수 있으므로 수정 한계를 넘으면 적절한 fallback으로 전환해야 합니다.
실드는 어느 제어 주기에서 실행해야 하나요?
위험 동역학과 정지 거리에 맞춰야 합니다. 고속 관절은 상위 계획기보다 빠른 저수준 제한이 필요하고, 긴 horizon 충돌은 느린 예측 필터와 함께 계층화할 수 있습니다.
실드 개입률이 높으면 안전성이 좋은 것인가요?
반드시 그렇지 않습니다. 정책이 계속 위험 행동을 내거나 규칙이 지나치게 보수적일 수 있습니다. 개입 원인, 수정량, 거짓 개입, 작업 성공률과 최소 안전 여유를 함께 봐야 합니다.
안전 실드는 특정 로봇의 위험 분석·기계 제한·센서 지연에 맞춰 설계해야 합니다. 이 글은 기술 구조 설명이며 안전 인증이나 현장 위험성 평가를 대신하지 않습니다.