QuadCopter Simulator

Hey guys,
I really want program a quadcopter simulator and my question is if i can add weight on some side of quadcopter and simulate it(I want to teach quadcopter how to fly with weight on side). And i am new here so i wanted ask you for some good tutorial.

Do you want to program (the control of) a quadcopter, or do you want to program a quadcopter simulator per se…?

Actual programming is normally just one vantage point; the others being debugging/ testing and utility

I can still easily conceptualize and imagine debugging and testing a program (perhaps implemented on an embedded board) designed to control a quadcopter; doing the same for a pure simulator requires new/ different thinking altogether (at least on my side) - should be challenging and rewarding at the same time

Hi, i want make quadcopter simulator because i will use neural network(AI) to control it. But i must train Neural net and therefore I need simulator where I can simulate some states like having weight on side and so on. And computer will control it not embedded board.

WOW! …and when you are done, do not forget to collect your PhD from your university!

It seems that you have some background in neural networks, and now wish to apply it to quadcopters
Do you have any experience of quadcopters as well?

You could probably define the logic of such a simulator by delineating the input factors (variables), as well as the output factors (variables), and their nature (scope, variation, etc)
For instance, one input factor in controlling a quadcopter - either manually (pilot) or automatically (‘auto-pilot’) - would certainly be horizontal level/ leveling/ balance, and it can vary from 0 degrees to 360 degrees, depending on your measurement
Another input factor may be wind speed as well as direction
An output factor would be engine/ motor power or acceleration
You could then work on implementing the logic - the actual programming - and the outcome should be an actual simulator; you should then be able to generate input factors (like wind as input), and may capture ‘pilot’ response to this, fed back into the system
Key would be to first properly delineate input and output factors, I think

Thanks for your replies.
I would like to collect PhD but that won’t be possible 'cause i am 16 :D But i would like to take a part in Intel Isef competiton.
Yes i have background in neural networks and in general AI but i dont have any experience of quadcopters and physX engine(can you recommend me some tutorial) that’s why it will be huge challenge for me :) For now the wind wont matter( cause of time ) but the main part would be balancing with weight on side and flying with it. Inputs would be motor acceleration and data from gyroscope. Outputs would be new motor acceleration. And i want to learn how to add these forces in program but for now i am not successful with finding some tutorial for that. I am looking for something advanced i dont have any problem with programming :D
Sorry for my poor english, i am not a native speaker :)

What would make a mere quadcopter controller (a remote control for example) easier than a quadcopter simulator is the fact that the user (pilot) automatically constitutes a feedback loop - input factors and output factors can be seen as mostly isolated, with the user connecting them
Also, with a tangible quadcopter, as opposed to a simulated quadcopter, flying or the science of flying is automatically modeled

The point being:

  • you would need a feedback loop between input and output factors
  • you need some flying science model (for instance, if motor acceleration is increased by x, what would be the effect on the quadcopter’s (3 dimensional) position as status (input factors))

You probably also need some user interface such that a pilot can respond to input factors and stimulate output factors, such that the AI can learn from him

I think you are relatively dispositioned by the choice of a quadcopter, from a resource perspective that is; you would find literature on quadcopters more limited compared to ordinary helicopters/ planes, in my view
Perhaps first search for literature (tutorials, etc) on helicopters/ planes - their control and self-control - and then consider how you would extent this to the case of a quadcopter
Literature on helicopters would already provide you with much needed perpsective
I think you would have a far easier time finding tutorials pertaining to helicopters/ planes