Define the zero position offsets

From Wiki
Revision as of 12:31, 2 July 2017 by Chmeyer (talk | contribs)

The robolink arms provide reference switches which allow a precise and reproducible referencing. The reference switches are inductive switches with metal pins as set points (motor encoder version) or hall sensors with magnets as set points (AE version). The sensor positions are not the robots zero positions. Each joint module stores an offset value that defines the difference between the reference position and the zero position in encoder tics.

When the combination of robot and control have been provided by CPR then these offsets are already defined in the modules. They are also written on the quality assurance sheet. If robot and control are not provided in combination the following steps should be performed. This page shows how to find the offsets for your robot and how to set the into the joints modules.



1. Set the offsets to zero

To find the correct offsets the current offset need to be removed.

  • The offsets and further parameter are defined in the file c:\CPRog\Data\Robots\igus_5DOF_BV\igus_5DOF_BV_AmpParameter.dat with the last directory and the file name according to your robot type. Open this file. The entries are in the lines "Joint0" to "Joint4" in Tag "Offset".
  • Set all offsets to "0.0" and save the file. !!! Attention: Please use only "." (dot) as separator, not "," !!!
  • Start CPRog and connect with the robot controller. The green LEDs on the robot controller should be blinking now.
  • Open the CPRog menu on the circle in the upper left corner and press the button "Configuration / Load Amp Config"
  • Confirm the upcoming warning, choose the .dat file you just changed and press "OK"
  • Now the parameter with the zero offsets are uploaded to the modules. You can see the green LED of each module blinking for a second, then the next.



2. Reference the robot

Perform a referencing of the robot arm. Follow the instructions on page Referencing robolink.



3. Move the robot into zero position

Now we jog the robot arm into the zero position to find the offsets between reference position and zero position.


alt zero position of the robolink robots
  • Start CPRog and connect / reset / enable the robot arm
  • Jog the robot into a zero position as shown in the picture above. Joint 1 points into +X direction, joint 2 points upwards, joints 3 and 4 point forward into +X direction again.
  • At first move with e.g. 30% override. Then do the fine tuning with e.g. 5% override. Use a spirit level to find the precise angle.
  • The fifth axis should be set according to the connected gripper. Or, when no gripper is connected, mark the zero position and set to this.
  • Press the "Reset" button in CPRog to load the current hardware position.



4. Calculating the offsets

Now we can see the offset in degree in the CPRog user interface. But we need to calculate the offset in encoder tics.

  • Open the Microsoft Excel file c:\CPRog\Data\Robots\igus_5DOF_BV\FindingTheOffset_5DOF-BV.xlsx (adapt according to your robot type)
  • Check if the entries regarding the gear ratios are correct. You can find the gear ratios in the igus documentation.
  • Copy the current joint values from the CPRog user interface to the table, column "Joint values at zero"
  • In the next column the new offsets are calculated.



5. Uploading the offsets to the modules

Now we set the new offsets in the .dat file and upload them to the modules.

  • Open the .dat file from above and set the "Offset" values as calculated in the table. Do not use "," but only "." as seperators!
  • Save the .dat file and upload the parameter as in section 1.



6. Final Test

The new offsets should be tested if the are correct.

  • Switch off the robot control and CPRog
  • After min. 5 seconds start the control and CPRog again
  • Connect / Reset / Enable the robot
  • Reference the robot
  • Jog the robot so that all joint values are zero. The real robot should be in the zero position now.



7. Documentation

  • Please write down the offsets or store the .dat file in a folder different then the CPRog program directory. When you update CPRog you custom .dat file might be overwritten. So it is necessary to store your custom file in a different location.


For questions or comments please get in contact with us: info(at)cpr-robots.com