DEV Community

Richard Minsoo Go
Richard Minsoo Go

Posted on

Humanoid Electrical Architecture — Ch.12: Functional Safety [KR]

STATERA Library · Series 07 · Volume 21 · Chapter 12 · KR
Source: https://github.com/Statera-Library/07_Vol_21_Humanoid_Electrical_Architecture/blob/main/Chapter_12_Functional_Safety/Chapter_12_Functional_Safety_KR.md

Volume 21. Humanoid Electrical Architecture

Chapter 12. Functional Safety

12.01. Human Robot Safety

사람 주변에서 동작하도록 설계된 휴머노이드 로봇은 인간 안전을 하나의 보호 기능이 아니라 시스템 수준의 전기 및 제어 요구사항으로 다루어야 한다. 안전 아키텍처(안전 구조)는 명령된 동작, 액추에이터 상태, 센싱 정보 및 환경 조건이 정의된 안전 한계 내에 지속적으로 유지되는지를 평가해야 한다. 이를 위해 전력 아키텍처(전력 구조), 관절 모듈, 인지 시스템, 실시간 제어기, 통신 네트워크 및 비상 기능이 서로 연계되어 동작해야 한다. 따라서 인간-로봇 안전(인간-로봇 안전)은 개별 서브시스템이 아니라 휴머노이드 전체에 걸쳐 적용되는 아키텍처 계층으로 구성되어야 한다.

사람의 존재는 의도적이거나 예상하지 못한 물리적 상호작용이 발생할 수 있기 때문에 휴머노이드 로봇의 주요 운용 조건으로 고려되어야 한다. 로봇은 사람을 감지하고, 상대적인 위치와 움직임을 추정하며, 위험한 접촉이 발생하기 전에 동작을 조정해야 한다. 안전 판단은 단순한 거리뿐만 아니라 로봇의 속도, 관절 움직임, 액추에이터 토크, 하중 및 자세를 함께 고려해야 한다. 사람을 향해 천천히 움직이는 팔과 높은 에너지를 가진 다리 또는 몸통의 움직임은 측정된 거리가 동일하더라도 서로 다른 안전 대응이 필요할 수 있다.

전기 아키텍처(전기 구조)는 가능한 경우 안전에 중요한 정보와 제어를 위한 독립적인 경로를 제공해야 한다. 일반 애플리케이션 소프트웨어가 동작 명령을 생성하더라도 안전 관련 기능은 위험한 동작을 제한하거나 차단하거나 필요한 경우 제거할 수 있어야 한다. 이러한 분리는 하나의 프로세서, 소프트웨어 프로세스, 통신 채널 또는 인지 알고리즘에 대한 과도한 의존성을 줄인다. 아키텍처는 감지, 판단, 명령 제한, 전력 차단 및 복구를 담당하는 구성요소를 명확하게 정의하여 정상적인 제어 기능에 장애가 발생하더라도 안전 동작이 결정론적으로 수행되도록 해야 한다.

사람 감지는 운용 환경과 요구되는 안전 성능에 따라 여러 센싱 메커니즘을 조합해야 한다. 카메라와 3차원 인지 시스템은 사람의 위치와 자세에 대한 풍부한 정보를 제공할 수 있으며, 추가적인 근접 또는 거리 측정 센서는 보완적인 감지 기능을 제공할 수 있다. 휴머노이드는 하나의 인지 정보원만 항상 이용 가능하거나 정확하다고 가정해서는 안 된다. 가림, 조명 변화, 반사 표면, 센서 오염, 통신 장애 및 처리 지연은 모두 환경 인지의 신뢰도를 저하시킬 수 있는 조건으로 고려되어야 한다.

안전 판단은 휴머노이드 동작의 물리적 특성도 고려해야 한다. 각각의 관절은 위치, 속도, 토크 및 하중에 따라 서로 다른 수준의 기계적 에너지를 발생시킬 수 있다. 팔과 손은 조작 과정에서 사람과 직접 상호작용할 수 있으며, 다리와 몸통은 전신 동작이나 균형 상실을 통해 더 큰 위험을 발생시킬 수 있다. 따라서 제어 아키텍처(제어 구조)는 속도 제한, 토크 제한, 작업공간 제한, 제어 정지 및 안전 자세 전환과 같은 동작 제약을 지원해야 한다. 이러한 제한은 개별적으로 적용되는 것이 아니라 관절 간에 연계되어야 한다.

안전 제어기(안전 제어기)는 정상 운전을 계속하기 전에 중요한 신호의 유효성을 감시해야 한다. 센서 데이터에는 통신 상태, 갱신 주기, 신뢰성 검사, 타임스탬프 유효성 및 동작 범위와 같은 상태 정보가 포함되어야 한다. 액추에이터 피드백 역시 엔코더 일관성, 토크 센서 동작, 모터 드라이버 상태 및 예상하지 못한 움직임을 확인해야 한다. 중요한 신호가 유효하지 않게 되면 로봇은 오래된 정보나 불확실한 정보를 이용하여 계속 동작하는 대신 사전에 정의된 안전 상태로 전환해야 한다. 따라서 안전 감시는 물리적 조건뿐만 아니라 제어에 사용되는 정보의 무결성도 평가해야 한다.

통신 아키텍처(통신 구조) 역시 인간-로봇 안전의 일부이다. 지연되거나 손상된 정보는 개별 구성요소가 정상적으로 동작하고 있더라도 위험한 동작을 발생시킬 수 있기 때문이다. 안전과 관련된 메시지는 정의된 시간 요구사항, 감시 메커니즘 및 장애 발생 시 대응 방법을 가져야 한다. 다른 부분에서 정의된 CAN FD, EtherCAT, Gigabit Ethernet 및 ROS 2 DDS 계층은 안전 관점에서 모두 동일하게 취급되어서는 안 된다. 시스템은 결정론적 제어 경로, 고대역폭 인지 경로 및 상위 수준 정보 경로를 명확하게 구분하고 각각에 적절한 감시와 타임아웃 동작을 적용해야 한다.

전력 관리 역시 제어 아키텍처에서 정의된 안전 전략을 지원해야 한다. 안전 이벤트가 발생하면 모든 전기 시스템의 전원을 제거하는 대신 로봇의 동작을 정지시키는 것이 필요할 수 있다. 예를 들어 액추에이터 토크를 비활성화하면서도 인지 및 진단 기능은 계속 동작해야 할 수 있다. 따라서 전력 분배 아키텍처(전력 분배 구조)는 제어된 셧다운 경로, 액추에이터 전력 차단, 제동 동작 및 복구 조건을 정의해야 한다. 48 V 또는 72 V 주 전원, 로컬 관절 전원 단계, 모터 드라이버, 브레이크 및 안전 제어 회로 사이의 관계를 설계하여 하나의 전기적 고장이 제어되지 않은 동작을 발생시키지 않도록 해야 한다.

인간-로봇 안전 기능은 위험한 상태가 감지된 이후 로봇이 어떻게 동작해야 하는지도 정의해야 한다. 정지는 항상 모든 전원을 즉시 제거하는 것과 동일하지 않다. 로봇의 자세와 물리적 상황에 따라 제어되지 않은 전원 상실은 낙하, 중력에 의한 움직임 또는 제동 기능 상실을 통해 또 다른 위험을 발생시킬 수 있다. 따라서 안전 아키텍처는 제어 정지, 토크 차단, 브레이크 작동, 액추에이터 전원 차단 및 완전한 비상 셧다운을 구분해야 한다. 적절한 대응은 감지된 고장과 그에 따른 위험에 따라 결정되어야 한다.

안전 감시는 Chapter 12의 나머지 부분에서 정의되는 충돌 감지, 비상 정지, 고장 허용 운전 및 센서 이중화 기능과 연계되어야 한다. 인간-로봇 안전은 전체적인 보호 목표를 설정하고, 충돌 감지(Collision Detection)는 세부적인 감지 메커니즘을 제공하며, E-stop은 직접적인 비상 개입 경로를 제공한다. 고장 허용 운전(Fail-Operational)은 선택된 고장이 발생한 이후에도 안전한 운전을 지속할 수 있도록 하고, 센서 이중화(Redundant Sensors)는 중요한 관측 정보에 대한 신뢰도를 향상시킨다. 이러한 기능들은 명확하게 정의된 인터페이스와 상태 전이를 공유하여 여러 안전 조건이 동시에 발생하더라도 로봇이 일관되지 않은 방식으로 대응하지 않도록 해야 한다.

