@Ahmed Sounds like an interesting application. The UR robots have their own control algorithms running which is one of the strengths. It also means you have to account for it when you are doing motion like you are describing. If you want a precise timed path you will need to plan it out at least a little ahead of time.
The UR controller is going to introduce latency. If you are ok with a fixed delay then you may be able to accomplish this with position and speed planning. The UR controller has a concept of time slices which limits the rate of feedback and control. I think for the e-series it's 500Hz. I'd look at servoj and speedl commands.
The requirements sound challenging and are against the time slice limit of the UR controller. Will 500Hz be sufficient?
Hello,
for my application i need to interface a CNC like controller (providing step/dir signals on 3 axis) with a UR10e => the intention is that the controller can drive the UR movements, direction and speed to make sure there is no latency between the CNC controller and the robot am, the application is close to laser engraving.
the controller cant be changed and it is not driven by gcode, the only signals i have are step/dir per axis.
what i tried so far is using 1 Step square wave as input to the robot encoder i can retrieve the counter incrementing each time the CNC controller generates the step square wave.
So i thought i ll be using the conveyor tracking function to sync the movements but it didn't work so far => the CNC controller actually depending on the engraving can move and stop frequently waiting for the laser to finish engraving then continues the movement along the path , which the conveyor tracking function wont do, the robot when am testing just continues on its path to reach the requested waypoint .
am asking if someone of you had a similar problem or any ideas how i should proceed ?
Solution i can think of are :smile:
- convert the step signal square wave to a constant dc voltage and the program would be ( if DIx==True, Move robot along Direction) but i loose speed ramping like a cnc table would move.
- use the encoder_get_tick_count in a thread and hopefully be able to get the distance and the speed required but as i am testing with my current prog the robot movement is always delayed or not in sync
Hopefully someone will actually read this and thank you for your time and effort to try and help me.