Skip to content
⚙ Development Guide > SDK > Concept Guide > Motion Planning Principles

CIRC Circular Trajectory Planning#

This planner generates a circular trajectory in Cartesian space between the start pose and target pose. Path constraints can be supplied in either of two ways:

  • Geometric center of the circle: The planner always generates the shorter arc between the start and target and cannot generate a semicircle.
  • Intermediate point on the arc: The generated trajectory always passes through the intermediate point. The planner cannot generate a complete circle.

Cartesian limits—translational/rotational velocity, acceleration, and deceleration—must be configured. The planner uses these limits to generate a trapezoidal velocity profile in Cartesian space. Rotational motion is a quaternion linear interpolation between the start and target orientations. Translational and rotational motion are synchronized in time. This planner accepts only a start state with zero velocity. Its output is a joint trajectory. If motion planning fails because of a joint-limit violation, adjust the Cartesian velocity/acceleration scaling factors.

When using CIRC planning, configure the following parameters in options:

  • velocity_scaling_factor: Scaling factor for the maximum joint velocity
  • acceleration_scaling_factor: Scaling factor for the maximum joint acceleration/deceleration
  • sampling_time: Sampling interval (in seconds)
  • allow_planning_time: Maximum allowed planning time
  • circ_is_center: Selects whether the supplied point is the circle's intermediate point or center