Embodied AI Glossary中文

S-Curve Velocity Profile

S 型速度曲线Advanced

A velocity plan that limits jerk so acceleration changes smoothly, making the speed-versus-time curve look like an S.

The simplest point-to-point motion is a trapezoidal velocity profile: constant acceleration, constant velocity, constant deceleration. But acceleration jumps abruptly at the boundaries between segments, making jerk (the rate of change of acceleration) theoretically infinite and prone to shaking the mechanism. An S-curve profile caps jerk instead: the acceleration phase is split into three sub-phases — increasing acceleration, constant acceleration, decreasing acceleration — and deceleration is split the same way, giving seven segments in total together with the middle constant-velocity phase (hence the alternative name ‘seven-segment profile’). Each segment's jerk is set to +J, 0, or −J, so the velocity-versus-time curve becomes a smooth S shape at the start and stop. The cost is a slightly longer travel time than a trapezoidal profile and more complex computation, and short moves can end up with zero-length segments. Industrial robot controllers and CNC machines widely use S-curves; Lars Berscheid and Torsten Kröger at the Karlsruhe Institute of Technology (KIT) published the open-source library Ruckig at RSS 2021, which computes a time-optimal, jerk-limited trajectory in real time on every control cycle.

ExampleRuckig writes the fastest single-joint trajectory as up to seven constant-jerk segments and synchronizes multiple joints to arrive together. MoveIt 2, CoppeliaSim, LinuxCNC, and Franka's Frankx library all use it to generate jerk-limited trajectories.

Also called
S-Curve Acceleration, Seven-Segment Velocity Profile, Jerk-Limited Velocity Profile
Related
Trapezoidal Velocity Profile · Jerk · Time Parameterization · Trajectory Planning · Ruckig · Minimum-Jerk Trajectory
Sources
Jerk-limited Real-time Trajectory Generation with Arbitrary Target States (Berscheid & Kröger, RSS 2021, arXiv 2105.04830)
Ruckig GitHub(Motion Generation for Robots and Machines)

See it in the full glossary →