Skip to content
JamesNewton edited this page Aug 17, 2018 · 28 revisions

Dexter status data

The status of the Dexter robot arm is returned to DDE by the Firmware after every command. All the _DELTA and _AT values are scaled by the calibration values in the AxisCal.txt file. DDE calculates additional status data and adds it to the status array1 available to jobs. This includes slope values for each joint.

Units are always integer arc seconds. For each of the following "Joint..." sections:
*_AT - Current incremental position goal toward the commanded final position goal.
*_DELTA - Instantaneous error in position. Difference between _AT and actual position.
*_PID_DELTA - Accumulated corrective error signal. Related to force due to inertia, gravity, etc.
*_FORCE_DELTA - In follow mode, this is the offset from commanded position necessary to keep force at zero.
*_SIN - The current A2D value from the sin sensor on that joints encoder.
*_COS - The current A2D value from the cos sensor on that joints encoder.
PLAYBACK_ - Not used? The step and direction ticks sent to the motor in the time between status updates. August 2018 changed to Measured angle of the joint
SENT_ - Little used? Commanded position goal.
SLOPE_ - Unused. Was rate of change of _AT. Measurement of joint speed. April 2018 changed to servo information (see below)

In April 2018, the FPGA code was changed so that the Dynamixel servo data is returned in the SLOPE items as follows:
SLOPE_BASE_POSITION is the position of Axes 6,
SLOPE_PIVOT_POSITION is force of Axis 6,
SLOPE_END_POSITION is the position of Axis 7,
SLOPE_ANGLE_POSITION is force of Axis 7.

The actually returned data includes:

  • DMA_READ_DATA
  • DMA_READ_DATA
  • RECORD_BLOCK_SIZE
  • END_EFFECTOR_IO_IN

Joint 1: BASE

  • BASE_POSITION_AT
  • BASE_POSITION_DELTA
  • BASE_POSITION_PID_DELTA
  • BASE_POSITION_FORCE_DELTA
  • BASE_SIN
  • BASE_COS
  • PLAYBACK_BASE_POSITION
  • SENT_BASE_POSITION
  • SLOPE_BASE_POSITION

Joint 2: PIVOT

  • PIVOT_POSITION_AT
  • PIVOT_POSITION_DELTA
  • PIVOT_POSITION_PID_DELTA
  • PIVOT_POSITION_FORCE_DELTA
  • PIVOT_SIN
  • PIVOT_COS
  • PLAYBACK_PIVOT_POSITION
  • SENT_PIVOT_POSITION
  • SLOPE_PIVOT_POSITION

Joint 3: END

  • END_POSITION_AT
  • END_POSITION_DELTA
  • END_POSITION_PID_DELTA
  • END_POSITION_FORCE_DELTA
  • END_SIN
  • END_COS
  • PLAYBACK_END_POSITION
  • SENT_END_POSITION
  • SLOPE_END_POSITION

Joint 4: ANGLE

  • ANGLE_POSITION_AT
  • ANGLE_POSITION_DELTA
  • ANGLE_POSITION_PID_DELTA
  • ANGLE_POSITION_FORCE_DELTA
  • ANGLE_SIN
  • ANGLE_COS
  • PLAYBACK_ANGLE_POSITION
  • SENT_ANGLE_POSITION
  • SLOPE_ANGLE_POSITION

Joint 5: ROT

  • ROT_POSITION_AT
  • ROT_POSITION_DELTA
  • ROT_POSITION_PID_DELTA
  • ROT_POSITION_FORCE_DELTA
  • ROT_SIN
  • ROT_COS
  • PLAYBACK_ROT_POSITION
  • SENT_ROT_POSITION
  • SLOPE_ROT_POSITION

Clone this wiki locally