def set_parameters()

in robogym/robot/shadow_hand/mujoco/parameter_manager.py [0:0]


    def set_parameters(self, actuator: str, assignments: Dict[str, float]):
        assert actuator in ACTUATORS

        actuator_id = self.mj_sim.model.actuator_name2id(actuator)

        # Based on http://www.mujoco.org/book/XMLreference.html#position.
        # second value in biasprm should be equal to -kp (first value of gainprm)
        # for actuators of "position" type.
        self.mj_sim.model.actuator_gainprm[actuator_id][0] = assignments[
            "actuator_gainprm_kp"
        ]
        self.mj_sim.model.actuator_gainprm[actuator_id][1] = assignments[
            "actuator_gainprm_ti"
        ]
        self.mj_sim.model.actuator_gainprm[actuator_id][2] = assignments[
            "actuator_gainprm_iclamp"
        ]
        self.mj_sim.model.actuator_gainprm[actuator_id][3] = assignments[
            "actuator_gainprm_td"
        ]
        self.mj_sim.model.actuator_gainprm[actuator_id][4] = assignments[
            "actuator_gainprm_dsmooth"
        ]
        self.mj_sim.model.actuator_gainprm[actuator_id][5] = assignments[
            "actuator_gainprm_error_deadband"
        ]

        self.mj_sim.model.actuator_forcerange[actuator_id][0] = -assignments[
            "actuator_forcerange"
        ]
        self.mj_sim.model.actuator_forcerange[actuator_id][1] = assignments[
            "actuator_forcerange"
        ]

        if self._has_spring_tendon(actuator):
            tendon = self._spring_tendon_name(actuator)
            tendon_id = self.mj_sim.model.tendon_name2id(tendon)
            self.mj_sim.model.tendon_stiffness[tendon_id] = assignments[
                "tendon_stiffness"
            ]
            self.mj_sim.model.tendon_lengthspring[tendon_id] = assignments[
                "tendon_lengthspring"
            ]
            self.mj_sim.model.tendon_range[tendon_id][1] = assignments["tendon_range"]

            for joint in ACTUATOR_JOINT_MAPPING[actuator]:
                geom = f"coupling_{joint}_pulley"
                geom_id = self.mj_sim.model.geom_name2id(geom)
                self.mj_sim.model.geom_size[geom_id][0] = assignments[
                    f"{joint}_tendon_geom_0"
                ]

        for joint in ACTUATOR_JOINT_MAPPING[actuator]:
            joint_id = self.mj_sim.model.joint_name2id(joint)
            self.mj_sim.model.dof_damping[joint_id] = assignments[
                f"{joint}_dof_damping"
            ]
            self.mj_sim.model.jnt_range[joint_id][0] = assignments[
                f"{joint}_jnt_range_0"
            ]
            self.mj_sim.model.jnt_range[joint_id][1] = assignments[
                f"{joint}_jnt_range_1"
            ]