Automatic exercise route detection

The electronic device automatically detects exercise routes by pre-caching and pre-loading map data, refining location estimation through lane matching, addressing inaccuracies and enhancing fitness tracking precision and user experience.

JP2026508552APending Publication Date: 2026-03-11APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-02
Publication Date
2026-03-11

AI Technical Summary

Technical Problem

Existing fitness tracking devices struggle to accurately detect and track exercise routes, particularly athletic tracks, due to inaccuracies in location estimation and the need for manual configuration, which disrupts the user experience and affects the precision of exercise metrics.

Method used

An electronic device, such as a smartwatch, automatically detects exercise routes by pre-caching and pre-loading map data for nearby tracks, using sensors to determine proximity, and refining location estimation through lane matching, thereby providing seamless and precise fitness tracking.

Benefits of technology

This approach enhances the accuracy of fitness metrics by aligning position data with track boundaries, ensuring precise distance and lap counting, and providing a seamless user experience from arrival to exercise session initiation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026508552000001_ABST
    Figure 2026508552000001_ABST
Patent Text Reader

Abstract

The system may be implemented by at least one processor configured to determine that a user's position is within a bounding box corresponding to a predefined exercise route, receive an indication of a predefined segment corresponding to the predefined exercise route, and retrieve exercise route data for the predefined exercise route. The exercise route data may include predetermined distance information corresponding to the predefined segment of the predefined exercise route. The at least one processor may be further configured to receive user position data corresponding to traversing the predefined segment, generate segment match position data by correlating the user position data with the predetermined distance information corresponding to the predefined segment, and provide exercise metrics determined based at least in part on the segment match position data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE INVENTION This specification relates generally to fitness tracking on electronic devices, and more particularly to automatic detection of exercise routes to provide more accurate fitness tracking. [Background technology]

[0002] An electronic device, such as a laptop, tablet, smartphone, or wearable device, may include a Global Navigation Satellite System (GNSS) receiver and / or one or more sensors (e.g., accelerometer, gyroscope, etc.) that can be used to estimate the location of the electronic device, such as for fitness tracking purposes.

[0003] Particular features of the present subject technology are set forth in the appended claims. However, for purposes of explanation, some implementations of the present technology are shown in the following figures. [Brief explanation of the drawings]

[0004] [Figure 1] 1 illustrates an exemplary network environment for automatic track detection, according to one or more implementations.

[0005] [Figure 2] 1 illustrates an exemplary electronic device capable of implementing the methods and systems of the present application, according to one or more implementations.

[0006] [Figure 3] 1 illustrates a geographic area that includes athletic tracks within a radius of a user's location, according to one or more implementations.

[0007] [Figure 4A] 1 shows a racing track near a user, according to one or more implementations.

[0008] [Figure 4B] 1 illustrates a bounding box associated with a racing track, according to one or more implementations.

[0009] [Figure 5A] 1 illustrates a confirmation message displayed on a wearable device according to one or more implementations.

[0010] [Figure 5B] 5B illustrates a lane selection prompt displayed on the wearable device of FIG. 5A according to one or more implementations.

[0011] [Figure 6A] 1 illustrates map data and track data associated with a racing track, according to one or more implementations.

[0012] [Figure 6B] 6B illustrates lane data of the track data of FIG. 6A according to one or more implementations.

[0013] [Figure 7] 1 illustrates running data associated with a user running on a racing track, according to one or more implementations.

[0014] [Figure 8] 1 illustrates lane match data generated based on driving data, according to one or more implementations.

[0015] [Figure 9] 1 illustrates a flow diagram of an exemplary process for automatic track detection, according to one or more implementations.

[0016] [Figure 10] 1 illustrates an exemplary electronic system capable of implementing aspects of the present disclosure, according to one or more implementations. DETAILED DESCRIPTION OF THE INVENTION

[0017] The detailed description set forth below is intended as a description of various configurations of the technology of the present application and is not intended to represent the only configurations in which the technology of the present application can be practiced. The accompanying drawings are incorporated into this specification and constitute a part of the detailed description. The detailed description includes specific details to provide a thorough understanding of the subject technology. However, the technology of the present application is not limited to the specific details set forth herein and can be implemented using one or more other implementations. In one or more implementations, structures and components are shown in block diagram form to avoid obscuring the concepts of the technology of the present application.

[0018] A user may utilize an electronic device to track an athletic session. The electronic device may store and / or track location, speed, and time, among other metrics for measuring the effectiveness of the athletic session. The athletic session may include, among other things, track training, such as running regular intervals around an athletic track. In one approach, a user may manually determine athletic metrics and input them into the electronic device for storage. In another approach, a user may activate an electronic device configured to utilize one or more sensors to track and provide athletic metrics for storage.

[0019] Aspects of the present technology are directed to methods, systems, and computer-readable media for automatically detecting a predetermined exercise route (e.g., a track) using an electronic device (e.g., a smartwatch). The electronic device can be configured to utilize one or more sensors to collect exercise metrics and determine whether the electronic device is in an appropriate location to collect exercise metrics, such as on a track. In this manner, the electronic device can provide a user with a seamless experience from arriving at a track to starting an exercise session, with minimal configuration of the electronic device for the exercise session. In addition, the electronic device can provide the user with more accurate exercise metrics based on precise map data for each individual track. For example, precise measurement information corresponding to each lane of a given track can be downloaded by the electronic device. The electronic device can then use the precise measurement information to refine the location estimation of the electronic device when the user exercises in the identified lane of the track.

[0020] In one or more implementations, the map data can be accessed (e.g., downloaded, retrieved, transferred, etc.) in the background prior to the exercise session, so that the user does not need to manually access the map data for the track prior to the exercise session. Although the exemplary implementations described herein refer to athletic tracks, it should be understood that the technology herein can be applied to cycling tracks or any other form of exercise route.

[0021] 1 illustrates an exemplary network environment 100 for automatic track detection, according to one or more implementations. However, not all of the depicted components may be used in all implementations, and one or more implementations may include additional or different components than those shown in the figures. Variations in the arrangement and type of components may be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0022] The network environment 100 may include the electronic device 102 and one or more servers (e.g., the server 108). A network 106 may communicatively couple (directly or indirectly) the electronic device 102 and the server 108. In one or more implementations, the network 106 may be a network of interconnected devices that may include the Internet or be communicatively coupled to the Internet. For illustrative purposes, the network environment 100 is shown in FIG. 1 as including the electronic device 102 and the server 108, but the network environment 100 may include any number of electronic devices and / or any number of servers communicatively coupled to each other directly or via the network 106. Aspects of the present technology may enable communication of map data at various levels of granularity based on the likelihood (e.g., proximity, target location, etc.) that the electronic device 102 and / or the electronic device 104 will visit the athletic track. Using the map data, the electronic device (e.g., the electronic device 102) may more accurately track athletic sessions.

