Robot path is jerking at when making a 90 degree turn
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.
Tagged:
0
Comments
-
If you have RobotStudio you can get a graph of the velocity using signal analyzer if you run the program in a virtual controller. I should have played around with the zones in your case. Hard to tell how close robtargets are to each other without the robtarget data and offset data,but you should avoid that zones cross each other.Per Svensson
Robotics and Vision Specialist
Consat Engineering0 -
For each corner path, there are three robtargets, which is 30 mm away from each other. The outer and inner loop is 12 mm away from each other.0
-
Do you have any coordination between the dispensing system and the robot motion? Depending on zone etc. the robot will probably not have a constant speed which if you have constant flow on the dispenser will put to much glue when for example the robot makes a turn. The best way to see how the robot accelerates and deaccelerates is to run your motion program in RobotStudio.Per Svensson
Robotics and Vision Specialist
Consat Engineering0 -
There is no coordination between the dispensing nozzle and the robot motion. The nozzle is a stationary one. I checked the acceleration and deceleration in RobotStudio. At each corner, there is a huge drop for accel and decel. Even though my attention is maintain a relative constant speed around the corner, which I realize may be impossible, I didn't expect such a huge change. The robot has to decel to almost v100 to make the turn where I wanted to maintain it close to 400.PerSvensson said:Do you have any coordination between the dispensing system and the robot motion? Depending on zone etc. the robot will probably not have a constant speed which if you have constant flow on the dispenser will put to much glue when for example the robot makes a turn. The best way to see how the robot accelerates and deaccelerates is to run your motion program in RobotStudio.0
-
Hello guys, Did you find a solution for that issues? I am facing almost the same issue0
-
I guess you are using incorrect TCP the reason why you have different speed and acceleration in your dispensing point.You must use a remote TCP.0
Categories
- All Categories
- 5.5K RobotStudio
- 394 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 309 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 783 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings