Skip to content

Commit 3a9a1d5

Browse files
committed
fix(gripper): gripper state as list as defined by gym space
gripper wrapper now expects a list of the gripper state as defined by the gym.space.Box
1 parent e8c0d05 commit 3a9a1d5

10 files changed

Lines changed: 19 additions & 19 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ if __name__ == "__main__":
9090

9191
for _ in range(10):
9292
# move 1cm in x direction (forward) and close gripper
93-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": 0}
93+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": [0]}
9494
obs, reward, terminated, truncated, info = env.step(act)
9595
print(obs)
9696
```

examples/fr3/fr3_env_cartesian_control.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ def main():
6161
for _ in range(100):
6262
for _ in range(10):
6363
# move 1cm in x direction (forward) and close gripper
64-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": 0}
64+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": [0]}
6565
obs, reward, terminated, truncated, info = env_rel.step(act)
6666
for _ in range(10):
6767
# move 1cm in negative x direction (backward) and open gripper
68-
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": 1}
68+
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": [1]}
6969
obs, reward, terminated, truncated, info = env_rel.step(act)
7070

7171

examples/fr3/fr3_readme.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,6 @@
6767

6868
for _ in range(10):
6969
# move 1cm in x direction (forward) and close gripper
70-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": 0}
70+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": [0]}
7171
obs, reward, terminated, truncated, info = env.step(act)
7272
print(obs)

examples/fr3/grasp_demo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, env: gym.Env):
2020
self.home_pose = self.unwrapped.robot.get_cartesian_position()
2121

2222
def _action(self, pose: Pose, gripper: float) -> dict[str, Any]:
23-
return {"xyzrpy": pose.xyzrpy(), "gripper": gripper}
23+
return {"xyzrpy": pose.xyzrpy(), "gripper": [gripper]}
2424

2525
def get_object_pose(self, geom_name) -> Pose:
2626
model = self.env.get_wrapper_attr("sim").model

examples/fr3/grasp_digit_demo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def __init__(self, env: gym.Env):
2020
self.home_pose = self.unwrapped.robot.get_cartesian_position()
2121

2222
def _action(self, pose: Pose, gripper: float) -> dict[str, Any]:
23-
return {"xyzrpy": pose.xyzrpy(), "gripper": gripper}
23+
return {"xyzrpy": pose.xyzrpy(), "gripper": [gripper]}
2424

2525
def get_object_pose(self, geom_name) -> Pose:
2626
model = self.env.get_wrapper_attr("sim").model

examples/fr3/grasp_ompl_demo.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ def __init__(self, env: gym.Env, planner: MjOMPL):
4545
self.planner = planner
4646

4747
def _action(self, pose: Pose, gripper: float) -> dict[str, Any]:
48-
return {"xyzrpy": pose.xyzrpy(), "gripper": gripper}
48+
return {"xyzrpy": pose.xyzrpy(), "gripper": [gripper]}
4949

5050
def _jaction(self, joints: np.ndarray, gripper: float) -> dict[str, Any]:
51-
return {"joints": joints, "gripper": gripper}
51+
return {"joints": joints, "gripper": [gripper]}
5252

5353
def get_object_pose(self, geom_name) -> Pose:
5454
model = self.env.get_wrapper_attr("sim").model

examples/so101/so101_env_cartesian_control.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,21 +49,21 @@ def main():
4949
env_rel.get_wrapper_attr("sim").open_gui()
5050
obs, info = env_rel.reset()
5151

52-
act = {"tquat": [0.03, 0, 0, 0, 0, 0, 1], "gripper": 1}
52+
act = {"tquat": [0.03, 0, 0, 0, 0, 0, 1], "gripper": [1]}
5353
obs, reward, terminated, truncated, info = env_rel.step(act)
5454

5555
for _ in range(100):
5656
for _ in range(5):
5757
# move 1cm in x direction (forward) and close gripper
58-
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": 0}
58+
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": [0]}
5959
obs, reward, terminated, truncated, info = env_rel.step(act)
6060
print(info, obs)
6161
if truncated or terminated:
6262
logger.info("Truncated or terminated!")
6363
return
6464
for _ in range(5):
6565
# move 1cm in negative x direction (backward) and open gripper
66-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": 1}
66+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": [1]}
6767
obs, reward, terminated, truncated, info = env_rel.step(act)
6868
if truncated or terminated:
6969
logger.info("Truncated or terminated!")

examples/ur5e/ur5e_env_cartesian_control.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ def main():
7070
for _ in range(100):
7171
for _ in range(10):
7272
# move 1cm in x direction (forward) and close gripper
73-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1.0], "gripper": 0}
73+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1.0], "gripper": [0]}
7474
obs, reward, terminated, truncated, info = env_rel.step(act)
7575
sleep(0.6)
7676
for _ in range(10):
7777
# move 1cm in negative x direction (backward) and open gripper
78-
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1.0], "gripper": 1}
78+
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1.0], "gripper": [1]}
7979
obs, reward, terminated, truncated, info = env_rel.step(act)
8080
sleep(0.6)
8181

extensions/rcs_panda/src/rcs_panda/panda_env_cartesian_control.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ def main():
2929
for _ in range(100):
3030
for _ in range(10):
3131
# move 1cm in x direction (forward) and close gripper
32-
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": 0}
32+
act = {"tquat": [0.01, 0, 0, 0, 0, 0, 1], "gripper": [0]}
3333
obs, reward, terminated, truncated, info = env_rel.step(act)
3434
if truncated or terminated:
3535
logger.info("Truncated or terminated!")
3636
return
3737
for _ in range(10):
3838
# move 1cm in negative x direction (backward) and open gripper
39-
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": 1}
39+
act = {"tquat": [-0.01, 0, 0, 0, 0, 0, 1], "gripper": [1]}
4040
obs, reward, terminated, truncated, info = env_rel.step(act)
4141
if truncated or terminated:
4242
logger.info("Truncated or terminated!")

python/rcs/envs/base.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -684,8 +684,8 @@ def close(self):
684684
class GripperWrapper(ActObsInfoWrapper):
685685
# TODO: sticky gripper, like in aloha
686686

687-
BINARY_GRIPPER_CLOSED = 0
688-
BINARY_GRIPPER_OPEN = 1
687+
BINARY_GRIPPER_CLOSED = [0]
688+
BINARY_GRIPPER_OPEN = [1]
689689

690690
def __init__(self, env, gripper: common.Gripper, binary: bool = True):
691691
super().__init__(env)
@@ -715,7 +715,7 @@ def observation(self, observation: dict[str, Any], info: dict[str, Any]) -> tupl
715715
self._last_gripper_cmd if self._last_gripper_cmd is not None else self.BINARY_GRIPPER_OPEN
716716
)
717717
else:
718-
observation[self.gripper_key] = self.gripper.get_normalized_width()
718+
observation[self.gripper_key] = [self.gripper.get_normalized_width()]
719719

720720
return observation, info
721721

@@ -730,7 +730,7 @@ def action(self, action: dict[str, Any]) -> dict[str, Any]:
730730
if self.binary:
731731
self.gripper.grasp() if gripper_action == self.BINARY_GRIPPER_CLOSED else self.gripper.open()
732732
else:
733-
self.gripper.set_normalized_width(gripper_action)
733+
self.gripper.set_normalized_width(next(gripper_action))
734734
self._last_gripper_cmd = gripper_action
735735
del action[self.gripper_key]
736736
return action

0 commit comments

Comments
 (0)