Good morning,
If that question has already been asked and answered, I apologize.
Thanks for the time.
I have an ABB IRB140 mounted on a base that must take parts in front of him (parts that arrive on a rail) and put them on a grid on his left (16 pieces per grid).
I created my cell on Robotstudio and I created an object mark at the level of the rooms and at the level of the grid. I created a trajectory of taking (for the parts on rail) and a trajectory of laying (at the level of the grid).
In my program, I created a shift of my grid mark so that the trajectory decals to store the shifted parts on the grid. But I have a problem to shift my pose trajectory...
Here is my program, but my trajectory does not shift.
Code
MODULE MainModule
TASK PERS tooldata t_pince:=[TRUE,[[-168.146,0,83.4],[0,-0.5373,0,0.843391]],[1,[0,0,1],[1,0,0,0],0,0,0]];
TASK PERS tooldata Tooldata_1:=[TRUE,[[0,0,0],[1,0,0,0]],[1,[0,0,1],[1,0,0,0],0,0,0]];
PERS wobjdata w_support:=[FALSE,TRUE,"",[[542.171,349.551,915.273],[0,0.819158959,0,0.573566561]],[[0,0,0],[1,0,0,0]]];
PERS wobjdata w_grille:=[FALSE,TRUE,"",[[78.727,649.562,942.059],[0.499987,-0.500013,-0.499987,-0.500013]],[[200,0,0],[1,0,0,0]]];
PERS wobjdata w_travail:=[FALSE,TRUE,"",[[78.727,649.562,942.059],[0.499987,-0.500013,-0.499987,-0.500013]],[[100,75,0],[1,0,0,0]]];
CONST jointtarget JointTarget_2:=[[43.661352477,41.442978751,17.127131353,-7.367334883,28.002716918,50.064839239],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_3:=[[80.576288054,35.25272025,22.554561885,1.78525809,27.268338393,-10.971838298],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget rt_ref:=[[0,0,0],[0,0.707106,0.707106,0],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_15:=[[46.945894826,36.912978728,22.690924904,-8.012315623,27.203955323,53.972523652],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_16:=[[43.661355892,21.285739841,15.144475994,-4.505497147,50.033505746,46.449715734],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_18:=[[79.107893005,27.989531238,34.219275063,2.426644976,22.89639407,-13.083673025],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_17:=[[80.576288054,33.902111813,22.651581307,1.712976119,28.521338304,-10.890063004],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_19:=[[78.999545714,24.917950772,35.016064441,2.24147556,25.171431044,-12.984794084],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_20:=[[78.999532054,24.917950772,35.016064441,2.241475346,25.171429337,-12.984792376],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST jointtarget JointTarget_21:=[[0,0,0,0,30,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
PERS tooldata t_PinceTroisMors:=[TRUE,[[-168.099,0,85.374],[0,-0.537299608,0,0.843391446]],[1,[-100,0,50],[1,0,0,0],0,0,0]];
PROC main()
t_pince:=Tooldata_1;
t_pince.tframe:=PoseMult(Tooldata_1.tframe,[[-168.146,0,83.40],[Cos(-65/2),0,Sin(-65/2),0]*[0,0,0,1]]);
w_travail:=w_grille;
FOR i FROM 1 TO 2 DO
FOR i FROM 1 TO 4 DO
!trajectoire_prise;
trajectoire_pose;
w_travail.oframe:=PoseMult(w_grille.oframe,[[0,75,0],[1,0,0,0]]);
ENDFOR
w_grille.oframe:=PoseMult(w_grille.oframe,[[100,0,0],[1,0,0,0]]);
ENDFOR
Remise_a_zero;
ENDPROC
PROC trajectoire_prise()
MoveAbsJ JointTarget_15,v1000,z100,t_pince\WObj:=w_support;
MoveAbsJ JointTarget_2,v1000,z100,t_pince\WObj:=w_support;
MoveAbsJ JointTarget_16,v1000,z100,t_pince\WObj:=w_support;
ENDPROC
PROC trajectoire_pose()
MoveAbsJ JointTarget_18,v1000,z100,t_PinceTroisMors\WObj:=w_travail;
MoveAbsJ JointTarget_17,v1000,z100,t_PinceTroisMors\WObj:=w_travail;
MoveAbsJ JointTarget_3,v1000,z100,t_PinceTroisMors\WObj:=w_travail;
MoveAbsJ JointTarget_19,v1000,z100,t_PinceTroisMors\WObj:=w_travail;
ENDPROC
PROC Remise_a_zero()
MoveAbsJ JointTarget_21,v1000,z100,t_PinceTroisMors\WObj:=wobj0;
ENDPROC
ENDMODULE
Display More