자율 발렛 주차 시스템 개발 및 시뮬레이션 결과 development of...

5
2018 한국자동차공학회 춘계학술대회 1 자율 발렛 주차 시스템 개발 시뮬레이션 결과 안준우 · 김민수 · 임규범 · 김민성 · 박재흥 서울대학교 융합과학부 Development of Autonomous Valet Parking System and Simulation Result Joonwoo Ahn·Minsoo Kim·GyuBeom Im·Minsung Kim·Jaeheung Park Graduate School of Convergence Science and Technology, Seoul National University, Gwanggyo-ro, Yeongtong-gu, Suwon, Korea. Abstract: In this paper, we propose an efficient and safe method for autonomous valet parking system with a driving strategy considering uncertain environment in parking spaces. The proposed method consists of a vehicle controller with decision-making algorithms, a global and local path generation algorithm, and a three-dimensional LiDAR-based parking lot detection algorithm. The proposed method was validated via simulation results. Key words: Autonomous Valet Parking (자율 발렛 주차), Path planning (경로 생성), Path following (경로 추종), Decision making (판단 결정), Parking control (주차 제어), Parking lot detection (주차 공간 인식) Nomenclature , : steering angle, angle difference between vehicle heading and a look-ahead point [degree] , : target velocity command, maximum target velocity [m/s] . Subscripts : main reference path , , ℎ : sub-reference paths, (among these paths, one path becomes ) , : waypoint of reference path 1. 서 론 자율 주행 자동차에 대한 관심이 더욱 증대 되 면서 1) , 일반적인 고속 도로 주행 상황뿐만 아니라, 도심 주행 상황에서의 다양한 자율 주행 기술들이 선보이고 있다. 대표적인 도심 주행 상황에서의 자율 주행 기술로는 주차 보조 시스템이 있으며, 주차 보조 시스템 관련 연구는 조향만을 제어하는 연구와 속도도 함께 제어하는 연구로 나뉘어 진다. 후자는 자율 주차 시스템 연구로 진행 되었고, 더 * 안준우 E-mail: [email protected]. 나아가 자율 주행 기술과 통합된 자율 발렛 주차 시스템 연구로 확장되고 있다 2) . 자율 발렛 주차는 일반적으로 좀 더 다양한 센서 정보를 활용하여 경로 생성, 차량 제어 및 판단 등 이 가능한 것을 의미하며 일반적인 도로 상황 보다 상대적으로 차선 및 신호 정보 등이 불명확한 주차 장 환경에서 이뤄진다. 주차장 환경은 대표적인 비 -구조화된(Unconstructed Environment) 도로 환경 이고, 차량뿐만 아니라, 다양한 장애물도 고려해야 하기 때문에 복잡하다. 따라서, 이런 환경에서 효 율적인 경로 생성 및 주행 전략을 세우는 것은 쉽 지 않다. 본 논문은 주차 공간과 같이 비-구조화된 도로 환경에서 불확실한 주변 환경을 고려한 경로 계획과 주행 전략을 세워 자율 발렛 주차를 안전하 고 효율적으로 수행하는 방법을 제안한다. 본 논문에서는 그래프(Graph) 기반의 전역 경로 생성 방법, Hybrid A*를 이용한 지역 경로 생성 방 법 및 주행 단계 별 판단 결정 방법을 제안하며, 라 이다(LiDAR)를 이용한 주차 공간 인식 및 차량 제 어 방법을 제안한다. 또한, 시뮬레이션상에서 주차 장 환경 및 자율 주행 차량을 구성하고, 위 방법들 에 대한 실행 결과를 논문에 포함한다.

Upload: hacong

Post on 10-Jul-2019

238 views

Category:

Documents


0 download

TRANSCRIPT

2018 한국자동차공학회 춘계학술대회

1

자율 발렛 주차 시스템 개발 및 시뮬레이션 결과

안준우 · 김민수 · 임규범 · 김민성 · 박재흥

서울대학교 융합과학부

Development of Autonomous Valet Parking System and Simulation Result

Joonwoo Ahn·Minsoo Kim·GyuBeom Im·Minsung Kim·Jaeheung Park

Graduate School of Convergence Science and Technology, Seoul National University, Gwanggyo-ro, Yeongtong-gu, Suwon, Korea.

Abstract: In this paper, we propose an efficient and safe method for autonomous valet parking system with a driving strategy

considering uncertain environment in parking spaces. The proposed method consists of a vehicle controller with decision-making

