Jeffrey Aguilar

data science | engineering

Analyzing Jumping Dynamics

As a master’s student, while pursuing a degree in mechanical engineering, my research was conducted in a robophysics (you can read the review on this field here, which I led in authoring as a PhD candidate) lab. The work I did in this lab (through both my MS and PhD) blended physics modeling, robotics, experimental design, data collection, modeling, simulation, and extracting insights from data. This post looks at some data science aspects of a research paper I contributed to, titled “Lift-Off Dynamics in a Simple Jumping Robot.”

The Experiment

In this study, we built a physical robot comprising a linear actuator and spring to model jumping dynamics. I systematically varied parameters like oscillation frequency, amplitude, and phase offset and recorded metrics like jump height and takeoff time.

This required designing a robust experiment and data collection process:

  • I use video tracking to gather position data during jumps. This provided insights into phenomena like distinct jumping modes.
  • Developing a simple way to parametrize the robot’s maneuvers was crucial to exploring different jumping techniques. I chose a basic sine wave to describe how the motor oscillates up and down it’s thrust rod, allowing to varying parameters like amplitude, frequency and phase.
  • Automating the robot allowed for efficient exploration of the parameter space, performing over 20,000 jumps for this experiment.

Data Analysis and Modeling

The large datasets enabled analysis of how jumping dynamics depend on input parameters. I generated visualizations to explore the data:

Heatmaps like this revealed interesting structures like optimal jump heights occurring away from the spring-mass jumping system’s natural oscillation frequency.

To further analyze the dynamics, we developed a simplified mathematical model of the robot and simulated it across various parameters. Being able to closely match simulations to real experiments required carefully modeling components like ground collisions.

Comparing simulation data against our experimental results was crucial for validating conclusions and developing explanations for phenomena observed.

Key Insights

The analysis led to counterintuitive insights about optimal jump conditions:

  • Highest jumps did not occur at the robot’s resonant frequency
  • Depending on phase, optimal jumps happened above or below the natural frequency
  • A distinct “stutter jump” mode emerged at lower frequencies – this, combined with the extra time required for preliminary hop resulted in a jump requiring only 1/10th of the deformation power to produce a similar height as an optimal single jump.

The simulations and models provided a detailed, mechanistic understanding of these phenomena based on system energetics and transient dynamics. To experiment with this jumping model, you can visit this interactive website that I built with processing.js.

Additional Work

I was able to gain additional insights from the robot platform regarding the dynamics to achieve lift-off by capturing the moment of lift-off with a contact sensor. In one experiment, sweeping frequency and phase of oscillation, I implemented a binary search algorithm to determine the minimum oscillation amplitude required to achieve lift-off within 1 cycle and 5 cycles. Interestingly, for taking off within 1 cycle (most relevant for jumping purposes), the frequency with the lowest minimum amplitude never occurred at jumping system’s resonant frequency, highlighting the transient dynamics at play during these short time-scales.

This concept was bolstered in a second experiment where I measured the time to liftoff (in oscillation cycles) for over 30,000 combinations of amplitude and frequency.

At two different phase offsets, smaller times to lift-off resulted in optimal frequencies that where sensitive to phase offset and deviated further from the system’s resonant frequency. More on this work can be found in Chapter III of my master’s thesis.

Blog at WordPress.com.