cartesian_planning._cartesian_ext ================================= .. py:module:: cartesian_planning._cartesian_ext Classes ------- .. autoapisummary:: cartesian_planning._cartesian_ext.CartesianSpeedMode cartesian_planning._cartesian_ext.CartesianPlannerOptions cartesian_planning._cartesian_ext.CartesianPlannerComponents cartesian_planning._cartesian_ext.CartesianPathPlanner Module Contents --------------- .. py:class:: CartesianSpeedMode(*args, **kwds) Bases: :py:obj:`enum.Enum` Selects how the planner assigns speed/timing along the path. .. py:attribute:: Bounded :value: 0 Trace the path under bounded Cartesian velocity and acceleration. .. py:attribute:: TimeOptimal :value: 1 Time-optimal re-timing respecting joint velocity and acceleration limits. .. py:class:: 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. .. py:property:: group_name :type: str Joint group name. .. py:property:: dt :type: float Output trajectory sample period (s). .. py:property:: speed_mode :type: CartesianSpeedMode Speed/timing strategy. .. py:property:: max_linear_speed :type: float Maximum linear tool speed (m/s). .. py:property:: max_angular_speed :type: float Maximum angular tool speed (rad/s). .. py:property:: max_linear_acceleration :type: float Maximum linear tool acceleration (m/s^2), Bounded mode. .. py:property:: max_angular_acceleration :type: float Maximum angular tool acceleration (rad/s^2), Bounded mode. .. py:property:: max_position_error :type: float Maximum position deviation from the path (m). .. py:property:: max_orientation_error :type: float Maximum orientation deviation from the path (rad). .. py:property:: position_cost :type: float Oink frame task position cost. .. py:property:: orientation_cost :type: float Oink frame task orientation cost. .. py:property:: task_gain :type: float Oink frame task gain. .. py:property:: lm_damping :type: float Oink frame task Levenberg-Marquardt damping. .. py:property:: regularization :type: float Tikhonov regularization for the Oink QP. .. py:property:: config_task_weight :type: float Weight of the nullspace configuration-regularization task. .. py:property:: velocity_scale :type: float Scaling factor for joint velocity limits. .. py:property:: acceleration_scale :type: float Scaling factor for joint acceleration limits (TimeOptimal re-timing and Bounded joint-acceleration throttle). .. py:property:: limit_ratio_tolerance :type: 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. .. py:property:: toppra_blend_deviation :type: float Corner-rounding tolerance (rad) for the TimeOptimal mode's TOPP-RA line+blend geometry. .. py:property:: position_limit_gain :type: float Gain for the joint position-limit constraint. .. py:property:: max_attempts_per_step :type: int Maximum feedrate-throttling attempts per control step. .. py:class:: CartesianPlannerComponents Caller-supplied OInK solver and IK objectives for the Cartesian path planner. .. py:property:: oink :type: roboplan.optimal_ik._optimal_ik_ext.Oink The OInK solver to use. .. py:property:: tracking_tasks :type: 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). .. py:property:: extra_tasks :type: list[roboplan.optimal_ik._optimal_ik_ext.Task] Additional tasks solved alongside the tracking tasks. .. py:property:: constraints :type: list[roboplan.optimal_ik._optimal_ik_ext.Constraints] Constraints applied at every control step. .. py:property:: barriers :type: list[roboplan.optimal_ik._optimal_ik_ext.Barrier] Control barrier functions applied at every control step. .. py:class:: CartesianPathPlanner(scene: roboplan.core._core_ext.Scene, options: CartesianPlannerOptions) CartesianPathPlanner(scene, options, components) Offline Cartesian path planner that traces a CartesianPath in joint space using Oink. .. py:method:: plan(path, q_start) Plans a joint trajectory that traces the provided Cartesian path. .. py:method:: compute_peak_limit_ratios(trajectory) Computes the (peak velocity / limit, peak acceleration / limit) ratios over a trajectory. .. py:method:: compute_achieved_path_length(trajectory, path) Computes the achieved Cartesian path length (m) traced by the path's tip frames.