Rz offset issue in Robtarget

  • Am working on a Palletizing application With IRB6700 (RW6.09.0154)

    I need to stack the boxes in a particular matrix for that am using an array based offset method

    But am facing a problem while using a Reltool offset for Rz rotaion.

    No matter what value i gave my tool Offset is happening in Clockwise Direction only. (because of some limitaion i need to rotate it in other way)

    Is there anyway to specify the direction of rotation?



    RECORD PalletPlacePos

    pos pos_;

    num Angle;

    bool Singleload;

    ENDRECORD



    PERS PalletPlacePos PosVar5L4{24}:=[[[0,0,0],0,FALSE],[[0,-580,0],0,FALSE],[[-655,-475,0],-90,TRUE],[[-640,190,0],-90,TRUE],[[-295,0,-270],0,FALSE],[[-310,-575,-270],0,FALSE],[[388,150,-265],89,TRUE],[[388,-525,-270],89,TRUE],[[0,0,-540],0,FALSE],[[0,-580,-540],0,FALSE],[[-655,-475,-540],-90,TRUE],[[-640,190,-540],-90,TRUE],[[-295,0,-810],0,FALSE],[[-310,-575,-810],0,FALSE],[[388,150,-810],89,TRUE],[[388,-525,-810],89,TRUE],[[0,0,-1080],0,FALSE],[[0,-580,-1080],0,FALSE],[[-655,-475,-1080],-90,TRUE],[[-640,190,-1080],-90,TRUE],[[-295,0,-1350],0,FALSE],[[-310,-575,-1350],0,FALSE],[[388,150,-1350],89,TRUE],[[388,-525,-1350],89,TRUE]];





    nPlaceCountL4:=nPlaceCountL4+1;

    PLacePallet:=RelTool(PlaceVar5L4,PosVar5L4{nPlaceCountL4}.pos_.x,PosVar5L4{nPlaceCountL4}.pos_.y,PosVar5L4{nPlaceCountL4}.pos_.z);

    nAngle:=PosVar5L4{nPlaceCountL4}.Angle;

    PLacePallet:=RelTool(PLacePallet,0,0,0,\Rz:=nAngle);

    MoveL PLacePallet,sSpeedPlace,fine,Eoat\WObj:=wobjPallet_L4;

  • Look at your joint configurations for Ax6 (assuming your wrist is facing down), it'll dictate the orientation / direction.

    Sometimes you can get away with having the same conf for all positions but in cases where you do 180 degree re-orientations it's a crap-shoot if it'll go the direction you want and in most cases (better safe than sorry) it's better to set it / force it to the orientation you'd like.

  • incr nPlaceCountL1;

    PLacePallet:=Reltool(PLaceVar4L1,PosVar4L1{nPlaceCountL1}.pos_.x,PosVar4L1{nPlaceCountL1}.pos_.y,PosVar4L1{nPlaceCountL1}.pos_.z);

    nAngle:=PosVar4L1{nPlaceCountL1}.Angle;

    jCurrent:=CalcJointT(PLacePallet,Eoat\WObj:=wobjPallet_L1);

    jCurrent.robax.rax_6 := jCurrent.robax.rax_6+nAngle;

    PLacePallet:=CalcRobT(jCurrent,Eoat\WObj:=wobjPallet_L1);


    MoveL PLaceVar4L1, v1000, fine, Eoat\WObj:=wobjpallet_L1;


    i made some changes and now this seems to be working fine. thanks

Advertising from our partners