Difference between revisions of "Define the zero position offsets"

From Wiki
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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 robolink arms provide reference switches which allow a precise and reproducible referencing. The reference switches are inductive switches reacting to metal pins as set points (motor encoder version) or hall-effect sensors reacting to 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.
+
The positions of the sensors at the joints of the robot are not the [[#Move the robot into zero position|zero positions of the joints]]. Each joint module stores an offset value that defines the difference between the reference position and the zero position. The offset values are the number of encoder pulses between these two positions.
This page shows how to find the offsets for your robot and how to set the into the joints modules.
+
 
 +
<span style="color:#008000"> When the combination of robot and control electronics have been provided by CPR, then these offsets are already defined in the modules. They are also written down on the quality assurance sheet. </span>
  
 +
<span style="color:#800000"> If robot and control have been supplied separately, we wouldn't have been able to do this calibration for you. Therefore the following steps should be performed.</span>
  
  
----
+
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'''
+
=Set the offsets to zero=
 +
[[File:CPRog_MenuLoadAmpConfig.PNG|400px|thumb|Load Amp Configuration menu entry in CPRog]]
  
The find the correct offsets the current offset need to be removed.
+
To find the correct offsets, the current offset needs 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".
+
# The offsets and further parameter are defined in the file <code>c:\CPRog\Data\Robots\igus_5DOF_BV\igus_5DOF_BV_AmpParameter.dat</code> 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". If you need help finding the correct file, have a look at [[Which project file is the right one for my robot?]]. The procedure is very similar, except for the file extension, which is <code>.dat</code> here and the <code>AE/ME</code> parameter, which is not part of the filename here.
* Set all offsets to "0.0" and save the file. !!! Attention: Please use only "." (dot) as separator, not "," !!!  
+
# Set all offsets to "0.0" and save the file. !!! Attention: Please use only a "." (dot) as decimal separator, not a "," !!!  
* Start CPRog and connect with the robot controller. The green LEDs on the robot controller should be blinking now.
+
* Start CPRog and "Connect" with the robot control electronics. Most of the [[media:DIN-Rail-Module-LEDs.png|green LEDs]] of the robot control electronics should be blinking now.
* Open the CPRog menu on the circle in the upper left corner and press the button "Configuration / Load Amp Config"
+
* Open the CPRog menu on the circle in the upper left corner and press the menu item "Configuration --> Load Amp Config"
 
* Confirm the upcoming warning, choose the .dat file you just changed and press "OK"
 
* 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.  
+
* 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.
 +
<br clear=all>
  
 
+
=Reference the robot=
----
 
 
 
'''2. Reference the robot'''
 
  
 
Perform a referencing of the robot arm. Follow the instructions on page [[Referencing robolink]].
 
Perform a referencing of the robot arm. Follow the instructions on page [[Referencing robolink]].
  
 +
=Move the robot into zero position=
  
 
+
[[File:Robolink_5SV_ZeroPosition.PNG|400px|thumb|Zero position of the robolink 5DOF SV robot]]
----
 
 
 
'''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.
 
Now we jog the robot arm into the zero position to find the offsets between reference position and zero position.
  
 
* Start CPRog and connect / reset / enable the robot arm
 
* 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.  
+
* Jog the robot into the zero position as shown in the picture on the right. Joint 1 points into +X direction, joint 2 points upwards, joints 3 and 4 point forward into +X direction.  
* 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.
+
* At first move with e.g. 30% [[override]]. Then do the fine tuning with e.g. 5% [[override]]. Use a spirit level to make sure you are in the zero position.
* 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.
+
** Note: the joint '''holes''' define the zero position, not the sheet metal surfaces!
 +
* The fifth axis should be set according to the connected gripper. If no gripper is connected, mark the zero position and set to this.
 
* Press the "Reset" button in CPRog to load the current hardware position.
 
* Press the "Reset" button in CPRog to load the current hardware position.
  
 +
<br clear=all>
  
----
+
=Calculate the offsets=
 
 
'''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.
 
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)
+
* Open the Microsoft Excel file c:\CPRog\Data\Robots\<ROBOT_TYPE>\FindingTheOffset_<ROBOT_TYPE>.xlsx (adapt according to your [[Which project file is the right one for my robot?|robot type]])
 
* Check if the entries regarding the gear ratios are correct. You can find the gear ratios in the igus documentation.
 
* 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"
 
* 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.
 
* In the next column the new offsets are calculated.
  
 
+
=Uploading the offsets to the modules=
----
 
 
 
'''5. Uploading the offsets to the modules'''
 
  
 
Now we set the new offsets in the .dat file and upload them to the modules.
 
Now we set the new offsets in the .dat file and upload them to the modules.
Line 65: Line 60:
  
  
----
+
=Final Test=
 
 
'''6. Final Test'''
 
  
 
The new offsets should be tested if the are correct.
 
The new offsets should be tested if the are correct.
  
* Switch off the robot control and CPRog
+
* Switch off the robot control electronics and CPRog
* After min. 5 seconds start the control and CPRog again
+
* After min. 5 seconds start the control electronics and CPRog again
 
* Connect / Reset / Enable the robot
 
* Connect / Reset / Enable the robot
 
* Reference the robot
 
* Reference the robot
Line 78: Line 71:
  
  
----
+
=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.
  
'''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 [[Support Routes|into contact with us]]
 +
[[Category:CPRog]]
  
  
For questions or comments please get in contact with us: info(at)cpr-robots.com
+
XXX<!-- is this position really the reference position nowadays???-->

Revision as of 18:31, 6 July 2018

The robolink arms provide reference switches which allow a precise and reproducible referencing. The reference switches are inductive switches reacting to metal pins as set points (motor encoder version) or hall-effect sensors reacting to magnets as set points (AE version).

The positions of the sensors at the joints of the robot are not the zero positions of the joints. Each joint module stores an offset value that defines the difference between the reference position and the zero position. The offset values are the number of encoder pulses between these two positions.

When the combination of robot and control electronics have been provided by CPR, then these offsets are already defined in the modules. They are also written down on the quality assurance sheet.

If robot and control have been supplied separately, we wouldn't have been able to do this calibration for you. Therefore 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.

Set the offsets to zero

File:CPRog MenuLoadAmpConfig.PNG
Load Amp Configuration menu entry in CPRog

To find the correct offsets, the current offset needs to be removed.

  1. 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". If you need help finding the correct file, have a look at Which project file is the right one for my robot?. The procedure is very similar, except for the file extension, which is .dat here and the AE/ME parameter, which is not part of the filename here.
  2. Set all offsets to "0.0" and save the file. !!! Attention: Please use only a "." (dot) as decimal separator, not a "," !!!
  • Start CPRog and "Connect" with the robot control electronics. Most of the green LEDs of the robot control electronics should be blinking now.
  • Open the CPRog menu on the circle in the upper left corner and press the menu item "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.


Reference the robot

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

Move the robot into zero position

Zero position of the robolink 5DOF SV robot

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

  • Start CPRog and connect / reset / enable the robot arm
  • Jog the robot into the zero position as shown in the picture on the right. Joint 1 points into +X direction, joint 2 points upwards, joints 3 and 4 point forward into +X direction.
  • At first move with e.g. 30% override. Then do the fine tuning with e.g. 5% override. Use a spirit level to make sure you are in the zero position.
    • Note: the joint holes define the zero position, not the sheet metal surfaces!
  • The fifth axis should be set according to the connected gripper. If no gripper is connected, mark the zero position and set to this.
  • Press the "Reset" button in CPRog to load the current hardware position.


Calculate 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\<ROBOT_TYPE>\FindingTheOffset_<ROBOT_TYPE>.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.

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.


Final Test

The new offsets should be tested if the are correct.

  • Switch off the robot control electronics and CPRog
  • After min. 5 seconds start the control electronics 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.


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 into contact with us


XXX