.. _get_desired_posj: get_desired_posj ------------------------------------------ This is a function for checking information on the desired joint angle by axis of the robot in the robot controller. **Definition** |br| ``DRFLEx.h`` within class `CDRFLEx`, public section (line 721) .. code-block:: cpp LPROBOT_POSE get_desired_posj() { return _get_desired_posj(_rbtCtrl); }; **Parameter** |br| None **Return** .. list-table:: :widths: 25 75 :header-rows: 1 * - **Value** - **Description** * - :ref:`ROBOT_POSE ` - Refer to the Definition of Structure **Example** .. code-block:: cpp // Retrieve the desired joint positions (target values commanded by controller) LPROBOT_POSE lpDesired = drfl.get_desired_posj(); LPROBOT_POSE lpCurrent = drfl.get_current_posj(); if (lpDesired && lpCurrent) { printf("Comparing Desired vs Current Joint Angles:\n"); for (int i = 0; i < NUMBER_OF_JOINT; ++i) { float error = std::fabs(lpDesired->_fPos[i] - lpCurrent->_fPos[i]); printf(" Joint %d | Desired: %.1f | Current: %.1f | Error: %.1f\n", (i + 1), lpDesired->_fPos[i], lpCurrent->_fPos[i], error); } } else { printf("Failed to retrieve joint position data.\n"); } This example retrieves both the **desired joint angles** (commanded by the motion controller) and the **current joint angles** (actual feedback from encoders), then compares them. The difference between these values represents the **motion tracking error** during movement. This function is particularly useful for **real-time monitoring, trajectory debugging, or fine-tuning controller response accuracy** in dynamic applications.