General Tips

This section covers the following topics:

   How to Calibrate a Tool (TCP)

   How to Calibrate a Reference Frame

   Tips for Collision Detection

   Tips Importing STEP or IGES files

   How to change the Simulation Speed

   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

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

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).

General - Image 4

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

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).

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

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).

General - Image 9

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


 

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.

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 ToolsMeasure 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

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.

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.

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).

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

General - Image 18

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).

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

General - Image 23

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

 


 

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 25

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.

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: ToolsOptionsDisplay

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

General - Image 26

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.


 

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.

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 29

Create a Mechanism or a Robot

You can create new mechanisms or robots in RoboDK by following these steps:

1.Select UtilitiesModel Mechanism or robot.

2.Select the type of mechanism or robot you want to create.

3.Select the coordinate system that represents the origin of your mechanism.

4.Select one object for each joint (moving part of the mechanism or robot).

5.Enter the robot parameters as described in the corresponding image.

6.Select Update to see the new mechanism.

General - Image 30

You can also modify existing mechanisms by right clicking the robot item in the tree and selecting Modify robot. This option is available for robots and mechanisms that you created yourself.

General - Image 31

You can create the following types of mechanisms and robots in RoboDK:

     One rotative axis (a turntable or a gripper)

     Two rotative axes (for example: a 2-axis positioner)

     One linear axis (such as a linear rail)

     Two linear axes (such as a T-bot)

     Three linear axes (such as an H-bot)

     One linear axis + one rotative axis

     Two-finger grippers

     Scara robots (4-axis)

     Six-axis robot arms

     Seven-axis robot arms

How to model a 1-axis turntable

Follow these steps to model a 1-axis turntable:

1.Select Program➔Add Reference Frame.

2.Select the reference frame and select F2 to rename it to Turntable Base Ref.

3.Load the 3D models of the turntable: drag and drop 3D models to the RoboDK window (such as STL, STEP or IGES files).

General - Image 32

4.Select Utilities➔Model Mechanism or Robot.

5.Select 1 rotative axis.

6.The reference frame and the object items should be automatically populated. If the automatic selection is not correct you can update it accordingly.

7.You can update the joint limits, for example, if we want to have +/-20 turns we can enter +/-7200 deg. You can also change the joint limits later by double clicking the joint limit labels of the robot panel.

General - Image 33

8.Select Update to generate the mechanism: the new mechanism will appear.

9.You can select OK to close the menu or add additional changes to your turntable if required.

10.  You can delete the original object files you used to create the mechanism. The mechanism will be saved with your RDK project and it does not require any external dependencies.

General - Image 34

How to model a 6-axis robot arm

The following video shows how to model a 6-axis ABB robot.

How to model a 3-axis Cartesian robot

The following video shows how to model a 3-axis Cartesian robot (H-bot) such as a Gudel gantry system.

Synchronize Additional Axes

It is possible to synchronize a robot arm with additional 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.

You can synchronize up to 6 additional axes with any robot using RoboDK. If you are using a 6-axis robot this means you can have a combined system with 12 axes.

To synchronize a robot arm with external axes:

1. Load your additional axis from our library or model it as a new mechanism.

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

3. Select UtilitiesSynchronize External Axes.

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

5. 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.

General - Image 35

Optimize External Axes

You’ll see additional options to optimize your robot machining projects when you have one or more additional axes synchronized with your robot. You can select More Options in the Axes Optimization section to activate external axes optimization options.

General - Image 36

You can provide different settings and weights corresponding to the following criteria:

     Maintain reference joints: You can impose a desired axis position for some or all joints. Higher weights mean it is more likely to match the reference value anytime during the program.

     Minimize motion (match previous position): You can impose a “penalty” to moving certain axes abruptly.

For example, if you select the Maintain Robot Reference preset, you’ll see the position reference is updated to match the current position of the robot axes. You’ll also see the robot joints have a certain weight (100) whereas the external axes have no weight (no preference). On the other hand, external axes will have a small weight (5) to prevent them from doing sudden or undesired movements.

You can change these settings to obtain the desired effect after you update your robot machining project.