Rowing system and method
Among other things, a rowing technology includes a first rowing machine having an electromagnetic brake providing a resistance to a rower of the machine in each rowing stroke of a series of rowing strokes of the rower An electronic controller causes the resistance of the electromagnetic brake to vary over each rowing stroke in a profile that emulates resistance to which another rower in a shell on water or on a second rowing machine is subjected in each rowing stroke of a corresponding series of rowing strokes.
1. A method for providing a social rowing experience, the method comprising:
collecting a first data stream representing motion of each stroke of a first series of strokes from a first rower of a group of two or more rowers, each rower of the two or more rowers rowing on a rowing machine or in a shell on water;
collecting a second data stream representing motion of each stroke of a second series of strokes from a second rower of the group;
processing the first data stream to generate a first display stream and communicating the first display stream to a presentation device of the second rower;
presenting, on the presentation device of the second rower, a rower interface configured to be used to select a first display configuration for the first display stream;
adjusting a playback speed of a video included in the first display stream in order to match the video to the motion of each stroke of the first series of strokes;
processing the second data stream to generate a second display stream and communicating the second display stream to a presentation device of the first rower; and
presenting, on the presentation device of the first rower, a rower interface configured to be used to select a second display configuration for the second display stream.
2. The method of claim 1 , wherein the first display configuration comprises one of a plurality of different origins of perspectives of the video, the plurality of different origins selectable using the rower interface presented on the presentation device of the second rower.
3. The method of claim 2 , wherein the plurality of different origins of perspectives comprise:
two or more different origins located at different positions on a virtual shell, and
a third origin located external to the virtual shell, the third origin corresponding to a perspective that includes the virtual shell.
4. The method of claim 1 , wherein the first display configuration comprises a plurality of different location contexts for the video, the plurality of different location contexts selectable using the rower interface presented on the presentation device of the second rower.
5. The method of claim 4 , wherein the plurality of different location contexts comprise two or more different water bodies to be portrayed in the video.
6. The method of claim 1 , wherein the display configuration comprises one of a plurality of different weather contexts, time contexts, or both weather and time contexts for the video, the plurality of different weather contexts, time contexts, or both weather and time contexts selectable using the rower interface presented on the presentation device of the second rower.
7. The method of claim 6 , wherein the plurality of different weather contexts, time contexts, or both weather and time contexts comprise at least one of a plurality of weather conditions to be portrayed in the video or a plurality of times of year to be portrayed in the video.
8. The method of claim 1 , comprising adjusting a frame rate of the video in order to match the video to the motion of each stroke of the first series of strokes.
9. The method of claim 1 , comprising generating graphical simulations that fill frame gaps in the video in order to match the video to the motion of each stroke of the first series of strokes.
10. The method of claim 1 , comprising synthesizing the video combining, as a composite video, a foreground video component with a background video component.
11. The method of claim 1 , comprising presenting, on the presentation device of the second rower, rowing performance metrics contained in the first data stream.
12. The method of claim 1 comprising adjusting a resistance of each stroke of the second series of strokes, on a rowing machine of the second rower, to correspond with rowing performance metrics contained in the first data stream.
13. The method of claim 1 comprising providing audio, visual, or audio-visual cues to the second rower to correspond with rowing performance metrics contained in the first data stream.
14. The method of claim 13 in which the rowing performance metrics comprise power or torque measurements.
15. The method of claim 13 in which the rowing performance metrics comprise stroke rate, stroke length, or shell speed.
16. The method of claim 1 , comprising:
transmitting the first data stream from a rowing machine or shell of the first rower to a server; and
transmitting the second data stream from a rowing machine or shell of the second rower to the server.
17. The method of claim 1 comprising:
transmitting the first data stream to the presentation device of the second rower from a server; and
transmitting the second data stream to the presentation device of the first rower from the server.
18. A system comprising:
two or more rowing machines, shells on water, or rowing machines and shells on water, each rowing machine or shell on water corresponding to a respective rower of a group of two or more rowers;
a server remote to the two or more rowing machines, shells on water, or rowing machines and shells on water; and
a plurality of computing devices distributed among the server and the two or more rowing machines, shells on water, or rowing machines and shells on water, the plurality of computing devices configured to together perform operations comprising:
collecting a first data stream representing motion of each stroke of a first series of strokes from a first rower of the group of two or more rowers;
collecting a second data stream representing motion of each stroke of a second series of strokes from a second rower of the group of two or more rowers;
processing the first data stream to generate a first display stream and communicating the first display stream to a presentation device of the second rower;
presenting, on the presentation device of the second rower, a rower interface configured to be used to select a first display configuration for the first display stream;
adjusting a frame rate of a video included in the first display stream in order to match the video to the motion of each stroke of the first series of strokes;
processing the second data stream to generate a second display stream and communicating the second display stream to a presentation device of the first rower; and
presenting, on the presentation device of the first rower, a rower interface configured to be used to select a second display configuration for the second display stream.
19. The system of claim 18 , wherein the first display configuration comprises one of a plurality of different origins of perspectives of the video, the plurality of different origins selectable using the rower interface presented on the presentation device of the second rower.
20. The system of claim 18 , wherein the operations comprise adjusting a playback speed of the video in order to match the video to the motion of each stroke of the first series of strokes.
21. The system of claim 18 , wherein the operations comprise adjusting a resistance of each stroke of the second series of strokes, on a rowing machine of the second rower, to correspond with rowing performance metrics contained in the first data stream.
22. The system of claim 18 , wherein the operations comprise providing audio, visual, or audio-visual cues to the second rower to correspond with rowing performance metrics contained in the first data stream.
23. A method for providing a social rowing experience, the method comprising:
collecting a first data stream representing motion of each stroke of a first series of strokes from a first rower of a group of two or more rowers, each rower of the two or more rowers rowing on a rowing machine or in a shell on water;
collecting a second data stream representing motion of each stroke of a second series of strokes from a second rower of the group;
processing the first data stream to generate a first display stream and communicating the first display stream to a presentation device of the second rower;
generating graphical simulations that fill frame gaps in a video included in the first display stream in order to match the video to the motion of each stroke of the first series of strokes;
presenting, on the presentation device of the second rower, a rower interface configured to be used to select a first display configuration for the first display stream;
processing the second data stream to generate a second display stream and communicating the second display stream to a presentation device of the first rower; and
presenting, on the presentation device of the first rower, a rower interface configured to be used to select a second display configuration for the second display stream.