Hi Guy,
I believe your issue is quite simple, but to be sure I need to ask a few questions.
How familiar are you with defining a BASE DATA on the robot ?
This involves using a calibrated tool on the robot (the robot must know the length of the tool, that is XYZ coordinate of the tool tip) and measuring a Base by 3 points.
Measuring a base by 3 points will define the location of the coordinate system, and this should be on the part. Same position and orientation as your setup inside Fusion.
i.e. output workplane MUST be in same position & orientation on the part as the BASE DATA defined on the real robot.
What this translates to is:
The Base Data will be filled in with the offset and orientation of the workplane (X,Y,Z,A,B,C).
XYZ = the origin of the workplane (it's position)
ABC = orientation
So if the base has been measured and by 3 points, the controller will store the location (xyz offset).
If it has not been taught, it will be filled in by default as (0,0,0,0,0,0), and this is the same as the robot ZERO (at the base) because NO OFFSET has been defined. Image above should make it clear.
My Guess is:
- the base data on the robot you are using has not been defined on the part.
or
- the program you wrote does not define the same base defined on the robot controller
This would explain why the robot moves towards it's own physical base ! The coordinate in the program states X=0, so if the BASE DATA is set to ZERO offset, then the robot it will have to go there!!! I hope it makes sense.
Does this help?
If you need any further information or details let me know.
Alexandre Pinto
Process Specialist