Autonomous Driving System
2023.04 ~ 2023.09 | 한국기술교육대학교 자동차 동아리 팀 프로젝트(4인)
프로젝트 소개
한국교통안전공단 주관 자작 자동차 경진대회에 참여하는 자동차의 자율주행 시스템 구축
프로젝트 목표
•
여러 센서를 바탕으로 <인지-판단-제어>의 각 프로세스를 ROS로 패키징하고 Jetson Xavier에서 실행 가능한 시스템을 구축
•
노랑, 파랑, 주황 콘으로 이루어진 주행 코스 완주
담당 업무
Perception 파트 전담
•
LiDAR와 SLAM을 이용한 2D Map 생성
경로 생성을 위해 LeGO-LOAM(SLAM)의 output을 바탕으로 자동차와 콘의 위치를 표기한 30x30 2D 맵을 생성하였습니다.
•
Camera와 Detection을 이용한 주행 보조 기능 구축
코스에는 노랑, 파랑, 주황색의 콘으로 이루어져 있습니다. YOLOv5로 콘을 인식 후 중앙 부분의 평균 색상 값을 알아내어 긴급 제동, 조향각 설정 등 주행 보조 기능을 구현하였습니다.
상세 내용
ROS 패키징
•
SLAM, Detection의 실시간 처리를 위해 오픈소스 코드를 새롭게 ROS 패키징
인지-판단-제어 파트의 원활한 통신 및 동기화를 위해 전체 코드를 하나의 ROS 디렉토리에 패키징 하였습니다.
•
다른 파트의 ROS 패키징에 기여
다른 파트 팀원과 함께 ROS 패키징을 하였습니다. ROS 메세지, 토픽 등을 정의하고 전체 코드가 하나의 흐름에서 작동하게 하였습니다.
결과
•
수동 주행으로 121초가 나온 코스를 자율주행으로 126초로 완주하였습니다.
•
input인 센서부터 최종 output인 조향각, 속도값, 제동값이 제대로 출력되는 것을 확인했습니다.
배운 점
•
ROS의 구동 원리와 사용법에 대해 알게 되었습니다.
•
자율주행차의 기본 시스템을 이해하고 적용되는 하드웨어에 대해서 알게 되었습니다. (LiDAR, Camera, IMU, GPU, Jetson)
•
처리 속도 향상을 위해 여러 가지 고민을 해보게 되었습니다. (CUDA, ROS 상의 동기화)
•
과 동기 한명을 비롯하여 2학년 학부생 두명과 함께 팀을 이뤘습니다. 물론 저 스스로도 많이 부족하지만 이런 프로젝트를 처음 접하는 2학년 친구들을 어떤 식으로 이끌어주며 같이 나아가야 하는 지에 대해 많은 고민을 해본 시간이었습니다.
사용 환경
•
Hardware
main_computer : Jetson Xavier AGX H01
LiDAR : Velodyne puck 16 channel
GPS : Ublox ZED-F9P-01B
imu : EBIMU24GV5.2, EBRCV24GV5
•
Software
ROS1 Melodic
Ubuntu 18.04
python3.7
python2.6
기여도
Cone detection을 통한 주행 보조 - 100%
SLAM을 통한 2D map 생성 - 100%
ROS 패키징 - 30%
Study log
공부했던 것들
Search