I have setup a program for a Universal Robot with a Linear rail. In my simulation program the robot speed is manipulated to make it start and stop at the same time as the rail. When I send it through the post processor the robot runs at default post processor speed unless I use a set speed command then it runs that speed. How do I tell the post processor to use the synchronized speed calculated by the simulation program?
I have found that if I set the speed under my UR10 parameters without sending a set speed command it has no affect on the robot speed either. Am I missing something?
If you were to write it manually, what would your robot code look like?
I'm not that familiar with UR, but when you say that in a best solution the robot would send seep to the PLC that drives the rail, how would you do that manually? Does't a UR line of code let you do that? If so, you can modify the "set speed" instruction of your UR post processor so that it also send the rail speed to the PLC.
It's normal that the reality speed does not match the simulated one. For it to match, the speed of the mechanism defined in RDK would need to exactly match the speed of the real rail (acceleration and deceleration included).
I'm not even sure that what you are trying to achieve is possible, most robot that syncs with external axes do it by driving the external axis directly through the controller. Therefore the sync is done at the same time as the robot path is calculated.
Have a great day.
It is not possible to retrieve calculated speeds when you use synchronized motion. The robot controller usually synchronizes the motion so the robot and the axis move at the same time.
Instead, if you are unable to rely on the controller for the synchronization, I recommend you to calculate these speeds in the post processor. You may need to decompose the speed as robot speed + linear rail speed making sure you don't exceed maximum speeds.