Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

TCP Definition - Different from Robot

#1
Hello,
I have an evaluation license and I'm trying to use the tool definition setup page.  I'm simultaneously using the same points on the Robot's pendant to teach a new TCP.  However the error mean/max displayed by RoboDK do not match the errors displayed on the robot and the calculated TCP is slightly different.  I should note that since I only have the evaluation license, I must manually enter the joint values (I was told I couldn't get the ABB driver to test).  These are only displayed to 1 decimal point on the pendant. So they are only entered to 1 decimal point in RoboDK.

As an example, here is one calculated with 6 points.  The min/max/mean error shown on the robot is: 
Min: 0.2495628mm
Max: 0.7693406mm
Mean: 0.4408292mm

RoboDK 
Max: 2.623mm
Mean: 1.347mm

Robot TCP (XYZ): 451.2745mm, -1.707628mm, 198.9196
RoboDK TCP (XYZ): 450.890mm, -2.709mm, 197.246mm

I'm using tools that come to a sharp point with a 0.4mm flat at the tip. 

Are the differences I'm seeing due to the fact I'm only entering the joint values to 1 decimal place?  I was able to save the points to a file, but they are in ABB format.  I was going to try to enter them, but the input boxes will not allow pasting of individual values (the paste routine should be updated to detect a single double value and allow the paste).  


tooldef4_6points.png   

robodk_6points.PNG   

tcpmeasure.PNG   

tcpmeasure2.PNG   

tcpmeasure3.PNG   

station file

.zip   ABB6640 RockBot.zip (Size: 2.8 MB / Downloads: 17)

points used

.mod   TCP_tSSTCopy1070_6points.MOD (Size: 1.26 KB / Downloads: 24)
#2
I took a look at the joint values you entered and it looks like you only used one decimal value. This is probably the source of errors in RoboDK. You should use all decimal values when entering the data in the tool definition (ideally 4 decimal values). You should also be able to insert pose values. You can also copy/paste the table in bulk from/to a spreadsheet.

Also, you should still be able to use some basic features of the driver with the free version of RoboDK which should allow you to retrieve the robot joint values.
#3
Hi Albert,
Thanks for looking.  Yes I suspected the lack of decimal places was a problem. I wrote a small program to get the joint values and write them to the pendant with 6 decimal places. Still time consuming to manually enter vs having the drivers.  I emailed asking for the drivers but was told I could not get them for use with the trial.  I don't know what proprietary things the driver is doing, but a trial driver that just supports GetPoint would be ideal. I've wasted so much time manually entering points for TCP and the turntable calibration. 

I've run into a problem now.  I have defined a new reference frame, that represents actual stock ready for milling, but the resulting origin does not match the one calculated on the robot.  Is the only explanation for this, that I must have misentered a joint value when entering the 3 points?  It's off by a fair bit.   My turntable calibration appears to be dead on, the calculated origin matches the real world.  So I'm confused why this reference frame is so off.

The "Stock for Milling" reference frame is the one calculated by Robodk, the "WorkObjAsDefinedOnRobot" is what the robot came up with (and is correct).

Thanks

mismatchedrefframe.jpg   


.zip   ABB6640 RockBot.zip (Size: 2.8 MB / Downloads: 10)
#4
Do you want to use the turntable in synchronization with the robot or is the coordinate system you use for milling attached to the robot base?

The calibration points look good (circular/planar errors are small). The first point determines the X axis (orientation around the Z axis).

If you have the part on the turntable and you want the coordinate system to move with the turntable you should attach it to the turntable item in the tree as shown in the attached project.

By the way, you should be able to copy/paste joint values individually or in bulk and copy/paste them from/to text files or a spreadsheet. In any case, I sent you access to the driver by email.


Attached Files
.rdk   ABB6640 RockBot-v3.rdk (Size: 2.99 MB / Downloads: 5)
#5
Hi Albert,
For this project,the milling is just a simple 3 axis job.  I wanted to start with something straightforward. I've done a few of these simple 3 axis jobs (simple relief) using the ABB post that Fusion provides, but you have to cross your fingers it works as there is no simulation of the robot in Fusion, only the toolpath.  In this case the table is just the thing that the stock is sitting on, there will be no indexing or synchronization movements for this job.  I setup the turntable thinking I might try something more ambitions to start, but figured it's probably better to try an easier milling project just to get the workflow down between Fusion and Robodk.

For pasting values, I was referring to pasting individual values while the format is other than joints (ABB quaternion).  When you teach a TCP or Work Object on the ABB pendant, at the end you have the option to save the points, you can then save to the robot file system and transfer the file to the PC. However they are saved in ABB quaternion format. If I attempted to past the individual XYZQ1234 values into the text boxes I got "Paste is only supported for joint values" error. For the YXZ text box, the value appears in the text box after the error, but for the quaternions it does not. 

   
  




Users browsing this thread:
1 Guest(s)