cartesian_planning._cartesian_ext

Classes

CartesianSpeedMode

Selects how the planner assigns speed/timing along the path.

CartesianPlannerOptions

Options for the Cartesian path planner.

CartesianPlannerComponents

Caller-supplied OInK solver and IK objectives for the Cartesian path planner.

CartesianPathPlanner

Offline Cartesian path planner that traces a CartesianPath in joint space using Oink.

Module Contents

class cartesian_planning._cartesian_ext.CartesianSpeedMode(*args, **kwds)

Bases: enum.Enum

Selects how the planner assigns speed/timing along the path.

Bounded = 0

Trace the path under bounded Cartesian velocity and acceleration.

TimeOptimal = 1

Time-optimal re-timing respecting joint velocity and acceleration limits.

class cartesian_planning._cartesian_ext.CartesianPlannerOptions(group_name='', dt=0.01, speed_mode=CartesianSpeedMode.Bounded, max_linear_speed=0.1, max_angular_speed=0.5, max_linear_acceleration=0.5, max_angular_acceleration=2.5, max_position_error=0.005, max_orientation_error=0.01, position_cost=1.0, orientation_cost=1.0, task_gain=1.0, lm_damping=0.01, regularization=1e-06, config_task_weight=0.05, velocity_scale=1.0, acceleration_scale=1.0, limit_ratio_tolerance=1.05, toppra_blend_deviation=0.05, position_limit_gain=1.0, max_attempts_per_step=16)

Options for the Cartesian path planner.

Parameters:
  • group_name (str)

  • dt (float)

  • speed_mode (CartesianSpeedMode)

  • max_linear_speed (float)

  • max_angular_speed (float)

  • max_linear_acceleration (float)

  • max_angular_acceleration (float)

  • max_position_error (float)

  • max_orientation_error (float)

  • position_cost (float)

  • orientation_cost (float)

  • task_gain (float)

  • lm_damping (float)

  • regularization (float)

  • config_task_weight (float)

  • velocity_scale (float)

  • acceleration_scale (float)

  • limit_ratio_tolerance (float)

  • toppra_blend_deviation (float)

  • position_limit_gain (float)

  • max_attempts_per_step (int)

property group_name: str

Joint group name.

Return type:

str

property dt: float

Output trajectory sample period (s).

Return type:

float

property speed_mode: CartesianSpeedMode

Speed/timing strategy.

Return type:

CartesianSpeedMode

property max_linear_speed: float

Maximum linear tool speed (m/s).

Return type:

float

property max_angular_speed: float

Maximum angular tool speed (rad/s).

Return type:

float

property max_linear_acceleration: float

Maximum linear tool acceleration (m/s^2), Bounded mode.

Return type:

float

property max_angular_acceleration: float

Maximum angular tool acceleration (rad/s^2), Bounded mode.

Return type:

float

property max_position_error: float

Maximum position deviation from the path (m).

Return type:

float

property max_orientation_error: float

Maximum orientation deviation from the path (rad).

Return type:

float

property position_cost: float

Oink frame task position cost.

Return type:

float

property orientation_cost: float

Oink frame task orientation cost.

Return type:

float

property task_gain: float

Oink frame task gain.

Return type:

float

property lm_damping: float

Oink frame task Levenberg-Marquardt damping.

Return type:

float

property regularization: float

Tikhonov regularization for the Oink QP.

Return type:

float

property config_task_weight: float

Weight of the nullspace configuration-regularization task.

Return type:

float

property velocity_scale: float

Scaling factor for joint velocity limits.

Return type:

float

property acceleration_scale: float

Scaling factor for joint acceleration limits (TimeOptimal re-timing and Bounded joint-acceleration throttle).

Return type:

float

property limit_ratio_tolerance: float

Acceptance tolerance (>= 1.0) for the Bounded mode’s slow-down retry; the peak velocity/acceleration ratios may exceed the (scaled) limits by up to this factor.

Return type:

float

property toppra_blend_deviation: float

Corner-rounding tolerance (rad) for the TimeOptimal mode’s TOPP-RA line+blend geometry.

Return type:

float

property position_limit_gain: float

Gain for the joint position-limit constraint.

Return type:

float

property max_attempts_per_step: int

Maximum feedrate-throttling attempts per control step.

Return type:

int

class cartesian_planning._cartesian_ext.CartesianPlannerComponents

Caller-supplied OInK solver and IK objectives for the Cartesian path planner.

property oink: roboplan.optimal_ik._optimal_ik_ext.Oink

The OInK solver to use.

Return type:

roboplan.optimal_ik._optimal_ik_ext.Oink

property tracking_tasks: list[roboplan.optimal_ik._optimal_ik_ext.FrameTask]

FrameTasks that the planner updates each step, one per end-effector (ordered to match the path’s tip frames).

Return type:

list[roboplan.optimal_ik._optimal_ik_ext.FrameTask]

property extra_tasks: list[roboplan.optimal_ik._optimal_ik_ext.Task]

Additional tasks solved alongside the tracking tasks.

Return type:

list[roboplan.optimal_ik._optimal_ik_ext.Task]

property constraints: list[roboplan.optimal_ik._optimal_ik_ext.Constraints]

Constraints applied at every control step.

Return type:

list[roboplan.optimal_ik._optimal_ik_ext.Constraints]

property barriers: list[roboplan.optimal_ik._optimal_ik_ext.Barrier]

Control barrier functions applied at every control step.

Return type:

list[roboplan.optimal_ik._optimal_ik_ext.Barrier]

class cartesian_planning._cartesian_ext.CartesianPathPlanner(scene: roboplan.core._core_ext.Scene, options: CartesianPlannerOptions)
class cartesian_planning._cartesian_ext.CartesianPathPlanner(scene, options, components)

Offline Cartesian path planner that traces a CartesianPath in joint space using Oink.

plan(path, q_start)

Plans a joint trajectory that traces the provided Cartesian path.

Parameters:
  • path (roboplan.core._core_ext.CartesianPath)

  • q_start (roboplan.core._core_ext.JointConfiguration)

Return type:

roboplan.core._core_ext.JointTrajectory

compute_peak_limit_ratios(trajectory)

Computes the (peak velocity / limit, peak acceleration / limit) ratios over a trajectory.

Parameters:

trajectory (roboplan.core._core_ext.JointTrajectory)

Return type:

tuple[float, float]

compute_achieved_path_length(trajectory, path)

Computes the achieved Cartesian path length (m) traced by the path’s tip frames.

Parameters:
  • trajectory (roboplan.core._core_ext.JointTrajectory)

  • path (roboplan.core._core_ext.CartesianPath)

Return type:

float