algorithms, a global and local path generation algorithm, and a three-dimensional LiDAR-based parking lot detection algorithm.

The proposed method was validated via simulation results.

Key words: Autonomous Valet Parking (자율 발렛 주차), Path planning (경로 생성), Path following (경로 추종),

Decision making (판단 결정), Parking control (주차 제어), Parking lot detection (주차 공간 인식)

Nomenclature

𝛿𝑐𝑚𝑑 , 𝛿𝑒𝑟𝑟 : steering angle, angle difference between

vehicle heading and a look-ahead point [degree]

𝑉𝑡𝑎𝑟𝑔𝑒𝑡, 𝑉𝑚𝑎𝑥 : target velocity command, maximum

target velocity [m/s] .

Subscripts

𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛: main reference path

𝑃𝑎𝑡ℎ𝑔𝑙𝑜𝑏𝑎𝑙 , 𝑃𝑎𝑡ℎ𝑙𝑜𝑐𝑎𝑙, 𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔 : sub-reference paths,

(among these paths, one path becomes 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛)

𝑃𝑐𝑎𝑟 , 𝑃𝑙𝑜𝑜𝑘 : waypoint of reference path

1. 서 론

자율 주행 자동차에 대한 관심이 더욱 증대 되

면서1), 일반적인 고속 도로 주행 상황뿐만 아니라,

도심 주행 상황에서의 다양한 자율 주행 기술들이

선보이고 있다. 대표적인 도심 주행 상황에서의

자율 주행 기술로는 주차 보조 시스템이 있으며,

주차 보조 시스템 관련 연구는 조향만을 제어하는

연구와 속도도 함께 제어하는 연구로 나뉘어 진다.

후자는 자율 주차 시스템 연구로 진행 되었고, 더

* 안준우 E-mail: [email protected].

나아가 자율 주행 기술과 통합된 자율 발렛 주차

시스템 연구로 확장되고 있다2).

자율 발렛 주차는 일반적으로 좀 더 다양한 센서

정보를 활용하여 경로 생성, 차량 제어 및 판단 등

이 가능한 것을 의미하며 일반적인 도로 상황 보다

상대적으로 차선 및 신호 정보 등이 불명확한 주차

장 환경에서 이뤄진다. 주차장 환경은 대표적인 비

-구조화된(Unconstructed Environment) 도로 환경

이고, 차량뿐만 아니라, 다양한 장애물도 고려해야

하기 때문에 복잡하다. 따라서, 이런 환경에서 효

율적인 경로 생성 및 주행 전략을 세우는 것은 쉽

지 않다. 본 논문은 주차 공간과 같이 비-구조화된

도로 환경에서 불확실한 주변 환경을 고려한 경로

계획과 주행 전략을 세워 자율 발렛 주차를 안전하

고 효율적으로 수행하는 방법을 제안한다.

본 논문에서는 그래프(Graph) 기반의 전역 경로

생성 방법, Hybrid A*를 이용한 지역 경로 생성 방

법 및 주행 단계 별 판단 결정 방법을 제안하며, 라

이다(LiDAR)를 이용한 주차 공간 인식 및 차량 제

어 방법을 제안한다. 또한, 시뮬레이션상에서 주차

장 환경 및 자율 주행 차량을 구성하고, 위 방법들

에 대한 실행 결과를 논문에 포함한다.

2018 한국자동차공학회 춘계학술대회

2

Fig. 1 자율 주행 발렛 주차 시스템 도식도

2. 자율 발렛 주차 시스템

2.1 시스템 도식도

Fig. 1은 자율 주행 발렛 주차 시스템 도식도를

나타낸다. 왼쪽 도식도(V-rep Simulator)는 자율

주행 시뮬레이터를 나타낸다. 이 시뮬레이터에는

주차장 환경 및 3차원 라이다 센서인 벨로다인이

장착된 자율 주행 자동차가 포함 되어있다. 이 센

서로 차량을 중심으로 반경 100 m, 높이 5 m 범위

내에의 장애물 데이터를 격자 지도 형태로 만들

수 있다. 시뮬레이터에서는 주차장 환경의 원점

기준으로 차량의 위치, 방향, 현재 속도 그리고

조향각 데이터를 제공한다. 또한 시뮬레이터에서

조향각 및 속도 명령을 받아 차량을 제어한다.

오른쪽 도식도(Autonomous Driving System)는 자

