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

Analytical Inverse Kinematics VI

LabVIEW 2013 Robotics Module Help

Edition Date: June 2013

Part Number: 372983D-01

»View Product Info

Owning Palette: Kinematics VIs

Requires: Robotics Module

Returns the joint angles of a 6R, 5R, or SCARA arm given the posture of the end effector relative to the arm base. Wire data to the X_serial arm in input, where X is the arm type, to determine the polymorphic instance to use or manually select the instance.

This VI uses an analytical solver to compute inverse kinematics, while the Inverse Kinematics VI provides an analytical solver. Choose an inverse kinematics solver according to the arm type you generate.

Examples

Use the pull-down menu to select an instance of this VI.

SCARA

This instance accepts SCARA serial arms.

SCARA serial arm in is a reference to a SCARA serial robotic arm. Use the Initialize Serial Arm VI to generate this LabVIEW class object.
end effector position is a four-element array whose elements represent the position of the end effector relative to the arm base. The end effector position array is in the form of [x, y, z, theta], where x, y, z correspond to translation along the x-, y-, and z-axes and theta corresponds to rotation in radians about the z-axis.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
SCARA serial arm out is a reference to a SCARA serial robotic arm. You can wire this output to other Robotic Arm VIs.
joint positions returns two solutions for achieving the input end effector position. joint positions returns a 2 × 4 array in which the first row is the solution when 0<joint 2<180 degrees. The second row is the solution when 180<joint 2<360 degrees. Each column represents the position of a joint expressed in radians.
error out contains error information. This output provides standard error out functionality.

6R Type 1

This instance accepts 6R type 1 serial arms.

6R type 1 serial arm in is a reference to a 6R type 1 serial robotic arm. Use the Initialize Serial Arm VI to generate this LabVIEW class object.
end effector transform specifies the homogenous transform that represents the position of the end effector relative to the arm base.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
6R type 1 serial arm out is a reference to a 6R type 1 serial robotic arm. You can wire this output to other Robotic Arm VIs.
joint positions returns solutions for achieving the input end effector transform. joint positions returns a 2D array in which each row is a solution and each column represents the position of a joint expressed in radians. NaN indicates a row is invalid.
number of valid solutions specifies the number of rows of joint values that are valid based on the arm parameters.
error out contains error information. This output provides standard error out functionality.

6R Type 2

This instance accepts 6R type 2 serial arms.

6R type 2 serial arm in is a reference to a 6R type 2 serial robotic arm. Use the Initialize Serial Arm VI to generate this LabVIEW class object.
end effector transform specifies the homogenous transform that represents the position of the end effector relative to the arm base.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
6R type 2 serial arm out is a reference to a 6R type 2 serial robotic arm. You can wire this output to other Robotic Arm VIs.
joint positions returns solutions for achieving the input end effector transform. joint positions returns a 2D array in which each row is a solution and each column represents the position of a joint expressed in radians. NaN indicates a row is invalid.
number of valid solutions specifies the number of rows of joint values that are valid based on the arm parameters.
error out contains error information. This output provides standard error out functionality.

6R Type 3

This instance accepts 6R type 3 serial arms.

6R type 3 serial arm in is a reference to a 6R type 3 serial robotic arm. Use the Initialize Serial Arm VI to generate this LabVIEW class object.
end effector transform specifies the homogenous transform that represents the position of the end effector relative to the arm base.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
6R type 3 serial arm out is a reference to a 6R type 3 serial robotic arm. You can wire this output to other Robotic Arm VIs.
joint positions returns solutions for achieving the input end effector transform. joint positions returns a 2D array in which each row is a solution and each column represents the position of a joint expressed in radians. NaN indicates a row is invalid.
number of valid solutions specifies the number of rows of joint values that are valid based on the arm parameters.
error out contains error information. This output provides standard error out functionality.

5R Type 1

This instance accepts 5R type 1 serial arms.

5R type 1 serial arm in is a reference to a 5R type 1 serial robotic arm. Use the Initialize Serial Arm VI to generate this LabVIEW class object.
end effector transform specifies the homogenous transform that represents the position of the end effector relative to the arm base.
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
5R type 1 serial arm out is a reference to a 5R type 1 serial robotic arm. You can wire this output to other Robotic Arm VIs.
joint positions returns solutions for achieving the input end effector transform. joint positions returns a 2D array in which each row is a solution and each column represents the position of a joint expressed in radians. NaN indicates a row is invalid.
reachable returns whether the end effector can reach the position you specify in end effector transform.
error out contains error information. This output provides standard error out functionality.

Examples

Refer to the following VIs for examples of using the Analytical Inverse Kinematics VI:

  • labview\examples\robotics\Simulator\SCARA Arm\SCARA Arm.lvproj
  • labview\examples\robotics\Simulator\Puma560\Puma560 Simulator.lvproj

 

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