안전 아키텍처는 모든 비정상 상태를 동일한 비상 상황으로 처리하는 대신 단계적인 대응을 지원해야 한다. 낮은 신뢰도의 인지 상태에서는 우선 속도를 낮추거나 작업공간을 제한해야 할 수 있으며, 위험 영역에 사람이 진입한 것이 확인된 경우에는 즉각적인 동작 억제가 필요할 수 있다. 심각한 액추에이터 또는 제어기 고장은 전력 차단이나 제동을 포함하는 더 강력한 대응을 요구할 수 있다. 이러한 단계적 전략은 전환 임계값과 복구 조건이 명확하게 정의되고 검증된다는 전제하에 안전을 유지하면서 유용한 운전을 지속할 수 있도록 한다.

마지막으로 인간-로봇 안전은 개별 구성요소 시험만으로 검증해서는 안 되며 전체 시스템 수준에서 검증되어야 한다. 검증에는 정상 운전, 사람의 접근, 예상하지 못한 사람의 움직임, 센서 성능 저하, 통신 손실, 액추에이터 고장, 프로세서 고장, 전원 이상 및 여러 고장이 동시에 발생하는 상황이 포함되어야 한다. 시험 결과는 휴머노이드가 요구된 시간 내에 안전하지 않은 상태를 감지하고, 의도된 보호 동작을 수행하며, 제어되지 않은 위험한 동작을 방지한다는 것을 입증해야 한다. 이러한 시스템 수준의 근거는 기능 안전 아키텍처에서 이어지는 충돌 감지, E-stop, 고장 허용 운전, 센서 이중화 및 안전 인증 활동의 기반이 된다.

12.02. Collision Detection

충돌 감지(Collision Detection)는 휴머노이드 로봇에서 예상하지 못한 물리적 접촉이나 임박한 충돌을 식별하고, 이를 적절한 보호 대응으로 전환하기 위한 지속적인 메커니즘을 제공해야 한다. 휴머노이드는 독립적으로 제어되는 많은 관절을 가지고 있으며 팔, 손, 몸통 및 다리를 통해 사람과 상호작용할 수 있기 때문에 충돌 감지는 로봇 전체에 걸쳐 동작해야 한다. 이를 위해 하나의 센서나 알고리즘에 의존하기보다 환경 인지, 액추에이터 피드백, 동작 상태 및 안전 제어를 결합해야 한다.

실용적인 충돌 감지 아키텍처(충돌 감지 구조)는 접촉 전 충돌 예측과 접촉 후 충돌 감지를 구분해야 한다. 접촉 전 감지는 카메라, LiDAR, 깊이 센서, 근접 센서 및 기타 인지 센서를 사용하여 위험 영역으로 진입하는 물체나 사람을 식별한다. 접촉 후 감지는 관절 토크, 모터 전류, 위치 오차, 가속도, 힘 또는 촉각 정보를 사용하여 동작 제어기가 예상하지 못한 물리적 상호작용을 식별한다. 이 두 메커니즘을 결합하면 가능한 경우 접촉 전에 대응할 수 있으며, 예측이 충분하지 않은 경우에도 물리적 접촉을 신속하게 감지할 수 있다.

환경 인지(Environmental Perception)는 충돌 인지의 첫 번째 계층을 제공한다. 인지 시스템은 센서 지연과 불확실성을 고려하면서 주변 사람과 물체의 위치, 속도 및 대략적인 형상을 추정해야 한다. 카메라와 깊이 정보는 복잡한 물체를 식별할 수 있으며, LiDAR 또는 근접 센서는 상호 보완적인 거리 측정 정보를 제공할 수 있다. 충돌 감지 시스템은 예측된 궤적이 보호된 로봇 영역이나 인간 보호 영역과 교차하는지를 지속적으로 평가해야 한다. 또한 안전 판단에 영향을 미칠 수 있으므로 센서 가용성, 신뢰도, 갱신 주기 및 통신 상태도 감시해야 한다.

로봇의 신체는 머리, 몸통, 상완, 전완, 손, 허벅지, 하퇴 및 발과 같이 물리적으로 의미 있는 영역에 대응하는 충돌 모델(Collision Model)로 표현되어야 한다. 이러한 모델은 실시간 계산을 위해 단순화된 기하학적 볼륨을 사용할 수 있지만, 기계적으로 위험한 구조를 충분히 포함할 수 있어야 한다. 충돌 모델은 현재 관절 구성에 따라 변화해야 하며 로봇의 운동학적 상태와 함께 이동해야 한다. 불확실성, 속도 또는 정지 거리가 증가할 경우 안전 여유(Safety Margin)를 확대하여 로봇이 지나치게 정밀한 기하학적 경계에 의존하지 않도록 해야 한다.

충돌 위험은 현재 거리뿐만 아니라 미래의 움직임에 의존하기 때문에 동작 예측(Motion Prediction)이 중요하다. 시스템은 액추에이터 시스템의 동적 거동을 고려하면서 관절 위치, 속도, 가속도 및 명령된 동작으로부터 로봇의 예상 궤적을 추정해야 한다. 충분한 인지 정보가 확보되는 경우 사람의 움직임 역시 추정할 수 있다. 따라서 충돌 경고는 물리적 거리가 0이 될 때까지 기다리는 것이 아니라 예측된 간격이 필요한 안전 여유보다 작아지는 시점에 생성되어야 한다.

액추에이터 피드백(Actuator Feedback)은 두 번째이면서 상호 보완적인 충돌 감지 메커니즘을 제공한다. 정상적인 동작 중에는 제어기가 명령 토크, 측정 토크, 모터 전류, 관절 위치 및 동작 응답 사이의 예상되는 관계를 가지고 있다. 예상하지 못한 접촉은 이러한 관계를 변화시키고 측정 가능한 편차를 발생시킬 수 있다. 따라서 관절 토크 센서, 모터 전류 추정값, 엔코더 응답 또는 위치 추종 오차를 이용하여 비정상적인 상호작용을 식별할 수 있다. 감지 임계값은 정상적인 제어 오차, 마찰, 중력 보상, 페이로드 변화 및 동적 가속을 고려해야 하며, 정상적인 동작이 충돌로 잘못 분류되지 않도록 해야 한다.

충돌 감지는 개별 관절 수준과 전신 수준 모두에서 동작해야 한다. 로컬 관절 제어기는 비정상적인 토크나 동작을 높은 속도로 감지하여 영향을 받은 액추에이터를 즉시 제한할 수 있다. 동시에 중앙 안전 제어기는 해당 이벤트가 전체 신체에 영향을 미치거나 2차적인 위험을 발생시킬 가능성이 있는지를 평가해야 한다. 예를 들어 손목에서 예상하지 못한 힘이 발생한 경우에는 해당 관절의 토크를 감소시키는 것만으로 충분할 수 있지만, 다리나 몸통이 충돌한 경우에는 전신 안정화를 위한 협조된 대응이 필요할 수 있다. 따라서 로컬 및 글로벌 대응은 명확하게 정의된 안전 상태를 통해 연결되어야 한다.

감지된 충돌에 대한 대응은 추정된 심각도와 이벤트에 대한 신뢰도에 비례해야 한다. 낮은 위험도의 근접 상태에서는 속도 감소 또는 작업공간 제한이 필요할 수 있으며, 물리적 충돌이 확인된 경우에는 신속한 토크 제한 또는 제어 정지가 필요할 수 있다. 계속된 동작이 위험을 증가시킬 가능성이 있다면 해당 액추에이터를 억제하고 필요한 경우 브레이크를 작동해야 한다. 완전한 전원 차단은 필요하고 안전한 경우에 한정해야 한다. 액추에이터나 브레이크 전원의 제어되지 않은 상실 자체가 기계적 위험을 발생시킬 수 있기 때문이다.

