Mobile robot shaking when adding articulation root to the /world/robot_prim

Isaac Sim Version

  • 4.2.0

Operating System

  • Ubuntu 22.04

GPU Information

  • Model: GeForce RTX 3070
  • Driver Version: 535.183.01

Topic Description

Detailed Description

I have a urdf file for a mobile robot, which I want to import in isaac sim and do navigation. I am following turtlebot2 instructions from ros2 and inside this tutorial, according to the instructions provided in the Articulation Controller Node Omnigraph setup, I want to add the articulation root property on the main robot prim of /World/turtlebot3_burger, which in my case has /World/rangermini2.

But as I add the articulation root property to the /World/rangermini2 then robot is bouncing and could not handle the simulation. But when I add this articulated root property in the /World/rangermini2/base_link then everything is working as normal and I can drive the robot. So I want to understand what makes the robot bouncing when I add the articulation root property to main robot_prim.

Error Messages

There are no error messages.

Screenshots or Videos

The bouncing is not because of Articulation Root. Congratulation you set it at the right prim. Now adjust your collision mesh. You did not give collision mesh visualization, but I think that the cause because you just added a robot and do nothing.

thanks for the reply. I am not sure for which prim related collision mesh you are talking about. I have also atteched a video for your visualization. Let me know if you need more.

So I made a video showing some interactions with collision. I hope you will gain some insight with this. But it’s look like this is the beginning of your journey. Keep fighting !.

And I suggest using Bounding Sphere for wheels collision mesh.

1 Like

thanks, now I solved the problem using SDF Mesh Approximaton.

but one thing I do not understand is that, i have imported the robot using URDF file and inside the URDF file I am mentioning a individual mesh file for all the links. So when I import the robot using this URDF file then why this physics collider cannot chose or update the Approximation based on the meshes from URDF file ?

The tool does use the mesh that you provide, but that approximation is like a polygon spinning on a flat surface, which does not work well. Base on my experiment the initial collision mesh just does not work.

1 Like

Hi @hslktestmail,

i have one small doubt. I would like to know your approach on this.

Right now, for I would like to create my own custom action_graphs for my mobile robot using python scripting. According to the Documentation, when I am inside the root folder of Isaac Sim, then open vscode editor from there, which comes with already pre-configured setting for python interpreter, linter, Auto-completion, Intelisense and so on, then everything works.

But I do not want to create my custom action_graph nodes in the root folder, lets say in home folder then I have to setup my own .vscode folder with the appropriate settings for vscode editor.

What you think, should I always create my stuff in the root folder or other way around. I would like to see your opinions on this.

Thank you.

If your robot robot has 4 active DOFs then I think you don’t have to write your own node.
[ref] https://www.youtube.com/watch?v=XEri32NaLYk&t=619s&pp=ygUWaXNhYWMgc2ltIG1vYmlsZSByb2JvdA%3D%3D
Anyway, the github link in this video can show you how to organize the workspace

If your robot has 8 active DOFs then now you have to write your own node, then,

  1. A custom omni graph is an extension, and there is a custom node generator. But Isaac Sim 4.2 does not have that, so you have to go back Isaac Sim 4.1, or Isaac Sim 2023.
    In the end you do not need to rely on the node generator since you can config your node. I kept the generated extension/ node and edit it to make a new node.
    This ref show you how you can import your extension: https://www.youtube.com/watch?v=87q_ATDhrVY&t=5274s&pp=ygUdYnJpbmcgeW91ciByb2JvdCB0byBpc2FhYyBzaW0%3D
    Notice that the instructor met some issue, fast forward when he returned to the flow.

  2. Knowledge of Isaac Sim ROS is required.

  3. This is the tutorial of writing a custom Isaac Sim ROS 2 node: ROS 2 Python Custom OmniGraph Node — Omniverse IsaacSim

  4. For node fields data type configuration, look back at the first link.

  5. If you success generate a node and import it in Isaac Sim, then in oder to forward the data flow, this line is required.

db.outputs.execOut = omni.graph.core.ExecutionAttributeState.ENABLED

In short, yes you can write your custom node/ extension outside the Isaac Sim root folder. And remember a custom node is an extension.

1 Like