General Tips

General Tips

This section covers the following topics:

o   How to Calibrate a Tool (TCP)

o   How to Calibrate a Reference Frame

o   Tips for Collision Detection

o   Tips Importing STEP or IGES files

o   How to change the Simulation Speed

o   How to calculate the Cycle Time of a program

Define a Tool (TCP)

The robot Tool Center Point (or TCP) is the point used for robot positioning in any robot program that involves targets defined in the Cartesian space. The TCP is defined as a transformation from the robot flange. Defining the right TCP is important in any robot application either if it involves Offline Programming or not.

Follow these steps to define or calibrate a robot tool (Tool Center Point, or TCP):

1.    Select UtilitiesGeneral - Image 1 Define Tool Frame (TCP)

2.    Select the Tool to define/calibrate.    
Alternatively, right click a tool and select General - Image 2 Define TCP.

3.    Select the method:

a.    Touching a point with the tip of the TCP, using different tool orientations (Calib XYZ by point)

b.    Touching a plane with the TCP, using different tool orientations (Calib XYZ by plane). The TCP can be a point or a sphere.

General - Image 3

Note: Touching the same point using different orientations (first method) is the same method most robot controllers have available on the teach pendant. Use RoboDK to get a better idea of the TCP errors.

Note: If the center of a sphere needs to be calculated it is recommended to use a plane to define the TCP. This method automatically retrieves the center of the touch probe.

4.    TCP calibration using joint values is the default setting. Change it to poses if you have the Cartesian targets.

Important: If the TCP is defined using poses, the position of the robot flange must be provided as a pose (position and orientation), with respect to the robot base or a reference frame. More information on how to provide these values in the Reference Frames section.

Tip: It is possible to use more than 3 or 4 configurations to properly define or calibrate the TCP. This allows obtaining a more accurate result and provides a good estimate of the TCP error. It is recommended to use 8 points or more to define a TCP accurately, or 3 points if accuracy is not important.

5.    Select the robot if more than one robot is available.

6.    Adjust the number of points that you would like to use to calibrate the TCP. This value can also be modified later.

7.    Start filling the table with the measured configurations (joint values or position and orientation of the flange).

Tip: The list of configurations can be filled manually or by using the copy/paste buttons (on the right of each line).

Important: It is recommended to provide each joint value with at least 4 decimals (when providing joint values). The allowed number of decimal values can be changed in ToolsOptionsAccuracyMax Decimals.

Tip: It is also possible to select Get p1 to get the current joint values from the real robot to RoboDK. If the robot driver has properly been set up you can easily obtain this position on the PC. More information available in the Robot Drivers Section.

Important: It is recommended to keep a separate copy of the values being provided. Select Copy data and Paste data to copy/paste all the contents.

General - Image 4

8.    Finally, select Update to apply the new position tool selected in the RoboDK Station.

Note: The new tool (TCP) is calculated automatically once the values have been entered.

Tip: Some useful error statistics are provided as the mean error, standard deviation (std) and maximum error. Select Show errors to display a graphic with the errors for each point against the calculated average. Since this method involves a lot of manual operations it is common to introduce errors in specific points. To isolate these errors, we can iteratively delete the points that shows a larger error compared to the average.

As an example, the following image shows the errors before point 6 was deleted by selecting the Remove p6 button.

General - Image 5

Define a Reference Frame

A Reference Frame defines the position of an object with respect to a robot (position and orientation). Most Offline Programming applications require defining a reference frame to locate an object with respect to a robot.

More information about reference frames is available in the Getting Started Section.

Defining a reference frame requires probing some points using a robot tool (the joint values need to be retrieved at specific locations).

Important: Properly define the TCP before identifying the reference frame (unless you use points measured from an external measurement system). This is important because the Reference Frame is identified using the robot kinematics. This also applies if you retrieve points from the robot teach pendant. Any errors coming for the tool calibration (TCP) will be transferred to the identification of the turntable position.

Note: It is also possible to use an external measurement system such as a laser tracker to accurately define reference frames.