충돌 감지는 휴머노이드의 통신 및 실시간 제어 아키텍처(Real-Time Control Architecture)와 통합되어야 한다. 고속 액추에이터 피드백은 제한된 시간 내에 관련 안전 제어기에 전달되어야 하며, 인지 정보는 오래된 관측값이 현재 상태로 해석되지 않도록 유효한 타임스탬프를 포함해야 한다. CAN FD와 EtherCAT은 하위 수준의 제어 및 액추에이터 정보를 지원할 수 있으며, Gigabit Ethernet과 ROS 2 DDS는 고대역폭 인지 정보 및 시스템 수준의 데이터 교환을 지원할 수 있다. 모든 메시지가 정상적으로 전달될 것이라고 가정해서는 안 되며, 안전 판단에는 타임아웃 및 통신 고장에 대한 대응도 포함되어야 한다.

오탐(False Positive)과 미탐(False Negative)은 모두 중요한 설계 문제이다. 과도한 민감도는 불필요한 보호 정지를 발생시켜 로봇의 가용성을 떨어뜨리고 상호작용을 어렵게 만들 수 있으며, 반대로 감지 민감도가 부족하면 위험한 접촉이 계속될 수 있다. 따라서 감지 임계값은 다양한 페이로드, 관절 속도, 자세 및 인간 상호작용 상황을 포함한 대표적인 운용 조건에서 보정(Calibration)해야 한다. 센서 융합(Sensor Fusion)은 서로 독립적인 정보원의 일치 여부를 확인하거나 운용 조건에 따라 서로 다른 신뢰 수준을 부여함으로써 감지 신뢰도를 향상시킬 수 있다.

충돌 이벤트는 진단 및 안전 검증을 지원할 수 있도록 충분한 정보를 기록해야 한다. 관련 데이터에는 관절 위치, 속도, 명령 토크와 측정 토크, 모터 전류, 센서 상태, 감지된 객체의 위치, 충돌 신뢰도, 통신 상태 및 활성화된 안전 대응이 포함될 수 있다. 충돌 분석에서는 인지, 제어 명령, 액추에이터 피드백 및 보호 대응 사이의 관계를 확인해야 하므로 시간 동기화(Time Synchronization)가 특히 중요하다. 이러한 기록은 이후 고장 분석, 보정, 시스템 개선 및 인증 증거 자료를 지원할 수 있다.

마지막으로 충돌 감지는 독립적인 소프트웨어 기능이 아니라 전체 기능 안전 아키텍처(Functional Safety Architecture)의 일부로 검증되어야 한다. 시험에는 예측된 사람의 접근, 예상하지 못한 접촉, 다양한 신체 영역, 센서 성능 저하, 통신 지연, 액추에이터 이상, 페이로드 변화 및 동시 고장 상황이 포함되어야 한다. 검증 과정에서는 시스템이 요구되는 응답 시간 내에 위험 조건을 감지하고, 의도된 동작 또는 토크 제한을 적용하며, 2차적인 위험을 발생시키지 않고 안전 상태에 도달한다는 것을 입증해야 한다. 따라서 충돌 감지는 인지, 실시간 제어, 액추에이터 동작과 Chapter 12의 다른 부분에서 정의된 E-stop, 고장 허용 운전(Fail-Operational), 센서 이중화(Redundant Sensors) 및 안전 인증(Safety Certification) 기능을 직접 연결하는 역할을 수행해야 한다.

12.03. E-Stop

비상 정지(E-stop) 시스템은 계속된 동작이 허용할 수 없는 위험을 발생시킬 수 있는 경우 휴머노이드 로봇을 정의된 안전 상태로 신속하게 전환하기 위한 전용 보호 기능을 제공한다. 휴머노이드는 다수의 관절이 협조하여 움직이면서 상당한 기계적 에너지를 발생시킬 수 있으므로 E-stop 아키텍처(E-stop Architecture)를 단순한 전원 스위치로 취급해서는 안 된다. 필요한 경우 동작 명령을 어떻게 억제하고, 액추에이터 토크를 어떻게 제어하며, 브레이크를 어떻게 작동시키고, 전력을 어떻게 차단할 것인지를 명확하게 정의해야 한다.

E-stop 기능은 가능한 범위에서 일반적인 애플리케이션 수준 제어(Application-Level Control)와 독립적으로 동작해야 한다. 동작 계획기(Motion Planner), AI 컴퓨터 또는 ROS 2 애플리케이션이 정상적인 움직임을 요청할 수 있지만, 이러한 시스템이 비상 정지의 실행을 방해할 수 있어서는 안 된다. 안전 경로(Safety Path)는 E-stop 요청을 감지하고 로봇을 정상 운전 상태에서 보호 상태로 전환하기 위한 명확한 메커니즘을 가져야 한다. 이러한 분리는 복잡한 소프트웨어에 대한 의존성을 낮추고 고장 발생 시 예측 가능한 동작을 향상시킨다.

E-stop 활성화는 운용 환경에 따라 여러 경로에서 발생할 수 있다. 물리적 비상 정지 버튼(Physical Emergency Button)을 로봇 본체에 배치할 수 있으며, 외부 안전 스테이션, 작업자 제어 장치, 보호 인터페이스 또는 안전 감시 시스템에서 추가적인 활성화 경로를 제공할 수 있다. 충돌 감지, 심각한 액추에이터 고장, 핵심 센싱 기능 상실 또는 기타 안전 기능도 비상 대응을 요청할 수 있다. 아키텍처는 어떤 조건이 E-stop 기능을 직접 활성화하고 어떤 조건이 대신 제어된 안전 정지(Controlled Safety Stop)를 시작하는지를 정의해야 한다.

E-stop 신호 경로(Signal Path)는 하나의 통신 또는 처리 장애가 보호 동작을 방해하지 않도록 설계해야 한다. 따라서 안전 관련 신호는 필요한 경우 적절한 전기적 또는 하드웨어 기반 경로(Hardware-Based Path)를 사용하고 신호 연속성과 유효성을 감시해야 한다. E-stop 입력, 안전 제어기(Safety Controller), 액추에이터 활성화 신호, 모터 드라이버, 브레이크 및 전력 분배 시스템 사이의 관계를 명확하게 정의해야 한다. 결과적으로 정상 통신 네트워크를 사용할 수 없는 상황에서도 이해하고 시험할 수 있는 아키텍처가 되어야 한다.

정지 전략(Stopping Strategy)은 휴머노이드 동작의 물리적 특성을 반영해야 한다. 모든 액추에이터의 전원을 즉시 제거하면 명령 토크는 중단될 수 있지만, 중력에 의한 제어되지 않은 움직임, 균형 상실 또는 제동 기능 상실을 발생시킬 수도 있다. 따라서 안전 아키텍처는 제어 정지(Controlled Stop), 토크 억제(Torque Inhibition), 브레이크 작동(Brake Application), 액추에이터 전력 차단(Actuator Power Isolation) 및 전체 시스템 셧다운(Complete System Shutdown)을 구분해야 한다. 선택되는 대응은 위험 요소, 로봇 자세, 액추에이터 상태 및 에너지 제거에 따른 잠재적 결과를 고려해야 한다.

E-stop 시스템은 실시간 제어(Real-Time Control) 및 액추에이터 아키텍처와 연계하여 정의된 응답 시간 내에 위험한 움직임을 감소시켜야 한다. 관절 제어기(Joint Controller)는 안전 상태를 인식하고 추가적인 동작 명령이 실행되지 않도록 해야 한다. 필요한 경우 정지 과정 이전이나 도중에 토크 제한을 낮추고 이후 제어된 제동 또는 전력 차단을 수행해야 한다. 또한 비상 조건이 유지되는 동안 애플리케이션 제어기가 자동으로 움직임을 다시 시작하지 못하도록 해야 한다.

