isaac-sim / IsaacLab

Unified framework for robot learning built on NVIDIA Isaac Sim
https://isaac-sim.github.io/IsaacLab
Other
1.84k stars 686 forks source link

[Bug Report] Teleoperation demo script does not work #46

Closed ADebor closed 1 year ago

ADebor commented 1 year ago

Describe the bug

The teleop example (source/standalone/environments/teleoperation/teleop_se3_agent.py) fails. When launched using the --cpu option or not, the script runs, but I'm not able to control the robot using the keyboard. I simply launch it in the terminal and press keys on my keyboard, making them printed in this same terminal, but not moving the robot in the simulator. When pressing keys in the simulator, 'K' does toggle the gripper (which is expected), but pressing other keys simply selects different modes in the left panel of the simulator.

Steps to reproduce

Run teleoperation demo in API Demos:

./orbit.sh -p source/standalone/environments/teleoperation/teleop_se3_agent.py --task Isaac-Lift-Franka-v0 --num_envs 1 --cpu --device keyboard

No error in the terminal:

image

System Info

Additional context

Bug first mentioned here. Potential cause of the error mentioned here.

Checklist

Mayankm96 commented 1 year ago

Hi! I'm sorry for not getting back to you sooner.

I ran the command line argument you provided, and it seems the robot doesn't move. However, if you press K, the gripper is opening/closing. This means that the keyboard's sensitivity needs to be altered (somehow different keyboards have different latencies so their sensitivity changes).

If you run the following, you will notice the robot move:

./orbit.sh -p source/standalone/environments/teleoperation/teleop_se3_agent.py --task Isaac-Lift-Franka-v0 --num_envs 1 --cpu --device keyboard --sensitivity 10

Also, it is important to note that for the keyboard interface to work, the active window should be the Isaac Sim GUI. Otherwise, the keyboard callbacks (through the application) won't work. This isn't necessary when using Spacemouse as over there we directly read from the device port.

ADebor commented 1 year ago

Hi @Mayankm96 , no worries!

Running the command you provided indeed works, thanks for the help!