[0023] The electronic device 102 may be, for example, a wearable device such as a wristwatch, a band, a portable computing device such as a desktop computer, a laptop computer, a smartphone, a peripheral device (e.g., a digital camera, headphones), a tablet device, or any other suitable device that includes one or more wireless interfaces such as, for example, a WLAN radio, a cellular radio, a Bluetooth® radio, a Zigbee® radio, a near field communication (NFC) radio, and / or other radios. In one or more implementations, the electronic device 102 may include a smartwatch configured to track athletic metrics. In FIG. 1 , the electronic device 102 is depicted as a smartwatch by way of example. The electronic device 102 may be and / or include all or part of the electronic systems described below with respect to FIG. 10 . In one or more implementations, the electronic device 102 may include one or more sensors for generating motion data, biometric data, location data, and / or any other data that may be associated with an athletic session (e.g., running). In one or more implementations, the electronic device 102 may utilize one or more sensors of the electronic device 104 to generate motion data, biometric data, location data, and / or any other data that may be associated with an exercise session. The location sensor may be associated with a positioning technology such as, for example, GNSS positioning, Wi-Fi positioning, cellular telephone signal positioning, Bluetooth signal positioning, and / or image recognition positioning.

[0024] The electronic device 104 may be, for example, a portable computing device such as a laptop computer, a smartphone, a peripheral device (e.g., digital camera, headphones), a tablet device, a wearable device such as a wristwatch, a band, or any other suitable device that includes one or more wireless interfaces such as, for example, a WLAN radio, a cellular radio, a Bluetooth® radio, a Zigbee® radio, an NFC radio, and / or other radios. In Figure 1, for example, the electronic device 104 is depicted as a smartphone. The electronic device 104 may be and / or include all or part of the electronic system described below with respect to Figure 10.

[0025] In one or more implementations, electronic device 104 can be configured to be communicatively coupled to electronic device 102 for the exchange of information, such as motion metrics, map data, location information, etc. In one or more implementations, electronic devices 102, 104 can cooperate to collect, store, and / or analyze sensor data. For example, electronic device 104 may include a location sensor and communicate location data from the location sensor with electronic device 102, or electronic device 102 may not include a location sensor but rely on electronic device 104 to determine location data.

[0026] In one or more implementations, one or more servers (e.g., server 108) can store map data for a geographic area within at least a certain radius of electronic device 102 and / or electronic device 104. The map data can include locations, bounding boxes, and / or detailed map data for one or more racing tracks within the radius geographic area. In some variations, server 108 includes one or more app-specific modules (e.g., plug-ins) that perform operations (e.g., accessing map data) for individual applications.

[0027] In one or more implementations, server 108 may store account information (e.g., user accounts, usernames / handles, or any other account-specific data) associated with electronic device 102, electronic device 104, and / or its users and / or users associated therewith. In one or more implementations, one or more servers (e.g., server 108) can provide content (e.g., map content, application content, or any other suitable data) to be processed at participant devices (e.g., electronic device 102 and / or electronic device 104) by applications or operating systems of the participant devices.

[0028] In one or more implementations, the electronic device 102 can be communicatively coupled to a server 108. The electronic device 102 is configured to communicate with the server 108 to send and / or receive motion data, map data, track data, location data, and / or any other information.

[0029] FIG. 2 illustrates an exemplary electronic device 102 capable of implementing the methods and systems of the present application, according to one or more implementations. For purposes of explanation, FIG. 2 is described herein primarily with reference to the electronic device 102 of FIG. 1. However, this is merely an example, and features of the electronic device of FIG. 2 may be implemented in any other electronic device for implementing the techniques of the present application. However, not all of the illustrated components may be used in all implementations, and one or more implementations may include additional or different components than those shown in FIG. 2. Variations in the arrangement and type of components may be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0030] The electronic device 102 may include one or more of a host processor 202, a memory 204, one or more sensor(s) 206, and / or a communication interface 208. The host processor 202 may include suitable logic, circuitry, and / or code capable of processing data and / or controlling the operation of the electronic device 102. In this regard, the host processor 202 may be capable of providing control signals to various other components of the electronic device 102. The host processor 202 may also control data transfer between various portions of the electronic device 102. The host processor 202 may further implement an operating system or otherwise execute code to manage the operation of the electronic device 102.

[0031] The memory 204 may include suitable logic, circuitry, and / or code that enables storage of various types of information, such as received data, generated data, code, and / or configuration information. The memory 204 may include volatile memory (e.g., random access memory (RAM)) and / or non-volatile memory (e.g., read-only memory (ROM), flash, and / or magnetic storage). In one or more implementations, the memory 204 may store user location data, track data (e.g., lane information), athletic data (e.g., biometrics), account data, and any other data generated in the course of performing the processes described herein.

[0032] The sensor(s) 206 may include one or more motion sensors, biometric sensors, position sensors, etc. The motion sensors may generate motion data based on the movement of a user (e.g., a user wearing the electronic device 102). The motion data may be used to determine, for example, the number of steps taken, distance traveled, etc. The biometric sensors may generate biometric data based, for example, on contact of the sensor with the user. For example, the biometric data may include heart rate, respiratory rate, etc.

[0033] The location sensor can generate location data based on satellite signals, network signals, etc. The location data can be used to determine, for example, distance traveled, proximity to a location of an object (e.g., home or truck), etc. The location sensor can provide one or more of GNSS positioning (e.g., via a GNSS receiver configured to receive signals from GNSS satellites), wireless access point positioning (e.g., via a wireless network receiver configured to receive signals from a wireless access point), cellular telephone signal positioning, Bluetooth signal positioning (e.g., via a Bluetooth receiver), image recognition positioning (e.g., via an image sensor), and / or INS (e.g., via a motion sensor such as an accelerometer and / or gyroscope).

[0034] The communication interface 208 may include suitable logic, circuitry, and / or code to enable wired or wireless communication, such as between the electronic device 102 and the server 108. The communication interface 208 may include, for example, one or more of a Bluetooth communication interface, an NFC interface, a Zigbee communication interface, a WLAN communication interface, a USB communication interface, a cellular interface, or generally any communication interface.

