In RoboDK, I'm building a robot application (I'm using a UR3 robot). However, I wonder if anyone knows what are the maximum values for: JOINT accelerations and TCP accelerations for UR3 robot. I could not find this information anywhere.
10-02-2019, 03:28 PM (This post was last modified: 10-02-2019, 03:29 PM by Albert.)
Maximum accelerations are not constant and I don't think you'll find this information in the robot specifications.
The maximum linear and joint acceleration highly depends on the position of the robot. In the end, the limitation is the motor torque (which is constant).
If you program a UR robot with an acceleration higher than what it can handle it will probably be saturated to the maximum acceleration. If you exceed the acceleration by too much you may get program issues.
10-04-2019, 05:48 AM (This post was last modified: 10-04-2019, 06:33 AM by Mitja GOLOB.)
Thanks for the reply.
We use the MOVEP command to generate the robot program. In simulation in RoboDK everything is fine. However, when we transfer the program to the UR3 robot, the following problem occurs: '' moveP: Cannot move at the specified speed due to safety limits ''. We recorded the actual speeds (joints, TCP) and nowhere to see any of them exceed the limit. What else could affect this error?
Maybe just for information: if we use the '' moveL '' command, we don't have these problems. The speed of movement of the robot in both cases is 100 mm/s (TCP). Robot Trajectory is attached in the attachment.
MoveL and MoveP are 2 different commands supported by Universal Robots to do linear movements. MoveL mostly focuses on maintaining a desired time for the movement (given maximum speed and acceleration) whereas MoveP only takes speed and acceleration. They both behave differently, not just regarding the speeds but also when it comes to rounding/blending.
The RoboDK post processor outputs MoveL movements by default. You can easily change this in the post processor (set the variable named USE_MOVEP to True).
You can also switch the type of movement inside a program by creating a "virtual" program call to UseMoveL and UseMoveP. This specific program call is not generated in the code but used by the post processor to know when to change from one type of movement to another.
10-08-2019, 05:39 AM (This post was last modified: 10-08-2019, 05:51 AM by Mitja GOLOB.)
First of all, thanks for the help.
We are already using the MOVEP command. When we run a simulation in a RoboDK environment, everything is fine - the simulation is successful. However, when we transfer the program to a real robot (in our case the UR3 robot), an error occurs during execution: ''moveP: Cannot move at the specified speed due to safety limits''. We have checked Joint Positions and Speeds (Joint and TCP), but none of these exceeds the limits. If we use the MOVEL command, we don't have these problems. Our requirement is that the robot tool must move at a constant speed (TCP speed = 100 mm/s), so we have to use the MOVEP command.
I wonder why simulation in RoboDK environment is successful, while on real robot during runtime an error occurs (ERROR: ''moveP: Cannot move at the specified speed due to safety limits'') ? In the Safety Configuration on a real robot UR3, I considered the maximum values (Force = 250 N; Power = 1000 W; Speed = 5000 mm/s; Momentum = 100 kgm/s).
10-08-2019, 09:02 AM (This post was last modified: 10-08-2019, 09:48 AM by Mitja GOLOB.)
Maybe this information. We do not use the MOVEL command because it does not allow constant TCP speed, so we use the MOVEP command, which allow constant TCP speed (also in the corners). To illustrate, I attached example, where is shown the tool path of the robot, and a error that occurs in this case.