Skip to content

1716775457damn/crane-2.0pro

Repository files navigation

物流技术创意赛智能小车项目

一、项目概述

本项目开发了一款智能物流搬运小车,用于完成货箱的自动识别、定位、抓取和搬运任务。项目采用模块化设计,提供了两种技术路线的实现方案,分别基于不同的硬件平台和控制策略。系统集成了计算机视觉识别、路径规划、运动控制和机械执行四大功能模块。

二、项目结构

项目根目录/
├── 3D/                          # 3D打印设计文件
│   └── README.md                # 3D打印模型说明文档
├── planA/                       # 双芯片方案(ESP32S3 + K210)
│   ├── Chassis motor control/   # 底盘运动控制模块
│   │   ├── 底盘控制-basic/      # 基础底盘控制
│   │   ├── stepper/            # 步进电机控制
│   │   ├── qzj/                # L298N电机驱动
│   │   ├── qzj2.0/             # 舵机控制升级版
│   │   └── README.md           # 底盘控制模块说明文档
│   ├── visual contural/        # 视觉识别控制模块
│   │   ├── ESP32_Number_Tracker/  # ESP32S3跟踪程序
│   │   ├── model-11975.nncase/    # K210模型文件
│   │   ├── K210_Detection_Sender.py  # K210识别程序
│   │   └── README.md           # 视觉控制模块说明文档
│   └── README.md               # 方案A说明文档
├── planB/                       # 单片机方案(香橙派aipro)
│   ├── xiangchengpai-aipro/    # 香橙派控制程序
│   │   └── aipro.py            # 主程序代码
│   └── readme.md               # 方案B说明文档
└── README.md                   # 本文档(项目总体说明)
└── release                       # 思路视频

三、技术方案对比

特性 方案A(ESP32S3+K210) 方案B(香橙派aipro)
系统架构 双芯片协同工作 单芯片集成控制
视觉处理 K210 AI加速(Yolo2优化) OpenCV+Pytesseract
控制方式 ESP32S3控制舵机和步进电机 GPIO直接控制步进电机
通信方式 UART串口(115200波特率) 内部函数调用
优势 实时性高,功耗低 集成度高,易于扩展
适用场景 追求低功耗和高实时性 追求开发便捷和功能扩展

四、方案A:ESP32S3+K210实现

核心功能

  1. 视觉识别

    • K210运行优化版Yolo2模型,识别货箱编号(1-8)
    • 实时计算目标位置与大小
    • 通过串口发送识别结果到ESP32S3
  2. 目标跟踪

    • ESP32S3接收K210发送的识别数据
    • 使用PID算法(Kp=0.1, Ki=0.01, Kd=0.05)控制双轴舵机
    • 在OLED显示屏实时显示跟踪状态
  3. 底盘控制

    • 支持多种控制方案:串口控制、AccelStepper、L298N直驱
    • 实现精确的运动控制与路径执行
    • 可选配置舵机实现更复杂的机械动作

硬件配置

  • 视觉模块

    • K210开发板 + OV2640摄像头
    • ESP32S3开发板 + SSD1306 OLED显示屏
    • 双轴舵机跟踪系统
  • 底盘模块

    • ESP32或Arduino控制器
    • 步进电机驱动板或L298N驱动模块
    • 四轮驱动系统

五、方案B:香橙派aipro实现

核心功能

  1. 集成视觉处理

    • 使用OpenCV进行图像处理
    • 通过Pytesseract进行OCR数字识别
    • 实现货箱位置与编号的实时识别
  2. 完整控制系统

    • GPIO直接控制多组步进电机
    • 实现平移、转向、升降、抓取等多种动作
    • 集成激光测距避障功能
  3. 任务规划与执行

    • 支持任务规划与路径生成
    • 按照预设任务顺序执行搬运操作
    • 支持特殊任务处理(如指定货箱放置要求)

硬件配置

  • 主控:香橙派aipro(全志H6四核Cortex-A53 CPU)
  • 传感器:USB摄像头、激光测距传感器
  • 执行机构
    • 驱动电机:GPIO [17, 18, 27, 22]
    • 转向电机:GPIO [5, 6, 13, 19]
    • 升降电机:GPIO [26, 12, 16, 20]
    • 抓取机构:GPIO [21, 23, 24, 25] 或舵机GPIO 23

六、3D打印设计

项目包含完整的3D打印设计文件,包括:

  • 底盘框架结构
  • 电机安装支架
  • 摄像头和传感器安装支架
  • 货箱抓取机构
  • 舵机安装底座

3D模型设计考虑了结构强度、装配便捷性和功能实用性,推荐使用PLA/PETG/ABS等材料打印,详细参数请参考3D/README.md

七、使用指南

方案A使用流程

  1. 准备硬件:K210开发板、ESP32S3开发板、摄像头、舵机等
  2. 烧录程序:
    • K210_Detection_Sender.py上传到K210
    • 使用Arduino IDE将ESP32_Number_Tracker.ino烧录到ESP32S3
    • 根据选择的底盘控制方案,烧录相应的程序
  3. 硬件连接:按照各README文档中的接线说明连接硬件
  4. 启动系统:先启动K210,待初始化完成后启动ESP32S3
  5. 使用与调试:通过OLED显示屏和串口监视器观察运行状态

方案B使用流程

  1. 安装环境:在香橙派aipro上安装必要的Python库和依赖
  2. 部署程序:将aipro.py复制到香橙派并设置执行权限
  3. 硬件连接:按照README中的GPIO定义连接电机和传感器
  4. 运行程序:执行python3 aipro.py启动系统
  5. 监控执行:系统将自动执行初始化、识别和搬运任务

八、开发与扩展

扩展建议

  • 视觉增强:训练更精确的模型,识别多种类型的货物
  • 路径优化:实现更高级的路径规划算法,提高搬运效率
  • 多机协同:实现多台小车的协同作业功能
  • 远程控制:添加WiFi/蓝牙接口,实现远程监控和控制

开发工具

  • Arduino IDE/PlatformIO:用于ESP32S3和Arduino开发
  • MaixPy IDE:用于K210的开发与调试
  • Python环境:用于香橙派aipro的开发
  • 3D建模软件:用于设计和修改3D打印模型

九、常见问题解决

  1. 系统通信问题

    • 检查串口连接和波特率设置
    • 验证数据格式是否符合协议要求
    • 使用串口监视器排查通信故障
  2. 视觉识别问题

    • 调整光线条件和摄像头位置
    • 优化识别算法参数
    • 考虑环境因素对识别结果的影响
  3. 电机控制问题

    • 检查电源是否足够(尤其是步进电机)
    • 验证GPIO连接是否正确
    • 调整控制参数适应不同负载情况

About

crane-2.0pro

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •