Skip to content

Commit ba48f38

Browse files
feat: dualsense device
1 parent 76df718 commit ba48f38

4 files changed

Lines changed: 557 additions & 10 deletions

File tree

robosuite/demos/demo_device_control.py

Lines changed: 58 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,25 +99,56 @@
9999
from robosuite.wrappers import VisualizationWrapper
100100

101101
if __name__ == "__main__":
102-
103102
parser = argparse.ArgumentParser()
104103
parser.add_argument("--environment", type=str, default="Lift")
105-
parser.add_argument("--robots", nargs="+", type=str, default="Panda", help="Which robot(s) to use in the env")
106104
parser.add_argument(
107-
"--config", type=str, default="default", help="Specified environment configuration if necessary"
105+
"--robots",
106+
nargs="+",
107+
type=str,
108+
default="Panda",
109+
help="Which robot(s) to use in the env",
110+
)
111+
parser.add_argument(
112+
"--config",
113+
type=str,
114+
default="default",
115+
help="Specified environment configuration if necessary",
116+
)
117+
parser.add_argument(
118+
"--arm",
119+
type=str,
120+
default="right",
121+
help="Which arm to control (eg bimanual) 'right' or 'left'",
122+
)
123+
parser.add_argument(
124+
"--switch-on-grasp",
125+
action="store_true",
126+
help="Switch gripper control on gripper action",
127+
)
128+
parser.add_argument(
129+
"--toggle-camera-on-grasp",
130+
action="store_true",
131+
help="Switch camera angle on gripper action",
108132
)
109-
parser.add_argument("--arm", type=str, default="right", help="Which arm to control (eg bimanual) 'right' or 'left'")
110-
parser.add_argument("--switch-on-grasp", action="store_true", help="Switch gripper control on gripper action")
111-
parser.add_argument("--toggle-camera-on-grasp", action="store_true", help="Switch camera angle on gripper action")
112133
parser.add_argument(
113134
"--controller",
114135
type=str,
115136
default=None,
116137
help="Choice of controller. Can be generic (eg. 'BASIC' or 'WHOLE_BODY_MINK_IK') or json file (see robosuite/controllers/config for examples) or None to get the robot's default controller if it exists",
117138
)
118139
parser.add_argument("--device", type=str, default="keyboard")
119-
parser.add_argument("--pos-sensitivity", type=float, default=1.0, help="How much to scale position user inputs")
120-
parser.add_argument("--rot-sensitivity", type=float, default=1.0, help="How much to scale rotation user inputs")
140+
parser.add_argument(
141+
"--pos-sensitivity",
142+
type=float,
143+
default=1.0,
144+
help="How much to scale position user inputs",
145+
)
146+
parser.add_argument(
147+
"--rot-sensitivity",
148+
type=float,
149+
default=1.0,
150+
help="How much to scale rotation user inputs",
151+
)
121152
parser.add_argument(
122153
"--max_fr",
123154
default=20,
@@ -168,12 +199,29 @@
168199
if args.device == "keyboard":
169200
from robosuite.devices import Keyboard
170201

171-
device = Keyboard(env=env, pos_sensitivity=args.pos_sensitivity, rot_sensitivity=args.rot_sensitivity)
202+
device = Keyboard(
203+
env=env,
204+
pos_sensitivity=args.pos_sensitivity,
205+
rot_sensitivity=args.rot_sensitivity,
206+
)
172207
env.viewer.add_keypress_callback(device.on_press)
173208
elif args.device == "spacemouse":
174209
from robosuite.devices import SpaceMouse
175210

176-
device = SpaceMouse(env=env, pos_sensitivity=args.pos_sensitivity, rot_sensitivity=args.rot_sensitivity)
211+
device = SpaceMouse(
212+
env=env,
213+
pos_sensitivity=args.pos_sensitivity,
214+
rot_sensitivity=args.rot_sensitivity,
215+
)
216+
elif args.device == "dualsense":
217+
from robosuite.devices import DualSense
218+
219+
device = DualSense(
220+
env=env,
221+
pos_sensitivity=args.pos_sensitivity,
222+
rot_sensitivity=args.rot_sensitivity,
223+
reverse_xy=True,
224+
)
177225
elif args.device == "mjgui":
178226
from robosuite.devices.mjgui import MJGUI
179227

robosuite/devices/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
try:
55
from .spacemouse import SpaceMouse
6+
from .dualsense import DualSense
67
except ImportError as e:
78
print("Exception!", e)
89
print(

0 commit comments

Comments
 (0)