/Philosophy |
Philosophy
The History
The abbreviation U.A.V.P. stands for "Universal Aerial Video Platform". It is a flying object, ideally suited for making aerial videos and photos (aerial photography), but also suits fun flying a lot, no matter if indoor or outdoor.
The project uses mainly standard RC model components, so it is basically a model aircraft. The layout of the UAVP project is quite variable, there are virtually no limits in size and lifting weights. Since UAVPs use high quality gyros to allow for stable flight, it is much easier to pilot than model helicopters.
Most of the NG developers came to the Quadcopter hobby by flying a Quadcopter of The Original UAVP Project or of The MK Project. At that time, it was summer 2007, the original UAVP was out for half a year and all over the world UAVP started to get built (in April 2008, a year later, there were about 500 UAVPs airborne around the world!). The Mikrokopter was quite new in summer 2007 and the community was able to build MKs for 3 months. The real MK boom had not yet happened.
At that time, many of us started dreaming of bigger and more powerfull processors, peripherials and sensors. The current projects seemed not to be able to scale according to our needs, so the idea of something new was born.
The Idea
Having flown both of these other open projects some of us decided that they do not offer the resources we would like to have on our copters. Especially when looking into the future it seemed that none of them have the scaling possibilities needed. Studying the available processors we realized that we need to switch processor types to get the computing power we dreamed of. Neighter PIC nor Atmel could provide what we needed.
In the end we decided to go for an ARM7 and started the UAVP Next Generation Quadcopter Project. Its goal: The development of an free Open Source Quadcopter software and hardware framework for further research based on a high performance 32bit ARM7 RISC CPU.
The Community
The initiators of the NG project had a free and open project in mind. Schematics and pc boards were made available to the public. Also the software was released to the public, including the largest part of the sourcecode.
We hope to be able to provide a platform for new ideas and new research on the multicopter topic. The firmware is built modular and allows different closed-loop control algorithms at the same time to allow different developers to share and compare their algorithms and designs.
We implemented an abstract closed-loop controller framework, which will allow non-programmers like mathematicians, closed-loop engineers and similar minded folks to implement new closed-loop control algorithms without having to understand more than input and output structures of their algorithms!
We deployed a new NG Forum which we will use as a developer and user forum where we will provide NG support. We will not only document the NGOS and its features but we plan to document the source code, its modules and their designs as well! This will hopefully allow more folks to understand and use the source code.
Everybody (who can agree to the idea of a non-profit, non-commercial Open Source project) is invited to join us and our project on IRC or in the new NG Forum!
The Design Principles
The design principles of the NG project are simple:
Complexity, modularity and encapsulation where performance allows it, simplicity and directness where performance requires it.
This has lead to a quite complex framework which we started calling the NG Operating System. The system uses abstraction and complex pointer tables where necessary requires it and performance allows it. It uses global variables and breaks encapsulation where performance requires it.
We use classical Open Source tools like the autotools suite, gcc and gnu make. We adhere to most normal C design rules. And we try to develop a user friendly framework with things like help for commands and extensive error messages.
