Learning Isaac Sim Joints by Reverse Engineering the Examples

Get New Articles by Email

I was following a written tutorial for creating a robot in NVIDIA’s Isaac Sim and found myself going down a rabbit hole to learn as much as I could about how the different joint examples work by reverse engineering each of them.

I started off following the Building a Simple Robot learning path from NVIDIA with my local Isaac Sim setup in a Conda environment. So my process to run Isaac Sim is a bit different than the workstation approach they provide in that tutorial.

Here’s a great video that walks through the same tutorial with some additional details about how to navigate the UI.

If you don’t have Issac Sim installed yet, this is the best installation guide I’ve found that will help you get that up and running. I wrote an article that might help you navigate any hurdles that come up along the way.

Activate the conda environment and run this command to start Isaac Sim:

isaacsim

Once that’s running, you’re all set to build your first robot!

It wasn’t long before I became bored with simply following directions saying, “click this and enter that value in a particular field” which has been a consistent challenge whenever I’m learning something new. For some reason, I always diverge from curriculum and have to go off an explore things for myself.

I learn best by reverse engineering technology and I certainly gained a lot of additional knowledge this time around. With what I know now, I’m ready to get back into the learning path and start working on controlling robots in Isaac Sim.

Since I couldn’t find an overview on the different joints, I thought I’d make a video of what I learned. This would be tricky to write out in an article, so I’ll provide a link to the video below. First, here are some details that I’ve collected about each of the joints you’ll find in NVIDIA’s examples.

Standard Joints

These are the standard joints we’ll spend most of our time on:

Isaac Sim / PhysX JointMechanical / Robotics TermDegrees of FreedomReal-World Application
FixedRigid Bond0Bolted brackets, welded parts.
RevoluteRotary / Hinge1 RotationRobot arm elbow, wheel axle, motorized pivot.
PrismaticLinear / Slider1 TranslationCNC axis, 3D printer rail, pneumatic piston.
SphericalBall and Socket3 RotationsHuman shoulder, trailer hitch, omni-directional neck.

Specialty Joints

These joints are nice to have a basic understanding of in case you have a specific project where they’d come in handy.

Isaac Sim JointCore ConceptDegrees of FreedomReal-World Application / “Cheat”
D6 JointThe “God” joint. You can manually lock, free, or limit all 3 translation and 3 rotation axes individually.Variable (Up to 6)Custom or combined joints (like a cylindrical telescope that rotates) or complex humanoid ragdoll hips.
Used in Rigid-body Ropes example.
Distance JointEnforces that two connected bodies must strictly maintain a set minimum and/or maximum distance from one another.VariableWrecking balls, heavy vehicle towing, or acting as an optimized “invisible cable” without requiring a heavy chain physics setup.
Gear JointMonitors the rotation of one revolute joint and mathematically forces a second revolute joint to turn at a specific multiplier.N/A (Coupler)Transmissions, vehicle differentials, or a mechanical watch where you don’t want physical teeth to collide and glitch.
Rack and PinionMonitors a linear sliding joint (Prismatic) and translates that distance directly into a forced rotation on a Hinge joint (Revolute).N/A (Coupler)Car steering columns, CNC machinery, or specialized automated sliding gates and heavy industrial grippers.

Video

With that, let’s jump right into the video to learn more!

Get New Articles by Email

Leave a Reply

Verified by MonsterInsights