율 주행 시스템을 나타낸다. 이 시스템에는 크게

i) 인식, ii) 판단 및 경로 계획 그리고 iii) 경로

추종 3단계로 이루어져 있다. i) 인식 파트에는 주

차장 및 주변 도로를 그래프 형태로 표현한 지도

그리고 차량 주변 100 m 범위에서 장애물 유무 정

보가 0.5 m 단위로 담긴 격자 지도가 있다. 또한,

이 파트에는 격자 지도를 바탕으로 주차 공간에

차량의 유무 정보를 인식하는 알고리즘도 포함된

다. ii) 판단 및 경로 계획 단계에는 판단 알고리

즘(Decision Maker) 및 3가지 경로 계획 알고리즘

(Global, Local and Parking Path Planner)이 있

다. 판단 단계에서는 격자 지도 정보 및 빈 주차

공간 정보를 이용하여 3가지 경로 (Global, Local,

Parking)를 취사 선택하고, 상황 및 경로에 맞는

목표 속도를 결정한다3)-4).

(a) (b)

Fig. 2 초기화 단계 시나리오. (a) 차량의 위치 및 방향을 고

려하여 전역 경로 요청 및 최대 목표 속도 설정, (b) Global

Path Planner로부터 받은 전역 경로(𝑃𝑎𝑡ℎ𝑔𝑙𝑜𝑏𝑎𝑙)를 추종

iii) 경로 추종 단계에서는 차량이 판단 단계로

부터 받은 경로를 최소한의 오차를 내며 추종 할

수 있도록 조향각 및 제어 속도를 결정한다. Pure

pursuit5) 방법을 통해 차량이 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛상에 있는

𝑃𝑙𝑜𝑜𝑘에 도달 할 수 조향각을 구한다. 𝑃𝑙𝑜𝑜𝑘은 Look-

ahead 점으로 경로상에 도달할 목표 위치를 나타낸

다. 높은 곡률에서는 경로를 안정적으로 추종할 수

있도록 곡률-속도 관계를 통해 계산된 속도를 추종

한다. 그렇지 않은 곡률에서는 𝑉𝑡𝑎𝑟𝑔𝑒𝑡을 추종한다.

𝑉𝑡𝑎𝑟𝑔𝑒𝑡 은 추종 목표 속도를 나타내며, Decision

Maker 알고리즘에서 구해진다.

2.2 판단 및 경로 계획

판단 및 경로 계획 단계는 자율 발렛 주차 시스

템의 핵심이다. 비구조화된 도로인 주차장에서 주

차를 하기 위해, 여러 인식 및 경로 계획 알고리즘

들이 상황에 맞게 잘 적용되어야 하기 때문이다.

이 단계는 인식된 결과를 바탕으로 상황에 맞는 경

로 및 목표 속도를 결정한다. 크게 3가지 단계로

이루어져 있다; 1) 초기화, 2) 정적 장애물 회피,

3) 주차. 각 단계는 다음 절에서 설명 된다.

2.1.1 초기화 단계

이 단계에서는 전역 경로와 목표 속도를 결정한

다. 전역 경로는 Global Path Planner6)-9)에서 생성

된다. 이 Planner에서는 비구조화된 도로인 주차장

에서 빠르게 주차 가능 영역을 탐색하기 위한 전략

을 구성한다. 지도 정보는 위상 지도 형태인 그래

프로 되어있다. Fig. 2의 상단에 노란색 점은 노드

2018 한국자동차공학회 춘계학술대회

3

(a) (b) (c)

Fig. 3 정적 장애물 회피 단계 시나리오. (a) 장애물 인식

및 목표 벡터 선정, (b) Local Path Planner로부터 받은 지역

경로(𝑃𝑎𝑡ℎ𝑙𝑜𝑐𝑎𝑙)를 추종, (c) 차량이 지역 경로의 끝에 도달

하였을 때, 전역 경로를 추종.

(Node)이고 길의 교차점에 구성하였다. 간선(Edge)

은 Fig. 2 (b) 하단에 흰색 선으로 표시되어 있으

며, 노드 사이에 차량이 갈 수 있는 영역에 대해

구성하였다.

Global Path Planner에게 현재 차량의 위치 및

방향이 고려된 전역 경로(𝑃𝑎𝑡ℎ𝑔𝑙𝑜𝑏𝑎𝑙)를 요청하여

(Fig. 2 (a)) 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛로 설정한다. 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛에서

차량과 가장 가까운 웨이포인트(waypoint)를 찾아

