Simulink based GCS

I’ve got a fun project ahead! I want to use a Simulink model as the main GCS during flight. This would act as both a visualization dashboard and a way of sending commands. This is for a version of a university lab course to teach flight control software. I’d prefer to reduce the number of applications the student work with so the Simulink micro-services example is not ideal.

The mavlink blocks from the UAV toolbox hold a lot of promise but there are some concerns I have for the implementation. Let me know if you have any advice.
Mavlink Serializer through UDP

  • I want to follow a similar structure that the common GCS’s already use for sending messages. Guidance for the current algothims and state machines would be super duper appreciated.

    1. I am especially concerned with heartbeat and GCS failsafe.
    2. The Simulink micro-services example gives a good starting point but, again, I don’t want to rely on an external GCS.
  • Main features include:

    1. Live data visualization and logging to workspace (This is done)
    2. Sending various long commands.
    3. GCS failsafe in case of simulink crash.

Even if you don’t insights on the implementation, I’d appreciate hearing about things I may have overlooked.