Follow these steps to identify a reference frame with respect to the robot:

1.    Select UtilitiesGeneral - Image 6 Define Reference

2.    Select the Reference Frame to define/calibrate.       
Alternatively, right click a Reference Frame and select General - Image 7 Define Reference Frame.

3.    Select the method:

a.    3-point method (with the 3rd point crossing the Y+ axis)

b.    3-point method (with the 1st point being the origin of the reference frame)

c.     6-point

d.    The Turntable Calibration option allows locating the reference frame on a turntable, having the turntable axis properly aligned

General - Image 8

Note: Robot controllers usually accept defining reference frames using one of the listed 3-point from the teach pendant.

4.    Joint values are used as the default setting. Change it to points if you have the XYZ position of each point with respect to the robot base frame.

5.    Select the robot if more than one robot is available.

6.    Start filling the table with the measured points (joint values or points).

Tip: The list of configurations can be filled manually or by using the copy/paste buttons (buttons towards the right of each line).

Tip: If you are connected to the robot you can select the “Get p” buttons to retrieve the robot joints directly from the robot. More information to set it up is available in the Robot Drivers Section. This option is not available for all robots and it may require additional software options sold by the robot manufacturer.

Important: If you enter the values manually it is recommended to provide each joint value with at least 4 decimals (when providing joint values). The allowed number of decimal values can be changed in ToolsOptionsAccuracyMax Decimals.

Note: RoboDK will keep a copy of the provided data in the RDK station once you select update.

General - Image 9

7.    Finally, select Update to apply the new position to the reference frame selected in the RoboDK Station.

Note: The Reference Frame is calculated automatically once the values have been entered.


 

Align object with reference

This section explains how the reference frame (coordinate system) of an object can be aligned with respect to its own geometry. This section allows moving the reference frame of an object to a location that can be identified in a real setup.

Note: It is not required to follow this procedure if the reference frame of an object is already placed in a location that can be probed by the robot TCP.

Follow these steps to virtually align the reference frame of an object according to specific points of the object geometry:

1.    Load the object

2.    Select the active General - Image 10 Station

3.    Select ProgramGeneral - Image 11 Add Reference Frame.                    
Make sure the reference frame is directly attached to the station root (not to other Reference Frames).

4.    Right click the reference frame and select General - Image 12Calibrate Reference Frame.           
The procedure is very similar to the previous section. The main difference is that we must select the points of the virtual object instead of the real object.

5.    Select the desired calibration method.          
For example: The 3-point method (with the 3rd point crossing the Y+ axis).

6.    Select Calibrate using points

7.    Select Tools➔Measure to open the Measurement Tool

8.    Select the Absolute button in the Measurement Tool so that the points are measured with respect to the Station (absolute reference)

9.    Select the 3 points on the virtual object (one by one) and enter them in the Reference Frame calibration window

Tip: copy/paste the XYZ coordinates using the corresponding buttons.

10.  Select Update. The reference frame should appear at the desired location.

11.  Right click the object and select Change support. Then, select the new reference frame. The absolute position of the object will not change. However, the relative position of the object with respect to the new reference frame will be properly defined.

12.  The object and its own reference are ready for Offline Programming: Drag and drop the new reference frame to the robot reference frame.

Important: It is important have the reference frame directly attached to the station root so that we can use absolute measurements using the Measurement Tool.

Tip: It might be easier to create a new station on the side (select FileNew Station) and align the object with the reference frame separately. Then, copy/paste only the object to the main RoboDK Station.

General - Image 13

Align robot references

This section explains how two or more robots can be programmed offline while sharing a common reference frame.

In a typical offline programming application, the position of the object is updated with respect to the robot. However, when two or more robots are used for the same application, the position of each robot must be updated with respect to one common reference (a reference object or a common reference frame).

Follow these steps to update the position of two or more robots with respect to a reference frame:

1.    Make sure the robot reference frames and the object reference frame do not depend on each other. If there is a dependency we should place the reference frames attached to the station item.

