Creating a program that mirrors the teach pendant

I’ve been creating an external applicable that basically shares much of the functionality that the teach pendant does because I wanted to create a completely customizable interface for operators that would be much more user friendly. I currently have buttons that are using commands over the dashboard server to start, stop, pause, load programs and the such, but I wanted to possibly create something like a virtual move tab similar to the move tab that the teach pendant has.

My idea was to communicate over one of the TCP/IP ports and send a command so that when you click the up or down or side to side arrow buttons that I created on my app, the robot would begin moving along the respective axis. I’m able to get it to move along an axis by sending a script like: movel(pose_trans(get_actual_tcp_pose(), p[0,0,-.005,0,0,0]), a=1, v=.25), which just moves 5mm along the z axis. The only problem I’m having with this, is that by sending this command over and over to move it in a straight direction, it ends up with a very jerky movement, and if I send the command one after the other without any delays, it ends up writing over itself and the commands don’t even get acknowledge by the robot.

Would anyone know if there is perhaps a better way to try and tackle this? Again, I’m really just trying to create something that mimics the move tab on the teach pendant, but I’m starting to wonder if that’s doable just through sending script.

You may want to look at using speedL and stopL or speedJ and stopJ. These can be found in the URScript manual for better understanding of how they work.