Skip to content

Commit f89f71e

Browse files
committed
fix(examples): desk import and max movement
1 parent 8dfeeea commit f89f71e

3 files changed

Lines changed: 43 additions & 37 deletions

File tree

python/examples/env_cartesian_control.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
import logging
22

33
from dotenv import dotenv_values
4+
from rcsss.control.fr3_desk import FCI, Desk, DummyResourceManager
45
from rcsss.control.utils import load_creds_fr3_desk
5-
from rcsss.desk import FCI, Desk, DummyResourceManager
66
from rcsss.envs.base import ControlMode, RobotInstance
7-
from rcsss.envs.factories import default_fr3_hw_gripper_cfg, default_fr3_hw_robot_cfg, default_fr3_sim_robot_cfg, default_mujoco_cameraset_cfg, fr3_hw_env, fr3_sim_env
8-
7+
from rcsss.envs.factories import (
8+
default_fr3_hw_gripper_cfg,
9+
default_fr3_hw_robot_cfg,
10+
default_fr3_sim_gripper_cfg,
11+
default_fr3_sim_robot_cfg,
12+
default_mujoco_cameraset_cfg,
13+
fr3_hw_env,
14+
fr3_sim_env,
15+
)
916

1017
logger = logging.getLogger(__name__)
1118
logger.setLevel(logging.INFO)
@@ -24,9 +31,7 @@
2431
def main():
2532
if ROBOT_INSTANCE == RobotInstance.HARDWARE:
2633
user, pw = load_creds_fr3_desk()
27-
resource_manger = FCI(
28-
Desk(ROBOT_IP, user, pw), unlock=False, lock_when_done=False
29-
)
34+
resource_manger = FCI(Desk(ROBOT_IP, user, pw), unlock=False, lock_when_done=False)
3035
else:
3136
resource_manger = DummyResourceManager()
3237

@@ -38,17 +43,18 @@ def main():
3843
robot_cfg=default_fr3_hw_robot_cfg(),
3944
collision_guard=True,
4045
gripper_cfg=default_fr3_hw_gripper_cfg(),
41-
max_relative_movement=0.5
46+
max_relative_movement=0.5,
4247
)
4348
else:
4449
env_rel = fr3_sim_env(
4550
control_mode=ControlMode.CARTESIAN_TQuart,
4651
robot_cfg=default_fr3_sim_robot_cfg(),
47-
gripper_cfg=default_fr3_hw_gripper_cfg(),
52+
gripper_cfg=default_fr3_sim_gripper_cfg(),
4853
camera_set_cfg=default_mujoco_cameraset_cfg(),
49-
max_relative_movement=0.5
50-
)
54+
max_relative_movement=0.5,
55+
)
5156

57+
env_rel.reset()
5258
print(env_rel.unwrapped.robot.get_cartesian_position())
5359

5460
for _ in range(10):

python/examples/env_joint_control.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
import logging
2+
23
import mujoco
4+
import numpy as np
35
import rcsss
4-
56
from dotenv import dotenv_values
7+
from rcsss.control.fr3_desk import FCI, Desk, DummyResourceManager
68
from rcsss.control.utils import load_creds_fr3_desk
7-
from rcsss.desk import FCI, Desk, DummyResourceManager
89
from rcsss.envs.base import ControlMode, RobotInstance
9-
from rcsss.envs.factories import default_fr3_hw_gripper_cfg, default_fr3_hw_robot_cfg, default_fr3_sim_robot_cfg, default_mujoco_cameraset_cfg, fr3_hw_env, fr3_sim_env
10-
10+
from rcsss.envs.factories import (
11+
default_fr3_hw_gripper_cfg,
12+
default_fr3_hw_robot_cfg,
13+
default_fr3_sim_gripper_cfg,
14+
default_fr3_sim_robot_cfg,
15+
default_mujoco_cameraset_cfg,
16+
fr3_hw_env,
17+
fr3_sim_env,
18+
)
1119

