Raspberry Pi를 사용하여 자동 주행하는 라디콘 자동차를 만들려고했습니다.

소개



끝에서 끝까지 설명하려고 하면 매우 긴 기사가 되어 버린다고 생각했으므로, 이번은 전체를 대략 소개합니다. 세세한 곳에 대해서는 다른 기사로 나누어 써 갑니다. 또, 기사를 쓰는 것도 IoT에 관해서도 초보자 동연이므로 꼭 어드바이스·의견을 들려 주세요.

개요



Raspbeey Pi에 학습시킨 모델을 탑재해, 도로의 좌차선을 자동으로 주행하는 라디콘 카입니다. 이번은 직선만을 대상으로 해, 도로로부터 돌출하지 않게 설계했습니다. 외형이 전차였기 때문에 정지시에 물체 검출해 자작 포대(3D프린터로 작성)로부터 고무를 발사하는 옵션도 더해 보았습니다.

[완성형]

  

[전체 흐름 이미지]


개발 환경


  • Raspberry Pi 3B raspbian 9.4
  • Jupyter Notebook 4.4.0
  • Python 3.5.3
  • TensorFlow 1.11.0
  • OpenCV 3.4.4

  • 갔던 일


  • 라디콘 제작

  • 조립

  • OS 설치
  • Raspberry Pi의 환경 구축
  • SSH 설정, IP 주소 고정 및 기타 필요한 프레임 워크 설치 등

  • 3D 프린터 사용
  • 포대와 모터 드라이버를 고정하기위한 토대 만들기

  • 프로그래밍(Python)
  • 무선 제어 (서보 모터, DC 모터)
  • CNN에 의한 이미지 분류
  • 물체 검출 (Tiny-YOLOv3)

  • 데이터 세트 수집
  • 전진, 우회전, 좌회전의 3 클래스 이미지 수집

  • 모델 만들기

  • 전체 흐름 (플로우 차트)




    이번, 정지는 수동으로 실시하고 있습니다. 뭔가를 트리거로 하고 정지 처리도 자동으로 할 수 있도록 하고 싶네요.

    아키텍처



    [내부]


    [외부]

    내부와 외부의 2단 구상이 되어 있습니다. 라즈파이는 내부와 외부에서 유사합니다. 카메라는 도로를 촬영하는 용과 물체를 검출하는 용의 2개로 나누었습니다. 서보 모터는 한쪽을 포대의 방향을 바꾸기 위해 다른 한쪽을 고무 고무를 발사하도록 나누었습니다.

    학습 모델 만들기



    NVIDIA DIGITS 을 사용하여 모델을 만들었습니다. 도로에서 튀어나오지 않게 하는 진행하기 위해서는, 전진과 우회전과 좌회전의 3 패턴이 필요하므로, 그 때의 상황에 맞추어 코스로부터 각각 데이터를 취득합니다. 이미지는 전체로 1300장 정도 준비해, 트레이닝 화상과 밸리데이션 화상의 비율을 8:2로 했습니다. 네트워크는 라즈파이에 탑재하는 것도 있고 LeNet를 채용하고 있습니다.



    결과



    htps: //같다. 베 / 1bVmcZxtD7


    마지막으로



    여러분의 의견을 꼭 알려주세요!
    그리고, 트위터 시작했습니다.
    팔로우 잘 부탁드립니다!!

    추가



    블로그 분들도 소개하고 있습니다.
    이쪽도 꼭 잘 부탁드립니다.
    Raspberry Pi와 심층 학습으로 만드는 자동 주행 라디콘 자동차 - Revel Tech Blog

    좋은 웹페이지 즐겨찾기