ASAM OpenCRG format은 도로 표면을 설명하기 위한 파일 형식으로, 도로 표면을 스캔하여 얻은 고정밀 고도 데이터를 저장하기 위해 개발되었습니다.
정밀한 고도 데이터는 차량 부품이나 차량 자체의 현실적인 내구성 시뮬레이션을 가능하게 하고, 주행 시뮬레이터에 있어서는 도로 표면의 현실적이 3D 렌더링이 가능하게 합니다.
따라서 OpenCRG 형식으로 저장된 도로의 고정밀 고도 데이터는 다음 분야에서 활용될 수 있습니다.
도로 스캔을 통해 얻은 데이터는 CRG(Curved Regular Grid) 라는 레이아웃에 저장됩니다. CRG를 사용하여 데이터를 저장하고 사용했을 때 얻을 수 있는 장점은 다음과 같습니다.
도로 표면을 표현 및 저장하는 데 사용되는 기본적인 원리는 데이터를 도로 reference line을 따라 grid에 위치시키는 것입니다. reference line은 시작점과 heading angle로 표현됩니다. grid는 각 선을 따라 열과 행으로 생성되고, grid의 각 셀은 elevation 값을 가집니다. 도로의 중심선은 추가로 종점 위치를 가지는데, 이는 도로에 데이터를 배치할 때 발생할 수 있는 potential drift(위치의 점진적인 변위, 시간이 지남에 따라 데이터가 원래 의도한 위치에서 조금씩 벗어나는 현상)를 감지하고 수정하는데 사용할 수 있습니다.
OpenCRG standard는 clear-text header를 가지고, 헤더는 다음과 같은 구성성분으로 이루어져 있습니다.
ASAM OpenCRG format으로 작성된 도로 표면 데이터는 OpenDRIVE road network를 표현하는데 사용될 수 있고, ASAM의 또다른 표준인 OpenSCENARIO는 차량 기동과 같은 주행 시뮬레이션의 동적 콘텐츠를 설명할 수 있습니다.
이렇게 ASAM의 세 가지 표준(OpenCRG, OpenDRIVE, OpenSCENARIO)은 서로를 보완하며, 차량 시뮬레이션 프로그램이 정적 및 동적 콘텐츠를 모두 다룰 수 있게 해줍니다.
아래의 링크를 따라 세팅을 진행하면 됩니다.
ASAM OpenCRG Documentation
먼저 OpenCRG software package를 다운로드 받은 뒤, 압축 해제를 해준 상태 여야 합니다.
그 다음부터는 5.3.3. Initializing the MATLAB tools의 내용을 따라가면 됩니다.
명령창에서 run {OpenCRG software package 위치}/matlab/crg_init
을 실행해줍니다.
mkdir {OpenCRG software package 위치}/matlab/temp
cd {OpenCRG software package 위치}/matlab/temp
crg_init
을 명령창에 입력합니다.
crg_demo
를 실행시켰을 때, demo 파일들이 생성된다면 세팅이 완료됩니다.
software package의 demo 폴더 안에 다음과 같은 OpenCRG 파일을 생성하는 matlab 파일이 들어있습니다.
crg_demo_gen_refline.m
Generate an OpenCRG file with a smooth reference line.
crg_demo_gen_sl_mue.m
Generate a synthetic OpenCRG file with friction coefficients.
crg_demo_gen_sl_road.m
Generate a synthetic OpenCRG file representing a complete road.
crg_demo_gen_sl_surf.m
Generate a synthetic OpenCRG file representing a straight road.
crg_demo_gen_surface.m
Generate a OpenCRG file for a given reference line from measurement data.
crg_demo_gen_syntheticStraight.m
Generate a synthetic OpenCRG file representing a straight road.
crg_demo_gen_target.m
Generate a surface OpenCRG file.
명령 창에 사용하고자 하는 matlab 파일명과 생성될 .crg 파일 명을 사용하여 명령을 실행시킵니다.
{matlab 파일명}('{생성할 .crg 파일 명}')
ex)crg_demo_gen_sl_road('new_road.crg')
new_road.crg 파일을 읽은 후 새로운 변수에 할당합니다.
ex) data = crg_read(new_road.crg)
crg_show를 사용하여 생성된 도로를 visulaize 합니다. ex) crg = crg_show(data)
crg_show를 통해 6개의 figure가 생성됩니다.
Figure1: CRG reference line map
Figure2: CRG reference line elevation
Figure3: CRG elevation grid cuts and limits
Figure4: CRG elevation grid surface - w/o slope and banking
Figure5: CRG road surface
Figure6: CRG information