1261.61 비상 정지와 안전 관련 통신 패턴
1. 비상 정지의 개념과 요구사항
비상 정지(emergency stop, E-Stop)는 로봇 시스템에서 인명 피해, 장비 손상, 환경 파괴 등의 위험이 감지되었을 때 모든 동작을 즉각적으로 중단하는 안전 메커니즘이다. IEC 60204-1 표준에서는 비상 정지를 “위험을 회피하기 위하여 기계의 운동을 가능한 한 신속하게 정지시키는 기능“으로 정의한다.
비상 정지 시스템의 핵심 요구사항은 다음과 같다.
- 즉시성(Immediacy): 비상 정지 명령은 최소 지연으로 처리되어야 하며, 다른 어떤 행동 명령보다 우선적으로 실행되어야 한다.
- 신뢰성(Reliability): 통신 실패, 소프트웨어 오류, 하드웨어 고장 등의 상황에서도 비상 정지 기능이 보장되어야 한다.
- 중복성(Redundancy): 단일 장애점(single point of failure)의 제거를 위해 복수의 독립적 비상 정지 경로를 구비해야 한다.
- 실패 안전(Fail-Safe): 통신 두절, 전원 차단 등의 실패 상황에서 시스템이 안전한 상태로 자동 전환되어야 한다.
2. 안전 무결성 수준과 비상 정지
2.1 SIL(Safety Integrity Level)의 개념
IEC 61508 표준은 안전 무결성 수준(Safety Integrity Level, SIL)을 통해 안전 기능의 신뢰성을 등급화한다. SIL은 1부터 4까지 4단계로 분류되며, SIL 4가 최고 수준의 안전 무결성을 의미한다.
| SIL | 위험측 고장 확률(PFH, 연속 모드) | 적용 분야 예시 |
|---|---|---|
| SIL 1 | \geq 10^{-6}, < 10^{-5} /h | 일반 산업 로봇 |
| SIL 2 | \geq 10^{-7}, < 10^{-6} /h | 협동 로봇 |
| SIL 3 | \geq 10^{-8}, < 10^{-7} /h | 자율 주행 차량 |
| SIL 4 | \geq 10^{-9}, < 10^{-8} /h | 원자력 시설 |
비상 정지 통신 시스템의 설계에서는 해당 응용 분야의 SIL 요구사항을 충족하는 통신 프로토콜과 아키텍처를 선택하여야 한다.
2.2 성능 수준(Performance Level)
ISO 13849-1 표준은 안전 관련 제어 시스템의 성능 수준(Performance Level, PL)을 a부터 e까지 5단계로 정의한다. PL은 SIL과 유사한 개념이나, 기계류 안전에 특화된 평가 체계이다. 비상 정지 시스템은 일반적으로 PL d 이상이 요구된다.
3. 비상 정지 통신 아키텍처
3.1 하드웨어 기반 비상 정지
전통적인 비상 정지 시스템은 하드웨어 회로에 의해 구현된다. 물리적 비상 정지 버튼이 안전 릴레이(safety relay)에 직접 연결되어, 버튼 작동 시 전기적으로 액추에이터의 전원을 차단한다. 이 방식은 소프트웨어에 대한 의존성이 전혀 없으므로 최고 수준의 신뢰성을 제공한다.
하드웨어 비상 정지 회로의 핵심 특성은 다음과 같다.
- 정상 폐쇄(Normally Closed, NC) 접점: 비상 정지 회로는 정상 상태에서 폐쇄(closed)되어 있으며, 비상 시 개방(open)된다. 이 설계는 배선 단선 시에도 비상 정지가 작동하는 실패 안전 특성을 보장한다.
- 이중 채널(Dual Channel): 두 개의 독립적인 회로를 병렬로 구성하여, 한 채널의 고장 시에도 나머지 채널이 비상 정지 기능을 수행한다.
- 크로스 모니터링(Cross Monitoring): 두 채널의 상태를 상호 비교하여 불일치(discrepancy)를 감지한다.
3.2 소프트웨어 기반 비상 정지
소프트웨어 기반 비상 정지는 통신 네트워크를 통해 비상 정지 명령을 전달하는 방식이다. 하드웨어 비상 정지를 보완하는 부가적 계층으로 사용되며, 단독으로 안전 기능을 담당하는 것은 일반적으로 권장되지 않는다.
ROS2 환경에서 소프트웨어 비상 정지를 구현할 때에는 다음의 설계 원칙을 따른다.
- 전용 토픽 사용: 비상 정지 명령은 전용 토픽(예:
/emergency_stop)을 통해 전달하며, 다른 데이터와 혼합하지 않는다. - 최고 QoS 설정:
RELIABLE신뢰성,TRANSIENT_LOCAL내구성, 최소 이력 깊이(history depth)를 설정하여 메시지 전달의 보장성을 극대화한다. - 주기적 하트비트(Heartbeat): 비상 정지 노드는 주기적인 하트비트 메시지를 발행하여, 수신 측에서 통신 두절을 감지할 수 있도록 한다.
4. 안전 관련 통신 패턴
4.1 하트비트 패턴
하트비트(heartbeat) 패턴은 노드 간의 생존 여부를 주기적으로 확인하는 통신 패턴이다. 안전 감시 노드(safety watchdog node)가 일정 주기로 하트비트 메시지를 수신하며, 설정된 시간 초과(timeout) 내에 하트비트를 수신하지 못하면 통신 실패로 판단하여 안전 행동을 개시한다.
하트비트 주기 T_{hb}와 시간 초과 T_{timeout}는 다음의 관계를 만족하도록 설정한다.
T_{timeout} = n \cdot T_{hb}, \quad n \geq 2
여기서 n은 허용 가능한 연속 하트비트 누락 횟수이다. n이 작으면 통신 일시 장애에 민감하게 반응하고, n이 크면 실제 장애 감지가 지연된다.
4.2 워치독 타이머 패턴
워치독 타이머(watchdog timer) 패턴은 특정 작업이 설정된 시간 내에 완료되지 않으면 시스템을 안전 상태로 전환하는 메커니즘이다. 하드웨어 워치독 타이머는 소프트웨어가 주기적으로 리셋(reset) 신호를 보내야 하며, 리셋 신호가 중단되면 하드웨어 수준에서 시스템을 리셋하거나 안전 모드로 전환한다.
ROS2에서는 생명주기 노드(lifecycle node)의 상태 전이와 워치독 타이머를 결합하여, 노드 이상 시 자동으로 deactivate 또는 shutdown 상태로 전환할 수 있다.
4.3 안전 상태 브로드캐스트 패턴
안전 상태 브로드캐스트(safety state broadcast) 패턴은 시스템의 전반적인 안전 상태를 모든 노드에 주기적으로 전파하는 방식이다. 안전 관리자(safety manager) 노드가 전체 시스템의 안전 등급을 산정하고, 이를 토픽으로 발행한다. 각 행동 노드는 수신된 안전 상태에 따라 자신의 행동을 제한하거나 전환한다.
안전 상태는 일반적으로 다음과 같은 등급으로 분류된다.
| 안전 등급 | 의미 | 허용 행동 |
|---|---|---|
| NORMAL | 정상 운용 | 모든 행동 허용 |
| CAUTION | 주의 | 속도 제한, 작업 영역 축소 |
| WARNING | 경고 | 안전 행동만 허용, 임무 중단 |
| EMERGENCY | 비상 | 즉시 정지, 안전 자세 전환 |
4.4 이중화 통신 패턴
안전 관련 메시지의 전달 신뢰성을 높이기 위해 이중화(redundancy) 통신 패턴을 적용할 수 있다. 동일한 안전 메시지를 서로 다른 물리적 통신 경로를 통해 동시에 전송하며, 수신 측에서 양쪽 경로의 메시지를 비교하여 일치 여부를 확인한다.
이중화 통신의 대표적 구현 방식은 다음과 같다.
- 물리적 이중화: 이더넷과 CAN 등 서로 다른 물리적 매체를 통해 동일 메시지를 전송한다.
- 논리적 이중화: 동일 네트워크에서 서로 다른 DDS 도메인 또는 파티션을 통해 메시지를 전송한다.
- 시간적 이중화: 동일 메시지를 시간 간격을 두고 반복 전송하여, 일시적 통신 오류에 대한 내성을 확보한다.
5. 안전 통신 프로토콜
5.1 PROFIsafe
PROFIsafe는 PROFINET 및 PROFIBUS 네트워크 상에서 안전 관련 데이터를 전송하기 위한 프로토콜이다. SIL 3까지의 안전 등급을 지원하며, 연속 번호(sequence number), 데이터 CRC(Cyclic Redundancy Check), 워치독 타이머, 코드네임(codename) 등의 메커니즘을 통해 메시지 무결성을 보장한다(IEC 61784-3).
5.2 Safety over EtherCAT (FSoE)
FSoE(Fail Safe over EtherCAT)는 EtherCAT 네트워크 기반의 안전 통신 프로토콜로, SIL 3 수준의 안전 통신을 지원한다. 안전 데이터와 비안전 데이터가 동일 네트워크를 공유하되, 안전 데이터에 대해서는 독립적인 무결성 검증이 수행된다.
5.3 DDS Security
DDS(Data Distribution Service)의 보안 확장인 DDS Security 사양은 인증(authentication), 접근 제어(access control), 암호화(encryption)를 통해 통신의 무결성과 기밀성을 보장한다. ROS2의 SROS2(Secured ROS2)는 DDS Security를 기반으로 노드 간 통신을 보호한다.
6. 실패 안전 설계 원칙
비상 정지와 안전 관련 통신 시스템의 설계에서는 다음의 실패 안전(fail-safe) 원칙을 준수하여야 한다.
- 통신 두절 시 정지(Fail-Stop): 통신이 두절되면 로봇은 자동으로 안전한 상태(정지 또는 대기)로 전환하여야 한다.
- 개방 회로 원칙(Open Circuit Principle): 비상 정지 회로는 에너지의 제거(de-energization)에 의해 작동하여야 하며, 에너지 공급에 의해 작동하는 방식은 회피한다.
- 독립성 원칙: 비상 정지 채널은 일반 통신 채널과 물리적·논리적으로 독립적이어야 한다.
- 진단 가능성 원칙: 안전 통신 시스템의 고장을 탐지하기 위한 자가 진단(self-diagnosis) 기능을 구비하여야 한다.
- 최소 노출 원칙: 비상 정지 명령의 전달 경로에 포함되는 소프트웨어 구성요소의 수를 최소화하여 실패 가능성을 저감한다.
7. 참고 문헌
- IEC 60204-1:2016. Safety of Machinery – Electrical Equipment of Machines – Part 1: General Requirements.
- IEC 61508:2010. Functional Safety of Electrical/Electronic/Programmable Electronic Safety-Related Systems.
- IEC 61784-3:2021. Industrial Communication Networks – Profiles – Part 3: Functional Safety Fieldbuses.
- ISO 13849-1:2023. Safety of Machinery – Safety-Related Parts of Control Systems – Part 1: General Principles for Design.