Humanoid Robotic Arm (SDSU Senior Design)
TLDR: 12-actuator humanoid arm prototype (6-actuator/arm) targeting basic pick-up and gestures by semester end. Actuators run over CAN 2.0, with commands sent from Jetson Thor via SocketCAN (can0) at 1 Mbps.
Overview:
This project is an in-progress SDSU Senior Design humanoid robotic arm targeting basic manipulation (simple pick-up tasks) and gesture demos within a semester timeline. Each arm uses ~6 CAN-controlled actuators (≈12 total), with Jetson Thor as the high-level compute platform and an STM32F767ZI planned as the real-time/safety boundary. My focus is the lowest-level reliability layer: CAN communication, actuator command/telemetry, safety behaviors, and integration bring-up.
System Architecture
Actuators: RobStride RS03/RS04 (plus potential additional models) on a single CAN 2.0 daisy-chain bus
Compute: Jetson Thor runs the actuator control application and CAN tooling
Safety/RT boundary: STM32F767ZI planned for safety-critical handling and future real-time control partitioning
Safety inputs (current): proximity sensors used to prevent collisions during motion tests
Safe behavior (current): stop motion on unsafe condition/fault
CAN Bring-Up and Actuator Control
CAN config: CAN 2.0 @ 1Mpbs (can0 on the Jetson Thor)
Tools: ip link, candump, cansend, C++ and the SocketCAN library
Status (1/25): CAN is operational, and the actuators are moving. During motion testing, we currently hit a repeatable issue where an actuator moves, then enters a fault state and stops. We are actively working on diagnosing this by capturing traffic during the event and decoding the actuator’s CAN messages.