본문 바로가기

[A-17 / 로드러너] 자율주행 러닝 메이트

  • 김경호
  • 인천대학교
  • 작품구분일반형
  • 공개여부비공개
  • 카테고리전자, 스포츠
  • 등록일2022-09-12
  • 팀원(공동개발자)
  • 출품 경진대회제18회(2022년) 창의적종합설계경진대회

상세설명

1. 수행배경

   코로나 문제로 인해 운동 부족과 사람들과 만나기 힘든 문제가 있어 혼자서도 재미있게 달릴 방법을 구상하게 됨

   또한 달리는 도중 내 속도를 확인하는 것이 기존의 스마트워치나 스마트폰으로는 달리던 도중에 들어 올려서 봐야 하는 문제가 있어

   달리는 앞에서 정보를 바로 보여준다면 편하겠다는 생각이 들었음

2. 수행기간

5월:openCV
    openCV 의 기능에 관해서 공부하고 있었음. 캐니 엣지, 허프 변환, 색상 분리, 소벨 마스크 등을 웹캠에 연결해 테스트를 해 보았고
    RC 카를 하나 구해서 RC 카 조향용 함수 설계 등을 하고 있었다

 

6월:차량 프레임 제작 및 차선 인식 기능 구상
    차체 프레임 설계와 부품 주문 RC카 차체 프레임 고정부의 규격을 측정해 변환 마운트를 설계하고 3D 프린터로 차체 부품들을 붙여나가면서 제작 함
    차선 인식에 관한 자료를 찾아보면서 차선 인식 기능을 구현했으나 차선의 픽셀을 이용한 조향이 아닌 차선의 각으로 조향하게 제작하여 차선 이탈 문제가 심했음

 

7월:차량 트랙 러닝 기능 구현 및 모듈 간 통신 명령어 정리
    속도 개선 위해 확률적 허프 변환으로 바꿈. 여전히 차선 각도를 조향하는 용도로 사용해서 차선이탈을 많이 함 라즈베리파이의 속도 문제인 줄로 알고 있었음
    차선의 각도 차로 조향하는 것이 아닌 좌우 차선들의 평균 픽셀은 평균을 내어 중앙점에서 픽셀이 틀어진 만큼 조향해야 한다는 것을 알고 수정함
    차량 안정적 조향을 위해 PID값 튜닝을 하였으며 서스펜션을 고정해 프레임의 흔들림을 줄임 후방 카메라와 레이저 센서를 달고

    후방 카메라로 달리는 모습을 촬영하는 기능을 구현하려 하였으나
    촬영 시 영상의 프레임 싱크가 맞지 않는 문제가 발견되어 프레임 싱크를 맞추면 차량 조향의 속도가 느려져 차선 이탈하는 문제가 발견되어 후방 카메라 기능은 비활성화 처리
    레이저 센서로 후방의 러너와의 거리를 인식해 PID로 속도를 조절할 수 있도록 제작함
    동작 중 강제 종료 시 PWM 신호가 고정되며 급발진하는 문제가 종종 있어 긴급 정지용 마그네틱 스위치를 장착함
    PID 튜닝 한번 더함 모듈 간 통신을 위해 통신 시 사용할 명령어와 변수를 통일함. 기존에 사용하던 라즈베리파이 3B+의 UART 포트 부족으로 라즈베리 4로 변경

 

8월:앱 제작 및 블루투스 통신 구현
    앱 인벤터로 블루투스 송신 앱 구현 차량 모듈에서 블루투스 수신 기능 구현 블루투스 동작과 차량 주행이 동시에 동작이 안 되어 비동기 동작 구현 시도
    스마트폰 GPS 이용해 사용자 러닝 속도와 거리 측정할 수 있도록 앱 개선 가상 GPS에서 동작 확인
    광각 카메라로 변경하며 차체 높이 줄여 차체 흔들거림 줄였으나 광각 카메라의 왜곡이 심하여 왜곡을 줄이기 위해 핀 쿠션 왜곡을 넣어 상쇄시킴
    코드 처리 속도가 초당 33 프레임에서 7 프레임으로 떨어진 문제 발견

 

9월:실제 테스트 및 문제점 수정
    속도 문제 해결하기 위해 파이썬에서 C++으로 코드를 변환해야 하나 고민하고 작업도 하였으나 시간 내로 구현하기 힘들 거라 판단되어
    기존 파이선 코드에서 지연되는 부분을 찾아보니 UART 통신 부분에서 시간 지연이 발생함을 찾음
    블루투스 수신 시 타임아웃 시간 정의를 해주지 않아 생긴 지연 문제와 매 루프마다 모든 변숫값을 한꺼번에 LED 모듈에 UART로 보내 발생한 문제를 개선하니
    초당 23~25프레임으로 속도 개선
    실사용 중 GPS 문제 발견됨 가상 GPS 상에서는 속도와 거리까지 잘 인식이 되었으나 실사용 시 GPS 사용 권한이 없어 그런지 속도가 나오지 않는 문제가 발견됨
    임시로 차량 모터값을 GPS 속도 변수에 할당하여 러닝 페이스를 맞출 수 있도록 제작함

 

3. 개발작품 설명

    트랙 내부를 달리는 로봇을 따라 러너가 따라 달리면서 운동을 하는 구조로 러너의 위치를 실시간으로 읽어가며
    러너의 위치에 맞춰 자동으로 페이스메이킹 로봇의 속도 조절을 하여 운동을 보조해준다
    또한 그 과정 중 후방의 LED 매트릭스를 통해 사용자의 페이스와 같은 정보를 보여주어
    사용자가 적절한 훈련 강도를 유지할 수 있도록 도와준다

4. 활용방안

    재미있는 러닝으로 러닝 동기부여가 되며 추후 러닝 사용자 정보와 연동되는 게임 기능을 추가해 더 재미있는 러닝이 가능해 질 수 있음
    후방 카메라를 달아 사용자의 자세를 분석할 수 있도록 한다면 전문 재활치료사의 도움 없이도 간단한 수준의 재활이 가능해 질 수 있음

소개 영상

소개 슬라이드

정보가 없습니다.

기타자료

댓글