Principle:ARISE Initiative Robosuite Trajectory Interpolation
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Motion_Planning |
| Last Updated | 2026-02-15 07:00 GMT |
Overview
Interpolation methods that generate smooth intermediate waypoints between a start and goal configuration, bridging the gap between low-frequency policy commands and high-frequency controller execution.
Description
In robotic control, the policy (or planner) typically runs at a lower frequency than the underlying controller. For example, a policy may output new target poses at 20 Hz while the controller operates at 500 Hz. Without interpolation, the controller would receive a new setpoint every 25 control steps and attempt to jump directly to each new goal, resulting in jerky, discontinuous motion that can destabilize the system and damage hardware.
Trajectory interpolation solves this by generating a sequence of intermediate waypoints between the current state and the goal state. A linear interpolator divides the displacement evenly across a configurable number of steps (determined by the ratio of controller frequency to policy frequency, scaled by a ramp ratio). At each control step, the interpolator advances by a fraction of the remaining displacement, producing smooth constant-velocity motion between policy updates.
For orientation interpolation, standard linear interpolation in Euler angle space can produce artifacts near gimbal lock. Instead, spherical linear interpolation (SLERP) is used in quaternion space, ensuring the shortest rotational path between orientations with uniform angular velocity. The interpolator internally converts between Euler angles and quaternions as needed, performing SLERP in quaternion space and converting back to the desired representation.
The ramp ratio parameter controls what fraction of the available interpolation window is used for the transition. A ramp ratio of 1.0 means the interpolator takes the full window to reach the goal, while a lower value (e.g., 0.2) means the goal is reached early and held for the remaining steps.
Usage
Use trajectory interpolation whenever a higher-level policy produces setpoints at a lower rate than the control loop executes. This is standard practice in operational space control, inverse kinematics control, and joint-space position control. Linear interpolation suffices for most position goals, while SLERP should be used for orientation goals to avoid gimbal lock and ensure shortest-path rotation.
Theoretical Basis
Linear interpolation for position:
Given start position x_start, goal position x_goal, current step k, and total steps N:
dx = (x_goal - x_start) / (N - k)
x_current = x_start + dx
This receding-horizon formulation adjusts the step size at each iteration based on the remaining distance divided by the remaining steps, ensuring convergence to the goal.
Spherical linear interpolation (SLERP) for orientation:
Given start quaternion q_start and goal quaternion q_goal, the interpolated quaternion at fraction t in [0, 1] is:
theta = arccos(q_start . q_goal)
q(t) = (sin((1 - t) * theta) / sin(theta)) * q_start
+ (sin(t * theta) / sin(theta)) * q_goal
SLERP guarantees:
- Constant angular velocity: The rate of rotation is uniform across the interpolation
- Shortest path: The interpolation follows the minor arc on the unit quaternion sphere
- Singularity-free: No gimbal lock issues that affect Euler angle interpolation
Ramp ratio and step count:
total_steps = ceil(ramp_ratio * controller_freq / policy_freq)
fraction(k) = (k + 1) / total_steps
The ramp ratio allows tuning the trade-off between responsiveness (lower ratio, faster transitions) and smoothness (higher ratio, gentler motion).