전력 아키텍처(Power Architecture)는 E-stop 동작과 밀접하게 연결된다. 휴머노이드는 관절 모듈, 모터 드라이버, 컴퓨팅 장치, 센서 및 기타 서브시스템에 전력을 분배하는 48 V 또는 72 V 주 전기 시스템을 사용할 수 있다. E-stop 이벤트에서는 어떤 전력 도메인(Power Domain)을 계속 활성 상태로 유지하고 어떤 영역을 차단할 것인지를 정의해야 한다. 액추에이터 에너지가 제거된 이후에도 로봇의 상태를 보고하고 안전한 복구를 지원하기 위해 인지, 진단, 통신 또는 안전 감시 기능은 계속 전력을 공급받아야 할 수 있다.

E-stop 기능은 휴머노이드 설계의 다른 부분에서 정의된 통신 아키텍처(Communication Architecture)와도 통합되어야 한다. CAN FD와 EtherCAT은 액추에이터 및 제어 정보를 전달할 수 있으며, Gigabit Ethernet과 ROS 2 DDS는 상위 수준의 데이터 교환을 지원할 수 있다. 그러나 해당 네트워크의 상실로 안전 대응이 불가능해질 수 있다면 E-stop을 일반적인 애플리케이션 메시지에만 의존하도록 설계해서는 안 된다. 통신 상태를 감시해야 하며 네트워크 장애 발생 시 불명확한 상태가 아니라 사전에 정의된 안전 동작이 수행되어야 한다.

E-stop이 활성화된 이후에는 리셋 조건이 충족될 때까지 로봇이 명확하게 정의된 비상 상태(Emergency State)를 유지해야 한다. 리셋(Reset)이 즉시 움직임을 다시 시작한다는 의미가 되어서는 안 된다. 시스템은 E-stop 입력이 해제되었는지, 최초의 위험 요소가 제거되었는지, 핵심 센서와 액추에이터가 정상인지, 통신 경로가 유효한지, 그리고 로봇이 재시작하기에 적절한 상태인지 확인해야 한다. 이후 정상적인 움직임을 다시 시작하기 전에 적절한 승인을 요구하는 의도적인 재시작 절차(Restart Sequence)를 수행해야 한다.

E-stop 성능은 진단 및 검증을 위해 감시되고 기록되어야 한다. 시스템은 활성화 원인, 활성화 시간, 로봇 상태, 관절 위치와 속도, 액추에이터 상태, 전력 상태, 통신 상태 및 그 결과로 수행된 안전 대응을 기록해야 한다. 분석 과정에서는 E-stop 요청, 제어기 반응, 액추에이터 응답, 제동 및 최종 안전 상태 사이의 시간적 순서를 확인해야 하므로 시간 동기화(Time Synchronization)가 중요하다. 이러한 기록은 고장 조사, 유지보수, 안전 시험 및 인증 증거(Certification Evidence)를 지원할 수 있다.

E-stop 아키텍처는 구성요소, 서브시스템 및 전체 휴머노이드 수준의 시험을 지원해야 한다. 시험에는 물리적 버튼 활성화, 외부 활성화, 통신 손실, 프로세서 고장, 액추에이터 고장, 예상하지 못한 움직임, 다양한 로봇 자세 및 전원 이상 상황이 포함되어야 한다. 검증에서는 비상 요청이 요구된 시간 내에 감지되고 위험한 움직임이 적절하게 억제되며, 그 결과로 수행되는 정지가 제어되지 않은 낙하나 예상하지 못한 액추에이터 움직임과 같은 2차 위험을 발생시키지 않는다는 것을 입증해야 한다.

마지막으로 E-stop은 Chapter 12의 기능 안전 아키텍처(Functional Safety Architecture)에서 핵심적인 보호 기능을 구성하며 인간-로봇 안전(Human-Robot Safety), 충돌 감지(Collision Detection), 고장 허용 운전(Fail-Operational), 센서 이중화(Redundant Sensing) 및 안전 인증(Safety Certification)을 보완해야 한다. 인간-로봇 안전은 전체적인 보호 목표를 설정하고 충돌 감지는 발생 중인 위험을 식별하여 적절한 대응을 요청할 수 있다. E-stop은 계속된 운전이 허용될 수 없는 경우 직접적인 비상 개입 메커니즘을 제공한다. 따라서 그 효과는 휴머노이드 전체 시스템에 걸친 전기, 제어, 액추에이터, 통신, 전력, 진단 및 검증 설계의 유기적인 연계에 의해 결정된다.

12.04. Fail Operational

고장 허용 운전(Fail-Operational) 설계는 선택된 고장이 발생했을 때 모든 고장을 즉시 완전한 셧다운(Complete Shutdown)으로 전환하는 대신, 휴머노이드 로봇이 제어되고 허용 가능한 수준의 안전한 운전을 유지할 수 있도록 한다. 이러한 기능은 갑작스러운 제어 상실 자체가 넘어짐, 물체 낙하, 사람을 향한 쓰러짐 또는 지지 토크 상실과 같은 위험을 발생시킬 수 있기 때문에 휴머노이드에서 특히 중요하다. 따라서 아키텍처는 각각의 관련 고장이 발생한 이후 어떤 기능을 계속 유지하고, 어떤 기능을 성능 저하 상태로 전환하며, 어떤 기능을 비활성화해야 하는지를 결정해야 한다.

고장 허용 운전 전략(Fail-Operational Strategy)은 안전 필수 기능(Safety-Critical Function)과 해당 기능에 요구되는 가용성(Availability)을 명확하게 식별하는 것에서 시작해야 한다. 균형 제어, 관절 안정화, 제동, 인지, 안전 감시, 통신 및 전력 관리는 서로 다른 연속 운전 요구사항을 가질 수 있다. 중요하지 않은 애플리케이션의 고장이 필수적인 안정화 기능까지 반드시 중단시켜야 하는 것은 아니다. 따라서 시스템 아키텍처는 임무 기능(Mission Functionality)과 로봇의 안정성을 유지하고 주변 사람을 보호하며 적절한 안전 상태에 도달하는 데 필요한 최소 기능을 분리해야 한다.

고장 허용 운전 동작은 단순한 결함 허용(Fault Tolerance)과 다르다. 계속되는 운전은 정의된 안전 목표(Safety Objective)의 범위 안에서 유지되어야 하기 때문이다. 중복 하드웨어가 여전히 사용 가능하다는 이유만으로 로봇이 정상 성능을 그대로 유지해서는 안 된다. 대신 안전 제어기(Safety Controller)는 운전 모드를 선택하기 전에 감지된 고장, 남아 있는 시스템 능력, 로봇 자세, 주변 환경 및 현재 작업을 평가해야 한다. 가능한 대응에는 정상 운전 지속, 성능 저하 운전, 동작 감소, 기능 제한, 제어된 후퇴, 안전 자세 전환 또는 최종적인 셧다운이 포함될 수 있다.

이중화(Redundancy)는 고장 허용 운전 능력을 구현하기 위한 중요한 기반을 제공한다. 안전 분석을 통해 지속적인 가용성이 필요하다고 판단되는 경우 핵심 센싱, 컴퓨팅, 통신 및 전력 기능에 중복 채널을 적용할 수 있다. 이중화는 중복 센서, 독립적인 처리 경로, 대체 통신 링크, 분리된 전력 도메인(Power Domain) 또는 중복 상태 추정(Redundant State Estimation)을 포함할 수 있다. 그러나 단순히 구성요소를 중복하는 것만으로 안전이 보장되는 것은 아니다. 아키텍처는 채널 간 불일치를 감지하고, 가능한 경우 고장 채널을 식별하여 그 영향을 격리하며, 남은 채널이 계속 운전하기에 충분한 무결성(Integrity)을 제공하는지를 판단해야 한다.

컴퓨팅 아키텍처(Computing Architecture)는 일반적인 AI 처리, 실시간 동작 제어 및 안전 필수 감시 사이의 고장 격리(Fault Containment)를 지원해야 한다. AI 컴퓨터의 고장이나 과부하가 실시간 제어기의 휴머노이드 안정화 능력까지 자동으로 제거해서는 안 된다. 마찬가지로 상위 수준 계획 프로세스에 장애가 발생하더라도 하위 수준 제어기는 관절 제어를 유지하거나 안전 자세로 전환할 수 있어야 한다. 독립적인 감시 타이머(Watchdog), 상태 감시(Health Monitoring), 실행 감시 및 정의된 폴백 소프트웨어 상태(Fallback Software State)는 하나의 컴퓨팅 고장이 전체 제어 계층으로 확산되는 것을 방지하는 데 도움을 줄 수 있다.