𝑃𝑐𝑎𝑟로 지정한다. 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛은 차량이 추종할 최종

경로를 나타낸다 (Fig. 2 (b)). 최대 목표 속도

(𝑉𝑚𝑎𝑥)가 설정되고, 이 속도를 추종 목표 속도인

𝑉𝑡𝑎𝑟𝑔𝑒𝑡으로 지정한다. 𝑃𝑙𝑜𝑜𝑘이 전역 경로의 끝에

있게 되면, 다시 2.2.1 초기화 단계를 실행한다.

2.2.2 정적 장애물 회피 단계

정적 장애물 회피 단계에서는 차량이 전역 경로

를 추종하다가, 경로 내에 장애물이 존재하면 회

피하도록 한다. 차로부터 전방 50 m 범위 내,

𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛의 1 m 주변에 장애물들이 있는지 확인하

고, 이 중에서 가장 멀리 있는 장애물을 회피한다

(Fig. 3 (a)). 피해야할 장애물로부터 경로의 진행

방향으로 25 m 범위 내에 경로에 장애물이 없는 곳

중 가장 먼 경로에 목표 위치를 잡고, 이 경로의

진행 방향을 목표 방향으로 한다. 현재 차량의 위

치 및 방향을 시작으로 하여 Local Path Planner에

게 지역 경로(𝑃𝑎𝑡ℎ𝑙𝑜𝑐𝑎𝑙)를 요청한다. 𝑃𝑎𝑡ℎ𝑙𝑜𝑐𝑎𝑙는

Hybrid A*10)-11) 알고리즘을 이용하여 생성 되었다.

𝑃𝑎𝑡ℎ𝑙𝑜𝑐𝑎𝑙를 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛로 설정하고, 이 경로에서

차량과 가장 가까운 웨이포인트(waypoint)를 찾아

(a) (b) (c)

Fig. 4 주차 단계 시나리오. (a) 주차 가능 영역 인식 및 최

종 주차 목표 벡터 선정, (b) Parking Path Planner로부터 받은

주차 경로(𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔 )를 추종, (c) 차량이 주차 경로의 끝

에 도달하였을 때, 자율 발렛 주차 시스템 종료.

𝑃𝑐𝑎𝑟로 지정한다 (Fig. 3 (b)). 장애물을 안전하게

회피하기 위해, 𝑉𝑡𝑎𝑟𝑔𝑒𝑡을 𝑉𝑚𝑎𝑥의 절반으로 지정한다.

Fig. 3 (c)에서 볼 수 있듯이, 차량이 장애물을 회

피하여서 𝑃𝑙𝑜𝑜𝑘 이 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛 의 끝에 있게 되면,

𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛 을 𝑃𝑎𝑡ℎ𝑔𝑙𝑜𝑏𝑎𝑙 로 지정한다. 이 때,

𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛에서 차량과 가장 가까운 웨이포인트를 찾

아 𝑃𝑐𝑎𝑟로 지정한다. 𝑉𝑡𝑎𝑟𝑔𝑒𝑡는 𝑉𝑚𝑎𝑥로 지정한다.

2.2.3 주차 단계

주차 단계에서는 차량이 전역 경로를 추종할 때,

주변에 주차 가능 영역이 존재하면 주차를 하도록

한다. 빈 주차 영역 인식 단계에서 주차 가능한 영

역의 위치와 방향들을 받는다. 차량의 진행 방향

앞에 있는 후보 영역 중, 가장 가까운 영역을 최종

주차 영역으로 선정한다 (Fig. 4 (a)). 차량과 목표

벡터간 거리가 10 m 보다 작게 되면, Parking Path

Planner에게 주차 경로(𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔 )를 요청한다

(Fig. 4 (b)). 𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔은 Dubins Path12)를 이용

하여 일반적인 주차 공식 알고리즘이 적용된 경로

이다. Dubins Path는 원과 직선의 6가지 조합으로

최단 경로를 생성한다.

𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔를 𝑃𝑎𝑡ℎ𝑚𝑎𝑖𝑛로 설정하고, 이 경로에서

차량과 가장 가까운 웨이포인트를 찾아 𝑃𝑐𝑎𝑟로 지정

한다. 𝑉𝑡𝑎𝑟𝑔𝑒𝑡는 전진과 후진으로 나누어 설정 된다.

2018 한국자동차공학회 춘계학술대회

4

