ABCDEFGHIJKLMNOPQRSTUVW
1
2
3
4
기능 요구사항 - VAPS (차량 무인 이동 방지 자동 제어 시스템)제외된 요구사항기능 요구사항 정의서 - MON
5
기능 ID분류요구사항 명상세 기능 ID상세 설명ECU (INPUT)ECU (OUTPUT)중요도추적 (UR)비고기능명상세 설명제외 이유주 요구사항
6
1. 감지장애물 거리 감지시스템은 차량 전방 및 후방 각각 3m 범위 내의 장애물을 감지하며, 측정 오차는 ±3cm 이내여야 한다. 측정 주기는 100ms 이하로 한다.장애물 감지 기능은 차량 주변 환경 인식 및 충돌 방지를 위한 기능으로, ADAS 영역에 해당하며 본 프로젝트의 핵심 목표인 ‘운전자 부재 시 차량 이동 방지’ 범위를 초과하므로 제외하였다.기능 ID분류요구사항 명상세 설명입력출력비고
7
FR-DET감지운전자 존재 감지FR-DET-01시스템은 운전석 좌석에 25kg 이상의 하중이 감지되고, 좌석 상부 60cm 이내에서 인체가 감지되면 운전자가 탑승 중인 것으로 판정한다. MAIN (압력 센서, TOF, 초음파)-SAFE01, SAFE02, SAFE0325kg: 어린이 오감지 방지 기준브레이크 입력 감지시스템은 운전자의 브레이크 페달 입력을 감지하며, 페달 작동 후 50ms 이내에 입력 상태를 반영해야 한다.본 시스템은 운전자 부재 상황을 전제로 한 자동 제어 시스템으로, 운전자 입력 기반 제어 기능은 주요 요구사항에 해당하지 않으며 핵심 기능 범위를 벗어나므로 제외하였다.FR-LOG-01통신직렬 이벤트 수신시스템은 Raspberry Pi 직렬 포트로 입력되는 JSON 1행, key=value 형식, WARN|... 형식, BRAKE|... 형식, 0/1 binary bitstream 데이터를 지속 수신하고 연결 실패 시 재시도 상태와 수신/파싱/드롭 카운터를 유지해야 한다.CLU 직렬 데이터, 포트 상태raw event, serial 상태 정보기본 115200bps, timeout 1s, retry 3s
8
감지기어 상태 감지FR-DET-02시스템은 차량의 현재 기어 위치(P, R, N, D)를 감지하며, 기어 전환 시 200ms 이내에 변경된 상태를 반영해야 한다.MAIN (기어 스위치)-SAFE01, SAFE02FR-LOG-02해석16bit 상태워드 해석시스템은 16bit 상태워드 [15:14][13:12][11:10][9][8][7:0]를 warning, brake, gear, door, driver, speed 값으로 해석하고 risk code(W1/W2/W3/W4/R1/R2/OK)를 생성해야 한다.0/1 binary 상태워드정규화 이벤트 정보binary_bits, status_word, binary_bytes_hex 보관
9
감지차량 문 열림 감지FR-DET-03시스템은 운전석 문의 열림/닫힘 상태를 감지하며, 스위치 버튼이 눌려 있는 상태를 '닫힘'으로 판정한다. 상태 변화 시 100ms 이내에 반영해야 한다.MAIN (도어 스위치)-SAFE01, SAFE03FR-LOG-03검증이벤트 정규화 및 유효성 검증시스템은 event_category, event_type, gear_state, door_state, driver_present, vehicle_speed, event_time을 정규화하고 허용되지 않는 값은 저장하지 않아야 한다.parsed payloadvalidated payload허용 category=warning/brake/system
10
감지차량 이동 감지FR-DET-04시스템은 자동차가 2km/h 이상의 속도로 이동 시 '이동 중' 상태로 전환한다.ACT (가속도 센서, 엔코더)-SAFE02_BRK03FR-LOG-04저장이벤트 로그 DB 저장시스템은 검증된 이벤트를 SQLite events 테이블에 event_time, event_category, event_type, gear_state, door_state, driver_present, vehicle_speed, source, raw_payload, received_at 형태로 저장해야 한다.validated payloadDB row, event idid auto increment
11
2. 판단중요도 기준FR-LOG-05저장원시 payload 및 raw frame 보관시스템은 원본 입력 payload 전체를 raw_payload로 보관하고, binary_bits 또는 status_word가 존재하면 raw_frame 텍스트를 생성해야 한다. 기동 시 DB가 비어 있으면 sample 이벤트를 삽입하고 기존 행은 최신 규칙으로 정규화해야 한다.original payload, 기존 DB 상태raw_payload, raw_frame, initialized DB사후 분석용
12
FR-JDG판단1차 위험 판단 (경고)FR-JDG-01아래 조건을 모두 만족하면 1차 위험으로 판단한다.
· 기어가 D단 또는 R단
· 차량 문이 열린 상태
판단 후 500ms 이내에 경고 명령을 출력해야 한다.
MAIN (기어 스위치, 도어 스위치)-SAFE01_WARN01안전과 직결, 시스템 핵심 기능, 사고 발생 가능FR-LOG-06조회웹 대시보드 제공시스템은 웹 메인 화면에서 총 이벤트 수, 경고 건수, 제동 건수, 최신 이벤트 요약과 최근 이벤트 목록을 표시해야 한다.DB recordsHTML dashboardroute=/
13
판단D단 위험 판단 (제동)FR-JDG-02아래 조건을 모두 만족하면 D단 제동 위험으로 판단한다.
· 기어가 D단
· 운전자 부재
운전자 부재 후 즉시 판단
MAIN (기어 스위치, 압력 센서, TOF 초음파)-SAFE02_BRK01사용자 편의, 가시성 향상, 없어도 동작은 가능FR-LOG-07조회로그 조건 검색시스템은 category, keyword, limit 조건으로 최근 로그를 조회할 수 있어야 하며, keyword는 event_type, gear_state, door_state, raw_payload를 대상으로 검색해야 한다.category, keyword, limitfiltered event listlimit 1~500
14
판단R단 위험 판단 (제동)FR-JDG-03아래 조건을 모두 만족하면 R단 제동 위험으로 판단한다.
· 기어가 R단
· 운전자 부재
운전자 부재 후 즉시 판단
MAIN (기어 스위치, 압력 센서, TOF 초음파)-SAFE02_BRK02유지보수, 부가 기능, 운영 편의성FR-LOG-08API로그 조회 API 제공시스템은 /api/events GET 요청 시 최근 로그 목록과 통계를 JSON 형식으로 제공해야 한다.HTTP GET requestJSON log list, statsroute=/api/events
15
판단Rollaway 위험 판단 (경고)FR-JDG-04아래 조건을 모두 만족하면 Rollaway 위험으로 판단한다.
· 기어가 N단
· 차량 문이 열린 상태
판단 후 200ms 이내에 경고 명령을 출력해야 한다.
MAIN (기어 스위치, 도어 스위치)-SAFE02_BRK03N단은 가속 가능하므로 빠른 대응중요도 선정 이유FR-LOG-09API외부 이벤트 등록시스템은 /api/events POST 요청으로 전달된 JSON 이벤트를 검증 후 DB에 저장해야 한다.POST JSON eventinsert result JSONroute=/api/events
16
판단Rollaway 발생 판단 (제동)FR-JDG-05아래 조건을 모두 만족하면 Rollaway 발생으로 판단한다.
· 기어가 N단
· 차량 속도 2km/h 이상 이동 감지
* 운전자 부재
판단 후 200ms 이내에 제동을 실행해야 한다.
MAIN (기어 스위치)
ACT (가속도 센서)
-SAFE02_BRK04, NOINT01_NOR0250cm: 성인 보행자 1보폭 미만기능 ID중요도이유FR-LOG-10API샘플 이벤트 주입시스템은 /api/test/sample 또는 /sample 요청 시 테스트용 샘플 이벤트를 생성하여 저장할 수 있어야 한다.sample insert requestsample insert result테스트용
17
판단경고 에스컬레이션 판단FR-JDG-061차 위험(JDG-001) 상태에서 도어 열림이 2초 이상 지속되면 경고 강도를 상향 판단한다.MAIN (도어 스위치)-SAFE01_WARN032초: 하차 동작 소요 시간 고려FR-DET-01운전자 부재 여부는 자동 제동 판단의 핵심 입력으로, 오판 시 사고로 직결됨FR-LOG-11상태직렬/시스템 상태 진단 조회시스템은 /health 및 /api/serial/status를 통해 직렬 연결 여부, 포트 open 상태, retry 여부, 최근 오류, 최근 raw 수신값, 수신/파싱/드롭 카운터, DB 경로를 JSON으로 제공해야 한다.HTTP GET requeststatus JSONroutes=/health,/api/serial/status
18
3. 제어FR-DET-02위험 판단에 필요한 주요 조건이지만 단독으로 사고를 유발하지 않음FR-LOG-12전송SSE 실시간 이벤트 통지시스템은 /api/stream에 연결된 웹 클라이언트에 hello 이벤트와 주기적 ping을 전송하고, 신규 이벤트 저장 시 new_event를 즉시 push해야 한다.
event insert, SSE client connection
SSE hello/ping/new_eventclient queue max 64
19
FR-CTL제어1차 경고 출력FR-CTL-011차 위험(JDG-001) 판단 시 부저 단속음(1초 간격, 85dB 이상)과 LCD에 경고 메시지('P단으로 변경하세요')를 출력한다.MAINCLU (부저, LCD)SAFE01_WARN01, SAFE01_WARN0285dB: 차량 실내에서 인지 가능 수준FR-DET-03위험 판단 보조 정보로 활용되며, 없어도 핵심 기능 수행 가능FR-LOG-13표시웹 알림 및 상태 갱신시스템은 브라우저에서 신규 이벤트 수신 시 토스트와 팝업으로 알리고, 직렬 상태 API를 주기적으로 조회하여 연결 상태를 갱신해야 한다. SSE 사용이 불가능하거나 실패할 경우 자동 새로고침으로 화면을 보조 갱신해야 한다.
SSE payload, status API response
toast, popup, refreshed status/UIstatus poll 2초, auto refresh 기본 5초
20
제어경고 강화 출력FR-CTL-02경고 에스컬레이션(JDG-006) 판단 시 부저를 연속음(0.3초 간격, 95dB 이상)으로 전환하고 LCD 메시지를 '위험: 운전자 부재 감지'로 변경한다.MAINCLU (부저, LCD)SAFE01_WARN0395dB: 차량 외부에서도 인지 가능FR-DET-04실제 차량 이동 여부를 판단하는 요소로, 사고 직전 상황 제어에 필수FR-LOG-14경고경고 이벤트 LED 표시시스템은 경고 이벤트 저장 시 Raspberry Pi의 RGB LED를 orange 계열로 점등 또는 점멸하여 경고 발생 상태를 표시해야 한다.saved warning eventOrange LEDBCM 22/27/17
21
제어경고 해제FR-CTL-03운전자 착석(25kg 이상) + 도어 닫힘이 감지되면 500ms 이내에 경고를 해제한다.MAIN (압력 센서, TOF, 초음파, 도어 스위치)CLU (부저)SAFE01_WARN04FR-JDG-01사전 경고를 위한 예방적 기능으로, 직접적인 제어 기능은 아님FR-LOG-15경고제동 이벤트 LED 표시시스템은 제동 이벤트 저장 시 Raspberry Pi의 RGB LED를 red 계열로 점등 또는 점멸하여 제동 발생 상태를 표시해야 한다.saved brake eventRed LEDBCM 22/27/17
22
제어D단 자동 제동FR-CTL-04D단 위험(JDG-002) 판단 시 제동을 수행하여 차량을 2초 이내에 완전 정지시킨다. MAINACT (서보, DC 모터)SAFE02_BRK01크리프 속도 약 5~8km/hFR-JDG-02자동 제동 수행 여부를 결정하는 핵심 로직으로 사고 방지에 직결FR-LOG-16경고시스템 해제 이벤트 LED 표시시스템은 제동 해제 등 system 이벤트 저장 시 Raspberry Pi의 RGB LED를 green 계열로 점등 또는 점멸하여 정상 복귀 상태를 표시해야 한다.saved system release eventGreen LEDBCM 22/27/17
23
제어R단 자동 제동FR-CTL-05R단 위험(JDG-003) 판단 시 제동을 수행하여 차량을 2초 이내에 완전 정지시킨다.MAINACT (서보, DC 모터)SAFE02_BRK02크리프 속도 약 5~8km/hFR-JDG-03후진 상황에서의 위험 제어 핵심 기능으로 미구현 시 사고 가능FR-LOG-17경고status/OK 이벤트 LED 소등시스템은 status 또는 OK system 이벤트 저장 시 LED를 off 처리하여 정상 상태를 표시해야 한다.saved status/OK eventLED off정상 상태 표시
24
제어Rollaway 경고 출력FR-CTL-06Rollaway 위험(JDG-004) 판단 시 경고(1초 간격, 85dB 이상)를 출력한다.MAINCLU (부저)SAFE02_BRK03N단 경사로 가속 고려FR-JDG-04N단 위험 상황을 사전에 인지하는 기능으로 보조적 역할 수행FR-LOG-18경고MP3 음성 경고 출력시스템은 경고 이벤트와 제동 이벤트 저장 시 MP3 모듈로 지정된 warning/brake 음원을 재생해야 하며, 샘플 데이터는 실제 경고음을 발생시키지 않아야 한다.saved warning/brake eventMP3 playbackwarning/brake 구분 재생
25
제어Rollaway 자동 제동FR-CTL-07Rollaway 판단 시 제동을 수행하여 차량을 2초 이내에 완전 정지시킨다. 차량 속도 10km/h 이하에서의 제동을 전제로 한다.MAINACT (서보, DC 모터)SAFE02_BRK04충돌 방지 여유거리 20cmFR-JDG-05차량이 실제 이동 중인 상황을 제어하는 핵심 안전 기능FR-LOG-19전송부팅 후 접속 URL 외부 전송시스템은 웹 서버가 실제로 응답 가능한 상태가 된 뒤 MON 접속 URL을 생성하고 send_url 모듈 또는 외부 명령을 통해 외부 알림 채널로 전송해야 한다.web server readyMON access URL notification기본 ntfy.sh/VAPS
26
제어제동 상태 유지FR-CTL-08자동 제동 후 제동 해제 조건(CTL-009)이 충족될 때까지 제동 상태를 유지한다.--SAFE02_BRK04FR-JDG-06경고 강도를 조절하는 보조 기능으로 안전성 향상에 기여FR-LOG-20운영systemd 자동 실행 및 재시작시스템은 Raspberry Pi 부팅 후 systemd 서비스로 network-online 이후 자동 실행되어야 하며, 비정상 종료 시 3초 후 자동 재시작되어야 한다.RPi boot, process failureauto start, auto restartRestart=always, RestartSec=3
27
제어제동 해제FR-CTL-09제동 상태에서 아래 조건을 모두 만족하면 제동을 해제한다.
· 운전자 착석 감지(25kg 이상)
· 도어 닫힘 감지
미충족 조건은 LCD에 안내 메시지('운전석에 착석하세요', '문을 닫아주세요' 등)를 표시한다.
MAIN (압력 센서, TOF, 초음파, 도어 스위치)ACT (서보, DC 모터)
CLU (LCD)
SAFE03_REL01~REL04FR-CTL-01운전자에게 위험을 알리는 기능으로 직접 제어 기능은 아님FR-LOG-21운영직렬 포트 실패 시 재시도 및 오류 표시시스템은 직렬 포트 연결 실패 시 연결 재시도를 계속 수행하고, 연결 및 복구 이력과 오류 정보를 상태 API와 웹 화면에서 확인 가능해야 한다.serial port failure/recoveryretrying state, error historyserial_worker_reliable 기준
28
제어비상등 점멸FR-CTL-10자동 제동(CTL-004~007) 작동 시 LED를 1초 간격으로 점멸하여 외부에 이상 상태를 알린다. 50m 거리에서 육안 식별이 가능해야 한다.MAINCLU (LED)EXT01_EXT01FR-CTL-02경고 효과를 강화하는 보조 기능으로 필수 기능은 아님
29
제어브레이크등 점등FR-CTL-11자동 제동 작동 시 브레이크등 LED를 점등한다. 후방 30m 거리에서 육안 식별이 가능해야 한다.MAINCLU (LED)EXT01_EXT02FR-CTL-03사용자 혼란 방지 및 시스템 신뢰성 확보를 위한 기능
30
4. 표시FR-CTL-04차량 이동 방지를 직접 수행하는 핵심 안전 기능기능 요구사항 정의서 - LCD
31
FR-DSP표시기어 상태 표시FR-DSP-01현재 기어 상태(P/R/N/D)를 LCD에 실시간 표시한다. 기어 전환 시 200ms 이내에 화면에 반영되어야 한다.MAINCLU (LCD)DISP01_VIEW01FR-CTL-05후진 상황에서 사고 방지를 위한 필수 제어 기능개요
32
표시도어 상태 표시FR-DSP-02도어 열림/닫힘 상태를 LCD에 실시간 표시한다. 상태 변경 시 200ms 이내에 화면에 반영되어야 한다.MAINCLU (LCD)DISP01_VIEW02FR-CTL-06위험 상황 인지를 위한 보조 경고 기능본 시스템의 LCD 표시 인터페이스는 운전자 및 관리자에게 현재 차량 상태, 위험 판단 상태, 제어 명령 상태를 직관적으로 제공하기 위한 인터페이스이다.
LCD는 총 2개를 사용하며, 각 LCD의 역할은 다음과 같이 구분한다.

