DynRow: Rowing application in Python

Topics relating to online racing and training with 3rd party software.
Post Reply
monsdar
Paddler
Posts: 12
Joined: January 25th, 2015, 11:27 am

DynRow: Rowing application in Python

Post by monsdar » January 25th, 2015, 11:36 am

Hi,

First time posting here, I hope that's the right category to post on (looks kind of dead to me, but I'll try anyway).
I just committed a first version of DynRow, a sideproject of mine. I'll just paste the GitHub-description in here:
DynRow connects to the Concept2 Ergometer and shows a birds-eye view of you rowing versus bots.

Here are some videos to get a basic idea of how it looks like and what it does:

0.1: First Prototype
0.2: Initially uploaded version
0.3: First version with stats being shown
My vision is to create a rowing application which displays thorough statistics about your current workout. In addition to that 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
Rubberband: 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
Heartrate: You set up your desired target heart rate and the bot will row 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. Try to keep pace
... There are a lot of different bots possible, time will tell what bots are the most useful
Another idea is to implement a logic which adds additional boats to your workout. So besides the bots you specifially set up there will a lot different boats with randomized behaviour. The goal is to have a widely populated environment instead of simply the same 2 boats you row with your entire session. We'll see how this works out.

The software uses a slightly modified version of PyRow and has been tested to work on a Xubuntu 14.04 machine connected to a PM5 monitor. I'm open sourcing this software to allow people to adopt it to their own machines. It also could be useful to have as much different bots as possible.

The modifications of PyRow are made to be able to work with my PM5 monitor. There's also some additional exception handling added. I haven't made much effort to keep it portable to PM3/4 monitors, it's currently just set up to get it up and running on my system.

T_B
Paddler
Posts: 27
Joined: June 21st, 2009, 5:56 pm

Re: DynRow: Rowing application in Python

Post by T_B » January 25th, 2015, 4:59 pm

Awesome!
I just tried it - error receiving monitor status - USB timeout. Ubuntu 14.04
I assume that is caused by me using a PM4?

monsdar
Paddler
Posts: 12
Joined: January 25th, 2015, 11:27 am

Re: DynRow: Rowing application in Python

Post by monsdar » January 25th, 2015, 5:21 pm

I needed to change a few values in Pyrow to get it running with the PM5, so it'll probably not work anymore with older monitors. You could try to use the original Pyrow files instead of mine. You also need to have libusb and pyusb up, which could be complicated on some systems.

I'm on my phone now, so it's hard to give good support. Let me know if you're still stuck and I'll see if I can give further advices tomorrow.

The whole thing is currently nothing more than a prototype, don't get too hyped ;)

T_B
Paddler
Posts: 27
Joined: June 21st, 2009, 5:56 pm

Re: DynRow: Rowing application in Python

Post by T_B » January 26th, 2015, 3:38 pm

Got it working - applied the patch to pyrow and did the 'pip thing' to get pyusb working. Haven't got time to play with it further though.
Very interested in this development. Let me know if you want new versions to be tested.

monsdar
Paddler
Posts: 12
Joined: January 25th, 2015, 11:27 am

Re: DynRow: Rowing application in Python

Post by monsdar » January 27th, 2015, 1:22 pm

Sounds great!
I'm planning on updating it on the weekends and when there's time after work. I'll report back if there has been another update

T_B
Paddler
Posts: 27
Joined: June 21st, 2009, 5:56 pm

Re: DynRow: Rowing application in Python

Post by T_B » January 27th, 2015, 4:48 pm

monsdar wrote:Sounds great!
I'm planning on updating it on the weekends and when there's time after work. I'll report back if there has been another update
Gave it another try today, this is really a nice start and based on your videos you are making progress fast. Seems like DynRow is not responding to any input yet correct? So not something like "end training session"?
Maybe too soon to request stuff, but it would be nice to be able to schedule a training with this program and only have one trainingbot. You don't really need all kind of different bots then and just adjust the variables for your training. You could even setup and share a training schedule if it is possible to save a routine :)
Looking forward to your updates.

monsdar
Paddler
Posts: 12
Joined: January 25th, 2015, 11:27 am

Re: DynRow: Rowing application in Python

Post by monsdar » January 27th, 2015, 5:30 pm

Yeah, that's definitely on the list, I however first wanted to get the base running good. It'll probably be one of the next things I'm including

monsdar
Paddler
Posts: 12
Joined: January 25th, 2015, 11:27 am

Re: DynRow: Rowing application in Python

Post by monsdar » February 13th, 2015, 11:44 am

I did some minor changes to the code in the last few weeks, nothing big unfortunately. Have to get my injured knee back on track, so I'll be able to test the software myself. It's currently kind of hard to guess if this or that feature is of good use or if I should invest some more time to fine-tune it. It's also hard to motivate myself to work on something which I couldn't try directly.

On my short-term Todo-List is the implementation of additional bots, I would like to have the Record/Replay-Bot integrated. I also thought a bit about possible ways on how to set up the training session. There currently is nothing implemented, so the workout just starts with some hardcoded default bots.

I'll be posting further updates and background information to my blog which could be found here:
http://www.nilsbrinkmann.com

User avatar
kdahlhaus
500m Poster
Posts: 95
Joined: September 17th, 2006, 2:13 pm
Contact:

Re: DynRow: Rowing application in Python

Post by kdahlhaus » November 21st, 2015, 2:15 pm

Just added a minor feature to DynRow: start with --name YOURNAME to set the player's boat to your name. There's a pull request in github for it.

I'm looking forward to some real rows with it (once I get over this cold... :evil: ).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://powertwenty.com
'Do' or 'Do not', there is no 'Try' -Yoda

Post Reply