Sunteți pe pagina 1din 4

Algorithme MAV Parapente

Liste des fonctions nécessaires :


• Function PWM_R()
◦ Reçoit les signaux du module récepteur et les envoie au PIC
• Function PWM_E()
◦ Calcule les commandes en Pwm et les envoie sur les servos
• Function AUTO()
◦ prends la donnée du récepteur de la batterie et calcule son autonomie
restante
• Function TELE()
◦ Envoie les données suivantes au module émetteur :
▪ Autonomie
▪ Attitude
▪ Altitude
▪ Vitesse
• Function CI()
◦ reçoit les informations de la centrale inertielle elle renvoie : phi, psi,
theta et les trois accélérations
• Function TCAS_R()
◦ Reçoit les informations des TCAS des autres drones et renvoie une
position de chaque drone et une trajectoire
• Function TCAS_E()
◦ prends les informations de position et de trajectoire du drone et les
envoie
• Function NAV()
◦ Prends les données de la centrale inertielle, et calcule une nouvelle
position (et une nouvelle trajectoire ?) par rapport a la situation
précédente, elle renvoie les coordonnées du drone
• Function GUID()
◦ Prends les informations de position données par la fonction NAV, et les
informations d'obstacles obtenues par la fonction MAP et TCAS_R, et
calcule la nouvelle trajectoire a prendre
• Function PILOT()
◦ Prends les informations de la fonction GUID et traduit les commandes
a envoyer aux servos (en utilisant la fonction PWM_E ou une
nouvelle ?)
• Function GET_DATA()
◦ Prends le plan de vol par le port USB et le met en mémoire dans le PIC
• Function Receive_Signal()
◦ doit écouter le module de réception pour savoir si le mode manuel ou
automatique est enclenché
• Function PNR()

Projet de recherche et développement MAV – Parapente 1/4


◦ évalue l'autonomie et la distance a parcourir et prévoit une zone
d'atterrissage d'urgence

Algorithme général :
Main
{
//Réception du plan de vol:

GET_DATA()
{
• Prends les données passées par le port USB et les
stocke en mémoire
}

//Boucle infinie lors du vol (possibilité de repasser en manuel ou auto a tout moment et
autant de fois que nécessaire):

Receive_Signal()
{
while(0)
{
//Mode automatique :

While (Auto)
{
CI()
NAV()
{
• Prends les informations de CI(), et met a
jour la position par rapport à la position
précédente
• mise en mémoire de la position actuelle
}

GUID()
{
compare:
• le plan de vol donné
• Les informations de TCAS_R()
• Les informations de PNR()
calcule la trajectoire a suivre
}

PILOT()
{
• Recoit les directions de la fonction

Projet de recherche et développement MAV – Parapente 2/4


précédente
• traite les données avec le modèle
dynamique
• envoie les informations de commande avec
PWM_E()
}
TELE()
{
• Prends les données de CI()
• traite ces données et traduit l'attitude
actuelle, la vitesse et l'altitude
• prends les informations de AUTO()
• envoie ces quatres infos dans le module
d'emission

}
}

//Mode manuel :

else
{
PWM_R()
{
• Recoit les infos de commande du module de
reception
}

PWM_E()
{
• Utilise le timer pour envoyer la commande
PWM aux servos (pour manuel et auto)

}
NAV()
TELE()
}
}
}
}

Définition des fonctions


• Function PWM_R()
◦ Recoit les signaux du module recepteur et les envoie au PIC
• Function PWM_E()
◦ Calcule les commandes en Pwm et les envoie sur les servos
• Function TELE()

Projet de recherche et développement MAV – Parapente 3/4


◦ Envoie les données suivantes au module émetteur :
▪ Autonomie
▪ Attitude
▪ Altitude
▪ Vitesse
• Function CI()
◦ recoit les informations de la centrale inertielle elle renvoie : phi, psi,
theta et les trois accelerations
• Function TCAS_R()
◦ Recoit les informations des TCAS des autres drones et renvoie une
position de chaque drone et une trajectoire
• Function TCAS_E()
◦ prends les informations de position et de trajectoire du drone et les
envoie
• Function NAV()
◦ Prends les données de la centrale inertielle, et calcule une nouvelle
position (et une nouvelle trajectoire ?) par rapport a la situation
precedente, elle renvoie les coordonées du drone
• Function GUID()
◦ Prends les informations de position données par la fonction NAV, et les
informations d'obstacles obtenues par la fonction MAP et TCAS_R, et
calcule la nouvelle trajectoire a prendre
• Function PILOT()
◦ Prends les informations de la fonction GUID et traduit les commandes
a envoyer aux servos (en utilisant la fonction PWM_E ou une
nouvelle ?)
• Function GET_DATA()
◦ Prends le plan de vol par le port USB et le met en memoire dans le PIC
• Function Receive signal()
◦ doit ecouter le module de reception pour savoir si le mode manuel ou
automatic est enclenché

Projet de recherche et développement MAV – Parapente 4/4

S-ar putea să vă placă și