智能两轮自平衡车 · 项目学习计划

本计划仅围绕项目负责板块制定,不涉及课业学习安排。分为「整体学习计划」与「本月学习计划」两项,从底层硬件到视觉通信,系统支撑项目顺利开展。

5.25 — 6.24 · 项目专项

📚 一、整体学习计划

学习框架 · 全周期

✨ 本次学习计划仅围绕「智能两轮自平衡车」项目负责板块相关内容制定,不涉及课业学习安排。以下梳理需掌握的全部内容,明确目标与模块,搭建完整学习框架。

整体学习目标

独立完成自平衡车硬件驱动、姿态 PID 控制、上下位机通信协议及视觉辅助功能,并完成整车联调,实现平衡站立与基础循迹/跟随。

负责板块范围

嵌入式底层(STM32)、控制算法(PID)、软硬件通信与上位机、Python 视觉处理;最终集成至整车系统。

学习路径(五阶段)

① 硬件底座 → ② 闭环控制 → ③ 数据链路 → ④ 视觉感知 → ⑤ 综合联调与优化。

习惯与节奏建议

工作日每晚 1.5~2 小时理论学习+小实验;周末集中 3~4 小时板级调试与联调;每模块结束做通关检验再进入下一阶段。

核心学习模块总览

  • 模块一:STM32 基础与外设驱动(GPIO / 定时器 / 中断 / I2C·SPI·UART)
  • 模块二:PID 控制理论与电机闭环调参(直立环、速度环)
  • 模块三:串口协议设计与上位机交互(PyQt / Web Serial / 无线扩展)
  • 模块四:Python 与 OpenCV 图像处理(预处理、目标追踪)
  • 模块五:整车集成联调(硬件+控制+通信+视觉协同)

核心模块详解

🧩 模块一 · STM32 基础与硬件底座

核心色:蓝色系

阶段目标

掌握 ARM Cortex-M 内核架构与常用外设驱动。

关键任务

  • 熟练配置 GPIO、定时器(Timer)、中断(EXIT)。
  • 掌握 I2C, SPI, UART 串行通信协议。
  • 学习使用 STM32CubeMX + Keil/VS Code 开发环境。

工程检验标准

通关条件
独立编写驱动读取 IMU 传感器(如 MPU6050)数据。

🎯 模块二 · PID 控制理论与算法实践

核心色:橘色系

阶段目标

理解闭环控制理论,具备工程调参能力。

关键任务

  • 深入理解 P(比例)、I(积分)、D(微分)各环节对系统的影响。
  • 编写位置式 PID 与增量式 PID 的 C++ 代码。
  • 学习使用匿名上位机或 Vofa+ 进行波形实时调参。

工程检验标准

通关条件
实现电机的速度闭环控制与位置闭环控制。

🌐 模块三 · 交互通信与上位机开发

核心色:紫色系

阶段目标

打通软硬件数据链路,实现跨平台交互。

关键任务

  • 设计可靠的串口通信协议(帧头、数据基、校验位)。
  • 学习 Python PyQT6 或 Web Serial API 编写交互界面。
  • 掌握基于 Wi-Fi/蓝牙的 Socket 网络通信。

工程检验标准

通关条件
开发一个可视化上位机,能实时下发控制指令并接收硬件状态。

🛰️ 模块四 · Python 进阶与图像处理

核心色:绿色系

阶段目标

引入视觉感知能力,为系统注入“眼睛”。

关键任务

  • 深入 Python 高级特性(面向对象、多线程并发、高级数据结构)。
  • 掌握 OpenCV 库:图像预处理、色彩空间转换、边缘检测。
  • 了解传统特征匹配与简单目标追踪算法。

工程检验标准

通关条件
实现基于颜色或特定形状的摄像头目标追踪程序。

⏳ 二、本月学习计划(5.25 — 6.24)

从本周起 · 共四周

自 5 月 25 日起算一个月,从本周开始按周推进。每周只列 2 项基础任务,先跑通再加深,难度循序渐进。

第 1 周 · 认识开发环境与板子(当前周)

5 月 25 日 — 5 月 31 日
  • 用 CubeMX 建工程,点亮一颗 LED,熟悉下载烧录流程
  • 用串口打印一句文字,确认电脑能收到数据

第 2 周 · PID 入门

6 月 1 日 — 6 月 7 日
  • 弄清 P、I、D 分别管什么,看一篇入门讲解或示例
  • 写一个最简单的 PID 计算函数(可先不接电机,用打印验证)

第 3 周 · 串口收发

6 月 8 日 — 6 月 14 日
  • 板子定时通过串口发送几个固定数字(如角度、速度占位值)
  • 用串口助手或简单 Python 脚本把数据读出来并显示

第 4 周 · 摄像头初体验

6 月 15 日 — 6 月 24 日
  • 安装 OpenCV,用摄像头在窗口里显示实时画面
  • 识别画面里一种明显颜色(如红色贴纸),在窗口标出位置即可

🌟 项目目标:智能两轮自平衡车

上述学习与本月安排均服务于该目标:融合硬件、算法、通信与视觉,在真实系统中协同运转,助力项目顺利交付。

硬件层 STM32 读取陀螺仪,通过直立环/速度环 PID 控制两轮电机维持平衡。
视觉层 树莓派/Jetson 或 PC 端运行 Python OpenCV,识别前方的特定轨道或手势。
通信层 通过交互通信将视觉处理结果下发给 STM32,实现自主寻迹或手势跟随。