The disclosure herein involves identifying a location of a roaming object in an environment using wireless communications.
Systems and methods have been developed for identifying a location of a roaming object in an environment using wireless communications among multiple base units tracking the object.
Each patent, patent application, and/or publication mentioned in this specification is herein incorporated by reference in its entirety to the same extent as if each individual patent, patent application, and/or publication was specifically and individually indicated to be incorporated by reference.
A wireless animal location system is provided that identifies a location of a pet roaming within an environment and tracks/manages animal behavior in the environment using information of pet location. The wireless pet location system (or containment system) may disallow access to an area within an environment by applying a negative stimulus when an animal enters a prohibited location. For example, the system may apply a negative stimulus when an animal approaches a pantry space or waste collection space. Conversely, the system may allow the animal free and unimpeded access to other portions of the environment. For example, the system may forgo adverse stimulus when the animal is in desired locations such as animal bedding areas or dedicated animal play areas. The system may simply log an event in order to compile information regarding the animal's behavior. For example, the system may detect and log the presence of the animal near a watering bowl. Further the system may report such information to mobile applications allowing pet owners to monitor and track animal behavior in a home.
An RF-based wireless pet location system may utilize signal strength, two way ranging techniques, and/or time difference of arrival (techniques) to locate a target.
A signal strength based approach uses Received Signal Strength Indicator (RSSI) values to determine the range between a roaming target and three or more spatially separated base units. The target or animal may wear a transceiver housed within a collar. The transceiver may receive and send RF signals to base units. Under an embodiment, three base units within the target's environment periodically transmit RF signals. The pet transceiver estimates its distance from each base unit using the strength of the corresponding RF communication received from each of the base units, i.e. using RSSI values. Based on the multiple ranging measurements, and a known location of the base units within a grid system, a single location may be resolved within the grid system.
This system requires at least three base units. This complicates the system as an outdoor installation needs to power any unit that is remote to an AC power source. This likely requires that one or more of the base units operate on underground wires or DC power, which is inconvenient if rechargeable, or expensive if primary cells are used. Also, the inclusion of three base units greatly increases the cost of a system. Further, the resultant location is not precise due to the variation of each signal strength determination due to environmental conditions and antenna pattern variation.
A wireless animal location system may use two way ranging (TWR) to determine and monitor animal location under an embodiment. The system may comprise a transceiver housed by a collar worn by an animal and three or more base units distributed in the monitored environment. The system determines the range between the animal target (i.e., animal collar) and the three or more spatially separated base units based on TWR of an RF signal between the target and each of the base units. Based on the multiple time of flight measurements between the collar transceiver and known locations of the base units within a grid system, a single location may be resolved within the grid system.
The system described above requires at least three base units. This complicates the system as an outdoor installation needs to power any unit that is remote to an AC power source. This likely requires that one or more of the base units operate on underground wires or DC power, which is inconvenient if rechargeable, or expensive if primary cells are used. Also, the inclusion of three base units greatly increases the cost of a system.
A wireless animal location system may use time difference of arrival calculations under an embodiment.
The time differential information may be used to determine the difference in distances between the target transceiver 502 and base units 504, 506, 508. The difference in distance information may then be used to determine hyperbolas representing possible locations of the transceiver. The intersection of hyperbolas is then used to locate the pet transceiver in a grid system.
A grid portion or collection of grid portions may comprise a correction region (i.e. stimulus applied to pet in such region), a keep out region, a containment area, or a notification area. A base unit may transmit appropriate commands to the pet collar when the base unit locates the collar in corresponding grid portions. For example, the base unit may instruct the collar to apply a negative stimulus when the animal is in location 910. The base unit may instruct the collar take no action (or otherwise provide no instruction to take any action) when the animal is at location 914 within containment area 912. The base unit may instruct the collar to apply a negative stimulus when the animal is within a keep out region 916. The base unit may instruct the collar to log the location of the animal when the animal is within location areas 918, 920. Note that a keep out region or a notification region may be assigned to locations within a region that is a general containment area and in which no instruction is generally provided to the animal. This is possible due to the fact that specific areas within the monitored environment may be specifically associated with a function. In this way monitored environment areas 910 and 916 map to a corrective function and monitored environment areas 918, 920 map to logging/notification functions. Under an embodiment, a containment area may simply be all areas in the monitored environment not assigned a correction function.
The transceiver/antenna 1010 transmits an RF message or communication at time 0 seconds. The pet transceiver receives the first pulse of the communication at 66.7128 ns. The pet transceiver then processes the message and develops a response. The pet transceiver transmits the response at 1000 ns. The base unit transceiver/antenna 1010 receives the first pulse of the communication at 1066.7128 ns. The base unit receiver/antenna 1014 receives the first pulse of the communication at 1067.18648 ns. The base unit receiver/antenna 1012 receives the first pulse of the communication at 1067.3572 ns. Note that the data disclosed in this paragraph corresponds to the example set forth below with respect to
This process collects key information for resolution of a range and angular value for locating the pet transceiver. First, the process reveals the order in which base unit antennas 1010, 1012, 1014 receive the return transmission from the pet transceiver. Second, the process reveals a return time differential between base unit antennas. Continuing with the example set forth above the receive time differential between transceiver/antenna 1010 and receiver/antenna 1014 is 0.47368 ns. Third, the process provides range information. The time of flight between transmission of the response communication and receipt thereof by transceiver/antenna 1010 with respect to the example set forth above comprises 66.7128 ns corresponding to a distance of 20 meters from transceiver/antenna 1010 to pet transceiver. This information may be used to determine range and angular values for locating the pet using a far field model as further described below. Again note that the data disclosed in this paragraph corresponds to the example set forth below with respect to
Under one embodiment, a far field model may determine range and angular values using two way ranging and time difference of arrival computations set forth above. The far field model is based on the fact that the distance from base unit to pet transceiver is significantly farther than the distance between transceiver/receivers of the base unit. This model allows a spherical wave to be approximated by a plane.
The far field model implements the following steps:
Use time of flight information to determine a distance from transceiver/antenna to pet transceiver.
Determine the first two antennas to receive a return transmission from a pet transceiver.
Use the information of the first two receiving antennas to determine an approximate “quadrant” region surrounding the pet (as further shown in
Determine a time difference of arrival between the two first antennas.
Use equations based on an identified region (see
Quadrant 1 (30-90 degrees): first reception 1014, second reception 1010
Quadrant II (90-150 degrees): first reception 1010, second reception 1014
Quadrant III (150-210 degrees): first reception 1010, second reception 1012
Quadrant IV (210-270 degrees): first reception 1012, second reception 1010
Quadrant V (270-330 degrees): first reception 1012, second reception 1014
Quadrant VI (330-30 degrees): first reception 1014, second reception 1012
As demonstrated by the partitioning of planar space in
D=CT
C=speed of RF signal from pet transceiver
T=receive time differential between antennas 1010, 1014
Once D is known, there is enough information to solve for 0 (as described in greater detail below) and thereby determine an angular value.
Therefore the location of the pet may be approximate with a range, angular value of (20 m, 44.723).
Therefore, the location of the pet may be approximated with a range, angular value of (20 m, 147.53).
Therefore, the location of the pet may be approximated with a range, angular value of (20 m, 263.25). In this case, it is known based on time differential that the pet transceiver is located in Quadrant III. This means that θ is computed with respect to antennas 1010 and 1012. Therefore, the angular value must be approximated by adding 120° such that the angular value sweeps through Quadrant I and Quadrant II and then an additional 143.25° through Quadrant III. In like manner, angular estimates for the pet transceiver in quadrants IV, V, and VI should add 180°, 240°, and 300°, respectively.
It should be further noted that angle computations are applied according the detected position of the pet transceiver. As indicated above, it is known based on receive time differentials that the pet transceiver is located in one of Quadrants I-VI. As one example, the pet transceiver may be located in Quadrant V. Therefore, a known computation may be applied to determine an angular location of the animal with respect to a line between antennas 1012 and 1014. Assuming the facts set forth above with respect to
The examples presented above utilize three antennas in an equilateral triangle configuration, however this is not a limitation as the number of antennas can be any number greater than three, or greater than two if a physical limitation exists to block 180 degrees of the coverage of the area. Further, the configuration of antennas is not limited to any specific trigonometric configuration.
It should be noted that the time difference of arrival among transceiver/antennas and/or receiver/antennas may be determined by the difference in phase of the carrier signal of an incoming signal.
Three dimensional positional resolution can also be performed. It can be treated as two separate two-dimensional position resolutions in two perpendicular planes as long as there are positional differences between the antennas in the two planes.
A single base station wireless animal location system as described above determines the distance and bearing angle relative from a reference axis originating at the base station and a target animal wearing a transceiver that is communicatively coupled with the base station. The base station contains at least one transceiver and two receivers. These receivers can also be realized as transceivers. The embodiments below simply refer to transceiver arrays. Each of these transceivers has an associated antenna. The base station also includes a system processing unit. The system processing unit is linked to the transceivers via analog or digital cabling. This linking typically occurs within a system Printed Circuit Board Assembly (PCBA). There must also be some sort of power source, whether that be power from an external source cabled into the system or a local battery pack. Power is routed from the power source to the system processing unit and transceivers.
To measure the distance from the base station to the target animal wearing a communicatively coupled transceiver, the system utilizes time-of-flight of an RF signal as described in detail above. One of the transceivers on the base unit is responsible for communicating with the animal transceiver via RF signals. During this exchange, the time of flight of an RF signal from a transceiver antenna on the animal to the location of the base unit transceiver antenna may be determined. The time of flight is then converted into a distance.
To determine the bearing relative to a reference axis to the transceiver on the animal, the difference in RF communication time between the transceivers contained within the base unit and the transceiver on the animal must be determined. As already described in detail above, this delta time can be measured as a time difference or a phase difference. Once the difference in times between the transceivers are known, a direction to the target can be calculated.
To make this all work, the transceiver antennas within the base unit must have first-path RF communication with the transceiver on the animal. If this first-path is blocked and a reflection is utilized, the additional path distance the reflected signal took will be utilized, corrupting the range and relative bearing calculations.
A single base station wireless animal location system depends on reliable RF communication between the multiple transceivers contained within the base unit and the transceiver located on the target animal.
As the transceivers within the base unit need to communicate with a system processing unit, these transceivers are typically mounted on one or more Printed Circuit Board Assemblies (PCBAs). These PCBAs typically contain conductive traces and ground planes. The PCBA provides connectivity from the system processing unit to the transceivers. The PCBA also provides power distribution from the power source to the system processing unit and transceivers.
The problem is that the RF signals sent to, and received from, the target animal transceiver can be blocked by the conductive components of this PCBA. The impact of the blockage is a degradation in the accuracy of the resulting position. This can manifest itself in the lack of an ability to retrieve a position, or even worse, a false position report. A false position report can lead to a false “correction” being applied to an animal within a wireless containment system. If the area of obstruction is near a boundary, it could even allow an animal to escape the containment system, endangering the animal's wellbeing.
Various transceiver/antenna placement configurations are described below and are each designed to mitigate RF blockage. The transceivers/antennas in the examples below are positioned 20 cm from each other in a manner similar to the configuration shown in
Each transceiver/antenna is mounted on a small PCBA The PCBA comprising the system processing unit (SPU) is located above transceiver PCBAs. The system processing unit PCBA is held in place within a low dielectric loss factor enclosure (likely a plastic) by a material with a low dielectric loss factor. The SPU communicates with the transceivers via cables. These cables also distribute power throughout the base unit. The precise positioning of the transceivers within the base unit are critical to the calculations of the positional determination of the pet transceiver. To accomplish this requirement, the transceivers are precisely captured within the low dielectric loss factor enclosure by a material with a low dielectric loss factor. This approach allows the RF energy to pass relatively unimpeded between the transceivers within the base unit to the transceiver on the pet.
If the implementation is powered by mains power, the power cables can enter the enclosure from the top or bottom. If the implementation is battery powered, the power source could be mounted on the top of the enclosure above the SPU PCBA.
Each transceiver/antenna is mounted on a small PCBA. The PCBA comprising the system processing unit (SPU) is located below transceiver PCBAs. The system processing unit PCBA is held in place within a low dielectric loss factor enclosure (likely a plastic) by a material with a low dielectric loss factor. The SPU communicates with the transceivers via cables. These cables also distribute power throughout the base unit. The precise positioning of the transceivers within the base unit are critical to the calculations of the positional determination of the pet transceiver. To accomplish this requirement, the transceivers are precisely captured within the low dielectric loss factor enclosure by a material with a low dielectric loss factor. This approach allows the RF energy to pass unimpeded between the transceivers within the base unit to the transceiver on the pet.
If the implementation is powered by mains power, the power cables can enter the enclosure from the top or bottom. If the implementation is battery powered, the power source could be mounted on the top of the enclosure above the SPU PCBA.
Further re:
Under an embodiment, all RF switches are set either to top or bottom based on success of the prior communication sequence between the base unit transceivers and remote transceiver. Signal quality may be used to select top or bottom position. Signal quality may be assessed using a Standard Deviation of Channel Impulse Response Estimate (CIRE) Noise value. With a higher absolute CIRE noise figure, it is more likely that the quality of receive timestamp is poorer. High noise may mean that the real first path is irretrievably buried in the noise. Signal quality may also be assessed using a received power figure estimate. This is a calculation based on Channel impulse response power value and preamble accumulation count value. These values (CIRE and received power figure estimate) are reported by the transceivers for use in assessing signal quality.
With respect to each transceiver, a processor of the base unit implements the following operation, under an embodiment.
Under an embodiment, each RF switch is independently set either to top or bottom based on success of the prior communication sequence between the base unit and remote transceiver. With respect to each transceiver, a processor of the base unit implements the following operation, under an embodiment.
This step is repeated for transceiver 2/transceiver 2 antenna choice flag . . . through . . . transceiver n/transceiver n antenna choice flag (n=number of transceivers in base unit).
Under an embodiment, antennas 2510 only extend from an upper surface of the PCBA. As one example, each such antenna may comprise a transceiver portion extending 30 mm from the PCBA and an antenna portion extending an additional 35 mm. This embodiment eliminates the need for an RF switch.
Based on these calculations,
As indicated above, a single base station wireless animal location system may determine range and angular values for locating an animal worn transceiver that is communicatively coupled with the base station. The base station contains at least one transceiver and two receivers. These receivers can also be realized as transceivers.
Under one embodiment, a far field model may determine range and angular values using two way ranging and time difference of arrival computations. (It should be noted that the time difference of arrival among transceiver/antennas and/or receiver/antennas may be determined by the difference in phase of the carrier signal of an incoming signal). The far field model is based on the fact that the distance from base unit to pet transceiver is significantly farther than the distance between transceiver/receivers of the base unit. This model allows a spherical wave to be approximated by a plane
These example implementations described above utilize three antennas in an equilateral triangle configuration. The number of antennas can be any number greater than or equal to three, or greater than or equal to two if a physical limitation exists to block 180 degrees of the coverage of the area. Further, the configuration of antennas is not limited to any specific trigonometric configuration.
The base unit may use detected transceiver locations (i.e., locations of the animal worn transceiver) to construct a containment area, under an embodiment. A containment area may consist of one or more regions. A region is bordered by a boundary. The single base station wireless animal location system provides a pet owner with a method for defining these boundaries to the system. The most straight-forward approach to boundary definition is to walk the pet transceiver around the boundaries of each region. There are multiple methods available to initiate boundary creation learning mode:
Utilize a series of button presses on the collar containing the remote transceiver;
Utilize a series of button presses on the base unit;
Utilize a smart device interface.
If a series of button presses on the base is utilized, either a delay is utilized to allow users to position themselves at the starting position or a second person may press the buttons while the first person is waiting at the starting position of the boundary.
Once learning mode is initiated, the collar containing the pet transceiver is typically held at a height approximating the height of the animal's back. Maintaining this height, the user walks the collar around the region to identify the boundaries to the system. The remote transceiver may be mounted to an extension device during the path formation. As seen in
Boundary determination is used to create a region for pet management. The borders of the region are referred to as boundaries. Regions may correspond to designated functions. For example, the region may be a containment region serving to keep the pet contained. The region may be a keep-out region serving to keep the pet away from objects or areas. The region may be a reporting region serving to make the owner aware the pet entered or exited a defined region.
Functions can be a single event that occurs on the crossing of a boundary, either into a region or out of a region. One example of this is the initiation of a message to a pet owner of a pet leaving a reporting region as the pet crosses the boundary, exiting the reporting region.
Functions can occur constantly or intermittently based on position in a region or out of a region. One example of this is the continued static correction of a pet as long as position reports indicate the pet is outside of the containment region.
Every location on the boundary has a positional coordinate relative to the base unit. The coordinate system is shared by the base unit and collar, under an embodiment. The base unit is typically, but not limited to, a position designated as the origin of the coordinate system, more specifically the cartesian coordinate system. Under an embodiment, the positional coordinates comprise angular and range values as described above. Angular and range values may be converted into cartesian coordinates as also described above. When a base unit detects polar coordinates of a remote transceiver, the corresponding cartesian coordinates are also known.
As a first step in boundary creation, the user moves to a position on the desired boundary while holding the collar containing the remote transceiver (
The user begins to walk along the desired boundary location while holding the collar (
If ended with a button press or smart phone interface, the last and first positions are connected, closing the boundary and forming a region if a closed region is desired. If automatic region closure is desired, a tolerance vector must be defined which indicates whether the last resolved position report is close enough to the starting position to determine region closure.
For example, a tolerance of 500 mm is defined. If the boundary is walked and the position values determined by the system indicate the user has returned to a position within 500 mm of the starting position, the region is closed and boundary creation ends. For the example of a 500 mm tolerance, if the starting point for a boundary is (4650 mm, 10430 mm) and the system calculates a new position of (4410 mm, 11000 mm) the boundary creation process would continue as the distance between the points is 620 mm. If the system calculates a new position of (4530 mm, 10640 mm) the boundary creation process would end as the distance between the points is 240 (less than 500 mm). The points (4650, 10430) and (4530, 10640) would be joined and the closed region defined.
A boundary that includes an open segment would need to be initiated and concluded with a button press or smart phone interface as proximity of the start and end positions would not necessarily be in close proximity to each other.
Typically, the first position and last position are joined, allowing the line to form a closed region. This region can be stored, typically as a series of positional data points, in the base unit or collar unit. While discrete data points are stored, the incremental positions along the line formed by any two sequential data points may also be determined. In two dimensions, the slope intercept form of writing the equation of a straight line can be utilized. The equation is y=mx+b, where x and y represent x and y positions along the line, m represents the slope of the line in two dimensions, and b represents an initial y position.
To find any position along the line, the equation y=(0.5)x+3000 can now be used,
bounded by x's in the 2000 to 6000 range and y's in the 3000 to 5000 range.
Under one embodiment, a user may receive feedback on the quality of the communication transactions between the base unit and the collar containing the remote transceiver as the user walks the boundary. The feedback may be indicative of every communication transaction between the base unit and collar transceiver or an averaged value over a period of time. For example, if a base unit and collar are communicating at 10 Hz, the feedback may indicate the quality of every transaction, or some averaged value, for example averaged over every 5 transactions, yielding one result every %2 second. The feedback may be indicated via a visual or audible indicator on the collar, base unit, or smart phone interface. This process can ensure that all positions along the desired boundary have sufficient signal quality to reliably detect the position of the collar. The quality of the communication transaction can be based on signal strength, signal-to-noise levels, or more complex assessment as allowed by the specific communication protocol being employed by the base unit and collar transceiver. One example would be ultra-wideband communication. The quality of an ultra-wideband signal can be assessed utilizing metrics of the Channel Impulse Response (CIR). The processor linked to the transceiver (i.e., collar or transceiver processor) uses data provided by the receiver portion of the transceiver via an Application Programming Interface (API) to analyze the CIR noise and power levels of the overall signal and first path signals. This received signal CIR analysis may be converted to a quality score of the received signal. The base unit processor performs the analysis when receiving remote transceiver transmissions, and the remote transceiver processor performs the analysis when receiving base unit transmissions. For the highest level of position determination integrity, the CIR analysis from both the base unit and remote transceiver unit should show a high quality level. The remote transceiver processor may report its quality scores to the base unit, or the base unit processor may provide its quality scores to the remote transceiver processor. Under one embodiment, either the base unit processor or the remote transceiver processor determines whether the signal quality of transmissions received by the base unit and remote transceiver are sufficiently high. Under an alternative embodiment, feedback may be provided based on remote transceiver transmissions alone or base unit transmissions alone.
This embodiment implementing a signal quality feedback signal may be utilized in conjunction with automatic or manual boundary creation. If utilized in conjunction with automatic boundary creation, the feedback may simply be provided to a user as the user walks the collar along a desired boundary path. In other words, the feedback simply provides a user information as to the integrity of location detection. If the feedback is consistently poor, base unit is unable to reliably detect and store positions of the collar in creation of a boundary. Under an alternative embodiment, the base unit may use signal quality assessment to filter detected locations. Continuing with the example above, if a base unit and collar are communicating at 10 Hz, the feedback may indicate the quality of every transaction. If the feedback indicates poor signal quality, then the base unit may discard the corresponding location detection. If the averaged feedback over five transaction is poor, the base unit may discard all five transactions. This signal quality assessment may represent a separate phase that precedes the actual boundary creation phase. This separate phase allows the user to preview the signal quality of the positions along the preferred boundary before an automatic boundary creation phase occurs.
Under one embodiment, a user may manually determine the frequency of position determination. Under this approach, a user begins to walk along the desired boundary location while holding the collar (
The signal quality feedback may occur in conjunction with manual boundary creation. If utilized in conjunction with manual boundary creation, the feedback may simply be provided to a user as the user walks the collar along a desired boundary path. In other words, the feedback simply provides a user information as to the integrity of location detection. If the feedback is positive, a user may then manually select a boundary position with confidence. This signal quality assessment may represent a separate phase that precedes the actual boundary creation phase. This separate phase allows the user to preview the signal quality of the positions along the preferred boundary before a manual boundary creation phase occurs. This allows a user to test out a path for signal quality before committing the path into memory.
This manual mode also creates a region with fewer positional data points, making the in/out of region math much faster. The boundary positions are stored in the memory of the base unit or collar, typically as cartesian coordinates. If a square or rectangular region is desired, the system may only have to store 4 positional data points. If button presses are utilized to enter in each position, either a different button could be utilized to differentiate the incremental positions from the start and stop positions or a single button can be utilized with a distinctive pattern used to differentiate start/stops from the incremental positions. For example, a single button push could be used to start a boundary creation, a single button press could be used to enter each position along the boundary, and a double-press of the button could be used to end boundary creation. If automatic boundary closure is desired, the double-press may not be required as proximity to the starting position would be sufficient to end the boundary creation.
Once the collar is put into operational mode, the process of determining the position of the collar within the coordinate system is continually performed by the base unit. If a region was stored within the base unit, the base unit determines whether each position report is within the region or outside the region. Based on the result the base unit may perform a programmed function. The programmed function may be the transmission of the in/out of region determination result to the collar, allowing the collar to determine a function based on the result. The programmed function may be the transmission of an action to the collar such as “stimulate the pet with a static correction” if the pet is outside of a containment region.
The programmed function may be the transmission of a message to the pet owner reporting the position of the pet relative to a boundary.
Alternatively, if a region was stored within the collar, the base unit transmits the last determined position to the collar. The collar then determines whether each position report is within the region or outside the region. Based on the result the collar may perform a programmed function. The programmed function may be “stimulate the pet with a static correction” if the pet is outside of a containment region.
The process of determining whether each positional report is within a region or outside a region can be performed using one of many known algorithms. One such know algorithm is ray casting. Ray casting determines whether a given position is inside or outside of a polygon. Since the region is created by connecting many positional data points, the region can be considered a polygon. The ray casting algorithm chooses a point outside of the region. A virtual ray is drawn from the positional report to the point outside of the region. A count of region boundary crossings is performed on the virtual ray. If the number of crossings is even, the position is outside of the boundary. If the number of crossings is odd, the position is inside the boundary.
The ray casting algorithm works by breaking the polygon down into the line segments (L1 . . . Ln; n=number of line segments in polygon) that make up the polygon. A positional point is picked well outside the boundary. A line (Lref) is drawn from the current position to the positional point well outside of the boundary. Lref is checked against each line segment L1 . . . Ln for intersection.
As an example, to compare Lref to the first line segment of the polygon, L1:
Lref is defined by the endpoints: (x1, y1) and (x2, y2)
L1 is defined by the endpoints (x3, y3) and (x4, y4)
1) denominator=((x1-x2)*(y3-y4))−((y1-y2)*(x3-x4))
2) if denominator=0, the lines do not intersect [end of calculations]
3) calculate t and u:
4) if 0≤t≤1 and 0≤u≤1 then the lines intersect, otherwise they do not intersect.
If an open region is desired, a further step must be implemented where positional reports are analyzed to see if they cross the line formed by the starting and ending points of the region (region opening). If the positional reports indicate a crossing of this polygon line segment, the collar is determined to be within the region.
A more advanced layer of software can be implemented on top of the position versus region layer. This layer can make decisions based on the speed and distance relative to the boundary. For example, if a collar's position and speed as it approaches a boundary make it extremely likely that a boundary crossing will occur, the application can be proactive and initiate a static correction to the pet at a distance prior to the actual boundary to further ensure the safety of the pet.
A device is described herein comprising under an embodiment a base unit including at least three transceivers, wherein the at least three transceivers are communicatively coupled with at least one processor of the base unit. The at least one processor and the at least three transceivers are configured to determine locations of a transceiver remote to the base unit, wherein the location determinations comprise a series of transceiver locations along a boundary path, wherein the series of location determinations define a boundary region, wherein each location determination comprises a first transceiver of the at least three transceivers transmitting a communication to the transceiver, the at least three transceivers receiving a response from the transceiver, wherein the response comprises a return communication, the at least one processor using information of the return communication to determine a first time of flight, wherein the first time of flight comprises the time elapsed between transmission of the return communication and the receiving of the return communication by the first transceiver, the at least one processor using the first time of flight to determine a first distance between the first transceiver and the transceiver, the at least one processor determining a time difference of arrival among the at least three transceivers receiving the return communication, and the at least one processor determining an angular value using information of the time difference of arrival, the relative positioning of the at least three transceivers, and signal transmission speed of the return communication, wherein the angular value and the first distance determine the location of the transceiver.
The at least three transceivers comprise three transceivers defining vertices of a triangle, wherein the three transceivers include the first transceiver, under an embodiment.
The triangle comprises an equilateral triangle, under an embodiment.
Sides of the equilateral triangle are equal to or less than 20 cm, under an embodiment.
The angular value comprises an angle between a reference direction and an axis, under an embodiment.
The reference direction comprises a fixed unit vector originating at a vertex of the triangle and extending along a side of the triangle, under an embodiment.
The vertices of the triangle define a plane, wherein a plurality of quadrants partitions the plane into radial segments extending from the base unit, under an embodiment.
The information of the time difference of arrival comprises an order of reception between an initial two transceivers of the three transceivers receiving the return communication, under an embodiment.
The determining the angular value includes using the order of reception between an initial two transceivers of the three transceivers to locate the transceiver in a quadrant of the plurality of quadrants, under an embodiment.
The determining the angular value includes constructing a right triangle, wherein the initial two antennas comprise vertices of the right triangle, wherein a first side of the right triangle is oriented in a direction of the transceiver in the quadrant, wherein a second side of the right triangle comprises a line between the initial two antennas, under an embodiment.
The determining the angular value includes determining a first length of the first side using the signal transmission speed and the time difference of arrival between the initial two antennas receiving the return communication, under an embodiment.
A second length comprises a length of the second side, under an embodiment, under an embodiment.
The determining the angular value comprises determining the angular value using the first length, the second length, and information of the quadrant, under an embodiment.
The base unit comprises a clock that synchronizes communications of the at least three transceivers, under an embodiment.
The at least one processor uses the clock to determine the time difference of arrival, under an embodiment.
The at least one processor determines the time difference of arrival using a difference in phase of a carrier signal of the return communication among the at least three transceivers, under an embodiment.
The boundary region comprises line segments connecting the location determinations, under an embodiment.
The at least one processor is configured to perform additional location determinations subsequent to definition of the boundary region, under an embodiment.
The at least one processor is configured to determine a location of the transceiver relative to the boundary region using the additional location determinations, under an embodiment.
The at least one processor is configured to transmit the location determinations and the additional location determinations to the transceiver, wherein a remote collar device includes the transceiver, wherein the transceiver is communicatively coupled with one or more processors of the remote collar device, under an embodiment.
The one or more processors of the collar device are configured to determine a location of the transceiver relative to the boundary region using the additional location determinations, under an embodiment.
The at least one processor is configured to initiate location determinations upon receiving at least one instruction, under an embodiment.
The at least one instruction comprises an instruction to automatically perform location determinations at a frequency, under an embodiment.
The at least one instruction comprises a series of intermittent instructions to perform a location determination, under an embodiment.
The at least one processor is configured to cease the location determinations when a distance between a first location in the series and a subsequent location in the series is less than a first value, under an embodiment.
The at least one processor is configured to cease the location determinations when the at least one processor receives a stop communication, under an embodiment.
The at least one processor is configured to assess signal quality of communications between the base unit and the transceiver, under an embodiment.
The at least one processor is configured to assess the signal quality of communications corresponding to each location determination, under an embodiment.
The at least one processor is configured to average the signal quality of communications across a number of location determinations, under an embodiment.
The at least one processor is configured to discard one or more location determinations when the signal quality is poor, under an embodiment.
Computer networks suitable for use with the embodiments described herein include local area networks (LAN), wide area networks (WAN), Internet, or other connection services and network variations such as the world wide web, the public internet, a private internet, a private computer network, a public network, a mobile network, a cellular network, a value-added network, and the like. Computing devices coupled or connected to the network may be any microprocessor controlled device that permits access to the network, including terminal devices, such as personal computers, workstations, servers, mini computers, main-frame computers, laptop computers, mobile computers, palm top computers, hand held computers, mobile phones, TV set-top boxes, or combinations thereof. The computer network may include one of more LANs, WANs, Internets, and computers. The computers may serve as servers, clients, or a combination thereof.
The location based wireless pet containment system using single base unit can be a component of a single system, multiple systems, and/or geographically separate systems. The location based wireless pet containment system using single base unit can also be a subcomponent or subsystem of a single system, multiple systems, and/or geographically separate systems. The components of the location based wireless pet containment system using single base unit can be coupled to one or more other components (not shown) of a host system or a system coupled to the host system.
One or more components of the location based wireless pet containment system using single base unit and/or a corresponding interface, system or application to which the location based wireless pet containment system using single base unit is coupled or connected includes and/or runs under and/or in association with a processing system. The processing system includes any collection of processor-based devices or computing devices operating together, or components of processing systems or devices, as is known in the art. For example, the processing system can include one or more of a portable computer, portable communication device operating in a communication network, and/or a network server. The portable computer can be any of a number and/or combination of devices selected from among personal computers, personal digital assistants, portable computing devices, and portable communication devices, but is not so limited. The processing system can include components within a larger computer system.
The processing system of an embodiment includes at least one processor and at least one memory device or subsystem. The processing system can also include or be coupled to at least one database. The term “processor” as generally used herein refers to any logic processing unit, such as one or more central processing units (CPUs), digital signal processors (DSPs), application-specific integrated circuits (ASIC), etc. The processor and memory can be monolithically integrated onto a single chip, distributed among a number of chips or components, and/or provided by some combination of algorithms. The methods described herein can be implemented in one or more of software algorithm(s), programs, firmware, hardware, components, circuitry, in any combination.
The components of any system that include the location based wireless pet containment system using single base unit can be located together or in separate locations. Communication paths couple the components and include any medium for communicating or transferring files among the components. The communication paths include wireless connections, wired connections, and hybrid wireless/wired connections. The communication paths also include couplings or connections to networks including local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), proprietary networks, interoffice or backend networks, and the Internet. Furthermore, the communication paths include removable fixed mediums like floppy disks, hard disk drives, and CD-ROM disks, as well as flash RAM, Universal Serial Bus (USB) connections, RS-232 connections, telephone lines, buses, and electronic mail messages.
Aspects of the location based wireless pet containment system using single base unit and corresponding systems and methods described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the location based wireless pet containment system using single base unit and corresponding systems and methods include: microcontrollers with memory (such as electronically erasable programmable read only memory (EEPROM)), embedded microprocessors, firmware, software, etc. Furthermore, aspects of the location based wireless pet containment system using single base unit and corresponding systems and methods may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. Of course the underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.
It should be noted that any system, method, and/or other components disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.). When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described components may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
The above description of embodiments of the location based wireless pet containment system using single base unit is not intended to be exhaustive or to limit the systems and methods to the precise forms disclosed. While specific embodiments of, and examples for, the location based wireless pet containment system using single base unit and corresponding systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the systems and methods, as those skilled in the relevant art will recognize. The teachings of the location based wireless pet containment system using single base unit and corresponding systems and methods provided herein can be applied to other systems and methods, not only for the systems and methods described above.
The elements and acts of the various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the location based wireless pet containment system using single base unit and corresponding systems and methods in light of the above detailed description.
This application is a continuation in part application of U.S. application Ser. No. 17/208,714, filed Mar. 22, 2021, which is a continuation in part application of U.S. application Ser. No. 16/715,420, filed Dec. 16, 2019 (now U.S. Pat. No. 10,955,521), which is a continuation application of U.S. application Ser. No. 16/003,876, filed Jun. 8, 2018 (now U.S. Pat. No. 10,514,439), which claims the benefit of U.S. Application No. 62/599,248, filed Dec. 15, 2017. This application is a continuation in part application of U.S. application Ser. No. 17/208,714, filed Mar. 22, 2021, which claims the benefit of U.S. Application No. 63/078,494, filed Sep. 15, 2020.
Number | Date | Country | |
---|---|---|---|
62599248 | Dec 2017 | US | |
63078494 | Sep 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16003876 | Jun 2018 | US |
Child | 16715420 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17208714 | Mar 2021 | US |
Child | 17658993 | US | |
Parent | 16715420 | Dec 2019 | US |
Child | 17208714 | US | |
Parent | 17208714 | Mar 2021 | US |
Child | 16003876 | US |