Let’s consider the following scenario:
A UAV has a companion computer (CC) connected via UART. By running mavproxy.py on the CC, is it possible to set the --out parameter to define the IP_ADDRESS/PORT to whom telemetry is redirected. A GCS having that IP_ADDRESS can connect to the CC by initializing the vehicle object using DroneKit. Via the instance vehicle, it is possible to access lots of properties and methods, for example, to check the current battery level or navigate to a certain position.
Let’s suppose the code running on the GCS has to perform some actions based on external triggers. For example, the CC has a camera onboard. When a certain object is recognized, the UAV needs to stop any movement to take a photo or eventually return-to-home
In my understanding, any action performed using a dronekit-python script is running locally on the GCS. If the link is lost, no reaction is possible because the GCS doesn’t know what happened.
This is not ideal because the benefits of having a CC are lost. I assume I’m doing something wrong or I simply forgot to consider some basics.
The goal would be to have a script ABC.py to perform some actions, which is located on the UAV. Via GCS only high level instructions should be sent, for example start running ABC.py or stop it.
What is the preferred architecture to accomplish that?