Learning Helicopter Control Through "Teaching by Showing"
James F. Montgomery
This research addresses the helicopter controller synthesis and tuning problem. A model-free ``teaching by showing'' approach is used to train a fuzzy-neural controller for autonomous robot helicopters, in simulation and hardware. A controller is generated and tuned using training data gathered while a teacher operates the helicopter. This approach is useful for time-varying systems for which mathematical models are unknown but which can be stabilized and controlled by a human operator. The methodology uses techniques from the fields of behavior-based control, fuzzy logic, neural networks and teaching by showing, all of which are model-free. A controller is decomposed by a human expert into a hierarchical behavior-based control architecture with each behavior implemented as a hybrid fuzzy logic controller (FLC) and general regression neural network controller (GRNNC). The FLCs and GRNNCs are generated through teaching by showing and they share in the control task. The FLCs are built during initial controller generation, remain static once created and provide coarse control of the helicopter. The GRNNCs are incrementally built and modified whenever the controller does not meet performance criteria, are dynamic and provide fine control, enhancing the control of the FLCs. The methodology is applied both in simulation and on a radio controlled (RC) model helicopter for real world validation. In simulation, roll and pitch controllers were generated and tuned. They were shown to be capable of meeting performance criteria for both noise and noise-free test cases. However, when tested on actual hardware the approach was inadequate. A roll controller generated using teaching by showing could not meet desired performance criteria. This failure demonstrates that simulation is not always enough to validate an approach and why testing in the real world is both desirable and necessary. In addition, we have been involved in the design, implementation and testing of three RC model robotic helicopters. Case studies for these robots are given.