Recently I thought about…

I log my calisthenics workouts to Strava and use my fitbit to track the heart rate. It’s nice to see the analytics in there.

One of the features in Strava for running all the plots have elevation graph overlayed on top of them. Which allows you to see how changes in your pace or heart rate with changes in elevation.

I wondered if something similar can be to compare heart rate against power exerted during the workout. When you lift weights or do squats, all of those movements you do some work which requires power.

Physically speaking, power is force times velocity. If you strap your phone to the part of the body that is being moved then your phone can be used to track the velocity1. Although, this does mean that you’ll need to move your phone around depending on the exercise.

To calculate the force, well, it depends on the weight worked with in the exercise. Generally speaking, in calisthenics you work with your weight, meaning the force is just your mass times acceleration due gravity and some discount factor. This discount factor varies on the exercise, for example for push-ups you only around your body weight, while handstand push up will be . These coefficients can be obtained online or be approximated with back of napkin calculations.

To be able to do that, it does mean that you need to have a way to keep track of timestamps of beginning and end of movement, and also have a class what movement was done. This information could be tracked by a workout app, I am using a similar one like Hevy, but you’d need to be precise with your labeling.

In the end, when completing my thoughts, I figured that this is too much work to do and I won’t do. And takes a lot of manual effort to keep track of, just to get a power plot. Maybe, some of the tracking and labeling tasks could be automated by also filming a video, passing it through a 3d pose model and then classify the points to get the exercise and aggregate the time duration each one was done for.

Footnotes

  1. The velocity will need to be cleaned as a signal, using something like a band-pass filter