Excavator IK rigging + additional manual swing, how?

I have the following model with “basic” rigging: the bucket is driving arms and links; swing and rotating body are manually operated; all working, seems like :slight_smile:


Problem is: it’s possible by just manually positioning the bucket 360 around the excavator to let automatically adjust rotating body and arms? Additionally the swing need to be able to be rotated manually thus influencing arms and bucket.

I’ve tried for several hours without a working solution, everytime i’m creating dependency cycles or glitches.
Can be done without python but with armatures, constraints, drivers?

Blend file: pasteall .

Use an armature. An armature will allow you to use IK constraints. IK will allow you to have a single control for the bucket and all other parts will rotate into the correct position based on how the bucket is located, rotated. I can’t eloborate until my shift ends.

There are three workable solutions to rigging an excavator like you have described:

  1. Use a single armature for the whole digger with an IK chain for the jib, boom and bucket. Use either Stretch To constraints or IKs with stretchable bones for the hydraulics. For swing between jib and swinging frame, just add an extra bone in the system. Don’t forget to add the hydraulics for the extra swing. This swing is normally found on smaller diggers to allow the operator to dig an accurate trench without moving the whole digger sideways.

  2. See no 1 above.

  3. See no 1 above.

Danpro is very knowledgable with these rigs, I would wait for his detailed answer…

Cheers, Clock.

This took a bit longer than I expected. I’m running short on time, so this explanation will be short.

Here is the file: http://pasteall.org/blend/index.php?id=43211

I removed all object to object parenting. The mesh objects have their transforms applied and are now parented to bones in the armature. Also, I rotated the digger so it is face on in front perspective. This will help when the tracks are created later. Controlling the digger is done using bones in the armature, not by manipulating any objects.

Control bones are located on bone layer one. Mechanism bones are on layer two.

Controls:

Root: Main bone.

Chassis: This is the main location and rotation control for the digger.

Cab: This is a rotation control. (local z axis) It will move the cab and the bucket arm.

Bucket: This will move the bucket. Rotating the control in local x will operate the bucket. Moving this control will place the bucket and all the arm movements should be automatic. It does have a limit because of the swing. I set this to -30, +30. Feel free to change this limit on this MCH.Swing bone’s IK panel if it’s too much or too little.

Any questions on how/why/what I did can be directed at Clockmender. He’s retired and only has one job, staying out of his wife’s way. :wink:

I know this is not exactly what you were asking for, but it’s a good solution. If you cannot reach what you want to dig, move the chassis or rotate the cab.

Good luck!

DanPro: thank you for your time! Learned some things from your setup (for instance i was using a locked track, glitchy at some point, to rotate the bucket instead of bones…) but it’s not the solution i was looking for.

clockmender: thanks for the triple solution :slight_smile: but not exactly what i was looking for, see below.

It’s more complicated: the bucket (or bone controlling it) should rotate everything until and included the cab/upper body, keeping all things straight, aligned. Plus i should be able to manually rotate the swing: this one when rotating should also rotate all arms and bucket, as the real thing.

Possible that can’t be done becouse i am basically asking to create a dependency cycle? Bucket controlling through IK the swing then swing controlling bucket through manual rotation…

Please no need to melt your brain, i am just curios to know if and how can be done :wink:

You are over thinking this it seems. You don’t use the bucket to rotate everything including the cab. You rotate the cab. Problem solved! :smiley: then the bucket should rotate with the arms independently. You may need to adjust the rotation locks if you want it to stay straight aligned for the bones that are being controlled by the IK.


You’re correct, i’m effectively over thinking this rig :slight_smile:

Well, then i guess can’t be done the way i was asking as would mean creating a dependency cycle between bucket and swing.

Well yes you can. All you need to do is create a bone with parent of the bucket, offset mind you, very close to the bucket controller. Then create a constraint for the cab to point to the new bucket controller. Clamped To constraint I think. Everything is possible with Rigs you just have to add some extra bones in there.