1Overview
Stroke survivors need timely, repetitive upper-limb training, but therapists are scarce and manual training is exhausting to standardize. Akso (after the Greek goddess of health) is a desktop single-DOF robot for this scenario: the forearm rests on a rotating arm and grips a handle, and the robot either drives the limb along planned trajectories (passive mode) or applies adjustable resistance against the patient's motion (resistance mode).
2System Architecture
Host software, an embedded controller, and the mechanism form one closed loop.
Host computer, embedded controller, and mechanical subsystems.
An MFC host application exchanges data with a CHAI3D virtual scene through shared memory and talks to the STM32/FreeRTOS main controller over Bluetooth. The controller commands a C620 ESC over a 1 Mbps CAN bus; the ESC drives an M3508 gearmotor with field-oriented control and streams back angle, speed, torque, and temperature, while a single-axis handle force sensor closes the interaction loop.
3Mechanical Design & Structural Optimization
A 3D-printed single-bar arm rotates on an RU85 crossed roller bearing, coupled to the motor by a flange D-coupling, with sliding handle mounts for different limb lengths. Static FEA on the cantilevered arm (100 N at the handle) drove an enlarged reinforcement ring at the arm–bearing interface, lowering peak stress (1.67→1.40×10⁷ N/m²) and tip displacement (12.5→10.1 mm) and raising the minimum safety factor from 3.03 to 3.51.
The assembled prototype: host PC, virtual scene, embedded controller, and mechanical system.
4Embedded & Control
The controller is a DJI RoboMaster Board Type A (STM32F427 @ 180 MHz) running FreeRTOS, driving an M3508 P19 gearmotor through a C620 FOC ESC over CAN; handle force stays within the 0–45 N range for upper-limb training. Quintic-polynomial trajectories with PID position control — co-simulated in Matlab/Simulink — produce smooth 0→60° sweeps and ±60° passive cycles, validated on the physical robot.
TECHNICAL SKILLS: Solidworks & Simulation (FEA) · 3D printing (SLA/FDM) · STM32 · FreeRTOS · CAN bus · Robot kinematics & dynamics · Trajectory planning · PID control · MATLAB/Simulink · MFC (C++) · CHAI3D / OpenGL