제 5회 국민대학교 자율주행 경진대회
대회 설명
제 5회 국민대학교 자율주행 경진대회에 출전하였습니다. 대회는 예선과 본선으로 구성되어 있으며, 74개 팀이 출전하여 20개 팀이 본선에 진출하였습니다. 이번 포스팅은 본선에 관한 설명이고, 예선 포스팅은 여기로 이동해주세요!
- 개최 장소 : 국민대학교 자율주행 스튜디오
- 팀원 : 5인
- 팀명 : HEAVEN_CODING (성균관대학교)
- 미션 구성
- 오전 : 고속주행 경기
- 오후 : 미션수행 경기
- 플랫폼 : 자이카 (Xycar)
Github
Skills
Language & Framework
- python
- C++
- ROS
- Linux
Hardware
- Nvidia Jetson TX2 (CPU)
- Xycar Platform
Sensors
- 카메라
- 라이다
- 초음파센서
- IMU
Function
국민대학교 자율주행 경진대회에서 제시하는 미션들을 수행하기 위해서 알고리즘을 작성하였습니다. 해당 대회에 첫 출전하여 모든 알고리즘을 새로 설계했습니다.
미션 설명
- 오전 : 고속주행 경기
- 자율주행 모형차가 트랙을 시계 반대방향으로 3랩을 주행해야 합니다.
- 오후 : 미션수행 경기
자율주행 모형차가 아래 미션을 차례로 수행하며 트랙을 시계 반대방향으로 1랩을 주행하여야 합니다.
- 평행주차
- 터널
- 수직주차
- 장애물
- 정지선
자율주행 스튜디오
국민대학교 미래관에 위치한 자율주행 스튜디오는 한 바퀴에 직선구간, 90도 커브 구간, S자 커브 구간으로 구성되어 있습니다.
담당역할 및 성과
저는 주로 차선인식 알고리즘을 개발하였습니다. 먼저, 카메라 영상을 OpenCV를 사용하여 전처리
한 후에, 차선인식 알고리즘
을 사용하여 차선의 곡률 및 차량 진행 방향을 결정하였습니다.
전처리
python의 OpneCV 기반의 모듈을 사용하여 5가지 전처리 필터를 테스트해 보았습니다.
- GrayScale
- Blured
- HLS
- RGB Threshold
- Canny Edge
결과적으로, 빛이 반사되는 영향을 최소화
하기 위해서 HLS -> GrayScale -> CannyEdge -> Blur 과정으로 카메라 영상을 전처리한 후,birdview로 변환하였습니다.
차선인식 알고리즘
차선인식 알고리즘으로 Mask_laneDetection
과 Sliding Window
, Hough Transformation
을 사용하였습니다. 특히 Mask LaneDetection은 제가 직접 개발한 알고리즘으로, Jetson TX2에서 연산량을 최소화하기 위해서 차선 정보를 2진수로 표현한 후에 bitwise operation 하여 가장 높은 확률로 차선이 존재하는 구간을 탐지하는 알고리즘입니다.
Tecknology in Detail
자세한 개발 내용을 모두 작성하면 내용이 너무 길어져서, 관심 있으신 분은 링크를 통해 해당 페이지로 넘어가 주시면 감사하겠습니다!
댓글남기기