Move Statement

Description
Carries out a linear interpolation motion with the force control function active.

Usage
Move P# [FC#] [ROT] [CF] [CP] [Till | Find] [!parallel processing!] [SYNC]

  • P#
    Specified the point data defining the target position of the motion.

  • FC#
    Specifies the force control object.

  • CF
    Continues the force control function. Can be omitted.

Detailed Explanation
By adding, as a parameter, a force control object to an ordinary Move command, a Move motion is carried out with force control active. There are instances wherein the same path is not necessarily traced as a result of the exact same command due to the path changing according to the force during the motion, and the motion may stop at a position different than the target position

The Force Control Function operates in accordance with each of the properties for the Force Control Object. Execute after confirming each of the properties for the Force Control Object.

The velocity and acceleration of the Force Control Object is limited by the LimitSpeed and LimitAccel during the operation of the force control function. Refer to the appropriate item for the all property details.

By adding CF parameter, it is possible to continue the force control function up to the next motion. By doing this, the robot proceeds to the next statement at the point the Move motion is completed, as it would ordinarily do, but the robot continues with the force control function still active. In addition, when adding a CP parameter, you then must add a CF parameter. When a CP parameter is added, continued force control function accompanies the normal path motion.

Also, the continuation of the force control by virtue of the CF parameter brings with it the following limitations on the modification of the Force Control Object.

Property name Pre-motion parameter Post-motion parameter Modification advisable?
Enabled False True OK
True False NG
LimitAccel Low High OK
High Low NG
LimitSpeed Low High OK
High Low NG
TargetForcePriorityMode False True NG
True False NG
CoordinateSystem FCSX FCSX OK
FCSX FCSY NG

Moreover, when a CF parameter is added, a normal motion cannot be executed immediately thereafter. When desiring to execute a normal motion command after the force control function has been activated, either do not add a CF parameter or execute an FCEnd statement to inactivate the force control function.
In the same manner as an ordinary motion, when adding a Till qualifier, the movement can be terminated by certain conditions. For details on a Till qualifier, refer to the following manual and Force Trigger Object sections.
“Epson RC+ 8.0 SPEL+ Language Reference” "Till
While force control is operating, Till will cause the force control function to decrease the velocity after the normal motion has been stopped. In addition, when a CF parameter is added, the motion command can be stopped, but the force control function continues. When desiring to stop the force control function as well, either do not add a CF parameter or execute an FCEnd statement.

When the motion is paused while force control is operating, the force control function cannot be re-started. Execute the next motion after the current motion has been completed.
The following commands cannot be used while the force command function is operating. Execute the following commands after executing an FCEnd statement and the force command function has ended.

Arm

ArmClr

ArmSet

Base

Brake

Calib

CP

ECP

ECPClr

ECPSet

Elbow

Encreset

Hand

Here

Home

J1Angle

J1Flag

J2Flag

J4Flag

J6Flag

Local

LocalClr

Mcal

Motor

Power

PTPTime

SFree

TLClr

TLSet

Tool

WaitPos

Where

Wrist

For SCARA robots (including RS series), the force control function cannot be executed in the following cases regardless of the FCS object settings referred by the FC object.

  • When the V or W parameter for the base coordinate system or the selected tool coordinate system is other than 0.
  • When Tx_Enabled or Ty_Enabled property for the FC object is True.

The force control function cannot be executed in the following cases when the Local coordinate system is specified for the Orientation property of the FCS object which is referred by the FC object.

  • When the V or W parameter for the local coordinate system with the number which is referred by the FCS object is other than 0.

The force control function cannot be executed in the following cases when the Custom coordinate system is specified for the Orientation property of the FCS object which is referred by the FC object.

  • When the V or W parameter for the Orientation property is other than 0.

The force control function cannot be executed for other than SCARA (including RS series) and 6-axis robots (including N series).

Force Control and trajectories


  • Use Move with FC