휴머노이드의 안정성은 협조된 기계적 지지에 의존하기 때문에 액추에이터 고장(Actuator Fault)은 특별한 주의가 필요하다. 팔 관절 하나의 고장은 조작 기능을 제한한 상태에서 운전을 계속할 수 있지만, 엉덩이, 무릎 또는 발목의 고장은 즉각적으로 균형에 영향을 줄 수 있다. 안전 시스템은 남아 있는 기능을 판단하기 위해 관절 위치, 토크, 모터 전류, 엔코더 유효성, 온도, 브레이크 상태 및 드라이버 상태를 평가해야 한다. 영향을 받은 관절에 따라 토크 감소, 관절 잠금, 지지력 재분배, 속도 감소, 보행 수정, 제어된 무릎 꿇기 또는 안정적인 정지 자세로의 전환 등이 수행될 수 있다.

인지 성능 저하(Perception Degradation) 역시 정의된 고장 허용 운전 동작으로 이어져야 한다. 독립적인 센싱 기능이 충분한 환경 인식 능력을 계속 제공한다면 카메라나 거리 측정 센서 하나가 상실되었다고 해서 반드시 즉시 셧다운할 필요는 없다. 시스템은 계속 운전이 허용 가능한지를 결정하기 전에 센서 상태, 시야 범위(Field of View Coverage), 신뢰도, 동기화 및 센서 간 일관성을 평가해야 한다. 인지 능력이 감소하면 속도 감소, 더 큰 안전 여유(Safety Margin), 작업공간 제한 또는 사용할 수 없는 센싱 기능이 필요한 작업의 금지 등을 통해 운전 제한을 더욱 보수적으로 설정해야 한다.

통신 장애(Communication Failure)는 영향을 받는 데이터 경로의 중요도에 따라 격리되어야 한다. ROS 2 DDS 또는 상위 수준 이더넷 연결이 상실되어도 로컬 안정화 및 안전 제어는 계속 수행할 수 있지만, 결정론적 액추에이터 네트워크(Deterministic Actuator Network)가 상실되면 훨씬 강력한 대응이 필요할 수 있다. 따라서 CAN FD, EtherCAT, Gigabit Ethernet 및 상위 수준 통신 채널에는 정의된 타임아웃, 고장 감지 및 폴백 동작이 있어야 한다. 명령이 사라졌을 때 로컬 제어기는 오래된 정보를 이용하여 무기한 동작을 계속하는 대신 어떤 상태로 전환해야 하는지를 알고 있어야 한다.

전력 아키텍처(Power Architecture)는 고장 허용 운전 설계의 또 다른 핵심 요소이다. 휴머노이드는 액추에이터, 컴퓨터, 인지 장치, 통신 장치, 브레이크 및 안전 전자장치에 전력을 공급하는 여러 전력 도메인을 포함할 수 있다. 선택된 고장은 하나의 전력 분기에서 발생한 고장이 불필요하게 전체 로봇의 기능 상실로 확산되지 않도록 격리되어야 한다. 전력 분배 장치(PDU), 보호 장치, DC-DC 컨버터, 배터리 감시 및 로컬 전원 스위치는 선택적 격리(Selective Isolation)를 지원할 수 있다. 핵심 안전 및 안정화 기능은 제어된 상태 전환을 완료할 수 있을 만큼 충분한 시간 동안 보호된 전력을 공급받아야 할 수 있다.

운전 모드 사이의 전환은 결정론적이고 관측 가능해야 한다. 고장이 감지되면 안전 제어기는 동작, 전력, 통신 또는 애플리케이션 기능에 제한 명령을 내리기 전에 고장 상태를 분류하고 남아 있는 시스템 능력을 판단해야 한다. 서로 다른 서브시스템이 상충되는 판단을 내리지 않도록 다른 제어기에도 일관된 시스템 안전 상태(System Safety State)가 전달되어야 한다. 정상(Normal), 성능 저하(Degraded), 제한(Restricted), 안전 동작(Safe Motion), 안전 자세(Safe Posture) 및 셧다운(Shutdown)과 같은 상태 전이는 고장 이후 전신 동작을 조정하기 위한 구조화된 메커니즘을 제공할 수 있다.

고장 허용 운전 상태에서의 복구(Recovery)는 해당 상태로 진입하는 과정만큼 신중하게 제어되어야 한다. 일시적인 통신 장애나 복구 가능한 센서 고장은 사라질 수 있지만, 전체 성능을 자동으로 복원하면 예상하지 못한 움직임이 발생하거나 로봇이 여러 운전 모드 사이를 반복적으로 전환할 수 있다. 시스템은 기능 수준을 다시 높이기 전에 고장이 제거되었는지, 구성요소가 정상인지, 통신이 안정적인지, 센서 정보가 유효한지, 그리고 로봇 자세가 적절한지를 확인해야 한다. 안전 필수 고장의 경우 정상 운전을 다시 허용하기 전에 작업자 확인, 진단 확인 또는 유지보수가 필요할 수 있다.

고장 허용 운전 이벤트(Fail-Operational Event)는 전체 시스템에서 시간 동기화된 정보와 함께 기록되어야 한다. 관련 기록에는 최초 고장, 영향을 받은 구성요소, 상태 정보, 로봇 자세, 관절 상태, 남아 있는 센서 가용성, 통신 상태, 전력 상태, 선택된 폴백 모드(Fallback Mode) 및 이후 수행된 안전 동작이 포함된다. 이러한 기록을 통해 엔지니어는 고장 감지, 격리, 성능 저하 및 복구가 의도된 순서대로 이루어졌는지를 재구성할 수 있다. 또한 신뢰성 분석, 유지보수, 소프트웨어 개선, 검증 및 최종적인 안전 인증을 위한 증거를 제공한다.

검증(Validation)에는 개별 고장뿐만 아니라 이중화에 대한 설계 가정을 시험할 수 있는 복합 고장도 포함되어야 한다. 시험에서는 센서 상실, 프로세서 고장, 통신 중단, 액추에이터 성능 저하, 전력 도메인 고장, 열적 조건 및 서기, 보행, 조작 또는 인간과의 상호작용 중 발생하는 고장을 평가할 수 있다. 목표는 단순히 로봇에 전원이 계속 공급되는지를 입증하는 것이 아니라 남아 있는 기능이 충분하고 예측 가능하며 안전하다는 것을 입증하는 것이다. 로봇은 검증된 성능 저하 한계 내에서 계속 운전하거나, 잔여 기능이 불충분해지기 전에 더 안전한 상태로 전환해야 한다.

Chapter 12의 기능 안전(Functional Safety) 구조에서 고장 허용 운전 설계는 인간-로봇 안전(Human-Robot Safety), 충돌 감지(Collision Detection), 비상 정지(E-stop), 센서 이중화(Redundant Sensors) 및 안전 인증(Safety Certification)을 하나의 통합된 고장 대응 전략으로 연결한다. 충돌 감지와 상태 감시는 위험하거나 비정상적인 조건을 식별하고, 이중화는 선택된 기능을 유지하며, 계속 운전하는 것이 더 이상 허용될 수 없을 때에는 E-stop을 사용할 수 있어야 한다. 따라서 고장 허용 운전 아키텍처는 제한 없는 정상 운전과 완전한 셧다운 사이에서 제어된 중간 영역을 제공하며, 휴머노이드가 고장에 지능적으로 대응하면서 안정성과 인간 안전을 유지할 수 있도록 한다.

12.05. Redundant Sensors

