LKS (Lane keeping system)
현재 구현되어있는 차량에서의 기능으로는 LKAS (Lane keeping Assist system)을 사용하고 있지만, 현재 우리가 전동차를 통해서 구현한 내용은 LKS (Lane keeping system)입니다.
단, 우리 시스템에서 현재 아직까지는 Route Planner가 존재하지않습니다. 물론 부족한 점도 많겠지만, 현재 구현되고 있는 코드는 AI model에서 추론된 결과를 바탕으로 모터 제어까지 시키는 형태이다.
이미지 출처 : https://www.autocar.co.uk/opinion/tester%E2%80%99s-notes/matt-prior-why-lane-keeping-assist-systems-need-rethink
Route Planner(Global Path Planner)란?
- 출발지에서 목적지까지 이동하는 기능이며, 요즘 모든 차량에서는 GPS와 지도를 활용하여 Route를 계획하는 Navigation 시스템을 장착한다.
- 단, 우리의 주행 가능한 맵은 실내이며, 실제 자율주행 차량에서 발생할 수 있는 많은 경로 생성 기반이 아닌 매우 정적이라는 단점이 있기 때문에 GPS를 이용한 Route Planner를 사용할 시에 어떠한 장점이 존재할지는 미지수이다.
- 그래서 우리는 키보드 key를 입력받으면, 현재 위치가 출발지이고, 목적지에 대해서는 키보드 인터럽트를 발생시켜서 발생시키는 시점 및 위치를 도착지라고 정리했다.
Behavior Decision making
- 주변 교통 환경을 적절하게 사용하여 rule based로 구현되어있다. 실차에서는 Diving Behavior에는 안전감, 승차감 사람의 심리 및 편안함등을 고려하여 개발하여야한다.
- 이전에 팀원들에게 언급했지만, 현재에서 우리는 정적인 맵에서 정적 물체를 탐지하여 회피하는 정도의 구현을 목표로 하고있습니다. 그렇기때문에 물체 인식 모델(ex. yolo v~. detection model)을 이용해서 어떠한 물체가 탐지되면, 정지할지, 왼쪽 회피할지, 오른쪽 회피할지, speed값을 변화해서 전진시킬지에 대해서 결정해준다. 세부적으로 어떻게 회피하는지는 여기에선 언급하지않는다.
우리가 나아가야할 부분에 대해서 고민을 많이 하는 과정 속 몇 개의 논문을 찾아봤다. 밑에 나와있는 IEEE 논문은 고민만 하고 있던 나에게 좋은 영감을 주었다.
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8715479
논문을 확인하고, 우리가 구동할 수 있는 수준에 맞게 방법론 2개를 설명하고자한다.
<방법은 2가지이다.>
- 방법 1. overtaking → passing
- 방법 2. Lane change → Lane change