3D Nuts! Tutorials - Rigging Robotic Joints in 3D Studio MAX
 


<<< Previous Page


As I mentioned earlier, the leg used in the example above is not very realistic; it needs some muscles to make it move automatically and at the same time give it some strength. You can make up your own mechanisms, but you can also use one of the three main methods used in modern real world robots:


 
 
 
5. Muscles
 

Electrical motors
For the example leg from above, this would be the easy way out, as you would ‘only’ have to increase the size of the knee joint and modify it into to something like shown below in Photo I, so it becomes viable an electrical motor could fit inside. Additionally, rigging the robot is easy as you can use one of the methods we discussed earlier.


Photo I. Industrial robot arm powered by electrical motors.

Hydraulic/Pneumatic/Magnetic pistons
Another commonly used method to power robots are pistons. A piston (see Photo II below) is basically a metal bar that goes inside a tube. Pressurized air or oil is pumped into the tube to push out metal bar. This is usually the sound you here when a robot moves. If you want to make them realistic, you should attach a hose to it, which leads to a compressor somewhere in or on the robot. These hydraulic or pneumatic pistons are much more powerful than electrical motors. Smaller pistons may use magnetic force to either pull or push the metal bar. The latter would have electrical wires attached to it, instead of a hose.


Photo II. Crane powered by hydraulic pistons.

Picture 5a and 5b show our second example leg. It includes a piston that is made of two cylinders called Piston_PA and Piston_PB. Two additional cylinders (P_Axis_A and P_Axis_B) form the axis of the piston's parts.


Picture 5a.                                                                                                  Picture 5b.

As you can see in Picture 5c below, we already rigged the leg with two bones and an IKSplineSolver. You can download the scene by clicking the link below the picture.


Picture 5c. Download the scene here.

First, we will link the piston's parts to the leg as followed:

P_Axis_A --> UpperLeg
P_Axis_B --> LowerLeg
Piston_PA --> P_Axis_A
Piston_PB --> P_Axis_B

The hierarchy of the leg should now be exactly like in Picture 5d.


Picture 5d.

If we would bend the knee, by using the lower helper (Point3) for example, the two parts of the piston will not stay aligned correctly and will 'break' as shown in Picture 5e below.


Picture 5e.

(If you moved the leg, press use Undo (Ctrl-Z) to move it back to its original position.)

To make sure the metal bar stays inside the tube, we need to use a constraint, in this case the Look At constraint. As in the previous parts of this tutorial, the placement of the pivots of the piston's parts is essential to make it work. The pivots for P_Axis_A and Piston_PA are exactly on the same position, and the pivots for P_Axis_B and Piston_PB are also exactly on the same position. We have already done this in the downloadable scene by selecting the parts that have the pivots on the same axis, enabling the Affect Pivot Only button (see Picture 3f) and using the Align tool (on both the Front, Top, and Left view).

We will need to add two Look At constraints, one for each part of the piston. Select Piston_PA and select Look At from the Constraints section in the Animation menu, as depicted in Picture 5f below.


Picture 5f.

Press the H key on your keyboard, select P_Axis_B, and click the Pick button. Piston_PA now changes its orientation. To make sure it point in the original direction, enable the Keep Initial Offset option on the Parameters section on the Motion tab of the Command Panel, as depicted in Picture 5g below. (The parameters section opened automatically when you added the Look At constraint.)


Picture 5g.

Repeat this step for the other part of the piston, in other words: select Piston_PB, select Look At constraint from the Animation menu, pick the P_Axis_A as the target (using the H button to pick it). Also enable the Keep Initial Offset option again. So what we did is make one part of the piston 'looks at' the opposite part's axis. The orientation is depicted with a blue line. If you select the helper Point03 and move it again, you will see that the metal bat slides neatly into the tube, as shown in Picture 5h below.


Picture 5h. Download the scene here.


To make it more realistic, we need to attach a pipe or hose to the hydraulic or pneumatic piston, and we need to make sure it moves and/or bends when the leg moves. There are many ways of doing this, but a relatively easy one is to use the extended primitive Hose. The advantage of using the Hose primitive is that you don’t need to rig it; no bones, and no IK. Instead, we are going to add two extra Cylinders, in addition to the Hose, and let the Hose start and end at those cylinders.

In Picture 5i below you can see where we placed the two cylinders. The cylinder on the left is linked to UpperLeg, and the other is linked to Piston_PA. These cylinders represent the entry points of the hose, or the connector of a wire for example. You will probably want to use something more sophisticated than a cylinder, but make sure it is a separate object.


Picture 5i.

Next, create the hose by selecting Extended Primitives on the Create tab of the Command Panel, clicking the Hose button, and drawing a hose in any viewport, as shown in Picture 5j below. Don’t worry about its size, location, or shape yet.


Picture 5j.

On the Modify tab of the Command Panel, enable the Bound to Object Pivots. Click the Pick Top Object button and click on the left cylinder. Click the Pick Bottom Object button and click on the right cylinder (or use the H key on your keyboard).


Picture 5k.

Depending on the orientation of the cylinders we use to connect the hose and the viewport you created them on, you may have to rotate the pivot of one or both cylinders. So if necessary, select the cylinder, enable the Affect Pivot Only button (picture 3f), and rotate the pivot. While you rotate the pivot, the hose will bend with it so you can easily see when it is at the right angle.

When the hose is correctly aligned to the cylinders, click the hose again, scroll down below on the Modify tab, and disable the Flex Section Enable option as shown below in Picture 5l. Also decrease the Diameter: value in the Hose Shape section to a value that is less than the cylinders.


Picture 5l.

As you can see, the hose is too long and needs to hang more tightly against the leg. You can do this by decreasing the Tension values (see Picture 5k). In the final images below, we used 25 for both cylinders. If you move the leg again using on of the helpers, you will notice that the hose will stay in position and even bend when it has to. Click on one of the images to see the final animation.


Picture 5m. Download the scene here.         Picture 5n.


 
 
 
Credits/Notes
 
 

Special thanks for suggestions and input goes to:

Pablo Selener - www.pabloselener.com.ar

The Trappist Funk -

This tutorial will be expanded with more sections including
:
- Constraints
- Example robot joints
- General robot design tips
- Links for more info and inspiration


Post comments, suggestions, and questions here.

 

Check out my other 3D Studio MAX tutorials here.

<<< Previous Page

 


 
Sponsor Ad
 

 
 
 
 
 
 




Visit our Link Directory for a more complete listing of 3D Studio MAX related sites.


 
 
 
 
| Home | Copyright 2004-2008 | Link to us |