深耕家用服务机器人底层控制系统,专注于轮式底盘驱动、多总线通信协议及机械臂伺服控制技术。精通 STM32/ESP32 系列 MCU 的嵌入式开发,具备直流无刷电机(BLDC)与步进电机的 FOC 矢量控制、PID 闭环调速及电流环调节的工程实践经验,能独立完成电机驱动板的硬件调试与固件开发。
在通信总线方面,熟练掌握 CAN/CANopen、RS485/Modbus RTU、UART 及 I2C 等工业与嵌入式总线协议,有在多传感器(激光雷达、IMU、编码器)与执行器(电机驱动器、舵机)之间构建可靠通信网络的实际经验。熟悉 EtherCAT 从站协议栈的基本原理与应用,能够解决多节点高速通信中的数据丢包与实时性问题。
机械臂控制领域,掌握 4-6 自由度串联机械臂的正逆运动学数学建模,能够手写雅可比矩阵与奇异点规避算法。精通 梯形/S 形速度规划与轨迹插补(PTP/Lin/Circ),具备在嵌入式 MCU 上实现实时关节空间与笛卡尔空间控制的工程能力。熟悉 ROS MoveIt! 框架的底层通信机制,能将其与自研底层驱动无缝对接。熟练使用 C/C++ 进行裸机与 FreeRTOS 实时系统开发。
底盘电机驱动与运动控制:
多总线通信网络搭建: 构建以 CAN 总线为主干、UART 为辅的分布式通信架构。底盘电机驱动器、IMU 姿态传感器挂载于 CAN 总线(波特率 500kbps),激光雷达与深度相机通过 UART/USB 接入。编写 Modbus RTU 协议解析层,实现上位机(鲁班猫/ROS)与下位机(STM32)之间的指令下发与状态回传,通信周期 ≤ 5ms。
机械臂底层控制算法实现: 独立完成 4 自由度机械臂的运动学建模,推导 D-H 参数表并编写正逆运动学求解器(C 语言实现,单次运算 < 0.1ms)。设计梯形速度规划的轨迹插补算法,支持点到点(PTP)与直线(LIN)两种运动模式,关节角度跟踪误差 < 0.5°。开发了软限位保护与电流过载检测功能,防止机械臂碰撞墙体或过载损坏。
实时系统与任务调度: 基于 FreeRTOS 设计多任务软件架构,将电机控制(1kHz)、通信处理(200Hz)、安全监控(100Hz)划分为独立任务,合理分配优先级与堆栈空间,杜绝任务饿死与看门狗误触发。编写 Bootloader,支持通过 CAN 总线远程升级固件。
与 ROS 上层系统联调: 自定义 ROS serial 通信协议,将底层里程计、关节状态、IMU 数据打包上传至 ROS 端(10-50Hz),同时接收来自 MoveIt! 的关节轨迹指令并解析执行。联合调试中解决了因串口缓冲区溢出导致的机械臂抖动问题,最终实现上层规划与底层执行的稳定闭环。