Hi
Yes, is the equivalent function
Tool_Offset PR[x]
The displacement is stored in the PR[x]
position register
Sent from my iPhone using Tapatalk
Hi
Yes, is the equivalent function
Tool_Offset PR[x]
The displacement is stored in the PR[x]
position register
Sent from my iPhone using Tapatalk
When I do the calibration program it always uses UFrame 0. When I apply the offset i do it to the robot itself as my object/part is a cradle that is in a horizontal position and applying the offset to it would ruin the position when it needs to rotate. When I do the calibration program creates my 3 point program I need to change it to use the UFrame that im using?
The CALibration program is generated using the current active TOOL Frame and USER FRAME 0
When Roboguide re-calculates your Application programs points, it checks what USER FRAME was used
Then it reads the USER FRAME parameters to do the math
That's why when you transfer the Application program to the real robot, you should also transfer the USER FRAME parameters if different.
Ideally you make the USER FRAMEs equal before any calibration, either changing the virtual frame to match the real or vice versa.
I played with the calibration function:
Created a fixture and linked USER FRAME 1 to it
Created a TEST program using USER FRAME 1 and made a copy (TEST_copy)
Using the calibration function:
Step 1 Roboguide generated CAL1 program (USER FRAME 0)
Touched up the calibration program inside the virtual cell
Step 2 saved the program
Just to keep the original program I manually printed the CAL program to MC : CAL1.ls
Here you save the CAL1.tp program to a usb, load it in the real robot
touch up the points and copy the program back to the MC directory of the virtual robot
STEP 3
Loaded the calibrated program
Applied the offset to the fixture (or to the robot)
I selected the TEST program for shifting
The results:
The fixture was moved correctly
Since the USER FRAME 1 is linked to the fixture,
the TEST_copy program was shifted correctly even though it was not selected to apply the offset.
The original TEST program was double shifted because the offset was applied both to the program
and to the USER FRAME 1 indirectly
I created a second program using USER FRAME 2 (not linked to the fixture)
and applied the offset correctly
Conclusions
Calibration adjusts the relative position of objects with respect to the robot
It also applies the offset to programs leaving the USER FRAME unaffected
(unless it is attached to the calibrated object)
Since the positions are recalculated to work with the virtual USER FRAME,
the real USER Frame difinition MUST match
The model geometry should be as close as possible to the real object
When you touch up the position in a motion instruction
the symbol @ appears before the line number
That means that the robot is at the programmed position
The position values X,Y,Z,W,P,R are stored in USER coordinates
Check the robot position by pressing POS key
check that the values displayed in USER coordinated are the same as the values stored in the position
There are several videos that explain how to setup iRvision applications
There are two offset instructions:
OFFSET_PR[]
TOOL_OFFSET_PR[]
You can use both, one for the offsets in the plane and the other for the vertical (z) offsets
For this to work, keep the tool aligned with the user frame so the offsets add up correctly
Initialize your position registers and offset distances
PR[1]=LPOS
PR[1]=PR[1]-PR[1]
PR[2]=PR[1]
R[11]=X
R[12]=Y
R[13]=Z You probably need to use a negative value, if your TOOL +z axis points downward
PR[2,3]=R[13]
FOR R[1]=1 TO 20
FOR R[2]=1 TO 9
L P[1] 100 mm/sec CNT 20 OFFSET_PR[1] TOOL_OFFSET_PR[2]
L P[1] 100 mm/sec FINE OFFSET_PR[1]
WAIT 0.5 sec
L P[1] 100 mm/sec CNT 20 OFFSET_PR[1] TOOL_OFFSET_PR[2]
PR[1,1]=PR[1,1]+R[11]
END_FOR
PR[1,2]=PR[1,2]-R[12]
R[11]=R[11]*-1
PR[1,1]=PR[1,1]+R[11]
END_FOR
USER frame definition MUST be done BEFORe
Because the calibration program is created using the Frame
Then when you load the touched up calibrated program the offset is calculated to update the object/part position
Sent from my iPhone using Tapatalk
In the Ethernet/IP List (Rack 89)
Type the module Description
Choose SCN (Scanned device)
Then press CONFIG [F4]
Input the Name or IP address
Vendor id 108 (from EDS)
Device Type 12 (from EDS)
Product type 9055 (from EDS)
Inputs words (number of input modules)
Output words (number of output modules)
RPI 32
Assembly instance (input) 101 (from EDS)
Assembly instance (output) 102 (from EDS)
Configuration instance 0
In advanced parameters ADV [F2]
Choose the I/O Data type : 8 or 16 but words
Configure the digital I/O using Rack 89 and the slot number for this device
Sent from my iPhone using Tapatalk
What I do to configure the communication with an I\O device is to download the EDS file from the supplier website and get the parameters needed to configure the communication.
Sent from my iPhone using Tapatalk
The only thing that matters is the relative position of the part with respect to the robot.
For example the real robot might not be perfectly level as the model
But there is no need to locate everything, unless you are simulating a multi-robot system for example.
The USER frame is linked to the robot so you need to input the same values in the virtual robot.
The you follow the calibration procedure to locate the part model.
You can input the frame values in the virtual robot or load the frame system file from the real robot to roboguide.
If you create a simulation from a backup, the FRAME settings are also copied.
Sent from my iPhone using Tapatalk
You actually need to calibrate the position of your cell elements with respect to the robot
You teach three points in the virtual cell to locate the part or object
Then you transfer the calibration program to the real robot and touch up the positions
Save the program, load it to the same directory then run the calibration tool from the modified program
Roboguide would make a best fit and object/part would be relocated to reflect the real position.
For this to work, USER Frame should be the same both in the real and virtual controllers
The CAD model of the part should also
be accurate
If the real part and it’s CAD model are different the calibration would not be accurate
Sent from my iPhone using Tapatalk
In additive manufacturing, objects are created layer by layer
I assumed you want to make a conic surface of certain thickness (or you want to make a solid cone?)
Making a cone requires to apply material in concentric circles
Program a loop to make the layers using position registers to define the circle’s points
The position registers must be re-calculated in each iteration to reduce the circle’s radius and increase the height of the deposition layer, to gradually close the surface.
Probably need to nest loops if the wall requires multi-passes to make it thick.
Defining a USER frame at the center of the cone base would simplify the mathematical operations
Sent from my iPhone using Tapatalk
WPR is a sequence of rotations to get a desired orientation
First a rotation around Z
then follow by a rotation around Y’
finally a roll around the X’ axis
The rotation angles depends on the orientation you want to reach
The origin is located at the center of the robot tool plate
Looking at the picture:
X coordinate is zero because the center of the two tool plates seems to be aligned with the center of the robot face plate
Z coordinate is positive for both tools because they protrude from the robot face plate
Y is positive for one tool and negative
for the other, and is the distance from the robot face plate center to the center of each tool plate.
Now for the WPR
W is -90 and P less than 90 for one tool because the tool plate has an angle
For the other tool W is 90 and P is again positive and less than 90 degrees.
R is zero for both tools
This is only one possibility as you might want the X axis pointing in a different direction
Another way is to make both W,P zero
and just Roll around X less than 90 degrees, positive for one tool and negative for the other one
the Z axis always normal to the tool plates, but there is infinite choices for the X axis
Sent from my iPhone using Tapatalk
http://www.roboticsresearch.co…df/Fanuc/arcmate100iB.pdf
To roughly calibrate just move the robot to the posture shown in the pdf document
Zero master the robot
MENU -> SYSTEM -> MASTER/CALIBRATE -> ZERO POSITION MASTER
Then in the same menu Calibrate the robot
MASTER/CALIBRATE -> CALIBRATE
To check that you correctly calibrate check the position values
Press POS button
ALL joint values should be ZERO
Check which of your TOOL Frames is NULL (All values ZERO)
MENU -> SETUP -> FRAMES -> OTHER -> TOOL FRAME
Check the Tool frame definition by pressing DETAIL
Make any NULL TOOL Frame the active TOOL
SHIFT+COORD, then press the number of the NULL TOOL
Then display the position in World coordinates
The position with a NULL Tool should be
X= 150+615+100 = 865
Y = 0
Z = 600 + 100 = 700
W = 180
P = -90
R=0
In this position the wrist is in singularity (J5=0)
To jog thee robot in world coordinates, move J5 first in joint mode
Then jog in world coordinates
Follow the procedure to calibrate J5
Safe Speed should be ON
If the input is OFF then a safe speed limit is applied.
Speed override is under SETUP menu
Two inputs are defined to control the playback speed
Both inputs should be ON to run the program at max allowable speed
Sent from my iPhone using Tapatalk
I am sorry, I couldn´t reply early. I am busy
If your robot has calibration errors just add move intermediate point in you weld path
You can attempt calibrating the robot WITHOUT master fixture :
Is possible because there are multiple solutions to reach the same position/orientation
When the robot is correctly calibrated, the tool position/orientation will be the same when configuration is changed
But when robot is not calibrated correctly position/orientation will be different
Then you move the robot axis to calculate the correct angle
Finally, use the computed value to single axis master
Only J2, J3, J4, J5 are critical
First, roughly calibrated/master the robot
Tool Frame is unimportant, make it zero
Then adjust the calibration starting from J5
Fix a pointer reference
Then move robot to touch the tip of the pointer
Record the point twice (using Joint interpolation)
Change the configuration of the second position (Flip to Non flip or viceversa)
Move robot to second position
If robot is not correctly calibrated, Tool tip would not return to the tip reference pointer
Take note of the programmed J5 value
Moving only J5 bring the Tool Tip as close as possible to the pointer
Read the value of J5 axis
Add both values and divide by two
Without moving the robot single axis calibrate using the computed corrected angle
Master robot
That would correct J5 axis
Try this first, then I will send instruction to correct the rest
what do you mean a conical movement???
Robot moves the Tool along a path (a curve)
A cone is a surface, not a curve
What is your process? Welding?
Are you trying to use the robot as a 3d printer to make a cone???
You are zeroing the WPR values of P[1] (Thus aligning with the active USER frame)
So the z offset is applied in the USER z direction
Is your USER Frame aligned with the World frame
What are you intending to do???
What robot model are you working with? Post a picture
If the marks are erased is going to be difficult to calibrate
In the calibration posture the
main arm (link 2) is vertical
upper arm (link 3) is horizontal :
at 90 degrees with link 2
link 5 is in line with link 3
J1,J6 are unimportant
What is your application???
You might no need to calibrate accurately the arm
If you use it for pick and place joint interpolation is enough
Welding sealing requires good calibration
Sent from my iPhone using Tapatalk
Software options are designed to make things easier, not to make things difficult!
The conveyor synchronization provides a calibration procedure to teach the conveyor direction accurately
Aligning the robot mechanically is more complicated and not accurate
Sent from my iPhone using Tapatalk