robopal.envs.bimanual_tasks.bimanual_manipulate module

class robopal.envs.bimanual_tasks.bimanual_manipulate.BimanualManipulate(robot=None, render_mode='human', control_freq=20, is_show_camera_in_cv=False, controller='CARTIK', is_interpolate=False, is_shared_obs=False, gripper_ctrl_mode='abs')[源代码]

基类:RobotEnv

The control frequency of the robot is of f=20 Hz. This is achieved by applying the same action in 50 subsequent simulator step (with a time step of dt = 0.001 s) before returning the control to the robot. :parameter robot: The robot model to be used in the environment. :parameter render_mode: The mode in which the environment is rendered. Possible values are 'human' and 'rgb_array'. :parameter control_freq: The control frequency of the robot. :parameter is_show_camera_in_cv: Whether to show the camera feed in a window. :parameter controller: The controller to be used in the environment. Possible values are 'CARTIK' and 'JNTIMP'. :parameter is_interpolate: Whether to interpolate the actions. :parameter is_shared_obs: Whether to share the observations between the agents. :parameter gripper_ctrl_mode: The mode in which the gripper is controlled. Possible values are 'abs' and 'rel'.

compute_gripper_action(action, agent) ndarray[源代码]

Map to target action space bounds

compute_manipulator_action(action, agent) ndarray[源代码]

Map to target action space bounds

static goal_distance(goal_a, goal_b)[源代码]
normalize_gripper_ctrl(action, agent)[源代码]
reset(seed=None, options=None)[源代码]

Reset the simulate environment, in order to execute next episode.

reset_object()[源代码]

Set pose of the object.

set_random_init_position()[源代码]

Set the initial position of the end effector to a random position within the workspace.

step(actions: Dict[str, ndarray]) tuple[Dict[str, ndarray], Dict[str, float], Dict[str, bool], Dict[str, bool], Dict[str, dict]][源代码]

Take one step in the environment.

参数:

action -- The action space is 4-dimensional, with the first 3 dimensions corresponding to the desired

position of the block in Cartesian coordinates, and the last dimension corresponding to the desired gripper opening (0 for closed, 1 for open). :return: obs, reward, terminated, truncated, info

update_init_pose_to_current()[源代码]