Rotorcraft flight dynamics
Link to dissertation # 1: Hosted here
Link to dissertation # 2: Hosted by UMD
As part of my PhD thesis, I formulated models for analysis of a helicopter towing an underwater object using a long cable. These configurations are useful for sub-surface object detection in shallow water, where ships cannot safely be used to drag the submerged body. This page describes my work using an in-house helicopter flight dynamics simulation, and the upgrades I introduced.
The helicopter model is based on HeliUM2, developed by various students at the University of Maryland. The simulation was originally written in Fortran 77, and partially updated to Fortran 90 to easily implement multi-rotor configurations. The key features of this flight dynamic simulation code are performance, stability analysis and maneuver simulation.
My contributions to this analysis are
Introduced program unit testing, model standardization/validation and version control
Complete conversion to object-oriented code (expansion/extension)
Rigorous multi-main-rotor modeling (clockwise and counter-clockwise)
Controller for trajectory tracking ("pseudo-Flight Control System")
Real-time execution using code profiling and efficient parallel programming
Coupling multi-rotor flight dynamic model to the Maryland Free Wake simulation
GPU Programming using CUDA-Fortran to accelerate code execution (25x/40x double/single)
Added cable and sling load dynamics to the state-space simulation
Large deflection analysis for rotating/non-rotating beams
Shown below are some animations of the output produced by the flight dynamic model modified to include flexible cables and a towed body submerged beneath the water surface. The first movie shows the top view of a helicopter towing an underwater minesweeper along a tear-drop search pattern. An LQR-based state feedback system is used to stabilize the system and track a desired trajectory (generated using arc approximations). These arcs are interpreted into state time histories for the helicopter and tow system, and the control system modifies the swashplate inputs to track the tow platform's target states. Vehicle and towed body sizes have been exaggerated for clarity.
In the second movie, the panels show, starting from top left in clockwise order
Top-view of the tear-drop trajectory
Main rotor power required, filtered
Cable force time history
Pilot cyclic stick position, top view
In 4. above, the "x" represents the trim position of the stick. The controller is capable of handling moderately fast turns with a towed body. With an isolated helicopter, faster turns are achievable.
The path is prescribed by the user as a sequence of heading changes and time intervals. Given the flexibility of the formulation, an arbitrary sequence of heading changes can be prescribed to obtain a wide class of search patterns. In the animation below, a figure-8 type path is generated using two appropriately-timed turns. The two-body system starts and ends the maneuver in steady level flight.
The simulation program is written in Fortran 90. Individual frames were created using a custom script in MATLAB, and frames stitched using mencoder.