Small changes to README_coach.md
This commit is contained in:
parent
0170920113
commit
07f41297c2
|
|
@ -1,5 +1,21 @@
|
|||
# Extending open rowing monitor (mostly javascript)
|
||||
|
||||
We can use python functions via node.json to use [RowingData](https://pypi.org/project/rowingdata/) [See below](## RowingData)
|
||||
|
||||
* [child_process.spawn() function](https://nodejs.org/api/child_process.html#child_processspawncommand-args-options)
|
||||
* [child_process.spawnSync](https://nodejs.org/api/child_process.html#child_processspawnsynccommand-args-options)
|
||||
|
||||
[How to run a python script from node.js](https://www.halo-lab.com/blog/how-to-run-a-python-script-from-node-js)
|
||||
|
||||
or we can use [node-calls-python](https://www.npmjs.com/package/node-calls-python) to call
|
||||
Python from Node.js directly in-process without spawning processes using an
|
||||
embedded Python interpreter. [More examples](https://github.com/hmenyus/node-calls-python/tree/main/test)
|
||||
|
||||
If the execution time of your Python code is less than creating a new process,
|
||||
you will see significant performance problems because your Node.js code will
|
||||
keep creating new processes instead of executing your Python code. Suppose you
|
||||
have a few NumPy calls in Python,you don't want to create a new process for that
|
||||
|
||||
## Libraries
|
||||
|
||||
* [Node.js](https://nodejs.org/en) is a JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
|
||||
|
|
@ -220,7 +236,7 @@ https://www.chartjs.org/docs/latest/samples/line/line.html
|
|||
* Calories used (kcal)
|
||||
* Training Duration
|
||||
* Heart Rate (supports BLE and ANT+ heart rate monitors, ANT+ requires an ANT+
|
||||
USB stick USB id 0x1008 or 0x1009)
|
||||
USB stick USB id 0x1008 or 0x1009)
|
||||
|
||||
* web sockets front end
|
||||
* BLE (FTMS indoor bike, FMTS rower, concept2 PM)
|
||||
|
|
@ -235,12 +251,18 @@ and csv raw data.
|
|||
|
||||
Make the data accessible in python and create useful plots.
|
||||
|
||||
* Color HR band charts or Pie Charts (implemented)
|
||||
* Plot drive length, drive time, and other erg related parameters as a function
|
||||
of time or distance (implemented)
|
||||
* Create histograms (Do-it-yourself).
|
||||
* And much more (do-it-yourself). You’ve got the entire Python matplotlib at
|
||||
your disposal. Goodbye excel!
|
||||
* Upload fitness data captured in TCX format to the Concept2 logbook
|
||||
* Get erg data captured with apps that have no “upload to Concept2”
|
||||
functionality and upload them to the Concept2 logbook
|
||||
* Get erg data captured with apps that have no TCX export functionality and
|
||||
convert hem to TCX
|
||||
* Make the data accessible in python and create useful plots.
|
||||
* Color HR band charts or Pie Charts
|
||||
* Plot drive length, drive time, and other erg related parameters as a function
|
||||
of time or distance (implemented)
|
||||
* Create histograms (Do-it-yourself).
|
||||
* And much more (do-it-yourself). You’ve got the entire Python matplotlib at
|
||||
your disposal.
|
||||
|
||||
The project is based on:
|
||||
|
||||
|
|
@ -278,19 +300,18 @@ program in relation to improvements over time.
|
|||
Heart rate should remain below upper limit of "expected zone".
|
||||
Advise that heart rate above upper limit by >1 bpm means user must reduce
|
||||
effort.
|
||||
|
||||
* Instruction on when to take rest days.
|
||||
* Recording of heart rate after work-outs too, to identify pending illness.
|
||||
* Coach warns of overtraining when performance declines steadily over, say 4 or
|
||||
more, days.
|
||||
* When overtraining is indicated, Coach suggests: skip a day or two; eat more;
|
||||
Coach also warns of overtraining when, after a skip, performance has not
|
||||
returned to before.
|
||||
Coach also warns of overtraining when, after a skip, performance has not
|
||||
returned to before.
|
||||
* Coach suggests work rates based on recent past performance.
|
||||
* Perhaps present this as a choice for the user, perhaps between:
|
||||
(Coach's default, perhaps based on yesterday's performance), and (user choice).
|
||||
(yesterday's performance) and (the day before's performance).
|
||||
(low|easier|"get the job done") versus (high|harder|"make a mark").
|
||||
(Coach's default, perhaps based on yesterday's performance), and (user choice).
|
||||
(yesterday's performance) and (the day before's performance).
|
||||
(low|easier|"get the job done") versus (high|harder|"make a mark").
|
||||
* Marking of results of rows rows taken in contravention of instructions.
|
||||
* Display of recorded rows highlighting contraventions, say in red.
|
||||
* Have an optional way to, temporarily, display results without the red.
|
||||
|
|
@ -309,8 +330,44 @@ program in relation to improvements over time.
|
|||
* For athlete levels 1 (not exercised for 3 years) to 5 (hero).
|
||||
* Have table of suggested rowing effort and duration.
|
||||
|
||||
## Sensor Methods
|
||||
|
||||
### IMU
|
||||
|
||||
motion analysis, most require athletes to wear sensors to acquire their posture data; however, this method easily introduces noise due to friction during motions
|
||||
|
||||
[AUTOMATED ROWER ASSIGNMENT TO ROWING EVENTS: A MACHINE LEARNING APPROACH](https://commons.nmu.edu/cgi/viewcontent.cgi?article=2810&context=isbs)
|
||||
|
||||
### Video
|
||||
|
||||
2D pose analysis using [OpenPose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) system to capture the skeletal joints of individuals, even in complex postures, using a simple camera.
|
||||
|
||||
[OpenPose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) Real-time multi-person keypoint detection library for body, face, hands, and foot estimation, with python api.
|
||||
[OpenPose Video](https://www.youtube.com/watch?v=OgQLDEAjAZ8)
|
||||
|
||||
[Automatic Rowing Kinematic Analysis Using OpenPose and Dynamic Time Warping]()
|
||||
|
||||
[Intelligent Performance Evaluation in Rowing Sport Using a Graph-Matching Network](https://pmc.ncbi.nlm.nih.gov/articles/PMC10532480/)
|
||||
This study aimed to develop a video-based approach to analyze the performance of
|
||||
rowing poses of rowing pairs. To enable effective automatic comparison of rowing
|
||||
poses, the OpenPose system was used to extract robust rowing pose features and
|
||||
convert them into a graph structure. Subsequently, the GEM and GMN models were
|
||||
utilized to analyze the similarities in rowing postures between each pair of rowers.
|
||||
|
||||
### [Rowsandall](https://analytics.rowsandall.com/) Rowsandall Rowing Data Analytics
|
||||
|
||||
[Rowsandall Manual](https://analytics.rowsandall.com/2022/04/12/training-planning-updated-manual-for-rowsandall-com/)
|
||||
[In-Stroke Metric Analysis Comparison](https://analytics.rowsandall.com/2022/10/29/in-stroke-metric-analysis-comparison/)
|
||||
[Force Curves and In-Stroke Analysis](https://analytics.rowsandall.com/2024/06/20/how-to-work-with-force-curves-and-in-stroke-analysis/)
|
||||
[Quantifying Training Intensity Distribution](https://analytics.rowsandall.com/2021/06/10/quantifying-training-intensity-distribution-new-tool/)
|
||||
|
||||
[RowingData](https://pypi.org/project/rowingdata/)
|
||||
|
||||
|
||||
## Other projects
|
||||
|
||||
### [Rider ride data from TCX plotted](https://www.kaggle.com/code/runesh/rider-ride-data-from-tcx-file-plotted-on-a-graph) python notebook
|
||||
|
||||
### [dynrow](https://github.com/monsdar/dynrow)
|
||||
|
||||
Displays thorough statistics about your current workout. In addition to that
|
||||
|
|
@ -318,15 +375,15 @@ there should be a variety of bots available. Here are a few ideas:
|
|||
|
||||
* *Constant pace:* This is useful if you want to row in a certain tempo
|
||||
* *Boomerang:* They're rowing at a constant pace, but if they get behind you
|
||||
they will row faster. If they get too far in front, they'll decelerate to
|
||||
let you keep up with them. They're almost like the constant pace boats, but
|
||||
they'll always be around. This leads to having opponents around even at the
|
||||
longest training sessions
|
||||
they will row faster. If they get too far in front, they'll decelerate to
|
||||
let you keep up with them. They're almost like the constant pace boats, but
|
||||
they'll always be around. This leads to having opponents around even at the
|
||||
longest training sessions
|
||||
* *Heartrate:* You set up your desired target heart rate and the bot will row
|
||||
faster/slower according to your current heart rate
|
||||
faster/slower according to your current heart rate
|
||||
* *Ghostrider:* This bot replays a previously rowing session of yourself
|
||||
* *Intervals:* Usually this bot runs on a constant pace, but it'll push the
|
||||
tempo from time to time.
|
||||
tempo from time to time.
|
||||
|
||||
### Elevate
|
||||
|
||||
|
|
@ -372,6 +429,12 @@ BLE service). This is displayed as an ECG trace and heart rate graph over time.
|
|||
|
||||
### Android
|
||||
|
||||
### [Quiske App](https://www.rowingperformance.com/tutorial)
|
||||
|
||||
[Android 13 app](https://play.google.com/store/apps/details?id=com.quiske.rowingperformance&hl=en_GB) plus 'pod' (presumably an IMU) euro395
|
||||
|
||||
The phone is attached to the handle and the pod to the seat.
|
||||
|
||||
### [EXR](https://play.google.com/store/apps/details?id=com.SaltyLemonEntertainment.EXR)
|
||||
|
||||
EXR | Row together Virtually Subscription: € 7,95/month
|
||||
|
|
@ -436,3 +499,10 @@ The PM6 Super Plus:
|
|||
because sometimes I'm just not feeling a track. Hate myself for adding this
|
||||
one but it would be cool as hell, plus great to be able to make changes
|
||||
(e.g. add 1000m to a steady state piece) mid-row without breaking rhythm.
|
||||
|
||||
## Books
|
||||
|
||||
* Biomechanics of Rowing -- Valery Kleshnev -- Crowood
|
||||
for people who want to measure numbers in rowing, relate them to technique
|
||||
and give specific advice to coaches and rowers.
|
||||
* Rowing Faster - 2nd Edition -- Volker Nolte -- 2, 2011 -- Human Kinetics
|
||||
Loading…
Reference in New Issue