휴머노이드 로봇의 센서 이중화(Redundant Sensing)는 개별 센서를 사용할 수 없거나 센서의 정확도가 저하되거나 센서 간 정보가 일치하지 않는 상황에서도 로봇 자체와 주변 환경에 대한 인식을 지속할 수 있도록 한다. 균형 제어, 충돌 회피, 조작 및 인간과의 상호작용은 신뢰할 수 있는 측정값에 의존하므로 하나의 센서 고장이 안전하지 않은 정보 상실로 직접 이어져서는 안 된다. 아키텍처는 물리적 이중화(Physical Redundancy), 다양한 센싱 원리, 상태 감시(Health Monitoring) 및 고장 인지형 데이터 융합(Fault-Aware Data Fusion)을 결합하여 중요한 상태 정보를 알려진 신뢰도와 함께 계속 사용할 수 있도록 해야 한다.

센서 이중화는 모든 장치를 단순히 복제하는 방식이 아니라 측정되는 정보의 안전 중요도에 따라 결정되어야 한다. 관절 위치, 신체 방향, 접촉력, 사람과의 근접 거리, 액추에이터 토크 및 환경 형상은 서로 다른 무결성(Integrity) 및 가용성(Availability) 요구사항을 가질 수 있다. 안전 분석(Safety Analysis)을 통해 어떤 측정값에 독립적인 백업 채널이 필요한지, 어떤 측정값이 일시적인 성능 저하를 허용할 수 있는지, 그리고 어떤 고장이 제한 운전 또는 안전 상태로의 전환을 요구하는지를 식별해야 한다.

이중화는 동일형, 이종형 또는 분석적 센싱 채널(Analytical Sensing Channel)을 통해 구현할 수 있다. 동일형 이중화(Identical Redundancy)는 동일한 유형의 센서를 여러 개 사용하는 방식이며, 이종형 이중화(Diverse Redundancy)는 공통 고장 메커니즘을 줄이기 위해 서로 다른 물리적 측정 원리를 결합한다. 분석적 이중화(Analytical Redundancy)는 엔코더 움직임과 모터 응답을 비교하거나 여러 관성 및 운동학적 정보원으로부터 신체 움직임을 추정하는 것처럼 다른 정보를 이용하여 독립적인 추정값을 생성한다. 이러한 방법은 요구되는 안전 무결성과 실제 패키징 제약에 따라 조합할 수 있다.

휴머노이드의 움직임은 많은 관절 자유도에 대한 정확한 상태 정보에 의존하기 때문에 관절 센싱(Joint Sensing)은 특히 중요하다. 하나의 관절 모듈은 모터 측 및 출력 측 엔코더, 토크 센싱, 모터 전류 및 드라이버 피드백을 이용하여 위치와 기계적 부하에 대한 상호 보완적인 정보를 제공할 수 있다. 이러한 측정값 사이의 차이는 엔코더 고장, 전달계 문제, 예상하지 못한 접촉 또는 액추에이터 이상을 식별하는 데 활용할 수 있다. 균형 유지와 관련된 핵심 관절에는 비필수적인 조작에 주로 사용되는 관절보다 더 강력한 이중화가 필요할 수 있다.

신체 상태 추정(Body-State Estimation)은 여러 관성 및 운동학적 정보원을 결합해야 한다. 관성 측정 장치(IMU)는 각속도와 가속도 정보를 제공할 수 있으며, 관절 엔코더, 발 접촉 센서, 힘 측정 및 기타 기준 정보는 자세와 움직임에 관한 추가 정보를 제공한다. 두 번째 IMU 또는 독립적인 위치에 설치된 관성 센서는 가용성을 향상시키고 상호 검증(Cross-Checking)을 가능하게 한다. 상태 추정기는 모든 센서가 항상 정확하다고 가정하지 않고 측정값들이 예상되는 물리적 한계 내에서 서로 일치하는지를 지속적으로 평가해야 한다.

안정적인 서기와 보행은 지지 상태에 대한 신뢰할 수 있는 정보에 의존하기 때문에 발 및 접촉 센싱(Foot and Contact Sensing)에도 이중화가 필요하다. 힘 센서, 압력 소자, 관절 토크 측정 및 운동학적 추정값은 발이 로봇을 지지하고 있는지 또는 지면과의 접촉을 잃고 있는지에 대한 상호 보완적인 근거를 제공할 수 있다. 하나의 측정값을 신뢰할 수 없게 되면 제어기는 증가된 불확실성을 고려하면서 남아 있는 정보를 사용할 수 있다. 지면 접촉에 대한 신뢰도가 충분하지 않게 되면 안전 시스템은 보행의 적극성을 낮추거나 안정적인 자세로 전환해야 한다.

인간 안전이 신뢰할 수 있는 장애물 감지에 의존하는 경우 환경 인지(Environmental Perception) 역시 서로 중첩되는 센싱 기능을 사용해야 한다. 카메라, 깊이 카메라, LiDAR, 레이더 및 근접 센서는 서로 다른 장점과 고장 특성을 제공한다. 카메라는 조명 조건의 영향을 받을 수 있으며, 깊이 센서나 거리 측정 센서는 반사체, 투명체 또는 기하학적으로 측정하기 어려운 표면에서 문제가 발생할 수 있다. 서로 다른 센서 모달리티(Sensor Modality)를 결합하면 하나의 센싱 원리에 대한 의존성을 줄이고 사람이나 장애물이 로봇 주변의 안전 필수 영역에 진입했을 때 상호 검증 기능을 제공할 수 있다.

센서 이중화는 시스템이 어느 채널의 신뢰성이 저하되었는지를 감지할 수 있을 때에만 의미가 있다. 따라서 센서 상태 감시(Sensor Health Monitoring)는 통신 상태, 갱신 주기, 타임스탬프, 측정 범위, 내부 진단 정보, 노이즈 특성, 온도 및 다른 센서나 물리 모델과 비교한 타당성을 평가해야 한다. 잘못된 값을 계속 전송하는 센서는 통신을 완전히 중단한 센서보다 오히려 처리하기 어려울 수 있다. 따라서 고장 감지는 정보의 완전한 상실뿐만 아니라 겉보기에는 정상적이지만 서로 일치하지 않는 정보도 다루어야 한다.

데이터 융합(Data Fusion)은 센서의 유효성과 신뢰도를 명시적으로 표현해야 한다. 중복 측정값이 서로 일치하면 상태 추정기는 높은 신뢰도로 동작할 수 있지만, 불일치가 발생하면 비교, 격리 또는 성능 저하 로직이 실행되어야 한다. 하나의 채널에 고장이 있을 가능성이 있는 상황에서 시스템이 측정값을 무조건 평균해서는 안 된다. 아키텍처에 따라 투표(Voting), 잔차 분석(Residual Analysis), 일관성 검사(Consistency Check), 모델 기반 추정(Model-Based Estimation) 또는 신뢰도 가중치(Confidence Weighting)를 사용하여 어떤 정보를 계속 사용할 수 있는지를 결정할 수 있다. 결과적으로 생성되는 상태 추정값에는 안전 관련 판단에 필요한 충분한 품질 정보가 포함되어야 한다.

명목상 이중화된 두 센서가 동일한 취약점을 공유하면 동시에 고장날 수 있기 때문에 공통 원인 고장(Common-Cause Failure)을 고려해야 한다. 동일한 전원 레일, 통신 버스, 커넥터, 프로세서, 클록, 장착 구조 또는 환경적 노출 조건을 공유하는 센서는 진정한 독립성을 제공하지 못할 수 있다. 따라서 아키텍처에서는 전원 분리, 통신 다양성, 물리적 배치, 동기화 소스 및 환경 의존성을 검토해야 한다. 다양성(Diversity)은 하나의 고장 메커니즘이 모든 센싱 채널을 동시에 무효화할 가능성을 감소시킬 때 가장 큰 가치를 갖는다.

통신 및 시간 동기화(Time Synchronization)는 센서 이중화에서 필수적인 요소이다. CAN FD, EtherCAT, Gigabit Ethernet 또는 ROS 2 DDS 경로를 통해 전달되는 측정값은 서로 다른 지연 시간과 타이밍 특성을 가질 수 있다. 신뢰할 수 있는 타임스탬프 없이 신호를 비교하면 센서 자체가 정상적으로 동작하고 있더라도 잘못된 불일치가 발생할 수 있다. 아키텍처는 동기화된 시간을 유지하고, 오래된 데이터(Stale Data)를 감지하며, 메시지 손실을 감시하고, 안전 관련 측정값이 상태 추정이나 제어에서 제외되기 전까지 허용되는 최대 데이터 수명(Maximum Acceptable Age)을 정의해야 한다.

