Stack: C++, ROS 2, ARM Cortex-M7
Highlights
- Led software architecture on ARM Cortex-M7 within a cross-functional ME/EE/CS team, designing control systems for an 8-DOF robotic hand with wrist, power-grasping finger, and dexterous finger for manipulation tasks
- Characterized series elastic actuators (SEA) for force sensing and backdrivability across multiple loading conditions on all modules, achieving <0.05 s force settling time and >10 Hz bandwidth in position tracking
- Coordinated with the electrical team on motor driver board development integrating gate drivers, GaN FETs, hall-effect sensors, and a 16-bit external ADC for current sensing, achieving more precise torque regulation
- Developed comprehensive brushless DC (BLDC) motion control libraries integrating forward/inverse kinematics with null-space optimization algorithms, implementing an inner loop with field-oriented control and PD torque control and an outer loop with PID position control and gravity compensation
- Architected inter-board communication (SPI & CAN) between 9 boards with sensors, verifying signal integrity with a Saleae logic analyzer and enabling 10 kHz real-time feedback loops for encoders, current sensors, and motor drivers
- Created an intuitive MediaPipe-based hand-tracking graphical user interface with ROS 2 integration, enabling real-time gesture recognition and RViz visualization with a URDF-based digital twin