
엣지 케이스(Edge Case)는 정상적인 작업 범위의 경계에 있거나, 예상되지 않은 특이한 상황을 의미합니다. 자율주행 차량의 관점에서 보면, 폭설 속에서의 운전, 신호등 고장 상황, 보행자의 예측 불가능한 움직임 같은 것들입니다. 로봇의 관점에서는 매우 딱 맞는 공간에서의 작업, 극도로 무거운 물체, 센서 일부의 고장, 네트워크 지연, 배경 음악 같은 것들입니다. 이런 상황들은 훈련 데이터에서는 드물거나 아예 없을 수 있습니다. 그러나 현장에서는 발생할 확률이 높습니다.
정상 데이터로만 학습한 로봇은 이런 상황에서 예측 불가능한 행동을 합니다. 때로는 그냥 실패하는 것으로 끝나지만, 심각한 경우 안전 사고로 이어질 수 있습니다. 따라서 엣지 케이스 데이터의 구축은 단순한 성능 개선이 아니라, 인명 보호와 직결된 필수적인 작업입니다. 엣지 케이스 데이터를 체계적으로 수집하고 학습함으로써 로봇이 예상치 못한 상황에서도 안전하게 대응할 수 있을 것으로 예상됩니다.
엣지 케이스를 효율적으로 발견하고 데이터화하려면 다각적 접근이 필요합니다. 다양한 방법으로 발견한 엣지 케이스를 체계적으로 분류하고 우선순위를 지정하여 수집하면, 제한된 자원으로도 최대 효과를 낼 수 있을 것으로 기대됩니다.

로봇이 할 수 있는 일과 할 수 없는 일의 경계를 정확히 파악하는 것이 중요합니다. 예를 들어 로봇 팔이 "최대 10kg의 물체를 집을 수 있다"는 스펙이 있다면, 실제로는 어떨지 살펴봐야 합니다.
이러한 방식으로 성능 곡선을 명확히 파악해야 합니다. 엣지 케이스 데이터 수집의 한 가지 목표는 이러한 성능 곡선을 정밀하게 그려내는 것입니다. 여러 무게의 물체를 수집하여 로봇의 성공률을 측정합니다. 예를 들어 "9kg: 99% 성공, 10kg: 95% 성공, 11kg: 70% 성공, 12kg: 30% 성공, 13kg: 5% 성공"이라는 곡선이 그려질 수 있습니다. 이렇게 되면 로봇의 실제 능력의 경계가 명확해집니다.
또한 다양한 조건의 조합도 테스트합니다. 무거운 물체를 집을 때, 조명이 나쁘면 성공률이 더 떨어질 수 있습니다. 성능 경계를 정밀하게 정의한 데이터로 로봇의 능력과 한계를 명확히 파악하고 안전 기준을 설정할 수 있을 것으로 기대됩니다.


엣지 케이스에서 로봇이 실패할 때, 그 실패의 원인이 무엇인지 파악하는 것이 중요합니다. 같은 "실패"라도 원인이 다르면 대응 방법도 달라집니다. 물체를 집지 못한 것이 "그리퍼의 강도 부족" 때문인지, "물체의 위치 인식 오류" 때문인지, "센서 고장" 때문인지에 따라 다릅니다. 엣지 케이스 데이터에는 실패의 원인도 라벨링됩니다.
또한 각 원인별로 가능한 회복 메커니즘도 기록됩니다. "강도 부족이면 다른 각도에서 다시 시도한다", "위치 오류면 센서를 다시 스캔한다", "센서 고장이면 백업 센서를 사용한다" 같은 회복 방법들입니다. 로봇이 이러한 데이터로 학습하면, 실패 후에도 스스로 복구를 시도할 수 있습니다. 또한 복구 불가능한 상황도 인식합니다. "이 조건에서는 어떤 시도도 성공할 수 없다"는 판단을 하면, 인간의 개입을 요청할 수 있습니다. 실패 원인과 회복 메커니즘을 포함한 데이터로 로봇의 자율성과 안전성이 동시에 향상될 것으로 예상됩니다.
현실의 모든 상황을 예측할 수 없습니다. 센서는 정확하지 않고, 환경은 변합니다. 로봇이 이러한 불확실성을 정량화하고 이해할 수 있다면, 신뢰도 높은 판단을 내릴 수 있습니다. 만약 로봇이 "이 물체를 85% 확률로 성공적으로 집을 수 있다"고 판단한다면, 생산 중요도에 따라 시도할지 말지를 결정할 수 있습니다.
엣지 케이스 데이터 수집 시, 각 상황에서의 성공 확률뿐 아니라 로봇의 신뢰도(confidence) 점수도 기록합니다. 신뢰도가 낮은 상황에서는 로봇이 더 신중하게 행동하거나, 인간에게 도움을 요청할 수 있습니다. 또한 불확실성이 높은 영역을 파악함으로써, 향후 데이터 수집의 우선순위를 결정할 수 있습니다. "이 조건에서는 로봇의 신뢰도가 낮으므로, 더 많은 데이터가 필요하다"는 인사이트를 얻을 수 있습니다. 불확실성을 명시적으로 정량화한 데이터로 로봇이 자신의 능력과 한계를 정확히 이해할 수 있을 것으로 기대됩니다.