센서 고장은 로봇 기능의 제어된 변화로 이어져야 한다. 충분한 독립 정보가 계속 사용 가능하다면 휴머노이드는 정상 운전 또는 성능 저하 운전을 계속할 수 있다. 신뢰도가 감소하면 속도 감소, 더 큰 충돌 안전 여유, 조작 기능 제한, 단순화된 보행 또는 특정 작업 금지가 필요할 수 있다. 남아 있는 센싱 능력으로 안전한 안정화나 인간 보호를 지원할 수 없는 경우에는 상태의 심각도에 따라 시스템이 안전 동작(Safe Motion), 안정 자세(Stable Posture), 제어 정지(Controlled Stop) 또는 E-stop으로 전환해야 한다.

센서 이중화는 고장을 재구성하고 효과적인 유지보수를 수행할 수 있도록 진단(Diagnostics) 및 이벤트 로깅(Event Logging)과 통합되어야 한다. 기록에는 영향을 받은 센서, 불일치 또는 고장 특성, 타임스탬프, 관련 측정값, 상태 추정기의 신뢰도, 로봇 상태, 선택된 폴백 채널(Fallback Channel) 및 그 결과로 수행된 안전 대응이 포함되어야 한다. 장기간의 분석을 통해 단일 운전 이벤트만으로는 명확하게 확인하기 어려운 간헐적 커넥터 문제, 열 드리프트(Thermal Drift), 보정 성능 저하, 통신 문제 또는 반복적인 센서 고장을 식별할 수 있다.

검증(Validation)에서는 정상 조건에서 이중화 기능만 시험하는 것이 아니라 의도적으로 센서 고장을 발생시켜야 한다. 시험에는 센서의 완전한 상실, 값 고정(Frozen Value), 바이어스(Bias), 드리프트(Drift), 노이즈 증가, 메시지 지연, 동기화 오류, 중복 채널 간 불일치, 전원 중단 및 복합 고장이 포함되어야 한다. 이러한 시나리오는 서기, 보행, 조작, 충돌 회피 및 인간과의 상호작용 과정에서 시험되어야 한다. 검증을 통해 고장이 감지되고, 신뢰할 수 없는 채널이 격리되며, 남아 있는 센싱 기능이 의도된 성능 저하 동작 또는 안전 동작을 지원한다는 것을 입증해야 한다.

Chapter 12의 기능 안전 아키텍처(Functional Safety Architecture)에서 센서 이중화(Redundant Sensors)는 인간-로봇 안전(Human-Robot Safety), 충돌 감지(Collision Detection), E-stop 판단 및 고장 허용 운전(Fail-Operational Control)에 필요한 정보 복원력(Information Resilience)을 제공한다. 이중화는 선택된 고장이 발생한 이후에도 중요한 관측 정보를 유지하며, 상태 감시와 센서 융합은 남아 있는 정보를 계속 신뢰할 수 있는지를 판단한다. 충분한 무결성이 유지되면 휴머노이드는 단계적으로 성능을 저하시켜 운전을 계속할 수 있지만, 그렇지 않은 경우 안전 아키텍처는 운전을 제한하거나 정지시켜야 한다. 따라서 센서 이중화는 인지 신뢰성을 제어된 고장 대응 및 안전 인증(Safety Certification)과 직접 연결하는 핵심 기능이다.

12.06. Safety Certification

휴머노이드 로봇의 안전 인증(Safety Certification)은 전체 시스템이 의도된 운전 조건과 예측 가능한 고장 조건에서 정의된 안전 목표(Safety Objective)를 충족하는지를 입증하는 수명주기 엔지니어링 프로세스(Lifecycle Engineering Process)로 다루어야 한다. 인증은 개발이 완료된 이후 보호 기능을 추가하는 것만으로 달성되지 않는다. 모든 중요한 안전 주장을 객관적인 엔지니어링 증거로 추적할 수 있도록 안전 요구사항, 아키텍처, 구현, 검증, 유효성 확인, 문서화 및 형상 증거(Configuration Evidence)를 함께 개발해야 한다.

인증 프로세스는 로봇의 의도된 사용(Intended Use), 운용 환경, 인간과의 상호작용, 예상 작업, 물리적 한계 및 합리적으로 예측 가능한 오사용(Reasonably Foreseeable Misuse)을 정의하는 것에서 시작해야 한다. 격리된 연구실에서 동작하는 휴머노이드는 공장, 병원, 사무실 또는 공공 환경에서 사람과 함께 작업하는 로봇과 서로 다른 위험을 가진다. 이러한 운용 가정은 안전 사례(Safety Case)의 범위를 설정하고 어떤 위험, 운전 모드, 환경 조건 및 인간 상호작용을 평가해야 하는지를 결정한다.

위험 분석(Hazard Analysis)은 로봇의 동작, 저장 에너지, 전기적 고장, 소프트웨어 오류, 센싱 고장 또는 예상하지 못한 인간과의 상호작용이 위해를 발생시킬 수 있는 상황을 식별해야 한다. 관련 위험에는 충돌, 압착, 끼임, 넘어짐, 물체 낙하, 과도한 관절 힘, 제어되지 않은 움직임, 열적 이상, 전기적 고장, 통신 손실 및 균형 상실 등이 포함된다. 각각의 위험은 위험 저감 조치(Risk-Reduction Measure) 및 이후 분석, 검사, 시뮬레이션 또는 물리적 시험을 통해 검증할 수 있는 안전 요구사항과 연결되어야 한다.

적용 가능한 표준 및 규제 요구사항은 휴머노이드의 제품 범주, 시장, 환경 및 의도된 기능에 따라 식별해야 한다. 인증 전략(Certification Strategy)은 기계 안전 원칙, 산업용 로봇 요구사항, 협동 운전(Collaborative Operation), 기능 안전(Functional Safety), 전기 안전, 전자기 적합성(Electromagnetic Compatibility), 배터리 안전, 사이버보안(Cybersecurity) 및 애플리케이션별 규제를 고려해야 할 수 있다. 범용 휴머노이드는 전통적으로 여러 제품 범주에서 각각 다루어 온 특성을 결합할 수 있기 때문에 하나의 표준만으로 휴머노이드 안전 전체가 완전하게 정의된다고 가정해서는 안 된다.

안전 요구사항(Safety Requirements)은 명확한 추적성(Traceability)을 바탕으로 시스템 수준에서 서브시스템 및 구성요소 수준으로 할당되어야 한다. 위험한 인간 접촉 방지와 같은 요구사항은 인지 범위, 충돌 감지 지연시간, 최대 허용 동작, 액추에이터 토크 제한, 정지 성능, 통신 감시 및 전력 차단 요구사항으로 세분화될 수 있다. 각각의 파생 요구사항(Derived Requirement)은 담당 구성요소, 검증 방법, 운용 가정 및 최초 위험과의 관계를 식별하여 설계가 변화하더라도 인증 증거의 일관성을 유지할 수 있도록 해야 한다.

기능 안전 아키텍처(Functional Safety Architecture)는 고장이 발생한 경우에도 안전 관련 기능이 효과적으로 유지된다는 증거를 제공해야 한다. 따라서 인간-로봇 안전(Human-Robot Safety), 충돌 감지(Collision Detection), E-stop, 고장 허용 운전(Fail-Operational) 및 센서 이중화(Redundant Sensing)는 서로 독립적인 기능이 아니라 상호작용하는 안전 메커니즘으로 평가되어야 한다. 인증에서는 고장 감지, 응답 시간, 진단 범위(Diagnostic Coverage), 독립성, 이중화, 공통 원인 고장(Common-Cause Failure), 성능 저하 운전 모드 및 안전 상태로의 전환을 평가해야 한다. 목표는 정상적인 운전 가정이 성립하지 않는 경우에도 시스템이 예측 가능한 방식으로 동작한다는 것을 입증하는 것이다.

