visualizers.viser_app.tasks.cylinder_push
#
Module Contents#
- visualizers.viser_app.tasks.cylinder_push.XML_PATH#
- class visualizers.viser_app.tasks.cylinder_push.CylinderPushConfig#
Bases:
jacta.visualizers.viser_app.tasks.task.TaskConfig
Reward configuration for the cylinder push task. .. py:attribute:: default_command
- type:
Optional[numpy.ndarray]
- w_pusher_proximity: float = 0.5#
- w_pusher_velocity: float = 0.0#
- w_cart_position: float = 0.1#
- pusher_goal_offset: float = 0.25#
- cart_goal_position: numpy.ndarray#
- cutoff_time: float = 0.15#
- class visualizers.viser_app.tasks.cylinder_push.CylinderPush#
Bases:
jacta.visualizers.viser_app.tasks.mujoco_task.MujocoTask
[CylinderPushConfig
]Defines the cylinder push balancing task. .. py:method:: reward(states: numpy.ndarray, sensors: numpy.ndarray, controls: numpy.ndarray, config: CylinderPushConfig, additional_info: dict[str, Any]) -> numpy.ndarray
Implements the cylinder push reward from MJPC.
Maps a list of states, list of controls, to a batch of rewards (summed over time) for each rollout.
The cylinder push reward has four terms:
* `pusher_reward`, penalizing the distance between the pusher and the cart. * `velocity_reward` penalizing squared linear velocity of the pusher. * `goal_reward`, penalizing the distance from the cart to the goal.
Since we return rewards, each penalty term is returned as negative. The max reward is zero.
- reset() None #
Resets the model to a default (random) state.
- Return type:
None