Breadcrumbs

CDRFLEx.movejx

Features

This is a function for moving the robot to the target position (pos) within the joint space in the robot controller. Since the target position is inputted as a posx form in the task space, it moves in the same way as Movel. However, since this robot motion is performed in the joint space, it does not guarantee a linear path to the target position. In addition, one of eight types of joint combinations (robot configurations) corresponding to the task space coordinate system (posx) must be specified in iSolutionSpace (solution space).

Parameter

Parameter Name

Data Type

Default Value

Description

fTargetPos

float[6]

-

Target TCP Position for six axes

iSolutionSpace

unsigned char

-

joint combination shape (Refer to the below description)

fTargetVel

float

-

Velocity

fTargetAcc

floa

-

Acceleration

fTargetTime

float

0.f

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

fBlendingRadius

Float

0.f

Radius for blending

eBlendingType

enum.BLENDING_SPEED_TYPE

BLENDING_SPEED_TYPE_DUPLICATE

Refer to the Definition of Constant and Enumeration Type


  • When fTargetTime is specified, values are processed based on fTargetTime, ignoring fTargetVel and fTargetAcc.

  • Using blending in the preceding motion generates an error in the case of input with relative motion (eMoveMode = MOVE_MODE_ABSOLUTE), and it is recommended to blend using movej() or movel().

  • Refer to the description of movej() and movel() for blending according to option eBlendingType and fTargetVel / fTargetAcc.

  • Robot configuration (Shape vs. solution space)

    Solution space

    Binary

    Shoulder

    Elbow

    Wrist

    0

    000

    Lefty

    Below

    No Flip

    1

    001

    Lefty

    Below

    Flip

    2

    010

    Lefty

    Above

    No Flip

    3

    011

    Lefty

    Above

    Flip

    4

    100

    Righty

    Below

    No Flip

    5

    101

    Righty

    Below

    Flip

    6

    110

    Righty

    Above

    No Flip

    7

    111

    Righty

    Above

    Flip



Return

Value

Description

0

Error

1

Success

 

Example

Python
// CASE 1
float x1[6] = { 559, 34.5, 651.5, 0, 180, 0 };
float sol=2;
float jvel=10;
float jacc=20;
drfl.movejx(x1, sol, jvel, jacc);
		// Move to the joint angle that corresponds to x1 and configuration with velocity 10(deg/sec)
		//and acceleration 20(deg/sec2).
// CASE 2
float x1[6] = { 559, 34.5, 651.5, 0, 180, 0 };
float sol=2;
float jTime=5;
drfl.movejx(x1, sol, 0, 0, jTime);
		// Moves to the joint angle that corresponds to x1 and configuration with a reach time of 5 sec.

// CASE 3
float x1[6] = { 559, 34.5, 651.5, 0, 180, 0 };
float x2[6] = { 559, 434.5, 651.5, 0, 180, 0 };
float sol=2;
float jvel=10;
float jacc=20;
float blending_radius=50;
drfl.movejx(x1, sol, jvel, jacc, 0, MOVE_MODE_ABSOLUTE, blending_radius);
		// Moves to the joint angle that corresponds to x1 and configuration and is set to execute the next motion
		// when the distance from x1 location is 50 mm.
drfl.movejx(x2, sol, jvel, jacc, 0, MOVE_MODE_ABSOLUTE, 0,
BLENDING_SPEED_TYPE_DUPLICATE);
		// blends with the last motion to move to the joint angle that corresponds to x2 and configuration.