하드웨어 안전 증거(Hardware Safety Evidence)는 액추에이터, 브레이크, 센서, 컴퓨팅 장치, 전력 분배, 배터리, 커넥터, 배선, 보호 장치 및 기계적 인터페이스를 포함해야 한다. 구성요소의 정격만으로는 충분하지 않으며 시스템 통합 과정에서 새로운 고장 메커니즘이 발생할 수 있기 때문이다. 전기적 보호, 열적 거동, 접지, 절연, 과전류 보호, 전력 차단, 커넥터 유지력 및 환경 내구성을 대표적인 조건에서 검증해야 한다. 안전 필수 구성요소(Safety-Critical Component)는 문서화된 운전 한계와 해당 한계를 초과했을 때 수행되는 정의된 대응을 가져야 한다.

소프트웨어 인증 증거(Software Certification Evidence)는 안전 관련 제어 및 감시 기능이 체계적인 개발 프로세스를 통해 구현되었음을 입증해야 한다. 요구사항, 아키텍처, 인터페이스, 구현, 검토, 정적 분석(Static Analysis), 단위 시험(Unit Test), 통합 시험(Integration Test) 및 시스템 시험(System Test)은 서로 추적 가능해야 한다. AI 기반 인지 또는 계획 기능은 동작이 학습 데이터와 확률적 출력에 의존할 수 있기 때문에 추가적인 문제를 발생시킨다. 따라서 안전 필수 보호 기능은 AI 기능의 명확한 경계를 정의하고 불확실한 AI 동작이 허용할 수 없는 위험을 발생시킬 수 있는 경우 결정론적 감시(Deterministic Monitoring) 또는 폴백 메커니즘(Fallback Mechanism)을 제공해야 한다.

검증 및 유효성 확인(Verification and Validation)은 구성요소에서 서브시스템을 거쳐 전체 휴머노이드 수준으로 점진적으로 진행되어야 한다. 시뮬레이션, 소프트웨어 인 더 루프(Software-in-the-Loop), 하드웨어 인 더 루프(Hardware-in-the-Loop), 벤치 시험, 서브시스템 시험 및 실제 로봇 시험은 서로 보완적인 증거를 제공할 수 있다. 시험에는 정상 운전, 경계 조건, 인간과의 상호작용, 센서 고장, 액추에이터 고장, 통신 장애, 전원 이상, 열적 조건, E-stop 활성화 및 성능 저하 모드가 포함되어야 한다. 시험 결과가 주관적인 판단이 아니라 객관적인 증거를 제공하도록 요구사항에는 측정 가능한 합격 기준(Acceptance Criteria)이 정의되어야 한다.

고장 주입(Fault Injection)은 기능 안전 동작을 입증하는 데 특히 중요하다. 센서 연결을 해제하거나 값을 고정, 편향, 지연 또는 손상시킬 수 있으며, 통신 경로를 중단하고 프로세서를 과부하시키거나 재설정하며, 액추에이터 피드백을 불일치 상태로 만들거나 선택된 전력 도메인을 차단할 수 있다. 안전 개념이 이중화에 의존하는 경우 복합 고장(Combined Fault)도 시험해야 한다. 목적은 고장이 감지되고 가능한 경우 격리되며, 이후 의도된 성능 저하 운전, 안전 동작(Safe Motion), 안전 자세(Safe Posture), 제어 정지(Controlled Stop) 또는 비상 대응으로 이어진다는 것을 입증하는 것이다.

인간-로봇 상호작용 시험(Human-Robot Interaction Testing)은 예상된 협력 상황과 예상하지 못한 행동을 모두 평가해야 한다. 사람은 빠르게 접근하거나 보호 영역으로 진입하고, 로봇을 만지거나 팔의 움직임을 방해하고, 보행 경로를 차단하거나 가려진 영역에서 갑자기 나타날 수 있다. 인증 증거는 대표적인 자세와 움직임 조건에서 센싱 범위, 충돌 예측, 힘 또는 토크 제한, 정지 동작 및 보호 기능이 충분하게 유지된다는 것을 보여야 한다. 시험은 조작기만을 대상으로 하는 것이 아니라 로봇의 전체 신체를 고려해야 한다.

안전 인증은 형상 및 변경 관리(Configuration and Change Management)에도 의존한다. 하드웨어 개정, 센서 교체, 펌웨어 업데이트, 보정 변경, 신경망 업데이트, 통신 변경 또는 제어 파라미터 변경은 이전에 확보한 인증 증거를 무효화할 수 있다. 따라서 시스템은 하드웨어, 소프트웨어, 안전 파라미터, 모델, 시험 절차 및 결과의 통제된 버전을 유지해야 한다. 정의된 영향 분석(Impact Analysis) 프로세스를 통해 각각의 변경 사항이 출시 전에 회귀 시험(Regression Testing), 추가적인 유효성 확인 또는 안전 사례의 수정을 필요로 하는지를 판단해야 한다.

진단 및 운용 기록(Diagnostic and Operational Records)은 인증과 배치 이후의 안전 관리 모두를 지원해야 한다. 기록되는 정보에는 안전 이벤트, E-stop 활성화, 센서 고장, 액추에이터 이상, 통신 장애, 전력 이벤트, 성능 저하 모드 전환, 소프트웨어 버전 및 유지보수 작업이 포함될 수 있다. 정확한 시간 동기화(Time Synchronization)를 통해 인지, 제어, 통신 및 액추에이터에서 발생한 이벤트를 시간 순서대로 재구성할 수 있다. 이후 현장 데이터(Field Data)를 통해 고장 패턴을 파악하고 시정 조치, 예방 정비 및 안전 가정에 대한 지속적인 평가를 지원할 수 있다.

구조화된 안전 사례(Structured Safety Case)는 위험, 안전 목표, 요구사항, 아키텍처, 분석, 시험 및 결과를 연결하여 휴머노이드가 정의된 용도에서 허용 가능한 수준으로 안전하다는 일관된 논증을 제공해야 한다. 검토자가 하나의 안전 주장(Safety Claim)에서 이를 뒷받침하는 설계 결정과 검증 증거까지 추적할 수 있어야 하므로 추적성이 필수적이다. 미해결 문제, 가정, 제한사항 및 잔여 위험(Residual Risk)은 숨기지 않고 명확하게 문서화해야 한다. 인증 증거는 단순히 시험을 통과했다는 사실뿐만 아니라 해당 시험들이 주장된 운용 범위(Operating Envelope)를 입증하기에 왜 충분한지도 보여주어야 한다.

휴머노이드 플랫폼은 소프트웨어 업데이트, 새로운 애플리케이션, 추가 센서, 변경된 페이로드 및 변화하는 운용 환경을 통해 빠르게 발전할 수 있기 때문에 안전 인증은 최초 제품 승인 이후에도 계속되어야 한다. 따라서 수명주기 프로세스에는 생산 관리, 유지보수 절차, 정기 검사, 사고 분석, 소프트웨어 릴리스 관리, 사이버보안 업데이트 및 중요한 변경 이후의 재평가가 포함되어야 한다. 안전은 개발 종료 시 한 번 완료되는 인증 이벤트가 아니라 지속적으로 유지되어야 하는 시스템 속성이 된다.

Chapter 12의 기능 안전 아키텍처에서 안전 인증(Safety Certification)은 인간-로봇 안전(Human-Robot Safety), 충돌 감지(Collision Detection), E-stop, 고장 허용 운전(Fail-Operational Design) 및 센서 이중화(Redundant Sensing)를 통해 생성된 증거를 통합한다. 이러한 기능들은 보호, 고장 대응 및 정보 복원력(Information Resilience)을 제공하며, 인증은 위험에서 요구사항과 검증된 동작까지의 추적성을 확립한다. 최종적인 안전 사례는 휴머노이드가 정의된 한계 내에서 운전하고, 고장에 예측 가능한 방식으로 대응하며, 주변 사람을 보호하고, 전체 운용 수명주기 동안 안전한 배치를 뒷받침하는 문서화된 증거를 지속적으로 유지할 수 있음을 입증해야 한다.


저자: Richard Minsoo Go

LinkedIn: Richard Minsoo Go

Top comments (0)