자율주행

7-4 HD 라이브 맵 레이어 구성

coding art 2022. 10. 13. 22:40
728x90

 

참조: Use HERE HD Live Map Data to Verify Lane Configurations

https://kr.mathworks.com/help/driving/ug/use-here-hd-live-map-data-to-verify-lane-configurations.html

 

HD 맵을 구성하는 레이들을 불러내어 Route를 지도에 표현하는 방법을 살펴보았으므로 이번 절에서부터는 자율주행 차량을 대상으로 체계적으로 적용하는 법을 살펴보자.

 

① HERE HDLM 서비스를 사용하여 기록된 GPS 시퀀스 데이터에 대한 도로 및 차선 정보를 읽어 들이자.

 

⓶ 기록된 GPS 데이터에 대해서 찾아내는 것이 가능한(heuristic) 경로 일치 접근 방식을 적용하자. GPS 데이터는 대부분 부정확하므로 측정해 기한된 지리적 좌표와 도로망 표현과 일치시키는 문제 해결이 필요하다.

 

⓷ 차량과 관련된 환경 속성을 식별하자. 지도 컨텍스트 내에서 차량을 성공적으로 찾으면 차량과 관련된 도로 및 차선 속성을 사용하여 차량의 온보드 카메라 센서에 의해 기록된 데이터를 확인할 수 있을 것이다.

 

기록된 드라이브에서 데이터를 로드하여 시작하자. 이 기록된 데이터는 자율주행 차량을 연구개발하는 Udacity® Self-Driving Car 팀에서 수집한 주행 데이터 세트에서 가져온 것이다. 이 데이터에는 전방 단안 카메라로 캡처한 비디오와 GPS로 기록된 차량 위치 및 속도가 포함되어 있다.

 

centerCamera.avi 카메라 비디오 파일과 해당 비디오 타임스탬프를 로드한다.

 

비데오 영상 첫 번째 프레임을 출력하면 아래 왼쪽에 스탠포드 대학 근처의 팔로알토 지역 나무가 우거진 도로 영상을 볼 수 있다.

MATLAB 데이터 파일인 gpsSequence.matMAT-file로부터 GPS 데이터를 읽어 geoplayer를 사용하여 아래 오른쪽에서처럼 주행기록이 작도된 네비게이션 맵을 얻을 수 있다.

 

사진과 맵을 자세히 살펴보면 3개의 차선 중앙에 자율주행 차량이 있으나 Centerline(중앙선) 으로 구분된 차선 왼쪽에 차량이 있는 것으로 작도되어 있다.

아울러 사진 속의 차선을 살펴보면 노란색 중앙선이 실제로는 없음을 확인할 수 있다. 실제 상황에서 이 정도 부정확성은 큰 사고의 원인이 될 수 있을 것이다.

이번에는 TopologyGeometry 레이어를 읽어 작도해 보자.

아래와 같이 위도, 경도, 링크, 노드 및 기타 정보가 출력된다.

이 정보를 사용하여 맵을 작도해 보면 맵 상에 주행 route를 볼 수 있다.

드라이브를 따라 기록된 GPS 위치가 주어지면 경로 일치 발견 알고리즘을 사용하여 기록된 위치에 해당하는 네트워크의 도로를 결정할 수 있다. 이 예에서는 기록된 지리적 지점에 가장 가까운 링크를 공간적으로 고려하는 경로 일치 발견 알고리즘(heuristic route matching algorithm)을 사용한다. 네트워크화 된 도로를 나타내는 링크는 사이 사이에 교차로 및 막다른 길을 포함하는 노드 데이터를 포함하고 있어 polyline 형태로 가시화가 가능하다. 따라서 경로 일치 발견 알고리즘은 차량의 진행 방향 즉 포즈(pose)를 적용하여 가장 가능성 있는 링크를 결정한다. 이 경로 일치 접근 방식은 도로 연결성, 차량 접근 또는 위치 오류가 높은 GPS 데이터를 고려하지 않으며, 따라서 이 접근 방식은 모든 시나리오에 적용되지 않을 수도 있다.

 

※ 결국 경로일치 발견은 GPS 데이터의 오차가 크므로 HD 맵 상에서 정확한 위치를 찾아내는 것이 아니며 단지 경로 상의 어디쯤 있을 것인지 추정하는 수준으로서 차선 위치 파악 조차도 안되기 때문에 결국은 카메라 비젼에 의존하지 않고서는 어느 정도 유용한 위치확인은 불가능하다.

 

HelperGetGeometry 함수는 주어진 토폴로지 레이어에서 기하 정보를 추출하고 해당 링크가 있는 테이블에 이 정보를 반환한다.

 

나름 경로를 찾기 위해 TopologyGeometry 와 laneTopology 를 불러와 상세히 분석한 아래의 결과를 보자. 사각형으로 표현된 찾아낸 Lane Group을 보면 폭이 약 10 m, 높이가 약 25 m 정도로 확인이 된 셈이다. 즉 폭이 10 m 가 된다는 것은 결국 GPS 데이터의 오차 범위 수준이라는 점을 확인할 수 있다.

 

대략적인 위치 파악 수준 정도이다. 차량이 밀집해 운행하는 상태에서 안전 운행을 위한 데이터로서 사용할 수는 없으나 고속도로 톨게이트나 출구(Exit) 위치 파악을 위해서는 도움이 될 수 있을 것이다. 카메라 비젼을 중심으로 사용하는 Teslar 의 오토파일럿에서는 고속도로 출구로 빠져 나가는 과정에서 핸들의 회전 움직임 폭이 HD 맵을 사용하는 사례에 비해 상당히 크다는 보고가 있는데 이는 HD 맵의 유용성을 보여주는 사례로 볼 수 있을 것이다.

