下面是一份四个项目的详细规划报告。我会按“目标岗位倒推”的逻辑写,不把它当作单纯学习路线,而是当作你 2027 回国投递长三角机器人、智能制造、新能源设备、工业自动化企业时的作品集建设方案。
你的基本盘很清楚:你已有 C/C++、Python、STM32、RT1064、Siemens PLC、Altium、SolidWorks、MATLAB、TIA Portal、NodeRed、EMQX、Grafana 等基础,并且做过储能电池检测、电动车状态监控、智能温室云监管、Siemens Cup PLC/WINCC 电梯群控、智能车视觉与运动控制等项目。 你的既有规划也已经判断:你最大的优势是“硬件 + 控制 + IoT”的工程闭环,而短板是高阶算法、机器人软件栈、科研/软件工程深度。
所以这四个项目的总目标不是“看起来炫”,而是补齐企业筛选你时最关心的四类证据:
- 嵌入式控制能力
- 工业设备系统能力
- 机器人软件栈能力
- 具身智能趋势认知
0. 总体项目组合定位
作品集总名称
建议你把四个项目统一包装为:
机器人嵌入式控制与智能系统作品集
Robotics & Embedded Control Portfolio
不要把它们做成四个完全无关的项目,而要让 HR 和技术面看到一条主线:
底层电机控制 → 工业设备状态监测 → 机器人导航系统 → 视觉语言机械臂操作
这条线对应的是:
从控制执行层,到设备通信层,到机器人系统层,再到具身智能应用层。
1. 四个项目的战略角色
| 项目 | 战略定位 | 主要服务岗位 | 优先级 |
|---|---|---|---|
| 项目 1:STM32 双电机闭环控制与状态监测系统 | 硬技术基本盘 | 嵌入式软件、机器人控制、运动控制、自动化研发 | 最高 |
| 项目 2:工业设备远程监测与运维平台 | 工业场景与 IoT 能力 | 工业 IoT、新能源设备、智能制造、设备监控 | 高 |
| 项目 3:ROS2 移动机器人建图与导航仿真 | 机器人软件栈标签 | 机器人系统工程、AMR/AGV、机器人软件 | 中高 |
| 项目 4:视觉语言驱动机械臂抓取仿真 | 具身智能标签 | 机器人前沿企业、具身智能工程岗、机器人系统岗 | 中 |
投入比例建议:
| 项目 | 投入比例 |
|---|---|
| STM32 双电机闭环控制 | 40% |
| 工业设备远程监控 | 25% |
| ROS2 建图导航 | 20% |
| 视觉语言机械臂抓取 | 15% |
如果时间不足,优先保住项目 1 和项目 2。项目 3 是投机器人公司必须补的“机器人味”。项目 4 是加分项,不是主菜。
2. 项目一:STM32 双电机闭环控制与状态监测系统
2.1 项目定位
中文名称: 面向移动机器人底盘的 STM32 双电机闭环控制与状态监测系统
英文名称: STM32-based Dual-Motor Closed-loop Control and Monitoring System for Mobile Robot Chassis
这是四个项目里的主项目。它决定你能不能立住“嵌入式控制 / 机器人控制 / 自动化研发”的主画像。
你的原有项目里虽然有智能车、PLC、电动车监控和电池检测,但企业可能会觉得它们偏本科项目。这个项目要解决的问题是:
证明你现在可以独立做一个可调试、可监控、可维护的嵌入式控制系统。
2.2 对应目标岗位
重点服务:
- 嵌入式软件工程师;
- 嵌入式控制工程师;
- 机器人控制工程师;
- 运动控制工程师;
- 自动化研发工程师;
- 工业设备控制软件工程师;
- 移动机器人底盘控制相关岗位。
2.3 HR 视角价值
HR 或技术初筛看到这个项目,会迅速提取这些关键词:
- STM32;
- C 语言;
- PWM;
- 编码器;
- PID;
- 电机控制;
- UART;
- 状态机;
- 故障检测;
- 数据监测;
- 移动机器人底盘。
这类关键词和你目标岗位的 JD 匹配度非常高。比“智能温室”“温湿度采集”更像企业项目。
2.4 核心功能设计
项目建议分三层做。
第一层:基础电机控制
必须完成:
- STM32 控制两路直流减速电机;
- PWM 调速;
- 正反转控制;
- 编码器测速;
- 串口输出实时速度;
- 基础电机启停。
最低要求:
两个电机都能稳定转,能看到实时速度反馈。
第二层:闭环控制
必须完成:
- 单电机 PID 速度闭环;
- 双电机 PID 速度闭环;
- 目标速度设定;
- 实时速度反馈;
- PID 参数调节;
- 超调、稳态误差、响应时间记录;
- 简单滤波,例如滑动平均或一阶低通滤波。
这里不要只写“实现 PID”,要留下调参记录:
| 参数组合 | 超调 | 稳态误差 | 响应时间 | 备注 |
|---|---|---|---|---|
| Kp=xx, Ki=xx, Kd=xx | x% | x rpm | x s | 初始 |
| Kp=xx, Ki=xx, Kd=xx | x% | x rpm | x s | 优化后 |
这会让项目更像工程调试,而不是教程复现。
第三层:状态监测与故障管理
必须完成:
- 电压采集;
- 电流采集;
- 温度采集,可选;
- 低压报警;
- 过流报警;
- 堵转判断;
- 急停状态;
- 运行 / 待机 / 故障 / 急停状态机;
- 故障码定义;
- 串口或 MQTT 上传状态数据。
建议设计状态机:
INIT → IDLE → RUNNING → FAULT
↓
EMERGENCY_STOP
故障码可以设计为:
| 故障码 | 含义 |
|---|---|
| 0x00 | 正常 |
| 0x01 | 低压 |
| 0x02 | 过流 |
| 0x03 | 堵转 |
| 0x04 | 编码器异常 |
| 0x05 | 通信超时 |
2.5 推荐硬件清单
基础版:
- STM32F103C8T6 或 STM32F407 开发板;
- 两个带编码器直流减速电机;
- TB6612FNG 电机驱动模块,优先于 L298N;
- INA219 或 ACS712 电流采集模块;
- 分压电路采集电压;
- OLED 显示屏,可选;
- 按键或急停开关;
- 12V 电源或电池;
- 杜邦线、面包板、底板。
如果预算允许,买一个双轮小车底盘。没有底盘也可以先做台架。
2.6 推荐软件架构
嵌入式端建议模块化:
/Core
main.c
scheduler.c
/Drivers
motor_driver.c
encoder.c
adc_sensor.c
uart_comm.c
key_input.c
/Control
pid.c
motor_control.c
state_machine.c
fault_detector.c
/Protocol
packet_parser.c
crc.c
command_handler.c
/App
chassis_app.c
monitor_task.c
如果你用 FreeRTOS,可以设计任务:
| 任务 | 周期 | 功能 |
|---|---|---|
| MotorControlTask | 10 ms | 电机闭环控制 |
| SensorTask | 50 ms | 电压、电流、温度采集 |
| CommTask | 20 ms | 串口收发与命令解析 |
| MonitorTask | 100 ms | 状态上报 |
| FaultTask | 50 ms | 故障检测 |
如果不用 FreeRTOS,也可以用定时器中断 + 主循环状态机,但文档里要写清楚调度机制。
2.7 通信协议设计
建议设计简单帧格式:
Header | Device ID | Command | Length | Payload | CRC
0xAA55 | 0x01 | 0x10 | N | ... | CRC16
示例命令:
| Command | 方向 | 功能 |
|---|---|---|
| 0x01 | PC → MCU | 设置左轮目标速度 |
| 0x02 | PC → MCU | 设置右轮目标速度 |
| 0x03 | PC → MCU | 启动 |
| 0x04 | PC → MCU | 停止 |
| 0x05 | PC → MCU | 急停 |
| 0x10 | MCU → PC | 上传速度 |
| 0x11 | MCU → PC | 上传电压电流 |
| 0x12 | MCU → PC | 上传故障状态 |
这会显著提升项目“工程化”观感。
2.8 可视化方案
优先推荐 Python 上位机,简单可控:
- Python + PySerial;
- Matplotlib / PyQtGraph 实时曲线;
- 显示左右轮速度、电压、电流、故障码;
- 支持输入目标速度;
- 支持启停和急停按钮。
界面不用漂亮,但必须能展示控制闭环。
2.9 里程碑规划
Week 1:硬件与基础驱动
交付物:
- 电机可控转动;
- PWM 调速成功;
- 编码器测速成功;
- 串口打印速度。
Week 2:PID 闭环
交付物:
- 单电机闭环;
- 双电机闭环;
- PID 参数记录;
- 速度响应曲线。
Week 3:状态机与故障管理
交付物:
- 启停 / 急停;
- 低压 / 过流 / 堵转逻辑;
- 故障码;
- 状态机图。
Week 4:通信协议与上位机
交付物:
- 通信协议文档;
- Python 上位机;
- 速度、电压、电流曲线;
- 第一版 Demo 视频。
2.10 GitHub 交付结构
project-1-stm32-motor-control/
firmware/
pc_dashboard/
docs/
system_architecture.png
state_machine.png
protocol.md
pid_tuning_report.md
demo/
demo_video_link.md
README.md
2.11 简历写法
面向移动机器人底盘的 STM32 双电机闭环控制与状态监测系统|个人项目
- 基于 STM32 搭建双直流电机控制系统,完成 PWM 驱动、编码器测速、ADC 电压/电流采集等底层模块开发;
- 设计速度闭环 PID 控制算法,实现目标速度设定、实时速度反馈与动态调参,并记录超调、稳态误差和响应时间等调试指标;
- 构建设备状态机,支持启动、停止、急停、低压保护、过流报警、堵转检测等运行状态管理;
- 设计 UART 通信协议和 Python 上位机,实现左右轮速度、电压、电流、故障码等数据的实时可视化;
- 输出系统架构图、通信协议文档、PID 调参记录、Demo 视频和 GitHub 项目文档。
2.12 面试可讲点
面试官可能问:
- 为什么选速度闭环而不是位置闭环?
- 编码器测速怎么做?
- PID 参数怎么调?
- 堵转如何判断?
- 通信协议为什么要加 CRC?
- 如果电机响应抖动,你怎么排查?
- 控制周期怎么选?
- 如果左右轮速度不一致,如何校正?
- 你这个项目和机器人底盘有什么关系?
- 如果接入 ROS2,接口怎么设计?
你要提前准备答案。
3. 项目二:工业设备远程监测与运维平台
3.1 项目定位
中文名称: 面向工业设备 / 新能源终端的远程状态监测与运维平台
英文名称: Remote Monitoring and Maintenance Platform for Industrial and Energy Devices
这个项目不是为了显得“互联网化”,而是为了证明你具备工业设备数字化能力。
它和你之前的智能温室云监管、电动车状态监控、NodeRed、EMQX、Grafana 基础高度连续。你的 CV 里已经体现了设备联网和云平台逻辑设计经历。 现在要把它升级成更像企业的设备远程运维系统。
3.2 对应目标岗位
重点服务:
- 工业 IoT 工程师;
- 智能制造系统工程师;
- 自动化研发工程师;
- 新能源设备控制工程师;
- 储能设备监测工程师;
- 设备远程运维平台工程师;
- 工业软件 / SCADA 相关岗位。
3.3 HR 视角价值
HR 会看到这些关键词:
- MQTT;
- EMQX;
- Node-RED;
- InfluxDB;
- Grafana;
- 设备状态监测;
- 远程控制;
- 异常报警;
- 新能源设备;
- 工业 IoT;
- 数据可视化。
这些词对长三角智能制造、新能源设备、工业自动化企业很友好。
3.4 项目功能架构
建议项目分为四层:
设备层:STM32 / ESP32 / 模拟设备
通信层:MQTT / EMQX
逻辑层:Node-RED / Python
数据层:InfluxDB + Grafana
3.5 核心功能
设备数据采集
采集或模拟:
- 电压;
- 电流;
- 温度;
- 电机速度;
- 设备运行状态;
- 故障码;
- 在线状态;
- 累计运行时间。
如果你和项目 1 结合,可以直接使用电机控制系统的数据。这样两个项目会形成统一系统。
MQTT 数据通信
Topic 建议设计:
device/chassis001/telemetry
device/chassis001/status
device/chassis001/fault
device/chassis001/command
device/chassis001/config
Payload 建议 JSON:
{
"device_id": "chassis001",
"timestamp": "2026-05-25T12:00:00",
"left_speed": 120,
"right_speed": 118,
"voltage": 12.3,
"current": 1.8,
"temperature": 36.5,
"state": "RUNNING",
"fault_code": 0
}
Node-RED 逻辑
Node-RED 实现:
- 订阅设备数据;
- 判断异常阈值;
- 设备在线 / 离线判断;
- 控制命令下发;
- 报警消息生成;
- 数据写入 InfluxDB;
- 简单 Web Dashboard。
Grafana 看板
Grafana 面板建议包括:
- 设备总览;
- 左右轮速度曲线;
- 电压曲线;
- 电流曲线;
- 温度曲线;
- 故障事件表;
- 在线 / 离线状态;
- 运行时长;
- 报警次数。
异常报警
建议实现:
| 异常 | 判断逻辑 |
|---|---|
| 低压 | voltage < 阈值 |
| 过流 | current > 阈值 |
| 过温 | temperature > 阈值 |
| 堵转 | PWM 较高但速度接近 0 |
| 通信掉线 | 超过 N 秒未收到数据 |
| 左右轮差速异常 | 两轮速度差超过阈值 |
3.6 里程碑规划
Week 1:MQTT 链路
交付物:
- EMQX 搭建成功;
- 设备或 Python 模拟器能发布数据;
- Node-RED 能订阅数据。
Week 2:数据存储与看板
交付物:
- InfluxDB 存储数据;
- Grafana 实时曲线;
- 设备状态面板。
Week 3:远程控制与报警
交付物:
- Node-RED 下发控制命令;
- 设备端响应命令;
- 报警规则;
- 故障事件记录。
Week 4:文档与 Demo
交付物:
- 系统架构图;
- MQTT topic 文档;
- 数据流图;
- Grafana 截图;
- Demo 视频。
3.7 GitHub 交付结构
project-2-industrial-iot-monitoring/
device_simulator/
node_red_flows/
grafana_dashboards/
docs/
mqtt_topics.md
data_schema.md
system_architecture.png
alert_rules.md
README.md
如果使用真实 STM32 / ESP32,可以放:
firmware/
3.8 简历写法
面向工业设备 / 新能源终端的远程状态监测与运维平台|个人项目
- 基于 STM32/ESP32 或设备模拟器采集电压、电流、温度、电机速度和故障码等运行参数,设计设备状态数据结构;
- 使用 MQTT + EMQX 搭建设备通信链路,设计 telemetry、status、fault、command 等 Topic,实现数据上报与远程控制;
- 基于 Node-RED 实现设备在线检测、异常阈值判断、报警转发和控制命令下发逻辑;
- 使用 InfluxDB + Grafana 构建设备监控看板,实现实时曲线、历史数据查询、故障事件展示和运行状态可视化;
- 输出 MQTT 协议文档、数据流图、报警规则文档、Grafana Dashboard 和 Demo 视频。
3.9 面试可讲点
准备这些问题:
- 为什么选择 MQTT,而不是 HTTP?
- 设备掉线怎么判断?
- 如何避免数据丢失?
- QoS 选几?为什么?
- 设备命令下发如何确认执行成功?
- Grafana 数据如何组织?
- Node-RED 在工业场景中的优势和局限是什么?
- 如果设备数量从 1 台变成 100 台,架构要怎么改?
- 这个系统和 SCADA / EMS / BMS 有什么关系?
- 如何做权限、安全和日志?
4. 项目三:ROS2 移动机器人建图与导航仿真
4.1 项目定位
中文名称: 基于 ROS2 的移动机器人建图与自主导航仿真系统
英文名称: ROS2-based Mobile Robot Mapping and Autonomous Navigation Simulation
这是你投机器人公司的“入场券项目”。你的文档里提到,ROS2 的简历及格线包括:能完成一个小型 ROS2 系统,包含 publisher、subscriber、service/action、参数、launch 文件、简单 TF2 变换,并能画出节点数据流图。 这个项目就是为了达到这个及格线之上。
4.2 对应目标岗位
重点服务:
- 机器人系统工程师;
- 机器人软件工程师,偏系统;
- AMR / AGV / 移动机器人公司;
- 机器人控制工程师;
- 机器人应用研发;
- 智能制造机器人业务线。
4.3 HR 视角价值
HR 会看到:
- ROS2;
- Gazebo;
- RViz;
- SLAM;
- Navigation2;
- TF;
- C++ / Python 节点;
- 移动机器人;
- 自主导航;
- 机器人系统。
这能补你目前履历中“机器人软件栈不够明显”的问题。
4.4 项目范围控制
这个项目不要做成算法研究。目标不是写一个 SLAM 算法,而是证明你会使用和集成机器人系统。
项目完成标准:
- 能启动仿真机器人;
- 能在 Gazebo / RViz 中显示;
- 能建图;
- 能保存地图;
- 能导航到目标点;
- 能写一个自定义节点;
- 能解释 Topic、TF、Nav2 流程;
- 能输出 Demo 视频。
4.5 技术栈
推荐:
- Ubuntu 22.04;
- ROS2 Humble;
- TurtleBot3;
- Gazebo;
- RViz2;
- SLAM Toolbox;
- Navigation2;
- Python 节点,优先;
- C++ 节点,加分;
- Colcon;
- Launch file;
- YAML 参数文件。
4.6 功能拆解
基础仿真
- 安装 ROS2 Humble;
- 创建 workspace;
- 启动 TurtleBot3 Gazebo;
- RViz 显示机器人、LaserScan、Map、TF。
建图
- 使用 SLAM Toolbox;
- 通过键盘或自动节点控制机器人移动;
- 构建二维地图;
- 保存 map.yaml 和 map.pgm;
- 文档记录建图流程。
导航
- 启动 Navigation2;
- 加载地图;
- 设置初始位姿;
- 发布目标点;
- 观察全局路径、局部路径和 costmap;
- 完成目标点导航。
自定义节点
至少写 2–3 个节点。
建议:
robot_status_monitor
订阅/odom、/battery_state或模拟状态,输出机器人状态。goal_publisher
发布目标点,自动让机器人巡航多个点。navigation_logger
记录导航过程中的位姿、速度、目标点和任务结果。
如果能写一个 service/action 更好:
start_patrol;stop_patrol;set_goal_sequence。
4.7 节点架构图
你需要画出类似结构:
/goal_publisher → /navigate_to_pose → Nav2 Behavior Tree
↓
Global Planner / Local Planner
↓
/cmd_vel
↓
Gazebo Robot
↓
/odom /scan /tf → SLAM Toolbox / RViz / status_monitor
这个图在面试里非常有用。
4.8 里程碑规划
Week 1:环境与仿真
交付物:
- ROS2 workspace;
- TurtleBot3 Gazebo 成功运行;
- RViz 正常显示;
- README 记录安装步骤。
Week 2:SLAM 建图
交付物:
- 完成建图;
- 保存地图;
- 录制建图视频;
- 写建图流程文档。
Week 3:Navigation2 导航
交付物:
- 完成目标点导航;
- 展示 costmap 和路径规划;
- 录制导航视频。
Week 4:自定义节点与工程化
交付物:
- 2–3 个自定义节点;
- launch 文件;
- 参数文件;
- 节点数据流图;
- 项目 README。
4.9 GitHub 交付结构
project-3-ros2-navigation/
src/
robot_status_monitor/
goal_publisher/
navigation_logger/
launch/
config/
maps/
docs/
ros_graph.png
tf_tree.png
nav2_pipeline.md
troubleshooting.md
README.md
4.10 简历写法
基于 ROS2 的移动机器人建图与自主导航仿真系统|个人项目
- 基于 ROS2 Humble、Gazebo 和 RViz 搭建 TurtleBot3 移动机器人仿真环境,实现机器人模型加载、传感器数据发布与可视化;
- 使用 SLAM Toolbox 完成二维环境建图,保存地图并基于 Navigation2 实现目标点自主导航;
- 编写 ROS2 自定义节点,实现机器人状态订阅、目标点序列发布、导航日志记录和任务流程控制;
- 梳理 ROS2 Topic、TF、Launch、Nav2 行为树和导航数据流,输出节点架构图、TF 树、Demo 视频和 GitHub README。
4.11 面试可讲点
准备:
- ROS2 和 ROS1 的区别是什么?
- Topic、Service、Action 分别适合什么场景?
- TF 是什么?为什么机器人导航需要 TF?
- SLAM Toolbox 做了什么?
- Nav2 的全局规划和局部规划有什么区别?
- Costmap 是什么?
/cmd_vel是怎么驱动机器人运动的?- 你写的自定义节点起什么作用?
- 如果导航失败,怎么排查?
- 这个项目如何和 STM32 底盘控制结合?
最后一个问题尤其重要。你要回答:
仿真中的
/cmd_vel可以映射成左右轮速度指令,下发给 STM32 底盘控制器;STM32 完成底层速度闭环,并把编码器速度、电压、电流和故障状态反馈给上位系统。
这样项目 1 和项目 3 就连起来了。
5. 项目四:视觉语言驱动机械臂抓取仿真
5.1 项目定位
中文名称: 基于视觉语言指令的机械臂目标识别与抓取仿真系统
英文名称: Vision-Language Guided Robotic Pick-and-Place Simulation
这是四个项目里的前沿标签项目。它不是为了让你转成具身智能算法工程师,而是为了补:
感知 → 决策 → 执行
这个闭环。
你未来如果投机器人前沿企业、跨界机器人业务、具身智能相关部门,这个项目能让 HR 感觉你不只是传统自动化背景,也理解新趋势。
5.2 对应目标岗位
重点服务:
- 机器人系统工程师;
- 机器人软件工程师;
- 具身智能工程岗,非核心算法;
- 机械臂应用开发;
- 机器人解决方案研发;
- 智能制造视觉抓取场景。
不建议用它主攻:
- VLA 大模型算法岗;
- 强化学习算法岗;
- 人形机器人核心算法岗;
- 高级机器人操作算法岗。
5.3 HR 视角价值
HR 会看到:
- Embodied AI;
- robotic manipulation;
- vision-language instruction;
- pick-and-place;
- perception-action loop;
- MoveIt2 / PyBullet;
- object detection;
- task parsing。
这些词对机器人企业有“趋势感”。
5.4 技术路线选择
你有三种实现路线。
路线 A:PyBullet 低成本路线,推荐
优点:
- 安装简单;
- 对电脑要求低;
- 容易快速实现;
- 适合个人项目;
- 便于展示机械臂抓取。
技术栈:
- Python;
- PyBullet;
- OpenCV;
- 简单颜色识别或 YOLO;
- 规则语言解析;
- pick-and-place 轨迹。
推荐你优先选这个。
路线 B:ROS2 + MoveIt2 路线,进阶
优点:
- 更像真实机器人开发;
- 对机器人公司更有含金量;
- 可和 ROS2 项目统一。
缺点:
- 环境复杂;
- 调试成本高;
- 容易卡住。
如果你项目 3 已经熟悉 ROS2,可以尝试。
路线 C:Isaac Sim 路线,不建议当前主攻
优点:
- 视觉效果强;
- 前沿感强。
缺点:
- 电脑配置要求高;
- 环境重;
- 容易花大量时间在安装和渲染上;
- 对你当前求职主线投入产出比不高。
当前不建议。
5.5 推荐功能设计
最低可行版本
场景中有:
- 一个机械臂;
- 三个彩色方块;
- 一个目标区域;
- 输入文本指令;
- 系统解析目标;
- 识别目标位置;
- 机械臂移动到目标;
- 抓取并放置。
示例指令:
pick the red cube
move the blue block to the left area
place the green cube into the target zone
功能模块
Language Parser → Object Perception → Task Planner → Motion Execution → State Feedback
语言解析模块
简单版:
- 用规则匹配颜色和物体;
- 不必一开始接大模型。
例如:
"pick the red cube" → {"action": "pick", "object": "cube", "color": "red"}
增强版:
- 调用 LLM,把自然语言转 JSON;
- 注意不要依赖联网 API,否则展示不稳定。
视觉识别模块
简单版:
- 用颜色阈值识别红、蓝、绿方块;
- 获取物体中心点。
增强版:
- YOLOv8 识别目标;
- Grounding DINO 可作为拓展,但不建议先做。
任务规划模块
简单版:
识别目标 → 计算抓取点 → 移动机械臂 → 闭合夹爪 → 移动到放置点 → 打开夹爪
执行模块
PyBullet 中可以实现:
- 机械臂关节控制;
- 夹爪控制;
- 目标点运动;
- pick-and-place。
状态反馈模块
输出:
TASK_RECEIVEDOBJECT_DETECTEDPLANNINGEXECUTINGSUCCESSFAILED
5.6 里程碑规划
Week 1:仿真环境与机械臂控制
交付物:
- PyBullet 环境;
- 机械臂模型加载;
- 机械臂移动到指定位置;
- 夹爪开合。
Week 2:目标识别
交付物:
- 场景中放置多个彩色物体;
- OpenCV 识别目标;
- 输出目标坐标。
Week 3:语言指令解析与任务执行
交付物:
- 输入文本指令;
- 解析颜色和动作;
- 完成 pick-and-place;
- 任务状态打印。
Week 4:文档和 Demo
交付物:
- Demo 视频;
- 系统架构图;
- 任务流程图;
- README;
- 失败场景分析。
5.7 GitHub 交付结构
project-4-vl-robotic-manipulation/
simulation/
perception/
language_parser/
task_planner/
docs/
architecture.png
task_flow.png
demo_cases.md
README.md
5.8 简历写法
基于视觉语言指令的机械臂目标识别与抓取仿真系统|个人项目
- 基于 PyBullet 搭建桌面机械臂抓取仿真环境,构建包含多类彩色目标物体和放置区域的 pick-and-place 场景;
- 设计自然语言指令解析模块,将 “pick the red cube” 等任务指令转化为结构化动作、目标物体和约束信息;
- 使用 OpenCV / 轻量目标检测方法识别目标物体位置,并将感知结果传递至任务规划模块;
- 实现机械臂抓取、移动和放置动作流程,构建“语言指令—视觉感知—任务规划—动作执行—状态反馈”的闭环;
- 输出系统架构图、任务流程图、Demo 视频和 GitHub README,展示具身智能任务执行的基本流程。
5.9 面试可讲点
准备:
- 为什么用 PyBullet?
- 语言指令如何转成机器人任务?
- 你这个项目算不算具身智能?
- 感知模块如何识别目标?
- 如果识别错了怎么办?
- 抓取失败怎么处理?
- 这个项目和真实机械臂差距在哪里?
- 如何升级到 MoveIt2 或真实机械臂?
- 如何接入大模型?
- 为什么没有做强化学习?
最后一个问题要这样答:
本项目目标不是训练策略模型,而是构建可解释、可展示的机器人任务闭环;在当前求职目标下,感知—规划—执行链路比复杂 RL 算法更能证明系统工程能力。
6. 四个项目之间如何打通
这是总规划里最重要的一点。
你不能让四个项目割裂。推荐你最终包装成一个“分层机器人系统”。
6.1 分层结构
应用智能层:视觉语言机械臂抓取
机器人系统层:ROS2 建图与导航
设备控制层:STM32 双电机闭环控制
工业运维层:MQTT/Grafana 远程监测
6.2 项目叙事
你可以这样向 HR 讲:
我围绕机器人嵌入式控制与智能系统做了一个系列项目。底层是 STM32 双电机闭环控制,负责机器人底盘执行;中间通过 MQTT/Grafana 实现设备状态监测和远程运维;机器人系统层用 ROS2 完成建图与导航仿真;最后用机械臂抓取仿真补充感知—决策—执行闭环,形成从底层控制到机器人智能任务的完整作品集。
这句话非常重要。它能把四个项目串成一个人设:
机器人嵌入式控制与系统工程候选人。
7. 12 周总排期
第 1–4 周:项目 1
目标:完成 STM32 双电机闭环控制。
交付物:
- 电机控制代码;
- PID 调参记录;
- 状态机;
- 通信协议;
- Python 上位机;
- Demo 视频。
第 5–6 周:项目 2 初版
目标:完成工业设备远程监控。
交付物:
- MQTT;
- Node-RED;
- Grafana;
- 报警逻辑;
- 数据流图。
第 7–8 周:项目 3 初版
目标:完成 ROS2 建图和导航。
交付物:
- SLAM;
- Navigation2;
- 自定义节点;
- ROS 图;
- Demo 视频。
第 9–10 周:项目 4 初版
目标:完成机械臂视觉语言抓取仿真。
交付物:
- PyBullet 仿真;
- 语言解析;
- 视觉识别;
- Pick-and-place;
- Demo 视频。
第 11–12 周:整合包装
目标:让项目能用于求职。
交付物:
- GitHub 四个仓库;
- 作品集主页;
- 中文项目 PDF;
- 英文 README;
- 简历四版本;
- 面试讲稿;
- Demo 视频合集。
8. 每个项目的质量标准
不要用“跑起来”作为完成标准。用以下 6 条判断:
| 标准 | 要求 |
|---|---|
| 功能可演示 | 有 2–3 分钟视频 |
| 代码可阅读 | 模块化、有注释、有 README |
| 架构可解释 | 有系统架构图和数据流图 |
| 问题可复盘 | 有 bug / troubleshooting 记录 |
| 岗位可匹配 | 简历 bullet 能直接对应 JD |
| 面试可追问 | 能讲技术取舍、参数、失败案例 |
项目做到这里,HR 和技术面才会觉得有价值。
9. 最终简历项目排序
投嵌入式控制 / 机器人控制
排序:
- STM32 双电机闭环控制;
- ROS2 移动机器人导航;
- 工业设备远程监控;
- 机械臂视觉语言抓取。
投工业 IoT / 智能制造
排序:
- 工业设备远程监控;
- STM32 双电机闭环控制;
- Siemens Cup PLC/WINCC;
- 智能温室云监管;
- ROS2 导航。
投新能源设备 / 储能
排序:
- 储能电池检测装置;
- 工业设备远程监控;
- 电动车电池状态监控;
- STM32 双电机控制;
- 2025.9–2026.7 公司经历。
投机器人前沿公司
排序:
- STM32 + ROS2 移动机器人底盘控制;
- ROS2 建图与导航;
- 视觉语言机械臂抓取;
- 工业设备远程监控;
- 智能车视觉与运动控制。
10. 采购和环境建议
硬件采购优先级
必须买:
- STM32 开发板;
- 带编码器直流电机 x2;
- TB6612FNG 驱动;
- 电流采集模块;
- 电源模块;
- ESP32;
- 杜邦线、面包板。
可选:
- 小车底盘;
- OLED;
- 急停按钮;
- 温度传感器;
- 电池组。
暂不建议:
- 昂贵机械臂;
- 高性能激光雷达;
- 深度相机;
- Nvidia Jetson;
- 工业 PLC。
先把小系统做完整,比堆硬件更重要。
11. 最终报告结论
这四个项目的本质不是四个学习任务,而是四个招聘证据:
| 企业疑问 | 对应项目回答 |
|---|---|
| 你能不能写嵌入式控制代码? | STM32 双电机闭环控制 |
| 你有没有工业设备系统能力? | MQTT/Grafana 远程监测平台 |
| 你是不是真的懂机器人软件栈? | ROS2 建图与导航仿真 |
| 你是否理解具身智能趋势? | 视觉语言机械臂抓取仿真 |
你的最终求职主线应该保持为:
长三角机器人 / 智能制造 / 新能源设备企业中的嵌入式控制、机器人控制、自动化研发和系统工程岗位。
四个项目完成后,你的简历就不再只是“自动化本科 + 本科项目 + 曼大 Robotics”,而是可以升级为:
具备嵌入式控制、工业设备联网、机器人软件栈和具身智能任务闭环理解的工程型机器人候选人。
最后的执行优先级非常明确:
- 先做项目 1:STM32 双电机闭环控制。
- 再做项目 2:工业设备远程监控。
- 再做项目 3:ROS2 建图导航。
- 最后做项目 4:视觉语言机械臂抓取。
不要反过来。
你不是靠具身智能项目吃饭,具身智能只是让你更像机器人行业候选人;真正决定你面试基本盘的,是嵌入式控制和工业系统工程能力。