Tuning/calibrating ORM to a concept 2 model C/PM2 #49
Replies: 7 comments 8 replies
-
ORM is quite reliable. I've been testing it against a PM5 for over 5000K now, about 500 sessions, and it has shown to be reliable. We are hitting the point where I'm optimising the configuration for the RowErg (which has 6 magnets instead of the Model C's 3), and I'm trying to get from 0.3% deviation to 0.1% deviation. We are getting there, but it is a lot of small tweaks to make it happen. In calibrating against a PM5 on a RowErg, I normally get within the 1 second accuracy (on a 21K, so that isn't much of a difference). HOWEVER, that is on a slightly different setup on an experimental branch (which is the "regression_completeness" branch) and I'm stil homing in on the settings involved.
It is quite a complex process, as it isn't just the tiny pace difference you're dealing with, it is also startup and closedown behaviour of both the monitors. In server.js, you'll find an object "intervalSettings", which ORM obeys. By setting a fixed time or distance on both ORM and the PM, I can exclude the messy ending of a session, as it will terminate the session abruptly as it crosses the finishline. On any given setting, I do several different distances (in my case, 5K, 10K and 21K). Based on that, I can see how much time is deviating per distance. The trendline will tell you two things: the way the error becomes bigger/smaller over increasing distance (i.e. pace errors), and the offset (i.e. startup deviation). Typically, a pace error you'll resolve with changing the flywheelInertia. When the time deviation is identical across all distances, the pace is good, but the startup behaviour causes the deviation. If ORM is too fast on longer distances, you need to reduce the flywheelinertia. Information from credible sources indicate that the true inertia is 0.1001 (it can be measured independently), where we currently use 0.10148, but in my experimental setup I'm moving to 0.1013. So there is some movement in that area. Startup behaviour is governed by two parameters: maximumTimeBetweenImpulses which determines when the flywheel is really spinning, and dragFactor, which determines what dragfactor is used for the first stroke (as no dragfactor is experimentally determined yet). There are some indications that the current 0.0145 for maximumTimeBetweenImpulses is pretty decent, but dragfactor 110 might be too restricted (in experimental settings I often use 220). As I'm aiming to remove pace out of the equation first, I'm still puzzled by these two. Please look to laberning#157 and laberning#151 as well, as several people made stome steps to some settings as well. |
Beta Was this translation helpful? Give feedback.
-
Thanks! I’m off to do a test session so I can compare the measurements in a more specific exercise setting rather than just 5-20 strokes to confirm I’m getting data. During one such test I noticed that ORM counted a couple strokes after I had put the handle down. Is this related to the tail of data mess you describe? (doesn’t really matter if a 1400 stroke session has 2-4 phantom strokes I guess) |
Beta Was this translation helpful? Give feedback.
-
Did 1400 meter trial run, and distance data was pretty consistent. If anything, the ORM lagged ever so slightly/counted slightly fewer meters - but then took longer to stop counting when I put the handle down, and ended up pretty much in the same spot. Otherwise, impressively consistent with the PM2 for strokes/min and so on. Is there anything to be done about the ~5 phantom strokes at the end? Not a huge deal if I row 2K+ consistently, but could skew data quite a bit for say 500m intervals. current rower settings:
Also, I get a LOT of these entries in the logs as session ends(?) maybe:
Is this expected? Thank you for all your help holding my hand here! |
Beta Was this translation helpful? Give feedback.
-
So. Taking a look at the data/logs, there are clear anomalies when I set down the the handle where the data clearly reflect phantom strokes (rowingdata.csv excerpted lines at the bottom, full file linked) In particular, I am noticing the ludicrously high SPM hike, which go from a reasonably consistent 29-32 to 35-38 as I lay my erg handle down. This would be consistent with stroke detection having a slight hiccup. So. What do I tune?
rowingData.csv:
|
Beta Was this translation helpful? Give feedback.
-
here is a graph of the raw sensor data there are two pauses in the data, and a tail between each pause - is this where ORM gets confused maybe? kinda weird my strokes / min goes up as time between impulses increases (if this is indeed the case) |
Beta Was this translation helpful? Give feedback.
-
Opened up the rower again, fiddled for a while to reposition the magnet-detector, and got (seemingly) reliable stroke detection... after changing to 'down' flank. I got one extra stroke counted, maybe? as I put down the handle. I need to test with the PM2 to verify distances etc. The log graph also looks a lot cleaner now. less jitter at the end. I am noticing I am rather consistently far below the would it be advisable to adjust this value to say 0.027? Heck it, I'll do it and try tomorrow. Need the rowing form practice anyhow (I am not at alle experienced on the rower -- which my post-settings-change-test DOMS readily attest to.) |
Beta Was this translation helpful? Give feedback.
-
Hi I would like to jump into the discussion... |
Beta Was this translation helpful? Give feedback.
-
After a few hassles (proper sensor placement, changing WiFi channel for the 2.4 GHz band, pulling the flywheel off at least twice to get into the guts) I’ve got ORM set up on my Model C rowerg. I think it might be slightly ahead of the PM2 though… how reliable is the meters rowed etc?
If/once confirmed that it is indeed ahead, how/what do I tune?
Beta Was this translation helpful? Give feedback.
All reactions