I am setting up a rotary table circular conveyor tracking robot on a IRC5 robot. Met with some strange problems that I could not understand why.
Sympton: After I finished the three steps of teaching, I try running the conveyor with my tracking trajetory, found out that the robot runs the shape as if table not moving!!! In other words, I can see the object been synchronised (c1 connected) and encoder counting ok (variable C1position value accumulates with the table rotating), but the robot run the desired shape as if tracking speed is zero.
The steps I used:
Step 1: calibrate encoder, counter as 48000 counts/meter (rad)
Step 2 calculation of base frame center: the three positions P1 ,P2 and P3 , without activate the conveyor, using coordination system= tool, tool= my TCP for touch pisition. And non of these three positions has relationship to the sync position.
Step 3, tracking work object teach. For position "ModPos" of X1, X2 and Y1. Except that the table must be synchronized and stopped right at the sync switch position. Then I use
coordination system =tool
Tool= my TCP
To teach the tracking work object.
Is there anything I did wrong?
Later I founded out that the encoder pulse is not correct. After check, it should be 32500 pulse/meter (rad), but it should not cause the tracking to be a problem, just accuracy offset more and more along tracking, right?
circular (rotary table) conveyor tracking setup and callibration problems
-
Hunwell -
December 12, 2012 at 3:32 AM -
Thread is marked as Resolved.
-
-
Are you using the WaitWobj and DropWobj in your routine?
WaitWObj wobj_turntable;
Set sync_ref;
MoveL *,v1000,z20,tmix_head\WObj:=wobj_turntable;
Set FOAM_1;
.
.
.
.
MoveL *,v1000\T:=3.5,z20,tmix_head\WObj:=wobj_turntable;
Reset FOAM_1;
MoveL *,v1000\T:=0.6,z20,tmix_head\WObj:=wobj_turntable;
Set CLEAN;
DropWObj wobj_turntable; -
Yes, I use waitWobj before pick up object and after process tracking trajecoty, dropWobj and deact CNV1.
Wandering what is the root cause of my problem. -
and the ufprog in the workobject is set to FALSE with the mechanical unit name in the text string of ufmec?
-
I think I did set the work object to be the tracking user frame.
My program is like:
My process tracking routine is like:
........
MoveL pShot012_02, v4000\T:=0.3, z100, toGun\WObj:=wobjtrack;
MoveL pShot012_03, v4000\T:=0.7, z100, toGun\WObj:=wobjtrack;
MoveL pShot012_04, v4000\T:=0.5, z100, toGun\WObj:=wobjtrack;
MoveL pShot012_05, v4000\T:=1.5, fine, toGun\WObj:=wobjtrack;
SetFoam;
MoveL pShot012_06, v4000\T:=0.3, fine, toGun\WObj:=wobjtrack;
ResetFoaming;
MoveL pShot012_07, v4000\T:=0.5, z100, toGun\WObj:=wobjtrack;
.......My main logit is like:
......... //from below is the job starts
SetProNo;
ConfL\Off;
!MoveL pWait, v3000, fine, toGun;
Actunit CNV1;
%"WaitTrack"%;
WaitUntil c1Position>0.01;
MoveL pTrackA10, v2500, fine, toGun\WObj:=wobj0;
reset doCoveyorStoped;
reset doInPosTeach;
CallByVar "JobModule_",nProd; //call process tracking routine like I listed above
Set doCycleEnd;
MoveL pA20, v2500, fine, toGun\WObj:=wobj0;DropWObj wobjtrack;
DeactUnit CNV1;
MoveJ pHome, v2000, Fine, toGun;Set doIRBOutRangMC;
Reset doCycleEnd;
ClkStop Timer;
nCycleTime:=ClkRead(Timer);
Waittime 5;
........... //loop for next job -
I don't see waitwobj wobjtrack but you said earlier you use this instruction so they must be in another routine than those you list.
If you go into program data window, types - wobj
then look into the 'wobjtrack' values can you see that ufprog is set to FALSE and mechanical unit name (I think CNV1 in your case) in the text string of ufmec?see example on attached doc.
There are some fancy calculations or manual definitions for the base frame but then you have some other params for a circular conveyor to check (from the manual):
In the parameters for the robot do you have this settings:
8.7 Additional motion settings
Conveyor start window and sync separation
For circular conveyor tracking these distances are defined in radians.Conveyor maximum and minimum distances
Note!For circular conveyor tracking these distances are defined in milliradians.Conveyor adjustment speed
The same as for linear conveyors.Motion System parameters
The same as for linear conveyors.Mechanical Unit parameters
The same as for linear conveyors.Transmission and Single Type parameters
The motion configuration of the conveyor must be adjusted to account for a circular motion
of the conveyor. There are two parameters that must be adjusted.Parameter Type Description
Rotating Move Transmission Defines if the conveyor is rotating (Yes) or linear
(No).Mechanics Single Type Defines the mechanical structure of the conveyor. Select EXT_ROT
-
Thank you prnuk2003. Found out that my problem was caused by base frame calibration. Now solved it by correct way.
-
Just for future reference - what was the fix with the base frame calibration?