모든 엣지 케이스를 똑같이 다룰 수는 없습니다. 리소스가 제한되어 있기 때문입니다. 따라서 우선순위 지정이 필요합니다. 우선순위는 여러 차원으로 평가됩니다. 첫째, 발생 확률입니다. 매우 드문 상황보다 비교적 자주 발생하는 상황을 우선합니다. 둘째, 위험도입니다. 실패했을 때의 결과가 심각한 상황을 우선합니다. 안전 사고 위험이 있는 상황이 생산 지연 위험보다 우선입니다.
셋째, 개선 잠재력입니다. "이 상황을 개선하면 전체 성능이 얼마나 향상될까"를 평가합니다. 낮은 발생 확률이지만 개선 효과가 크면 우선순위가 올라갑니다. 이러한 평가를 통해 우선순위 맵을 만들면, 제한된 예산으로도 최대 효과를 얻을 수 있습니다. 엣지 케이스의 우선순위를 전략적으로 지정함으로써 효율적인 데이터 수집과 로봇 강건성의 극대화를 동시에 달성할 수 있을 것으로 기대됩니다.
엣지 케이스의 많은 부분을 시뮬레이션에서 탐색할 수 있습니다. 시뮬레이션에서는 안전하게 극한 상황을 만들 수 있기 때문입니다. 예를 들어 로봇의 성공 확률이 극도로 낮아지는 상황을 시뮬레이션으로 빠르게 찾을 수 있습니다. 시뮬레이션에서 발견한 엣지 케이스는 "후보 엣지 케이스"가 되고, 이들 중 가장 중요한 것들을 현실에서 검증합니다. 이렇게 하면 현실에서의 비용과 위험을 최소화하면서도 광범위한 엣지 케이스를 발견할 수 있습니다.
또한 시뮬레이션과 현실의 엣지 케이스를 비교하는 것도 중요합니다. "시뮬레이션에서는 문제가 없었는데, 현실에서 실패한다"면, 시뮬레이션의 물리 엔진이나 센서 모델에 부정확성이 있다는 신호입니다. 시뮬레이션과 현실의 상호보완으로 엣지 케이스의 효율적 탐색과 시뮬레이션 정확도의 동시 향상이 가능해질 것으로 예상됩니다.

로봇이 현장에 배치되면, 새로운 엣지 케이스가 계속 발생합니다. 개발 단계에서 예상하지 못했던 상황들입니다. 따라서 엣지 케이스 데이터는 정적이 아니라 동적으로 갱신되어야 합니다. 현장에서 발생한 실패를 기록하고, 그것을 분석하여 새로운 엣지 케이스로 추가합니다.
또한 로봇의 성능 향상에 따라 엣지 케이스의 정의도 변합니다. "이전에는 엣지 케이스였지만, 이제는 로봇이 대부분 성공하는 상황"으로 변할 수 있습니다. 이 경우 더 극한의 엣지 케이스가 새로운 대상이 됩니다. 현장 피드백과 로봇의 지속적 개선으로 엣지 케이스 데이터가 살아있는 자산으로 진화할 것으로 기대됩니다.
