Robot Overlord: uArm support added

Arm3 on the left, uArm on the right.

In the last week I’ve seen three people trying to solve Inverse Kinematics in reddit.com/r/robotics for paletizing robots like the uFactory uArm. Since this model of robot arm already exists in Robot Overlord, I thought it might be fun to add support for the uArm and show how the code changes. Now you’ll be able to customize dimensions for your new designs.

In the java code There is a package of classes called com.marginallyclever.robotOverlord.arm3, which contains everything to create a basic three axis paletizing robot arm like the ABB IRB 460 / uArm / LiteArm i2. Most notably is the Arm3Dimensions class, which holds all the unchanging numbers about the machine’s size and starting position.

Adjacent to that package I created com.marginallyclever.robotOverlord.arm3.uArm, which has a UArm class and a UArmDimensions class. UArmDimensions were set thanks to reddit user thingythangabang and this link he sent in.

Lastly in src/main/resources/META-INF/services/com.marginallyclever.robotOverlord.Entity I added

com.marginallyclever.robotOverlord.arm3.uArm.UArm

So that RO knows uArm is an Entity that can be loaded when a user clicks the “Add…” button.

RO is young, so expect big improvements in the near future. Once I have STL files of each moving section of the uArm I’ll be able to replace the crude models above and it will look suh-weeeeeeet…. It will mean UArm will have to override drawIK() to display the correct Model files. If you made it this far, it shouldn’t be a challenge.

Also mad props to Freenode IRC #java users surial, dreamreal, and yawkat for helping me this morning with a “why java do dat?” question. Minimum viable product!

I just received my first donation for developing RO, for which I’m super pumped. Thanks, Elie!

Let me know what you think in the comments below, and please share with others.