[0035] In one or more implementations, one or more of the host processor 202, memory 204, sensor(s) 206, communication interface 208, and / or one or more portions thereof may be implemented in software (e.g., subroutines and code), in hardware (e.g., an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a state machine, gate logic, discrete hardware components, or any other suitable device), and / or a combination of both.

[0036] 3 illustrates a geographic region 300 that includes athletic tracks 304 within a radius 306 of a user's location 302, according to one or more implementations. Aspects of the present technology include, for example, accessing and storing accurate map data for one or more athletic tracks 304 before a user arrives at the athletic track.

[0037] The electronic device 102 may pre-cache complete map data for one or more racing tracks 304 before and / or independently of the user's arrival at any of the racing tracks. Pre-caching map data for one or more racing tracks 304 (e.g., before and / or independently of the user's arrival at any of the racing tracks 304) may include downloading the map data and storing the map data in non-volatile storage (e.g., memory 204) of the electronic device 102. To reduce the amount of storage utilized for pre-caching, the electronic device 102 may download map data for one or more racing tracks 304 within a radius 306 of the user's location 302 and / or a location of interest, such as the user's home, work, school, or other regularly visited location (e.g., as determined by the electronic device 102).

[0038] The radius 306 may be a distance that includes the athletic tracks 304 (if any) that the user is likely to visit. For example, the user may be likely to visit athletic tracks 304 within a city of the user's location 302, such as within a 25-kilometer or 15-kilometer radius. The pre-cache radius 306 may be based around the user's location 302 and / or a location of interest. The pre-cache radius 306 may also, or instead, be around the user's expected future location. For example, when the electronic device 102 is idle and determining which athletic tracks 304 to pre-cache, the electronic device 102 may identify a future expected location, such as during a calendar event for the user, and then pre-cache map data for the athletic tracks 304 within the pre-cache radius 306 of the future expected location. In one or more implementations, the electronic device 102 may utilize multiple different radii for different locations. For example, the electronic device 102 may utilize a longer radius (e.g., 25 km) around the user's home and work locations, but a shorter radius (e.g., 15 km) for other locations that are less likely to be visited, such as the next expected / projected location (e.g., as determined via a calendar event).

[0039] In one or more implementations, pre-caching may occur while the electronic device 102 is idle. If the electronic device 102 is not used for a period of time, the electronic device 102 may be considered to be idle. For example, the electronic device 102 may be considered to be idle overnight while the electronic device 102 is charging.

[0040] 4A illustrates a racing track 408 near a user, according to one or more implementations. Aspects of the present technology include preloading data. Compared to pre-caching, preloading data may occur closer to the user's arrival at the racing track 408 and may include transferring map data of at least a portion of one or more racing tracks 408 from non-volatile memory to volatile memory for use by applications on the electronic device 102.

[0041] To reduce the amount of volatile storage utilized in preloading, the electronic device 102 may preload at least a portion of the map data for one or more racing tracks 408, which may be a subset of the racing tracks 304. The preloading may occur before and / or independently of the user's arrival at any of the racing tracks 408. The preloading may include transferring at least a portion of the map data for one or more racing tracks 408 in an area 407 (e.g., as determined by the electronic device 102). The area 407 may be a geographic location around the user that is equal to or less than the geographic region covered by the pre-cache radius 306. For example, if the pre-cache radius 306 is 25 km, the radius of the area 407 may be 5 km. Thus, the racing tracks 408 may be a subset of the racing tracks 304. The area 407 and the pre-loaded data may be periodically refreshed. For example, if the user travels outside of area 407, the area may be updated to a geographic location 5 km around the user, and the racing tracks for the updated area 407 may be preloaded.

[0042] In one or more implementations, the radius of the area 407 may be based on the density of the athletic tracks 304 within the geographic region 300 (e.g., the number of pre-cached athletic tracks 304 within the pre-cache radius 306). For example, if the number of athletic tracks 304 within the pre-cache radius 306 increases above a threshold level of density, the size of the area 407 for preloading may be decreased so as not to preload a number of athletic tracks 408 that exceeds the threshold level of athletic tracks.

[0043] 4B illustrates a bounding box 410 associated with a racing track 408, according to one or more implementations. The bounding box 410 may be generated by a device that stores map data corresponding to the racing track 408 (e.g., the electronic device 102 that stores the map data in memory 204, a server that stores the map data in a database, etc.). The map data may include satellite images of a geographic region, which may be analyzed for objects within the images via object recognition algorithms. For example, the map data of the region may be analyzed to identify the racing track 408. Part of the analysis may include generating an outline of the identified racing track 408, which is referred to herein as a bounding box 410. It is contemplated that the bounding box may be any shape that encloses the racing track, including, but not limited to, a rectangular shape.

[0044] In one or more implementations, the bounding box 410 can act as a geofence for its associated racing track 408. The electronic device 102 can determine that the electronic device 102 is within the geofence based on location information of the electronic device 102. Upon determining that the electronic device 102 is within a threshold proximity to the bounding box 410 or is within the bounding box 410, the electronic device 102 can load the complete map data for the racing track 408 if it is not already loaded (e.g., only the bounding box is preloaded). In one or more implementations, the electronic device 102 may trigger a track detection notification, as described with respect to FIGS. 5A-5B , to notify the user that the track has been detected and to seek confirmation or other response from the user.

[0045] Location information may be determined by satellite signals such as GPS. Other, less battery-intensive methods for determining location may be based on network signals (e.g., Wi-Fi signals), NFC signals, RFID signals, and / or any other signals associated with geographic location. The electronic device 102 may also, or instead, utilize a leached location. A leached location may be a location determined by the electronic device 102 for a previous purpose to avoid reactivating the electronic device's 102's location sensor(s) and / or circuitry. For example, the electronic device 102 may determine its location to perform a first task at its current location, and such location may be reused to perform a second task. A leached location may be utilized if it was last determined within a period of time so that the location is not stale. For example, if a determined location was used in performing a first task, the electronic device's 102's location may have changed an hour later, and thus a location may need to be determined to perform a second task.

[0046] 5A illustrates a confirmation message 502 displayed on the electronic device 102 according to one or more implementations. The confirmation message 502 can be triggered in response to determining that the electronic device 102 is in proximity to a racing track (e.g., within a bounding box or within a threshold distance from a bounding box). For example, the electronic device 102 can receive location information (e.g., a GPS signal) to compare with one or more bounding boxes (e.g., preloaded bounding boxes) and determine whether it is within a bounding box. After the electronic device 102 recognizes that it is in proximity to a racing track, the electronic device 102 can present the confirmation message 502 notifying the user that a racing track has been detected.

