get_current_posx (Manual Mode)

This section describes how to use get_current_posx during Manual (Teach) operations. While the function is defined in 3.1 Common, it is essential in teaching mode for monitoring the robot’s real-time TCP position in Cartesian coordinates.

Typical usage

  • Display or log the current tool center point (TCP) pose while jogging or moving manually.

  • Verify alignment during teaching by reading the robot position in the selected reference frame.

  • Compare current TCP coordinates with a target or saved user frame.

Note

  • The coordinate reference (e.g., BASE, TOOL, WORLD) depends on the parameter used when retrieving the data.

  • Useful for on-screen feedback in pendant or custom GUI applications.

Example: Display TCP pose during Manual Jogging

// Assume connection, Manual mode, and servo ON are set.

// Jog +X direction for a short duration
drfl.jog(JOG_AXIS_TASK_X, MOVE_REFERENCE_BASE, 10.0f);
std::this_thread::sleep_for(std::chrono::milliseconds(500));
drfl.stop(STOP_TYPE_SLOW);
drfl.mwait();

// Retrieve current TCP pose in BASE coordinate system
LPROBOT_POSX pCur = drfl.get_current_posx(COORDINATE_SYSTEM_BASE);

printf("[Current TCP Position - BASE]\n");
printf("X: %.2f, Y: %.2f, Z: %.2f | Rx: %.2f, Ry: %.2f, Rz: %.2f\n",
       pCur->_fX, pCur->_fY, pCur->_fZ,
       pCur->_fRx, pCur->_fRy, pCur->_fRz);

Tips

  • Use this function after jog or manual moves to confirm precise positioning.

  • For comparing positions between coordinate systems, combine with coord_transform.

  • In teaching interfaces, call get_current_posx() periodically (e.g., 10–20 Hz) for smooth position feedback.