2.    Add a new reference frame attached to each of the robot base frames as if you were going to define a new individual reference frame for each robot (Real Ref. A and Real Ref. B).      
This reference frame will represent the real location of the part with respect to each robot.

3.    Calibrate each of these reference frames (Real Ref. A and Real Ref. B), separately, using the standard Reference Calibration procedure (3-point method for example)

At this point we will see 3 reference frames that should be coincident, but they are not. The reference frame of each robot must be updated to fix this issue:

4.    Double click one of the robot references, such as Robot A Base to open the reference frame window

5.    Copy the position of the robot base reference with respect to the calibrated reference of that robot (Real Ref. A), by selecting the copy button

6.    In the same window, change the Reference position with respect to (dropdown) to the Reference Object

7.    Paste the copied position. The robot will be moved and the Real Ref. A will be coincident with the Reference Object frame

8.    Repeat steps 4-7 of this procedure for the other robots, if any

At the end of this procedure all reference frames should match and the relationship between all the calibrated references and the Reference Object should be the same.

General - Image 14

Calibrate a Turntable

The Reference Frame definition utility described in the previous section provides two ways to calibrate the position of a turntable with respect to a robot. The calibration/identification of the turntable can be done using the robot with a properly defined tool or a measurement system (such as a laser tracker).

We need to retrieve the position of one point in the turntable multiple times as we move the turntable axes. We currently support calibrating 1-axis and 2-axis turntables.

Important: Properly define the TCP before identifying the reference frame (unless you use points measured from an external measurement system). This is important because the Reference Frame is identified using the robot kinematics. This also applies if you retrieve points from the robot teach pendant. Any errors coming for the tool calibration (TCP) will be transferred to the identification of the turntable position.

Calibrate a 1-axis Turntable

Follow this procedure to calibrate a 1 axis turntable.

1.    Select UtilitiesGeneral - Image 15 Define Reference

2.    Select the Reference Frame to define/calibrate.       
Alternatively, right click a Reference Frame and select General - Image 16 Define Reference Frame.

3.    Select the method Turntable Calibration (1 Axis)

General - Image 17

4.    Select Calibrate using joints (default setting). You can change it to points if you have the XYZ position of each point with respect to the robot base frame.

5.    Specify the robot if more than one robot is available in the station.

6.    Select the number of points you would like to take (the minimum required is 3).

Important: You should probe the same point of the turntable, with the robot, as you move the turntable. The turntable needs to be moved in the positive sense of rotation (as shown in the previous picture). It is recommended to use a minimum of 6 to 10 points to have a better understanding of the errors involved in moving the turntable.

Important: The first point will define the X axis of the turntable (static reference).

Important: The XY plane of the calibrated reference frame will match the plane described by the arc/circle. You may need to adjust this offset if you didn’t take the points in that plane. For example, you can add a new reference frame nested to the calibrated reference frame to represent the root of the turntable.

7.    Start filling the table with the robot joint positions (or points).

General - Image 18

Tip: The list of configurations can be filled manually or by using the copy/paste buttons (buttons at the right of the joint values).

Tip: If you are connected to the robot you can select the “Get p” buttons to retrieve the robot joints directly from the robot. More information to set it up is available in the Robot Drivers Section. This option is not available for all robots and it may require additional software options sold by the robot manufacturer.

Important: If you enter the values manually it is recommended to provide each joint value with at least 4 decimals (when providing joint values). The allowed number of decimal values can be changed in ToolsOptionsAccuracyMax Decimals.

Note: RoboDK will keep a copy of the provided data in the RDK station once you select update.

8.    Finally, select Update to apply the new position to the reference frame selected in the RoboDK Station.

9.    Select Show Errors to display the error level at each point (the distance errors are equivalent to the planar errors and the radial errors combined)

General - Image 19

Calibrate a 2-axis Turntable

Follow this procedure to calibrate a 2-axis turntable.

1.    Select UtilitiesGeneral - Image 20 Define Reference

2.    Select the Reference Frame to define/calibrate.       
Alternatively, right click a Reference Frame and select General - Image 21 Define Reference Frame.

