But the communication is lost until the code is finished (for ex., when desired yaw is reached), and I got the feeling that udp port is getting busy when I’m pushing control commands.
I’m using navigator+RPI4 with blueos, and this system is directly connected to my pc for development purposes. So, I do not think that there is a hardware issue.
How can I solve it? I think there is a way because, GCS does not encounter with this issue even though it is handling real time joystick commands with mavlink.
A few questions to clarify what you’re trying to do:
What software versions are you using?
BlueOS, ArduSub, pymavlink, (QGroundControl)
Are you running pymavlink code while QGroundControl is also open and connected?
if so, have you set up a separate MAVLink endpoint for pymavlink to connect to, and
have you disabled joystick inputs in QGroundControl while you’re trying to use pymavlink for control?
if not, the joystick may conflict with and override your pymavlink command - it depends on what you’re trying to control
What code are you actually running?
the code example that you’ve linked to has several 1 second sleep calls, during which the example is just waiting, and the vehicle is not receiving any additional inputs (just executing on the previous ones)
Firstly, thanks very much for your very detailed answers and effort.
I am trying to develop a new and completely basic rov gui for our system depending on our needs.
I decided to use mavlink for fetching telemetry data and also for sending the commands to robot ( now manually with joystick, in future autonomously).
I’m running blueos+navigator as Hardware-in-Loop for development purposes. That`s why I am using mission planner and sometimes QGCS to check results of commands on simulation.
I was trying the absolutely same code.
Yes, I was trying to push the commands on the same GCS client on blueos. After implementing your instructions, mavlink connection is not clogged anymore, and problem is solved.