Jack Crossfire's daily updates on his autonomous helicopter project are alway fascinating, but today's is even more impressive than most. It describes how he uses a neural network to take the inputs from his acceleromters, gyros, magnetometers and GPS and turns that all into an output to the heli that keeps it stable in any direction.
Here are some more diagrams, but check out the full post to also see his analysis of how cheap real-time GPS is getting and the possibility of using cheap optical mouse sensors for position hold.
I definitely wouldn't trust a 100% ANN autopilot to fly my UAV (yet). The uncertainty of what kind of maneuver that the ANN might execute is a bit scary to me. Crashing the UAV is pretty much the last thing I want to do. However, they are an incredibly useful tool for filtering real world data and making certain decisions from that data.
Lately I've been experimenting with using a combination of expert systems and ANNs. I use expert systems define certain behaviors that are safe and predictable. The ANN simply filters sensor data and decides which behavior should be executed.
For example, I have an expert system on a UAV that defines 2 concrete behaviors: turn left and turn right. The noisy sensor data is fed directly into a ANN, which filters the data then decides whether it needs to turn left or right. The expert system then decides whether or not the maneuver is safe, and acts accordingly. This doesn't utilize the full power of NNs but it does eliminate a lot of the uncertainty in using them.
Pretty incredible that they're doing back propagation in interpreted languages these days. The performance of interpreted languages has become so standardized, 1 program in C is all it would take to put Silicon Valley out of business.
Neural networks are horribly inefficient & aren't the real world in the software business. Stick to tried & true deterministic methods unless you absolutely can't solve the problem after 6 months of banging on it.
Comments
Lately I've been experimenting with using a combination of expert systems and ANNs. I use expert systems define certain behaviors that are safe and predictable. The ANN simply filters sensor data and decides which behavior should be executed.
For example, I have an expert system on a UAV that defines 2 concrete behaviors: turn left and turn right. The noisy sensor data is fed directly into a ANN, which filters the data then decides whether it needs to turn left or right. The expert system then decides whether or not the maneuver is safe, and acts accordingly. This doesn't utilize the full power of NNs but it does eliminate a lot of the uncertainty in using them.
Neural networks are horribly inefficient & aren't the real world in the software business. Stick to tried & true deterministic methods unless you absolutely can't solve the problem after 6 months of banging on it.
Many thanks for a really clear and helpful explanation!
What's your sense: are neural nets a good option for our level of IMU, or should we stick with the usual PI (and sometime D) loops?
--chris