mani_skill.agents.controllers.pd_joint_pos#
Classes#
Base class for controllers. |
|
Base class for controllers. |
|
PD Joint Position mimic controller configuration. This kind of controller is used to emuluate a mimic joint. For some simulation backends mimic joints are not |
Module Contents#
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosController(config, articulation, control_freq, sim_freq=None, scene=None)[source]#
Bases:
mani_skill.agents.controllers.base_controller.BaseControllerBase class for controllers. The controller is an interface for the robot to interact with the environment.
- Parameters:
config (ControllerConfig) –
articulation (mani_skill.utils.structs.Articulation) –
control_freq (int) –
sim_freq (Optional[int]) –
scene (mani_skill.envs.scene.ManiSkillScene) –
- reset()[source]#
Resets the controller to an initial state. This is called upon environment creation and each environment reset
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosControllerConfig[source]#
Bases:
mani_skill.agents.controllers.base_controller.ControllerConfig
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosMimicController(config, articulation, control_freq, sim_freq=None, scene=None)[source]#
Bases:
PDJointPosControllerBase class for controllers. The controller is an interface for the robot to interact with the environment.
- Parameters:
config (ControllerConfig) –
articulation (mani_skill.utils.structs.Articulation) –
control_freq (int) –
sim_freq (Optional[int]) –
scene (mani_skill.envs.scene.ManiSkillScene) –
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosMimicControllerConfig[source]#
Bases:
PDJointPosControllerConfigPD Joint Position mimic controller configuration. This kind of controller is used to emuluate a mimic joint. For some simulation backends mimic joints are not well simulated and/or are hard to tune and so a mimic controller can be used for better stability as well as alignment with a real robot.
The joint_names field is expected to be a list of all the joints, whether they are the joints to be controlled or the joints that are controlled via mimicing.
mimic is a dictionary that maps the mimic joint name to a dictionary of the format dict(joint: str, multiplier: float, offset: float). joint is the controlling joint name and is required. All given joints in joint_names must be in the mimic dictionary as either a key or a value. The ones that are keys are referred to as the mimic joints and the ones that are values are referred to as the control joints. Mimic joints are the ones directly controlled by the agent/user and control joints are implicitly controlled by following the mimic joints via the following equation:
q_mimic = q_controlling * multiplier + offset
By default, the multiplier is 1.0 and the offset is 0.0.