When a CF parameter and a CP parameter are not added, the robot is positioned each time the motion command is completed. In the subsequent command, a trajectory from the current position to the target position will be planned.
The figure below shows the motion trajectories when the following program is executed.

Move P1 FC1  
Move P2 FC1  

image
In the first Move, a trajectory from the initial position P0 to the target position P1 is planned (dashed line), and then the robot start motion.
At this point, the robot moves to P1’ because the path is corrected by the force control. (Solid line)
The robot is positioned at P1’ and then stops.
In the second Move, a trajectory from P1’ (where the robot is positioned) to P2 is planned (dotted line), but the robot moves to P2’ because the path is corrected by the force control like the first Move. (Solid line)

  • Use Move with FC and Till

The robot is positioned at P1’ and then stops.

Move P1 FC1 Till  
Move P2 FC1  

image
In the first Move, a trajectory from the initial position P0 to the target position P1 is planned (dashed line), and then the robot start motion.
At this point, the robot moves toward P1’ because the path is corrected by the force control. (Solid line)
If the Till conditions are met during the motion, the robot will be stopped and positioned at P1’ instead of P1’’ on the planned trajectory because of correction by the force control.
In the second Move, a trajectory from P1’ (where the robot is positioned) to P2 is planned (dotted line), but the robot moves to P2’ because the path is corrected by the force control like the first Move. (Solid line)
If the Till conditions are not met during the first Move motion, the robot moves in the same way as described in “Use Move with FC”.

  • Use Move with FC and CF

When a CF parameter is added, the force control continues and the robot is not positioned even when a motion command is completed. In the subsequent command, a trajectory is planned based on the initially planned target position and the subsequent target position.
The figure below shows the motion trajectories when the following program is executed.

Move P1 FC1 CF  
Move P2 FC1  

image
In the first Move, a trajectory from the initial position P0 to the target position P1 is planned (dashed line), and then the robot start motion. At this point, the robot moves to P1’ because the path is corrected by the force control. (Solid line) Since the CF parameter is added, the robot is not positioned and the force control continues.
In the second Move, a trajectory from the target position of the first Move, P1, to P2 is planned. (Dotted line) Then, the robot moves toward the position which considers the relative displacement amount from the current position P1’. (Dotted line) At this point, the robot moves to P2’ because the path is corrected by the force control function like the first Move. (Solid line)

  • Use Move with FC, CF, and Till

The figure below shows the motion trajectories when the following program is executed.

Move P1 FC1 CF Till  
Move P2 FC1  

image
In the first Move, a trajectory from the initial position P0 to the target position P1 is planned (dashed line), and then the robot start motion. At this point, the robot moves to P1’ because the path is corrected by the force control. (Solid line) If the Till conditions are met during the motion, the robot stops motion toward the planned trajectory. (P1”) Since the CF parameter is added, the robot is not positioned and the force control continues.
In the second Move, a trajectory from P1” (stop position on the trajectory planned for the first Move) to P2 is planned (dashed line). Then, the robot moves toward the position which considers the relative displacement amount from the current position P1’. (Dashed line) At this point, the robot moves to P2’ because the path is corrected by the force control function like the first Move. (Solid line)

By using the RefPos property, the current position on the planned trajectory and actual current position can be acquired. However, if the force control is continued by the CF parameter, the actual position keeps changing. By using this, the amount of relative displacement can be specified after motion stops by Till.
The figure below shows the motion trajectories when the following program is executed.

Move P1 FC1 CF Till  
FGet Robot.RefPos, P2, P3  
Move P3 +X(100) FC1  

image
The stop position P1” on the planned trajectory at the time of motion stop by Till will be P3. The amount of relative displacement as position control can be specified based on P3.

  • Use Move with FC, CF, and CP

When a CF parameter is added, the force control continues and the robot is not positioned even when a motion command is completed. In the subsequent command, a trajectory is planned based on the initially planned target position and the subsequent target position. Also, when a CP parameter is added, the control goes to next statement at the same time as deceleration for the motion command starts. By using this, several consecutive motions can be connected.
The figure below shows the motion trajectories when the following program is executed.

