최우수상 졸음운전과 전방주시 태만을 감지하는 3단계 경고 시스템 개발
과제 최종 결과
1) 차내 환경 졸음운전
밀폐된 차량 내부의 Co2 농도를 측정해 운전자가 환기를 시킬 수 있도록 핸들에서 진동을 울려 알림을 준다.
‘co2test.mp4’는 짧은 시간에 Co2 농도에 따른 LCD 모듈과 진동 모듈의 작동을 확인한 영상이고, 첨부한 ‘co2test.jpg’로 영상 내용을 확인할 수 있다.
Co2 농도 측정 센서에 두 사람이 직접 입김을 불어 센서가 측정하는 Co2 농도에 영향을 주었다.
실험 시작 2분 40초 후 센서에 측정된 Co2 농도가 1000 ppm을 초과해 LCD 모듈에 ‘co2 level 1’ 문구가 출력되고, 진동이 1회 울렸다.
실험 시작 4분 40초 후 센서에 측정된 Co2 농도가 2500 ppm을 초과해 LCD 모듈에 ‘co2 level 2’ 문구가 출력되고, 진동이 2회 울렸다.
2단계 출력 후 주변 공기 순환을 통해 운전자가 창문을 열어 ‘환기를 한다면’ 실내 Co2 농도가 감소 되는지 확인했다.
2단계가 출력된 후 20초 센서에 측정된 Co2 농도가 2500 ppm 이하로 감소해 1단계로 복귀, 1단계 복귀 후 센서에 측정된 Co2 농도가 1000 ppm 이하로 감소해 8초 후 0단계로 복귀했다.
실험을 통해 한정된 공간에서 Co2 농도에 따른 경고 시스템이 작동한다는 것과 환기를 통해 차내 환경을 개선할 수 있음을 확인했다.
2) 운전자 졸음운전 & 전방주시 태만
‘통합테스트.mp4’는 라즈베리파이에서 실시간 영상처리를 통해 운전자의 상태를 파악해 졸음 단계를 아두이노 rc카로 전송하고 rc카는 수신한 졸음 단계에 맞춰 LCD와 소리 모듈을 통해 경고한다. 3단계가 되었을 때 ‘RSSI’값이 –60보다 큰 경우 rc카의 초음파센서의 인지를 무시하고 졸음쉼터로 향하는 과정을 촬영한 영상이다.
촬영한 영상에서는 4단계 – 0단계 – 1단계 – 3단계 순으로 차량이 주행했다.
주행중인 rc카의 LCD, 진동, 부저 모듈의 촬영이 어려워 ‘rc모듈_확대.mp4’ 영상으로 모듈의 작동을 확인했다. ‘통합테스트.mp4’는 ‘통합테스트.jpg’를 통해 결과를 확인할 수 있다.
졸음쉼터와 rc카의 정확한 위치 인식에 영향을 주는 요인으로는 안정된 전원 공급, 직선 길이 5m이상의 트랙, 네트워크 안정성이 있다. 넓은 트랙을 주행할수록 거리 인식에 있어서 정확도가 증가함을 반복적인 실험을 통해 확인할 수 있었고, 안정적인 네트워크 환경에서 라즈베리파이 모니터링 상황이 빠르게 전달되어 터미널에 출력되는 거리값과 rc카 움직임을 비교해 판단할 때 정확도가 상승했다.
라즈베리파이에서 촬영된 영상을 바탕으로 졸음 단계를 분석하는 영상처리 과정이 프로세스의 한계로 1초 지연이 발생했다. 졸음운전을 판단하는 상황에서 1초 지연은 큰 영향을 미칠 수 있지만, 윈도우에서 실행했을 때에는 지연 없이 실시간으로 작동했기 때문에 4GB인 라즈베리파이의 RAM 용량을 업그레이드 시킨다면 문제없이 실시간으로 작동할 것이라 예상된다. OpenCV로 영상을 처리하는 과정에서 리소스를 많이 사용하기 때문에 라즈베리파이4 4GB보다 처리 속도가 빠르고 메모리 용량이 큰 프로세서로 교체한다면 실시간으로 작동하며 높은 정확도의 결과를 보일 것이다. 또는 GPU를 이용하여 영상처리 속도를 개선할 수 있다.