pyrcf.components.local_planners.ik_reference_interpolator

Classes

IKReferenceInterpolator

Solves IK for given end-effector reference and interpolates joint references.

Module Contents

class pyrcf.components.local_planners.ik_reference_interpolator.IKReferenceInterpolator(pybullet_ik_interface: pybullet_robot.PybulletIKInterface, filter_gain=0.05, blind_mode: bool = True, ee_names: List[str] = None, max_constraint_force: float = 10000, solver_erp: float = None)

Bases: pyrcf.components.local_planners.local_planner_base.LocalPlannerBase

Solves IK for given end-effector reference and interpolates joint references.

_pb_ik
_alpha
_blind_mode
_max_force
_erp
_ee_names
_output_plan: pyrcf.core.types.LocalMotionPlan = None
_prev_ee_pose_targets: Mapping[str, Tuple[pyrcf.core.types.Vector3D, pyrcf.core.types.QuatType]]
_prev_ref: numpy.ndarray = None
generate_local_plan(robot_state: pyrcf.core.types.RobotState, global_plan: pyrcf.core.types.GlobalMotionPlan, t: float, dt: float) pyrcf.core.types.LocalMotionPlan

The main local plan generation method to be called in the loop.

This method will be called after the global plan is generated in the loop.

This method should be implemented by any local planner implementation.

Parameters:
  • robot_state (RobotState) – The current state information from the robot.

  • global_plan (GlobalMotionPlan) – the latest global plan generated by the global planner used in the loop.

  • t (float) – the current time signature of the control loop. Defaults to None (controllers may or may not need this).

  • dt (float, optional) – the time since the last control loop. Defaults to None (controllers may or may not need this).

Raises:

NotImplementedError – Raised if this method is not implemented by the child class.

Returns:

The output local plan to be used by the controller in this iteration.

Return type:

LocalMotionPlan