mani_skill.agents.controllers.pd_joint_pos#
Classes#
dict() -> new empty dictionary |
|
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.MimicConfig[source]#
Bases:
TypedDictdict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s
(key, value) pairs
- dict(iterable) -> new dictionary initialized as if via:
d = {} for k, v in iterable:
d[k] = v
- dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosController(**kwargs)[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.
- 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- drive_mode: Sequence[mani_skill.utils.structs.types.DriveMode] | mani_skill.utils.structs.types.DriveMode = 'force'[source]#
- lower: None | float | Sequence[float] | numpy.ndarray[source]#
The lower bound for the joint position. If none, the lower bound defaults to the lower joint limit.
- class mani_skill.agents.controllers.pd_joint_pos.PDJointPosMimicController(**kwargs)[source]#
Bases:
PDJointPosControllerBase class for controllers. The controller is an interface for the robot to interact with the environment.
- 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.
- mimic: dict[str, MimicConfig][source]#
float, offset: float)
- Type:
the mimic targets. Maps the actual mimic joint name to a dictionary of the format dict(joint
- Type:
str, multiplier