Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

Designing Serial Arms (Robotics Module)

LabVIEW 2013 Robotics Module Help

Edition Date: June 2013

Part Number: 372983D-01

»View Product Info

A serial arm consists of a base, a link or series of links connected at joints, and an end effector. The base is the first link in a serial arm, and the end effector is at the end of the last link in an arm.

The Robotics Module defines robotic arms as having n+1 links, numbered 0 to n, with n joints connecting the links. Joints have one degree of freedom and can be revolute, having a constant offset distance and a variable rotation angle, or prismatic, having a constant rotation angle and a variable offset distance.

Set the parameters of joints and links in a robotic arm with the Initialize Serial Arm VI. In LabVIEW you can design representations of custom serial robotic arms or represent arms of predefined types. As the following sections describe, the parameters you must set for an arm depend on the type of the arm.

Designing Generic Serial Arms

Create a generic serial arm to represent an arm type that is not a 5R Type 1 arm, one of a few types of 6R arms, or a Selective Compliant Assembly Robot Arm (SCARA) arm. Generic arms do not require any predefined parameters, such as joint types and twist angles.

LabVIEW further defines generic arms according to the Denavit-Hartenberg (DH) convention, which considers a link and the joint at the end of the link to make up a link. For example, in the following illustration, when you set the position of link i (2), you specify both the parameters of link i (2) and joint i (5), which connects link i (2) and link i+1 (6).

1  joint i-1   4  coordinate frame of link i   7  length of link i+1  
2  link i   5  joint i   8  coordinate frame of link i+1  
3  length of link i   6  link i+1   9  joint i+1  

When you generate a serial arm representation with the Initialize Serial Arm VI, specify the DH parameters of links and their associated joints in the kinematics parameters input. kinematics parameters is an array of clusters in which each cluster defines a link and the joint at the end of the link. The length and twist angle cluster elements specify the relative location of the joint axis at the end of the link. The rotation angle and offset distance cluster elements specify the position and orientation of the joint at the origin of the link.

As shown in the previous illustration, and according to the DH convention, the following definitions apply to the four DH parameters you specify for each link of a generic serial arm:

  • length (7), or ai+1, is the offset distance between the zi and zi+1 axes along the xi+1 axis.
  • twist angle, or , is the angle in radians from the zi axis to the zi+1 axis about the xi+1 axis.
  • offset distance is the distance from the origin of coordinate frame i (4) to the xi+1 axis along the zi axis.
  • rotation angle, or , is the angle in radians between the xi and xi+1 axes about the zi axis.

The axis of joint i (5) is aligned with zi. The xi axis is directed along the normal from zi to zi+1 and for intersecting axes is parallel to the cross product of (zi, zi+1).

According to the DH convention, you can represent the coordinate frame of link i+1 (8) with respect to the coordinate frame of link i (4), or 0Ti+1 = 0TiiAi+1, with the following 4–by–4 homogenous transform matrix:

where 0Ti+1 is the homogenous transform describing the pose of coordinate frame i+1 with respect to the world coordinate frame 0.

Designing 6R Serial Arms

LabVIEW defines 6R arms according to the Denavit-Hartenberg (DH) convention described in the previous section. Create a 6R serial arm when you have access to an arm with six revolute joints and the same DH parameters as one of the subtypes described in the following tables. The indicates that you control the value of the corresponding parameter. In other words, that parameter does not need to match a predefined value in the table.

6R Type 1

Length Twist Angle Offset
1 0 / 2 0
2 0
3 / 2 0
4 0 / 2
5 0 / 2 0

6R Type 2

Length Twist Angle Offset
1 0 / 2 0
2 0 or 0
3 0 / 2 0
4 0
5 0 0

6R Type 3

Length Twist Angle Offset
1 0 / 2 0
2 0 0
3 0 0
4 0 / 2
5 0 / 2
Note  The following resource offers useful background information about the algorithm discussed in this documentation. This resource is provided for general informational purposes only and is not affiliated, sponsored, or endorsed by National Instruments. The content of this resource is not a representation of, may not correspond to, and does not imply current or future functionality in the Robotics Module or any other National Instruments product.

Crane, Carl D. and Joseph Duffy. 1998. Kinematic Analysis of Robot Manipulators. Cambridge, England: Cambridge University Press.

Designing SCARA Serial Arms

SCARA serial arms are 4–axis serial arms that can move to any x-, y-, and z-coordinate, as well as use a fourth axis of motion, wrist rotation (). SCARA arms include two parallel revolute joints and one prismatic joint. These arms are slightly compliant in the XY direction and rigid in the Z direction. LabVIEW does not use the Denavit-Hartenberg (DH) convention described in the previous sections to design SCARA arms. Instead, refer to the following illustration for information about the parameters of SCARA arms.

When you generate a SCARA serial arm with the Initialize Serial Arm VI, specify parameters of links and their associated joints in the lengths and offsets inputs. The following definitions apply to these two values:

  • The four-element lengths array specifies the distance along each link.
  • The four-element offsets array specifies each joint value when links 2, 3, and 4 are fully extended along the x-axis and the end effector is at position [0, 0, 0, 0], as shown in the previous illustration.

Designing 5R Type 1 Serial Arms

5R serial arms have five revolute joints. The following figure defines the 5R Type 1 serial arm that LabVIEW supports.

You can set the transform from the first joint (J1) to the arm base arbitrarily according to your robot arm by using the Set Base Transform VI. For the transform from the end-effector to the position of the last joint (J5), offsets along only the x- and z-axis can be non-zero.

LabVIEW supports KUKA youBots, which use the 5R Type 1 serial arm. Use the Arm VIs to configure a KUKA youBot arm.

Choosing a Kinematics Solver

LabVIEW provides analytical inverse and numerical inverse kinematics solvers. Choose a method for computing inverse kinematics according to the arm type you generate and the needs of the application.


Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit