Setting the offset value, acceleration and deceleration for variable speed conveyor mode

The robot's tracking delay relative to conveyor speed changes depends on the conveyor speed, conveyor acceleration/deceleration, robot model used, Inertia setting, Weight setting, and other factors.

Therefore, it is necessary to set the offset value according to the operating environment, and the limit of acceleration and deceleration after conveyor tracked. In order to improve the robot's tracking delay, it is necessary to adjust the offset value and set the optimum value.

The amount of robot tracking delay is acquired with the Cnv_PosErr function, the offset value is set with Cnv_PosErrOffset, and the limit of acceleration and deceleration after conveyor tracked is set with Cnv_AccelLim.

KEY POINTS


When adjusting the offset value, set Cnv_Fine to “0”. If the value is not “0”, the amount of tracking delay cannot be acquired correctly with the Cnv_PosErr function.

In the quantity-priority mode and accuracy-priority mode, it is not possible to acquire and set offset values.

When acquiring the offset value, check the accuracy-priority mode - Acquiring tracking delay" setting. For a working program, use the sample program described below.

Set the limit to a value greater than the conveyor acceleration and deceleration when stopping or operating the conveyor. A rough guideline for the set value is about twice the conveyor acceleration and deceleration.

If the limit is too high, robot motion gets oscillatory due to variation of the conveyor speed or noise. If it is lowered too much, the robot will not stop tracking the conveyor even it stops, and it may move out of the operating area of the robot. In that case, set a tracking abort line or program to stop tracking at the downstream limit.

After setting the limit of acceleration and deceleration, follow the procedure below to set the offset value and acquire the robot's tracking delay.

In order to find the optimal offset value, change the offset value and perform multiple times.

Integer fileNum                          'Declare a file number
Function Cnv_PosErr_measure
  Motor On
  Go P0                                  'Move to robot motion start point
  Power High
  Speed 100
  Accel 100, 100
  Cnv_Accel 1, 2000
  Cnv_Fine 1,0                           'Fine setting
  Cnv_Mode 1,2                           'Variable speed conveyor mode
  Cnv_PosErrOffset 1,10                  'Set offset value
  ' Check conveyor operation
  If Cnv_Speed(1) < 0.1 Then
    Print "Conveyor not operational"
    Exit Function
  EndIf

  ' Register virtual workpiece to queue
  Cnv_QueRemove 1, All                   'Clear queue
  Cnv_Trigger (1)                        'Latch conveyor pulse
  Cnv_QueAdd 1, XY(0, CY(P1@Cnv(1)), CZ(P1@Cnv(1)), CU(P1@Cnv(1)), 0, 0) /CNV(1)
   'Register virtual workpiece to queue based on P1

  Wait Cnv_QueLen(1, CNV_QUELEN_PICKUPAREA) > 0
  ' Wait until queue enters the Pickup Area
  Xqt CnvPosErrTest                      'Start acquiring offset values in separate task

  'Perform motion
  Go Cnv_QueGet(1,0)                     'For SCARA robots
  'Go Cnv_Queget(1,0):U(90):V(0):W(180)  ' For 6-axis robots

  Do
    Wait 0.02
  Loop Until (CX(RealPos@CNV(1)) >= Cnv_Downstream(1))
  ' Wait until downstream limit is reached
  Go here                                'Stop robot
  Cnv_QueRemove 1, All                   'Reset queue
  Wait 0.5
  Quit CnvPosErrTest                     'End offset value acquisition
  motor off

Fend

Function CnvPosErrTest
  fileNum = FreeFile                     'Acquire a file number
  WOpen "poserr.csv" As fileNum         'csv filename
  Print #fileNum, "Time[sec],Cnv_PosErr[mm],Cnv_Speed[mm/s]"
  TmReset 0
  Do
    Print #fileNum, Tmr(0), ",", Cnv_PosErr(1), ",",
    Cnv_Speed(1)
    Wait 0.01
  Loop
Fend

A "poserr csv" file will be created in the project folder of Epson RC+ 8.0. Open the file in a spreadsheet or other software and create a line graph or scatter plot.

If data is acquired multiple times with different offset values, a graph like that shown below can be produced.

After a conveyor tracking operation, the return value of the Cnv_PosErr function will be the Cnv_PosErr peak value acquired during said operation. It is useful to use these peak values when creating graphs.

A positive tracking delay means that the robot is advancing too far downstream from the workpiece.

Plotting the robot's tracking delay against the offset value allows the optimal offset value to be set.

From the results shown above, add the following offset value setting to the conveyor tracking program:

Cnv_PosErrOffset 1, 22.7  'Offset value

CAUTION


  • The offset values described in this procedure are for reference. Depending on the operating environment and the offset value that is set, the operation may not be successful or may cause vibration.
  • If the robot performs an action different from the setting, immediately press the emergency stop button.