Same problem
Deviation in position between RoboGuide and real robot
Join us with Yours experience Rock4xfab!
Same problem
Deviation in position between RoboGuide and real robot
Join us with Yours experience Rock4xfab!
Quote
Rock4xfab What is Your story, did You solve that discrepancy between OLP and real robot?
My steps are similar,
* Mastering - Data for Mastering were obtained from Fanuc, all markers were aligned very well, with no Tool I read out XYZ data for J6 which correspond from technical data.
* determination TCP - when swing Tool around +/- X and +/- Y axis top of wire stay in place near the tip.
* Step 3* -
* I determinate UF of table (this UF is linked with step 3 , UF for work place 1 and UF for work place 2
* Definition of welding line in RG and creating TP program - After all this steps I get that welding line is correct (Two horizontal weld line with gap 8 mm, from one and another side of vertical plate) but only problem was I must hunt zero position different from programed in RG. When I use UF of table welding model in Real Robot World I must to move by X, Y (8,5 and 4 mm) and turn (by -Z). With UF for work place 1, I must to correct UF by Z for 3 mm (lift them), correction for model was 2 and 2,5 mm by X, Y and turn by +Z.
So conclusion, I get better welding lines in RRW but position of welding model must be hunted on working table.
* Step 6* -
* I would like Step 3 and Step 6 I get from Fanuc but it wasn't case, Documentation is obtained on a small kinder ice-cream spoon as Top Secret, for step 6 I make preparation and after repeating steps 4 and 5 I can post my experience.
Is this story finished as happyend story?
Is this story finished as happyend story?
Display MoreHi,
at real robot:
Create a program.
Teach one point at the left side(table surface) in front of the robot.
--> P[1]
Move(instruction) the robot with an offset of 500mm(1000mm) to Y-, measure.(WORLD COORD)
!PR[1]= 0,0,0,0,0,0
!PR[1,Y]= -500
J P[1] 25% fine;
L P[1] 100mm/sec fine Offset PR[1];
Is your measurment result ~500mm ?
No? --> Mastering,Calibration is not correct.
By the way , why did you master the robot?
Best regards
PnsStarter
~500 mm by reading on TP.
We had little misalignment on markers J3 and J6, recommendation was to make Mastering and Calibration, new parameter was given from Fanuc
Your problems are the reason why 'real robot programmers' use user frames.
You will never ever be able to mount a real robot absolute precise in position and angle.
So always create a user frame on your working place, then measure it in real and virtual robot. Measuring on virtual one can be done by using values from CAD.
Have an error by one axis - problem but solvable,
Have an error by two axis - big problem but solvable,
Have an error by three axis - nightmare and daymare.
I didn’t imagine having to do a tens of pages calculation to correct a error
We are talking about accuracy / repeatability of +/- 0.08 or even 0.04 mm (for this kind od robot), so I have an error accurately 24 mm +/- 0.04 mm!?
I have a distorted and twisted situation
Hi,
As gpunkt wrote:
Check your tool frame!
best regards
PnsStarter
From Abicor Binzel dimensional sketch for ABIROB A, A 500 22 deg neck.
TCP is -50 mm by X and 405 mm by Z axis in this case.
Tool frame 10 is Direct Entry, but this information is achived from
Teaching Method 6 Point (XY) which is performed with TorchMate.
When jogging, are you using a user frame, the world frame or the tool frame?
Are you sure that the robot is mounted level (using a machine level)?
Are you sure that the tool frame is correctly set up?
To remove any suspicion I use only World frame.
The robot is mounted on a desk and all dimensions in reality and in roboguide are with an error of no more than 1 mm.
TCP is certain specified, at picture is visible position of tool relative to peak of TorchMate,
when rotated with by -/+X and -/+Y
Hello Everyone,
Good and Healthy 2021 I wish you.
FANUC Arc Mate 100iC 12L
The first welds that were programmed via TP were OK, however when I started using welding programming from WELDPRO I came to a situation where the tool was loaded into the model. This was especially pronounced when the tool needed to be rotated along the J6 axis. Then we discovered that the JOG robot on the Y axis is not good, ie. that the whole plane is rotated by +Z for 0.6 degrees, at a distance of 1100 mm deviation is 15 mm. Afterwards, I added some more points for checking, the readings in ROBOGUIDE and TEACHPENDANT are with an error on the 3rd decimal, however in reality the deviations are from 15 to even 25 mm !!!.
MASTERISATION and CALIBRATION were done first, according to data and information from experts from FANUC but that was't solution, I am still waiting for a solution.
At picture you can see deviation in position reading, index 1 is from RoboGuide, index 2 is from TeachPendant when Tool was Joged to desired control point.
Any idea?
EWM isn't directly supported like Lincoln, Migatronic, Fronius which modul you can buy. Instead dedicated tool for welding machine, on Fanuc controler through web interface you can with universal Welding EQ Tool offline generate weqcfg1.xml file. This file over memory stick on UD1 (usb on controler not at TP) in controled start import to Fanuc controler.
Hi!
One Big Good News and one small bad news.
With Your suggestion I successfully redefine I/O Weld EQ and now have full control over Outputs, and correct send/receive 2 Byte information and bit by bit I/O.
Bad news I can't redefine Polarity of some Digital Inputs. I change Inverse to Normal, there was Info that turn Off power supply, and nothing, after reboot DI was again with Inverted Polarity!?
In next few days I will put some manual with steps which are necessary.
That post I don't understand complete, but you won't have a problem only with do[67] there are some other signals around, they also will be missmatched. Just some examples marked in the table.
original
changed
You can change that in the config of the digital outputs, and by the way: don't forget the inputs, and change the labels of your DIO.
You can change that in the config of the digital outputs, and by the way: don't forget the inputs, and change the labels of your DIO.
Single, 4 or 8 grouped bits are not problem, problem is 2 Byte signal, DO they are in range 0 - 32767 (0 - 0x7FFF), but You send 65407 (0xFF7F) to EWM Weld machine, what happening, nothing good, wrong information! DI are in range 32767 - 0 (0x7FFF - 0) but from machine You receive FF7F what are You readout as information, nothing, disinformation. I am new in welding and that is reason why I try to Weld by Wire or like a pilot to fly by instruments, for me having right information is possibility to make right decision when change parameter to find best.
Please find out excel tables with DO and DI. Look at DO 113-160 and DI 113-176.
Control mechanisms and their effects are seldom analyzed in the subject matter of state crime.
000 Documentation from genuine software and "wireware" person, 000 info (comments) for PLC and TP programs.
Why changing the number?
#11
<a href="RE: Controlling state of DO FANUC R-30iB">Controlling state of DO FANUC R-30iB</a>
When I use Intel Byte notation I haven't all data for and from EWM welding machine in correct format (Bytes was switched FF7F instead 7FFF).
Now We figure out that trough xml schema must do starting definition of Welding EQ Settings.
I attach weqcfg1.xml file which I save on TP from web browser (Weld EQ setup Tool).
Here is answer to my second half of problem.
This DOMAP (also DIMap) I must change. id 3 will go to id 11. Low/High High/Low Byte change.
I will inform You ASAP.
<DOMap>
<SignalAssign id=" 1" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 1" Comment="Special Non-Latched"/>
<SignalAssign id=" 2" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 2" Comment="Special Non-Latched"/>
<SignalAssign id=" 3" Attrib="412:UseTrim" SignalType="DO" BitRevFlag=" 0" StartNo=" 3" Comment="Pulse Welding"/>
<SignalAssign id=" 4" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 1" StartNo=" 4" Comment="Weld Fbk Enable"/>
<SignalAssign id=" 5" Attrib="401:ArcOn" SignalType="DO" BitRevFlag=" 0" StartNo=" 5" Comment="Weld Start"/>
<SignalAssign id=" 6" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 6" Comment="Robot Ready"/>
<SignalAssign id=" 7" Attrib="402:GasOn" SignalType="DO" BitRevFlag=" 0" StartNo=" 7" Comment="Gas Start"/>
<SignalAssign id=" 8" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 8" Comment="Cleaning Valve"/>
<SignalAssign id=" 9" Attrib="405:FeedFwd" SignalType="DO" BitRevFlag=" 0" StartNo=" 9" Comment="Wire Fwd"/>
<SignalAssign id=" 10" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 10" Comment="Touch Sensing"/>
<SignalAssign id=" 11" Attrib="406:FeedBwd" SignalType="DO" BitRevFlag=" 0" StartNo=" 11" Comment="Wire Bwd"/>
<SignalAssign id=" 12" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 12" Comment="2nd WF Control"/>
<SignalAssign id=" 13" Attrib="410:ErrReset" SignalType="DO" BitRevFlag=" 0" StartNo=" 13" Comment="Error Reset"/>
<SignalAssign id=" 14" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 14" Comment="User Output Relay K2"/>
<SignalAssign id=" 15" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 15" Comment="Reserved"/>
<SignalAssign id=" 16" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 16" Comment="Weld Simulation"/>
<SignalAssign id=" 17" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 21" Comment="User Output Relay K1"/>
<SignalAssign id=" 18" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 22" Comment="User Output Relay K3"/>
<SignalAssign id=" 19" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 23" Comment="User Output Relay K4"/>
<SignalAssign id=" 20" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 24" Comment="Tandem Slave (option)"/>
<SignalAssign id=" 21" Attrib="411:UseAmps" SignalType="DO" BitRevFlag=" 0" StartNo=" 33" Comment="Job 256 - 510"/>
<SignalAssign id=" 22" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 34" Comment="Reserved"/>
<SignalAssign id=" 23" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 35" Comment="Reserved"/>
<SignalAssign id=" 24" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 36" Comment="Reserved"/>
<SignalAssign id=" 25" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 37" Comment="Tack Weld"/>
<SignalAssign id=" 26" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 38" Comment="Inching Mode"/>
<SignalAssign id=" 27" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 39" Comment="superPuls"/>
<SignalAssign id=" 28" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 40" Comment="Liftarc"/>
<SignalAssign id=" 29" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 41" Comment="Reserved"/>
<SignalAssign id=" 30" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 42" Comment="Reserved"/>
<SignalAssign id=" 31" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 43" Comment="Reserved"/>
<SignalAssign id=" 32" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 44" Comment="Reserved"/>
<SignalAssign id=" 33" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 45" Comment="Reserved"/>
<SignalAssign id=" 34" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 46" Comment="Reserved"/>
<SignalAssign id=" 35" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 47" Comment="Reserved"/>
<SignalAssign id=" 36" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 48" Comment="Reserved"/>
<SignalAssign id=" 37" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 97" Comment="Reserved"/>
<SignalAssign id=" 38" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 98" Comment="Reserved"/>
<SignalAssign id=" 39" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 99" Comment="Reserved"/>
<SignalAssign id=" 40" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 100" Comment="Reserved"/>
<SignalAssign id=" 41" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 101" Comment="Reserved"/>
<SignalAssign id=" 42" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 102" Comment="Reserved"/>
<SignalAssign id=" 43" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 103" Comment="Reserved"/>
<SignalAssign id=" 44" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 104" Comment="Reserved"/>
<SignalAssign id=" 45" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 105" Comment="Reserved"/>
<SignalAssign id=" 46" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 106" Comment="Reserved"/>
<SignalAssign id=" 47" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 107" Comment="Reserved"/>
<SignalAssign id=" 48" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 108" Comment="Reserved"/>
<SignalAssign id=" 49" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 109" Comment="Reserved"/>
<SignalAssign id=" 50" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 110" Comment="Reserved"/>
<SignalAssign id=" 51" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 111" Comment="Reserved"/>
<SignalAssign id=" 52" Attrib="0:Custom" SignalType="DO" BitRevFlag=" 0" StartNo=" 112" Comment="Reserved"/>
</DOMap>
Don't know exactly why, but with changing the value "Process select" of the active parameter set the do[67] toggles.
There seem to be parameter sets for pulse welding and normal welding.
Bool eye! Process select 1 and 2 forcing DO 67 ON, process select 3 (Standard 1-255) forcing DO 67 OFF. 1/2 problem is solved. Second 1/2 how to change desired DO to another num Q is now?
Great thanks!!!
There are those datas for weld procedures. The state of your DO[67] is handled by those parameters.
I drink ☕ Coffee in this moment (☕☕☕Coffee for all members), when I arrive to work I will check this weld procedure. But I think that I can't define which DO will be ON when pulse welding is set.
Cycling power won't change the status because you have hotstart =True and recover IO set to Recover all. You need to try to toggle that DO off directly on the DO menu.
You didn't show all of the IO Interconnect pages. You need to press type and go through each one.
As I write I can toggle DO off but that off state last less than half second.
When I made img always was Cold start, maybe to set recover IO false and try cold start.
Which intetconnect page missing?
"Process select" of the active parameter set
Where you change this parameter?
Here is aoa.zip attached