Search

자율주행시스템 구축하기

생성일
2023/07/03 04:50
Category
SLAM
Detection
Autonomous driving
Youtube
상태
Done
작성 완료 날짜
환경
Driven
창작자동차 경진대회

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
[ROS] 프로젝트 디렉토리 구성을 위한 쏨씽
ROS
[ROS] 프로젝트 디렉토리 구성을 위한 쏨씽
ROS