This paper describes an adaptive S-curve used to recover a tool path upon a system crash in the Windows operating system (OS). For a mechanism such as a robot or machine tool, the joint values, being delivered as setpoints to the servo-controller, are dynamically recorded by the real-time operating system also residing on the computer. The real-time OS can control the abort and record pertinent motion data after Windows OS crash.
Upon system recovery, the recovery trajectory generator examines the setpoints intervals to determine the current slow joint. At every trajectory step, and for the current slow joint, the S-curve velocity profile applies the joint entry state (position, speed, acceleration, and jerk) to interpolate the motion between the setpoints in a reverse direction. The other joints are proportionally interpolated (slowed) so that they pass through each setpoint simultaneously with the slow joint, but in a reverse direction.
The trajectory algorithm is optimal since the slow joint always uses the maximum allowable jerk to change the profile speed and acceleration for each trajectory step.