[0047] The user can confirm the presence of a racing track or provide data regarding the racing track to the electronic device 102. For example, the user can press the lane selection button 504 to confirm the presence of a racing track and provide the electronic device 102 with the lane in which the user intends to run (e.g., a predetermined segment of a predetermined exercise route). In one or more implementations, the user can ignore the notification. For example, the user can press the dismiss button 506 to remove the notification or not respond to the notification.

[0048] In one or more implementations, the electronic device 102 can check whether the location is near the user's home, work, or other location of interest before the electronic device 102 presents a track detection notification to avoid false positive track detections. If the user is near the location of interest, the electronic device 102 can trigger an accurate location determination rather than leaching a location from a previous, possibly inaccurate, determined location. The accurate location can be determined via sensors on the electronic device 102 (or any other suitable device), such as GPS or other satellite signals. Additionally or alternatively, the proximity to the track's bounding box for triggering the confirmation message 502 can be reduced so that the user is closer to the track before triggering the confirmation message 502.

[0049] 5B shows a lane selection prompt 508 displayed on the electronic device 102 of FIG. 5A, according to one or more implementations. If the confirmation message 502 of FIG. 5A requires a response from the user, the user can interact with the confirmation message 502 (e.g., via the lane selection button 504) to provide information to the electronic device 102, thereby causing the lane selection prompt 508 to be displayed.

[0050] A user can provide the electronic device 102 with the lane in which the user intends to train. For example, the user can use lane selection 510 to indicate a numbered lane on a racing track, such as lane 9. In one or more implementations, the lane may be automatically determined (e.g., via GPS) based on the user's precise location. Lane selection 510 can be utilized to generate lane match data, as described further below with respect to FIGS. 7-8. When the user selects start button 512, the electronic device 102 may access map data of the detected track (e.g., preloaded map data such as those described above with respect to FIGS. 3A-3C) and begin generating athletic data (e.g., location data and biometric data). The map data can also, or instead, be accessed by another electronic device (e.g., from the electronic device 104 and / or the server 108). Lane selection 510 can be used to improve the accuracy of athletic data associated with the detected track, as described further below with respect to FIGS. 7-8.

[0051] 6A shows map data 602 and track data 603 associated with a racing track 304, according to one or more implementations. The map data 602 can include data regarding a visual representation of a geographic area, including a road map, a satellite map, a topographical map, etc. For example, the map data 602 is a satellite map of the racing track 304. The track data 603 can be derived from the map data 602. For example, a satellite image of the geographic area including the racing track 304 can be analyzed using a computer vision model to identify standard characteristics of the racing track 304, such as the shape, lanes, starting line, lane numbers, etc. The track data 603 can include one or more data points that define the racing track 304 and / or its features, such as the lanes and starting line.

[0052] The map data 602 and / or track data 603 may be accessed (e.g., downloaded, received, retrieved, etc.) by the electronic device 102 from local (e.g., memory 204) and / or remote storage (e.g., electronic device 104) when the electronic device 102 approaches the competition track 304. For example, upon determining that the electronic device 102 is within a bounding box of or within a threshold distance of the competition track 304, the electronic device 102 may access pre-loaded map data 602 and / or track data 603 associated with the competition track 304. In one or more implementations, the map data 602 and / or track data 603 may be accessed after the user confirms that the electronic device 102 is near the competition track 304 and / or that the user wishes to begin training on the competition track 304. For example, in response to determining that the electronic device 102 is in proximity to the racing track 304 (e.g., within a bounding box or within a threshold distance from the bounding box), a track detection notification (e.g., a confirmation message 502) may be triggered, and the user may indicate a lane on the racing track 304 and begin training, thereby triggering the electronic device 102 to access the map data 602 and / or the track data 603. In one or more implementations, the track data 603 may be derived on the fly from the map data 602 as the map data is accessed.

[0053] FIG. 6B shows lane data from the track data 603 of FIG. 6A according to one or more implementations. The track data 603 can include one or more data points that define lanes and / or their features on the racing track 304, such as lines 604, 608 that define a lane and a path 606. For example, line 604 can be the outer boundary of lane 9, line 608 can be the inner boundary of lane 9, and the combination of the two lines 604, 608 defines lane 9. The path 606 can be a path that a runner is likely to follow when training on the racing track 304. In one or more implementations, the path 606 can be closer to the inner line 608 than to the outer line. For example, a runner can typically run closer to the inner line 608 than to the outer line 604 because a curve in the racing track 304 can direct the runner toward the inner line 608. Thus, the electronic device 102 can use the path 606 of lane 9 to refine its location estimate while the user is running in lane 9.

[0054] FIG. 7 illustrates running data 704 associated with a user running on a racing track 304, according to one or more implementations. The racing track 304 may have associated track data (e.g., track data 603). The track data for the racing track 304 may be preloaded onto the electronic device 102 when or before the user begins a racing track workout (e.g., by pressing the start button 512). Once the racing track workout begins, the electronic device 102 may begin generating athletic data, such as location and biometric data. For example, as the user runs laps around the racing track 304, the electronic device 102 may track the user's location on the racing track and the user's heart rate. Location can be tracked using a position sensor (e.g., a GNSS receiver) on the electronic device 102. However, position sensors are often inaccurate and may measure position data that is several feet away from the actual location of the position sensor. Inaccuracies in the position sensor may be reflected by inaccuracies in athletic data, such as distance traveled, laps run, pace, and any other distance-related metrics.

[0055] To compensate for inaccuracies in the position data and improve the accuracy of the motion data, data points of the position data can be matched to lanes on the racing track 304 (e.g., lane match data 702), as described with respect to FIG. 8.

[0056] In one or more implementations, an image of the route run by the user may be overlaid on map data of the racing track 304. The route run by the user may be determined by the lane match data 702. For example, the route may be shown as points in the lane match data 702 or as a line interpolated through points in the location data. The route may be colored based on a metric of athletic data, such as speed or heart rate. The map data of the racing track 304 may include a satellite image of the racing track, which may be normalized to smooth out any changes in the racing track's elevation. The route (e.g., a line or data points) may be overlaid on an image of the racing track, allowing the user to visualize their training on the racing track 304 individually, on average, for each lap, and / or any other training-related metrics.

