Algorithm Development

I have been very fortunate in my career to have been exposed to the latest and greatest biomechanical measurement system technologies and techniques.  Due to these experiences, I am familiar with the advantages and disadvantages of a number of different advanced technologies.  More importantly, I know what systems provide the best solutions for measuring and monitoring elite athletic performance.  I also know how to work with multiple technologies and to post-process, transform, and manipulate the data such that I can compare apples to apples between different technologies.

From these experiences I am used to working with extremely large data sets.  In multi-sensor swing studies (MS3) at Callaway Golf, I would have data outputs from up to 3-5 different measurement systems, all synched to impact to make data scrubbing and transformation much easier, for the 1 – 1.5 second swing.  In a typical session I would have player kinematics for 14 body segments and the shaft from an optical motion capture system, a shaft-based inertial sensor system, ultra high speed launch monitor data for pre-impact club head conditions, and resultant launch monitor data showing club head conditions at impact and initial ball-flight kinematics.  All the data was synched and tagged and downloaded into a MS3 database for analysis by myself and others who were interested in certain data outputs.

In my sports performance studies, I may use a variety of measurement technologies for a study but each one serves a different purpose.  The motion capture data is used for forward dynamics modeling to create digital human models that can be used like virtual robots to perform they same action over and over in the computer simulation.  I use the inertial sensor technologies to directly measure body segment angular velocities and accelerations that provide both performance and injury metrics for an individual athlete. I use optical camera systems or radar technologies to measure resultant ball spin characteristics both to analyze performance and to validate simulation results.  While I end up creating custom algorithms to analyze all of the data sets, each has their own purpose: some are for characterizing athletes, some are for validating synergistic modeling and simulation work, others are used strictly for performance analysis. Through experience and relevant biomechanics knowledge, I can spend more time on modeling and algorithm developmental work, and much less time on data post-processing and analysis as I am working with appropriately selected data metrics.

From my professional experiences, I have a good general understanding and implementation of numerical optimization methods, gradient-based algorithms, fuzzy logic, machine learning, and neural network modeling approaches, particularly in design optimization problems, pattern recognition, and articulated rigid body dynamic analyses. I also have vast experience performing data reduction and statistical analysis of experimental research and clinical results and conducting comparisons to advanced simulation results, utilizing both custom written code (MATLAB, Python, R) as well as turnkey solutions (SAS, Minitab, Excel).

A few of the key highlights for my custom algorithm development are:

  • Developed an accurate and repeatable data extraction and processing routine for vector kinematic data from multiple motion capture technologies and from an on-board shaft (inertial sensor system) data acquisition system.
  • Incorporated an automatic filtering and differentiation routine using power spectral assessment methods for more optimal cut-off frequency selection for post-processing optical tracking motion capture data in player performance studies.
  • Developed and implemented a Kalman filtering routine for improved estimation of dynamic 3D motion data files for missing and noisy time history applications, specifically for motion capture and inertial sensor data files.
  • Developed a 6 DOF pose estimation algorithm for both position and orientation using an extended Kalman filter to fuse the inertial measurements from a wireless inertial sensor tracking prototype for baseball pitching and hitting.
  • Utlilized pattern classification techniques for characterizing golfer swing profiles based on physical characteristics, player kinematic and kinetic parameters, and shaft/club 3D motions, angular velocities, and accelerations.
  • Created an advanced performance fitting algorithm based on optimal launch and spin robustness for any swing profile using measured or predicted club head orientations at impact.  Algorithm allowed for club head center of mass optimization or inertial properties of whole club based on results from synergistic dynamic swing model simulations and analysis.
  • Developed a rigid body club head analysis routine based on Monte Carlo simulation methods incorporating player swing inputs, predicted and/or measured ball trajectories, and user weighting functions for desired ball flight to determine the most optimal club head parameters.
  • Managed the development of both analytical and experimental tools for concurrent club head design and fitting programs based on player characterization efforts, including player swing kinematics, impact conditions, and resultant golf ball trajectories.
  • I have considerable experience using advanced symbolic manipulator software programs (MotionGenesis Kane, AUTOLEV, and Maple) for forward dynamics biomechanical model derivation and programming of the equations of motion (MATLAB, C/C++) as well as turnkey software solutions (ADAMS, FigMOD, LifeMOD).


Leave a Reply

Your email address will not be published. Required fields are marked *