Postion Transformation

How To Configure Position Transformation

After linking the drive’s Target Position and Position Actual Value to Motorcortex parameters via ECAT-Tool, a conversion gain is essential for accurate unit conversion. This process ensures proper communication and control between the drive and Motorcortex.

Configure position transformation via the GUI

You can define the position transformation between the drive unit [ticks per revolution] and the Motorcortex unit [rad] through the GUI under the Axis Settings Tab.

Example conversion between ticks and radians:

image not found
  1. Set Encoder Resolution:

    • In the Ticks per rev field, enter the encoder resolution
    • Example: For a 20-bit encoder, enter 1048576
  2. Define Unit Conversion and Direction:

    • Set the conversion from per revolution to radians
    • Use the ratio: Gain Num/Gain Den = 1/2π
    • This ensures proper conversion between drive ticks and radians
    • Configure the axis rotation direction using Manual Jog, if the 3D visualization moves opposite to the robot, set Gain Num to -1
  3. Specify Gear Ratio (if applicable):

    • If the gear ratio is not applied inside the drive, you must specify it here
    • Example for an 80:1 gear ratio:
      • Set nMotorside = 1
      • Set nLoadside = 80
    • If no external gear ratio, leave as 1:1
  4. Set Reference Position (Production Mode): This step aligns the GUI’s 3D visualization with the real robot:

    • Move the axis to a known reference angle (e.g., “Straight Up 0 deg”)
      • Press reference to apply this position
    • Or Enter Known Angles
      • Fill in the current reference angles in [degrees] for each axis
      • Press reference to apply these angles
      • The offset in Ticks will be automatically stored in the Offset field
      • Verify that the 3D visualization now matches the real robot’s position
  5. Save Configuration

    • Press Save Settings to store all your changes.

Example conversion between ticks and meters:

image not found
  1. Set Encoder Resolution:

    • In the Ticks per rev field, enter the encoder resolution
    • Example: For a 19-bit encoder, enter 524288
  2. Define Direction:

    • Use the ratio: Gain Num/Gain Den = 1/1
    • Configure the axis movement direction using Manual Jog, if the 3D visualization moves opposite to the robot, set Gain Num to -1
  3. Specify Gear Ratio and Meter Per Revolution conversion:

    • If the gear ratio is not applied inside the drive, you must specify it here
    • Example for an 1:1 gear ratio betweem pully1 and pully2. pully2 drives a spindel with a 10mm pitch.
      • Set nMotorside = 1
      • Set nLoadside = 100
  4. Set Reference Position (Production Mode): This step aligns the GUI’s 3D visualization with the real robot:

    • Move the axis to a known reference angle (e.g., “0 meter”)
      • Press reference to apply this position
    • Or Enter Known Positions
      • Fill in the current reference position in [meters] for each axis
      • Press reference to apply this position
      • The offset in Ticks will be automatically stored in the offset field
      • Verify that the 3D visualization now matches the real robot’s position
  5. Save Configuration

    • Press Save Settings to store all your changes.

Example Setup:

image not found

Configure position transformation via the DESK-Tool

To configure position transformation for an axis (e.g., axis 1) using the desk-tool:

GUI parameter: Description: Desk Parameter:
Encoder
Input Actual encoder ticks root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/inputHardwareSide
Ticks per rev Encoder resolution root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/ticksPerRevolution
Gain num Numerator root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/gainNum
Gain den Denominator root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/gainDen
Gearbox
n Motorside gearboxMotorside root/AxesControl/actuatorControlLoops/actuatorControlLoop01/gearboxMotorSide
n Loadside gearboxLoadSide root/AxesControl/actuatorControlLoops/actuatorControlLoop01/gearboxLoadSide
Homing
Reference Reference angle in radians or position in meters root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/referencePositionLoadSide
Offset Reference offset in ticks root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/offset
Axis Actual
Position Axes position actual value in radians or meters root/AxesControl/axesPositionsActual

Configuring Persistence for Multiturn Position Storage

Persistence allows single-turn encoders to be used in multiturn applications by automatically storing current encoder ticks in persistence.bin. This feature is particularly useful for maintaining position information across power cycles.

To configure persistence for an axis (e.g., axis 1) using the desk-tool:

  1. Enable persistance data:

    • Set root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/enablePersistence to 1
  2. Set maximum deviation tolerance after power cycles:

    • Configure root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/deltaTicksMax to your preferred value in [ticks]
  3. Monitor position difference:

    • Check root/AxesControl/actuatorControlLoops/actuatorControlLoop01/positionTransformation/transducer/deltaTicks, which shows the difference between current and stored position after power cycle
  4. Error handling:

    • If deltaTicks exceeds deltaTicksMax, the system will generate an ES_Not_Referenced error
    • This error is resolved after referencing the axis