Linear Move
For this type of move, stop only when the singular (ending) point gets close.
Orientation Mode | Near (Shortest Angle) | Keep Config / Keep Turn | Keep Config / Set Turn | Set Config / Keep Turn | Set Config / Set Turn |
---|
Wrist | Ignore input turns and config. Compute turns and config (use
current config) to get shortest angles for 6 joints. Must match
joint 4,5,6; try 1,2,3.
(Default) | Input config and input turns ignored. Use current config. Keep
turns for joint 4,5,6. Try to keep turn for joint 1,2,3
| Input config ignored. Use current config. Use new turns for joint
4,5,6. Find shortest angle for any unset joint 4,5,6 turn. Try to
match new turns for joint 1,2,3.
| Could be any input config. Use current if not set. Keep turns for
joint 4,5,6. Try keep turn for joint 1,2,3
| Could be any input config. Use current if not set. Use new turns
for joint 4,5,6. Find shortest angle for any unset joint 4,5,6
turn. Try to match new turns for joint 1,2,3
| 1 Axis (Default) | Based on the start and the goal xform, use quaternion method to
interpolate the xform of the middle point. The turn number of the
goal point will be the same as the start point.
(Default = Near) | Cannot use input config.
Based on the start and the goal xform, use quaternion method to
interpolate the xform of the middle point. The turn number of the
goal point will be the same as the start point.
| 2 Axis (May create a new method) | N/A
(Use 1 Axis instead)
| Same as 3 Axis
| 3 Axis (May not be coded for using Roll, Pitch, Yaw rotation method.
) | Based on the start and the goal xform use Roll, Pitch, Yaw rotation
method to interpolate the xform of the middle point. The turns of
the goal point will be the same as the start point.
|
Joint Move
For this type of move, the robot does not move to a singular ending point.
Near (Shortest Angle) | Keep Config / Keep Turn | Keep Config / Set Turn | Set Config / Keep Turn | Set Config / Set Turn |
---|
Use new input config. Input turns ignored. Compute turns to get 6
shortest angles.
(Default) | Input config and turns ignored. Keep current config and turns. Can
construct the Joint target based on the xform, config and turns,
then do the joint interpolation.
| Keep config. Use new turns. If any joint turn info not set, use
shortest angle for that joint. Can construct the Joint target based
on the xform, config and turns, then do the joint interpolation.
| Use new config. If no new config, use current config. Keep turns.
Can construct the Joint target based on the xform, config and
turns, then do the joint interpolation.
| Use new config and turns. If no new config, use current config. If
any joint turn info not set, use shortest angle for that joint. Can
construct the Joint target based on the xform.
|
Circular Move
The following circular move types are considered.
- One-point circular move: If a Circular Move point is directly after a Linear Move point, then an
arc move is planned that is tangent to the line end at the
Linear Move point.
- Two-point circular move (first case): A
Circular Move point is directly after a Circular Via point.
- Two-point circular move (second case): If a Circular Move point is directly
after another Circular Move point, then an arc move is planned.
The arc center is determined by this Circular Move point,
the previous Circular Move point and the point ( any point ) before the
previous Circular Move point. The difference between the two cases of two-point circular moves is that in this case, the arc is planned from any
point to the Circular Move point. Thus, the arc is planned only from the previous
Circular Move point to Circular Move point.
Motion Type | Orientation Mode | Near (Shortest Angle) | Keep Config / Keep Turn | Keep Config / Set Turn | Set Config / Keep Turn | Set Config / Set Turn |
---|
Circular Via | None | Motion planner does not plan a move at this via point; only saves
necessary information.
| Circular Move | wrist, 1 Axis, 2 Axis, 3 Axis | Motion planner plans a move from the start point through via point
to goal point. The interpolation is done from the start point through
via point to goal point depending on the orientation mode, as is the case for Linear Move. | Same as Linear Move. |
Linear Orientation Interpolation Approaches
Different linear orientation interpolation
approaches are described below.
Wrist Axis Interpolation for a Linear Move
With wrist axis interpolation mode, the TCP position still moves
along a straight line. However the wrist axis joints do not use the
equivalent axis angles technique, but rather use pure joint motion.
The key elements for this technique are:
- The user still specifies two positions in the same manner as
with single axis interpolation. However, internally, the positions are
converted to a combination of a Cartesian position (x, y, z) and
joint values for the wrist (joints 4, 5, and 6). This is done by a
special inverse kinematics wrapper function.
- These positions can have different wrist configurations. For
example, the wrist configuration can be noflip at the start and
flip at the end. It is still not possible to move to/from
different elbow and arm configurations.
- Also, during simulation, the wrist joint values can change from
one turn number to another. Again, this is possible because the
wrist is interpolated using joint interpolation.
- The computation is as follows:
- First find the travel distance between the start and end is
found
- The Cartesian travel distance is computed in the same manner as
with the single axis case.
- For each joint in the wrist, the change in start and end
position is found. This is found by simply subtracting the two
values.
- The time/speed calculations are similar to the ones in single
axis mode. For the Cartesian position the same calculations are
used, however for each wrist joint the move time is found. Then
using the largest time the other times/speeds are scaled so that
they all take the same amount of time.
- During simulation the TCP position is determined in the same
technique as the single axis technique (that is interpolated along
the straight line between targets). The wrist axis joints are
interpolated first using joint interpolation. Then an offset
transformation is computed between the tcp to the end of the first
non-wrist joint (i.e. joint 3) as shown in the image below. Using
this offset, a special version of the inverse kinematics is called
which only solves for joints 1, 2, and 3. The combination of joints
is returned.
The different linear orientation interpolation approaches are accessible in the context menu from the Teach dialog box. They are described in the table below.
1 Axis | TCP rotates against 1 axis to reach the target orientation. Turn
number of robot joints could be changed.
| 2 Axis | N/A. Use 1 axis if 1 axis motion can reach the tag with turn
number specified. Otherwise, use 3 axis instead.
| 3 Axis | Beginning tag and ending tag could have different turn numbers,
which might not be reached by rotating against 1 Axis. Using 3 Axis
solves the issue. However, if the 1 Axis approach can reach the
target and meet turn number requirement, 1 Axis is used
automatically.
| Wrist | TCP is on straight line while interpolation happens on joint 4, 5,
6. Robot config and joint turn numbers are all undetermined.
|
|