How do I control joints by keyboard input using omnigraphs?

I imported Franka from Isaac examples, and want to control it’s joints using keyboard inputs. I’m trying to use action graph only, but none of the things on NVIDIA tutorial page seems to work…

1 Like

Hiya Noah! Welcome to the Isaac Sim forums!

The Franka usd we distribute with Isaac Sim is preconfigured to work with position joint control. A simple graph might look like this

  • On Keyboard Input defaults to sending execution when you press the A key while the simulation is running.
  • The Articulation Controller sends the appropriate commands to the joint drives of the articulations. The jointNames specifies which joint is being driven by the corresponding index of the command.
  • The Constant Double is the target position, and we put it in an array with Make Array to satisfy the type constraint on the controller.

If you construct this graph, and set the constant double to the target position, then if you press the play button, the robot will move Panda_Joint1 to that position when you press the A key.

If you instead want the robot to move while you press the key, then what you need are velocity commands. To use velocity commands instead, you need to first set the stiffness on those joints to 0, and then swap over the connection from position command to velocity command.

hope this helps!
Gus

1 Like

Thank you! I realized that I haven’t converted double to double array. I tried it and it works now

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.