Fig. 5. Google Sketchup으로 제작한 주차장의 모습. 위 왼쪽

그림: 주차장 모형, 위 오른쪽: Google Sketchup으로 제작한

맵, 아래: 자율주행 차량의 크기와 센서 배치도.

전진인 경우, 전/후진 전환 지점과 차량간 거리

(𝑑𝑓)가 7 m 이상인 경우에 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 = 𝑉𝑚𝑎𝑥, 이하인

경우에는 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 = (𝑑𝑓 / 7) ∗ 𝑉𝑚𝑎𝑥 (m/s)로 한다.

후진인 경우, 𝑃𝑎𝑡ℎ𝑝𝑎𝑟𝑘𝑖𝑛𝑔의 끝 지점과 차량간 거

리(𝑑𝑟)가 7 m 이상인 경우에 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 = 1.66 m/s,

이하인경우에는 𝑉𝑡𝑎𝑟𝑔𝑒𝑡 = (𝑑𝑟 / 7) ∗ 1.66 m/s로

한다. 차량의 위치가 목표하고자 하는 주차 영역

의 가운데에 있으면, 자율 발렛 주차 시스템을 종

료한다.

3. Experiments

3.1 Simulation Environment

시뮬레이터는 스위스 V-Rep13) 시뮬레이터를 사

용했다. 이 시뮬레이터는 ROS (로봇용 공개소스 메

타 운영체제)와 연동이 가능하다. 주차장 환경은

Google Sketchup14) 3D Modeling 프로그램을 사용하

여 제작되었다 (Fig. 5 상단).

차량 모델은 Fig. 5의 아래 그림과 같이 V-Rep에

서 기본으로 제공하는 Simple Ackermann Steering

차량 모델을 기반으로 했다. 현대자동차 그랜져

HG240의 제원을 참고하여 차량의 크기를 설정했으

며 LiDAR, Vision, IMU등 각종 센서를 장착했다.

V-Rep 시뮬레이터는 Fig. 6과 같이 ROS를 통해

앞 절에서 소개된 시스템(Autonomous Driving

System)과 데이터를 주고 받는다. 각 센서의 데이

터와 현재 차량의 위치 및 방향을 전달하고 제안

한 시스템을 통해 최종적으로 계산된 값인 조향각,

엑셀 그리고 브레이크 값을 받는다.

Fig. 6. V-Rep 시뮬레이션 환경과 DYROS 프로그램과 통

신 구조도.

3.2 Result

3.1절에서 설명한 시뮬레이션 환경에서 실험을

진행하였다. 실험의 시나리오는 기 정의 된 주차장

지도 정보가 주어졌을 때, 차량이 주차장을 탐색하

며 적절한 주차 구역에 주차를 완료하는 것이다.

실험의 진행과 결과는 다음과 같다. 실험 관련 그

림들(Fig. 2, 3, 4)은 V-Rep 시뮬레이터 화면(상단)

과 ROS에서 사용되는 시각화 프로그램인 Rviz(하단)

화면이다.

차량이 Global Path Planner에게 주어진 지도에서

주차 구역을 탐색하기 위한 전역 경로 계획을 요청

한다. 차량은 전역 경로의 웨이포인트를 추종하며

주행을 시작한다. Rviz 상에서 보이는 분홍색 점들

은 차량의 라이다 센서 정보로 Height Map15) 알고리

즘을 이용 하여 장애물을 표시한 점들이다.

차량이 전역 경로상에 장애물의 존재를 인식하여

Local Path Planner에게 지역 경로 계획을 요청한다

(Fig. 3). 차량은 기존의 전역 경로가 아닌 지역 경

로를 추종한다. Fig. 3 (b) 에서 차량이 장애물을

회피한 후, 다시 기존의 전역 경로를 추종한다

(Fig. 3 (c)). 전역 경로를 따라가며 지속적으로 주

차 가능한 구역의 후보들을 정한다.

Fig. 4에서 볼 수 있듯이, 주차 가능한 여러 구역

들 중, 가장 가까운 곳을 정하여 Parking Path

Planner 에게 주차 경로를 요청한다. 이 경로에 있

는 𝑃𝑙𝑜𝑜𝑘의 위치에 따라 전 후진이 결정되며, 낮은

속도로 𝑃𝑙𝑜𝑜𝑘를 추종하여 주차를 완료한다 (Fig. 4

(c)).

실험 결과 영상은 https://youtu.be/2oM-XppT6mQ

