Get Your IK On

The Nearly Universal Kinematics Engine (NUKE) is finally out in a first beta. Right now our templates only support 3DOF Lizard-legged 4 and 6 leg robots, however 3DOF Mammal-style leg support isn't far off, and low DOF Biped support is in the works. This is the same system that powered Issy, Roz, and Jeff to take the top 3 spots at CNRG's Walker Challenge. It takes about 20-30 minutes to setup your bot once you get the hang of what's going on.



NUKE is written in Python, and it exports a C/C++ Arduino project that runs on the ArbotiX. NUKE can be downloaded from GitHub. Documentation is also on that site.

We also have a new google group for support (it's very new, hence the low traffic) http://groups.google.com/group/robocontroller Update: this group is pretty much inactive, visit the Trossen Robotics Forums.

Coming Soon: NUKE, and other ramblings....

It's been a bit quiet here, but that means stuff is getting done. NUKE: the Nearly Universal Kinematics Engine under development throughout this fall is nearing release -- a beta version should be out this weekend! This is the same software that powered all 3 of the winners of CNRG's Walker Challenge.

As we approach release, I've been adding a number of things into my code. Most people have probably noticed that I've putting a voltage divider circuit onto an analog port to measure the battery level (LiPOs don't like low voltage levels...). Up at CNRG, I had a bit of "duh, why didn't I think of that" moment when Jon Hylands suggested using the AX-12's onboard voltage measurement. So, without further ado, here's a snippet of code from Jon that will save your LiPOs (it's also at the startup of the default NUKE sketch):
float voltage = (ax12GetRegister (1, AX_PRESENT_VOLTAGE, 1)) / 10.0;
Serial.print ("System Voltage: ");
Serial.print (voltage);
Serial.println (" volts.");
if (voltage < 10.0)
    while(1);
If you are running this code at startup, you'll want at least a 1000ms delay beforehand, or you won't get a real voltage reading.

CNRG Report, And A New Robot

So, Issy didn't fare so well in the Fire Fighting competition, he had a hard time staying off the walls, and in the one run he made it into the room his power connection broke off -- as they say at NASA, we've had an anomaly.

However, Issy did win the walker challenge, with an awesome time of 17sec.


Two other ArbotiX powered walkers took 2nd and 3rd in the walker challenge, so it was an awesome weekend for Vanadium. The bot that took 3rd was only finished minutes before the competition, we used NUKE to put an IK based gait on it less than an hour before game time, in the end, there wasn't enough time left to get the sensors mounted so it did the course with dead reckoning.

Since CNRG, I've been cleaning up NUKE code, and working on the Mammalian 3DOF template. I'm working on a new walker inspired by Little Dog, he's about 2/3 scale. I call him SMALdog for "Sorta Maybe Almost Littledog":


As for NUKE, a beta release should be out in 2-3 weeks, it'll be Alpha-release available via SVN late next week. We're shooting for PyPose V1.1 with NUKE to be out in early January.