[0057] 8 illustrates lane match data 702 generated based on running data 704 according to one or more implementations. While traversing the racing track 304, a position sensor of the electronic device 102 can generate the running data 704, and the electronic device 102 can access track data 603 of the racing track 304. The track data 603 can include one or more lines 604, 608 defining lanes and a path 606 along which the user is likely to run within the lane. The running data 704 may include inaccuracies that may be inherent to the position sensor. To remedy such inaccuracies, the lane match data 702 can be generated by shifting the running data 704 so that the running data 704 is positioned along the path 606.

[0058] Shifting the driving data 704 may include moving the driving data 704 in a direction 802 toward the route 606. The driving data 704 may be shifted so that points of the lane match data 702 are substantially the same distance from each other along the route 606 than when they are not aligned with the lane (e.g., driving data 704). For example, the data points of the driving data 704 may be shifted onto the route 606 such that lateral differences between each data point are reduced (e.g., eliminated) but vertical differences between each data point are maintained (e.g., assuming the arrow representing the driving data 704 in FIG. 7 points north). Athletic data such as distance traveled and laps traveled may be determined based on the lane match data 702.

[0059] In one or more implementations, one or more lanes may be normalized so that they are a predetermined (e.g., pre-configured) distance. A competition track 304 may have designated measurements that must be followed in order to be utilized for a particular event. For example, on an Olympic competition track, the first lane may be 400 meters, the second lane may be 407.67 meters, and so on. However, not all competition tracks 304 have lanes of a predetermined distance. Therefore, to track athletic data based on the expected length of the lanes, the track data 603 corresponding to the lanes (including the path 606) may be lengthened or shortened to fit the predetermined length. When generating lane match data 702, points of the running data 704 may be shifted toward the path 606 and toward the ends of the path 606 (e.g., the start line and / or finish line) so that the distance between points of the running data 704 is shifted farther or closer to each other by an amount corresponding to the amount the lane is lengthened or shortened.

[0060] Normalization of run data 704 may occur in real time or periodically. Adjustments may occur on a per-lap basis or a portion thereof, such as every 400 meters or every 200 meters. Normalization may also, or instead, occur on a per-epoch basis, such as every 10 seconds. Athletic data, such as distance traveled and laps run, may be determined based on normalized lane match data 702.

[0061] FIG. 9 shows a flow diagram of an example process 900 for automated racing track detection, according to one or more implementations. For purposes of explanation, process 900 is described herein primarily with reference to electronic device 102, electronic device 104, and server 108 of FIG. 1 . However, process 900 is not limited to electronic device 102, electronic device 104, or server 108, and one or more blocks of process 900 may be performed by one or more other components of server 108 and / or other suitable devices. Further, for purposes of explanation, the blocks of process 900 are described herein as occurring sequentially or linearly. However, multiple blocks of process 900 may occur in parallel. Additionally, the blocks of process 900 need not be performed in the order illustrated, and / or one or more blocks of process 900 need not be performed and / or may be replaced by other operations.

[0062] In block 902, the electronic device 102 may determine whether the user's location is within a bounding box corresponding to a predefined athletic route (e.g., athletic track 304). The predefined athletic route may include an athletic track, a cycling track, a trail, a road, a sidewalk, a user-defined route, or any other defined route. The athletic route and / or a representation of the athletic route may be stored on the electronic device 102 or on another electronic device (e.g., the electronic device 104 or the server 108) and pre-cached / pre-loaded on the electronic device 102. One representation of the athletic route may be a bounding box (e.g., bounding box 410), which may be a shape that encloses the geographic location of the athletic route. The bounding box may be generated based on the predefined athletic route. For example, the server 108 may analyze map data using a machine learning model trained to identify athletic routes within the shape of an athletic track, and identifying the athletic route includes isolating the athletic route using the bounding box.

[0063] One or more bounding boxes associated with one or more exercise routes may be pre-cached on the electronic device 102. The electronic device 102 may periodically access (e.g., query, retrieve, load, receive) a repository of bounding boxes to locally store one or more bounding boxes near the electronic device 102 and / or one or more locations of objects. The locations of objects may include the user's current location and / or the user's expected future locations. For example, the electronic device 102 may pre-cache (e.g., store in non-volatile memory) one or more bounding boxes within a predefined distance of the user, such as within a 25 km radius of the user. The electronic device 102 may also pre-load (store in volatile memory) one or more bounding boxes within a predefined range of one or more locations of objects, such as within a 2 km radius of a location indicated in the user's calendar event for the next day.

[0064] To determine that the user is within the bounding box, the electronic device 102 may determine its location. The location may be based at least in part on satellite signals (e.g., GPS signals) and / or network signals (e.g., Wi-Fi signals). The location may be compared to a location covered by a bounding box accessed (e.g., stored) by the electronic device 102. When the location is within the geographic area covered by the bounding box, a notification (e.g., confirmation message 502) may be provided to the user to confirm that the user is on or near the predefined exercise route. The user may provide confirmation (e.g., via lane selection button 504 on the notification) that the user is on the predefined exercise route associated with the bounding box.

[0065] At block 904, the electronic device 102 may receive an indication of a predefined segment corresponding to a predefined exercise route. The predefined exercise route may include one or more predefined segments. A segment may be a portion of the exercise route that divides the exercise route into sections. For example, if the exercise route is an athletic track 304, a segment may be a lane on the athletic track 304. After determining that the electronic device 102 is on the exercise route, the electronic device 102 may determine a segment of the exercise route to be utilized by the user. In one or more implementations, the electronic device 102 may generate a segment selection message (e.g., lane selection prompt 508). The segment selection message may present one or more available segments for the user to select. The user may indicate a selection by interacting with the segment selection message by scrolling to a selection, selecting a selection, speaking a selection, or any other form of selecting a segment.

[0066] At block 906, the electronic device 102 may retrieve athletic route data for the predetermined athletic route. The athletic route data may include detailed information about the athletic route, such as predetermined distance information, a predetermined athletic route, a preconfigured distance, etc. For example, if the athletic route is an athletic track 304, the segments may be lanes (e.g., defined by lines 604, 608), and the predetermined distance information may be a path 606 having a preconfigured distance of 400 m in the innermost lane. The athletic route data may be retrieved from local and / or external sources. For example, the athletic route data may be retrieved from non-volatile and / or volatile memory on the electronic device 102 or from a database (e.g., in the server 108).