https://kr.mathworks.com/help/driving/ug/use-here-hd-live-map-data-to-verify-lane-configurations.html

 

HD 맵을 구성하는 레이들을 불러내어 Route를 지도에 표현하는 방법을 살펴보았으므로 이번 절에서부터는 자율주행 차량을 대상으로 체계적으로 적용하는 법을 살펴보자.

 

① HERE HDLM 서비스를 사용하여 기록된 GPS 시퀀스 데이터에 대한 도로 및 차선 정보를 읽어 들이자.

 

⓶ 기록된 GPS 데이터에 대해서 찾아내는 것이 가능한(heuristic) 경로 일치 접근 방식을 적용하자. GPS 데이터는 대부분 부정확하므로 측정해 기한된 지리적 좌표와 도로망 표현과 일치시키는 문제 해결이 필요하다.

 

⓷ 차량과 관련된 환경 속성을 식별하자. 지도 컨텍스트 내에서 차량을 성공적으로 찾으면 차량과 관련된 도로 및 차선 속성을 사용하여 차량의 온보드 카메라 센서에 의해 기록된 데이터를 확인할 수 있을 것이다.

 

기록된 드라이브에서 데이터를 로드하여 시작하자. 이 기록된 데이터는 자율주행 차량을 연구개발하는 Udacity® Self-Driving Car 팀에서 수집한 주행 데이터 세트에서 가져온 것이다. 이 데이터에는 전방 단안 카메라로 캡처한 비디오와 GPS로 기록된 차량 위치 및 속도가 포함되어 있다.

 

centerCamera.avi 카메라 비디오 파일과 해당 비디오 타임스탬프를 로드한다.

 

비데오 영상 첫 번째 프레임을 출력하면 아래 왼쪽에 스탠포드 대학 근처의 팔로알토 지역 나무가 우거진 도로 영상을 볼 수 있다.

MATLAB 데이터 파일인 gpsSequence.matMAT-file로부터 GPS 데이터를 읽어 geoplayer를 사용하여 아래 오른쪽에서처럼 주행기록이 작도된 네비게이션 맵을 얻을 수 있다.

 

사진과 맵을 자세히 살펴보면 3개의 차선 중앙에 자율주행 차량이 있으나 Centerline(중앙선) 으로 구분된 차선 왼쪽에 차량이 있는 것으로 작도되어 있다.

아울러 사진 속의 차선을 살펴보면 노란색 중앙선이 실제로는 없음을 확인할 수 있다. 실제 상황에서 이 정도 부정확성은 큰 사고의 원인이 될 수 있을 것이다.

 

이번에는 TopologyGeometry 레이어를 읽어 작도해 보자.

아래와 같이 위도, 경도, 링크, 노드 및 기타 정보가 출력된다.

이 정보를 사용하여 맵을 작도해 보면 맵 상에 주행 route를 볼 수 있다.

드라이브를 따라 기록된 GPS 위치가 주어지면 경로 일치 발견 알고리즘을 사용하여 기록된 위치에 해당하는 네트워크의 도로를 결정할 수 있다. 이 예에서는 기록된 지리적 지점에 가장 가까운 링크를 공간적으로 고려하는 경로 일치 발견 알고리즘(heuristic route matching algorithm)을 사용한다. 네트워크화 된 도로를 나타내는 링크는 사이 사이에 교차로 및 막다른 길을 포함하는 노드 데이터를 포함하고 있어 polyline 형태로 가시화가 가능하다. 따라서 경로 일치 발견 알고리즘은 차량의 진행 방향 즉 포즈(pose)를 적용하여 가장 가능성 있는 링크를 결정한다. 이 경로 일치 접근 방식은 도로 연결성, 차량 접근 또는 위치 오류가 높은 GPS 데이터를 고려하지 않으며, 따라서 이 접근 방식은 모든 시나리오에 적용되지 않을 수도 있다.

 

※ 결국 경로일치 발견은 GPS 데이터의 오차가 크므로 HD 맵 상에서 정확한 위치를 찾아내는 것이 아니며 단지 경로 상의 어디쯤 있을 것인지 추정하는 수준으로서 차선 위치 파악 조차도 안되기 때문에 결국은 카메라 비젼에 의존하지 않고서는 어느 정도 유용한 위치확인은 불가능하다.

 

HelperGetGeometry 함수는 주어진 토폴로지 레이어에서 기하 정보를 추출하고 해당 링크가 있는 테이블에 이 정보를 반환한다.

 

나름 경로를 찾기 위해 TopologyGeometry 와 laneTopology 를 불러와 상세히 분석한 아래의 결과를 보자. 사각형으로 표현된 찾아낸 Lane Group을 보면 폭이 약 10 m, 높이가 약 25 m 정도로 확인이 된 셈이다. 즉 폭이 10 m 가 된다는 것은 결국 GPS 데이터의 오차 범위 수준이라는 점을 확인할 수 있다.

 

대략적인 위치 파악 수준 정도이다. 차량이 밀집해 운행하는 상태에서 안전 운행을 위한 데이터로서 사용할 수는 없으나 고속도로 톨게이트나 출구(Exit) 위치 파악을 위해서는 도움이 될 수 있을 것이다. 카메라 비젼을 중심으로 사용하는 Teslar 의 오토파일럿에서는 고속도로 출구로 빠져 나가는 과정에서 핸들의 회전 움직임 폭이 HD 맵을 사용하는 사례에 비해 상당히 크다는 보고가 있는데 이는 HD 맵의 유용성을 보여주는 사례로 볼 수 있을 것이다.