Difference between revisions of "Referencing robolink"

From Wiki
m (Added category Referencing)
 
(91 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The robolink arms provide reference switches which allow a precise and reproducible referencing. This page shows how the referencing is done and how it can be adapted.
+
The CPRog/iRC Software supports one reference switch per axis, which allows precise and reproducible referencing.  
  
Why is this necessary? The joint electronics store the last position of the robot also during power off. But it might be that the joints are moved by e.g. gravity or manual force when the robot is switched of. Then collisions might occur when a program is started. Therefore the Cartesian motion and starting programs is only allowed when the robot has performed a referencing after start up.
+
When you switch on the robot for the first time, the software does not know what position the hardware (robot) is in.
 +
The control electronics store the last position of the robot also during power off. However, if the joints are moved by e.g. gravity or manual force when the robot is switched off, then the reference position is no longer valid. Hence, collisions might occur when a program is started without prior referencing. Therefore, although you can always jog the joints manually axis by axis, moving the robot in Cartesian mode or starting a program is only possible after initial referencing. This page describes how to do that.
  
 +
=Referencing operation=
 +
[[file:reference_slow_motion.mp4|720px|Video showing the robot carrying out the referencing operation]]
 +
 +
The robot should be jogged manually close to the reference switches, then the referencing is initiated. You will know that the position of an axis is over a reference switch when the yellow LED of the  stepper motor electronics module that controls the axis comes on.
 +
 +
When the referencing operation is initiates in the standard configuration, the axes will perform a motion until the reference switch is triggered.
 +
<br clear=all>
 +
 +
===Step by step instructions for current CProg/iRC versions (980-11-XXX)===
 +
Switch on the robot and start CPRog/iRC
 +
<gallery>
 +
File:Referencing_-3.png|1. Click Connect
 +
File:Referencing_-2.PNG|2. Click Reset
 +
File:Referencing_-1.png|3. Click Enable
 +
File:Referencing_0.png|4. Click Reference
 +
File:Referencing_4.png|5. Click Reference All. Wait until the reference motions have completed and all axes indicate that they are referenced.
 +
File:Referencing_5.png|6. Wait until all axes indicate "Referenced"
 +
File:Referencing_6.png|7. The robot is now referenced and in an error state (position lag). Click Reset
 +
File:Referencing_7.png|8. Click Enable
 +
File:Referencing_8.png|9. The status indicator has now turned green. CLick on the <-- Arrow
 +
File:Referencing_9.png|10. In the status section on the left there are no more red error messages.
 +
</gallery>
 +
 +
The Robot displayed in the software should now have the same joint positions as the real one.
 +
The robot is now ready to operate. It can play programs, and move in Cartesian mode.
 
----
 
----
'''1. Performing a referencing'''
 
  
[[File:CPRog_MenuReferenceRobot.PNG|200px|thumb|Reference Robot menu entry in CPRog]]
+
===Step by step instructions for older CPRog versions (980-10-XXX)===
 +
# Switch on the robot and start CPRog
 +
# Click Connect / Reset / Enable to activate the robot. Now the status light in the left column of CPRog is green.
 +
# Jog the robot arm on the or close to the reference switches using the jog (A1 +/-, A2 +/-,...) buttons at the bottom of the CPRog Window. Indication:
 +
#* The [[media:DIN-Rail-Module-LEDs.png|orange LED]] on the stepper module for the axis that you are moving will light up when the reference point is reached.
 +
#* In the version with motor encoder the reference switch on the robot lights up in yellow color.
 +
# Open the referencing dialog by pressing on the button "Configuration \ Reference Robot" in the menu accessible via the upper left circle (see image on the right). [[File:CPRog_MenuReferenceRobot.PNG|500px|thumb|"Reference Robot" menu entry in CPRog]]
 +
# The motors of the joints have to be ''Enabled'' to start referencing (see first step)
 +
# Reference the first joint:
 +
#* Ensure that the joint can move without collision.
 +
#* Press the "Start Referencing Joint 1" button in the dialog
 +
#* Wait until the reference motion has completed
 +
#* Now the status in front of the button should have changed to "Referenced"
 +
# Proceed with the other joints in the same way. You can also reference several joints at the same time.
 +
# When all joints are referenced, you can close the dialog and proceed to use the robot.
 +
# '''You will need to "Reset" and "Enable" the robot (just like in step 1) after finishing the referencing operation.'''
  
The robot should be jogged manually close to the reference switches, then the referencing is initiated. In the standard configuration the single joints will then perform a sweep motion with increasing amplitude until it finds the reference switch. Then it performs a slower approach motion from both sides of the reference point to precisely find the center of the reference point.
+
That's it. You're done. The robot is referenced. Now you could e.g. run a program.
  
* Switch on the robot and start CPRog
+
====Potential Pitfalls====
* Connect / Reset / Enable the robot. Now the status light on the left corner of CPRog is green.
+
* The joint cannot be jogged to the reference switch due to the joint limit: Set the joint positions to the zero position with the menu button "Configuration / Set Joints to Zero". Then press "Reset" and "Enable" and proceed.
* Jog the robot arm on the or close to the reference switches. Indication:
 
** The orange light on the stepper modules of the the control an on when the reference point is reached
 
** In the version with motor encoder the reference switch on the robot lights up in yellow color
 
* Open the referencing dialog by pressing on the button Configure "Robot \ Reference Robot" in the menu on the upper left circle
 
* The robot has to be enabled to start referencing
 
* Reference the first joint:
 
** Pay attention that the joint can move without collision
 
** Press the "Start Referencing Joint 1" button on the dialog
 
** Wait until the reference motion ended
 
** Now the status in front of the button should be "Referenced"
 
* Proceed with the other joints as with joint 1. You can reference several joint at the same time
 
* When all joints are referenced you can close the dialog and proceed to operate the robot
 
  
 +
=Modifying the reference motion (ADVANCED!)=
 +
'''While the referencing the robot is absolutely necessary for a functioning robot and is normally performed by the user, changing the parameters, as described in this section, is highly discouraged unless major changes have been made to the robot that affect the referencing operation.''' This changes firmware parameters that are better left untouched, unless you really know what you are doing or are happy to play around with the firmware. Take a screenshot before you start changing anything, in this way you can always put back the original parameters by hand, if the robot starts behaving erratically. The firmware should have been set up correctly for you, if you have ordered the control electronics together with a robot, or if you have told us what robot you are using and we have used that robot before.
  
----
+
The robot must be connected to the PC using a [https://www.peak-system.com/PCAN-USB.199.0.html|USB to CAN Adapter]
  
'''2. Adapting the reference motion'''
+
[[File:ModuleCtrl_StepperPage.PNG|500px|thumb|Stepper tab in ModuleCtrl]]
  
The type of reference motion and the parameter can be adapted using the ModuleCtrl tool.
+
The type of reference motion and the parameters can be modified using the [[Config Software ModuleCtrl | ModuleCtrl tool]].
  
The following parameter can be changed:
+
The following parameters can be changed:
 
* Type of reference search motion:
 
* Type of reference search motion:
 
** Straight: Motion in one direction until the reference switch is reached
 
** Straight: Motion in one direction until the reference switch is reached
** Sinus: Sweep motion with increasing amplitude until the reference switch is reached
+
** Sine: Sweep motion with increasing amplitude until the reference switch is reached
 +
** Half: Used for the "disc version" of a joint. - A joint that has no reference pins but has a half-disc instead. The edge of the half-disc is the reference point.
 
** None: No reference motion, the module is tagged as "Referenced" directly after start up
 
** None: No reference motion, the module is tagged as "Referenced" directly after start up
* Referencing from both sides: When checked the module performs a slow search motion to find the edges on both sides of the reference point. It calculates the center out of these values. This procedure provides higher precision.
+
 
 +
* Referencing from both sides: When ticked, the module performs a slow search motion to find the edges on both sides of the reference point. It calculates the center out of these values. This procedure provides higher precision.
 
* Referencing velocities:
 
* Referencing velocities:
** Referencing speed: used for the search motion
+
** Referencing speed: used for the search motion. Sign (+/-) defines direction of movement during referencing.
** Ref speed slow: used for the slow search motion from both sides, when checked
+
** Ref speed slow: used for the slow search motion from both sides, when ticked. Sign (+/-) defines the direction of movement during referencing.
* Sinus parameter:
+
* Sinus parameters:
 
** Sinus ref tics: increase of the amplitude in each cycle
 
** Sinus ref tics: increase of the amplitude in each cycle
 
** Sinus ref max cycles: how many search cycles are performed
 
** Sinus ref max cycles: how many search cycles are performed
Line 47: Line 79:
  
  
[[File:ModuleCtrl_StepperPage.PNG|300px|thumb|Stepper tab in ModuleCtrl]]
+
To change the above parameters, download the [[Config Software ModuleCtrl|ModuleCtrl]] configuration software.
 
+
# Start the ModuleCtrl software.
The parameter can be changed with the software tool ModuleCtrl, to download see this page: [[Config Software ModuleCtrl]].
+
# Press the "Connect" button
 
+
# Choose the module you want to work on: Joint1 = CAN-ID 0x10, Joint2 = CAN-ID 0x20, ...
* Start ModuleCtrl and the robot control
+
# There should be a status message with some error messages now.
* Press the "Connect" button
+
# Switch to the [[Config Software ModuleCtrl#Stepper-Tab|"Stepper"]] tab
* Choose the module you want to adapt: Joint1 = CAN-ID 0x10, Joint2 = CAN-ID 0x20, ...
+
# Press "Read from Board" to transfer the parameters from the board to the software.
* There should be a status message with some error messages now
+
# Change the parameter - !! be careful not to make big changes to the current parameters !! Maybe take a screenshot before you start.
* Switch to the "Stepper" tab
+
# Press "Write to Board" to save the parameter.
* Press "Read from Board" to upload the current parameter
+
# (Power cycle the robot, if you have changed the encoder direction.)
* Change the parameter - !! be careful not to do big changes !!
 
* Press "Write to Board" to save the parameter
 
 
 
 
 
  
  
Line 66: Line 94:
  
 
For questions or comments please get in contact with us: info(at)cpr-robots.com
 
For questions or comments please get in contact with us: info(at)cpr-robots.com
 +
[[Category:robolink]][[Category:ModuleCtrl]][[Category:CPRog]][[Category:CPRog/iRC v980-11-XXX]][[Category:CPRog v980-10-XXX]][[Category:Referencing]]

Latest revision as of 10:42, 1 December 2023

The CPRog/iRC Software supports one reference switch per axis, which allows precise and reproducible referencing.

When you switch on the robot for the first time, the software does not know what position the hardware (robot) is in. The control electronics store the last position of the robot also during power off. However, if the joints are moved by e.g. gravity or manual force when the robot is switched off, then the reference position is no longer valid. Hence, collisions might occur when a program is started without prior referencing. Therefore, although you can always jog the joints manually axis by axis, moving the robot in Cartesian mode or starting a program is only possible after initial referencing. This page describes how to do that.

Referencing operation

The robot should be jogged manually close to the reference switches, then the referencing is initiated. You will know that the position of an axis is over a reference switch when the yellow LED of the stepper motor electronics module that controls the axis comes on.

When the referencing operation is initiates in the standard configuration, the axes will perform a motion until the reference switch is triggered.

Step by step instructions for current CProg/iRC versions (980-11-XXX)

Switch on the robot and start CPRog/iRC

The Robot displayed in the software should now have the same joint positions as the real one. The robot is now ready to operate. It can play programs, and move in Cartesian mode.


Step by step instructions for older CPRog versions (980-10-XXX)

  1. Switch on the robot and start CPRog
  2. Click Connect / Reset / Enable to activate the robot. Now the status light in the left column of CPRog is green.
  3. Jog the robot arm on the or close to the reference switches using the jog (A1 +/-, A2 +/-,...) buttons at the bottom of the CPRog Window. Indication:
    • The orange LED on the stepper module for the axis that you are moving will light up when the reference point is reached.
    • In the version with motor encoder the reference switch on the robot lights up in yellow color.
  4. Open the referencing dialog by pressing on the button "Configuration \ Reference Robot" in the menu accessible via the upper left circle (see image on the right).
    "Reference Robot" menu entry in CPRog
  5. The motors of the joints have to be Enabled to start referencing (see first step)
  6. Reference the first joint:
    • Ensure that the joint can move without collision.
    • Press the "Start Referencing Joint 1" button in the dialog
    • Wait until the reference motion has completed
    • Now the status in front of the button should have changed to "Referenced"
  7. Proceed with the other joints in the same way. You can also reference several joints at the same time.
  8. When all joints are referenced, you can close the dialog and proceed to use the robot.
  9. You will need to "Reset" and "Enable" the robot (just like in step 1) after finishing the referencing operation.

That's it. You're done. The robot is referenced. Now you could e.g. run a program.

Potential Pitfalls

  • The joint cannot be jogged to the reference switch due to the joint limit: Set the joint positions to the zero position with the menu button "Configuration / Set Joints to Zero". Then press "Reset" and "Enable" and proceed.

Modifying the reference motion (ADVANCED!)

While the referencing the robot is absolutely necessary for a functioning robot and is normally performed by the user, changing the parameters, as described in this section, is highly discouraged unless major changes have been made to the robot that affect the referencing operation. This changes firmware parameters that are better left untouched, unless you really know what you are doing or are happy to play around with the firmware. Take a screenshot before you start changing anything, in this way you can always put back the original parameters by hand, if the robot starts behaving erratically. The firmware should have been set up correctly for you, if you have ordered the control electronics together with a robot, or if you have told us what robot you are using and we have used that robot before.

The robot must be connected to the PC using a to CAN Adapter

Stepper tab in ModuleCtrl

The type of reference motion and the parameters can be modified using the ModuleCtrl tool.

The following parameters can be changed:

  • Type of reference search motion:
    • Straight: Motion in one direction until the reference switch is reached
    • Sine: Sweep motion with increasing amplitude until the reference switch is reached
    • Half: Used for the "disc version" of a joint. - A joint that has no reference pins but has a half-disc instead. The edge of the half-disc is the reference point.
    • None: No reference motion, the module is tagged as "Referenced" directly after start up
  • Referencing from both sides: When ticked, the module performs a slow search motion to find the edges on both sides of the reference point. It calculates the center out of these values. This procedure provides higher precision.
  • Referencing velocities:
    • Referencing speed: used for the search motion. Sign (+/-) defines direction of movement during referencing.
    • Ref speed slow: used for the slow search motion from both sides, when ticked. Sign (+/-) defines the direction of movement during referencing.
  • Sinus parameters:
    • Sinus ref tics: increase of the amplitude in each cycle
    • Sinus ref max cycles: how many search cycles are performed
  • Offset at end switch: This position is set when the end switch is reached, see Define the zero position offsets.


To change the above parameters, download the ModuleCtrl configuration software.

  1. Start the ModuleCtrl software.
  2. Press the "Connect" button
  3. Choose the module you want to work on: Joint1 = CAN-ID 0x10, Joint2 = CAN-ID 0x20, ...
  4. There should be a status message with some error messages now.
  5. Switch to the "Stepper" tab
  6. Press "Read from Board" to transfer the parameters from the board to the software.
  7. Change the parameter - !! be careful not to make big changes to the current parameters !! Maybe take a screenshot before you start.
  8. Press "Write to Board" to save the parameter.
  9. (Power cycle the robot, if you have changed the encoder direction.)



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