IK for dissimilar leg config's

Im looking into building a Hexapod robot that use’s different sized legs. i remember we touched on this a while back but i cannot find the thread.

With the current hexapod codes they only accompany for a specific type of leg.

I wish to have 4dof on the rear (T-hex type) with 3dof on the middle (T-hex type but slightly extended) and then a 3dof on the front (T-hex type).

Rear
http://i531.photobucket.com/albums/dd355/innerbreed/thex4.jpg
Front
http://i531.photobucket.com/albums/dd355/innerbreed/thex3.jpg
the middle legs would be the same as the front but im planning on using Hex standoffs between the “C” Bracket and the “Offset” Bracket so its slightly longer. you get the idea.
maybe with the Phoenix chassis, or with the MRSh01 chassis i have. come to think of it the MRSh01 does accompany for a Pan/tilt to be added.

i understand that the IK would be different for atypical legs but any thoughts on how hard it would be to apply this to the current hexapod codes?

obviously i have other current projects at the moment so all my time will be on them for now but id like to collect info on this subject. :wink:

Hi Jonny,

It should be very possible to have different leg sizes and configuration but you would need to some coding of course. I’ve also been thinking of using different sizes on the legs and when Jim revealed that he is going to make different sizes on the legs (tibia and femur) for Phoenix this is something I sure want to do for my Phoenix too. Having the rear legs a bit longer than the other would make it look even better and more insect-like.

yes i like the T-hex leg design as they look very strong and stable. i also plan to arrange them so they are not isometric to the body and have different start positions.
i have had the opportunity to play with the 4" femurs already and personally i think they look better. :wink:

im also thinking about adding some Small scaled down versions of this:
here iv used the new 4" femur and the 3" femur with a standoff as the tibia. i hope to shrink this down and have them as small mandibles of some sort. (not really for manipulation but more for effect)
http://i531.photobucket.com/albums/dd355/innerbreed/100_2320.jpg
:question:

kinda giving away my ideas here but im all for sharing ideas as you know. :wink:

Thanks for sharing your ideas Jonny!

The longer femur/tibia parts sure look great. A very interesting setup, I guess this design demand even more of the ball joints so I hope you find a solution for it.

Unless I am missing something (which is probable :smiley:), I don’t think that would be very difficult to modify the IK code to handle different lengths of legs. That is for example using the 2.x version of the code.

For example in the config file you would need to go from: cFemurLength con 76 ;Length of the Femur [mm]
to a define for each leg. You would need to define a wordtable for each of the lengths in the same way we do for angles and offsets.

You would then need to modify the one function: LegIK
In here you would need to modify the few lines that use it, like:

Temp1 = (((cFemurLength*cFemurLength) - (cTibiaLength*cTibiaLength))*c4DEC + (IKSW2*IKSW2))
to something like:

Temp1 = (((cFemurLength(LegIKLegNr)*cFemurLength(LegIKLegNr)) - | (cTibiaLength(LegIKLegNr)*cTibiaLength(LegIKLegNr)))*c4DEC + (IKSW2*IKSW2))
This assumes you named the word or byte tables the same as the earlier defines…

Of course it might be fun to generate a hex or an oct with some long legs and some short legs and then generate some gaits where maybe the short legs take twice as many steps or the like…

Kurt

yes, thats the easy part… i think! but how hard would it be to calculate the IK for legs with different DOF.

this would mean that a we would need separate END IK cals for each leg.
should be too hard.

it would look interesting though. :slight_smile:

I have not looked at Zenta’s 4dof code. My guess is it would not be hard to integrate it such that it can do both. You could then for example simply add another set of defines in the Tars (I think that is what he called them…

You could then generate another set of tables for the tars and if a legs TAR length is 0 use the 3dof code else use the 4dof code. Should not be overly hard, but would probably take some debug time to get things right…

Kurt

I also have a situation where the rear legs of a quadrapod (ASTRID) are different than the front legs. The rear legs are longer than the front legs to allow for more extension when climbing.

8-Dale

here is what I in-vision for a quadruped (e.g. AXIS) to look like once its legs have been adapted. 8)

Edited with photoshop!
http://i531.photobucket.com/albums/dd355/innerbreed/3dmech2.jpg

im still looking at the code functions to see what else would be needed.