IK Control + PoleVector for dual-joint robot arm


#1

Dear Tech Artist Community,

I’m trying to create an IK control for a robot arm that has two motors for each joint: One for the twisting and one for the bending.

So I created the chain with joints for each motor and restricted the “Degree of Freedom” to what they are allowed to do.

The regular Rotate Plane Solver fails.

The Multi Chain IK solver does a good job. Only with the not really acceptable limitation that doing something like a pole vector constraint type control for the orientation of the elbow doesn’t seem possible.

So the question is: Is there a way to use the ikMC Solver + a pole vector type control? Or… a completely different way of rigging this?

Thanks!


#2

This doesn’t really look like it moves the way an IK handle moves. The ‘shoulder’ should be a ball and socket. Twin hinges aren’t a ball and socket. I’m imagining trying to twist that ‘elbow’ joint upward with a pole vector control, and the shoulder doesn’t bend that way. To work like an IK, you’d have to keep that shoulder bending joint (bigger one) in plane with the forearm at all times (it’s not in the pic), and what I’m presuming is the twist in the elbow (smaller joint) would also have to always keep the forearm in line with the upper arm. I think you could solve a lot by removing the twist from the elbow, and only keeping the bend motor there. I think you could then get away with the twin motors in the shoulder as a pseudo ball and socket.


#3

Thanks for your answer!

You sent me on the right path and I found a compromise solution: I kept all the hinges, but added an additional ball joint at the root. Now even the rotate plane solver works and I can add a pole vector. The robot wasn’t supposed to have ball joints, but visually it still has a similar appeal now.


#4

Do not know if this is possible in Maya, but in Max i could set-up 2 IK on that chain one is just a regular 2 bone IK and the other would be what you have set-up.

I would then only allow the second IK to rotate on the twist axis so that when you move the handle side to side it will actually rotate the entire rig always keeping the 2D plane of the simple IK intact.


#5

I have a little bit of experience rigging mechanical systems like this - at every machine joint, place a short two-bone chain and use a rotate plane solver with it. Then connect all the pole vectors to the same target locator, and you’ve got a pretty accurate system.
Obviously from here you can put further control systems over the top of it - for an ik-style effect, I’d split the arm into two sections, each with its own control locator and each being driven by half a basic ik elbow.