Move Statement

Moves the arm from the current position to the specified point using linear interpolation (i.e. moving in a straight line) at a constant tool center point velocity).

Syntax
Move destination [ROT] [ECP] [CP] [searchExpr] [!...!] [SYNC]

Parameters

destination
Specify the target position with point data.
ROT
Optional. Decides the speed/acceleration/deceleration in favor of tool rotation.
ECP
Optional. External control point motion. (This parameter is valid when the ECP option is enabled.)
CP
Optional. Specifies continuous path motion.
Till | Find
Optional. A Till or Find expression.

Till | Find
Till Sw(expr) = {On | Off}
Find Sw(expr) = {On | Off}
!...!
Parallel Processing statements can be added to execute I/O and other commands during motion.
SYNC
Reserves a motion command. The robot will not move until SyncRobots is executed.

Description
Move moves the arm from the current position to destination in a straight line. Move coordinates all axes to start and stop at the same time. The coordinates of destination must be taught previously before executing the Move instruction. Acceleration and deceleration for the Move is controlled by the AccelS instruction. Speed for the move is controlled by the SpeedS instruction. If the SpeedS speed value exceeds the allowable speed for any joint, power to all four joint motors will be turned off, and the robot will stop.

Move uses the SpeedS speed value and AccelS acceleration and deceleration values. Refer to Using Move with CP below on the relation between the speed/acceleration and the acceleration/deceleration. If, however, the ROT modifier parameter is used, Move uses the SpeedR speed value and AccelR acceleration and deceleration values. In this case SpeedS speed value and AccelS acceleration and deceleration value have no effect. When the ROT modifier parameter is added, if there is no orientation change and the distance traveled is not “0”, an error occurs.

If the robot attempts to change only the tool orientation rotation while keeping the tool tip position fixed at a specific coordinate, or if the tool orientation rotation is large relative to the distance traveled by the tool tip, the tool orientation rotation speed may become significantly faster. To prevent this, the operation speed is automatically limited when the speed of tool orientation rotation is too high.

If you wish to manually set the upper limit of the tool orientation rotation speed during CP motion, turn on SpeedRLimitation. When SpeedRLimitation is turned on, if the tool orientation rotation speed exceeds the set SpeedR during CP motion, the motion speed is limited so that the tool orientation rotation speed equals to SpeedR. If the tool orientation rotation speed does not exceed the set SpeedR, it moves at the set speed (SpeedS). Set the upper limit of the tool orientation rotation speed in advance using SpeedR.

When ECP is used, the trajectory of the external control point coresponding to the ECP number specified by ECP instruction moves straight with respect to the tool coordinate system. In this case, the trajectory of tool center point does not follow a straight line.

The optional Till qualifier allows the user to specify a condition to cause the robot to decelerate to a stop prior to completing the Move. The condition specified is simply a check against one of the inputs. This is accomplished through using the Sw instruction. The user can check if the input is On or Off and cause the arm to stop based on the condition specified. This feature works almost like an interrupt where the Move is interrupted (stopped) once the Input condition is met. If the input condition is never met during the Move then the arm successfully arrives on the point specified by destination.

The Till qualifier is optional. For more information about the Till qualifier see the Till command.

Notes


  • Move Cannot

    Move cannot execute range verification of the trajectory prior to starting the move itself. Therefore, even for target positions that are within an allowable range, it is possible for the system to find a prohibited position along the way to a target point. In this case, the arm may abruptly stop which may cause shock and a servo out condition of the arm. To prevent this, be sure to perform range verifications at low speed prior to using Move at high speeds. In summary, even though the target position is within the range of the arm, there are some Moves which will not work because the arm cannot physically make it to some of the intermediate positions required during the Move.

  • Using Move with CP

    The CP parameter causes the arm to move to destination without decelerating or stopping at the point defined by destination. This is done to allow the user to string a series of motion instructions together to cause the arm to move along a continuous path while maintaining a specific speed throughout all the motion. The Move instruction without CP always causes the arm to decelerate to a stop prior to reaching the point destination.

  • Proper Speed and Acceleration Instructions with Move

    The SpeedS and AccelS instructions are used to specify the speed and acceleration of the manipulator during Move motion. Pay close attention to the fact that SpeedS and AccelS apply to linear and circular interpolated motion while point to point motion uses the Speed and Accel instructions.


Potential Errors

  • Attempt to Change Only Tool Orientation

    Changing only tool orientation during the move is impossible. If this is attempted, an error will occur. In this case, use the ROT parameter.

  • Joint Overspeed Errors

    When the motion requested results in the speed of one of the axes to exceed its maximum allowable speed an overspeed error occurs. In the case of a motor overspeed error, the robot arm is brought to a stop and servo power is turned off.

  • Attempt to Pass the Original Point (RS series)

    It is impossible to operate the arm of RS series to pass near an original point. If attempted this, an overspeed error will occur. For the operation near an original point, take the following actions.

    • Lower the speed of SpeedS
    • Find a different path to prevent an original point
    • Use PTP motion such as Go command instead of Move command.

See Also
AccelS, Arc, CP, Go, Jump, Jump3, Jump3CP, SpeedS, Sw, Till, SpeedR, SpeedRLimitation

Move Statement Example
The example shown below shows a simple point to point move between points P0 and P1 and then moves back to P0 in a straight line. Later in the program the arm moves in a straight line toward point P2 until input #2 turns on. If input #2 turns On during the Move, then the arm decelerates to a stop prior to arriving on point P2 and the next program instruction is executed.

Function movetest
  Home
  Go P0
  Go P1
  Move P0
  Move P2 Till Sw(2) = On
  If Sw(2) = On Then
    Print "Input #2 came on during the move and"
    Print "the robot stopped prior to arriving on"
    Print "point P2."
  Else
    Print "The move to P2 completed successfully."
    Print "Input #2 never came on during the move."
  EndIf
Fend

This example uses Move with CP. The diagram below shows arc motion which originated at the point P100 and then moves in a straight line through P101, at which time the arm begins to form an arc. The arc is then continued through P102 and on to P103. Next the arm moves in a straight line to P104 where it finally decelerates to a stop. Note that the arm doesn't decelerate between each point until its final destination of P104. The following function would generate such a motion.

Function CornerArc
   Go P100
   Move P101 CP       'Do not stop at P101
   Arc P102, P103 CP  'Do not stop at P103
   Move P104          'Decelerate to stop at P104
Fend