How to switch between different robot configurations in lula


I am currently experimenting with lula kinematics and was wondering if it is possible to change the robot configuration that is resulting from the inverse kinematics in lula.

Industrial robots can reach the same position with different robot configurations. Some configurations may lead to collisions between the robot and its environment, as seen in this example:

Is there an option to choose the robot configuration, for example through a seed that is passed to the controller?

Kind regards

The warm_start param in compute_inverse_kinematics() can be used to set the initial c-space seed used for the IK solve: Motion Generation Extension [omni.isaac.motion_generation] — isaac_sim 2022.2.1-beta.29 documentation

If you know a “near solution”, you can pass this is in as a warm start.

Another option is to solve IK multiple times using a broad sample of seeds in order to identify multiple solutions. In this case, you could take all the solutions from each run, identify the unique options and pick the one that is best for your application.