산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

자율 주행 동키카: 텐서플로 MobileNetV2 AI로 쓰레기 수거하기

라즈베리파이 3와 Pi Camera에서 텐서플로의 SSD MobileNetV2를 사용해 쓰레기를 감지하고 수거하는 자율 주행 RC카를 만드세요.

프로젝트 개요

이 가이드는 표준 RC카(라즈베리파이 + Pi Camera)를 자율 쓰레기 수거기로 변환하는 방법을 보여줍니다. 솔루션은 두 개의 경량 신경망에 의존합니다: 하나는 실시간 객체 감지용, 다른 하나는 조향 및 스로틀 제어용. 파이 3의 제한된 RAM과 CPU로는 한 번에 하나의 모델만 실행할 수 있어 감지와 주행을 타임 슬라이스 방식으로 번갈아 수행합니다.

핵심 아이디어는 쓰레기통을 인식하도록 모델을 훈련시킨 뒤 차를 쓰레기통 쪽으로 주행시켜 자율적으로 쓰레기를 수거하는 것입니다.

자동차와 노트북 구성 요소 식별

프로젝트는 두 가지 주요 단계로 구성됩니다:

  1. 객체 감지 – 적당한 컨볼루션 네트워크가 텐서플로와 OpenCV로 Pi Camera 피드를 처리합니다.
  2. 행동 클로닝 – 사람이 조향과 스로틀 입력을 모방함으로써 차가 자율 주행을 학습합니다. 추가 센서(초음파, GPS, 6-DOF IMU)가 훈련 데이터와 텔레메트리를 풍부하게 합니다.

소개

2019년 출시된 MobileNetV2는 임베디드 디바이스를 위해 설계되었습니다. 라즈베리파이 3의 CPU는 MobileNetV2 SSD를 편안하게 실행할 수 있지만, 과도한 RAM을 요구하는 무거운 YOLO 변형은 실행할 수 없습니다.

VGG16(약 350MB 가중치) 실행 시도는 파이에서 실패했으며, 이는 더 슬림한 모델의 필요성을 강조합니다. 사전 훈련된 MobileNetV2 SSD로 전이 학습하면 최소한의 풋프린트로 높은 정확도를 얻을 수 있습니다.

하드웨어 수정

기본 차량은 Magnet RC카로, 이를 DonkeyCar 섀시로 개조했습니다. 주요 변경 사항:

완성된 차량에는 이제 다음이 포함됩니다:

모든 센서 데이터는 타임스탬프와 함께 tub 프레임워크를 통해 기록되어 훈련 데이터셋을 보강합니다.

소프트웨어 설정

소프트웨어 스택은 최소하면서도 강력합니다: 텐서플로, OpenCV, 몇 가지 파이썬 유틸리티. 아래는 단계별 설치 가이드입니다.

1. 텐서플로, OpenCV, 의존성 설치

pip install tensorflow[pi]
pip install matplotlib raspberry
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install qt4-dev-tools
pip3 install opencv-python

텐서플로는 자체 모델 형식을 요구하므로 공식 텐서플로 모델 저장소를 사용하고 PYTHONPATH를 적절히 설정하세요:

git clone --recurse-submodules https://github.com/tensorflow/models.git
export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim

2. 프로토콜 버퍼 컴파일러 설치

ProtoBuf는 MobileNetV2 SSD 가중치 로드에 필요합니다.

sudo apt-get install autoconf automake libtool curl
wget https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.tar.gz
tar -zxvf protobuf-all-3.5.1.tar.gz
cd protobuf-3.5.1
./configure
make
make check
sudo make install
cd python_export
python3 setup.py build --cpp_implementation
python3 setup.py test --cpp_implementations
sudo python3 setup.py install --cpp_implementation
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=3
sudo ldconfig
protoc --version

3. IMU 및 GPS 통합

meta.json과 manage.py 스크립트에 MPU6050을 추가해 가속도와 자이로 데이터 캡처:

{
    "inputs": ["cam/image_array", "user/angle", "user/throttle", "user/mode", "imu/acl_x", "imu/acl_y", "imu/acl_z", "imu/gyr_x", "imu/gyr_y", "imu/gyr_z"],
    "types": ["image_array", "float", "float", "str", "float", "float", "float", "float", "float", "float"]
}

필요한 파이썬 라이브러리 설치:

sudo apt-get install python3-smbus
pip install mpu6050-raspberrypi
pip install RPi.GPIO

4. 마무리 단계

모든 의존성 설치 후 가상 환경 비활성화 및 파이 재부팅:

deactivate
sudo shutdown -h now

이제 차량은 객체 감지용 SSD MobileNetV2와 자율 주행용 행동 클로닝 모델을 실행할 준비가 되었습니다.

결론

경량 신경망과 견고한 센서 통합을 결합함으로써 라즈베리파이 3가 쓰레기통을 안정적으로 감지하고 수거할 수 있게 되어, 확장 가능하고 저비용의 자율 폐기물 수거 솔루션의 길을 열었습니다.

제조공정

  1. 도심 자율주행을 위한 실시간 모션 플래닝: 축소 프로토타입 연구
  2. 운영·유지보수 혁신: 효과적 계획을 위한 실용 가이드
  3. 자율주행 미래 준비: 플릿 운영자가 앞서 나가는 방법
  4. 5G가 커넥티드 카를 혁신하는 방식: 속도, 안전, 스마트 기능
  5. 안전 제일: 유럽인이 바라보는 미래 커넥티드 카
  6. 집진기 안전 운전을 위한 7대 필수 수칙
  7. 첨단 3D 모션 트래킹 시스템: 자율 기술용 차세대 센서
  8. 자율 드론 군집 충전 시스템: UGV로 임무 시간 연장
  9. 다임러와 BMW, 자율주행 기술 개발 위한 전략적 제휴 체결
  10. 콘티넨탈, IAA 모빌리티 2021서 자율주행·지속가능성 혁신 솔루션 공개