algorithmic modeling for Rhino



Lobster is a tool for solving the inverse-kinematics of 6-axis robot arms

Members: 140
Latest Activity: Dec 7, 2023







This is still a work-in-progress, with plenty of room for improvement.

I've been meaning to release this for some time - I was intending to clean it up some more and maybe compile it into a proper component first, but have been too busy with other activities, and rather than delay any longer have decided to share it in its current state.


It is a purely geometric solution, specific to this particular joint configuration, which allows kinematic decoupling, greatly simplifying things. Luckily most commercial 6-axis arms follow this configuration.


Bear in mind the angle value outputs are not yet calibrated - one would need to check the direction and start angles to make sure they corresponded with the standard format. Also, joint angle limits are not included here, but could be fairly easily added.

The example model here is a Kuka KR-150, but it is designed so that one can easily swap the input model with other robots with the same joint configuration (6-axis with a spherical wrist).


I do also have a similar definition for robots such as the ones from Universal Robots which do not have a spherical wrist, but still have certain simplifying properties allowing a closed form solution:

I'll post the setup for this one too soon.


Lobster is distributed under the WTFPL license ;)


Use at your own risk. I accept no responsibility if you break your robot!


enjoy !

Discussion Forum

Lobster reloaded

Here's an update I've been meaning to post for a long while.As I'm currently at the RobArch conference in Michigan, now seems a good a time to finally get it out there.This is a very minimal scripted…Continue

Started by Daniel Piker May 18, 2014.


Some videos from early tests: …Continue

Started by Daniel Piker Jul 17, 2011.

Comment Wall


You need to be a member of Lobster to add comments!

Comment by Matthias on April 29, 2016 at 6:48am

Never mind. I found it in line 187, "Plane TempPlane = ElbowPlane;". In Rhino Common this has to be "TempPlane = Rhino.Geometry.Plane(ElbowPlane)" not "TempPlane = ElbowPlane" otherwise ElbowPlane gets transformed in the loop. sry for that!

Comment by Matthias on April 29, 2016 at 6:23am

Hello everyone! Thanks Daniel for sharing this great tool! I'm a student and new to robotics. We are using two ABB IRB 4600_40_255. I have rewritten your C# code in Python, because me and our group are more familiar with the language. Everything works fine, except that I can only use two of the possible eight axis configurations. I isolated the error in the code line 167 of the inverse kinematic solver. "ElbowPlane.ClosestParameter(ElbowPt, out elbowx, out elbowy);" As an equivalent function in Rhino Common I used "bool,elbowx,elbowy = ElbowPlane.ClosestParameter(ElbowPt)". Input Paramters are matching. Though for some reason the returned values are different in Rhino Common than in C#? Does anyone know why or how I could rewrite this part of the C# code in Python?

Thxs, Matthias

Comment by rob on October 24, 2015 at 12:38pm

Hello. anyone, help please swap the two limbs of the lobster,

Comment by rob on August 30, 2015 at 1:16pm

Hello guys, I want to use lobster for your robot Mitsubishi RV-M1, but it is impossible to connect the axis kinematics. If someone has already figured out, please help me to understand. Can discuss payment. Waiting for help...Lobster_IK1%20%281%29.3dmLobster

Comment by Trygve Wastvedt on July 9, 2013 at 8:44am

Daniel (or other Lobster people),

I'm looking for a way to find Euler angles from two planes. In an older discussion, you posted something about Euler angles in Lobster:

I tried posting this question there, but I think that discussion has been forgotten. The ghx file I got from here didn't seem to have them, but maybe I'm missing something? I think I can figure out the math, but I thought I'd see if someone else had already done my work for me. Thanks!


Comment by Khaled ElAshry on March 8, 2013 at 5:31pm

Hi Daniel , this looks great , I wanted to ask is the one for the universal robots available. 

Comment by Freddy on November 27, 2012 at 8:46pm

Hello Greg,

               Invitation accepted.

Comment by Gregory Epps on November 27, 2012 at 4:45am

Hi Freddy, we can build you a post - and integrate it into the simulation as well. I'll message you and we can discuss. Greg

Comment by Freddy on November 26, 2012 at 8:33pm

Hi Greg,

           Apart from files Lobster IK1.3dm and Lobster IK1.ghx is there a gha file to place in the special folder ---> components folder in GH?.

I want to use lobster to lay bricks, what would the price for the post?



Comment by Gregory Epps on November 26, 2012 at 3:46pm
Hi Freddy,
Lobster will just simulate the robot. You need to convert the end effector coordinates etc into code with a post processor. This is usually the bit you need to pay for, unless you can get an academic licence - or work out how to do it yourself.
Good luck... Greg, ROBOFOLD.

Members (140)






  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service