System overview
Component | Description |
M2 muscle unit | series elastic actuator consisting of a BLDC motor surrounded by a torsional spring that pulls on a dyneema tendon and a force sensor, generating up to 300N of tendon force; control modes: PWM, position and force; custom motorboard with tinyFPGA and icebus interface |
M3 muscle unit | series elastic actuator consisting of a servo connected to a string that pulls on a dyneema tendon; control modes: PWM, position and spring displacement; icebus interface |
Internal bus | Intel DE10-Nano Dev kit w. Cyclone V SoC FPGA with custom breakout board providing 24V, 12V and 5V to motors, compute and sensors, communicating to all motors via icebus, a custom RS485 based bus protocol, and via RJ45 LAN to rest of the system |
Neck | 1 DOF rolling joint, joint position via magnetic angle sensor. |
Elbow | 1 DOF rolling joint, joint position via magnetic angle sensor |
Shoulder | 3DOF joint controlled by eight M2s, joint position as in neck. |
Wrist | 3 DOF joint controlled by six M3s, joint position as in neck. |
Hand | 9 DOF in fingers controlled by four linear motors, no feedback |
Spine | bendable bar, controlled by four M2s, no feedback |
Face | OTHA projector with Android 7, projecting into a translucent shell |
Â
Node name, Location | Function |
upper_body Jetson Nano (head) | Performs joint control implemented in CARDSflow: calculates each tendon length required to reach given joint angles for both arms, spine, and head; implements high-level safety features |
roboy_fpga DE10-nano (back) | Receives motor commands and publishes sensor data on ROS; implements low-level motor control and its safety features; |
roboy_face OTHA Projector (head) | Displays robot’s face, triggers emotion animations, moves robot eyes, performs lip sync on operator’s audio |
led_control Raspberry Pi 4 (chest) | Controls chest LED ring |