Historical project documentation. Content is maintained in GitLab.

Philosophie

Document/Licenses/Philosophie/GlossaireChapitre Suivant

Philosophie

L’historique

U.A.V.P est l’abréviation anglaise de “Universal Aerial Video Project”. Il s’agit d’un objet volant, ayant dans l’idéal la capacité de réaliser des vidéos et des photos aériennes (photographie aérienne). Mais il s’agit aussi d’un appareil offrant le plaisir du vol en intérieur comme en extérieur.

Le project utilise des éléments de modèles réduits d’avion standards. Le concept du projet UAVP est flexible, il n’y a virtuellement pas de limites de poids ou de charge embarquée. Depuis que les UAVPs utilisent des gyroscopes de très bonnes qualités, ils sont capables de voler avec une grande stabilité. Enfin, ils sont bien plus faciles à piloter que les hélicoptères.

La plupart des développeurs du NG sont des passionnés de quadrocoptère qu’ils ont découvert soit avec le projet UAVP original soit avec le projet Mikrokopter. À l’été 2007, le projet UAVP original n’avait pas été mis à jour depuis 6 mois, quant aux autres projets, ils n’en étaient qu’à leur début. (En avril 2008, prés d’un an après, environ 500 UAVPs ont vu le jour à travers le monde !). Le projet Mikrokopter était aussi assez nouveau à l’été 2007 et la communauté était en mesure de construire des MKs dans les 3 mois. Le vrai boum du MK n’avait pas encore eu lieu.

Durant cette même période, nombre d’entre nous rêvé de processeurs plus puissants, de plus de périphériques, de meilleurs capteurs.. et les projets à notre disposition n’offraient pas ces possibilités, alors l’idée de créer quelque chose de nouveau est née

L’idée

Après avoir volé avec l’ensemble des autres projets, nous avons décidé qu’ils n’offraient pas les ressources que nous souhaitions pour notre quadrocoptère. Et spécialement lorsque nous nous intéressions leurs possibilités d’évolution dans l’avenir. Après l’étude des différents processeurs disponibles sur le marché, nous avons réalisé qu’il nous fallait choisir un processeur avec une puissance semblable à un ordinateur. Ni le PIc, ni l’Atmel n’étaient en mesure de nous fournir une telle puissance.

Pour finir, nous avons opté pour un ARM7 et avons lancé le projet UAVP Next Generation Quadcopter Project. L’objectif : le développement matériel et logiciel, d’un projet de quadrocoptère Open Source pour la recherche basé sur le très performant processeur 32bits ARM7 RISC.

La Communauté

Les initiateurs du projet NG avaient à l’esprit un projet gratuit et Open Source. Les schémas et autres circuits imprimés seraient mis à disposition du public et les logiciels publiés dés que possible.

Nous espérons être en mesure de proposer une plate-forme pour de nouvelles idées et de nouvelles recherches autour du quadcoptère. Le système d’exploitation se veut modulaire et autorise différents algorithmes de contrôle en même temps. Différents développeurs peuvent ainsi comparer leur algorithme et leur modèle.

Nous avons mis en place un framework permettant aux non-programmeurs comme les mathématiciens, ingénieurs et autres spécialistes de mettre en œuvre de nouveaux modèles et algorithmes sans avoir à programmer mais simplement en saisissant les données de leur algorithme !

Nous avons ouvert le Forum NG. Il est ouvert aux développeurs mais également aux utilisateurs afin qu’ils puissent obtenir de l’aide sur le projet. Nous envisageons de documenter l’intégralité du projet afin de favoriser le port vers d’autres projets et l’utilisation de notre code source.

Tout le monde (en accord avec l’idée de non-profit, non-commercialisation d’un projet Open Source) est invité à nous rejoindre sur le canal IRC du projet ou sur le Forum NG !

Les Principes

Les principes du projet NG sont simples : . Complexité et modularité quand la performance le permet, simplicité et simplification quand l’exécution l’exige.

Cela a conduit à un cadre assez complexe que nous avons commencé à appeler le système d’exploitation NG ou NGOS. Le système fait appel le cas échéant à des couches d’abstraction et des tables de pointeurs complexes (si les performances le lui permettent). Il emploie des variables globales et des pauses encapsulées quand les performances l’exigent.

Nous utilisons des outils Open Sources classiques tels que les autotools, gcc et gnu make. Nous nous conformons le plus possible aux règles d’écriture du langage C. Et nous essayons de créer un code le plus documenté possible comme par exemple avec une aide pour les commandes et des messages d’erreurs explicites.