Skip to main content
Skip table of contents

CDRFLEx.movec

Features

This is a function for moving the robot along an arc to the target position via a waypoint or to a specified angle from the current position based on the task space in the task space.

Parameter

Parameter Name

Data Type

Default Value

Description

fTargetPos[0]

float[6]

-

Waypoint

fTargetPos[1]

float[6]


Target location

fTargetVel

float[2]

-

Linear Velocity, Angular Velocity

fTargetAcc

float[2]

-

Linear Acceleration, Angular Acceleration

fTargetTime

float

0.0

Reach Time [sec]

eMoveMode

enum.MOVE_MODE

MOVE_MODE_

ABSOLUTE

Refer to the Definition of Constant and Enumeration Type

eMoveReference

enum.MOVE_REFERENCE

MOVE_REFERENCE_BASE

Refer to the Definition of Constant and Enumeration Type

fTargetAngle1

float

0.0

angle1

fTargetAngle2

float

0.0

angle2

fBlendingRadius

float

0.0

Radius for blending

eBlendingType

enum.BLENDING_SPEED_TYPE

BLENDING_SPEED_TYPE_DUPLICATE

Refer to the Definition of Constant and Enumeration Type

Note

  • If an argument is inputted to fTargetVel (e.g., fTargetVel ={30, 0}), the input argument corresponds to the linear velocity of the motion, while the angular velocity is determined proportionally to the linear velocity.
  • If an argument is inputted to fTargetAcc (e.g., fTargetAcc ={60, 0}), the input argument corresponds to the linear acceleration of the motion, while the angular acceleration is determined proportionally to the linear acceleration.
  • If fTargetTime is specified, values are processed based on fTargetTime, ignoring fTargetVel and fTargetAcc .
  • If the eMoveMode is MOVE_MODE_RELATIVE, fTargetPos[0] and fTargetPos[1] are defined in the relative coordinate system of the previous position. (fTargetPos[0] is the relative coordinate from the starting point, while fTargetPos[1] is the relative coordinate from fTargetPos[0].)
  • If fTargetAngle1 is more than 0, and fTargetAngle2 is equal to 0, the total rotated angle on the circular path is applied to fTargetAngle1.
  • When fTargetAngle1 and fTargetAngle2 are more than 2, fTargetAngle1 refers to the total rotating angle moving at a constant velocity on the circular path, while fTargetAngle2 refers to the rotating angle in the rotating section for acceleration and deceleration. In that case, the total moving angle fTargetAngle1+ 2 X fTargetAngle2 moves along the circular path.

Caution

If the following motion is blended with the conditions of eBlendingType being BLENDING_SPEED_TYPE_DUPLICATE and fBlendingRadius>0, the preceding motion can be terminated after the following motion is terminated first when the remaining motion time, which is determined by the remaining distance, velocity, and acceleration of the preceding motion, is greater than the motion time of the following motion. Refer to the following image for more information.

Return

Value

Description

0

Error

1

Success

Example

PY
// CASE 1
float x1[2][6] = {{559,434.5,651.5,0,180,0}, {559,434.5,251.5,0,180,0}};
float tvel = {50,50}; # Set the task velocity to 50(mm/sec) and 50(deg/sec).
float tacc = {100,100}; # Set the task acceleration to 100(mm/sec2) and 100(deg/sec2).
drfl.movec(x1, tvel, tacc);
// Moves to x1[1] with a velocity of 50(mm/sec) and acceleration of 100(mm/sec2)
// via x1[0] along the arc trajectory.

// CASE 2
float x1[2][6] = {{559,434.5,651.5,0,180,0},{559,434.5,251.5,0,180,0}};
float tTime = 5;
drfl.movec(x1, 0, 0, tTime);
// Moves along the arc trajectory to x1[1] via x1[0] with a reach time of 5 seconds

// CASE 3
float x1[2][6] = {{559,434.5,651.5,0,180,0},{559,434.5,251.5,0,180,0}};
float x2[2][6] = {{559,234.5,251.5,0,180,0 },{559,234.5,451.5,0,180,0}};
float tvel = {50,50}; 
float tacc = {100,100};
float blending_radius = 50; 
drfl.movec(x1, tvel, tacc, 0, MOVE_MODE_ABSOLUTE, MOVE_REFERENCE_BASE, 0, 0, blending_radius);
drfl.movec(x2, tvel, tacc, 0, MOVE_MODE_ABSOLUTE, MOVE_REFERENCE_BASE, 0, 0, 0, BLENDING_SPEED_TYPE_DUPLICATE);

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.