亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

自主驾驶 Donkey Car:TensorFlow MobileNetV2 实现垃圾识别与拾取

项目概述

将标准 RC 车(树莓派 + Pi Camera)改装为自主垃圾收集车。采用两个轻量神经网络:实时目标检测 + 转向油门行为克隆。受限于 Pi 3 内存与算力,仅能串行运行单模型,故采用时间片轮转在检测与驾驶间切换。

核心思路:训练模型识别垃圾桶 → 驾驶车辆靠近 → 自主拾取垃圾。

车辆与笔记本组件识别示意

两大阶段

  1. 目标检测 – 适度卷积网络处理 Pi Camera 视频流,TensorFlow + OpenCV 推理
  2. 行为克隆 – 模仿人类转向油门操作学习自主导航。额外传感器(超声波、GPS、6轴 IMU)丰富训练数据与遥测

引言

MobileNetV2 (2019) 专为嵌入式设备设计。树莓派 3 CPU 可流畅跑 MobileNetV2 SSD,而 YOLO 等重模型需过大内存。尝试跑 VGG16 (约 350MB 权重) 在 Pi 上失败,印证轻量模型必要性。迁移学习预训练 MobileNetV2 SSD 可在极小体积下获得高精度。

硬件改装

基车为 Magnet RC 车,改装为 DonkeyCar 底盘。关键改动:

最终车载传感器套件:

所有传感器数据带时间戳经 tub 框架记录,增强训练集。

软件环境搭建

软件栈精简高效:TensorFlow、OpenCV、少量 Python 工具。分步安装指南:

1. 安装 TensorFlow、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

TensorFlow 需自有模型格式,使用官方 TensorFlow Models 仓库 并设置 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. 安装 Protocol Buffers 编译器

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. 涡轮增压器选型实战指南:目标设定、计算匹配、大小涡轮抉择
  5. 戴姆勒与宝马结盟推进自动驾驶技术
  6. 大陆集团发布前沿自动驾驶方案,引领未来出行新篇章
  7. 除尘器安全操作七大要则:守护员工与环境
  8. 先进3D运动追踪系统:透明石墨烯光电探测器加神经网络或将替代激光雷达相机
  9. 自主无人机群充电系统:配合无人地面车延长任务时间
  10. 迎接自动驾驶未来:车队所有者如何抢占先机
  11. 5G如何变革联网汽车:速度、安全与智能功能
  12. 安全至上:欧洲人如何看待未来联网汽车