Move P1 FC1 CF CP  
Move P2 FC1  

image
In the first Move, a trajectory from the initial position P0 to the target position P1 is planned (dashed line), and then the robot start motion. At this point, the robot moves to P1’ because the path is corrected by the force control. (Solid line)
When deceleration starts in the planned trajectory (P1’’), the second Move plans a trajectory between P1 (the target position of the first Move) and P2, and then combine it to the planned trajectory of the first Move. (Curved dashed line) The robot starts motion toward the position which considers the relative displacement amount from the current position P1’. (Dashed line) At this time, the robot moves to P2’ because the path is corrected continuously by the force control. (Solid line)

  • Use Move with FC, CF, CP, and Till

When the force control objects, CF parameter, CP parameter and Till qualifier are used together, the robot moves as below.

Move P1 FC1 CF CP Till  
Move P2 FC1  

If the Till conditions are met before the first Move starts deceleration, the robot moves in the same way as described in “Use Move with FC, CF, and Till”.
If the Till conditions are not met before the first Move starts deceleration, the robot moves in the same way as described in “Use Move with FC, CF, and CP”. Since the next motion command is executed at the same time as the start of deceleration, conditional judgement for Till is also completed simultaneously.

Usage Example
This is a simple programming example of a executing a Move motion with force control active.
This example executes a Move motion with force control active in the X axis direction of the tool’s coordinate system.

Function ForceMoveTest
  FSet FCS1.Orientation, FG_TOOL    ' Sets the force coordinate data

  FSet FC1.CoordinateSystem, FCS1   ' Sets the force coordinate data
  FSet FC1.Fx_Spring, 0             ' Sets the virtual Fx coefficient of elasticity
  FSet FC1.Fx_Damper, 1             ' Sets the virtual Fx coefficient of viscosity
  FSet FC1.Fx_Mass, 10              ' Sets the virtual Fx coefficient of inertia
  FSet FC1.Fx_Enabled, True         ' Sets the Fx force control function to active

  Move P0 FC1                       ' A Move motion with force control active
Fend

Next is an example of a program using a CF parameter.
In this example, Force Control Object FC1 is used to execute the force control function while moving from the current position to P0 and then to P1. The force control function will be terminated at the completion of the movement. After that, the movement will proceed to P2 and then to P3 using Force Control Object FC2 to execute the force control function. When the movement to P3 has been completed, the force control function will remain active due to the CF parameter, but the force control function will be terminated via that FCEnd statement. Following that, Force Control Object FC3 is used to continue the force control until 5 seconds have passed after arriving at P4. In order to maintain the active state of the force control function for a certain amount of time following a movement, use the FCKeep statement.

For details on FCKeep and FCend, please refer to the details for each statement.

Function ForceMoveCFTest
  Move P0 FC1 CF
  Move P1 FC1

  Move P2 FC2 CF
  Move P3 FC2 CF
  FCEnd

  Move P4 FC3 CF
  FCKeep FC3, 5
Fend

Next is an example of a program using a Till qualifier.
Establish Force Trigger Object FT1 for Till, and add a Till qualifier to the Move motion command with force control active. When Till becomes active during the movement to P1, the Move motion and the force control function are terminated and the robot stops. The same thing happens during the movement to P2. When Till becomes active on the way to P3, the Move motion is terminated due to the addition of the CF parameter, but the force control function remains active. For that reason the robot does not stop. After that, the movement progresses to P4 with the force control function remaining active.

Function ForceMoveTillTest
  Till FT1
  Move P1 FC1 Till     ' Both the motion and the force control function are terminated
  Move P2 FC2 Till     ' Both the motion and the force control function are terminated

  Move P3 FC3 CF Till  ' The motion is terminated, but the force control function continues
  Move P4 FC3
Fend

See Also
Move, Force Control Object FC#,Force Trigger Object FT#, Till, FCKeep, FCEnd