The number of bicycle trips has more than doubled in the past decade, and major cities in the U.S. have experienced more than 80% increase in the number of cyclist commuters. This rapidly growing bike culture is supported by the economical, health and environmental causes. However, this rapid growth is accompanied by a steady growth in the rate of bicycle accidents and fatalities. In 2011 alone, there were 1.85 pedal-cyclists deaths and more than 130 reported injuries per day in the United States. The great majority of bike accidents occurred as a result of crashes with motor vehicles. Further, most of the bike accidents were due to human factors attributed to the cyclists. The lack of safety is a major contributing factor to lower the use of bicycles on the streets and which prevents us from aforementioned benefits.
The present application is directed towards a modular accessory for a bicycle so as to make the cycling exercise safer on the streets. The proposed system is composed of three parts: a front console, a back console and a computer-based application. In some embodiments, the front and back consoles can be removable attachments that will be installed on the steering wheel and seat post, respectively. In an embodiment, the front and back consoles can be integrated with line-lasers, proximity sensors, vibrators, LEDs and speakers. In some embodiment, each console may include two line-lasers to project a virtual bike lane on the ground. Additionally, in an embodiment, a pair of proximity sensors can be integrated into each console to detect objects around the cyclist. In some embodiments, the speaker can alert the cyclist in case of any dangerous situation. Additionally, in an embodiment, by using a series of LEDs, the back console can provide the signaling and the front console can illuminate the road ahead.
In one aspect, the present disclosure is related to a method for interactive cyclist monitoring and crash prevention. The method includes creating, by a safety sensor, a smart lane around a bike operated by a rider during a cycling session. The smart lane may indicate a safe zone around the bike. The method further includes detecting, by the safety sensor, an object approaching the smart lane during the cycling session; and generating, by the safety sensor, an alert to the rider of the bike to notify the rider of the approaching object. In some embodiments, the method includes the safety sensor generating the smart lane on a surface around the bike during the cycling session. In other embodiments, the smart lane may be displayed on a computing device display visible by the rider during the cycling session.
In some embodiments, the method includes determining, by the safety sensor, the object has come within a pre-determined distance of the bike. In an embodiment, the safety sensor may detect a change in a cycling route condition. In one embodiment, the safety sensor may detect a detect a change in a road condition. The change in the road condition may include at least one of a pothole and a change in elevation of the road. In some embodiments, the safety sensor may generate an alert. In an embodiment, the safety sensor may transmit to a processor commands to activate at least one of a speaker, a laser light, and a vibrator. The alert can include at least one of an audio alert, visual alert, and a tactile alert. In some embodiments, the audio alert may include generating, by a speaker, audio commands to the rider to change a current bike characteristic of the cycling session. In an embodiment, the visual alert may include changing, by a laser light, a light behavior corresponding the smart lane to change a visual view of the smart lane. In some embodiments, the method further includes blinking, by a laser light, lanes of the virtual smart lane to notify the rider when a motor vehicle approaches the virtual smart lane.
In an embodiment, the method further includes changing a display of the virtual smart lane on a hand held computing device to notify the rider when a motor vehicle approaches the virtual smart lane. In some embodiments, the tactile alert includes vibrating, by a vibrator, a component of the bike structure to alert the rider of the approaching object. In an embodiment, the tactile alert further includes vibrating a component of the bike structure to alert the rider of a dangerous situation. The dangerous situation may include at least one of an upcoming intersection in the road and a sharp turn in the road. In an embodiment, the safety sensor can be coupled to at least one of a motorcycle and a motor vehicle. In some embodiments, the method includes receiving, by the safety sensor, input from a user via a user interface.
In another aspect, the present disclosure is related to a system for interactive cyclist monitoring and crash prevention. The system may include a safety sensor. The safety sensor may be configured to create a smart lane around a bike operated by a rider during a cycling session. The smart lane may indicate a safe zone around the bike. The safety sensor may be further configured to detect an object approaching the smart lane during the cycling session and generate an alert to the rider of the bike to notify the rider of the approaching object. In some embodiments, the smart lane may be generated on a surface around the bike during the cycling session In an embodiment, the smart lane can be displayed on a computing device display visible by the rider during the cycling session.
In some embodiments, the safety sensor may be configured to determine the object has come within a pre-determined distance of the bike. In an embodiment, the safety sensor may be further configured to detect a change in a cycling route condition. In some embodiments, the safety sensor may be configured to detect a change in a road condition. The change in the road condition may include at least one of a pothole and a change in elevation of the road. In some embodiments, the safety sensor can be configured to generate an alert. In an embodiment, the safety sensor can be configured to transmit to a processor commands to activate at least one of a speaker, a laser light, and a vibrator. The alert may include at least one of an audio alert, visual alert, and a tactile alert. In some embodiments, the audio alert can include a generated command to the rider to change a current bike characteristic of the cycling session.
In an embodiment, the visual alert can include a change in a light behavior corresponding the smart lane to change a visual view of the smart lane. In some embodiments, the tactile alert can include vibrating a component of the bike structure to alert the rider of the approaching object. In an embodiment, the tactile alert can include vibrating a component of the bike structure to alert the rider of a dangerous situation. The dangerous situation may include at least one of an upcoming intersection in the road and a sharp turn in the road. In an embodiment, the safety sensor can be coupled to at least one of a motorcycle and a motor vehicle. In some embodiments, the safety sensor can be configured to receive input from a user via a user interface. In an embodiment, a laser light can be configured to blink lanes of the virtual smart lane to notify the rider when a motor vehicle approaches the virtual smart lane. In some embodiments, the safety sensor can be configured to change a display of the virtual smart lane on a hand held computing device to notify the rider when a motor vehicle approaches the virtual smart lane.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the following drawings and the detailed description.
The foregoing and other features of the present disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several embodiments in accordance with the disclosure and are; therefore, not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be used, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and make part of this disclosure.
A concept and design of an electronic add-on to the bike structure is described herein. The add-on is composed of a smart pedal in conjunction with a computer-based application, i.e. the recommender system or coach. The system is capable of recommending appropriate cycling strategies to improve the biking experience, based on the measured cycling characteristics in the outdoor or indoor environment. The virtual coaching system can grow and adapt with a rider the more the rider uses the system by combining and analyzing data from multiple sessions. The add-on can be augmented by other physiological transducers to provide exercise outcomes as the analogous to stationary bike in the gym.
In an embodiment, the pedal sensor 110 can communicate with the virtual coach 120 to transmit characteristics of a bike via a wireless connection. The virtual coach 120 can display the received information and characteristics of the bike. In some embodiments, the virtual coach 120 can be an application executing on a hand-held computing device. In one embodiment, the virtual coach 120 can execute on a smart phone based application such as an IPHONE device manufactured by Apple Inc. In other embodiments, the virtual coach 120 can execute on a wearable computing device such as Google Glass device manufactured by Google, Inc. In some embodiments, the virtual coach 120 can be coupled to a bike frame. In one embodiment, the virtual coach 120 can be coupled to the handlebars of a bike so a rider can view the display during a cycling session. In an embodiment, the virtual coach 120 can transmit the characteristics of the bike to a separate computing device to review and analyze the information after the cycling session is over.
In some embodiments, the pedal sensor 110 is coupled to a pedal of a bike 130 being operated by a rider 140. As the rider 140 applies force to the pedal, the pedal has a rotation movement that can be measured to determine certain characteristics of the bike 130, for example, bike speed. In some embodiments, the pedal sensor 110 includes various instruments to measure the characteristics of the bike 130 during a cycling session. The pedal sensor 110 can then transmit these characteristics to the virtual coach 120. As illustrated in
As stated above, the pedal sensor is detecting characteristics of the bike 130 based on the operation of the pedal.
In some embodiments, the pedal 210 is the part of a bicycle that the rider applies force to with their foot to propel the bicycle. The pedal 210 may include a pedal shaft adapter that connects to an end of the crank shaft 220. Additionally, the pedal 210 may have a body, on which the foot rests or is attached, that is free to rotate on bearings with respect to the pedal shaft. In an embodiment, the pedal shaft may be referred to as a spindle. In some embodiments, the pedal body may include a flat surface to rest the foot on. In other embodiments, the pedal body may include a cleat connection. The cleated connection, for example, may mate with a similar cleat connection point on the rider's shoes, allowing the rider to “clip into” the bike. In an embodiment, the pedal 210 provides a connection between the cyclist's foot or shoe and the crank shaft 220, allowing the leg to propel the bicycle's wheels.
In some embodiments, the crank shaft 220 is the component of a bicycle drivetrain that converts the reciprocating motion of a rider's legs into rotational motion used to drive the chainring 230 and the chain 240, which in turn drives the rear wheel 260. In some embodiments, the crank shaft 220 transfers the force applied to the pedal 210 by the rider to the chainring 230 and the chain 240. The crank shaft 220 is coupled to the pedal 210 via the pedal shaft adapter. In some embodiments, the crank shaft 220 is coupled to the chainring 230 via a bolted connection. As the rider applies force to the pedal 210, the crank shaft 220 rotates around its connection to the chainring 230. In an embodiment, the pivot 225 for the crank shaft can be where it connects to the chainrung 230. In some embodiments, this rotational movement of the crank shaft 220 causes the chainring 230 to rotate.
In some embodiments, the chainring 230 is coupled to the crank shaft 220 and the chain 240. An end of the crank shaft 210 may be connected to a middle portion of the chainring 230. In some embodiments, the crank shaft 210 may be bolted to the chainring 230. The chainring 230 may include a threaded hole through the middle of the chainring 230 to insert a bolt and connect the crank shaft 220. As the crank shaft rotates in response to force applied by the rider, the chainring 230 may rotate causing the chain 240 move. In some embodiments, the chainring 230 may have a threaded outer surface, for example, the outer circumference of the chainring 230 may shaped as teeth. The teeth of the chainring 230 may be spaced at a particular distance to engage every link of the chain 240 as it passes over. In an embodiment, as the chainring 230 rotates, the teeth grip and pull the chain 240, causing the chain 240 to rotate.
In some embodiments, the chain 240 may include links that fit into the teeth of the chainring 230. The chain 240 may be coupled to the chainring 230 and the cassette 250 on the rear wheel 260. In some embodiments, as the chain 240 is pulled by the rotational movement of the chainring 230, the chain 240 causes the cassette 250 to rotate. In some embodiments, the cassette 250 may have a threaded outer surface referred to as teeth, similar to the chainring 230. The links of the chain 240 may be coupled to the teeth of the chainring 250. The teeth of the cassette 250 may be spaced at a particular distance to engage every link of the chain 240 as it passes over. In some embodiments, the rotational movement of the cassette 250, caused by the chain 240, may cause the rear wheel 260 to rotate.
In some embodiments, the cassette 250 may be coupled to the rear wheel 260 via a mechanical adapter. In an embodiment, the cassette 250 may include a cogset. A cogset may be coupled to a rear derailleur as part of a drivetrain to provide multiple gear ratios to the rider. In some embodiments, as the cassette 250 rotates the rear wheel 260 rotates, causing the bicycle to move. In some embodiments, the cassette 250 may transfer force from the chainring 230 and chain 240 to the rear wheel 260.
In some embodiments, the rear wheel 260 can be propelled by the force a rider applies to the pedal 210. In an embodiment, the rear wheel can be coupled to the cassette 250. The rear wheel may rotate in response to forces applied on the cassette 250. Thus, measurements taken at the pedal 210 can be used to determine a speed of the rear wheel and the speed of the bike. In some embodiments, these measurements can be transmitted to a virtual coaching system to monitor and provide recommendations to a rider during a cycling session. The measurements can be taken at both pedals of a bike (i.e., left pedal and right pedal). Further, the figures and descriptions herein may make reference to only one pedal, however the various embodiments of pedal sensors described herein can be applied to both pedals on the bike.
Interactive Cyclist Monitoring and Recommendations System
In some embodiments, the rotary sensor 310 may be connected to an end of a pedal body 340 via the pedal shaft adapter 320. In one embodiment, the rotary sensor 310 is coupled to the end of the pedal body 340, opposite of where the crank shaft is coupled to the pedal body 340 (i.e., the outer side with respect to the bike body). In some embodiments, the rotary sensor 310 may include at least one of an encoder, a continuous potentiometer, a digital counter, an accelerometer, and a gyroscope. In one embodiment, the rotary sensor 310 may include two encoders. In an embodiment, the rotary sensor 310 can measure pedaling speed as will be discussed in greater detail below. In some embodiments, the rotary sensor 310 may perform measurements continuously. In other embodiments, the rotary sensor may perform measurements once per rotation. The rotation may refer to a rotation of the pedal, crank shaft, or a wheel. In still other embodiments, the rotary sensor 310 may perform measurements at a specific time interval within a full rotation.
In some embodiments, to measure the pedaling speed, the rotary sensor may measure a pedal shaft displacement. The pedal shaft displacement may include two components, a crank shaft rotation with respect to its external reference and a pedal rotation with respect to the crank shaft, as will be discussed in greater detail below.
In some embodiments, the pedal shaft adapter 320 may couple the rotary sensor 310 to the pedal body 340. The pedal shaft adapter 320 may be any type of mechanical adapter. In one embodiment, the pedal shaft adapter 340 includes a nut and bolt to affix the rotary sensor 310 to a threaded end of the shaft of the pedal body 340.
In some embodiments, the electronic housing 330 may include the rotary sensor 310. In an embodiment, the electronic housing 330 may include micromechanical types of sensors. For example, the electronic housing 330 may include at least one of a tilt sensor, an accelerometer, a gyroscope, and an inertial measurement unit (IMU). As illustrated in
In some embodiments, the pedal sensor 300 may be battery powered. In an embodiment, the electronic housing 330 may include connections for a battery component. In some embodiments, the electronic housing 330 may include an electronic circuit board to power the pedal sensor 300. In an embodiment, the electronic housing 300 may include a computing device configured to collect, store, and transmit measurements from a sensor to another computing device, for example, the virtual coach.
In some embodiments, the pedal body 340 may be a standard, generic bike pedal. The pedal body 340 may include a least one flat surface for a rider to press a foot down upon. In other embodiments, the pedal body 340 may be a cleat type pedal. In such an embodiment, the rider will “clip” into the cleated connection on the pedal with a cleated connection on the rider's shoe. In still other embodiments, the pedal body 340 can be any type of bike pedal available. The rotary sensor 310 may be fabricated and/or configured to connect to any shape or type of bike pedal.
The components of the pedal sensor 300, as described herein, may comply with common electronic equipment standards. In some embodiments, the pedal sensor 300 can be fabricated to fit onto any size pedal or pedal configuration. For example, in some embodiments, the pedal sensor 300 may be fabricated to be coupled to a standard bike pedal. In other embodiments, the pedal sensor 300 may be fabricated to be coupled to a cleat type pedal. In some embodiments, all of the components of the pedal sensor 300 may be waterproof.
Θpedal+Θcrank=Θencoder
A pedal sensor, such as those described above with respect to
Where (ωflywheel) represents the angular velocity of the flywheel 460. By determining the angular velocity of the flywheel 460, the pedal sensor or the virtual coach can use the relationship between the flywheel 460 and a rear wheel 470 of a bike to determine the bike velocity (i.e., bike speed). The relationship of the flywheel 460 to the rear wheel is illustrated in
ωflywheel*rflywheel=ωwheel*rwheel
v
bike=ωbackwheel*rbackwheel=ωwheel*rbackwheel
In some embodiments, vbike equation above can be used to determine a bike velocity of a bike with a fixed gear ratio. In an embodiment, if the bike has a fixed gear ratio (i.e., no alternating gears), the rider may be prompted to answer a few questions by the virtual coach in addition to the characteristics measured by the pedal sensor. For example, in one embodiments, the rider can enter characteristics of the bike into the virtual coach. The characteristics of the bike may include a ratio of a radius of the flywheel 460 to a radius of the backwheel 470. The characteristics of the bike may further include a bike model type and a serial number. In some embodiments, the virtual coach can be configured to look up additional bike characteristics based on the entered model type and serial number. For example, the virtual coach may look up bike characteristics via an connection to the internet. Additionally, in some embodiments, the rider can enter physical characteristics, such as age, gender, and weight.
In some embodiments, a pedal sensor can transmit the bike speed to a virtual coach. In one embodiment, the pedal sensor can include a inertial measurement unit (IMU). The output of the pedal sensor can include at least a pedal speed, a crank shaft speed, and a bike speed. In other embodiments, the virtual coach can perform the calculations without the pedal sensor. For example, in one embodiment, a virtual coach can be an application executing on a smartphone. The smartphone can have an embedded inertial measurement unit (IMU). The virtual coach can utilize the IMU of the smartphone to calculate bike speed. For example, the IMU may include a gyroscope and an accelerometer, which can be utilized to derive a bike speed during a cycling session outdoors. In such an embodiment, the virtual coach can receive measurements from the pedal sensor to calculate a current gear ratio.
In some embodiments, the method 500 includes displaying, by a virtual coach, characteristics of a bike in a first virtual cycling session (505). In an embodiment, the display can be an interactive map. In some embodiments, the display can be a display for a hand-held computing device. In one embodiment, the display can be a display of a smart-phone. In other embodiments, the display can be coupled to a wearable computer device.
In an embodiment, the characteristics can be measured by a pedal sensor during a cycling session. In some embodiments, the characteristics can be transmitted from the pedal sensor to the virtual coach. In an embodiment, the characteristics can include at least one of a crank angle, a pedal angle, and a bike speed. In one embodiment, the virtual coach can store data related to a cycling accident.
In some embodiments, the method 500 further includes receiving, by the virtual coach, a heart rate measurement of the rider during a cycling session from a heart rate sensor. In embodiment, the virtual coach can display a heart rate of a rider during a cycling session. The heart rate can be transmitted from a heart rate sensor to the virtual coach. In an embodiment, the heart rate sensor can be communicatively coupled to the virtual coach. In some embodiments, the heart rate sensor can be worn by a rider, for example, around the rider's wrist or around the rider's chest. In some embodiments, the method 500 can further include receiving, by the virtual coach, a force measurement from a force sensor. In an embodiment, the virtual coach can display a force measurement. The force sensor may include any type of force or pressure measurement instrument, for example, a load cell, a pressure map, and a strain gauge. The force sensor may be coupled to various components of the bike, for example, the pedal, the rear wheel, the front wheel, and the main frame of the bike.
In some embodiments, the method 500 further includes receiving, by the virtual coach, a total distance traveled during the cycling session. In an embodiment, the virtual coach can display a distance traveled during a cycling session. In an embodiment, the virtual coach can be communicatively coupled to a GPS device. In an embodiment, the GPS device can be a component of the virtual coach. The GPS device may be configured to determine a distance traveled during a cycling session and transmit the distance traveled to the virtual coach. In some embodiments, the method 500 further includes receiving, by the virtual coach, a time value for a cycling session. In an embodiment, the virtual coach can display the time value. In some embodiments, the time value may include an elapsed time during the cycling session.
In some embodiments, the virtual coach can display a gear ratio. In an embodiment, the virtual coach can display a recommended gear ratio to the rider based on the selected cycling session. In some embodiments, the virtual coach can display a bike speed. In an embodiment, the bike speed can be determined based on the characteristics of the bike, such as the methods described above with respect to
In some embodiments, the virtual coach can display a road angle. In an embodiment, the virtual coach can measure a road angle, for example, to determine if the bicycle is going uphill or downhill. In some embodiments, the virtual coach can display a bike balance or a rider balance. In an embodiment, the virtual coach can determine a bike balance or rider balance during a cycling session. In one embodiment, the bike balance or rider balance can detect a right deviation or a right deviation
In some embodiments, the display may be a touch screen for a rider to enter information and characteristics. For example, in an embodiment, the rider may enter physical characteristics such as height, weight, resting heart rate, age, and/or gender. In other embodiments, the rider may enter characteristics of the bike such as a model type, serial number, a ratio of a flywheel to a backwheel of the bike. The virtual coach may display the information provided by the rider.
In some embodiments, the method 500 can include assessing, by the virtual coach, a performance of a rider during the cycling session (510). In an embodiment, the virtual coach can make an assessment on the performance of the rider based on the received characteristics of the bike. In one embodiment, the virtual coach may compare the received characteristics to pre-determined threshold values. In one embodiment, the threshold values may be generated and entered into a database by the rider prior to the cycling session. In other embodiments, the threshold values may be generated by an independent coach. In still other embodiments, the threshold values may be entered by an administrator of the virtual coach system. The threshold values may represent minimum or maximum performance standards of various characteristics of a cycling session. For example, in some embodiments, the threshold values may indicate if the rider is not working hard enough, working too hard, and/or if the rider is operating the bike inefficiently (e.g., pedaling too fast).
In an embodiment, the virtual coach may compare the characteristics to historical data representing past cycling sessions of the rider. In some embodiments, the virtual coach can store characteristics for past performances by the rider. The virtual coach can determine patterns or target ranges for each of the measurable characteristics based on how the rider performed in the past. For example, in one embodiment, the virtual coach can determine an appropriate gear ratio for the rider based on past cycling sessions. In some embodiments, the virtual coach can determine if a current gear ratio the rider is in is below gear ratios of past performances, above past performances, or in an allowable range based on the determined target range. In one embodiments, the target range can be based on the type of bike the rider is operating or the environmental conditions the rider is operating the bike in. In some embodiments, the virtual coach can assess a performance of the rider based on a combination of threshold values and historical data. In an embodiment, the threshold values can be determined by analyzing the historical data of the rider.
In some embodiments, the virtual coach can provide audio alerts to a rider. In an embodiment, the virtual coach can generate audio alerts to the rider during a cycling session. In one embodiment, the audio alert can be indicate to the rider that they have reached or passed a threshold value in the cycling session. For example, the audio alerts can designed to alert a rider when they have passed a pre-determined distance threshold. In another embodiment, the audio alert can indicate to a rider when the current gear ratio is not in the recommended gear ratio range. In still another embodiment, the audio alert can indicate to a rider when their current heart rate is out of a recommended range. In an embodiment, the audio alerts can be configured by a rider for any measurable characteristic related to the cycling session. In some embodiments, the threshold levels for audio alerts can be created based upon historical data related to the rider and standard threshold values.
In some embodiments, the virtual coach can continuously communicate with a transceiver. In an embodiment, the transceiver can be a component of or located on another bicycle and/or in a motor vehicle. In some embodiments, the transceiver can transmit information related to the bicycle or motor vehicle. For example, in an embodiment, the transceiver may transmit information including at least one of position information, velocity information, and destination information. In some embodiments, the virtual coach can generate alerts to a rider based on the information received from the transceiver.
In some embodiments, the method 500 can include generating, by the virtual coach, recommendations in the first virtual cycling session based on the performance of the rider (515). In an embodiment, the recommendations can be generated in response to assessing the performance of the rider during a cycling session. In some embodiments, the virtual coach can generate recommendations for a cycling session for at least one of a bike speed, a gear ratio, a calorie expenditure value, a heart rate, a distance, a time, a bike posture, and a cycling route.
In one embodiment, the recommendations may be generated to teach the rider to operate the bike more efficiently and to improve the cycling session experience for the rider. For example, in some embodiments, the virtual coach can recommend an appropriate gear ratio for a rider during cycling session. The virtual coach may determine a current gear ratio. The virtual coach may compare the current gear ratio to a threshold value, historical data, or both and determine if the rider is operating in an acceptable range. The virtual coach can then generate a recommended gear ratio to the rider. The recommended gear ratio may be faster or slower than the current gear ratio. In other embodiments, the recommended gear ratio may be the same gear ratio the rider is using, for example, if the rider is operating efficiently.
In some embodiments, the virtual coach can determine a road angle during the cycling session. The virtual coach can measure a road angle, for example, to determine if the bicycle is going uphill or downhill. Additionally, the virtual coach 650 can be configured to measure a bike balance or rider balance. For example, in some embodiments, the virtual coach can determine if the rider is pedaling too fast or too hard with one foot versus the opposite foot resulting in either a right deviation or left deviation. In response, the virtual coach can generate a recommendation to instruct the rider to pedal slower with one foot or faster with the other foot. In some embodiments, the virtual coach can recommend a posture for a rider during the cycling session. In an embodiment, the virtual coach can determine a posture of a rider on the bike during the cycling session. In some embodiments, to determine the posture, the virtual coach can compare measurements a left pedal sensor to measurements of a right pedal. In response, the virtual coach may recommend proper posture for the rider during the cycling session.
In some embodiments, the virtual coach may use the determined road angle to recommend a calorie expenditure or a work done value for a cycling session. In an embodiment, the calorie expenditure or the work done value may be the number calories burnt by a rider during the cycling session. In an embodiment, the virtual coach may generate a calories expenditure amount for a new cycling session based at least on the recommended gear ratio. In some embodiments, the virtual coach can use the road angle measurement and together with the heart rate data and the bike speed data received from the pedal sensor, prove an estimated calories expenditure value for a rider.
In some embodiments, the virtual coach can recommend alternate cycling routes for the rider. In one embodiment, the alternate cycling routes may be based on past cycling routes used by the rider. The past cycling routes may be stored in the virtual coach and include GPS mapping of the route. In some embodiments, the virtual coach can generate the alternate cycling routes for the rider. In an embodiment, the virtual coach can generate the alternate cycling routes based on the performance of the rider during the cycling session. In still another embodiment, the virtual coach can generate alternate cycling routes based on previously stored data related to the rider. The previously stored data can represent past cycling sessions and virtual cycling sessions. In some embodiments, the virtual coach can generate alternate cycling routes based on a combination of the performance of the rider and previously stored data. In an embodiment, the more often a rider utilizes the virtual coach, the virtual coach can develop more efficient and better training routes for the rider. In some embodiments, the virtual coach can generate different alternate cycling routes for two different riders, based on rider's different stored performances.
In some embodiments, the method 500 can include creating, by the virtual coach, a second virtual cycling session based on the rider performance and the recommendations (520). In an embodiment, the virtual coach may create a second virtual cycling session based on the recommendations generated. For example, in one embodiment, the second virtual cycling session may include recommendations generated by the virtual coach for a new cycling route with a recommended gear ratio, and an expected calorie expenditure, similar to the display illustrated in
In other embodiments, the virtual coach may generate the second virtual cycling session based on the assessment of the rider performance. In some embodiments, the virtual coach may generate the second virtual cycling session based on both the recommendations generated and the assessment of the rider's performance. In an embodiment, the virtual coach may create the second virtual cycling session to coach the rider and change the rider's cycling habits. In one embodiment, the virtual coach may train the rider to be more efficient when operating a bike based upon the created second virtual cycling session and additional virtual cycling sessions.
In one embodiment, the second virtual cycling session may correspond to or be based upon the alternate cycling routes generated by the virtual coach. In some embodiments, the more often a rider utilizes the virtual coach, the virtual coach can develop and create more efficient and better training routes for the rider based on a greater amount of historical data. In an embodiment, the virtual coach can generate different alternate cycling routes for two different riders, based on rider's different stored performances.
In some embodiments, the virtual coach can generate a third virtual cycling session. In an embodiment, the third cycling session can be based on the performance of the rider during the first cycling session and the second cycling session. In some embodiments, the virtual coach can continue to generate new virtual cycling sessions. Each new virtual cycling session can be based on past performances recorded by the virtual coach.
In some embodiments, the virtual coach may generate the second virtual cycling session based on a prompt from the rider. In one embodiment, the second virtual cycling session may be created upon activating and/or turning on the virtual coach system. In some embodiments, the virtual coach can generate a third virtual cycling session. In an embodiment, the third cycling session can be based on the performance of the rider during the first cycling session and the second cycling session. In some embodiments, the virtual coach can continue to generate new virtual cycling sessions. Each new virtual cycling session can be based on past performances recorded by the virtual coach. In some embodiments, the virtual coach can teach the rider to ride more efficiently by generating new cycling sessions with appropriate recommended measurable characteristics such as gear ratio, bike speed, and distances. In an embodiment, by providing more efficient cycling sessions to the rider, the virtual coach can coach a rider and change their cycling habits.
In some embodiments, the virtual coach further includes a learning module. In one embodiment, the learning module may include advanced machine learning algorithms. In some embodiments, the learning module can track behavior characteristics of the rider. The more a rider uses the virtual coach, the more information the virtual coach can analyze and track. In an embodiment, the learning module can generate exercise goals for the rider based on the behavior characteristics. In some embodiments, the virtual coach can be an everyday interface. In an embodiment, the virtual coach can be an everyday interface with the rider, to learn the rider's behavior and habits and generate recommendations to achieve certain exercise goals for the rider.
In some embodiments, the processor 610 may prompt or otherwise request a rider to provide additional information to facilitate monitoring the rider during a cycling session. In some embodiments, the virtual coach 600 may be configured to receive characteristics of a bike. For example, a rider may enter a ratio of the flywheel to the backwheel of the bike the rider is operating, as well as a model type of the bike. In an embodiment, the virtual coach 600 may be configured to receive additional information related to the rider. For example and without limitation, a rider may enter physical characteristics such as height, weight, resting heart rate, age, and/or gender. Recommendations
The virtual coach 600 may execute on a device such as that depicted in
The virtual coach 600 may be coupled via the bus 605 to a display 635, such as a liquid crystal display, or active matrix display, for displaying information to a user. In one embodiment, the display 635 may be an interactive display. For example, the display 635 may be a touchscreen. An input device 630, such as a keyboard including alphanumeric and other keys, may be coupled to the bus 605 for communicating information and command selections to the processor 610. In another implementation, the input device 630 has a touch screen display 635. The input device 630 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 610 and for controlling cursor movement on the display 635.
According to various implementations, the processes described herein can be implemented by the virtual coach 600 in response to the processor 610 executing an arrangement of instructions contained in main memory 615. Such instructions can be read into main memory 615 from another computer-readable medium, such as the storage device 625. Execution of the arrangement of instructions contained in main memory 615 causes the computing system 600 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 615. In alternative implementations, hard-wired circuitry may be used in place of or in combination with software instructions to effect illustrative implementations. Thus, implementations are not limited to any specific combination of hardware circuitry and software.
Although an example virtual coach has been described in
In an embodiment, the processor 660 may be configured to receive data from the pedal sensor. In some embodiments, the processor may be configured to transmit the data from the pedal sensor to the recommendations module 680. In some embodiments, the processor 660 is configured to transmit the data to the display 690, for example, as illustrated in
In some embodiments, the display 680 is an interactive map. In an embodiment, the virtual coach 650 can be configured to receive characteristics of the bike from a pedal sensor. In some embodiments, the characteristics include at least a pedal angle, a crank shaft angle, and bike speed. In some embodiments, the virtual coach can be configured to determine a current gear ratio of the bike. In an embodiment, the virtual coach 650 can be configured to determine a road angle during the cycling session. In some embodiments, the virtual coach is configured to determine a posture of the rider on the bike during the cycling session based on the road angle. In an embodiment, the virtual coach can be configured to detect an instability of the rider during the cycling session. In some embodiments, the virtual coach can be configured to generate corrections for the rider to teach the rider a correct way of cycling in response to the posture of the rider. In one embodiment, the virtual coach can be configured to tutor a new rider on how to ride the bike.
In some embodiments, the virtual coach 650 is configured to generate alternate cycling routes for the rider based on the performance of the rider during the cycling session. In an embodiment, the recommendations module 670 can be configured to generate alternate cycling routes for the rider based on the performance of the rider during the cycling session and transmit them to the virtual coach 650. In some embodiments, the alternate cycling routes can include recommendations for at least one of a bike speed, a gear ratio, and an estimated calories burnt during the alternate cycling routes. In some embodiments, the virtual coach 650 is configured to generate a third virtual cycling session, the third virtual cycling session based on the performance of the rider during the first cycling session and the second cycling session. In an embodiment, the recommendations module 670 can be configured to generate a third virtual cycling session, the third virtual cycling session based on the performance of the rider during the first cycling session and the second cycling session.
In some embodiments, the virtual coach 650 is configured to display characteristics of a bike in a first virtual cycling session. The characteristics can be displayed on the display 680, for example as illustrated in
In more detail,
In some embodiments, recommendations module 670 and the processor 660 are configured to perform the operations of the virtual coach 650. In an embodiment, the recommendations module 670 is configured to receive data from a pedal sensor. In an embodiment, the electronics module may process the data and transmit the data to the display 680. In one embodiment, the display 680 may be a display of a smartphone. In some embodiments, the recommendations module 670 can be coupled to a GPS system. In an embodiment, the GPS system may be a component of the virtual coach 650. The GPS system may be configured to determine a distance traveled during a cycling session. In some embodiments, the recommendations module 670 may be configured to compute the present cycling characteristics. The current characteristics, for example and without limitation, may include, heart rate, traveled distance, elapsed time, bike speed, and calories burnt.
In some embodiments, the virtual coach 650 can include a user interface for a rider to enter information. In some embodiments, the virtual coach 650 can include a heart rate module. In an embodiment, the heart rate module may be communicatively coupled to the virtual coach 650. The heart rate module may be worn by a rider, for example, a rider's wrist or around the rider's chest.
In some embodiments, the virtual coach 650 may include a force sensor. The force sensor may include any type of force or pressure measurement instrument, for example, a load cell, a pressure map, and a strain gauge. The force sensor may be coupled to various components of the bike, for example, the pedal, the rear wheel, the front wheel, and the main frame of the bike.
In some embodiments, the virtual coach 650 includes an inertial measurement unit (IMU). The IMU may be embedded in the virtual coach 650. The IMU may include at least one of an accelerometer and a gyroscope. In an embodiment, the virtual coach 650 can measure the bike speed (i.e., velocity) independent of a pedal sensor. In some embodiments, the calculated bike speed can be transmitted to the recommendations module 670.
Interactive Cyclist Monitoring and Crash Prevention System
The present application may further be directed towards a modular accessory for a bicycle so as to make the cycling exercise safer on the streets. A proximity sensor system can be composed of three parts: a front console, a back console and a computer-based application. In some embodiments, the front and back consoles can be removable attachments that will be installed on the steering wheel and seat post, respectively. In an embodiment, the front and back consoles can be integrated with line-lasers, proximity sensors, vibrators, LEDs and speakers. In some embodiment, each console may include two line-lasers to project a virtual bike lane on the ground. Additionally, in an embodiment, a pair of proximity sensors can be integrated into each console to detect objects around the cyclist. In some embodiments, the speaker can alert the cyclist in case of any dangerous situation. Additionally, in an embodiment, by using a series of LEDs, the back console can provide the signaling and the front console can illuminate the road ahead.
In some embodiments, a virtual coach system can include a proximity sensor system. In an embodiment, a virtual coach can be configured to receive an alert from a proximity sensor system. In an embodiment, the proximity sensor system can detect a relationship between a bike and objects around the bike. In some embodiments, the proximity sensor system sensor can be interfaced with a virtual coach, for example, the virtual coach described with respect to
In some embodiments, the switch 820 can be used by the rider to indicate if they are turning. In an embodiments, the switch 820 can send a signal for the laser lights 840 to flash to the side the rider is turning. In some embodiments, the Bluetooth components 835 can be used to make the system wireless. In an embodiment, the single-board microcontroller 815 can be used to program the other components of the proximity sensor system.
In some embodiments, the safety sensor system 800 may be a smart phone based application such as an IPHONE device manufactured by Apple Inc. In an embodiments, the smart phone application can be created to serve as a communication device by showing the locations of all the riders that are using the application for anyone logged into the application. In an embodiment, the smart phone application can alert a rider of other cyclists in the area. Additionally, in some embodiments, the smart phone application can execute on a car's GPS system to alert drivers of cyclists on the road. In an embodiment, the smartphone can be coupled to the handlebar via the mounting clip 825. In some embodiments, the mounting clip 825 can be a phone holster. In some embodiments, the phone holster can be a smartphone mount on a bicycle's handlebar so that the rider can use a GPS system while cycling and the application can collect the data. In other embodiments, If the user does not want to use the mounting clip 825, the application can still collect data. For example if the application is executing on a smartphone in the rider's pocket or backpack.
In some embodiments, the proximity sensors 810, 855 can interact with the light lights 840, 860 to increase the awareness of both the bike as well as any nearby drivers. For example, in an embodiment, the proximity sensor system 800 may detect a nearby vehicle or external danger and will trigger a change in the laser lights' 840, 860 behavior (e.g., change in color, flashing lights, etc.). The operator of the vehicle may notice the change in the laser lights 840, 860 behavior and be alerted to the presence of the cyclist.
In some embodiments, the visual alert 1200 can indicate to other cyclists and motor vehicles when the rider is slowing down. In an embodiment, the visual alert 1200 can indicate slowing down by displaying the arrows in a red light, similar to brake lights on a motor vehicle. In some embodiments, the visual alert 1200 can generate any range of symbols, characters, and/or numbers to indicate characteristics of the bike to other cyclists and motor vehicles around the bike. In an embodiment, the safety sensor can include automated signaling capabilities. In an embodiment, the rider can set a destination, for example in a smartphone GPS, at the beginning of a trip or cycling session. In one embodiment, the safety sensor can determine the intended cycling route and pre-program appropriate signals, front arrows and back arrows, to correspond with the anticipated turns to reach the destination. In some embodiments, the safety sensor can generate the appropriate front arrow and back arrow based on the intended destination independent of rider interaction. In such an embodiment, the safety sensor can generate arrows at intersections without a rider indicating which way they intend to turn.
In some embodiments, the front console 805 and the back console 850 each include at least two lasers 840, 860. In an embodiment, the two lasers 840, 860 can be placed at a length of about 5 feet from each other. A length can be selected, such that the proper angle is created to maximize the design's efficiency. For example, estimating the consoles would be about 3 feet above the ground, to detect cars from at least 15 feet behind and 5 feet to the left or right of the bicycle, an ideal angle was found to be about 37 degrees in between the two sensors
In some embodiments, the main component of both the front console 805 and the back console 850, can be an ultrasonic sensor or any kind of wave and light sensor which can detect approaching objects to the cyclist. In some embodiments, there will be a transceiver module integrated in the proximity sensor system 800 to send the data to the virtual coach system, for example the virtual coach system as described in
In some embodiments, the front console 805 and the back console 850 may weigh no more than 0.6 lb. each. The proximity sensor system 800 features can be fabricated to fit onto any type bike model. In some embodiments, the electric components including lights and sensors can be of low energy consumption and can be fitted in a custom lightweight housing adaptable to all bike types. Additionally, in an embodiment, the proximity sensor systems 800 may include waterproof housing.
In some embodiments, the method 950 may include creating, by the safety sensor, a smart lane around a bike operated by a rider during a cycling session, the smart lane indicates a safe zone around the bike (960). In some embodiments, the safety sensor s can interact with the laser lights, such as laser lights 840, 860 described above with respect to
In some embodiments, the method 950 may include detecting, by the safety sensor, an object approaching the smart lane during the cycling session (970). In some embodiments, the safety sensor may detect an approaching object (e.g., a vehicle) within a certain distance from the bike.
In an embodiment, a detection distance may be pre-determined. In one embodiment, the rider may enter the detection distance prior to a cycling session via a user interface. In other embodiments, the detection distance may be entered by an administrator during manufacture. In response, the safety sensor may trigger a change in the light emitted from at least one of the laser lights. For example, in some embodiments, the safety sensors can detect a motor vehicle within a pre-determined distance from the left side of the bike. In some embodiments, the safety sensor can compare current bike characteristics to a detected change in a cycling route condition to identify a dangerous situation. For example, in one embodiment, the safety sensor may compare a current bike speed to a map of the road the rider is cycling on. Based on the comparison, the safety sensor may determine the rider is going too fast for an upcoming turn. In other embodiments, the safety sensor may detect a change in a road condition. The change in the road condition may include at least one of a pothole and a change in elevation of the road, for example a bump in the road.
In some embodiments, the safety sensor system can detect when another rider (i.e., cyclist) is approaching in a blind spot or when a vehicle is coming out of a drive way. In an embodiment, the smart lane can save the cyclist response time when a vehicle is approaching and also alerts vehicles when the cyclist is going to turn. In some embodiments, the system can teach a rider to slow down at intersections and show them if they are a safe rider. In an embodiment, the system can serve as a communication device with cars showing the cyclist's location in the car's GPS system. In some embodiments, the safety sensor can be coupled to many types of vehicles, including at least one of a motorcycle and a motor vehicle. In an embodiment, the safety sensor can collect and analyze data related to many types of vehicles including at least one of a motorcycle and a motor vehicle.
In some embodiments, the method 950 may further include generating, by the safety sensor, an alert to the rider of the bike to notify the rider of the approaching object (980). In an embodiment, the safety sensor can generate a visual alert to the rider using the laser lights to alert the rider of the dangerous situation. In one embodiment, generating the visual alert may include emitting, by the laser lights, a red lane instead of a green lane on the side of the approaching object to alert. In some embodiments, the laser lights may emit flashing lights to alert the rider of the incursion.
In some embodiments, the proximity sensor may generate an audio alert to the rider. In an embodiment, the safety sensors can determine if a vehicle is invading the rider's personal lane (e.g., the smart lane). In some embodiments, when the safety sensors can detect an incursion, the rider's personal lane will start flashing and the speaker from the front console can make a sound alerting the cyclist to move away.
In some embodiments, the safety sensor system may be communicatively coupled to a GPS system. In an embodiment, the GPS system can be a component of the safety sensor. In some embodiments, the safety sensor can detect a change in a cycling route condition by interacting with the GPS system. In an embodiment, the change in the cycling route condition may include upcoming changes in a road or street configuration (e.g., an intersection, sharp turn, rotary, construction, pothole, speed bump, etc.). In an embodiment, the GPS system can be a mapping application, such as Google Maps distributed by Google, Inc, executing on a portable computing device, such as an IPHONE mobile device manufactured by IPHONE, Inc. In some embodiments, the safety sensor may generate at least one of an audio, visual, and a tactile alert to the rider in response to detecting an upcoming intersection.
In one embodiment, the safety sensor may further include a vibration device. In some embodiments, the vibration device may be coupled to the handlebars of the bike. In an embodiment, the safety sensor may transmit a signal to the vibration device to cause the vibration device to vibrate the handlebars and alert the rider of the upcoming intersection. In some embodiments, the safety sensor can compare current bike characteristics to a detected change in a cycling route condition. For example, in one embodiment, a current bike speed can be measured. In response to detecting an upcoming intersection, the safety sensor can vibrate the handle bars to alert the rider to slow down. In an embodiment, a vibrator in communication with the safety sensor can vibrate the handle bars in response to a trigger event from the safety sensor. The trigger event may be in response to a detection of an approaching danger. In some embodiments, the trigger event may be an approaching object, for example a motor vehicle, a motorcycle, or another cyclist. In other embodiments, the trigger event may include a dangerous situation. The dangerous situation may include at least one of an upcoming intersection in the road and a sharp turn in the road.
In some embodiments, the safety sensor may further include a helmet monitoring system. In such an embodiment, safety sensors, similar to those illustrated in
In some embodiments, a safety sensor can include a “safety officer application” to collect the information from the crash detection module and provide advice/recommendations to the rider indicating a risk factor related to the rider's performance. In an embodiment, the safety office application may be executing on a hand held computing device or a wearable computing device. In some embodiments, the safety officer application can transmit and receive information and data from the safety sensor.
In some embodiments, the safety sensor can include a real-time feedback via left\right horns (or haptic/visual feedback by smartphone), to show the direction of the approaching dangerous object. For example, in the case of a “dangerous” approaching object to the bicycle, the horns can alarm and warn the rider to react. In some embodiments, the dangerous approaching object can be defined as a quick movement of two objects to each other that can potentially result in a crash. In an embodiment, the left/right horns can respond depending the position of the dangerous object, such as a vehicle. In some embodiments, based on the horn sound, the rider can have a few milliseconds to react and at least reduce the crash intensity. In an embodiment, the horn can be loud enough to be heard by the driver of the other vehicle as well.
In another embodiment, the safety sensor can include an off-line feedback via smartphone application (i.e. “safety office”), to educate individuals on their cycling behavior (i.e. how risky they drive and what the chance of accident was in the past 30 days).
This system can also be realized as a bi-directional transceiver module between the cyclist and the other drivers. So when they approach dangerously to each other, in addition to the cyclist the car driver also receives the warning feedbacks via the appropriate medium implemented in his personal car.
Implementations of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more circuits of computer program instructions, encoded on one or more computer storage media for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices).
The term “data processing apparatus” or “computing device” encompasses various apparatuses, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a circuit, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more circuits, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products.
References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms.
Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results.
This patent application claims the benefit of U.S. Provisional Patent Application No. 61/835,790, filed on Jun. 17, 2013, titled “Cyclist Monitoring, Recommender, and Crash Prevention System,” as well as U.S. Provisional Patent Application No. 61/910,502, filed on Dec. 2, 2013, titled “Interactive Cyclist Monitoring and Accident Prevention System,” the disclosures of which are incorporated herein by reference in their entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2014/015102 | 2/6/2014 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61910502 | Dec 2013 | US | |
61835790 | Jun 2013 | US |