에서 확인할 수 있다.

2018 한국자동차공학회 춘계학술대회

5

4. 결 론

본 논문에서는 자율 주행 차량이 주차장에서 자

율 발렛 주차를 할 수 있는 시스템에 대한 소개를

하였다. 이 시스템에는 인식, 판단 결정 및 경로

계획 그리고 경로 추종 단계들이 있다. 장애물 격

자 지도 정보를 이용하여 정적 장애물을 인식하고

주차가 가능한 공간인지 판단한다. 판단 결정 단

계는 경로 계획 알고리즘을 상황에 따라 적절하게

이용하는 역할을 한다. 경로 계획은 전역, 지역

그리고 주차 경로 계획으로 나뉜다. 전역 경로 계

획은 전역 지도 정보 및 차량의 위치를 활용하여

빈 주차 공간을 한번씩 찾아다닐 수 있는 경로를

생성한다. 지역 경로 계획 알고리즘은 전역 경로

상에 있는 정적 장애물을 회피할 수 있는 경로를

생성한다. 주차 경로 계획은 현재 차량의 위치에

서 주차를 할 수 있는 경로를 계획한다. 경로 추

종은 Pure pursuit방법으로 조향각을 결정하고 곡

률-속도 관계를 이용하여 속도 결정을 한다.

V-rep 시뮬레이션 상에서 전체 자율 발렛 주차

시스템을 구현해 보고 실험까지 하였다. 차량은

경로상에 존재하는 정적 장애물을 회피 하면서 주

차 가능한 공간을 찾았으며, 주차까지 성공적으로

수행하였다. 추후 계획으로는 i) 전역 경로 재생

성, ii) 동적 장애물 고려, iii) 주차장 정보가 없

는 상황에서 빈 주차 영역 인식, iv) random

sampling 방법을 이용한 주차 경로 계획 그리고 v)

실제 차량 실험이 있다.

References

1) Thrun, Sebastian, et al. "Stanley: The robot

that won the DARPA Grand Challenge." Journal

of field Robotics 23.9 : 661-692 (2006).

2) Wang, Wenbo, et al. "Automatic parking of

vehicles: A review of literatures."

International Journal of Automotive

Technology 15.6 : 967-978 (2014).

3) Kucner, Tomasz, et al. "Conditional

transition maps: Learning motion patterns in

dynamic environments." Intelligent Robots

and Systems (IROS), 2013 IEEE/RSJ

International Conference on. IEEE, 2013.

4) Liu, Guan-Horng, et al. "Motion Planning for

Autonomous All-Terrain Vehicle."

5) Coulter, R. Craig. Implementation of the pure

pursuit path tracking algorithm. No. CMU-RI-

TR-92-01. Carnegie-Mellon UNIV Pittsburgh PA

Robotics INST, 1992.

6) https://en.wikipedia.org/wiki/Eulerian_path

7) Eiselt, Horst A., Michel Gendreau, and Gilbert

Laporte. "Arc routing problems, part I: The

Chinese postman problem." Operations

Research 43.2 : 231-242 (1995).

8) Fermin-Leon, Leonardo, José Neira, and José A.

Castellanos. "TIGRE: Topological graph based

robotic exploration." 2017 European

Conference on Mobile Robots (ECMR). IEEE, 2017

9) Oßwald, Stefan, et al. "Speeding-up robot

exploration by exploiting background

information." IEEE Robotics and Automation

Letters 1.2 : 716-723 (2016).

10) Dolgov, Dmitri, et al. "Path planning for

autonomous driving in unknown

environments." Experimental Robotics.

Springer, Berlin, Heidelberg, 2009.

11) Reeds, James, and Lawrence Shepp. "Optimal

paths for a car that goes both forwards and

backwards." Pacific journal of

mathematics 145.2 : 367-393 (1990).

12) Dubins, Lester E. "On curves of minimal

length with a constraint on average curvature,

and with prescribed initial and terminal

positions and tangents." American Journal of

mathematics 79.3 : 497-516 (1957).

13) E. Rohmer, S. P. N. Signgh, M. Freese, "V-

REP: a Versatile and Scalable Robot Simulation

Framework,'' IEEE/RSJ Int. Conf. on

Intelligent Robots and Systems (IROS), 2013

14) Aidan Chopra. Introduction to Google Sketchup

(2nd ed.). Wiley Publishing 2012.

15) ROS Package velodyne_height_map

http://wiki.ros.org/velodyne_height_map