09-12-2022, 08:06 AM
The best practice highly depends on your project, application and controller. With RoboDK calibration tools you can define tools (TCPs) and reference frames. This is more or less the same operations you could perform with some robot controllers to define your tools and coordinate systems.
If you are concerned about accuracy, the defining the tool in RoboDK allows you to enter more than the standard 4 points and you can get a more accurate definition of your TCP. You can also get a better understanding about errors you can expect with your system.
If you defined your tools and coordinate systems with RoboDK (using the Define tool/reference frame option under Utilities, using a product such as TwinTool to self calibrate the TCP or TwinTrack to define your coordinate system, using custom probing, using the 3D models), the default program export should have the correct definition of your tool and reference frame by default.
If you define your tools and coordinate systems using the robot controller you can simply copy their definitions in RoboDK (XYZABC) and they'll be exported the same way you have them defined in your robot controller. Also, with some controllers it is common practice to use indexed tools and frames (such as BASE_DATA[id] / TOOL_DATA[id] for KUKA, UFRAME/UTOOL for Fanuc, etc). If you prefer using the references and tools defined in your robot controller you can simply rename your tools and references in RoboDK to end with a number (example Tool 2). This number is passed to the post processor and this index is used by default with some post processors. This way you will always use the latest definition of your tool and coordinate system of your controller.
You can use as many frames as you need. One frame is the minimum unless you want to export your targets with respect to the robot base. Having 2 frames like you mentioned allows you to adjust offsets like you mentioned. On the other hand, it is normal to see 1-2 mm errors with robots unless you pay close attention on how you calibrate your tool and coordinate system.
It is very important to define your coordinate system after you properly calibrate your tool. If you can share more information about what process you followed to see that 1-2 mm error we can better help you troubleshoot to improve accuracy. For example, I would recommend defining your tool using 10 points using RoboDK and seeing what error statistics you get.
If you are concerned about accuracy, the defining the tool in RoboDK allows you to enter more than the standard 4 points and you can get a more accurate definition of your TCP. You can also get a better understanding about errors you can expect with your system.
If you defined your tools and coordinate systems with RoboDK (using the Define tool/reference frame option under Utilities, using a product such as TwinTool to self calibrate the TCP or TwinTrack to define your coordinate system, using custom probing, using the 3D models), the default program export should have the correct definition of your tool and reference frame by default.
If you define your tools and coordinate systems using the robot controller you can simply copy their definitions in RoboDK (XYZABC) and they'll be exported the same way you have them defined in your robot controller. Also, with some controllers it is common practice to use indexed tools and frames (such as BASE_DATA[id] / TOOL_DATA[id] for KUKA, UFRAME/UTOOL for Fanuc, etc). If you prefer using the references and tools defined in your robot controller you can simply rename your tools and references in RoboDK to end with a number (example Tool 2). This number is passed to the post processor and this index is used by default with some post processors. This way you will always use the latest definition of your tool and coordinate system of your controller.
You can use as many frames as you need. One frame is the minimum unless you want to export your targets with respect to the robot base. Having 2 frames like you mentioned allows you to adjust offsets like you mentioned. On the other hand, it is normal to see 1-2 mm errors with robots unless you pay close attention on how you calibrate your tool and coordinate system.
It is very important to define your coordinate system after you properly calibrate your tool. If you can share more information about what process you followed to see that 1-2 mm error we can better help you troubleshoot to improve accuracy. For example, I would recommend defining your tool using 10 points using RoboDK and seeing what error statistics you get.