[0067] At block 908, the electronic device 102 may receive user position data corresponding to the traversal of a predetermined segment. The electronic device 102 may receive the user position data from local sensors and / or sensors from another device (e.g., the electronic device 104), one or both of which may accompany the user on the exercise route. The user position data may be collected as the user traverses an exercise route, such as a segment of the exercise route.

[0068] At block 910, the electronic device 102 may generate segment-matching position data. The electronic device 102 may correlate the user position data from block 908 with the predetermined distance information from block 906. Correlating the user position data with the distance information may include adjusting one or more data points of the user position to the distance information. For example, the position data (e.g., the driving data 704) may be adjusted to align with the distance information of a segment (e.g., the path 606 of a lane on a racing track). In one or more implementations, the path information corresponding to the lane selected by the user may be provided to a Kalman filter used by the electronic device 102 for position estimation.

[0069] In one or more implementations, adjusting can include shifting the data points toward the distance information (e.g., path 606), as described with respect to FIG. 7 above. One or more data points can be adjusted in a direction most direct to the distance information. One or more data points can be adjusted so that data points of the segment-matched position data (e.g., lane-matched data 702) are substantially the same distance from each other along the distance information than when they do not match a segment (e.g., driving data 704). For example, data points of the user position data can be shifted onto the position data such that lateral differences between each data point of the user position data are reduced (e.g., eliminated), but vertical differences between each data point of the user position data are maintained.

[0070] In one or more implementations, the predetermined distance information for the segment from block 904 can be adjusted to match a preconfigured distance, such that the segment match position data is normalized to the preconfigured distance when generating the segment match position data, as described with respect to FIG. 8 above.

[0071] At block 912, the electronic device 102 may provide athletic metric(s) determined based at least in part on the segment match position data. The segment match position data may be used to determine a lap count, a lap duration, a lap distance (e.g., a portion of a lap run), and / or a total distance (e.g., a total distance run). For example, a lap count may be determined by counting the number of times a starting line is crossed, the starting line being the first point in the position data, and a lap duration may be the time it takes for a traverse of a segment to cross the starting line.

[0072] As mentioned above, one aspect of the present technology is the collection and use of available data from specific and legitimate sources for file sharing. The present disclosure contemplates that, in some cases, this collected data may include personal information data that uniquely identifies or can be used to identify a particular person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, images, videos, audio data, data or records regarding a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other personal information.

[0073] This disclosure recognizes that the use of such personal information data in the present technology may be for the benefit of the user. For example, personal information data may be used for file sharing. Accordingly, such use of personal information data may facilitate transactions (e.g., online transactions). Additionally, other uses of personal information data that benefit the user are contemplated by this disclosure. For example, health and fitness data may be used to provide insight into general wellness, or as positive feedback to individuals using the technology in pursuit of wellness goals, according to user preferences.

[0074] This disclosure contemplates that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will adhere to well-established privacy policies and / or privacy practices. Specifically, such entities would be expected to implement and consistently apply privacy practices generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. Such information regarding the use of personal data should be prominently and easily accessible to users and updated as data collection and / or use changes. Personal information from users should be collected only for legitimate uses. Furthermore, such collection / sharing should occur only after receiving the user's consent or based on other legitimate grounds specified in applicable law. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and to ensure that others with access to the personal information data adhere to their privacy policies and procedures. Furthermore, such entities may be able to undergo third-party assessments to demonstrate their adherence to widely accepted privacy policies and practices. Additionally, policies and practices should be tailored to the specific types of personal information data collected and / or accessed, and should comply with applicable laws and standards, including jurisdiction-specific considerations that may impose higher standards. For example, in the United States, the collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA). Meanwhile, health data in other countries may be subject to other regulations and policies and should be addressed accordingly.

[0075] Notwithstanding the above, the present disclosure also contemplates implementations in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, in the case of file sharing, the present technology may be configured to allow a user to select "opt-in" or "opt-out" of participating in the collection of personal information data during registration for the service or at any time thereafter. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications regarding the access or use of personal information. For example, the user may be notified upon downloading an app that will access the user's personal information data, and then again immediately before the app accesses the user's personal information data.

[0076] Furthermore, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data when it is no longer needed. Furthermore, where applicable, including in certain health-related applications, data anonymization can be used to protect user privacy. De-identification may be facilitated by removing identifiers when appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods such as differential privacy.

[0077] Thus, while this disclosure broadly covers the use of personal information data to practice one or more of the various disclosed implementations, it is contemplated that the disclosure may also be practiced without requiring access to such personal information data, i.e., various implementations of the technology are not rendered inoperable by the absence of all or a portion of such personal information data.

[0078] FIG. 10 illustrates an exemplary electronic system 1000 capable of implementing aspects of the present disclosure, according to one or more implementations. The electronic system 1000 may be and / or be part of any electronic device for producing the features and processes described with reference to FIGS. 1-9 , including, but not limited to, a laptop computer, a tablet computer, a smartphone, and a wearable device (e.g., a smartwatch, a fitness band). The electronic system 1000 may include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 1000 includes one or more processing unit(s) 1014, a persistent storage device 1002, a system memory 1004 (and / or buffers), an input device interface 1006, an output device interface 1008, a bus 1010, a ROM 1012, one or more processing unit(s) 1014, one or more network interface(s) 1016, one or more sensors 1018, and / or subsets and variations thereof.

[0079] The bus 1010 collectively represents all system, peripheral, and chipset buses that communicatively connect the various internal devices of the electronic system 1000. In one or more implementations, the bus 1010 communicatively connects one or more processing unit(s) 1014 to the ROM 1012, the system memory 1004, and the persistent storage device 1002. From these various memory units, the one or more processing unit(s) 1014 retrieve instructions to execute and data to process in order to perform the processes of the present disclosure. The one or more processing unit(s) 1014 may, in different implementations, be a single processor or a multi-core processor.

[0080] The ROM 1012 stores static data and instructions needed by one or more processing unit(s) 1014 and other modules of the electronic system 1000. The persistent storage device 1002, on the other hand, may be a read-and-write memory device. The persistent storage device 1002 may be a non-volatile memory unit that stores instructions and data even when the electronic system 1000 is off. In one or more implementations, a mass storage device (such as a magnetic or optical disk and its corresponding disk drive) may be used as the persistent storage device 1002.

