I need some clarification on the speedL rtde api interface. The function signature looks like:
bool speedL(const std::vector &xd, double acceleration = 0.25, double time = 0.0)
I’m running a closed loop control system with the UR5e in the loop at 125Hz. I’ve written my application with the expectation that this function returns immediately and the robot will begin executing the constant screw motion until I’ve calculated the next corrective speed command. My understanding from the documentation is that setting time to 0 will cause the function to return immediately, but I then get an error on the teach pendant. When I set time to 0.008, I don’t get this error, but I don’t want to stall the control process thread waiting for this function to return. I’m also querying the api for the tcp position for the next control cycle. Is there some contention with these two functions running in the background?
Another question I have is that there’s a linear acceleration value that get’s passed in. What about angular acceleration? It doesn’t make sense to me that one is configurable while the other is not.
Thanks!