Many people engage in outdoor activities and sports, such as cycling, hiking, skateboarding, motor sports, water sports, snow sports etc. Such sports and activities may be participated in as a leisure activity. Such sports and activities may also be participated in for utilitarian purposes, such as transportation. In other words, a person may, for example, cycle to work or to meet someone at a restaurant for dinner.
In order to remain safe when participating in such activities and sports, persons often wear safety equipment, such as helmets, reflectors, lights, elbow and/or knee pads, gloves, and/or other protective clothing. Additionally, persons often devote much time and effort to ensure that their equipment (e.g., skis, motor vehicle, bicycle) is well maintained and functioning properly to ensure that such equipment can be used safely and enjoyably.
Other steps are also taken to ensure that users of outdoor sporting equipment and vehicles can do so safely. For example, product liability laws help incentivize manufacturers to build sporting goods that function properly. Government bodies install dedicated bicycle lanes in roadways to protect bicyclists. Safety laws such as mandatory motorcycle helmet laws help prevent or reduce head injuries for motorcyclists who are involved in an accident.
The systems, methods and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
One innovative aspect of the subject matter described in this disclosure can be implemented in a method according to a set of instructions stored on the memory of a computing device. The method includes receiving, by a processor of the computing device, first motion sensor data of a motion sensor associated with a sporting good. The method further includes, in response to the first motion sensor data, automatically activating, by the processor, an activity monitoring application logic. The activity monitoring application logic includes receiving, by the processor, a second motion sensor data of the motion sensor after the activity monitoring application logic is activated. The activity monitoring application logic further includes processing, by the processor, the second motion sensor data to identify a pattern of motion indicative of active usage of the sporting good. The activity monitoring application logic further includes, in response to identifying the active usage, automatically activating, by the processor, adverse event detection logic. The adverse event detection logic includes receiving, by the processor, third motion sensor data of the motion sensor. The adverse event detection logic further includes monitoring, by the processor, the third motion sensor data to detect a potential adverse event experienced by the sporting good.
In some implementations of the method, the activity monitoring application logic is automatically activated based at least in part on a determination that the first motion sensor data indicates that the sporting good has moved.
In some implementations, the method can include, in response to determining the potential adverse event, monitoring the third motion sensor data for indicia of a return to active usage of the sporting good.
In some implementations, the method can include, in response to a failure to detect the return to active usage of the sporting good within a threshold amount of time, initiating an adverse event notification process.
In some implementations, the method can include, in response to initiation of the adverse event notification process, sending an adverse event alert to a predetermined emergency contact. The adverse event alert can include a location of the motion sensor.
In some implementations of the method, the potential adverse event is detected by processing the third motion sensor data to obtain an orientation of the sporting good indicative of the potential adverse event.
In some implementations of the method, the pattern of motion indicative of active usage of the sporting good is identified at least in part based on a speed of the sporting good or an acceleration of the sporting good in at least one direction.
In some implementations, the method can include sending, by the processor, an opt out request to a user device in response to detection of the potential adverse event. The method can further include re-activating, by the processor, the activity monitoring application logic in response to reception of an opt out confirmation within a first threshold of time. The method can further include initiating, by the processor, an adverse event notification process in response to a failure to receive an opt out confirmation from the user device within a second threshold amount of time.
In some implementations of the method, the processing the second motion sensor data to identify the pattern of motion indicative of active usage includes identifying a pattern of motion indicative of a pedaling cadence on a bicycle.
In some implementations of the method, the pattern of motion indicative of the pedaling cadence includes at least one of an acceleration characteristic of a down stroke on a bicycle and an acceleration characteristic of a side-to-side motion of the bicycle.
In some implementations of the method, the processing the second motion sensor data to identify the pattern of motion indicative of active usage of the sporting good includes analyzing the motion data using a predictive model.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a system including a memory and a processor coupled to the memory. The processor is configured to receive first motion sensor data of a motion sensor associated with a sporting good. The processor is further configured to, in response to the first motion sensor data, automatically activate an activity monitoring application logic. In the activity monitoring application logic the processor is further configured to receive a second motion sensor data of the motion sensor after the activity monitoring application logic is activated. Further in the activity monitoring application logic the processor is configured to process the second motion sensor data to identify a pattern of motion indicative of active usage of the sporting good. Further in the activity monitoring application logic the processor is configured to, in response to identification of the active usage, automatically activate adverse event detection logic. In the adverse event detection logic the processor is further configured to receive third motion sensor data of the motion sensor. Further in the adverse event detection logic the processor is configured to monitor the third motion sensor data to detect a potential adverse event experienced by the sporting good.
In some implementations, the system can include a user device configured to wirelessly communicate with the motion sensor. The activity monitoring application logic is activated only if the user device communicates with the motion sensor to indicate to the processor a proximity between the motion sensor and the user device.
In some implementations of the system, the user device is configured to receive the first motion sensor data, the second motion sensor data, and the third motion sensor data. The user device is further configured to send the first motion sensor data, the second motion sensor data, and the third motion sensor data to the processor.
In some implementations of the system, the processor is further configured to receive user motion data from the user device.
In some implementations of the system, the processor is further configured to automatically activate the activity monitoring application logic in response to the user motion data.
In some implementations of the system, the processor is further configured to automatically activate the adverse event detection logic in response to the user motion data.
In some implementations, the system can include a vehicle device configured to wirelessly communicate with the motion sensor. The activity monitoring application logic is not activated if the vehicle device communicates with the motion sensor to indicate to the processor a proximity between the motion sensor and the vehicle device.
In some implementations of the system, the processor is further configured to receive, from the vehicle device, vehicle location information. The processor is further configured to determine, based on the vehicle location information, a vehicle route. The processor is further configured to determine, based on the vehicle route, a potential hazard in the vehicle route.
In some implementations of the system, the processor is further configured to send to the vehicle device a potential hazard alert comprising a type and a location of the potential hazard.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a non-transitory computer readable medium having instructions stored thereon that, upon execution by a computing device, cause the computing device to perform operations including receiving first motion sensor data of a motion sensor associated with a sporting good. The operations further include, in response to the first motion sensor data, automatically activating an activity monitoring application logic. The activity monitoring application logic includes receiving a second motion sensor data of the motion sensor after the activity monitoring application logic is activated. The activity monitoring application logic further includes processing the second motion sensor data to identify a pattern of motion indicative of active usage of the sporting good. The activity monitoring application logic further includes, in response to identifying the active usage, automatically activating adverse event detection logic. The adverse event detection logic includes receiving third motion sensor data of the motion sensor. The adverse event detection logic further includes monitoring the third motion sensor data to detect a potential adverse event experienced by the sporting good.
In some implementations of the non-transitory computer readable medium, the instructions further cause the computing device to perform operations including, in response to detecting the potential adverse event, sending an opt out request to a user device.
In some implementations of the non-transitory computer readable medium, the instructions further cause the computing device to perform operations including, receiving an opt out confirmation from the user device indicating a return to active usage of the sporting good. The instructions further cause the computing device to perform operations including, in response to receiving the opt out confirmation, re-activating the activity monitoring application logic.
In some implementations of the non-transitory computer readable medium, the instructions further cause the computing device to perform operations including, in response to a failure to receive an opt out confirmation from the user device within a threshold amount of time, initiating an adverse event notification process. The instructions further cause the computing device to perform operations including, in response to initiation of the adverse event notification process, sending an adverse event alert to a predetermined emergency contact.
Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.
Some implementations will hereafter be described with reference to the accompanying drawings.
Like reference numbers and designations in the various drawings indicate like elements.
The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways.
Described herein are various implementations for methods and systems for automatic adverse event detection and alerting. The implementations disclosed herein identify dangerous events and can alert emergency contacts such a relative, emergency medical services, police, etc. For example, activities where adverse event detection would be valuable include, without limitation, bicycling, skiing, snowboarding, skateboarding, roller skating, rock climbing, motor sports (e.g., all-terrain vehicles (ATVs), motorcycles, dirt bikes, snow-mobiles, jet skis), surfing, hang gliding, parasailing, hiking, walking, running, swimming, etc. An adverse event may, for example, be when a user of a sporting good associated with an activity crashes and injures himself or herself in such a way that he or she is unable to seek help for her injuries. The implementations disclosed herein are therefore valuable because the system may automatically detect such an adverse event and automatically alert any emergency contacts of the user.
In one example implementation, a sporting good device with motion sensors is attached to a sporting good. The motion sensor senses motion when the sporting good is moved and sends motion sensor data to a user device, such as a smart phone. The motion sensor data can be sent, for example, through Bluetooth™ or Bluetooth™ low energy (BLE) wireless protocol from the sporting good device to the user device. Upon receiving the motion sensor data, the user device initiates an activity monitoring application logic. In this way, the user device can detect when a sporting good moves, and can then begin monitoring data transmitted by the sporting good device to determine if movement of the sporting good is indicative of an active usage of the sporting good. In other words, after detecting an initial movement, the sporting good movement is further monitored to determine if a sporting good is being used (e.g., a bicycle being ridden or snowboard being ridden) or if the movement is not typical of an active use (e.g., bicycle being walked or transported, snowboard being carried). If the movement is typical of an active use, the system then activates an adverse event detection mode to monitor for adverse events such as a fall or crash.
One way in which an adverse event is detected according to an example implementation is by monitoring the orientation or change in orientation of the sporting good. For example, in a normal usage for riding a bicycle, a bicycle will generally stay upright with variances for pedaling, riding on hills, cornering, etc. If data from the motion sensor indicates a period of inactivity, the system examines orientation data preceding the inactivity. The system can determine if the orientation of the sporting good is an orientation that is more likely to occur in the case of an adverse event. For example, if a user is cycling, the bicycle laying down horizontally has an increased likelihood of being indicative of an adverse event. In another example, a snowboard being upside down is indicative of an adverse event. Change in orientation may also be examined by the system to determine an adverse event. For example, a change to a horizontal position of a bicycle occurring relatively slowly (e.g., someone laying down a bicycle in the field of a park) is not indicative of an adverse event, while a relatively quick change to a horizontal position of a bicycle may indicate an adverse event such as a crash.
Advantageously, the implementations disclosed herein can be activated and/or deactivated automatically so that the system is turned on and turned off without user interaction. Such implementations ensure that a user cannot forget to activate the system. Further, aspects of the system may be attached to the sporting good itself, such that after an initial installation, a user cannot forget to bring along a safety device used for the activity. Additionally, since aspects of the system turn on and off automatically, various aspects of the system are not unnecessarily left on, which helps preserve battery life of various devices disclosed herein. In other words, based on sensor data (accelerometer, global positioning system (GPS), etc.) of a motion sensor, user device(s), and/or vehicle devices, and/or presence of an NFC radio tag (e.g. an iBeacon™ transponder) (e.g., in the user and/or vehicle device), a model and/or heuristics can be built that very accurately determines when a user starts and stops an activity such as cycling. This can be done in a very power-efficient way (NFC tags may last for years, with minimal impact on a device's battery life) by using a motion sensor to wake the radio tag for proximity detection between a sporting good and a vehicle and/or user device.
In some implementations, models built by collecting a large dataset of various known activities can be used to predict an unknown activity or activity state. The model output can be combined with other heuristics into a state machine that can understand which activity the user is engaged in and uses that information to enable or disable the appropriate safety services at the appropriate time. Accordingly, the implementations disclosed herein can be used in a variety of sports, sporting goods, and activities to detect various types of adverse events accurately. In some other implementations, the devices used are activity specific and single activity models and heuristics are used to determine whether a given sporting good is in active use.
Advantageously, implementations disclosed herein also detect adverse events (e.g., falling or crashing events) robustly with high precision and recall. A system that generates false positives or misses events due to a criteria that is too specific will result in an increased chance of events being missed or the user abandoning the system due to distraction. Advantageously, some implementations disclosed herein are configured to detect actual adverse events that necessitate alerting an emergency contact with a high degree of precision with few, if any, false positives or negatives. In some implementations, this is achieved when the system determines that, even after a fall or crash, the user has not gotten back up and resumed their activity after a threshold period of time. For example, if someone crashes a bicycle, the system will monitor to determine if the bicycle returns to a normal active usage after the crash. If the user does so, an emergency procedure (such as an adverse event notification process) is not initiated. Even if a user is injured, the system can advantageously determine that at least the user is capable of seeking medical attention on his or her own because he or she has resumed active usage of a sporting good such as a bicycle.
An additional advantage of some implementations disclosed herein is the ability to determine whether a sporting good is in active usage or not. For example, if the system determines that a bicycle is being transported instead of ridden, the system may not monitor for potential adverse events. Such a configuration may preserve the battery of a user device and/or sporting good device with motion sensors because less monitoring of the active use of the device is done. Instead, the system may initiate other modes that use less energy and therefore lengthen battery life of devices. For example, a standby mode may be initiated to preserve battery life of various devices in the system. In another example, a potential hazard mode may be initiated to identify potential hazards on a route traveled by the user. The potential hazard mode can identify hazards associated with transporting a sporting good. A potential hazard mode may, in one implementation, only use GPS sensors to track a location of a sporting good device, user device or vehicle device. If a GPS signal from a vehicle device is used, significant battery saving may be realized in a user device and/or a sporting good/motion sensor device. For example, if the user is transporting a bicycle on the top of his or her car, the system may identify low clearance areas along a planned or expected route that may damage the bicycle.
The user device 115 can be a smart phone (e.g. iPhone™ or Android™ Phone). A smartphone can use its onboard sensors (e.g. accelerometer, GPS), other positioning technologies, and data network connection as disclosed herein. The sporting good device 120 may include a wireless transceiver with iBeacon™ capability. The transceiver may also communicate wirelessly with the smartphone via Bluetooth™ Low Energy (BLE) transponders to indicate proximity and exchange data as disclosed herein. Other short-range communication protocols that may be used for communication between the user device 115 and the sporting good device 120 include WiFi™, ZigBee™, ANT™, Bluetooth™ or Bluetooth Smart™ protocols. A processor of the sporting good device 120 may also process data from built-in motion sensors and transmit the results or raw data to the smart phone with the transceiver.
In one example implementation, a user has the user device 115, such as a smart phone, in his or her pocket (or mounted to their handlebars or carried in an arm band, etc.) that is capable of communicating with the sporting good device 120. The sporting good device 120 may include one or more of an accelerometer, a gyroscope, micro electromechanical semiconductor (MEMS) sensors, force sensors, global positioning system (GPS) sensors, heart rate sensor, temperature sensor, or a magnetometer. When the user comes into close proximity with the sporting good device 120 (e.g., within 0-50 feet), the sporting good device 120 and the user device 115 are capable of near field communication (NFC). When the user moves the bicycle 105 to unlock it, move it, or begin riding it, the sporting good device 120 detects the movement of the bicycle 105 using motion sensors and sends a signal indicating the movement (also referred to herein as first motion sensor data) to the user device 115. Upon receiving the motion sensor data, the user device 115 can detect whether the bicycle 105 is in active use, and further whether the bicycle undergoes any potential adverse events while the bicycle 105 is in active use as disclosed herein (e.g., discussion below with respect to
In some implementations, the sporting good device 120 with motion sensors may be incorporated into the user device 115 or may otherwise may be attached to the user himself. For example, for activities such as hiking, swimming, or snowboarding, the motion sensor may be located on the user and the orientation, velocity, acceleration, etc. of the user himself is used to determine activity, potential adverse events, etc. For example, a motion sensor may be attached to sporting goods such as shoes, boots, clothing, goggles, helmets, etc. The motion sensors may be removable or permanently affixed to a sporting good. In another example, the user device 115, such as a smart phone, may itself include motion sensors and may function, either alone or in combination with an additional sporting good device, as the sporting good device for purposes of adverse event detection.
The devices in
In some implementations and as disclosed herein, a potential adverse event is detected by processing the third motion sensor data to obtain an orientation or a change in orientation of the sporting good, such as the bicycle 405, that is indicative of the potential adverse event. For example, if a user is bicycling, the system may detect a fall or crash by identifying a period of activity or active usage at some level of intensity, for example, via a measurement from an accelerometer of the motion sensor. The system may then identify a period of relative inactivity directly following the active usage period of activity. The system may then calculate the orientation change as an angle from a point in time before the inactivity was detected to a time just after the inactivity was first detected. For example, the system may determine that during the active usage prior to the inactivity, the bicycle 405 was being used relatively perpendicular to the ground at about ninety (90) degrees on average and did not exceed, for example, an orientation of less than sixty-five (65) degrees to the ground. From a time (e.g., 10 seconds) before the inactivity to a time after the inactivity was detected, the system may determine that the orientation of the bicycle changed about eighty (80) degrees to about an orientation of ten (10) degrees from the ground. The change in orientation may be compared to a threshold, (e.g., seventy-five (75) degrees). If the change exceeds the threshold, a fall (i.e., an adverse event) has been detected. If the orientation change exceeds the threshold, the system may determine whether the speed of the user goes to zero within a window that accounts for GPS latency and jitter (e.g. 10 s). Other thresholds may also be used such as 40, 45, 50, 55, 60, 65, 70, 80, or 85 degrees may be used depending on the traits of the user, the terrain, and the type of sport or activity. Further, the system may also examine absolute orientation instead of or in addition to change in orientation. Absolute orientation may be useful if a particular orientation is indicative of an adverse event. For example, if the bicycle 405 was upside down for any amount of time it may indicate an end-over-end crash.
The sporting good device 520 is used to detect an active use of the snowboard 505. For example, an active use can be detected by watching for a period of movement consistent with getting onto, riding, and getting off of a ski lift. Such movement would likely precede an active use of the snowboard 505. Such movement might be characterized by a prolonged period of time moving at a constant speed, a slight lateral sway indicating that the snowboard 505 is hanging by one boot of the snowboarder 510, etc. Movement directly associated with active use of the snowboard 505 can also be detected. For example, movement associated with downhill snowboarding may be detected. Since a snowboarder may lead with either end of the snowboard 505, such orientations can be associated with active use of the snowboard 505. In another example, movement associated with a periodic motion generated from a cutting action on each side of the snowboard 505 (which may be sensed independent of direction) may be used to identify active use. Snowboarders may also turn the snowboard 505 horizontally with reference to a downhill direction in order to slow down, so such an orientation and associated movement can also be indicative of an active use of a snowboard. In order to detect an adverse event experienced by the snowboarder 510, the sporting good device 520 can detect movement indicative of a crash or impact following movement indicative of active usage of the snowboard 505. An orientation of the snowboard 505 may also indicate an adverse event. For example, the snowboard 505 being upside down and not moving for a period of time can be indicative of an adverse event such as a crash. Other movements, accelerations, orders of different types of movements, orientations, changes in orientation, and/or inactivity of the snowboard 505 may all be used to determine whether a snowboard is in active use, being transported/carried, and/or experiencing an adverse event.
The sporting good device 620 is used to detect an active use of the skis 605. For example, an active use can be detected by watching for a period of movement consistent with getting onto, riding, and getting off of a ski lift. Such movement would likely precede an active use of the skis 605. Such movement might be characterized by a prolonged period of time moving at a constant speed, some sway indicating swinging legs of the skier 610, etc. Movement directly associated with active use of the skis 605 can also be detected. For example, movement associated with downhill skiing may be detected. Since a skier generally skis with a proximate end of the skis pointed generally downhill, such an orientation of the skis 605 may indicate an active usage of the skis 605. Skiers may also perform some lateral movement with skis, such as lateral movement associated with a slalom-type action. Such movement also indicates a likely active use of the skis 605. In other words, movement associated with a periodic motion generated from a cutting action on each side of the skis 605 may be used to identify active use. In order to detect an adverse event experienced by the skis 605, the sporting good device 620 can detect movement indicative of a crash or impact following movement indicative of active usage of the skis 605. An orientation of the skis 605 may also indicate an adverse event. For example, the skis 605 being upside down and not moving for a period of time can be indicative of an adverse event such as a crash. In another example, if the skis 605 experiences a change in orientation consistent with the proximate (front) tip of the skis 605 turning from pointing downhill to turning uphill followed by a period of inactivity, such a pattern of movement indicates a higher likelihood of an adverse event. In another example, similar to monitoring of a bicycle, exceeding an orientation change may indicate a potential adverse event. In another example, if a ski is beyond an orientation threshold for, e.g., greater than five (5) seconds and there is no movement of the skis, the system may detect a potential adverse event. Other movements, accelerations, orders of different types of movements, orientations, changes in orientation, and/or inactivity of the skis 605 may all be used to determine whether skis are in active use, being transported/carried, and/or are experiencing an adverse event.
The sporting good device 720 is used to detect an active use of the motorcycle 705. An active use of the motorcycle 705 may be detected by sensing a generally upright orientation of the motorcycle 705 and/or speeds consistent with the operation of a motorcycle. In contrast to sensing an active usage of a bicycle, the motorcycle would not demonstrate a pedaling cadence that may be present during active use of a bicycle. Another indicator of active use of a motorcycle is a slight reduction in acceleration when the motorcycle 705 is speeding up, indicating the changing of gears. Transportation and active use of the motorcycle 705 may happen at similar speeds. Accordingly, differentiation between transportation and active use may be indicated by greater side-to-side acceleration during active use, indicating leaning of the motorcycle 705 on turns that would not be present when transporting the motorcycle 705 on a trailer. Orientation and acceleration information indicating use of a kickstand may also be monitored to indicate an active use. For example, if the system senses movement and orientations consistent with the kick up of a kickstand subsequently followed by movement consistent with an active use, an active usage of the motorcycle 705 may be identified. If the sporting good device 720 is integrated into a motorized sporting good, such as the motorcycle 705, the sporting good device can be configured to detect when the motorized sporting good has been turned on. Sensing that a sporting good has been turned on is highly indicative of an active use of the sporting good. In order to detect an adverse event experienced by the motorcycle 705, similar methods as used to detect an adverse method for a bicycle may be used, such as those discussed above with respect to
The user device 800 includes a processor 815 that is coupled to a memory 805. The processor 815 can store and recall data and applications in the memory 805. The processor 815 can execute sets of instructions stored on the memory. In one example, a set of instructions may be a mobile application (app). As used herein, the term app is a set of processor executable instructions stored on a memory and organized as a cohesive application or a portion thereof. The memory 805 may store more than one app. The processor 815 may also cause an interface 810, such as a display, to display objects, applications, data, etc., to a user. Input from the user, such as an adverse event notification opt out confirmation as discussed below, may be received through the interface 810. For example, the interface 810 may include a touch screen. The interface may also incorporate other hardware, such as a microphone, switches, buttons, etc., so that other inputs or voice commands may be received through the interface 810. The processor 815 is also coupled to one or more transceivers 820. With this configuration, the user device 800 can communicate with other devices, such as the server 825 through a connection 845, the vehicle device 850 through a connection 880, or the sporting good device 885 through a connection 895.
The server 825 includes a processor 835 that is coupled to a memory 830. The processor 835 can store and recall data and applications in the memory 830. The processor 835 is also coupled to a transceiver 840. With this configuration, the processor 835, and subsequently the server 825, can communicate with other devices, such as the user device 800 through the connection 845 or the vehicle device 850 through a connection 875.
The vehicle device 850 includes a processor 865 that is coupled to a memory 855. The processor 865 can store and recall data and applications in the memory 855. The processor 865 can execute sets of instructions stored on the memory 855. The processor 865 may also display objects, applications, data, etc. on an interface 860. The processor 865 is also coupled to a transceiver 870. With this configuration, the processor 865, and subsequently the vehicle device 850, can communicate with other devices, such as the server 825 through the connection 875, the user device 800 through the connection 880, or the sporting good device 885 through a connection 890.
The sporting good device 885 includes a processor 887 that is coupled to a transceiver 886 and motion sensor(s) 888. The processor 885 can transmit data, such as motion sensor data, through the transceiver 886 to, for example, the vehicle device 850 through the connection 890 and/or the user device 800 through the connection 895. In an alternative implementation, the sporting good device 885 may also include memory on which to store motion sensor data. Such memory may be used to house data such that the user device 800, for example, does not need to constantly monitor or communicate with the sporting good device 885. This can preserve battery life. Instead, the sporting good device 885 may periodically send motion sensor data to the user device 800. In another implementation, the user device 800 may transmit requests, on an as needed or periodic basis, motion sensor data or certain types of motion sensor data. The motion sensors 888 may include various sensors such as accelerometers, gyroscopes, a global positioning system (GPS), etc. The transceiver 886 may include or utilize various wireless communication protocols and associated hardware.
In some implementations, the user device 800 may be a smart phone, and the vehicle device 850 may be a computer integrated into a motor vehicle. The configuration of the user device 800, the server 825, and the vehicle device 850 is merely one physical system on which the disclosed implementations may be executed. Other configurations of the devices shown may be used to practice the disclosed implementations. Further, configurations of additional or fewer devices than the ones shown in
The devices shown in the illustrative implementations may be utilized in various ways. For example, the connections 845, 875, 880, 890, and 895 may be varied. one or more of the connections 845, 875, 880, 890, and 895 may be a hard wired connection. For example, if the sporting good device 885 and the user device 800 were integrated into a single device, the connection 895 may be hard wired. In other implementations, the connections 845, 875, 880, 890, and 895 may be wireless connections. Such a connection may take the form of any sort of wireless connection, including but not limited to Bluetooth™ connectivity such as Bluetooth™ low energy (BLE) like iBeacon™, Wi-Fi™ connectivity, or another wireless protocol. Other possible modes of wireless communication may include any type of near-field communications. Near-field communications may allow the various devices to communicate in short range when they are placed proximate to one another. Near field connection hardware and software may also be utilized by taking advantage of signal strength variances. For example, the closer the user device 800 is to the sporting good device 885, the stronger a near field communication signal may be. Such a function may be used as a data point for adverse event detection. For example, if the user has the user device 800 in his pocket while riding a bicycle with the sporting good device attached to it, the signal strength for the connection 895 may be relatively strong. If the user is hit by a car and is thrown from his bicycle, the signal strength for the connection 895 may be significantly weaker, indicating a possible adverse event. The signal may be weaker because the user device 800 is now further away from the sporting good device 885 than it was when the user was riding the bicycle normally. In yet another implementation, the devices may connect through an internet (or other network) connection. That is, the connections 845, 875, 880, 890, and 895 may represent several different computing devices and network components that allow the various devices to communicate through the internet, through various hard-wired or wireless connections. The connections 845, 875, 880, 890, and 895 may also be a combination of several modes of connection.
To operate different implementations of the system or programs disclosed herein, the various devices may communicate in different ways. For example, the user device 800 may download various software applications, such as an app for automatic adverse event detection and alerting, from the internet directly from an app provider or through an application store, such as the Apple™ app store or an Android™ app store. The vehicle device 850 may also be able to download apps. Such software applications may allow the various devices in
In one implementation, a download of a program to the user device 800 involves the processor 815 receiving data through the transceiver 820 through the internet and from the server 825. The processor 815 may store information (like the app for automatic adverse event detection and alerting) in the memory 805. The processor 815 can then execute the program at any time, including at a time specified by the user through the interface 810. The app may also operate in the background of the user device 800, waiting for detection of first motion data from the sporting good device 885 to wake it up and cause the app to operate actively on the user device 800 to perform the various methods, functions, and processes disclosed herein. In another implementation, some aspects of a program or app may not be downloaded. For example, the program or app may be an application that accesses additional data or resources located in the server 825. In another example, the program may be an internet-based application, where the program is executed by a web browser and stored almost exclusively in the server 825.
In yet another implementation, once downloaded to the user device 800, the program or app may operate in part without communication with the server 825. In this implementation, the user device 800 may access or communicate with the server 825 only when acquiring the program or sharing data through the connection 845. In other implementations, a constant or intermittent connection 845 may exist between the server 825 and the user device 800. Where an intermittent connection exists, the user device 800 may only need to communicate data to or receive data from the server 825 occasionally.
In some implementations, specialized hardware may be incorporated into the devices shown in
In an operation 905, a first motion sensor data is received by a user device, such as the user device 800 as discussed above with respect to
In an operation 910, an activity monitoring application logic is automatically activated in response to the first motion sensor data. The first motion sensor data indicates that the sporting good has been moved, therefore the activity monitoring application logic is activated. The activity monitoring application logic is used to determine what type of activity the sporting good is engaged in. The activity monitoring logic can be incorporated into a software application stored in the memory 805 of the user device 800 shown in
In an operation 915, second motion sensor data is received by a transceiver of the user device, such as the transceiver 820 of
In an operation 920, a pattern of motion indicative of an active usage or transportation of the sporting good is identified. Data can indicate in various ways what type of activity is occurring. For example, if the sporting good is a bicycle that is travelling at 60 miles per hour, that would be indicative that the bicycle is being transported. If acceleration data of a bicycle has a pattern indicative of the cadence of pedaling, that would be indicative of active usage. The app on the user device (or a server in communication with the app on the user device) processes the second motion sensor data to identify a pattern of motion that is indicative of an active usage of the sporting good or a different pattern of motion, such as a transportation mode. If the app identifies that the sporting good is being actively used, the app can automatically activate an adverse event detection logic. For example, the app can cause the processor to begin executing computer executable instructions organized as a specific sub-routine for detecting adverse events. In some implementations, the pattern of motion indicative of active usage of the sporting good is identified at least in part based on a speed or velocity pattern of the sporting good or an acceleration of the sporting good in at least one direction. In some implementations, the system may also consider motion data received from sensors in the user device or other devices in communication with the user device (e.g., a cycling computer), to determine active usage of the sporting good. In some implementations, motion sensor data can be analyzed to extract features, which can be compared to predictive models that represent typical data for active usage of various sporting good activities and other predictive models that represent motion sensor data for adverse events. A model assembled from the actual motion sensor data can be evaluated by filtering and pre-processing the motion sensor data. Low-pass or high-pass filtering, decimation, normalization, etc may also be performed on the data. The system may then extract features, which may include min and max values, energy, frequency domain information, etc. to determine comparisons to known patterns for either active usage, transportation modes, and/or adverse events (as determined at the operation 937 discussed below). Feature extraction is further discussed below with respect to
In some implementations, other patterns of motion indicative of different uses than transportation or active usage may be identified. Such other uses or states of a sporting good may cause the system to monitor for potential adverse events other than a crash or fall. For example, GPS data along with orientation data of a bicycle may indicate that a user has ridden their bicycle to a coffee shop in town and parked their bike on or near a street. For example, the system can determine from the GPS location data that the bicycle is near a street and that this location is not the residence of the user (the residence of the user may have been input by the user when signing up for the service or may be recognized by the system as a frequent residential address that the bike is stored at for long periods of time). The system may further be able to determine from orientation data a characteristic lean of a bicycle when it is leaned up against a tree, wall, etc. or when it is parked using a kickstand. In another implementation with a motorcycle, a kickstand located under the motorcycle may also include significant accelerations that indicate the lifting a portion of the bike off the ground to prop it up on the kickstand and significant accelerations that occur when the motorcycle is set back down on the ground. In another implementation, characteristic accelerations and orientations common for storing skis and/or snowboards may be monitored. For example, at a ski resort, snowboarders and skiers often remove their skis and snowboards before entering a building, and prop them up at a stand for storing said skis and snowboards. The system may monitor motion sensor data to determine accelerations indicative of removing a ski or snowboard and then lifting them up to store in the rack. Orientation data may indicate the expected orientation of a ski or snowboard actually stored in the rack. This and other data may be used to determine that a sporting good is parked, and further may indicate that the sporting good is parked in a public location (as opposed to e.g., a private garage). When the system recognizes such a mode, it may subsequently monitor motion sensor data for adverse events such as motion indicative of the sporting good being stolen. For example, a pattern of use indicative of and prior to storing or parking a sporting good may also indicate what type of future use the system should expect to see when monitoring the sporting good. For example, if a user bikes to a coffee shop and parks his or her bicycle on or near the street, the system may be programmed to expect the next pattern of motion of the bicycle to indicate active usage as opposed to transportation of the bicycle. That is, it is unlikely for a user to ride their bicycle to a coffee shop then transport it back home. Accordingly, if the system did sense transportation of a bicycle after seeing it ridden to and parked at a coffee shop, an adverse event notification process, such as the one described below with respect to the operations 945, 946, 948, 950, and 955. A similar logic may be followed for other sporting good devices, such as when a snowboard or skis are stored at a ski lodge, for example.
If transportation movement is identified, a potential hazard detection mode may be initiated in an operation 922. In other words, the system may receive user motion data from the user device and activate the potential hazard detection mode in response to the user motion data. For example, if a user is hauling a trailer with one or more ATVs, the system may identify and instruct the user to avoid areas along a planned or expected route that may necessitate turning radii that are difficult or impossible for the user to navigate with the trailer loaded with ATVs. Some implementations may use external and crowd-sourced information to estimate in advance the such safety and/or convenience characteristics of a location or route, or to estimate the safety characteristics of a current or nearby location. The system may also, in response to identifying a potential hazard, suggest a different route for the user. In another example, if a hiking, running, or cycling route is known to have poor surface conditions, traffic, bad weather, etc, the system can provide this information to the user in advance. Such information can be informed by data gathered from other user's experiences in the location.
If an active use is identified, the system captures active use data of the sporting good at an operation 924. Such a step may capture information that may be of interest to the user, such as distance traveled, timing information, speed information, route travelled, etc. Such information can be tracked and stored for the user's convenience. In some implementations, information about active usage can be transmitted to the server and make available for viewing by third parties affiliated with the user, such as social network “friends” or “connections,” user-designated individuals, etc., to track progress of the user's activity. The information can be made available via a website, third-party user applications, social media services, etc. Information may be provided to the server in real-time, at designated intervals, or upon the user reaching designated locations. The system may also track mileage and routes that a sporting good traveled in an active usage state, and such information may be used to determine performance metrics for a user as captured by the various sensors and devices disclosed herein. The system may use such data to provide to the user device hydration and/or nutrition reminders to the user.
Additionally, in response to the active usage of the sporting good being identified, adverse event detection logic is automatically activated in an operation 925 by the processor of the user device, such as the processor 815 of
In an operation 930, third motion sensor data is received by the user device, such as the user device 800 of
In an operation 935, the third motion sensor data is monitored by a processor of the user device, such as the processor 815 of
In an operation 937, a potential adverse event is actually detected. As discussed, the potential adverse event may be detected based on various types of data from a sporting good device with motion sensors such as changes in velocity, acceleration, orientation, gravitational (G) forces, etc. on the sporting good as perceived by the motion sensor attached to and associated with the sporting good. For example, significant G forces may indicate an adverse event. In another example, a period of activity followed by a sudden period of inactivity may indicate an adverse event. In another example, an orientation of a sporting good that is atypical for an active use of that particular sporting good may indicate an adverse event. In another example, a change in orientation that is faster than typical could indicate an adverse event. Such examples may also be monitored in individually, or in various combinations, to provide a robust and accurate system for determining adverse events. For example, the system may watch for significant and sudden G forces along with a quick deceleration and a change in orientation followed by a period of inactivity to determine a potential adverse event has occurred. In some implementations, the system may also consider motion data received from sensors in the user device to determine a potential adverse event. In other words, the system may receive user motion data from the user device and motion data from the sporting good device to detect the potential adverse event. Such an implementation can expand the motion data that the system can examine to determine potential adverse events. Additional data from the user device may be useful because a characteristic adverse event may cause different movement to the user than to the sporting good itself. By considering additional motion data from the user device, a system could be more accurate. In other implementations, an impact (acceleration, velocity, or rotation event) can be sought at the time just preceding a detected period of inactivity (corresponding to the crash or adverse event) that exceeds a threshold (e.g. 4 g) above which normal events, such as laying a bike down after stopping, do not cause. Such information can be used to independently detect an adverse event or potential adverse event, or may be used in combination with the orientation and change in orientation data to detect an adverse event as discussed above. Utilizing more data in this way can yield a more robust adverse event detection system, reducing the instances of falsely detecting an adverse event. For example, in some implementations, an adverse event may be detected by a user device as follows: the user device determines an orientation based on at least linear accelerometer data from the motion sensor; the system estimates speed based at least on GPS data of the motion sensor or user device (e.g., the motion sensor 888 of
In an operation 940, the system determines if the sporting good has returned to active usage within a threshold amount of time. In other words, if there is a potential adverse event, the system, in the operation 940, determines if the user has resumed active use of the sporting good. Such a determination is made because, if a user experiences an adverse event but returns to active use with the sporting good, it is assumed that emergency services are not needed by the user. Accordingly, if the sporting good does return to active usage in the operation 940, the system goes back to monitoring the third motion sensor data with a processor such as the processor 815 of
If the sporting good does not return to active usage within the threshold time at the operation 940, the system initiates an adverse event notification process at an operation 945 executed by the processor of the user device, such as the processor 815 of
In an operation 946 and in response to detecting a potential adverse event, the processor, such as the processor 815 or the processor 835 of
Accordingly, in an operation 948, the system either receives or does not receive an opt out confirmation from the user device, such as the user device 800 in
In an operation 950, the system determines a location of the adverse event. For example, a GPS function of a user device may be utilized to determine a location of an accident.
In an operation 955, the system sends an adverse event alert from the user device, such as the user device 800 of
In a system idle (or standby) state 1005, an app has been launched. For example, the app stored on the memory 805 of the user device 800 and may be launched by the processor 815 as shown in
When the user comes within some distance (e.g. 30 m, distance will vary based on local radio frequency (RF) conditions) of their bike, the sporting good device and the user device both have a transceiver capable of NFC communications like iBeacon™ (such as the transceivers 820 and 886 of
Otherwise, as long as the user device stays in range, the system advances to state 1015 to determine if the user is moving. While the transceiver of the sporting good device, such as the transceiver 886 of
If the user device is not moving the system advances to a state 1020. There, the system determines if the user device is still within range of the sporting good device. If so, the system continues to watch for user device movement at the state 1015. If not, the system moves back to the system idle (standby) state 1005, which can preserve battery life of the user device and/or the sporting good device.
If it has been determined that the user device is moving and remains within the range of a near field communication (NFC) device (e.g., within an iBeacon™ region) (i.e. the user is moving with the bike), then the system proceeds to a state 1025 indicating a default transport mode (however the system will immediately begin to monitor to determine if the movement is actually cycling). The system can then determine if the user is transporting the bike or riding the bike at the state 1035. Accurately distinguishing between these two modes of movement will drive whether the system generates potential hazard alerts (such as a low-overhang warning) at a state 1030 based on geofence events or potential adverse events at a state 1050.
Distinguishing between driving vs. riding may include: 1) using other devices that are within range or connected (for example, users can tag certain Bluetooth™ devices as vehicle devices (e.g. audio Bluetooth™) or other user devices like bike computers such that the system recognizes whether certain devices are vehicle or bike devices (which can inform whether a user is cycling or transporting); 2) using speed data (e.g., speeds over 60 mph indicate driving); 3) using location data: off-road locations indicate cycling; 4) measuring orientation, change in orientation, acceleration, velocity, inactivity, etc. of a sporting good to indicate a particular activity, active usage of a sporting good, and/or type of sporting good. Also, an additional in-vehicle Bluetooth™ device may provide a dedicated potential hazard alert to the user when entering low-hanging danger zones at the state 1030. The presence of this vehicle device can serve as an indicator that the bike is being transported. Since the system can always generate a crash notification when the crash identification criteria is met and it is better to generate false positive low-overhang warnings vs. not generating any warning, the system will default to the transport mode at the state 1025. As discussed above, when the system is in transport mode at the state 1025 (default mode after movement is determined) and a geofence event is determined at the state 1030, a potential hazard alert is generated. Such a warning may be a visual and/or audio indicator on a user device such as the user device 800 of
While in transport mode at the state 1025, the system will periodically check to determine if the sporting good such as a bicycle is still moving. If the movement is detected, then the system will periodically check to see if the sporting good is in an active usage at the state 1035, such as cycling. This check is useful when a user has initially transported their sporting good (e.g., bike) to a destination and then begins an active use of the sporting good (e.g., riding the bike). Checking for active usage should be frequent enough as to not miss much of the start of active usage and therefore discount the capture of active usage data (e.g. time, distance). In some implementations, active usage data can also be used to determine service/maintenance reminders, which are further discussed below. Detecting the difference between active usage such as cycling and transport modes such as driving is discussed throughout including below with respect to
Once in active usage mode at the state 1040, the system can begin to automatically capture active usage data at the state 1045, such as time of active use, distance covered, average speed, etc. In this state, the system may enter into a high resolution GPS capture state for accurate miles and routing information. Such metrics can be fed into an automated service reminder/recommendation feature, as discussed below in greater detail.
In some implementations, the systems and methods disclose herein may also provide various safety services such as the service reminder/recommendation feature. The maintenance reminders cab be generated based on collected active usage data, such as time, duration, wear factors, terrain, temperature, humidity, etc., which can all be used to recommend maintenance. The system may compare such usage characteristics to a database of service rules to output to the user device service recommendations. The system may take into account a model, age, wear state, and similar information about a sporting good in order to make such service recommendations.
By automatically tracking bike usage as disclosed herein, a recommender algorithm based on heuristics and riding data can systematically provide recommendations to the user/rider on what maintenance to perform on the bike and when. For cycling examples, the recommendations may be based one or more of: 1) riding type—off road, on road, bmx, cyclo-cross, etc.; 2) bike type—road, mountain bike, hybrid, cyclo-cross, etc.; 3) component type—the make, model and year of the component; 4) end of life or maintenance interval time—the elapsed time to replace, service, or assess the component or part; 5) utilization—how the part has been used (variables include time, distance or other part specific metrics such as revolutions, turns, etc.); 6) user preferences—user inputs that change the behavior of the recommender algorithm (e.g. frequency of recommendations, suppressing of recommendations, etc.); 7) user overrides—user-defined rules that override end of life or maintenance interval times; 8) sensor data—data from devices (such as phones, GPS recorders, heart rate monitors, cadence sensors, etc.). The recommendation system may output recommendations to a user device such as the user device 800 of
While in active use mode, the system may detect potential adverse events to advance to state 1050. The potential adverse events may be detected in various ways from motion sensor data of the sporting good device as discussed above. For example, a potential adverse event may be detected as any acceleration that exceeds a certain threshold, an particular orientation or change in orientation, a period of inactivity, and/or by a combination of motion and location data.
Immediately after detecting a potential adverse event, the system checks to see if the sporting good is still in active usage for a threshold time (e.g. 15-30) seconds at a state 1055. If it is determined that the sporting good is still in active usage then the potential adverse event is discarded and the system can return to the state 1050 to monitor for future potential adverse events. After a potential adverse event is detected, a user-defined countdown begins during which time the user can dismiss the crash alert (an opt out). If not dismissed, the user's emergency contact(s) are notified at a state 1060.
When the system does not detect motion, a sporting good device, such as the sporting good device 885 of
Once movement is detected at the state 1110, a first set of indicators may be consulted to attempt to detect active usage or a transportation mode at a state 1115. Such indicators may include: 1) presence of a vehicle device such as Bluetooth™ devices that indicate driving (e.g., car audio Bluetooth™); 2) presence of Bluetooth™ devices that indicate cycling (e.g. bike computer, heart rate monitor); 3) speed of movement; 4) location (e.g. on road or off road, on highway or on side road); 5) proximity of the sporting good device to the user device; 6) inactivity of the sporting good. A global heuristic rule can evaluate the indicators above to determine if the sporting good is in active usage, being transported, or if more information is needed at a state 1120. Alternately, a stochastic model can be created to combine the indicators and predict the state.
Once driving or cycling is known, the state of the system is recorded at a state 1125 and the system returns to idle until the next location change. If the heuristics fail to distinguish between driving and cycling, motion sensors (e.g. accelerometers, gyroscopes, magnetometers, etc.) can be used at a state 1130 to indicate factors such as orientation and/or change in orientation, acceleration, velocity, etc. of the sporting good. For example, a window of sensor data (e.g. 20 seconds) can be recorded at some sample rate (e.g. 100 Hertz (Hz)). The data can be recorded on a user device such as a mobile phone or on a sporting good device affixed to the bike. The sensor data can then be analyzed to extract features, which can be used to evaluate a predictive model at a state 1135. A model may be evaluated by filtering and pre-processing the data. Low-pass or high-pass filtering, decimation, normalization, etc. may also be performed on the data. The system may then extract features, which may include min and max values, energy, frequency domain information, comparisons to known patterns, etc. Feature extraction is further discussed below with respect to
The results of the model can be used to update the system state at the state 1125 of
At a state 1210, periodically (e.g., every 3 min, every 1000 m location change) during active usage, motion sensor data from the user device (e.g., the user device 800 of
Based on one of several triggers, the system may perceive a potential adverse event at a state 1215. This potential adverse event will be evaluated further to determine whether it is genuinely an adverse event such as a crash or whether it is a false positive. Triggers may include an acceleration event and/or a period of unexpected activity. An acceleration event as recorded by the sporting good device or the user device may exceed a threshold (e.g. 5 g's) in any or some specific axis to indicate a crash. Alternatively, it can also be defined by a more sophisticated signature of motion sensor data evaluated by heuristics or a model. A period of unexpected inactivity may be used to determine a potential adverse event with or without detecting an acceleration event. For example, in the case that a crash occurs without triggering an acceleration event, it may still be detected based on a lack of movement in the sporting good device and/or the user device.
Once a potential adverse event is identified, further motion sensor data is received for analysis at a state 1220. This data may represent motion sensor data from the sporting good device that precedes and/or follows the potential adverse event in time. This data may come from the sporting good device or the user device, and may include orientation and other movement features to compare to the baseline established at the state 1210. At a state 1225, the sensor data collection will then be pre-processed and filtered and features will be extracted and evaluated using a stochastic model trained on example data previously collected. This may be done in a method similar to that discussed above with respect to the state 1120 of
The result of the model evaluation can be the probability that the sensor data indicates a crash or not. The model may combine features from the user device and sporting good device and may include rule-based or heuristic aspects in addition to a purely statistical/machine learning approach. In other words, the system can compare data of the potential adverse event to the established baselines to determine probability for an adverse event, and can use rule based decisions (e.g., is user device motionless after a period of active usage). At a state 1230, if at this point the probability of a crash is below some threshold (e.g. p=0.25), the potential adverse event will be abandoned and the system will return to the active usage state 1205. If the potential adverse event appears to be an actual adverse event, the system will attempt to determine if the user resumes active usage at a state 1235 (based on the logic that if s/he does so, responder notification is not needed). This check may evaluate one or more of the following: 1) orientation: does the user return the bike to the known upright orientation? or is it left lying down? 2) speed/location: does the user begin moving again at a speed that indicates cycling? Such checks can be performed periodically for some time period (e.g. 3 min) If no movement or upright transition is detected within this window, the system will conclude that the user has experienced an adverse event. If active usage does resume as indicated, for example, by movement and an upright orientation at a state 1240, the system will return to the active use state 1205. If the system determines at the state 1240 that an adverse event has occurred, the system will offer the user the opportunity to opt out of adverse alert notification at a state 1245. This opt-out can be time limited—if some amount of time (e.g. 1 min) passes without the user opting-out, the system will notify emergency contacts and/or emergency responders at a state 1255. If the user does opt-out, the system will return to the active usage mode 1205.
Power spectrum of accelerometer data shows strong frequency components in cycling data that correspond to pedal cadence. These frequency components are not present in driving data. Extraction of this frequency power info can be the basis for a predictive model for cycling vs driving.
For example, active use data and other information may be determined from the sensors disclosed herein by extracting peaks from motion sensor data. A method for determining if the user is riding (vs. transporting the bike) looks for a periodic signal coming from the accelerometer from either the motion sensor or the user device. Such a signal is based on data such as (a) the side-to-side motion of the bike and/or (b) the forward accelerations of the bike both of which are a result of the rider applying greater force to certain regions (e.g. the down stroke) of the pedal stroke. This signal contains the following information: 1) cadence: the number of pedal strokes per unit of time (e.g. minute); 2) pedaling effort: the amplitude of the signal indicates how far the bike is moving side-to-side and represents the relative power of each stroke. Given this, a nominal scale can be used where the range of the scale is based on the average amplitude of the signal over time. For example: 1) easy/recovery: 0.5 g-0.75 g; 2) moderate: 0.76 g-1.25 g; 3) hard: 1.26-2.5 g; 4) very hard: >2.6 g. Further the system can use this information to provide feedback to the user when the user should shift. Based on (a) a user-entered cadence preference or (b) the system learning over time what the user's preferred cadence range is, the system can identify when the user should shift to a higher gear (when the cadence is greater than the preferred range) or shift to a lower gear (when the cadence is lower than the preferred range).
A model used for determining a use mode for a sporting good may be built in various ways using different types of data. For example, a model to predict either an active use mode such as cycling or a transportation mode such as driving can be built using features extracted from motion sensor data (e.g., accelerometer), GPS location data, and/or the presence of certain wireless devices. In some implementations, the system may analyze groups of data by sectioning raw time series data into sections of data of a specific duration, such as 5 seconds. Then, for each 5 second section of data, the system can extract a set of features that are descriptive of the data. One example set of features that can be extracted include could include: 1) a maximum absolute value of accelerometer data in each of X, Y, and Z axes during the section of data; 2) a standard deviation of Z axis accelerometer values (where Z is the vertical axis); 3) an average GPS speed during the during the section of data; 4) a Boolean value indicating whether a bike-specific wireless devices (such as a bike computer) are present; 5): a boolean value indicating whether car-specific wireless devices (such as the car itself or navigation system of a car) are present; 6) a dominant frequency on the vertical (Z) axis of the accelerometer data, as extracted from a power spectrum, such as discussed above with respect
The system may also record information for later use, such as for accident reconstruction or to further develop potential adverse event detection algorithms. The information may be recorded in the memory 830 of the server 825 of
In other implementations, the system may determine a danger score based on a route planned or taken by the user. For example, using the information known or available to the system such as various geofences on or near a planned route, the system can determine a relative safe-ness of various routes.
Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein.
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. Further, the drawings may schematically depict one more example processes in the form of a flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations 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 some implementations, any of the operations described herein can be implemented at least in part as computer-readable instructions stored on a computer-readable medium or memory. Upon execution of the computer-readable instructions by a processor, the computer-readable instructions can cause a computing device to perform the operations.
The foregoing description of some implementations has been presented for purposes of illustration and of description. It is not intended to be exhaustive or limiting with respect to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed implementations. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
This application is claims priority to provisional U.S. Patent Application No. 62/045,639 filed on Sep. 4, 2014, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62045639 | Sep 2014 | US |