Question about robot arm animation

Hi, I have been learning bongo over the last few weeks and have run into a couple road blocks. I am making an animation of a robotic arm using simple keyframe animation. I want the hand to always point down. Is there any way to set it up so that it doesn’t inherit rotation in the X axis from its parent?

I am also trying to make the hand pick up an object midway through the animation. Is there a way to assign a child to an object during the animation? In other words, at a certain keyframe the object is linked to the hand and follows it until the hand puts it down.

I have ruled out IK because in my experiments it was difficult to make a three jointed arm behave properly.

Any suggestions would be greatly appreciated,
-David

Inheritances can be managed via the Advanced Hierarchy Setting - in the object’s Bongo Properties window. For the parent you can define which of his ‘genes’ (movement, rotation, scaling, looping) are passed on to his children. However I doubt that this will solve your puzzle.

A parent/child relation is perpetual. So NO, there is no way to establish relationships midway through.

It sounds very much like your robotic arm is a case for IK (robotics is the foundation of IK). If you can upload some images and describe your goal (and even better show us your model) then maybe we can have a try.

Luc, Thanks for the response. I tried the advanced hierarchy settings and it didn’t allow me to control which rotation axis was inherited. I’m going to delve a little more deeply into IK tonight and see if I can get the right movement. I was hoping there was a simple constraint that simply allowed a child to follow its parents movement but always look down as if it were hanging. I will also upload a model later so you can see.

Thanks again
-David

I hope you had a look at my tutorial at http://bongo.rhino3d.com/video/whys-of-ik.
Good luck.

Hi Luc, I did watch your tutorial. The problem I am having is that an arm with three segments is unpredictable. I was very close to what I wanted using forward kinematics because I could control each joint. Is there a way you can constrain the rotation of a child in world space? In other words a child’s movement would be linked to its parent but its rotation would be absolute. I have tried setting the rotation limits in IK but they seem to only constrain relative to its parent.

One option I was considering would be to use a hybrid of FK and IK where the first joint would be FK and the next two would be IK. Is this possible?

I’ve included an image of the arm. I am trying to make the hand reach into the box and take out an object. Thank you very much for your time.

-David

Forward and Inverse Kinematics flawlessly blend in. The ‘head’ of an ‘shaken by the head’ IK-system isn’t necessarily the top of the entire chain. Or in other words: the ‘driver’ of a IK-system can be a composition of various elements (a Forward Kinematics chain). Herewith an sample of how this can function in your robotic arm.
FK IK.3dm (362.5 KB)
Objects 0 and 1 are the FK part. Objects 2 and 3 form a tiny IK chain in which 2 is a hinge and 3 is submitted to a specific kind of constraint, i.e. it is allowed to move about (relax constraints) but limited in rotation (and scaling).

The IK part is simply child of the FK hence forming a co-operative whole.

For the second part of your initial post, I would suggest the use of twin objects; one that is stable and one that is moving along. The first is visible and the second invisible, but at the proper moment visibility/invisibility is switched. Afterall: animation is make believe :slight_smile:.
Pick up.3dm (340.1 KB)
BTW, an object that is invisible at the moment you start to ‘play’ the animation won’t re-appear, i.e. Rhino’s viewport displays aren’t updated properly. You should constantly press the next-tick-button on the timelineslider instead to have a correct preview. Of course once rendered everything will look OK.