AVM 카메라를 활용한 원격 자율주차시스템
Copyright Ⓒ 2023 KSAE / 211-02
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.
Abstract
This paper presents a method to solve problems in parking by applying AVM(Around View Monitoring) to the ToD(Teleoperated Driving) system, one of the V2X(Vehicle to Everything communication) application services. The ToD system is being used as a solution for safely transitioning to MRC(Minimal Risk Condition), and the possibility of teleoperated valet parking was confirmed by applying AVM to the ToD system. In this paper, to implement a general ToD system, we explain how to send and receive data between the operator and the vehicle as well as facilitate remote control and video streaming. In addition, a method for generating an AVM image and a method for a teleoperated valet parking system using the AVM image are presented. A teleoperated valet parking system using AVM video was tested, and performance results were derived by analyzing the latency for remote control and video streaming through the test.
Keywords:
Teleoperated driving, Around view monitoring, User datagram protocol, Real-time transport protocol, Message queuing telemetry transport키워드:
원격제어 운전, 어라운드 뷰 모니터링, 사용자 데이터그램 프로토콜, 실시간 전송 프로토콜, 메시지 큐잉 텔레메트리 트랜스포트1. 서 론
대형마트나 백화점과 같은 시설의 주차장 이용과 탐색에 소모되는 시간과 사회적 비용은 주차고통(Parking pain)을 야기하고 있다. 특히, 주차로 인한 경제적 비용의 4분의 3이상은 주차공간 탐색으로 인한 배회, 대기로 인한 비효율과 환경문제가 발생하고 있다.1) 이와 더불어 운전 미숙과 협소한 주차공간에 의해 주차와 관련된 사고가 빈번하게 발생하고 있다. 이런 사고를 최소화하기 위한 운전자 편의 시스템인 AVM(Around View Monitoring) 시스템이 상용화 차량에 제공되고 있다. 또한, 주차장 이용과 탐색에 대한 해결책으로 주차 로봇 시스템, APS(Autonomous Parking System) 등 연구개발이 진행되고 있지만, 주차와 관련 문제를 해결하기 위해서는 한정적이다.
본 논문에서는 주차문제를 해결하기 위한 해결책으로 원격 자율주차 시스템을 제안한다. 이 시스템은 ToD(Teleoperated Driving)기반에 AVM 시스템을 적용하여 주차를 가능하도록 한다. 자율주행에서 ToD의 역할은 차량의 시스템 장애가 발생하거나 스스로 처리할 수 없는 교통 상황이 발생하는 경우 MRC(Minimal Risk Condition)으로 전환하기 위한 해결책이면서, C-V2X(Cellular Vehicle to Everything Communication) 중 V2N(Vehicle to Network)의 응용서비스로 사용된다.2)
ToD의 유형은 0에서 3까지 4가지의 유형으로 정의된다. 유형 0은 ToD 운영자가 운전 행위를 관여하지 않으며, 운전 행위는 차량 내 운전자 또는 차량의 시스템에 작동하는 것을 말한다. 유형 1은 ToD 운영자가 Dispatcher 역할을 하며 운전 경로와 같은 전략적 수준의 운영만 수행하며, DDT(Dynamic Driving Task)는 차량 내의 사용자 또는 시스템에 의해 행동한다. 유형 2는 ToD 운영자가 간접적인 컨트롤러의 역할을 수행하며, OEDR(Objective and Event Detection and Response)과 같은 DDT의 Tactical Operation 작업만 수행한다. 유형 3은 ToD 운영자가 직접적인 컨트롤러의 역할을 수행하며, DDT에 의해 운전 행위를 수행한다. 이 경우, 차량 내의 운전자 또는 시스템은 운전 행위에 관여하지 않는다.3) 본 논문에서 제안하는 ToD 시스템은 유형 3에 해당하는 ToD를 말하며, 시스템의 도식도는 Fig. 1과 같이 나와 있다. 차량의 센서 및 제어 정보와 원격운전자의 제어 명령어는 TCP/IP 기반의 MQTT(Message Queuing Telemetry Transport) 프로토콜을 이용한다. 영상 정보는 저지연성을 보장하기 위해 비디오 스트리밍 프로토콜인 UDP(User Datagram Protocol)기반의 RTP(Real-time Transport Protocol)를 이용하여 차량의 영상정보를 원격 운전자에게 전송한다.
본 논문에서 AVM 카메라 기반의 원격 자율주차시스템에 대한 시스템 성능지표에 필요한 영상의 프레임률 및 지연시간(Latency) 그리고 제어 지연시간의 성능을 측정하고, 주차 소요시간과 정확성을 측정하여 원격 자율주차시스템의 가능성을 보여주고자 한다.
2장에서는 ToD의 원격제어와 영상 스트리밍, 네트워크에 관한 내용을, 3장에서는 원격자율주차 시스템의 AVM 시연을, 4장에서 성능 결과에 대해 설명한다.
2. 선행 연구
ToD 시스템에서 원격운전자가 인지, 판단, 제어를 위해서 실시간 영상정보를 획득해야 하며, 정밀한 제어가 되어야 한다. 본 연구에 사용된 원격 제어와 영상 스트리밍 방법에 대한 이론을 설명한다.
2.1 원격 제어
원격 제어를 하기 위해서 차량의 종방향 제어와 횡방향 제어가 필수적인 요소이다.
종방향 제어란 차량의 진행 방향에 대한 가⋅감속제어를 말한다. 원격 제어에서 원격운전자의 Brake와 Throttle의 입력값에 의해 차량의 목표 속도를 생성한다. 이 목표 속도가 차량에 정확하게 도달하기 위해서 PID(Proportional-Integral-Differential) 제어기를 사용한다. Fig. 2는 PID제어기를 이용한 차량의 종방향 제어를 보여준다.
여기서, PID제어기는 피드백 제어의 일종으로 비례, 적분, 미분 이득을 제어 대상 시스템에 입력으로 사용한다. 오차의 크기와 변화에 따른 이득 값에 따라 전체 시스템의 안정도 및 제어 성능이 결정된다.4)
(1) |
- where, vd : desired speed, u : acceleration, v : vehicle speed, KP : proportional gain, KI : integral gain, Kd : derivative gain, TP : throttle input or acceleration, BP : brake input or deacceleration
차량에서 종방향 제어의 입력값은 가속도 값이기 때문에 PID제어기를 통해서 나오는 출력을 가속도 값으로 변환해야 된다. 식 (1)에서 vd는 원격제어 측 속도 값이며, v는 차량의 실제 속도 값을 의미한다.
횡방향 제어는 Fig. 3에서처럼 차량 측에서 실시간으로 전송한 조향각 값을 원격 운전자 측에서 수신하여 PI 제어를 한다. PI제어기를 통해 나온 출력값은 원격 운전자의 조향각에 반영되어 차량과 동기화된다. PI제어를 통해서 원격운전자는 차량의 핸들을 제어하는 느낌을 받게 하는 Force feedback을 얻을 수 있다.
2.2 영상 스트리밍
원격운전자가 실시간 원격제어를 하기 위해 시각적인 정보는 중요하기 때문에 스트리밍 기술을 활용한다. 스트리밍은 영상의 데이터를 실시간 전송할 수 있는 기술로 사운드나 비디오 파일을 하나의 형태가 아닌 여러 개의 파일로 나누어 물 흐르듯(Streaming) 연이어 보내는 것이다.7)
스트리밍 기술은 압축 기술, 네트워크 기술, QoS 기술 3가지 요소로 나뉜다. 이 중 압축기술과 네트워크 기술은 없어서는 안 될 중요한 요소이다.
원격 운전에서 비디오 스트리밍의 중요한 요소로써 저지연성과 프레임율 개선을 목표로 잡았기 때문에 연결지향성 통신인 TCP/IP 전송 계층이 아닌 비연결지향 통신인 UDP 방식을 채택하여 사용하였다. Fig. 4에서 TCP의 경우 Data를 받았다는 것을 확인하는 과정이 포함되어 UDP보다 지연이 더 소요되기 때문에 저지연 스트리밍에 적합한 UDP를 채택하였다. 네트워크 응용계층인 스트리밍 네트워크 기술 중 오디오 및 비디오를 전달하기 위한 실시간 종단 간 전송 프로토콜인 RTP을 사용하였다.8)
영상 압축 기술은 표준화인 H.264/AVC10)를 이용하여 하드웨어 가속 부호화를 하도록 구성하였다.
영상을 스트리밍하기 위한 하드웨어 시스템은 NVIDIA Jetson Xavier AGX, CLMU-200N, Sekonix camera로 구성된다. 소프트웨어는 Linux기반의 운영체제에서 Open source multimedia framework인 Gstreamer API11)를 사용하여 영상 스트리밍 소프트웨어를 구성하였다. Fig. 5는 영상을 스트리밍하는 파이프라인을 보여준다. Fig. 5의 파이프라인에서 Video Src(Source)는 카메라로부터 받는 원본 영상이다. 이 영상은 UYVY 4:2:2 데이터 포맷, 1920×1080픽셀의 해상도와 30 FPS(Frames Per Second)를 가진다. 획득한 원본 영상을 H.264/AVC로 압축하기 위해서는 Video convert를 통해 YUV420 데이터 포맷으로 변환한다. 그 후 제한된 네트워크 대역폭(전송률)에서 영상을 전송하기 위해 Video rescaling을 통해 해상도를 640×480픽셀의 해상도로 줄인다. 축소된 영상을 Video encoding을 통해 1 Mbps 전송률로 H.264/AVC로 압축하고 RTP로 패킷화하여 UDP로 비디오를 전송한다. 각 파이프라인은 동기화 및 프레임율이 떨어지는 현상을 줄이기 위해 독립적으로 Thread를 적용하여 영상을 스트리밍을 처리하도록 하였다. 영상의 결과물은 Fig. 6과 같이 원격운전자의 모니터에서 모니터링 되어진다.
2.3 네트워크
본 연구에서 핵심 부분은 차량과 원격 운전자 측을 연결하기 위한 네트워크 통신이다. Fig. 7(a)의 개념도에서 보이는 것처럼, 상용망인 Uu 인터페이스를 통해 차량은 Uplink/downlink를 수행한다. 여기서 차량 데이터 및 영상 정보는 Uplink를 통해 이뤄지고, 원격 운전자가 보내는 제어 명령어는 Downlink를 통해 이뤄진다. 본 연구에서의 차량 무선 네트워크는 Qualcomm SDX55 칩셋이 탑재된 5G/LTE Router(HE-900) 모바일 네트워크(SKT)가 사용되며, ToD에서 데이터를 송수신하기 위해 Uplink/downlink를 수행하는 장치이다.
원격 운전자 측을 Server, 차량을 Client로 정의하여 TCP 및 UDP 통신을 하게 설계하였다. 원격 운전자와 차량 사이의 제어 명령어, 차량의 센서 값은 TCP/IP기반의 MQTT를 통해 메시지 셋을 가지고 전송된다. 여기서 MQTT는 ISO표준(ISO/IEC PRF 20922) 발행-구독 기반의 메시징 프로토콜이며, 발행-구독 메시지 패턴은 메시지 브로커에 의해 송⋅수신된다.9) 메시지 셋에는 차량과 원격 운전자로 나뉜다. 차량의 메시지 셋은 조향 각도 및 토크, 속도, 기어 상태 등 센서 값을 포함하고 있고, 원격운전자의 메시지 셋은 조향 각도, 속도, 방향지시등, 기어 등 제어 명령어를 포함하고 있다. 메시지 브로커의 IP 주소는 원격 운전자의 고정 IP 주소이다.
영상 스트리밍은 2.2절에서 설명한 바와 같이 UDP기반의 RTP를 사용하였으며, 저지연성에 초점을 맞췄다. 영상의 지연성은 무선 네트워크 환경에 따라 차이를 가진다. 차량 측에서 영상을 부호화하여 송신하여 원격 운전자가 복호화하여 영상 데이터를 수신되는 지연시간은 LTE기준 약 100 ms, 5G기준 약 30 ms 발생한다. 지연시간은 모바일 네트워크 통신망의 인프라와 장소 및 위치에 따라 차이가 있다.
3. 원격 자율주차시스템
본 연구에서 원격 자율주차를 위해 원격운전자는 차량 주변의 장애물을 인지해야 하고, 주차 라인을 찾아야 하는 어려움이 있다. 상용화된 차량의 경우는 운전자의 주차 편의를 위해 AVM(Around View Monitoring) 시스템이 차량에 내장되고 있다. 비슷한 방법으로 원격 운전자 측에서 실제 차량의 AVM 영상을 제공 받음으로써, 주차 및 좁은 길목 운전을 위한 시각적 편의성을 만들고자 한다. Fig. 8은 원격 자율주차 시스템에 구성방식을 보여준다. 이 시스템은 Drive mode와 Parking mode로 나눠진다. 두 모드는 동일한 제어 명령어를 기반으로 작동되고, 영상은 추가 및 전환되는 시스템으로 설계하였다. Parking mode인 경우에는 후진 주차에 초점을 맞췄기 때문에 AVM 영상 재생되고 전방과 후방 영상이 전환된다. 이처럼 설계된 AVM 시스템과 시연에 관련 설명한다.13)
3.1 AVM(Around View Monitoring)
차량에 190도 FOV(Field of view) 어안 카메라를 차량의 앞 범퍼, 운전석 사이드 미러, 조수석 사이드 미러, 트렁크 도어 측에 부착하였다.5) 카메라의 렌즈는 이미지에 심각한 왜곡을 일으키기 때문에 AVM 영상 수행하기 전에 카메라 Calibration이 선행되어야 한다.
실제 이미지는 사용된 렌즈, 렌즈와 이미지 사이의 거리, 렌즈와 이미지 센서가 이루는 각 등 카메라 내부의 기구적인 부분에 의해서 크게 영향을 받는다. 따라서, 영상 간의 기하학적인 변환이나 3차원점들의 투영 위치를 구하고 3차원의 월드 좌표를 복원할 때는 이러한 내부 요인을 제거해야 정확한 계산이 가능해진다. 이러한 내부 요인의 파라미터 값을 구하는 과정을 카메라 캘리브레이션이라고 부른다.6)
카메라 왜곡의 종류는 방사형 왜곡과 접선 왜곡이 있다. 방사형 왜곡으로 인해 직선이 곡선으로 나타난다. 이와 유사하게, 이미지 촬영 렌즈가 이미징 평면과 완벽하게 평행하게 정렬되지 않으면 접선 왜곡이 발생한다. 이는 이미지의 일부 영역이 예상보다 가깝게 보일 수 있다.12) 카메라 Calibration은 7×6 그리드 체커보드를 이용하여 내부 매개변수 3×3행렬과 왜곡 계수 1×4 벡터를 아래와 같은 식 (2), (3)을 얻는다.
(2) |
(3) |
여기서, (fx, fy)는 카메라 초점거리이고, (cx, cy)는 광학 중심(Optical center)이다. k1, k2는 방사형 왜곡 계수, p1, p2는 접선 왜곡 계수이다.
다음은 카메라 외부 매개변수를 얻는 작업이 필요하다. 카메라 외부 매개변수는 카메라 좌표계와 월드 좌표계 사이의 변환 관계를 설명하는 매개변수로서, 두 좌표계 사이의 회전(Rotation) 및 평행이동(Translation) 변환으로 표현된다. 카메라 외부 매개변수는 카메라 고유의 매개변수가 아니기 때문에 카메라를 어떤 위치에 어떤 방향으로 설치했는지에 따라 달라지고 또한 월드 좌표계를 어떻게 정의했는지에 따라서 달라진다. 본 연구에서는 바닥 면을 재투영하기 위해서 원근 변환을 이용하여 3×3 변환 행렬의 매개변수와 이미지의 크기 변환, 이동 변환 매개변수를 조정하여 조감도 영상으로 변환한다.
3.2 원격 자율주차 시스템
AVM을 적용한 원격 자율주차시스템은 Fig. 11의 스케줄링처럼 수행된다. 처음에 차량이 원격제어가 가능한 상태를 확인하고, 차량에서 원격 운전자(Operator)에게 원격지원 요청한다. 원격 운전자의 운전 장치는 초기화가 실행된 상태에서 원격 지원을 승인하면, 차량으로부터 상태 정보 및 영상 정보를 받게 된다. 여기서 차량 상태 정보는 원격 제어 상태, 차량의 제어정보(조향각, 속도 등), 센서(GPS 등)를 포함하며, 영상 정보는 Fig. 6의 영상과 같은 차량 전방, 후방, 좌, 우 영상 정보가 포함된다. 차량으로부터 받은 차량 데이터를 통해서 원격 운전자의 핸들은 2.1 원격제어의 횡방향 제어를 기반으로 동기화가 된다. 차량에서는 AVM 영상을 생성하며 원격 운전자가 Parking mode 실행하여 차량에 명령어를 전달하면, 차량에서는 원격 운전자에게 AVM 영상 정보를 전송한다. 차량으로부터 수신된 영상정보는 Panorama view 영상을 생성하기 위해 영상처리가 수행되며, 이후 모니터에 출력한다. 원격 운전자의 운전 장치 조작 입력은 차량을 제어하기 적절한 데이터로 변환되어 제어 명령 정보로 전송된다. 제어 명령 정보 중 차량의 속도는 종방향 제어 알고리즘을 거처 차량이 원격 제어된다.
3.3 시연(Testing)
원격 자율주차시스템 충북 청주시에 위치한 C-track의 주차구역에서 실시하였다. Remote Operation Center(ROC)에는 Linux(Ubuntu 20.04) OS기반의 PC와 Driving device(Logitech G29)를 이용하였다. 차량에는 NVIDIA Jetson Xavier AGX, CLMU-200N, Sekonix camera, 5G/LTE Router로 설치하여 구성하였다.
ROC에서 전방, 좌, 우 원격 모니터링 디스플레이는 5120×1440 해상도로 출력되는 삼성전자 G9 49인치 게이밍 모니터가 사용되었고, AVM 모니터링 디스플레이는 7인치 디스플레이를 사용하였다.
ROC에서 원격운전자의 Driving device 조작 버튼을 활용하여 차량의 제어 명령어를 Fig. 12와 같이 재정의하였다. Fig. 12는 ROC에서 AVM을 적용한 차량을 원격 발렛 주차하는 일련의 과정과 설치된 시스템을 보여준다.
시연한 영상은 [https://youtu.be/3Y5wNjEH8JY]에서 확인할 수 있다.
4. 성능 결과
시험 차량은 Kona Hybrid을 사용하였으며, 차량내 5G/LTE Router(HE-900)을 설치하고, 원격제어스테이션은 Ethernet(100Mbps급) 사용하여 통신하였다.
4.1 지연시간(Latency Time)
지연시간은 원격 제어를 하기 위해서 가장 중요한 지표이다. 지연시간을 최소화해야 원격 운전자가 차량을 제어할 때 이질감을 최소화할 수 있고, 원격 모니터링은 장애물 및 주변 상황을 빠르게 인지할 수 있다. 이처럼 지연시간은 원격 자율주차시스템에서 중요한 소요이기 때문에 제어 지연시간과 원격 모니터링 지연시간을 측정하였다.
제어 지연시간은 RTT(Round-Trip Time)을 기준으로 100 ms를 동안 제어 루프가 1회 반복되는지 확인하였다. 여기서 제어루프 1회는 Remote Operation Center(ROC)에서 Human driving device을 통해 생성한 조향, Accelerate, Brake 입력을 통해 차량에 전송하고 차량의 제어보드에서 전송받은 입력 데이터를 CAN 통신으로 변환하여 차량을 제어함과 동시에 차량의 조향 및 속도 정보를 ROC로 전송하는 과정을 말한다.
측정방법은 ROC에서 제어 입력을 5G/LTE 통신을 통해 Human driving 데이터를 보낼 때 KST(한국 표준시)를 측정하고 차량의 제어 보드에서의 차량 데이터를 수신받는 시간을 측정하여 차이를 구한다.
(4) |
RTT=Round-Trip TimeTr : Receive Time, Ts : Send Time
측정 결과 제어 RTT는 최저 0.0289초이며, 최대 0.599초, 평균 0.0312초로 측정되었다.
영상 지연시간은 End-to-end 지연시간을 측정하였으며, 차량의 카메라 단에서부터 ROC의 모니터에 표출되는 시간을 측정하였다. 영상을 송신하는 과정에는 영상을 부호화하고 복호화하는 과정이 포함된다. 통신방식은 차량 내의 5G/LTE Router가 사용되었으며 네트워크 상태는 5G이다. 종단간 지연시간은 약 190 ms가 측정된다. 각각 세부적인 지연시간은 카메라에서 Car PC까지의 약 90 ms, Car PC에서 전처리 및 부호화에 약 31 ms, 5G 네트워크에서 약 35 ms, Operator PC에서 약 30 ms가 측정되었으며 오차범위는 ±5 ms이내이다.
5. 결 론
기존의 원격 운전 시스템의 경우 전방, 좌, 우, 후방의 영상으로 주차를 하기 위해 시각적인 정보가 제한적이다. 본 연구에서 기존의 원격 운전 시스템을 기반으로 AVM 카메라를 적용하여 원격 주차가 가능하도록 시스템을 개발했다. AVM 카메라를 통해서 원격 운전자는 사각지대가 없는 영상정보를 기반으로 정확한 인지, 판단, 제어를 수행할 수 있다. 이 시스템에는 포함되지 않았지만, AVM 카메라에 주차공간 인식, 주차선 검출, 장애물 감지 등 인공지능적인 기능을 포함하여 원격 자율주차시스템을 발전시킬 수 있다. 앞으로 원격 자율주차 시스템 개선을 위해 차량의 조향에 따른 주차 가이드 라인을 추가할 예정이다.
본 논문에 보고된 성능 결과는 앞으로 무선 네트워크 5G SA(Standard Alone)이 보편화 되고, 무선 네트워크의 Latency와 BPS(Bit Per Second)가 향상될수록 개선될 것이다.
Acknowledgments
A part of this paper was presented at the KSAE 2022 Spring Conference
이 논문은 2022년도 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임(No.2022-0-00199, 커넥티드 자율주행을 위한 5G-NR-V2X 성능 검증). 이 논문은 2022년도 정부(경찰청)의 재원으로 과학치안진흥센터의 지원을 받아 수행된 연구임(No.092021D75000000, AI 운전능력평가 표준화 및 평가 프로세스 개발).
References
- J. Shin, G. Kim and J. Kim, A Study on Ways to Improve Parking Lot Usage Efficiency to Solve Parking Problems in Seoul, Seoul Digital Foundation Policy Research, 2020.
- 5GAA Automotive Association, “C-V2X Use Cases Volume II: Examples and Service Level Requirements,” White Paper, 2020.
- 5GAA Automotive Association, Tele-Operated Driving (ToD): Use Cases and Technical Requirements.
- K. Lee, M. Kim, Y. Ko, J. Bae and M. H. Lee, Development of Control and Mangement System for Unmanned Container Transporter, KACC, 2009.
- D. Lee and S. Kee, “Real-time Implementation of the Parking Line Departure Warning System Using Partitioned Vehicle Region Images,” Transactions of KSAE, Vol.27, No.7, pp.553-560, 2019. [https://doi.org/10.7467/KSAE.2019.27.7.553]
- J. Kim, D. Lee, B. J. Yu and S. C. Kee, “A Study on the Parking Point Searching for Wireless Charging of Electric Vehicles,” Transactions of KSAE, Vol.28, No.7, pp.483-489, 2020. [https://doi.org/10.7467/KSAE.2020.28.7.483]
- Wikipedia, Streaming Medial, https://en.wikipedia.org/wiki/Streaming_media, , 2022.
- Wikipedia, Real-time Transport Protocol, https://en.wikipedia.org/wiki/Real-time_Transport_Protocol, , 2022.
- Wikipedia, MQTT [Online], https://en.wikipedia.org/wiki/MQTT, , 2022.
- VideoLAN Organization, X264 - a Free Open-source h.264 Encoder, http://www.videolan.org/developers/x264.html, , 2022.
- GStreamer Team, Gstreamer - Open Source Multimedia Framework, https://gstreamer.freedesktop.org/, , 2022.
- OpenCV, Camera Calibration, https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html, , 2022.
- S. Lee and S. C. Kee, “AVM Camera-based Teleoperated Valet Parking System,” KSAE Spring Conference Proceedings, pp.1062-1068, 2022.