Search

US-12628120-B2 - Tripwire-based geolocation system

US12628120B2US 12628120 B2US12628120 B2US 12628120B2US-12628120-B2

Abstract

Methods, systems, and apparatus, including computer programs encoded on a non-transitory computer storage medium, for receiving user-defined routes, each user-defined route including a tripwire of multiple tripwires and a direction, where each user-defined route includes an action of multiple actions executed by a sub-system of a home monitoring system, detecting a first signal at a first tripwire including a first direction, determining a set of user-defined routes including the first tripwire and the first direction, detecting a second signal at a second tripwire including a second direction, determining a particular user-defined route of the set of user-defined routes including the first tripwire and the first direction and the second tripwire and the second direction, determining an action executed by a sub-system of the home monitoring system for the particular user-defined route traversed by a user, and triggering execution of the action based on the second signal at the second tripwire.

Inventors

  • John Murdock
  • Jasper Bingham
  • Allen Chien
  • Stephen Scott Trundle

Assignees

  • ALARM.COM INCORPORATED

Dates

Publication Date
20260512
Application Date
20231116

Claims (20)

  1. 1 . A computer-implemented method comprising: by a property monitoring system for a property and comprising one or more computers: maintaining, in a database and for each of one or more routes for the property, corresponding geolocation data for the route and a corresponding identifier of an action to trigger when the geolocation data is satisfied; receiving, for a route for the property that comprises a start point and an end point, first data that defines at least the start point and the end point of the route that can be traversed by an entity and two or more tripwires for the route; receiving second data that indicates an action to be executed at least in part by a monitoring system in response to the at least two of the two or more tripwires for the route being traversed by an entity; determining, for at least two of the two or more tripwires along the route and using the first data and the second data, geolocation data that defines a geolocated region of the respective tripwire, traversal of the geolocated region for the at least two of the two or more tripwires along the route triggering execution of the action by the monitoring system; and storing, for the route and in the database, i) an identifier for the action and ii) the geolocation data that defines the geolocated regions for at least two of the two or more tripwires for use in detecting, by the monitoring system, traversal of at least two of the two or more tripwires for the route by an entity.
  2. 2 . The method of claim 1 , comprising: receiving third data that indicates a direction of travel across the two or more tripwires along the route; and storing, for the route and in the database, direction of travel data that indicates the direction of travel across the two or more tripwires and causes the monitoring system to a) determine whether an entity moves in the direction of travel across the geolocated region, b) perform the action when an entity moves in the direction of travel across the geolocated region and c) determine to skip performing the action when the monitoring system detects an entity moving opposite to the direction of travel across the geolocated region.
  3. 3 . The method of claim 1 , comprising: providing, for presentation in a user interface on a device, the geolocation data for the at least two of the two or more tripwires for the route; receiving, from the device via the user interface, feedback data of at least one of the two or more tripwires; and adjusting the geolocation data for the at least two of the two or more tripwires using the feedback data.
  4. 4 . The method of claim 1 , wherein: a first tripwire of the two or more tripwires is associated with the action; and storing the geolocation data comprises storing the geolocation data to cause the monitoring system to execute the action in response to detecting a movement at the first tripwire.
  5. 5 . The method of claim 4 , wherein determining the geolocation data of the first tripwire comprises: determining an amount of time to travel from the first tripwire to the end point of the route; determining an amount of time for the monitoring system to execute the action; and selecting the geolocation data that represents a physical location of the first tripwire using the amount of time for the monitoring system to execute the action and the amount of time to travel from the first tripwire to the end point of the route.
  6. 6 . The method of claim 5 , wherein selecting the geolocation data of the first tripwire comprising selecting the geolocation data of the first tripwire such that a difference between the amount of time for the monitoring system to execute the action and the amount of time to travel from the first tripwire to the end point of the route satisfies a threshold.
  7. 7 . The method of claim 1 , comprising: obtaining speed data and location data of a second entity travelling along at least a portion of the route; and adjusting the geolocation data of a first tripwire of the two or more tripwires using the speed data and the location data of the second entity.
  8. 8 . The method of claim 7 , wherein adjusting the geolocation data of the first tripwire comprises: determining an amount of time to travel from a second tripwire of the two or more tripwires to a third tripwire of the two or more tripwires using the speed data and the location data; and adjusting the geolocation data of the first tripwire using the amount of time to travel from the first tripwire to the second tripwire.
  9. 9 . The method of claim 1 , comprising: detecting, for at least two tripwires of the two or more tripwires, movement at the respective tripwire using the stored geolocation data that defines the geolocated regions of the two or more tripwires; determining that the route is likely being traversed by an entity using the movements at the at least two tripwires; and in response to determining that the route is likely being traversed by the entity, triggering execution of the action by the monitoring system.
  10. 10 . A property monitoring system for a property and comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: receiving, for a route that comprises a start point and an end point, first data that defines at least the start point and the end point of the route that can be traversed by an entity and two or more tripwires for the route; receiving second data that indicates an action to be executed at least in part by a monitoring system in response to the at least two of the two or more tripwires for the route being traversed by an entity; determining, for at least two of the two or more tripwires along the route and using the first data and the second data, geolocation data that defines a geolocated region of the respective tripwire, traversal of the geolocated region for the at least two of the two or more tripwires along the route triggering execution of the action by the monitoring system; storing, for the route and in a database, i) an identifier for the action and ii) the geolocation data that defines the geolocated regions for at least two of the two or more tripwires for use in detecting, by the monitoring system, traversal of at least two of the two or more tripwires for the route by an entity; receiving third data that indicates a direction of travel across the two or more tripwires along the route; and storing, for the route and in the database, direction of travel data that indicates the direction of travel across the two or more tripwires and causes the monitoring system to a) determine whether an entity moves in the direction of travel across the geolocated region, b) perform the action when an entity moves in the direction of travel across the geolocated region and c) determine to skip performing the action when the monitoring system detects an entity moving opposite to the direction of travel across the geolocated region.
  11. 11 . The system of claim 10 , the operations comprise: providing, for presentation in a user interface on a device, the geolocation data for the at least two of the two or more tripwires for the route; receiving, from the device via the user interface, feedback data of at least one of the two or more tripwires; and adjusting the geolocation data for the at least two of the two or more tripwires using the feedback data.
  12. 12 . The system of claim 10 , wherein: a first tripwire of the two or more tripwires is associated with the action; and storing the geolocation data comprises storing the geolocation data to cause the monitoring system to execute the action in response to detecting a movement at the first tripwire.
  13. 13 . The system of claim 12 , wherein determining the geolocation data of the first tripwire comprises: determining an amount of time to travel from the first tripwire to the end point of the route; determining an amount of time for the monitoring system to execute the action; and selecting the geolocation data that represents a physical location of the first tripwire using the amount of time for the monitoring system to execute the action and the amount of time to travel from the first tripwire to the end point of the route.
  14. 14 . The system of claim 13 , wherein selecting the geolocation data of the first tripwire comprising selecting the geolocation data of the first tripwire such that a difference between the amount of time for the monitoring system to execute the action and the amount of time to travel from the first tripwire to the end point of the route satisfies a threshold.
  15. 15 . The system of claim 10 , the operations comprise: obtaining speed data and location data of a second entity travelling along at least a portion of the route; and adjusting the geolocation data of a first tripwire of the two or more tripwires using the speed data and the location data of the second entity.
  16. 16 . The system of claim 15 , wherein adjusting the geolocation data of the first tripwire comprises: determining an amount of time to travel from a second tripwire of the two or more tripwires to a third tripwire of the two or more tripwires using the speed data and the location data; and adjusting the geolocation data of the first tripwire using the amount of time to travel from the first tripwire to the second tripwire.
  17. 17 . The system of claim 10 , the operations comprise: detecting, for at least two tripwires of the two or more tripwires, movement at the respective tripwire using the stored geolocation data that defines the geolocated regions of the two or more tripwires; determining that the route is likely being traversed by an entity using the movements at the at least two tripwires; and in response to determining that the route is likely being traversed by the entity, triggering execution of the action by the monitoring system.
  18. 18 . A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising: by a property monitoring system for a property and comprising the one or more computers: maintaining, in a database and for each of one or more routes for the property, corresponding geolocation data for the route and a corresponding identifier of an action to trigger when the geolocation data is satisfied; receiving, for a route for the property that comprises a start point and an end point, first data that defines at least the start point and the end point of the route that can be traversed by an entity and two or more tripwires for the route; receiving second data that indicates an action to be executed at least in part by a monitoring system in response to the at least two of the two or more tripwires for the route being traversed by an entity; determining, for at least two of the two or more tripwires along the route and using the first data and the second data, geolocation data that defines a geolocated region of the respective tripwire, traversal of the geolocated region for the at least two of the two or more tripwires along the route triggering execution of the action by the monitoring system; and storing, for the route and in the database, i) an identifier for the action and ii) the geolocation data that defines the geolocated regions for at least two of the two or more tripwires for use in detecting, by the monitoring system, traversal of at least two of the two or more tripwires for the route by an entity.
  19. 19 . The non-transitory computer-readable medium of claim 18 , the operations comprise: receiving third data that indicates a direction of travel across the two or more tripwires along the route; and storing, for the route and in the database, direction of travel data that indicates the direction of travel across the two or more tripwires and causes the monitoring system to a) determine whether an entity moves in the direction of travel across the geolocated region, b) perform the action when an entity moves in the direction of travel across the geolocated region and c) determine to skip performing the action when the monitoring system detects an entity moving opposite to the direction of travel across the geolocated region.
  20. 20 . The non-transitory computer-readable medium of claim 18 , the operations comprise: providing, for presentation in a user interface on a device, the geolocation data for the at least two of the two or more tripwires for the route; receiving, from the device via the user interface, feedback data of at least one of the two or more tripwires; and adjusting the geolocation data for the at least two of the two or more tripwires using the feedback data.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. application Ser. No. 18/083,660, filed Dec. 19, 2022, now allowed, which is a continuation of U.S. application Ser. No. 17/307,718, filed May 4, 2021, now U.S. Pat. No. 11,533,701, issued Dec. 20, 2022, which claims the benefit of U.S. Provisional Application Ser. No. 63/037,053, filed on Jun. 10, 2020. The disclosure of each of the foregoing applications is incorporated herein by reference. TECHNICAL FIELD This disclosure relates generally to location tracking services. BACKGROUND Many people utilize location-tracking services for monitoring their location, where the location tracking services can utilize one or more geofences that can trigger actions as the user crosses the boundary. SUMMARY Techniques are described for utilizing tripwires to optimize tracking of a person they are arriving from a point of origin to a home enabled with home automation functionality. More specifically, techniques are described for a tripwire-based geolocation system to generate and execute tripwires along a user's route, where an action to be performed by a sub-system of a home monitoring system can be executed based on a user crossing a tripwire along the pre-defined route. Estimated time of arrival can be used by a home monitoring system, for example, to engage home automation functionality (e.g., HVAC system, security system, appliance controls, etc.). In general, one innovative aspect of the subject matter described in this specification can be embodied in methods that include receiving multiple user-defined routes, each user-defined route including a tripwire of multiple tripwires and a direction for the tripwire, where each user-defined route of the multiple user-defined routes includes an action of multiple actions executed by a sub-system of a home monitoring system. A first signal is detected at a first tripwire of the multiple tripwires, the first tripwire including a first direction. A set of user-defined routes is determined from the multiple user-defined routes, including the first tripwire and the first direction. A second signal is detected at a second tripwire of the multiple tripwires, the second tripwire including a second direction. A particular user-defined route of the set of user-defined routes is determined from the first signal and the first tripwire and the second signal and the second tripwire including the first tripwire and the first direction and the second tripwire and the second direction traversed by a user. An action executed by the sub-system of the home monitoring system for the particular user-defined route traversed by the user is determined, and execution of the action is triggered based on the second signal at the second tripwire. Other embodiments of this aspect include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices. These and other embodiments can each optionally include one or more of the following features. In some implementations, the first tripwire includes a first geolocated region along the particular user-defined route at a differentiating point between the particular user-defined route and a different user-defined route, and the second tripwire includes a second geolocated region along the user-defined route, where an amount of travel time for the user to traverse from the second tripwire to an endpoint of the particular user-defined route, and where the amount of travel time corresponds to an amount of time to execute the action by the sub-system of the home monitoring system. In some implementations, determining, from the first signal and the first tripwire and the second signal and the second tripwire, the particular user-defined route of the set of user-defined routes and the action traversed by the user includes determining that the first signal indicates movement through the first geolocated region defined by first tripwire in the first direction, and determining that the second signal indicated movement through the second geolocated defined by the second tripwire in the second direction, where the first signal and the first tripwire and the second signal and the second tripwire define a user-defined route that is different from each other user-defined route of the multiple user-defined routes. In some implementations, movement through the first geolocation region in the first direction includes entering the first geolocated region from a first side or first curvature of the first geolocated region and exiting from a second side or second curvature of the first geolocated region, and movement through the second geolocation region in the second direction includes entering the second geolocated region from a third side or a third curvature of the second geolocated region and exiting from a fourth side or fourth curvature of the second geolocated region. In some implementations, movement through t