3.    Select the method Turntable Calibration (2 Axes)

General - Image 22

4.    Select Calibrate using joints (default setting). You can change it to points (instead of joints) if you have the XYZ position of each point with respect to the robot base frame.

5.    Specify the robot if more than one robot is available in the station.

6.    Select the number of points you would like to take (the minimum required is 6 points: 3 points for each axis).

Important: You should probe the same point of the turntable, with the robot, as you move the turntable. The turntable needs to be moved in the positive sense of rotation for each axis. You should first move axis 1, then, axis 2 (as shown in the previous picture). It is recommended to use a minimum of 12 to 20 points to have a better understanding of the errors involved in moving the turntable.

Note: The number of points used to identify axis 1 doesn’t need to match the number of points used to identify axis 2 (for example, you can use 4 points to identify axis 1 and 6 points to identify axis 2).

Important: The Z axis of the calibrated reference will match axis 2. The X axis of the calibrated reference will match the common normal. Also, the origin of the calibrated reference will be placed at the intersection between axis 2 and the common normal (point on axis 2 that is closest to axis 1).

7.    Start filling the table with the robot joint positions (or points).

General - Image 23

Tip: The list of configurations can be filled manually or by using the copy/paste buttons (buttons at the right of the joint values).

Tip: If you are connected to the robot you can select the “Get p” buttons to retrieve the robot joints directly from the robot. More information to set it up is available in the Robot Drivers Section. This option is not available for all robots and it may require additional software options sold by the robot manufacturer.

Important: If you enter the values manually it is recommended to provide each joint value with at least 4 decimals (when providing joint values). The allowed number of decimal values can be changed in ToolsOptionsAccuracyMax Decimals.

Note: RoboDK will keep a copy of the provided data in the RDK station once you select update.

8.    Finally, select Update to apply the new position to the reference frame selected in the RoboDK Station.

9.    Select Show Errors to display the error level at each point (the distance errors are equivalent to the planar errors and the radial errors combined)

General - Image 24

 


 

Collision Detection

Select ToolsGeneral - Image 25 Check collisions to activate/deactivate collision detection. If collision detection is activated, all programs and robot movements will be stopped when a collision is detected. This is the default behavior and it can be changed in the ToolsOptionsMotion menu (uncheck the option Stop robot movements when a collision is detected).

By default, RoboDK checks collisions between all moving objects in the station, including all robot links, objects and tools. As an exception, consecutive robot joints are not checked for collisions as they are always in contact.

It is possible to specify if the interaction between any pair of objects is checked for collisions by selecting ToolsGeneral - Image 26 Collision map. This will open a new window displaying all the relationships and the check state. Double click each cell to activate or deactivate collision checking. Select Set default selection to automatically set up a conservative selection.

Tip: Double click the case in the diagonal to check/uncheck collisions for a specific object against all the other objects.

Tip: If the simulation slows down because of collision checking it may be better to reduce the number of checks to use less computer power used for collision checking.

General - Image 27


 

Importing STEP and IGES files

STEP and IGES files are two formats supported by RoboDK. STEP and IGES files are parametric 3D files. Other formats are also supported.

Importing STEP or IGES files can take a long time if the file is large or complex. In this case, it is possible to reduce the time it takes to import these files in the ToolsOptionsCAD menu and select Fast Import Settings.

General - Image 28

This option will update the default settings to import these parametric files much faster. On the other hand, curve edges will not be imported, and the accuracy of the surfaces might not be as smooth.

Tip: Increase the Linear/Angular accuracy of the surface to import files faster. Decrease these values to improve the accuracy of the imported objects.

More information available regarding import settings in the CAD menu.

Faster frame rate

Importing large 3D files can reduce the frame rate and slow down the simulation (see previous section). You can follow these steps to improve the simulation speed and have a faster frame rate.

1.    Select: Tools➔OptionsDisplay

2.    Select Best Performance. Also Selecting Use GPU arrays may provide faster results if you have a dedicated graphic card.

General - Image 29