[0081] In one or more implementations, a removable storage device (such as a floppy disk, flash drive, and its corresponding disk drive) may be used as the persistent storage device 1002. Like the persistent storage device 1002, the system memory 1004 may be a read-and-write memory device. However, unlike the persistent storage device 1002, the system memory 1004 may be a volatile read-and-write memory such as RAM. The system memory 1004 may store any instructions and data that the one or more processing unit(s) 1014 may need during execution. In one or more implementations, the processes of the present disclosure are stored in the system memory 1004, the persistent storage device 1002, and / or the ROM 1012. From these various memory units, the one or more processing unit(s) 1014 retrieve instructions to execute and data to process in order to execute the processes of one or more implementations.

[0082] The bus 1010 also connects to an input device interface 1006 and an output device interface 1008. The input device interface 1006 enables a user to communicate information and select commands to the electronic system 1000. Input devices that can be used with the input device interface 1006 can include, for example, an alphanumeric keyboard, a touch screen, and a pointing device. The output device interface 1008 can enable the electronic system 1000 to communicate information to a user. For example, the output device interface 1008 may provide a display of images generated by the electronic system 1000. Output devices that can be used with the output device interface 1008 can include, for example, printers and display devices, such as liquid crystal displays (LCDs), light emitting diode (LED) displays, organic light emitting diode (OLED) displays, flexible displays, flat panel displays, solid-state displays, projectors, or any other device for outputting information.

[0083] One or more implementations may include a device that functions as both an input and an output device, such as a touchscreen. In these implementations, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, haptic feedback, etc., and the input from the user may be received in any form, including acoustic input, voice input, or haptic input.

[0084] The bus 1010 also connects to sensor(s) 1018. The sensor(s) 1018 can include position sensors that can be used to determine device location based on positioning techniques. For example, the position sensors can provide one or more of GNSS positioning, wireless access point positioning, cellular telephone signal positioning, Bluetooth signal positioning, image recognition positioning, and / or INS (e.g., via motion sensors such as accelerometers and / or gyroscopes). In one or more implementations, the sensor(s) 1018 can be utilized to detect movement, movement, and orientation of the electronic system 1000. For example, the sensor(s) may include an accelerometer, a rate gyroscope, and / or other motion-based sensor(s). The sensor(s) 1018 can include one or more biometric sensors for determining user movement data, such as heart rate, respiration rate, and any other biometric data.

[0085] 10, bus 1010 also couples electronic system 1000 to one or more networks and / or one or more network nodes via one or more network interface(s) 1016. In this manner, electronic system 1000 can be part of a network of computers (such as a local area network, a wide area network, an intranet, or a network of networks such as the Internet). Any or all components of electronic system 1000 can be used in conjunction with the present disclosure.

[0086] Implementations within the scope of this disclosure may be realized partially or entirely using a tangible computer-readable storage medium (or one or more types of tangible computer-readable storage media) encoding one or more computer-readable instructions. The tangible computer-readable storage medium may also be non-transitory in nature.

[0087] A computer-readable storage medium may be any storage medium that can be read, written, or otherwise accessed by a general-purpose or special-purpose computing device, including any processing electronics and / or processing circuitry capable of executing instructions. For example, but not limited to, a computer-readable medium may include any volatile semiconductor memory such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. A computer-readable medium may also include any non-volatile semiconductor memory such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, Racetrack memory, FJG, and Millipede memory.

[0088] Additionally, the computer-readable storage medium may include any non-semiconductor memory, such as optical disk storage, magnetic disk storage, magnetic tape, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium may be directly coupled to a computing device, while in other implementations, the tangible computer-readable storage medium may be indirectly coupled to a computing device, for example, via one or more wired connections, one or more wireless connections, or any combination thereof.

[0089] The instructions may be directly executable or may be used to develop executable instructions. For example, the instructions may be implemented as executable or non-executable machine code, or as instructions in a high-level language that may be compiled to generate executable or non-executable machine code. Furthermore, instructions may also be embodied as or include data. Computer-executable instructions may also be structured in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As will be recognized by those skilled in the art, details including, but not limited to, the number, structure, order, and structure of instructions may vary considerably without changing the underlying logic, function, processing, and output.

[0090] Although the above description primarily refers to microprocessors or multi-core processors executing software, one or more implementations are performed by one or more integrated circuits, such as ASICs or FPGAs, which execute instructions stored on the circuitry itself.

[0091] Those skilled in the art will understand that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein can be implemented as electronic hardware, computer software, or a combination of both. To illustrate this interchangeability of hardware and software, the various illustrative blocks, modules, elements, components, methods, and algorithms have been described generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on design constraints imposed on the overall system and the particular application. Those skilled in the art will be able to implement the described functionality in a variety of ways for each particular application. The various components and blocks may be arranged differently (e.g., arranged in a different order or divided in a different way) without departing from the scope of the present technology.

[0092] It will be understood that any specific order or hierarchy of blocks in the disclosed processes is an example of an example approach. Based on design preferences, it will be understood that the specific order or hierarchy of blocks in the processes may be rearranged, or that the illustrated blocks may all be executed. Any of the blocks may be executed simultaneously. In one or more implementations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above-described implementations should not be understood as requiring such separation in all implementations. It should be understood that the described program components and systems may be integrated into a single software product or packaged into multiple software products.

[0093] As used herein and in the claims of this application, the terms "base station," "receiver," "computer," "server," "processor," and "memory" all refer to electronic or other technological devices. These terms exclude people or groups of people. For purposes of this specification, the terms "display" or "displaying" mean displaying on an electronic device.

[0094] As used herein, the phrase "at least one" preceding a list of items, with the term "and" or "or" separating any of the items, modifies the list as a whole, not just each member (i.e., each item) of the list. The phrase "at least one" does not require the selection of at least one of each listed item; rather, the phrase allows for a meaning including at least one of any one of the items, and / or at least one of any combination of the items, and / or at least one of each of the items. By way of example, the phrases "at least one of A, B, and C" or "at least one of A, B, or C" refer, respectively, to A only, B only, or C only, any combination of A, B, and C, and / or at least one of each of A, B, and C.

[0095] The terms "configured to," "operable to," and "programmed to" do not imply any specific tangible or intangible modification of the subject matter, but rather are intended to be used interchangeably. In one or more implementations, a processor configured to monitor and control operations or components can also mean that the processor is programmed to monitor and control operations or that the processor is operable to monitor and control operations. Similarly, a processor configured to execute code can be interpreted as a processor programmed to execute code or operable to execute code.

