I’ve noticed ‘floaty’ (especially on wrist 1, where the tool arm seems to slightly bob up and down) movement of the UR along a hand-taught path when using TCP values recorded over RTDE.
I’ve tried the following in sequence:
Ran a Python script on my PC to record TCP position values over RTDE (port 30004), and writing them to an Excel file in real-time
While the script is collecting the data (sample size 5000, frequency at 125Hz), I’ve moved the UR on a path under FreeDrive mode
Script completes recording
Read each row of TCP data from the Excel file, created a servoj() command (with t = 0.008, lookahead time = 0.003, and gain = 100) for each, and nested all of them within a def()
Sent the def() function to the UR over port 30003 using the socket library
UR moves according to the taught path (with slight ‘floating’ movements)
Experimenting with the values of the ‘gain’ argument in the servoj command, I’ve noticed a higher value will lead to less ‘floaty’ movement but it never seems to be eliminated entirely.
I also ruled out the possibility that my hand guidance might be shaky to start with, by teaching a path using the teach pendant.
Please let me know if you have any idea as to why this happens and the possible solutions to it.
Might be a little old, but the gain will control how “aggressively” the UR will track the target servoj position. Hence using 100 will mostly lag behind the target position and smooth out all the high-frequency movement, what you call “floaty”, while using a higher gain will track more closely the target position but also feel more jittery. We are using the servoj command a lot and found something between 300 and 600 works best for us otherwise the bot becomes a little too aggressive and we can hear buzzing noise from the joints while tracking the motion.