I am working on a project in which a drone is up to learn to fly. I am using NEAT.
For the first experiment I want it to learn how to hover inside a 3x3x3 meters box. My input is 6 sensors for each direction. Output is same as in a drone so thrust (normalized to 0-1), aileron, rudder and elevator.
Initially just used a time as fitness, and after many generations it hovers inside the box. It only really learns to use the thrust in function of up and down sensors, but it never learns to react to input from other sensors because they are not directly connected to fitness.
I would like to get some ideas about a good test for my problem. Should the drone be put to fly a track with obstacles? Should I have some more input data ? Should I define fitness to better reflect good reactions for input sensor data?
Thanks in advance
NOTE: the drone uses relatively accurate physics, I am able to do tasks using a controller.