Hi @DionisioEng -
Welcome to the forums!
If you’re using ArduSub, use it! If you want to command each motor with your own software, I’d suggest something like Navigator web assistant to minimize latency / complexity (disabling ArduSub)
I’m very curious why controlling individual motors is desirable for your application - are the built in stabilize / depth hold ArduSub modes not desirable for your vehicle? Abstracting similar functionality to another layer will definitely introduce latency… I would bet your pymavlink code is not processing the firehose of mavlink messages fast enough to achieve the latency you desire. Is it possible to share your entire script?