Hello,
I have a question concerning the possibility to implement an architecture using the ArduPilot Mega
It is also, I hope, a discussion about which functions should be handled by the Autopilot board versus
placing them on another computer which will communicate the bare minimum of information to the Autopilot.
I come with the following architecture, where the ArduPilot
settings and status are also controlled by another computer (AnC) running an
Real Time OS (RTOS)
It is to be noted that the boards can be connected by more than one serial port and that the RC receiver is still connected to the ArduPilot
With this architecture, the HKTM and TC goes from the ArduPilot to the AnC via one serial port and is read by a task running a given frequency and priority by the RTOS . Some very complex actions can be stored into the AnC as OnBoard Control Procedures and triggered with very small commands uploaded via TC.
The AnC also adds its own HKTM to the ArduPilot's HKTM.
One such example can be flight patters triggered by the operator for a given value of a parameter acquired by the AnC
or rerouting to a new destination with uploading just the destination waypoint and the desired flight pattern. In which case the AnC computes the route and upload the new waypoints into the ArduPilot.
On the ground segment there is the Ground station. Video feed and HKTM are combined in order to get OSD and IFR. Thus if one of the channels fails, there is always the means on ground to assess the situation and take control of the UAV.
The RC Tx, is controlled by the ground station and directly by the User depending on the situation.
As a side effect this also saves mass, harness and power budget on the UAV as there are no needs for an
OSD.
I would like to know if such an architecture (see attached picture) can be implemented with the ArduPilot Mega.
Replies
TC and HKTM will follow the Packet Utilization Standard (PUS) which is used to communicate with spacecrafts even in deep space (very robust with good error correction and low data rate). Thus we can trigger very complex behaviors with simple TCs, which, when interpreted by the computer, will launch OnBoard Control Procedures (OBCP). Another benefit of the OBCPs is that they are one of the means for the spacecrafts to have a high degree of autonomy. There is also the possibility to patch and dump the software during the flight.