It would be useful if the arducopter gurus help me to understand the input parameters to NN i.e. the configuration of the copter while in flight, my understanding:

Assumption: desired Roll, Pitch and Yaw to be 0 radians and height H fixed. Not worrying about drift for this example. No external force e.g. wind. Payload might not be at GC. Actuation numbers are deltas + or -


1. 3 angles: Roll, Pitch and Yaw

2. 4 speeds for 4 motors 

3. height 


1. 3 actuation numbers for Roll, Pitch and Yaw

2. 4 speeds for 4 motors 

3. Thrust actuation number

Views: 219

Replies to This Discussion

From Birol the developer for FNNTOOl, I think he is a brilliant person to join us here:

time now = tn

Speed of Motor  = Sm ( eg Sm1 Speed of Motor 1)

Delta Roll = Dr = Roll( tn ) - Roll ( desired )

Delta Pitch = Dp= Pitch ( tn ) -  Pitch ( desired )

Delta Yaw = Dy=  Yaw ( tn ) - Yaw ( desired )

Error Roll =  Er = Roll ( desired  ) - Roll (tn-1)

Error  Pitch =  Ep =  Pitch ( desired ) -  Pitch (tn-1)

Error Yaw =  Ey = Yaw ( desired ) - Yaw (tn-1)

Inputs :  Dr ,Dp,Dy,Er,Ep,Ey,Sm1,Sm2,Sm3,Sm4

Outputs : Sm1 (tn+1) , Sm2 (tn+1) , Sm3  (tn+1) , Sm4 (tn+1)

  1.  if( first run  )  initial errors zero
  2. else Calculate Errors of Roll, Pitch and Yaw from ( tn-1 values)
  3. get desired Roll, Pitch and Yaw
  4. read  actual Roll, Pitch and Yaw from sensors
  5. Calculate delta (Roll, Pitch and Yaw)
  6. read actual Speed of Motors from sensors 
  7. Run NN 
  8. get Outputs  ( new Speed of motors ) from NN
  9. Set New Motor speeds
  10. goto 2

Hello Dara,

Look at this document, may be that this will help you.

Neural Networks for Control by Martin T. Hagan, School of Electrical & Computer Engineering, Oklahoma State University

The purpose of this tutorial is to provide a quick overview of neural networks and to explain how they can be used in control systems. We introduce the multilayer perceptron neural network and describe how it can be used for function approximation. The backpropagation algorithm (including its variations) is the principal procedure for training multilayer perceptrons; it is briefly described here.

Good reading,



Thank you Sir, it is actually very useful. 

I will code the math in Mathematica to model the NN control theory and make up examples. It is much more visual and analytic than C or Python. 

I will post some stuff shortly.

Ok so what we know so far is that others have done NN control for UAVs, we suspect we do not need any specialized hardware, and we suspect NN control system for Ardu family is a reality, and perhaps porting some code from here and there might start a nice prototype to test. 

I am very happy with this development of events and discussions, it ignites my passion to do something new. 

Thank you again




Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service