본문 바로가기

재사용가능한 자율주행 SW architecture 설계

  • 곽우정
  • 인천대학교
  • 작품구분일반형
  • 공개여부비공개
  • 카테고리전자
  • 등록일2019-11-29
  • 팀원(공동개발자)곽우정, 변지원, 유현아, 김진호, 구창모
  • 출품 경진대회2019-2학기 산학 캡스톤디자인 경진대회(학생팀 & 멘토모집)

상세설명

1. 수행배경
  • 공개 Software기반의 자율주행 SW architecture 모색
  • 자동차 산업 분야에 인공지능 기술이 활발히 도입되고 있으며, 특히 자율주행 기술이 활발히 연구되고 있다. 그러나, 자율주행의 실제 구현은 많은 비용을 필요로 한다. 이를 해결하기 위해 다양한 제품군에 재사용이 가능한 SW architecture가 매우 필요하다. 자동차 시스템의 복잡도가 증가하고 제품군이 다양해 지면서 재사용이 가능한 모듈화 개발이 절실히 필요하다. 그러나 이를 위한 체계가 갖추어져 있지 않은 상황이다. 현재 AUTOSAR라는 미들웨어가 개발되고 있지만, 고가의 사용료가 적용을 제한하고 있다. 이를 대체할 수 있는 공개 software기반의 자율 주행 SW architecture를 모색하고자 한다.

2. 수행기간

  • 9/10 - 9/24 :현재 자율주행 기술 분석(차선인식, 물체인식, 차량제어)
  • 9/25 - 10/16 :핵심기술 도출
  • 10/17 - 11/14 :핵심기술 도출
  • 11/15 - 11/29 :SW architecture 설계

3. 개발작품 설명

  • 데이터처리부 - 차선인식/색깔인식
  • 차선인식

 우선 차선이 하늘에 있지는 않을 것이기 때문에 이미지를 상하 절반으로 자르고 연산 속도를 빠르게 하기 위해 가우시안  필터를 사용하여 흑백이미지로 변환한다.

필터링된 이미지에 canny edge 알고리즘을 사용하여 모서리를 추출하고 허프 변환을 사용하여 직선들을 찾는다.

허나 직선들을 찾더라도 차선 말고 다른 직선들도 인식되기 때문에 직선들의 기울기를 통해 필터링을 해야됨. ex) 95도 이상 160도 이하인 직선만 고른다.

그 후 opencv fitline함수를 통해 최적의 선을 찾는다.

마지막으로 인식된 왼쪽 차선과 오른쪽 차선의 좌표를 제어부로 보낸다.


  • 색깔인식
    차선인식과 마찬가지로 OpenCV라이브러리를 이용했습니다.
    우선 RGB이미지를 HSV이미지로 바꿔줘야 합니다. RGB 이미지에서는 색 정보를 검출하기 위해 R,G,B 세가지 속성을 모두 참고하지만 HSV 이미지에서는 H가 일정한 범위를 갖는 순수한 색 정보를 가지고 있기 때문입니다. OpenCV에서는 HSV 이미지를 H(0~180), S(0~255), V(0~255)로 표현합니다
    우리가 원하는 색상 (빨강,노랑,초록)의 범위를 설정하고 그 범위를 이용하여 각 색상의 mask를 성합니다. HSV 이미지 픽셀 값과 내가 원하는 색상 범위를 비교해서 픽셀 값이 색상 범위 안에 있을 경우, 그에 대응되는 위치의 마스크 행렬의 원소 값에 1을 입력한다
    그 후 HSV 이미지와 마스크를 비교해보는 식으로 색깔 인식을 합니다.

마지막으로 인식된 색깔을 제어부로 보냅니다.

 

 

  • 제어부
    -
    모터제어

왼쪽 차선과 오른쪽 차선의 위치 정보(좌표)를 통해 자동차가 올바른 위치에 있는지를 확인한다.

데이터 처리부에서 받은 정보(이미지)를 분석하여 기본적으로 안정한 주행 상태인 각 차선의 중앙값에 자동차가 있도록 유지한다. 자율주행시 발생할 수 있는 예기치 못한 상황 (신호등 신호, 장애물)을 구동/제어부에서 인지하고, 그 상황에 맞는 기능 (속도 줄임, 속도 멈춤)을 실행한다.

<상황>

주어진 상황이 일반적인 경우, 평상시대로 자율주행을 한다.

주어진 상황이 빨간불이나 장애물 일 경우, 자동차를 멈춤다.

주어진 상황이 노랑불일 경우, 저속주행을 한다.

주어진 상황이 녹색불일 경우, 평상시대로 자율주행을 한다.

 

  • 구동부
    데이터 처리부에서 얻은 이미지에서 검출된 차선 영역을 좌표를 얻어 자동차가 움직이여할 경로를 제어한다. 기본적으로는 직진을 유지하다가, 차선의 변화(커브)등을 미리 예측하고, 모터를 조향해 차선의 중앙을 유지한다.
4. 활용방안
  • 자동차 산업 분야에 인공지능 기술이 활발히 도입되고 있으며, 특히 자율주행 기술이 활발히 연구되고 있다. 그러나, 자율주행의 실제 구현은 많은 비용을 필요로 한다. 이를 해결하기 위해 다양한 제품군에 재사용이 가능한 SW architecture가 매우 필요하다. 재사용 가능한 SW 모듈화 기술개발을 통해서 다수의 자동차 기업들이 자율주행 구현에 필요한 비용과 시간을 단축시킬 수 있다.

소개 영상

정보가 없습니다.

소개 슬라이드

정보가 없습니다.

기타자료

댓글