To control a serial robotic arm, you first must design a representation of the arm that defines its parameters. After you design the serial arm representation on the block diagram, use that representation to implement arm control by calculating joint positions and trajectories and connecting to motors that move joints.
In LabVIEW you can design representations of generic serial robotic arms or represent arms that meet the definitions for Selective Compliant Assembly Robot Arms (SCARA), 5R Type 1, and some 6R arms. Based on their definitions, SCARA, 5R Type 1, and 6R arms require certain parameters, such as joint types and twist angles. For example, a SCARA arm must contain four links, two parallel revolute joints, and one prismatic joint. Generic arms do not require specific parameters, so you have more control over their representation.
After you design and generate a serial arm object, use other Robotic Arm VIs to perform kinematic and other calculations for the arm. Certain arm types are more suitable for use with a specific inverse kinematics solver. Refer to the following section for recommendations about choosing an inverse kinematics solver.
LabVIEW provides analytical inverse and numerical inverse kinematics solvers. Choose an inverse kinematics solver according to the arm type you generate:
Analytical solvers attempt to compute an exact solution by inverting the forward kinematics equations. By using closed-form equations, the analytical solver in LabVIEW can execute deterministically, in a bounded amount of time. Numerical solvers use approximation to converge on a solution over an indeterminable number of iterations. Thus, the numerical solver in LabVIEW is prone to jitter and cannot guarantee bounded execution times. The numerical solver also might fail to converge on a solution or might switch between multiple possible solutions.