1220
logger = logging.getLogger(__name__)
1321
logger.setLevel(logging.INFO)
@@ -26,9 +34,7 @@
2634
def main():
2735
if ROBOT_INSTANCE == RobotInstance.HARDWARE:
2836
user, pw = load_creds_fr3_desk()
29-
resource_manger = FCI(
30-
Desk(ROBOT_IP, user, pw), unlock=False, lock_when_done=False
31-
)
37+
resource_manger = FCI(Desk(ROBOT_IP, user, pw), unlock=False, lock_when_done=False)
3238
else:
3339
resource_manger = DummyResourceManager()
3440
with resource_manger:
@@ -40,24 +46,22 @@ def main():
4046
robot_cfg=default_fr3_hw_robot_cfg(),
4147
collision_guard=True,
4248
gripper_cfg=default_fr3_hw_gripper_cfg(),
43-
max_relative_movement=0.5
49+
max_relative_movement=np.deg2rad(5),
4450
)
4551
else:
4652
env_rel = fr3_sim_env(
4753
control_mode=ControlMode.JOINTS,
4854
robot_cfg=default_fr3_sim_robot_cfg(),
49-
gripper_cfg=default_fr3_hw_gripper_cfg(),
55+
gripper_cfg=default_fr3_sim_gripper_cfg(),
5056
camera_set_cfg=default_mujoco_cameraset_cfg(),
51-
max_relative_movement=0.5
52-
)
57+
max_relative_movement=np.deg2rad(5),
58+
)
5359

5460
for _ in range(10):
5561
obs, info = env_rel.reset()
5662
for _ in range(3):
5763
# sample random relative action and execute it
5864
act = env_rel.action_space.sample()
59-
# if the first is open, then it does not open
60-
act["gripper"] = 1
6165
obs, reward, terminated, truncated, info = env_rel.step(act)
6266
if truncated or terminated:
6367
logger.info("Truncated or terminated!")

python/examples/fr3.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
from rcsss._core.hw import FR3Config, IKController
99
from rcsss._core.sim import CameraType
1010
from rcsss.camera.sim import SimCameraConfig, SimCameraSet, SimCameraSetConfig
11-
from rcsss.desk import FCI, Desk, DummyResourceManager
11+
from rcsss.control.fr3_desk import FCI, Desk, DummyResourceManager
12+
from rcsss.control.utils import load_creds_fr3_desk
1213
from rcsss.envs.base import RobotInstance
1314

1415
ROBOT_IP = "192.168.101.1"
@@ -37,14 +38,11 @@ def main():
3738
logger.error("This pip package was not built with the UTN lab models, aborting.")
3839
sys.exit()
3940
if ROBOT_INSTANCE == RobotInstance.HARDWARE:
40-
creds = dotenv_values()
41-
resource_manger = FCI(
42-
Desk(ROBOT_IP, creds["FR3_USERNAME"], creds["FR3_PASSWORD"]), unlock=False, lock_when_done=False
43-
)
41+
user, pw = load_creds_fr3_desk()
42+
resource_manger = FCI(Desk(ROBOT_IP, user, pw), unlock=False, lock_when_done=False)
4443
else:
4544
resource_manger = DummyResourceManager()
4645

47-
4846
with resource_manger:
4947
if ROBOT_INSTANCE == RobotInstance.SIMULATION:
5048
simulation = sim.Sim(rcsss.scenes["fr3_empty_world"])
@@ -60,13 +58,16 @@ def main():
6058

6159
# add camera to have a rendering gui
6260
cameras = {
63-
"default_free": SimCameraConfig(identifier="", type=int(CameraType.default_free), on_screen_render=True),
64-
"wrist": SimCameraConfig(identifier="eye-in-hand_0", type=int(CameraType.fixed), on_screen_render=False),
61+
"default_free": SimCameraConfig(
62+
identifier="", type=int(CameraType.default_free), on_screen_render=True
63+
),
64+
"wrist": SimCameraConfig(
65+
identifier="eye-in-hand_0", type=int(CameraType.fixed), on_screen_render=False
66+
),
6567
# TODO: odd behavior when not both cameras are used: only last image is shown
6668
}
6769
cam_cfg = SimCameraSetConfig(cameras=cameras, resolution_width=1280, resolution_height=720, frame_rate=20)
6870
camera_set = SimCameraSet(simulation, cam_cfg)
69-
resource_manger = DummyResourceManager()
7071

7172
else:
7273
robot = rcsss.hw.FR3(ROBOT_IP, str(rcsss.scenes["lab"].parent / "fr3.urdf"))
@@ -80,13 +81,8 @@ def main():
8081
gripper_cfg.speed = 0.1
8182
gripper_cfg.force = 30
8283
gripper = rcsss.hw.FrankaHand(ROBOT_IP, gripper_cfg)
83-
creds = dotenv_values()
84-
resource_manger = FCI(
85-
Desk(ROBOT_IP, creds["FR3_USERNAME"], creds["FR3_PASSWORD"]), unlock=False, lock_when_done=False
86-
)
8784
input("the robot is going to move, press enter whenever you are ready")
8885

89-
9086
# move to home position and open gripper
9187
robot.move_home()
9288
gripper.open()

0 commit comments

Comments
 (0)