· LCD-1(운전자 안내용): 운전자에게 현재 위험 상태와 즉시 취해야 할 조치를 안내한다.
· LCD-2(상태 모니터링용): 센서 입력 상태와 시스템 제어 출력 상태를 상세히 표시한다.
33
표시경고 상태 표시FR-DSP-03현재 경고 단계(정상/1차 경고/경고 강화/Rollaway/긴급)를 LCD에 표시한다. 경고 단계 변경 시 200ms 이내에 화면에 반영되어야 한다.MAINCLU (LCD)DISP01_VIEW03FR-CTL-07차량 밀림 상황에서 사고를 방지하는 핵심 기능요구사항 ID요구사항 명상세 설명
34
표시제동 상태 표시FR-DSP-04현재 제동 상태(해제/제동중)를 LCD에 표시한다. 제동 상태 변경 시 200ms 이내에 화면에 반영되어야 한다.MAINCLU (LCD)DISP01_VIEW04FR-CTL-08재이동 방지를 위해 반드시 필요한 안전 유지 기능DISP-LCD-01운전자 안내 화면 제공시스템은 LCD-1을 통해 현재 차량 상태 및 위험 상태에 따라 운전자에게 필요한 안내 메시지를 표시해야 한다.
35
표시운전자 인식 상태 표시FR-DSP-05운전자 존재/부재상태를 LCD에 실시간 표시한다. 판정 변경 시 200ms 이내에 화면에 반영되어야 한다.MAINCLU (LCD)DISP01_VIEW05FR-CTL-09정상 운전 복귀를 위한 기능으로 편의성 중심DISP-LCD-02시스템 상태 화면 제공시스템은 LCD-2를 통해 센서 입력값과 시스템 제어 명령값을 표시해야 한다.
36
5. 사고 기록FR-CTL-10외부에 위험 상황을 알리는 보조 안전 기능DISP-LCD-03상태 변경 반영 시간시스템은 g_sensor 또는 g_command 값 변경 후 100ms 이내에 LCD 표시 내용을 갱신해야 한다.
37
FR-LOG기록경고 이벤트 기록FR-LOG-01경고 발생 시 발생 시각(년월일 시분초)과 경고 종류(1차/강화/Rollaway)를 자동 기록한다. 기록은 이벤트 발생 후 3초 이내에 저장되어야 한다.CLURPILOG01_REC01FR-CTL-11후방 차량 인지를 돕는 보조 안전 기능DISP-LCD-04위험 우선 표시시스템은 다수의 상태 정보가 존재할 경우 위험도(RiskLevel)가 높은 상태를 우선 표시해야 한다.
38
기록제동 이벤트 기록FR-LOG-02자동 제동 작동 시 발생 시각(년월일 시분초)과 제동 종류(D단/R단/Rollaway/긴급)를 자동 기록한다. 기록은 이벤트 발생 후 3초 이내에 저장되어야 한다.CLURPILOG01_REC02FR-DSP-01기어 상태는 위험 판단의 핵심 정보이지만, 표시 기능 자체는 사용자 인지 보조 역할이므로 직접 제어 기능은 아님DISP-LCD-05경고 상태 표시시스템은 RISK_WARN_LV1, RISK_WARN_LV2, RISK_ROLLAWAY_WARN 상태에서 LCD-1에 경고 메시지와 조치 안내를 표시해야 한다.
39
기록제동 당시 기어 상태 기록FR-LOG-03자동 제동 시점의 기어 상태를 기록한다. CLURPILOG01_REC03FR-DSP-02문 상태는 위험 상황 판단에 참고되는 정보이나, 표시 기능은 단순 정보 제공 역할이므로 보조 기능에 해당DISP-LCD-06자동 제동 상태 표시시스템은 RISK_D_BRAKE, RISK_R_BRAKE, RISK_ROLLAWAY_BRAKE, RISK_BRAKE_HOLD 상태에서 LCD-1에 자동 제동 상태 및 유지 상태를 표시해야 한다.
40
기록제동 당시 도어 상태 기록FR-LOG-04자동 제동 시점의 도어 상태를 기록한다. CLURPILOG01_REC04FR-DSP-03현재 경고 단계를 시각적으로 제공하여 사용자 이해를 돕지만, 경고 자체는 별도 제어 기능에서 수행DISP-LCD-07해제 대기 상태 표시시스템은 RISK_RELEASE_WAIT 상태에서 운전자가 수행해야 할 해제 조건을 LCD-1에 표시해야 한다.
41
기록제동 당시 운전자 유무 기록FR-LOG-05자동 제동 시점의 운전자 유무를 기록한다. CLURPILOG01_REC05FR-DSP-04차량 제동 상태를 사용자에게 전달하여 상황 인지를 돕는 기능으로, 직접적인 제어 기능은 아님DISP-LCD-08센서 상태 표시시스템은 LCD-2에 운전자 상태, 기어 상태, 도어 상태, 차량 속도, 차량 이동 상태를 표시해야 한다.
42
기록제동 당시 차량 속도 기록FR-LOG-06자동 제동 시점의 차량 속도(km/h)를기록한다. CLURPILOG01_REC06FR-DSP-05스템의 운전자 판단 결과를 사용자에게 제공하는 기능으로, 판단 결과 확인용 보조 기능에 해당DISP-LCD-09제어 명령 상태 표시시스템은 LCD-2에 위험 판단 상태, 브레이크 명령, 모터 모드, 부저 모드, 비상등 상태, 브레이크등 상태를 표시해야 한다.
43
기록제동 해제 기록FR-LOG-07제동 해제 시점의 시각(년월일 시분초)과 해제 사유(운전자 복귀, P단 전환 등)를 기록한다.CLURPILOG01_REC07FR-LOG-01경고 발생 이력을 저장하여 사후 분석에 활용되며, 실시간 제어에는 영향을 주지 않음DISP-LCD-10이상 상태 표시시스템은 DRIVER_UNCERTAIN, GEAR_ERROR, 데이터 미갱신 등 이상 상황 발생 시 정상 상태와 구분되는 오류 또는 불확실 상태를 표시해야 한다.
44
기록최근 기록 화면 조회FR-LOG-08모니터링 화면을 통해 최근 50건의 이상의 이벤트 목록을 시간순으로 조회할 수 있어야 한다. --LOG01_REC09P단에서만 진입 가능FR-LOG-02자동 제동 발생 이력을 기록하여 시스템 동작 추적에 사용되며, 사고 예방과 직접적인 관련은 없음DISP-LCD-11속도 단위 표시시스템은 차량 속도를 km/h 단위로 표시해야 하며, 소수점 첫째 자리까지 표현할 수 있어야 한다.
45
기록기록 상세 조회FR-LOG-09이벤트 목록에서 특정 항목 선택 시 상세 정보(시각, 종류, 당시 기어/도어/운전자 상태, 차량 속도, 지속 시간)를 표시한다.--LOG01_REC10FR-LOG-03제동 시점의 차량 상태를 저장하여 원인 분석에 도움을 주는 기능으로, 제어 기능과는 무관DISP-LCD-12메시지 코드 연계시스템은 lcd_msg_code 값을 기준으로 정의된 메시지 테이블에서 LCD-1 표시 문구를 선택할 수 있어야 한다.
46
기록외부 장치 기록 전송FR-LOG-10외부 장치(PC 등) 연결 시 전체 이벤트 로그를 115200bps 이상의 속도로 전송할 수 있어야 한다.--LOG01_REC11FR-LOG-04제동 시점의 차량 상태를 저장하여 원인 분석에 도움을 주는 기능으로, 제어 기능과는 무관DISP-LCD-13초기 부팅 표시시스템 전원 인가 후 LCD는 초기화 상태 및 시스템 준비 상태를 표시해야 하며, 초기화 완료 후 정상 화면으로 전환해야 한다.
47
기록기록 순환 저장FR-LOG-11최소 50건 이상의 이벤트를 저장할 수 있어야 한다. 저장 공간이 가득 차면 가장 오래된 기록부터 자동 삭제하여 최근 기록이 항상 유지되어야 한다.--LOG01_REC12200건: 약 6개월 분량 추정FR-LOG-05제동 시점의 차량 상태를 저장하여 원인 분석에 도움을 주는 기능으로, 제어 기능과는 무관DISP-LCD-14표시 우선순위 유지시스템은 위험 상태가 해제되기 전까지 일반 상태 표시로 전환해서는 안 된다.
48
기록경고 기록 시 LED 표시FR-LOG-12경고 이벤트 기록(FR-LOG-01) 발생 시 RPi의 주황색(Orange) LED를 점등하여 경고 기록 발생 상태를 시각적으로 표시한다.CLURPI-로그 저장 후 즉시 표시FR-LOG-06제동 시점의 차량 상태를 저장하여 원인 분석에 도움을 주는 기능으로, 제어 기능과는 무관DISP-LCD-15정상 상태 표시시스템은 정상 상태에서 현재 기어 상태와 안전 여부를 LCD-1에 간단히 표시해야 한다.
49
기록제동 기록 시 LED 표시FR-LOG-13제동 이벤트 기록(FR-LOG-02) 발생 시 RPi의 적색(Red) LED를 점멸하여 제동 기록 발생 상태를 시각적으로 표시한다.CLURPI-점멸 주기는 구현 정의FR-LOG-07제동 해제 시점 및 사유를 기록하여 시스템 동작 이력 관리에 활용되는 기능DISP-LCD-16페이지 전환 지원시스템은 LCD-2에 표시 항목이 많은 경우 센서 상태 페이지와 제어 상태 페이지를 주기적으로 전환 표시할 수 있어야 한다.
50
기록시스템 해제 기록 시 LED 표시FR-LOG-14제동 해제 기록(FR-LOG-07) 발생 시 RPi의 녹색(Green) LED를 점등하여 시스템 해제 기록 발생 상태를 시각적으로 표시한다.CLURPI-system 전체가 아니라 해제 기록 기준FR-LOG-08제동 성능 분석을 위한 데이터 수집 기능으로, 실시간 안전 제어에는 영향 없음DISP-LCD-17제동 상태 고정 표시시스템은 자동 제동 또는 제동 유지 상태 발생 시 LCD-2를 제어 상태 페이지에 우선 고정 표시해야 한다.
51
기록부팅 시 모니터링 URL 알림 전송FR-LOG-15Raspberry Pi가 부팅되고 MON 웹 서버가 정상 기동되면, 자기 자신의 IP 주소와 포트를 포함한 모니터링 URL(http://<IP>:5000)을 https://ntfy.sh/VAPS 로 1회 전송한다.RPI외부 알림 서비스-웹 서버 준비 완료 후 전송FR-LOG-09사용자 또는 관리자가 최근 이벤트를 확인할 수 있도록 하는 조회 기능으로 운영 편의성 목적DISP-LCD-18데이터 무결성 보호LCD 표시 태스크는 공유 데이터 접근 시 Mutex를 사용하여 센서 데이터 및 제어 명령 데이터를 일관성 있게 읽어야 한다.
52
6. 정상 운전 보호FR-LOG-10특정 이벤트의 상세 정보를 제공하는 기능으로, 유지보수 및 분석을 위한 부가 기능LCD 인터페이스 역할 정의 표
53
보호P단 시 시스템 비활성FR-SAF-01 P단인 경우 경고 및 제동이 작동을 시작하지 않는다.MAIN(기어 스위치)ACT (서보모터, DC모터, 엔코더)
CLU (LED, LCD, 부저)
NOINT01_NOR01FR-LOG-11외부 시스템과의 연동을 위한 기능으로, 차량 제어와 직접적인 연관 없음구분명칭역할표시 목적주요 사용자
54
FR-SAF보호정상 주행 시 시스템 비활성FR-SAF-02운전자 착석(25kg 이상) + 도어 닫힘 상태에서는 경고, 제동, 긴급 정지 등 시스템의 모든 개입을 수행하지 않는다.MAIN ( 압력센서, TOF, 초음파, 도어스위치)-NOINT01_NOR02FR-LOG-12저장 공간 관리를 위한 기능으로, 시스템 운영 편의성을 위한 부가 기능LCD-1운전자 안내용 LCD위험 상태 및 운전자 조치 안내 표시행동 유도운전자
55
7. 비기능 요구사항FR-SAF-01불필요한 시스템 개입 방지로 오작동 사고 예방LCD-2시스템 상태 LCD센서 상태, 판단 상태, 제어 상태 상세 표시모니터링 및 디버깅개발자, 관리자, 시연 관찰자
56
FR-NFR성능경고 응답 시간FR-NFR-01위험 판단 후 1차 경고는 2초 이내에 출력되어야 한다. 센서 샘플링부터 부저 출력까지의 전체 지연 시간을 포함한다.-CLU (LED, LCD, 부저)RESP01_SPD01FR-SAF-02정상 운전 중 시스템 개입 방지로 안전성 확보
57
성능제동 응답 시간FR-NFR-02위험 판단 후 제동 명령은 500ms 이내에 수행되어야 한다. Rollaway 제동의 경우 100ms 이내에 수행되어야 한다.-ACT (DC모터, 엔코더, 서보모터)RESP01_SPD02FR-NFR-01사용자 인지 속도에 영향을 주는 성능 요구사항
58
신뢰성다중 조건 판단FR-NFR-03단일 센서 오작동만으로 제동이 수행되지 않도록 최소 2개 이상의 센서 조건 충족 시에만 제동을 실행해야 한다.--TRUST01_ERR01FR-NFR-02제동 지연 시 사고로 직결되므로 핵심 성능 요구사항
59
신뢰성정상 운행 방해 방지FR-NFR-04정상 운행을 위하여 기어가 P단인 경우 경고 및 제동을 수행하지 않는다. MAIN (기어스위치)-FR-NFR-03오작동 방지를 위한 필수 신뢰성 요구사항
60
안전성정상 운전 간섭 방지FR-NFR-05P단 또는 운전자 착석(25kg 이상)+도어 닫힘 상태에서 경고 및 제동을 수행하지 않아야 한다.MAIN ( 압력센서, TOF, 초음파, 도어센서)-NOINT01_NOR01, NOR02FR-NFR-04정상 운행 방지를 위한 핵심 요구사항
61
유지보수모듈 분리 설계FR-NFR-06센서별 모듈을 분리 설계하여 개별 센서 교체 시 다른 모듈에 영향 없이 교체 가능해야 한다.---FR-NFR-05시스템 오작동으로 인한 위험 방지를 위한 핵심 요구사항
62
FR-NFR-06유지보수 편의성을 위한 부가적 요구사항
63
64
유저 요구사항->기능 요구사항
65
유저 RC (추적 UR)기능 RC (상세 기능 ID)
66
SAFE01FR-DET-01, FR-DET-02, FR-DET-03
67
SAFE02FR-DET-01, FR-DET-02
68
SAFE03FR-DET-01, FR-DET-03
69
SAFE01_WARN01FR-JDG-01, FR-CTL-01
70
SAFE01_WARN02FR-CTL-01
71
SAFE01_WARN03FR-JDG-06, FR-CTL-02
72
SAFE01_WARN04FR-CTL-03
73
SAFE02_BRK01FR-JDG-02, FR-CTL-04
74
SAFE02_BRK02FR-JDG-03, FR-CTL-05
75
SAFE02_BRK03FR-DET-04, FR-JDG-04, FR-CTL-06
76
SAFE02_BRK04FR-JDG-05, FR-CTL-07, FR-CTL-08
77
SAFE03_REL01~REL04FR-CTL-09
78
EXT01_EXT01FR-CTL-10
79
EXT01_EXT02FR-CTL-11
80
DISP01_VIEW01FR-DSP-01
81
DISP01_VIEW02FR-DSP-02
82
DISP01_VIEW03FR-DSP-03
83
DISP01_VIEW04FR-DSP-04
84
DISP01_VIEW05FR-DSP-05
85
LOG01_REC01FR-LOG-01
86
LOG01_REC02FR-LOG-02
87
LOG01_REC03FR-LOG-03
88
LOG01_REC04FR-LOG-04
89
LOG01_REC05FR-LOG-05
90
LOG01_REC06FR-LOG-06
91
LOG01_REC07FR-LOG-07
92
LOG01_REC08FR-LOG-08
93
LOG01_REC09FR-LOG-09
94
NOINT01_NOR01FR-SAF-01, FR-NFR-05
95
NOINT01_NOR02FR-JDG-05, FR-SAF-02, FR-NFR-05
96
NOINT01_NOR03FR-SAF-03
97
RESP01_SPD01FR-NFR-01
98
RESP01_SPD02FR-NFR-02
99
TRUST01_ERR01FR-NFR-03