Based upon the calculations in the paper:
ROBUST NEURAL NETWORK CONTROL OF A QUADROTOR HELICOPTER
C. Nicol,C.J.B. Macnab, A. Ramirez-Serrano
An analytical simulator was coded in Mathematica 8.x for quadcopters:
http://www.wolfram.com/cdf-player/ you need to download this free player
All four motors are at 100%:
One motor is 4% less:
The quadcopter is fully specified with all the necessary mechanical and aerodynamic parameters. So the analytical calculations are true to the physical model of an actual quadcopter. They are not general for some abstract quadcopter, they are specific to a particular make and model.
I consider the analytical simulation quite primitive and has room for much improvement. The first derivatives are treated as moving averages of second derivative differentials. The time resolution is 1/1000 s, for 3 seconds of flight which is a take-off from the ground.
The output is a tabular ASCII file made from first and second partial derivatives of the Roll, Pitch, Yaw and X, Y, Z (with regards to time) and their corresponding values. The orientation of the copter in the interactive animation is true to the analytics.
Easily turbulence, noise and off-balance forces can be added.
These files can be used to test and train NN control systems for Arducopter.
Ok, why not, this will save memory space... The NNcontroller need 25x25 matrix for working well...
http://beagleboard.org/static/beaglebone/latest/README.htm One of the readers here posted this board earlier and I like it more and more.
You connect this board to APM via USB, and issue the actuation commands, while the NN runs on this board, if it runs linux it should run the NN code with ease.
If you like this, I can order and start playing around.
My knowledge of APM board is limited and I feel timid asking questions about it
http://www.ti.com/lsds/ti/dsp/platform/sitara/cortex-a8_overview.page the beagles are made from TI chip set:
I used to use TI as a vendor when I was a 3D graphics kid in boston their chipsets are high performance. Originally they were gears for oil drilling equipment to do signal processing and when we met them we worked with them to move them from signal processing to graphics.
The boards are inexpensive and have USB interface, so basically to connect the TI cheap via beagle board to APM, you need a USB cable and LOTS OF IMAGINATION :)
Here a very interesting chip with Neural network chip with 1024 neurons in parallel. Access through parallel bus and I2C serial bus. Interface includes a digital input bus which can be connected optionally to a built-in recognition logic engine.
The CogniMem™ CM1K Chip is the first ASIC version of the CogniMem neural network product line optimized for Cognitive Computing. It features 1024 neurons working in parallel implementing two reknown non-linear classifiers. It can recognize patterns at high speed while coping with ill-defined data, unknown events and changes of contexts and working conditions.
I did check these guys out. Their tech is for image recognition i.e. patterns that are 2D e.g. corners of roads.
For example they come in handy if you fly arducopter in a mine or indoor where there is no gps and it will recognize corners and bents on the passageways:
My vote is for a less than hundred dollar mips board with huge scalar instruction set + larger memory than APM + USB and other IO to talk to other devices, perhaps an onboard linux kernel for minimal operations.
The latter should be enough for navigation and stabilizing.
Then you can LOOSELY COUPLE the chipset from CogniMem for environments where there are no gps or image based guidance is necessary.
By loosely couple I mean do not integrate the chips into the same board sharing an IO bus, which is expensive development and buggy. Instead use the USB as the chip/board to chip/board communication since USB has enough bandwidth for our application.