차량속도 데이터를 이용한 안전 운전지원 시스템
초록
본 논문에서는 차량의 운행 중에 발생하는 차량속도 데이터를 이용하여 운전자가 안전 운전을 할 수 있는 차량 안전운전을 위한 정보를 제공하는 시스템을 설계하였다. 시스템의 구성은 데이터 수집을 위한 단말기, 차량에서 수집된 정보를 서버에 전송하기 위한 게이트웨이 기능을 갖는 스마트 폰앱, 수집된 데이터를 활용하여 운전자의 안전을 위한 정보를 제공할 수 있는 알고리즘을 구현하는 서버로 구성된다. 안전운전을 위한 알고리즘에 대한 구현은 운전자의 정보, 도로에 대한 정보 및 단말기에서 수신된 차량속도를 이용하여 알고리즘을 구현하였다. 운전하는 도로의 위치 및 연령에 따라 수집된 차량속도 데이터를 이용한 실험결과, 도로구간별 속도제안 법률과 운전자 연령별 평균속도를 초과할 경우 본 논문에서 제안한 기법이 위험운전을 경고할 수 있다는 것을 확인하였다.
Abstract
In this paper, we designed a system that provides information for safe driving of the vehicle, which enables the driver to operate safely, using vehicle speed data generated during the operation of the vehicle. The configuration of the system consists of a terminal for data collection, a smartphone application with a gateway function for transmitting information collected from a vehicle to a server, and a server that implements an algorithm that can use the collected data to provide information for driver safety. The implementation of the algorithm for safe driving was embodied using the driver's information, information of the road, and vehicle speed received from the terminal. By experimenting with the vehicle speed data collected according to the location of the road and age of the driver, the proposed method in this paper is able to warn the dangerous driving if the driver is outrunning the speed limit or driving over the average speed of age.
Keywords:
CAN, safe driving, vehicle, OBD2, bluetoothⅠ. 서 론
4차 산업혁명 이후 정보통신 기술의 비약적인 발전과 더불어 컴퓨터기술의 발전은 사람들로 하여금 다양한 분야에서의 융합 시스템에 대한 활용 욕구를 증가시키고 있다.
이에 따라 차량 내 전장제품의 증가로 인한 차량과 IT 융합 기술의 발전으로 기존의 긴급구난 및 재난통신 서비스 및 차량운행을 안전하게 운행하기 위한 정보를 제공하기 위한 여러 가지 서비스들이 필요하게 된다. 이러한 서비스를 제공하기 위하여 차량 간(V2V, Vehicle-to-Vehicle) 통신과 차량과 인프라 간(V2I, Vehicle-to-Infra) 통신 및 외부 망과의 통신을 위한 차량용 인포테이먼트 기능이 부가된 차량 내 플랫폼 또한 중요성이 부각되고 있다[1].
차량 정보의 범위도, 자동차용 전장장치로 이루어진 차량 내 통신에서 추출된 정보를 비롯하여, GPS 기반의 위치정보, 차량 내외부의 부가적인 센서 정보, 차량내외에서 발생하는 멀티미디어 기기 정보, 차량 간 통신 정보 및 차량과 외부의 망과 연계하여 다양한 정보 데이터를 수집하는 플랫폼을 구축하고 있다. 차량 내에서 측정된 정보를 외부에 있는 서버에 전송하여 모아진 데이터를 가공하여 운전자에게 정보를 제공하는 데 걸리는 시간을 단축할 수 있게 되었으며 이를 활용하여 차량의 운전자에게 안전운전에 도움이 되는 정보를 실시간으로 제공 하는 것이 가능하게 되었다[1][2].
현재 자동차 회사와 IT 회사가 융합하여 이동통신을 이용하여 차량을 기지국화 하는 프로젝트를 진행하고 있으며 IT를 활용한 전장기술 발달로 자동차-IT 융합이 가속화됨에 따라, 차량 인포테인먼트의 요구사항인 내비게이션, 블루투스, 원격 차량 진단 관리, 차량 데이터 수집 기능 등이 부가된 원격관리 시스템 및 차량의 운행정보를 볼 수 있는 모바일 앱등의 제품이 출시되고 있다. 이를 기반으로 자율주행 자동차 기술이 개발되고 있으며 또한 차량을 안전하게 운행하기 위한 요구사항들이 많아지고 있다. 차량에 대한 안전을 위한 전기 및 전장시스템에 대한 안전 규격들이 만들어 지고 있으며 유럽 OEM사 들도 이러한 안전시스템에 대한 많은 연구가 이루어지고 있다.
국내 대부분의 차량에 기본적인 차량 인포테이먼트 기능 중 네비게이션 기능이 장착되어 있고 차량에 장착되어 있지 않더라도 운전자 대부분이 스마트폰을 활용한 네비게이션을 사용하고 있다. 네비게이션이 주행하는 도로의 상황을 운전자에게 사고다발구간, 급커브, 교량, 터널, 어린이보호구역, 등 실시간으로 음성으로 안내하고 있지만 이는 단순히 위험 지역이라는 것을 안내 할뿐 운전자의 운전행태가 위험한 상태인지 안전운전을 하고 있는지는 알 수 없고 운전자 본인이 안전운전 상황을 판단해야만 함으로 개인별 편차가 심하고 또 초행길인 경우 도로의 여건을 파악하지 못해 사고로 이어지는 경우가 많다.
안전운전을 지원하기 위해서는 운전자의 차량이 어떠한 상태에 있는지를 알아야 한다. 따라서 운행 중인 차량에서 운전자의 차량 상태를 알 수 있는 정보를 수집하고 분석하기 위해서는 차량 데이터수집 단말기가 필요하고 수집된 정보를 활용하여 운행 차량데이터를 분석하여 안전운전에 유용한 정보를 제공하기 위한 알고리즘이 필요하다[2][3].
따라서 본 논문에서 제안하려는 차량용 정보수집 단말기와 알고리즘은 차량 내 정보를 수집하는 장치와 외부 망에서 정보를 수집하는 장치 및 데이터를 활용하여 주행 도로의 법규 제한속도 범위 내에 있는 비교군의 데이터 평균값을 도출하고 주행하는 차량의 데이터와 비교해 데이터 평균값을 넘어가는 값이 나오면 운전자에게 현재 차량상태를 알리고 어떻게 대처해야 할지를 알려줌으로서 운전자가 안전운전을 할 수 있도록 지원함으로서 교통사고 감소에 기여할 수 있을 것으로 기대된다.
본 논문에서는 운전자가 안전하게 차량을 운행할 수 있도록 차량의 속도데이터를 수집하고 수집된 정보를 활용하여 운전자의 안전운전을 위한 지원 시스템을 설계하는 것이다.
Ⅱ. 차량속도 기반의 안전 운전 지원 알고리즘
2.1 기존 안전운전 시스템 연구
국내·외 운전자에 대한 안전운전에 관한 연구는 위험운전 유형에 대한 분류, 차량시뮬레이터를 이용한 연령별 운전자의 인지반응시간 분석, 위험운전의 정의, 판단 알고리즘 설계, 임계 값 개발 등 대부분 운전자의 운전습관 및 위험운전 행동 분석 등으로 많은 연구가 진행되어 오고 있다[4][5].
또한 차량정보 및 도로교통상황을 고려한 안전 정보 제공등에 대한 연구, 교통안전공단에서 운행 기록 분석시스템에서 제공하는 위험운전행동(11종)에 대한 정의로 과속, 장기과속, 급가속, 급출발, 급감속, 급정지, 급진로변경, 급앞지르기, 급좌우회전, 급유턴을 데이터[6]로 활용한 실시간 위험운전행동분석 구연을 한 연구도 진행 되고 있고 또 빅데이터를 활용해 운전습관 및 운전행태[7]를 분석하고 주행성향을 파악할 수 있는 알고리즘의 개발과 도로 여건에 따라 문제가 되는 구간을 알려주거나 교통흐름을 알려주는 연구는 계속 진행 중이다. 운전자에게 직접적으로 도로 운행구간에서 운전자의 위험 운전행태를 알리고 무엇이 잘못 되었는지 직접적으로 지원하는 연구는 진행 되지 않고 있다. 본 논문에서는 도로의 형태 및 교통법규에 대한 정보를 통하여 연령별로 차량운전자에 대한 위험성을 최소로 하는 운전자에 대한 기준정보에 대한 모델을 제시하여 차량의 안전운전을 위한 안전운전 지원 시스템을 설계하는 것이다.
2.2 안전 운전 지원 데이서수집 단말기의 구성
운전자에게 있어서 가장 중요한 것은 차량을 안전하게 운전하는 것이다. 운전자가 안전 운전을 하고 있는지를 알기 위해서는 현재 운행하는 차량의 차량 정보가 필요하다. 운행 차량의 정보는 차량에 장착되어있는 센서들에 대한 정보를 수집하여 분석을 통해 가능하다. 이러한 정보를 수집하기 위해서는 차량 내의 각종 센서들에 대한 정보를 수집하여야 한다. 그림 1은 차량의 정보를 수집하기 위한 차량용 정보수집 단말기에 대한 구조를 보여주고 있다.
차량에서 정보를 수집하는 단말기의 구조는 CAN Transceiver, MCU, 블루투스로 구성되어 있다. 차량의 OBD2(On-board diagnostics)를 이용하여 데이터를 수집하는 방법은 OBD2내에 차량에서 사용되는 CAN 통신 라인이 연결되어 있다. 차량 내 CAN통신은 차량 내에서 발생하는 데이터를 차량용 게이트웨이를 통하여 차량에 정보를 표현해주는 차량용 클러스트(Cluster)에 전송하게 된다[8][9]
CAN Transceiver는 차량에서 사용되는 CAN 통신 라인에서 데이터를 수신하여 MCU내에 있는 CAN Controller를 통하여 데이터를 수신한다. MCU는 MCU가 가지고 있는 인터럽트 기능을 이용하여 데이터가 수신되면 MCU에 수신된 데이터를 필터링하여 원하는 정보만을 수집하여 안전운전을 위한 알고리즘 구현에 필요한 정보를 수집하고 수집된 정보를 블루투스를 통해 스마트 폰으로 전송을 하기위한 프로토콜로 변환하는 기능을 가진다. 스마트 폰의 기능은 게이트웨이 역할을 하는 장치로서 OBD2에서 수신된 정보를 표시하고 서버에 수신된 정보를 전송하는 역할을 한다. 별도의 게이트웨이 기능을 갖는 장비를 사용하지 않고 스마트 폰을 사용하는 이유는 운전자는 항상 휴대폰을 지니고 있으며 어플만 설치하면 게이트웨이 기능을 사용할 수 있는 장점을 가진다. 또한 결과 데이터를 운전자에게 보여주는 역할을 한다.
2.3 차량속도 데이터 수집기의 프로토콜 구조
안전운전을 위한 정보를 수집하기 위해서는 차량CAN 프로토콜에서 정보를 수집하여야 한다. CAN 프로토콜에 대한 기본적인 구조는 모든 차량에서 동일한 구조를 가진다. 하지만 CAN에 들어가 있는 정보는 차량에 따라 차이를 가지고 있다. 본 논문에서 사용하려는 CAN에 대한 정보는 현대·기아차를 대상으로 정보를 수집하였다. 그림 2는 CAN 프로토콜에 대한 기본 구조를 보여주고 있다[10].
CAN프로토콜 구조는 CAN ID(12Bit), 컨트롤 필드 및 데이터 필드는 64bit(8Byte)로 구성되어 있다. 안전운전 알고리즘을 위해 필요한 정보에 대한 CAN ID는 EMS11(0x316) 속도, EMS12(0x329) 액셀 개도량, ESP12(0x220) 브레이크 압력/종가속도/횡가속도, SAS11(0x2B0) 조향각, CGW1(0x541) 안전벨트 착용 유무등에 대한 정보를 수집한다[11][12]. 차량에서 수집된 정보를 블루투스를 통해서 스마트 폰에 전송하기 위해서는 수집된 정보를 최소한의 사이즈를 가지는 데이터로 변환하여야 한다. 그림 3은 블루트스를 통해 스마트 폰에 전송하기 위해서 필요한 전송 프로토콜 구조를 보여주고 있다.
2.4 안전운전을 위한 알고리즘
현재 주행하는 도로여건과 정확한 차량상태를 파악해 차량에서 발생하는 정보 중에서 안전운전 상태를 분석하는데 필요한 정보를 차량용 수집 단말기를 통하여 수집한다. 안전운전 알고리즘을 구현하기 위한 정보는 차량 운행시간, 운행 차량의 위치, 안전벨트신호, 차량의 운행속도, 운행차량 위치별 액셀 페달 신호, 핸들 조향각 센서 값, 횡 방향 가속도 값, 종 방향 가속도 값, 브레이크 압력 값이 며 수집된 정보는 블루투스를 이용해 차량 내 단말기(스마트 폰)에 보낸 후 단말기에서 와이파이를 사용 서버로 전송하게 된다. 서버는 수신된 정보를 가지고 안전운전을 위한 알고리즘을 통해 운전자가 현재 안전하게 차량을 운행하는지를 판단하여 정보를 운전자에게 제공하게 된다. 그림 4는 차량에서 수집된 정보를 활용하여 운전자가 안전하게 운전을 하고 있는지를 분석하여 주는 알고리즘을 보여주고 있다
안전운전 알고리즘은 도로 구간 별, 연령별로 속도와 차량의 운행 위치 기준 데이터를 수집하여 수집된 데이터 및 차량 운전 시 도로 환경 등을 고려하여 기준데이터를 만들고 현재 운행하는 차량에서 전송해오는 실시간 데이터와 안전운전을 위한 기준데이터와 비교해 데이터 값이 기준 값을 넘으면 운전자에게 정보를 알려줌으로써 운전자가 바로 대응할 수 있도록 하는 것이다. 본 논문에서는 안전운전하기 위해서는 이러한 차량상태에 대한 분석이 필요하며 앞에서 설명한 기준을 활용하여 운전자에게 현재 운전자의 차량상태를 알려주어 안전운전 할 수 있는 시스템을 구현하는 방법 및 알고리즘을 제안하는 것이다.
Ⅲ. 실험 및 고찰
본 논문에서는 실험을 위하여 실증을 위한 테스트 도로 및 연령대별 운전자를 섭외하여 주어진 구간을 도로별 운전법규를 기준으로 실험을 진행하였다.
3.1 시험도로 선정
본 논문에서는 알고리즘에 대한 검증을 위하여 실험 운전자 대상으로 알고리즘과 데이터의 유효성 검증을 위한 테스트도로로 일반 국도를 선정하였으며 연령별 운전자에 대한 기준 데이터를 만들기 위하여 도로교통법을 준수하며 테스트를 진행 하였다. 그림 5는 제안된 알고리즘에 대한 기준데이터 및 실시간 테스트 데이터를 만들기 위하여 선정한 테스트 도로를 보여주고 있으며 구굴 맵을 통하여 실질적으로 차량을 운행하면서 수신된 GPS좌표 정보를 활용하여 차량운행 정보를 보여주고 있다.
테스트 도로의 구성요소는 일반적으로 운전자가 가장 일반적으로 접할 수 있는 도로 상황을 기준으로 테스트하였으며 구성을 보면 주행시험에 필요한 교차로(삼거리), 교차로(사거리), 교량코스, 입체교차로, 횡단보도, 오르막길, 내리막길, 자동차 전용도로, 직선구간, 곡선구간 등으로 구성하여 실험 하였다.
본 논문에서는 테스트를 위하여 차량에서 데이터를 수집하는 장치인 데이터 수집 단말기를 제작하였으며 단말기에서 수집된 정보를 서버로 전송하기 위하여 사용자의 스마트 폰을 활용하기 위하여 차량의 정보를 수집하여 데이터를 서버로 전송하기 위한 스마트 폰 앱을 개발하였다. 그림 6은 스마트 폰 앱의 구성은 단말기와 연결하기 위하여 블루투스를 활용하였으며 서버에 데이터를 전송하기 위하여 WiFi를 활용하였다.
스마트 폰 앱은 블루투스에서 수신된 프로토콜을 WiFi 프로토콜로 변환하여 전송할 수 있도록 하는 게이트웨이 기능을 가지고 있다[13].
3.2 시험 결과
실험은 총 10명의 피실험 운전자를 대상으로 테스트 하였다. 연령은 20대 3명, 30대 2명, 40대 3명, 50대 1명, 60대 1명으로 각 연령별 6번씩 총30회 진행 하였다. 피 실험 운전자는 미리 지정된 코스로 안전을 위해 동승자 1인과 함께 주행하였고 시간제한 없이 피 실험 운전자가 평소 운전하는 운전스타일로 진행하였다. 데이터 평균은 20대, 30대, 40대, 50대, 60대로 구분하여 평균값을 도출 하였으며 운전자 연령의 평균인 40대를 비교주행과 최종주행의 비교군으로 설정해 피 실험 운전자들의 평균 데이터 값과 비교하기 위해 1번의 주행시험을 하고 피 실험 운전자들의 평균 데이터 값과 비교 위험 데이터가 확인되는 부분에 대한 알고리즘을 구현하고 비교 데이터를 통해 확인해 보았다. 본 논문에서는 주행 중 안전운전에 가장 중요한 요소인 속도 데이터를 분석하여 구현된 알고리즘을 검증하여 보려고 한다.
그림 7은 안전주행을 통해 연령대별 평균 속도에 대한 데이터 및 40대 일반인 피 실험자가 실험한 비교 데이터를 보여주고 있다. 연령대별 평균 속도를 보면 30대가 가장 속도가 빠른 것을 볼 수 있다. 40대의 경우 평균속도 및 비교 데이터를 보면 평균 속도가 9Km이상 속도가 빠르다는 것을 알 수 있다.
그림 8은 연령대별 최고속도 및 40대 일반인 피 실험자에 대한 최고속도를 보여주고 있다. 연령대별 최고속도는 30대가 가장 빠르고 60대가 가장 느리며 10km 이상 차이가 발생하는 것을 알 수 있다. 일반인 40대 피 실험자의 경우 최고 속도가 90Km 이상인 것을 알 수 있으며 40대 평균 최고 속도와 10km 이상 빠르다는 것을 알 수 있다.
그림 9는 연령대별 좌표별 속도 및 비교데이터를 보여주고 있다. 그림에서 볼 수 있듯이 점선 블록(1)은 자동차 전용도로에서의 속도를 보여주고 있으며 점선 블록(2)는 일반도로에서의 차량속도를 보여주고 있다. 연령대별 기준 데이터 보다 비교 데이터가 속도가 빠른 다는 것을 알 수 있다. 따라서 이러한 데이터를 기준으로 아에서 설명한 알고리즘을 통하여 연령대별 운전자에 대한 운전성향을 실시간으로 분석이 가능하다는 것을 알 수 있다.
또한 실험 운전자 20대, 30-50대, 60대 이상을 대상으로 진행한 테스트결과 평균값과 실시간으로 40대 피 실험자의 주행 테스트를 비교한 결과 상대적으로 주행속도가 높다는 것을 알 수 있다. 하지만 곡선구간이나 내리막 구간 및 교차로 구간에서는 비교적 연령별 평균 데이터와 비슷하게 운전을 하는 것을 알 수 있다.
따라서 연령대별 운전자에 대한 기준 데이터를 활용하여 제안된 알고리즘을 구현하는 경우 실시간으로 운전자에게 안전운전을 위한 정보제공이 가능하다는 것을 알 수 있다. 연령대별로 안전운전을 분석하는 것은 연령대별로 운전자의 운전성향이 다르고 운전습관이 다르기 때문이다. 운전자에게 맞는 안전운전 지원시스템의 경우 연령대별 운전습관 및 성향에 맞추어 안전운전 시스템을 지원하는 것이 효율적이다.
Ⅳ. 결 론
본 연구에서는 주행하는 차량의 데이터를 비교 분석하여 운전자가 운행하는 도로의 위치별로 안전하게 운전할 수 있도록 다른 운전자들의 차량운행 평균데이터와 현재 운행하는 차량의 데이터를 비교 평균데이터 보다 높은 값의 데이터가 발생하면 위험한 데이터의 항목을 운전자에게 알려주어 운전자가 빠른 대처를 할 수 있도록 지원하는 시스템에 대한 단말기의 설계 방법 및 알고리즘을 제안하였다. 차량의 주행정보를 수집하는 단말기로 미리 수집 처리된 평균 데이터 값과 현재 운행하는 차량의 차량정보 데이터를 활용하여 차량 운행상태분석 알고리즘 시스템을 구성하고 운전자에게 현재 주행하는 도로의 위치별 차량상태 및 운전행태의 위험한 부분과 도로 위치를 미리 주지시키고 학습한 후 같은 도로를 운행할 때 운행 차량에서 평균값을 넘어가는 위험 데이터가 나오지 않는지 검증하여 보았다. 향후 학습 알고리즘을 적용하여 운전자에게 단말기를 통해 운행도로 위치별로 잘못된 차량 주행상태 데이터와 운전행태를 실시간으로 구현해 알려줌으로써 안전운전에 기여할 수 있는지 결과를 확인하여 보겠다.
References
- Wan-Jae Lee and Dae-Sik Ko, "A Study on Economic Driving Technique Using Driving Habits Data Analysis", 2019 ICT Platform Society Summer Conference-papers presented, pp. 55-57, Jun. 2019.
- https://www.police.go.kr/portal/main/contents.do?menuNo=200915, [accessed: dec 01, 2017]
- https://www.police.go.kr/portal/main/contents.do?menuNo=200915, [accessed: dec 01, 2018]
- Keedong Kwon, Jaehong Joo, and Jangwon Jin "Driving behavior and Driving Habit Analysis Utilizing Big Data Platform", Journal of Information Technology and Architecture, Vol. 12. No. 4, pp. 515-523. Dec. 2015.
- Yoo-Won Kim and Joon-Gyu Kang, "Implementation of Real-time Dangerous Driving Behavior Analysis Utilizing the Digital Tachograph", Journal of The Korea Society of Computer and Information, Vol. 20, No. 2, pp. 55-62, Feb. 2015. [https://doi.org/10.9708/jksci.2015.20.2.055]
- https://etas.ts2020.kr/etas/frtf0600/goList.do, [accessed: Dec 12, 2019]
- Keedong Kwon, Jaehong Joo, and Jangwon Jin "Driving behavior and Driving Habit Analysis Utilizing Big Data Platform", Journal of Information Technology and Architecture, Vol. 12. No. 4, pp. 515-523, Dec. 2015.
- Hyowin Park, KyoungDeug Lee, TaeKyoung Ko, JaeYong Han, Sunheum Lee, SangMin Han, and Kwansun Choi, "An Implementation of a Remote Automatic Management System for Vehicle Battery Using OBD-2 and CDMA Module", Journal of Korean Institute of Information, Vol. 8, No. 11, pp. 81-88, Nov. 2010.
- Jongkwan Song and Jang-Sik Park, "Implement of Access Control System Based on CAN Communication", The Journal of Korea Information and Communications Vol. 6, No. 6, pp. 951-956, Dec. 2011.
- D. Paret and R. Riesco, "Multiplexed Networks for Embedded System : CAN, LIN, FlexRay, Safe-by-Wire", SAE Int’1., 2007. [https://doi.org/10.1002/9780470511770]
- VEDI Technical Committe, "SAE J1698: Vehicle Event Data Interface-Vehicular Output Data Definition", SAE, Feb. 2005.
- IEEE802 "CALM Tutorial Part 01_V2.pdf"
- Jorge Zaldivar, Carlos T. Calafate, Juan Carlos Cano, and Pietro Manzoni, "Providing Accident Detection in Vehicular Networking Through OBD-II Device and Android-based Smartphones", 2011 IEEE 36th Conference on Local Computer Networks, Bonn, Germany, pp. 813-819, Oct. 2011. [https://doi.org/10.1109/LCN.2011.6115556]
2008년 2월 : 국가평생교육진흥원 자동차공학과(공학사)
2010년 8월 : 충주대학교 에너지시스템공학과(공학석사)
2014년 9월 ~ 현재 : 목원대학교 박사과정
관심분야 : 차량통신, 이동통신, 차량네트워크시스템
2008년 2월 : 충남대학교 컴퓨터공학과 졸업(공학사)
2010년 9월 : 고려대학교 컴퓨터전파동신공학과 졸업(공학석사)
2017년 8월 : 고려대학교 컴퓨터전파통신공학과 졸업(공학박사)
2019년 12월 현재 : 동국대학교 컴퓨터공학과 전문연구원
관심분야 : 이동통신 차량통신