We are using an IRB4600-40/2.55 to hold a product and move it under a dispensing system. When the robot makes a 90 degree turn at the corner, the path starts to jerk a little bit as you can see in the images I attached. I need to eliminate this and make it a clean turn and straight path. Does any one know how to prevent this happening? Thank you so much.
Partial code is given here:
GripLoad screen; AccSet 50, 50; WaitTime 1; TriggIO do_set, 65\DOp:=R2_DispRequest, 1; TriggL \Conc, Offs(R2_DispC1,100+dx,-distout+dy,tipoff2), DispSpeed, do_set, z10, tool0\WObj:=wobjdisp1; !Corner#1 outside MoveL Offs(R2_DispC1,distapproch+dx,-distout+dy,tipoff2), DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC1,-distout+dx,-distout+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC1,-distout+dx,distapproch+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; !Corner#4 outside MoveL Offs(R2_DispC4,-distout+dx,-distapproch+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC4,-distout+dx,distout+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC4,distapproch+dx,distout+dy,tipoff2),DispSpeedC, z10, tool0\WObj:=wobjdisp1; !Corner#3 outside MoveL Offs(R2_DispC3,-distapproch+dx,distout+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC3,distout+dx,distout+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC3,distout+dx,-distapproch+dy,tipoff2),DispSpeedC, z10, tool0\WObj:=wobjdisp1; !Corner#2 outside MoveL Offs(R2_DispC2,distout+dx,distapproch+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC2,distout+dx,-distout+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC2,-distapproch+dx,-distout+dy,tipoff2),DispSpeedC, z10, tool0\WObj:=wobjdisp1; !Outside-to-Inside transition MoveL Offs(R2_DispC1,108+dx,-distout+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC1,92+dx,distin+dy,tipoff2),DispSpeed, z10, tool0\WObj:=wobjdisp1; !Corner#1 inside MoveL Offs(R2_DispC1,distapproch+dx,distin+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC1,distin+dx,distin+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC1,distin+dx,distapproch+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; !Corner#4 inside MoveL Offs(R2_DispC4,distin+dx,-distapproch+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC4,distin+dx,-distin+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC4,distapproch+dx,-distin+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; !Corner#3 inside MoveL Offs(R2_DispC3,-distapproch+dx,-distin+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC3,-distin+dx,-distin+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC3,-distin+dx,-distapproch+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; !Corner#2 MoveL Offs(R2_DispC2,-distin+dx,distapproch+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC2,-distin+dx,distin+dy,tipcorner2), DispSpeedC, z20, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispC2,-distapproch+dx,distin+dy,tipoff2),DispSpeed2, z10, tool0\WObj:=wobjdisp1; !End TriggIO do_reset, 50\DOp:=R2_DispRequest, 0; TriggL \Conc, Offs(R2_DispC1,100+dx,distin+dy,tipoff2), DispSpeed2, do_reset, fine, tool0\WObj:=wobjdisp1; AccSet 100,100; MoveL Offs(R2_DispC1,100+dx,distin+dy,50),DispSpeed, z10, tool0\WObj:=wobjdisp1; MoveL Offs(R2_DispHole2,0+dx,5+h2yi+dy,50),DispSpeed, z10, tool0\WObj:=wobjdisp; Set R2_DispComplete; GripLoad load0;
Also, is there a function that can record the velocity change in a module so that I can understand what is really going on with robot? Thanks.