CAT5 Motor Pulses to Joint Angles End of trail navigation bar

Table of Contents

CAT5 World Coordinates to Joint Angles

Converts cartesian world coordinates to joint angles for the CRS Catalyst-5 robot.

Library

QUARC Targets/Devices/Third-Party/CRS/Robots/CAT5

MATLAB Command Line

Click to copy the following command line to the clipboard. Then paste it in the MATLAB Command Window:

qc_open_library('quarc_library/Devices/Third-Party/CRS/Robots/CAT5')

Description

CAT5 World Coordinates to Joint Angles

The CAT5 World Coordinates to Joint Angles block computes the joint angles that place the robot end-effector at the given position and orientation. Since there are singularities in the workspace, the block uses the previous joint angles to arrive at a suitable configuration. If there is no solution because a joint is out of range, or the given orientation is not achievable, or the world coordinates are out of the robot workspace, then the error output will be non-zero to indicate the error.

Note that the CAT5 Inverse Kinematics block is generally easier to use because it keeps track of the previous joint angles automatically. The reference frame is shown below:

CAT5 Reference Frame

Input Ports

world

A 5-vector containing the position and orientation of the robot end-effector. The vector elements represent the X, Y and Z cartesian coordinates of the end-effector in millimeters, followed by the pitch and roll respectively, in radians. Note that yaw is the rotation about the Z-axis, pitch is the rotation about the Y-axis and roll is the rotation about the X-axis.

tool

Three-element vector taht defines the dimension of the toolset attached to the end effector, if any.

Output Ports

Joint Angles

The joint angles (in radians) for the five Catalyst-5 joints. The joint angles are given as a 5-vector in order of the joints, i.e., base, shoulder, elbow, wrist pitch and wrist roll.

Error

A scalar denoting whether a solution could be found. An error code of zero indicates that a solution was found. The possible error codes and their meaning are listed in the table below.

Code

Error

0

No error. A solution was found.

1

Out of range error. One or more joints have exceeded their positive or negative joint limits.

2

Illegal transform. No valid inverse kinematics solution was found that fell within the joint limits.

3

Out of reach. The given location is outside the workspace of the robot.

Data Type Support

This block supports inputs and outputs of type double.

Parameters and Dialog Box

CAT5 World Coordinates to Joint Angles

The CAT5 World Coordinates to Joint Angles block has no parameters.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

* Compatible means that the block can be compiled for the target.

See Also

 

navigation bar