1
$\begingroup$

I'm doing a simple robot arm that turns the arms around and do different movements. But I can't figure out how I should do if the robot should pick up something like a small box?

Should the box be connected in some way to the armature to be able to follow the movements of the arms? Perhaps I want the robot to pick up the box after some time and not from the beginning, how do I connect it then or what is the best approach?

$\endgroup$
7
  • $\begingroup$ Is it a simple clamping-action where you want the box/clamp to have friction between them when clamped? $\endgroup$
    – bertmoog
    Aug 12 '17 at 20:51
  • $\begingroup$ @bertmoog It's the thing after, when the robots claw has the boxin it's grip, I want to know how to do? I want the robot arm move the box from one side to another and put i down. I just wonder how the box should be able to follow and stay within the claw and follow the robot arm movements/animation? I preciate if you could explain that for me? $\endgroup$
    – 3D-kreativ
    Aug 12 '17 at 21:02
  • $\begingroup$ You could always parent the box to the arm if you're just going purely for animation, or you could possibly use rigid body physics and friction to accomplish this. $\endgroup$
    – bertmoog
    Aug 12 '17 at 21:05
  • $\begingroup$ @bertmoog Thanks for your answer! But if I parent the box to the arm, then the box will be follow along all the time? I want to "pick" it up after some time? Is this still possible? $\endgroup$
    – 3D-kreativ
    Aug 12 '17 at 21:09
  • $\begingroup$ Yes, that's true. Another way of doing the same thing is to use the "Copy Transforms" Constraint on the box and select the clamp as your Object. You can animate the "Influence" with keyframes. $\endgroup$
    – bertmoog
    Aug 12 '17 at 21:27
4
$\begingroup$

To do an animation of this (without using Rigid Body physics) you would simply need to constrain the Box (object being acted upon) to the Clamp of the Robot. The problem happens when you sit it back down. You must somehow apply the new transformation but as far as I know, you can't animate Apply (I haven't found a way).

The solution is somewhat fiddly and inelegant and there may be a better way (apart from rigid body), but it works.

enter image description here

1.) Add a Copy Transform Constraint to the Box and select the Clamp as the Object of influence.

enter image description here

2.) For this demo, I set the Clamp's Origin to the location of where I want the Box to be when "clamped". This is basic so I won't go into detail. (Ctrl + Shift + Alt + C)

3.) I animated the Clamp to descend onto the box to that point (Shift+S

4.) (gif anim frame 49) At this same frame, keyframe the Constraint Influence to be 0.00 by pressing I. You could also keyframe the "Eyeball" instead (enable/disable constraint).

5.) (gif anim frame 50) On the very next frame, keyframe an Influence of 1.00.

6.) (gif anim frame 202) Animate the Clamp however you want and sit the box back down, keyframe the Influence to 1.00 on this frame. Also, with the box selected, press I and select LocRot.

7.) (gif anim frame 203) On the very next frame, select the box, then Shift Select the Clamp. Right-Click on both the Rotation and Location Transform menus and choose "Copy All to Selected". Select the box only in 3D View and press I and select LocRot. Keyframe the Influence back to 0.00. enter image description here

This sounds more complicated than it is, I just wanted to get everything in here in case you weren't clear on something.

$\endgroup$
1
  • $\begingroup$ Thanks for the interesting answer! I will try it and return. $\endgroup$
    – 3D-kreativ
    Aug 13 '17 at 8:44
1
$\begingroup$

Because parenting cannot be keyframed in Blender 2.77a, a simple method of transposition is employed instead. We swap the parented object for one that's not. This gives us complete freedom to animate the stand-in object as we wish when it's not in the claw's grasp.

Senario -

A robotic claw descends and grips a cube, lifts it to another position where it places it back on the floor again.

Method:

Animate the claw as required.

Create the object to be lifted, in this case a cube, in the jaws of the claw and whilst the claw is in it's 'at-rest' location. Move it temporarily to layer 2 and do any texturing or material setting required. Do this now! When textured, move it back to layer 1.

Parent the cube to the claw and check it follows the claw's animation.

Slide the timeline cursor to the frame where the claw and cube are first lowered to the floor. Get to the exact frame where the claw stops descending.

Make a duplicate of the cube and move that to layer 2.

Unparent the duplicate from the claw (ALT-P) and also goto the duplicate's Outliner strip to clear any animation or links to the claw or original cube. (right click on these and unlink, clear, etc) You don't want to remove the material link though. Both cubes are to appear identically textured etc.

At frame 1 the duplicate cube should be sitting exactly where the claw is to pick it up, but sitting in layer 2.

Slide the timeline cursor back to frame 1.

-=========-

Now we set keyframes for each cube's visibility - i.e. the switch over.

At frame 1 switch off the original cube's 'eye' in the outliner panel and with the cursor still in that box, press i to insert a keyframe. It should turn yellow.

Goto layer 2 and do the opposite with the duplicate's eye. Make sure it's on and press i to make it also turn yellow.

Move the timeline cursor to the last frame where the claw first descends to pick it up. This is where we do the switch.

Go to the original cube's 'eye' in the outliner strip and switch it back on, press i whilst hovering over the eye. Got to layer 2 and do the opposite with the duplicate. Switch it off and press i.

Run the animation with both layers active. (press 1, then SH-2, make sure both have turned dark in the layer indicator at bottom of window)

The claw should be seen holding nothing, descend to pick up a cube, and lift it to another location. It is in fact holding the original.

We do the opposite cube switch at the destination location, and at the very frame where the claw stops descending. Also goto transparency mode (press Z to make things easier) and move the duplicate to exactly match the original cube's position. (use Ortho view and position your viewpoint with the numpad's 7, 1, & 3 keys. Zoom in for accurate results)

Don't forget to keyframe the move with i key and in the dope sheet, set the frame -= prior =- to the move as a switch - Highlite it, press T and select "Constant". That'll make the move instantaneous.

When the claw rises again, it will appear to be leaving the cube sitting on the floor when in fact it still has the original in it's grip. It's the duplicate we are looking at.

To avoid light and shading differences between the two cubes, move the duplicate back to layer 1 and set the lights in all used layers to "This layer only".

-=====-

Should e.g. the cube need to be 'dropped' mid journey, simply do the switch with the Outliner 'eyes' there. Animate the now visible duplicate as required. The claw will appear to have lost it's grip and allowed the cube to fall.

The gif here shows a cube parented to an empty, and the original cube switched for a duplicate cube at the release frame. The duplicate isn't parented to the empty and therefore free to do it's own thing.

$\endgroup$
1
  • $\begingroup$ Thanks for the interesting answer! I will try it and return. $\endgroup$
    – 3D-kreativ
    Aug 13 '17 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.