[0096] The use of phrases such as "one aspect," "that aspect," "another aspect," "some aspects," "one or more aspects," "one implementation," "that implementation," "another implementation," "one or more implementations," "one embodiment," "that embodiment," "another embodiment," "one or more implementations," "one configuration," "that configuration," "another configuration," "some configurations," "one or more configurations," the present technology, the present disclosure, the present disclosure, other variations thereof, and similar phrases is for convenience only and does not imply that the disclosure of such phrase(s) is essential to the present technology or that such disclosure applies to all configurations of the present technology. The disclosure of such phrase(s) may apply to all configurations or one or more configurations. The disclosure of such phrase(s) may provide one or more examples. Phrases such as "aspect" or "some aspects" can refer to one or more aspects, and vice versa, as with the other aforementioned phrases.

[0097] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any implementation described herein as "exemplary" or "example" is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, to the extent that the terms "include," "have," or the like are used in the specification or claims, such terms are intended to be inclusive in the same manner as the term "comprise," as "comprise" is interpreted when used as a transitional term in the claims.

[0098] All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later become known to those skilled in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Furthermore, nothing disclosed herein is made public, regardless of whether such disclosure is expressly recited in a claim. No claim element is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase "means for," or, in the case of a method claim, the element is recited using the phrase "step for."

[0099] The foregoing description is provided to enable those skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects set forth herein but are to be accorded the full scope consistent with the claims literal meaning. References to elements in the singular are not intended to mean "one and only one" unless specifically stated otherwise, but rather "one or more." The term "some" refers to one or more unless otherwise specified. Masculine pronouns (e.g., his) include feminine and neuter genders (e.g., her and its), and vice versa. Headings and subheadings, if any, are used for convenience only and are not intended to limit the disclosure herein.

Claims

1. determining that the user's position is within a bounding box corresponding to a predetermined movement route; receiving an indication of a predetermined segment corresponding to the predetermined exercise route; retrieving exercise route data for the predetermined exercise route, the exercise route data including predetermined distance information corresponding to the predetermined segments of the predetermined exercise route; receiving user position data corresponding to traversal of the predetermined segment; generating segment match position data by correlating the user position data with the predetermined distance information corresponding to the predetermined segment; providing a motion metric determined based at least in part on the segment match position data; A method comprising:

2. before determining that the position of the user is within the bounding box; accessing a location of an object of the user; accessing a bounding box corresponding to a predetermined movement route within a radius of the position of the object; The method of claim 1 further comprising:

3. Determining that the position of the user is within the bounding box includes: In response to determining that the position of the user is within the bounding box, providing a confirmation message that the position of the user is on the predetermined exercise route; receiving a confirmation from the user in response to the confirmation message indicating that the location of the user is on the predetermined exercise route associated with the bounding box based on the confirmation message; Including, The method of claim 1.

4. The method of claim 1 , wherein determining that the location of the user is within the bounding box is based at least in part on at least one of satellite signals or network signals.

5. receiving the indication of the predetermined segment; generating a segment selection message indicating one or more predefined segments of the predefined exercise route; receiving a selection of the predefined segment from the one or more predefined segments in response to the segment selection message; Including, The method of claim 1.

6. The method of claim 1 , further comprising adjusting the predetermined distance information corresponding to the predetermined segment to match a preconfigured distance.

7. The method of claim 1 , wherein the predetermined athletic route is a running track and the predetermined segments are lanes.

8. The method of claim 7 , wherein the athletic metrics include one or more of lap count, lap duration, and lap distance.

9. The method of claim 1 , wherein the exercise route data is derived from map data associated with the predetermined exercise route.

10. Memory and 1. A processor, comprising: determining that the user's position is within a bounding box corresponding to the predetermined movement route; receiving an indication of a predetermined segment corresponding to the predetermined exercise route; retrieving exercise route data for the predetermined exercise route, the exercise route data including predetermined distance information corresponding to the predetermined segments of the predetermined exercise route; receiving user position data corresponding to traversal of the predetermined segment; generating segment match position data by correlating the user position data with the predetermined distance information corresponding to the predetermined segment; providing a determined movement metric based at least in part on the segment match position data; a processor configured to: A device comprising:

11. Before the processor determines that the position of the user is within the bounding box, accessing a location of interest of said user; accessing a bounding box corresponding to a predetermined movement route within a radius of said position of the subject; further configured as follows: The device of claim 10.

12. the processor: In response to determining that the position of the user is within the bounding box, providing a confirmation message that the position of the user is on the predetermined exercise route; receiving a confirmation from the user in response to the confirmation message indicating that the location of the user is on the predetermined exercise route associated with the bounding box based on the confirmation message; and determining that the position of the user is within the bounding box by The device of claim 10.

13. 11. The device of claim 10, wherein the processor is configured to determine that the location of the user is within the bounding box based at least in part on at least one of satellite signals or network signals.

14. the processor: and further configured to adjust the predetermined distance information corresponding to the predetermined segment to match a preconfigured distance. The device of claim 10.

15. The device of claim 10 , wherein the predetermined athletic route is a running track and the predetermined segments are lanes.

16. The device of claim 15 , wherein the athletic metrics include one or more of lap count, lap duration, and lap distance.

17. The device of claim 10 , wherein the exercise route data is derived from map data associated with the predetermined exercise route.

18. A non-transitory computer-readable medium containing computer-readable instructions that, when executed by a processor, cause the processor to perform one or more operations, the one or more operations including: determining that the user's position is within a bounding box corresponding to a predetermined movement route; receiving an indication of a predetermined segment corresponding to the predetermined exercise route; retrieving exercise route data for the predetermined exercise route, the exercise route data including predetermined distance information corresponding to the predetermined segments of the predetermined exercise route; receiving user position data corresponding to traversal of the predetermined segment; generating segment match position data by correlating the user position data with the predetermined distance information corresponding to the predetermined segment; providing a motion metric determined based at least in part on the segment match position data; Including, Non-transitory computer-readable medium.

19. Before the action determines that the position of the user is within the bounding box, accessing a location of an object of the user; accessing a bounding box corresponding to a predetermined movement route within a radius of the position of the object; Further comprising:

20. The non-transitory computer-readable medium of claim 18.

20. Determining that the position of the user is within the bounding box includes: In response to determining that the position of the user is within the bounding box, providing a confirmation message that the position of the user is on the predetermined exercise route; receiving a confirmation from the user in response to the confirmation message indicating that the location of the user is on the predetermined exercise route associated with the bounding box based on the confirmation message; Including, 20. The non-transitory computer-readable medium of claim 18.