3.    You can also select Simplify Object… and select the object you want to simplify. This option does not alter the accuracy of the display, however, you may not be able to change the colors of each individual surface.

Tip: After you select Simplify Object… select the root of the station to simplify all objects and robots in your cell.

Tip: Select ToolsOptionsDisplay and check Render time to display the frame rate and the time it takes to display the screen. The frame rate is displayed at the bottom left of the screen.


 

Simulation Speed

The simulation speed (or the simulation ratio) is how fast RoboDK simulates a real motion. A simulation ratio of 1 means that a movement that takes 1 second on a real robot will take 1 second to simulate.

RoboDK simulates 5 times faster than real time by default. That means that a program that takes 5 seconds to execute on the real robot it will be simulated in 1 second. Speeding up the simulation increases this ratio to 100. Normal and fast simulation speeds can be changed in the ToolsOptionsMotion menu.

Tip: Select ProgramGeneral - Image 30 Fast simulation to speed up the simulation (or hold the space bar). This option is also available in the toolbar. Alternatively, hold the spacebar to simulate with the fast simulation speed.

Tip: Select the Backspace key or ProgramGeneral - Image 31 Pause program to pause the program so that it can be resumed from the same location.

Cycle Time

RoboDK can accurately calculate the cycle time assuming the robot makes accurate point to point movements, without smoothing corners.

Some parameters need to be considered to accurately calculate cycle time in RoboDK. It is important to note that with speeds and accelerations close to the robot limits, the real speeds and acceleration will highly depend on the robot payload and position of the robot, therefore, the cycle time software calculation will be an estimate.

The robot speed and acceleration are important as they are robot dependent. The robot speed and accelerations (linear and joint speed/acceleration) must be provided as an instruction or in the robot parameters menu. For example, you can change the speed in a program using ProgramSet Speed Instruction. RoboDK assumes that the robot has a uniform acceleration up to when it reaches the maximum speed, then, uniform deceleration. By default, RoboDK uses joint speed and joint acceleration for joint moves and linear speed and linear acceleration for linear moves. This setting can be changed (in ToolsOptionsMotionMove time calculation).

General - Image 32

Note: In the Motion settings section (ToolsOptionsMotion tab) it is possible to specify how the joint/linear speeds/accelerations are applied to joint and linear movements, with the right timing, and calculate the cycle time accurately. For example, Universal Robots use Linear speeds and accelerations for linear movements and joint speeds and accelerations for joint movements (default setting in RoboDK). Other robot controllers might apply the strictest constrain. Other robot manufacturers might not allow providing numeric acceleration values.

Note: As stated in the Simulation Time section, RoboDK simulates 5 times faster than real time by default. This setting can be changed in ToolsOptionsMotion menu.

Synchronize external axes

It is possible to synchronize a robot arm with external axes. External axes can be simply used as a positioner or they can also be synchronized with the same robot controller. When external axes are synchronized, the robot and the axes can move at the same time while keeping accurate linear movements relative to the programed path. Not all robot controllers support the synchronization of the robot arm with external axes.

To synchronize a robot arm with external axes:

1.    Build a RoboDK station placing the robot and axes/mechanisms in their location

Note: If a rail is used, it is required to place the robot attached to the rail, as shown in the following image.

Tip: If required, use additional reference frames to move objects with respect to each other.

2.    Select UtilitiesSynchronize External Axes

3.    Select the robot and the available turntable and/or linear track will be available to synchronize with the robot

4.    Select OK. A new robot panel will open showing the additional axes in blue

Targets related to this synchronized robot will show additional joint values in blue. It is possible to specify the preferred position of a positioner when a program is generated. Cartesian targets will keep the provided Cartesian position while moving the external axes along the path.

Any robot machining settings will show additional options to provide the preferred position of the external axes. Also, each movement exported through the post processor will include the position of the external axes.

Tip: Double click the robot axis limits in the robot panel to update the robot joint limits.

Tip: If the external axis is not available in the library. It is possible to model additional axes in the menu UtilitiesModel mechanism or robot.

General - Image 33