Machine learning generation for real-time location
Patent Information
- Application Number
- JP2024541106
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-01-10
- Filing Date
- 2023-01-24
- Publication Date
- 2025-03-27
- Estimated Expiration
- 2043-01-24
Smart Images

Figure 0007652344000001 
Figure 0007652344000002 
Figure 0007652344000003
Abstract
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Patent Application No. 63 / 306,224, filed February 3, 2022, and U.S. Patent Application No. 18 / 095,048, filed January 10, 2023, the entire disclosures of which are incorporated herein by reference. [Technical field]
[0002] The present disclosure relates to systems and methods for determining position information for objects, such as mobile devices and vehicles. [Background technology]
[0003] Determining the real-time absolute or relative position of an object is becoming more and more prevalent in a wide range of applications. Real-time location systems (RTLS) are used and trusted to track items such as mobile devices in many domains, e.g. automobiles, storage, retail, security access for authentication, security access for authorization, etc. One area where commercial research and applications are taking place is the so-called digital key industry, especially in the area of cooperation between the automotive and mobile telecommunications industries to provide remote keyless entry. In order to substitute commercially available mobile phones as car keys, attempts to determine the location of the mobile device with respect to the automobile are required.
[0004] A conventional RTLS in the automotive field includes a transceiver or master controller installed in the vehicle and capable of communicating with a portable device via radio frequency (RF). One or more characteristics of the communication between the master controller and the portable device, such as signal strength, angle of arrival, time of flight, and / or others, may be measured and used as a basis for determining the position of the portable device relative to the vehicle.
[0005] By using a function based on the relationship between signal strength and distance, the position of the mobile device relative to the vehicle can be calculated. However, the accuracy of such functions can vary widely from application to application and from environment to environment. A function may be accurate for a given system under set conditions, but may produce significantly inaccurate results under different conditions or with slightly different systems.
[0006] Digital key systems can include wireless radios using Bluetooth (BLE) or Ultra Wideband (UWB) technology for cooperative signal source location estimation. Systems using UWB for remote keyless entry to vehicles (via smartphones and vehicle anchors) are based on real-time processing that converts radio measurements (e.g., RSSI for BLE or ranging for UWB) into a localized location estimate (e.g., a set of Cartesian coordinates, a zone relative to the vehicle, and a Boolean decision of inside or outside the vehicle). Traditional systems often lack the computational resources required to determine a localized location estimate.
[0007] There have been efforts to calibrate location estimation functions to determine the relative location of a mobile device to a vehicle. For example, in a situation where the mobile device is a phone and the target is a vehicle, the function may be calibrated to be accurate for one type of phone (e.g., Apple iPhone) and vehicle (e.g., Ford F-150). However, the function may give inconsistent and inaccurate results for another type of phone (e.g., Samsung Galaxy) or vehicle (e.g., Toyota Tacoma). Due to many environmental factors and conditions, such as different types of phones and different vehicle configurations, traditional systems lack robustness in location estimation to different configurations. Summary of the Invention
[0008] SUMMARY OF THE DISCLOSURE Systems and methods are provided for determining location information of a mobile device relative to an object.
[0009] In general, one innovative aspect of the subject matter described herein is a system for determining location information associated with a location of a mobile device relative to an object. The mobile device can be of a first device type and the object can be of a first object type. The first device type and the first object type can define an active configuration type. The system can include an object device disposed at a fixed position relative to the object, the object device having an antenna configured to wirelessly communicate with the mobile device via a communication link.
[0010] The system can include a controller configured to determine location information of the mobile device relative to the object. The controller can include a locator configured to generate the location information based on signal characteristics of communications received by an antenna from the mobile device.
[0011] The locator may include a first machine learning unit that may be initially trained based on first truth information obtained for a reference configuration type different from the active configuration type. The first machine learning unit may then be trained based on second truth information obtained for the active configuration type.
[0012] Each of the above and other embodiments can optionally include one or more of the following features, either alone or in combination. In particular, some embodiments include all of the following features in any combination.
[0013] In some embodiments, the first machine learning unit may correspond to a first decision tree that is trained sequentially based on the first and second truth information, it being understood that the present disclosure is not limited to this configuration of the first machine learning unit and that the first machine learning unit may have a different configuration.
[0014] In some embodiments, the reference object type of the object and the reference device type of the mobile device may define said reference configuration type.
[0015] In some embodiments, the second truth information provided as a basis for training the first machine learning unit may be based on a communication between a test portable device and a test object, the test portable device may be classified according to a first device type such that the test portable device is of the same type as the portable device, and the test object may be classified according to a first object type such that the test object is of the same type as the object.
[0016] In some embodiments, at least one of the reference object type and the reference device type that define the reference configuration type may be different from the first object type and the second device type, respectively, that define the active configuration type.
[0017] In some embodiments, the object configuration of an object may change over time such that at a first time the object is a first object type and at a second time the object is a second object type, and a third configuration type may be characterized by the first device type and the second object type.
[0018] In some embodiments, a memory may be provided that stores a third machine learning unit that may be trained based on third truth information obtained regarding a third configuration type.
[0019] In some embodiments, the third machine learning unit may be based on a) a first machine learning unit that is initially trained based on the first truth information, and b) a first machine learning unit that is subsequently trained based on third truth information obtained regarding the third configuration type.
[0020] In some embodiments, the locator may be reconfigurable to include a first machine learning unit and a third machine learning unit, and the locator may be operable to determine location information of the mobile device relative to the object based on the first and third machine learning units.
[0021] In some embodiments, a fourth configuration type may be provided that is defined by the first object type and an alternative portable device that is a second device type different from the first device type. The system may include a memory that stores a fourth machine learning unit trained based on fourth truth information obtained regarding the fourth configuration type. The locator may be reconfigurable to include the fourth machine learning unit, and the locator may be operable to determine location information regarding the portable device relative to the object based on the fourth machine learning unit.
[0022] In some embodiments, the locator may include a second machine learning unit. The second machine learning unit may be initially trained based on first truth information obtained for a reference configuration type different from the active configuration type. The locator may be operable to determine location information based on the first machine learning unit and the second machine learning unit.
[0023] Before describing the embodiments of the invention in detail, it is to be understood that the invention is not limited to the operational details or to the structural details and arrangement of components set forth in the following description or illustrated in the drawings. The invention may be implemented or carried out in various other embodiments and alternative ways not expressly disclosed herein. It is also to be understood that the phraseology and terminology used herein is for the purpose of description and should not be considered limiting. The use of "comprises" and "comprises" and their derivatives means the inclusion of the items listed thereafter and their equivalents, as well as additional items and their equivalents. Furthermore, enumerations may be used in the description of various embodiments. Unless otherwise expressly stated, the use of enumerations should not be construed as limiting the invention to a particular order or number of components. Furthermore, the use of enumerations should not be construed as excluding from the scope of the invention additional steps or components that may be combined or interwoven with the recited steps or components. [Brief description of the drawings]
[0024] The present disclosure will become more fully understood from the detailed description and the accompanying drawings. [Figure 1] FIG. 1 shows the first and second methods in one embodiment. [Diagram 2] FIG. 2 illustrates a system in one embodiment. [Diagram 3] FIG. 3 illustrates a system in one embodiment. [Figure 4] FIG. 4 shows a representative diagram of the apparatus of the system in one embodiment. [Diagram 5] FIG. 5 shows a representative diagram of first and second locators according to one embodiment. [Figure 6] FIG. 6 shows a representative diagram of first and second locators according to one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] SUMMARY OF THE DISCLOSURE Systems and methods are provided for determining position information of a mobile device relative to an object and controlling the operation of the object based on the position information.
[0026] In one aspect, a location estimation system may be provided for passive access to a vehicle, the location estimation system configured to use a machine learning model to determine a position of a mobile device relative to the vehicle, and the machine learning model is initialized using transfer learning based on the platform of the vehicle. That is, a machine learning model for a particular vehicle model is built by combining a machine learning model for a vehicle platform (e.g., SUV, pickup truck, sedan, etc.) with a machine learning model for a particular model (e.g., Toyota Camry, Ford Explorer, etc.). Alternatively or additionally, there may be multiple transfers in such a transfer learning chain. For example, a first, second, and third model may be provided. One or more features of the first model may be transferred to the second model, which may be trained after the transfer. One or more features of the second model may be transferred to the third model after its training, which may be trained thereafter. The first model is considered a generic model that is applicable to any type of vehicle. Transfer may proceed from such a generic model to a less general model for the vehicle (e.g., a vehicle make and model or a vehicle type model [e.g., SUV or sedan]) and from that less general model to a more specific model (e.g., a specific vehicle model including make and model).
[0027] In another aspect, the location estimation system is applied in a non-vehicle environment for passive access, where location estimation is configured for passive access to the structure. The location estimation system may be configured to use a machine learning model to determine the location of the mobile device relative to the structure, where the machine learning model is initialized through the use of transfer learning based on a particular instance of the structure. For a particular type of structure, the machine learning model may be built by combining a machine learning model for accessing the type of structure (e.g., hotel room, gym, pool, condo, apartment, home, retail space, etc.) with a machine learning model for a particular instance of the structure (e.g., a particular hotel in a particular location, a particular home, etc.).
[0028] Any number of machine learning localization models may be used to determine where a mobile device (e.g., smartphone, key fob, etc.) is located relative to an object. Any machine learning technique that includes multiple levels of representations may be used for transfer learning, where some of the levels of representations from a previous model are applied to a new model. Classes of machine learning algorithms that include multiple levels of representations include multi-layer perceptron networks, convolutional neural networks, long short-term memory recurrent neural networks, gradient boosted decision trees, random forests, etc. Specific implementations that may be implemented in an embedded system may include xgboost and TensorFlow Lite, considering machine learning and deep learning techniques that fall under the umbrella term TinyML. In general, these algorithms take as input data that is indicative of characteristics of components of the system (e.g., vehicle or mobile device) and / or communication with components of the system. For example, the data may reflect how far the mobile device is from each remote device. As another example, the data may reflect distance and / or angle, signal strength, link quality, and vehicle status, or any combination thereof. The data may be based on one or more types of communications including, for example, BLE / HADM-CS, and the data provided as input may include distance calculated from BLE-ToF, BLE phase / phase based distance, BLE round trip time, BLE angle, BLE-RSSI, or any combination thereof, or any combination thereof. Additionally or alternatively, derived inputs such as link quality, link presence / absence, channel impulse response, etc. may be provided as input. Further, additionally or alternatively, data from the vehicle, such as doors open / closed, windows open / closed, engine on / off, trunk open / closed, other vehicle conditions, etc. may be provided as input or used as a basis to derive such inputs.
[0029] The learning algorithm can transform information or input into a model that can predict where the mobile device will be relative to objects.
[0030] In one embodiment, the model is built with multiple levels of representation, so that some of the levels of a first machine learning model built with data collected in association with a first model vehicle are applied to a second model vehicle where the two vehicles are the same platform (e.g., some of the model built with data from a Ford Explorer is used to build a machine learning model for a GMC Yukon), to initiate a second machine learning model. The second model is then improved with additional data collection by a localization system installed in the second model vehicle.
[0031] In one embodiment, data may be collected in and around the vehicle under a set of environments and conditions to create a machine learning model in a time-intensive manner, and this effort may be reused for new machine learning models that collect less data, test fewer environments, or both, thereby reducing the burden of data collection to build a localization system for a new vehicle.
[0032] In one embodiment, the process between types of location estimation algorithms can be split so that one or more algorithms are vehicle platform and model agnostic. For example, a remote device may perform only multilateration calculations to determine a Cartesian coordinate estimate for a mobile device. A second remote device performs a heuristic fingerprinting operation on the UWB ranging data, and a third remote device performs a machine learning based model built for the vehicle. The three results can then be combined to generate a final localization estimate that includes both zone determination and position estimates from both the UWB and BLE data. In this manner, the multilateration algorithm does not include information related to the vehicle platform, the heuristic algorithm is generally applicable to a vehicle platform or vehicle model depending on the implementation, and the machine learning model may be built entirely based on data related to a specific vehicle model. Further examples of split location estimation attempts are described in U.S. Application No. 63 / 240,392, entitled "DISTRIBUTED GENERATION OF REAL-TIME LOCATION," filed on September 3, 2021 to Cooper et al. The disclosure of US Application No. 63 / 240,392 is incorporated herein by reference in its entirety.
[0033] In another example, the two remote devices can each be configured with separate machine learning models loaded into flash memory. The first machine learning model can be built with only platform dependent data, e.g., the model can be a model built with a lower level representation. The second machine learning model can be built with data from a vehicle model. In the localization process, each machine learning model makes a localization decision, and the two outputs are combined by a weighted voting procedure to determine a final localization output value. One or more of these machine learning models can be based on aspects of transfer learning described herein, including feature transfer from one or more models. For example, if models B and C are located on separate remote devices, the features of model A can be transferred to models B and C in the course of training these models. As another example, model A* is located on one remote device and trained based on feature transfer from model A, and model C* is located on another remote device and trained based on feature transfer from model C. Model C itself can then be based on feature transfer from model A.
[0034] The system may include a number of remote devices disposed on the object and capable of acquiring sensor information related to communication with the mobile device, the communication being between the mobile device and equipment other than the remote device, between the mobile device and one or more remote devices, or a combination thereof. One or more aspects of the sensor information may be acquired directly by the remote device, communicated to the remote device, or a combination thereof.
[0035] In one embodiment, a locator system capable of determining the location of a mobile device relative to an object may be built into the overall system. Features of the locator system may be distributed to multiple remote devices such that determining the location of the mobile device is accomplished in a distributed manner. One example of such a locator system is described in U.S. Application No. 63 / 240392, entitled "DISTRIBUTED GENERATION OF REAL-TIME LOCATION," filed on September 3, 2021 to Cooper et al. The disclosure of U.S. Application No. 63 / 240392 is incorporated herein by reference in its entirety.
[0036] In one aspect, a locator system may be provided for passive access with multiple remote devices, where the location of the mobile device relative to an object (e.g., a car, a building, etc.) is determined based on communications sent from the mobile device and received by the remote devices. The remote devices may include UWB radios, BLE radios, NFC readers, or any type of RF antenna for interfacing with the mobile device.
[0037] Any number of location estimation algorithms may be used to determine where a mobile device (smartphone, key fob, etc.) is relative to an object. Classes of algorithms include, but are not limited to, multilateration, fingerprinting / heuristics, machine learning, another algorithm / function described herein, or any combination thereof. The algorithms may take as input data indicative of characteristics of components of the system (e.g., vehicle or mobile device) and / or communications with components of the system. For example, such data may reflect how far the mobile device is from each remote device. This input or information may be converted into an estimate of where the mobile device is relative to the object.
[0038] For machine learning based localization, the process of training the algorithm may include truth data obtained for a reference configuration type including a first device type of mobile device and a first object type of object. For example, the first device type may correspond to a particular model of Apple's iPhone, and the first object type may correspond to a particular make and model of vehicle (e.g., Ford's F-150 XL). The first object type may also correspond to a state of the object, e.g., in a situation where the first object type includes a particular vehicle model, the first object type may correspond to a state where the doors and windows of the vehicle are closed.
[0039] In one embodiment, the state of the object may be based on the object's environment type, such as the surroundings (e.g., indoors, outdoors, highly reflective, parking lot, nearby vehicles, or a combination thereof), etc. Thus, the first object type and the second object type may differ based on differences in the surroundings between the second object type and the first object type.
[0040] In one embodiment, the state of the object may be based on pose information about the mobile device (eg, moving, not moving, on a call, in a pocket, height above the ground, or a combination thereof).
[0041] The truth information obtained for the reference configuration may be used as a basis for training a first machine learning model. The machine learning model may be described as a machine learning model trained with the truth information to generate location information. The inputs to the machine learning model may be of a similar type to the inputs provided in the truth information, including, for example, one or more of signal strength, time of flight, angle of arrival, or may be any inputs described herein or based on such inputs, or any combination thereof. The machine learning model may be trained to generate an output (e.g., location information) similar to the output provided in the truth information. Exemplary outputs include one or more zones and / or coordinate locations. The one or more outputs may each be associated with a confidence index.
[0042] A machine learning model may be configured according to a number of parameters (e.g., hyperparameters) that define the characteristics of the model, such as the model's architecture and one or more learning parameters that dictate how the model learns. An untrained version of the model may be initialized according to one or more weights associated with the model's nodes. These one or more weights may be random before training. The number of nodes and the node structure of the model may change during training.
[0043] In one embodiment, a machine learning model may be provided that utilizes a decision tree structure as defined by the XGBoost system. The output (e.g., residuals) from one decision tree may be fed into another decision tree structure, generating a chain of decision trees. The output from the decision trees may be processed according to a function (e.g., summation) to obtain an output of the machine learning model. During training, this output may be compared to a true output that is included with the truth information using an error function. The configuration of the machine learning model may be varied based on an error metric of this error function, including node weights of one or more decision trees, the number of nodes of one or more decision trees, and the number of decision trees. As an example, the error function may be utilized with a gradient descent algorithm to iteratively vary the features of the machine learning model to affect the error metric of the effort function toward a target error metric. For example, the machine learning model may be iteratively varied in training to reduce (potentially minimize) the error metric. As another example, the machine learning model may be iteratively varied to optimize the error metric. In yet another example, the machine learning model is varied to reduce the error metric, but may be varied within the constraints of other system requirements, such as the execution time of the machine learning algorithm or model size (e.g., due to storage constraints).
[0044] It should be understood that the type of machine learning model may vary depending on the application and is not limited to a decision tree-based model. For example, a neural network or multiple layers thereof may be incorporated into the machine learning model according to one embodiment of the present disclosure. Exemplary neural networks include recurrent neural networks (RNNs). RNNs include long short-term memory (LSTM) type RNNs configured and trained to generate position information. The neural network or node weights of the network may be varied during training based on an error metric of an error function, similar to the training process described in conjunction with the decision tree-based model.
[0045] A machine learning model trained according to an embodiment of the present disclosure may be understood as a machine learning model capable of generating location information based on one or more inputs. The machine learning model described herein may be trained based on truth data obtained for a reference configuration including a first device type and a first object type. The machine learning model may be configured to generate location information with a certain degree of confidence, but for configurations different from the reference configuration, the machine learning model may not be configured to generate location information with the confidence. For example, when the first device type is changed to a second device type, the location information output from the machine learning model may be less accurate than the location information output for the first device type.
[0046] In one embodiment, the machine learning model may be identified as a first machine learning model trained on a reference configuration. This first machine learning model may form the basis for training a second machine learning model on a second configuration that differs from the reference configuration. For example, the first machine learning model, or a portion thereof, may form an initial state of the second machine learning model before being trained according to truth data for the second configuration.
[0047] Using a first machine learning model or a part thereof as a basis for training a second machine learning model of a different configuration may be expressed as transfer learning. Such transfer learning may increase the learning efficiency for the different configuration. For example, the amount of truth data used to train the second machine learning model for the second configuration may be less than the amount of truth data used to train the first machine learning model used as a basis for training the second machine learning model. It should be noted that the second (more specific) model may have additional parameters with respect to the first model. For example, the amount of truth data, the number of inputs, or the number of hyperparameters, or any combination thereof, used to train the second model may be more than the first model.
[0048] In one embodiment, parameters defining the first machine learning model, a process for training the first machine learning model, or both may be provided as a basis for training a second machine learning model. This type of transfer learning may reduce the amount of time invested in training a second machine learning model to obtain results that match a target reliability. As an example, hyperparameters of a first machine learning model for one vehicle model may be extracted for use in training a second machine learning model for another vehicle model. In this case, the data of the first machine learning model is not shared or used as a base learner, but the hyperparameters used to optimize the performance of the first machine learning model are used to train a second machine learning model for a completely different vehicle. Since identifying the hyperparameters of a model that actually fits a microprocessor (potentially the best hyperparameters) can be time consuming, this type of transfer learning may result in significant time savings.
[0049] In one embodiment, the first model may be static and the second model may include one or more features transferred from the first model. The second model may include a dynamic ML or AI process that learns dynamically. The first model in this example may be based on one or more features transferred from the other model. For example, if the other model is a first model and the first model is a second model, the first model may be transferred to train the second model, which may then be augmented by a dynamic learning system that learns in real time based on system events (e.g., the door handle was touched, so it is determined that the device was in a particular zone). I. System Overview
[0050] The system in one embodiment is illustrated in FIGS. 2-4 and generally designated 100. The system 100 may include one or more system components as generally described herein. The system components may be a user 60 or an electrical system component. The electrical system components may be a portable device 20, a sensor (e.g., a remote device 40), or an object device 50, or components including the functionality of one or more of these devices. As discussed herein, the underlying components of the object device 50 may be configured to operate in conjunction with any one or more of these devices. In this sense, in one embodiment, there may be some aspects or features in common between the portable device 20, the sensor, and the object device 50. The controller 200 described in connection with the object device 50 in the embodiment illustrated in FIG. 4 may be incorporated into the portable device 20, or the sensor, or both. In one embodiment, the object device 50 may be an equipment element disposed on an object 10, such as a vehicle, a building, an access control system, a lock, a building, a rail car, a bus, an automated teller machine, a POS terminal, or a speaker, etc. In other words, the object 10 is not limited to a vehicle as depicted in the illustrated embodiment, but may be any type of object or facility for which location estimation technology may be utilized.
[0051] The object device 50 may be communicatively coupled to one or more systems of the object 10 to control the operation of the object 10, and the object device 50 may transmit information to one or more systems of the object 10, receive information from one or more systems of the object 10, or both. For example, the object 10 may include an object controller 52 configured to control the operation of the object 10. The object 10 may include one or more communication networks, wired or wireless, to facilitate communication between the object controller 52 and the object device 50. The communication network for facilitating communication between the object device 50 and the object controller 52 is indicated at 54 in the illustrated embodiment of FIG. 2 and may be a CAN bus. In other operational examples, the communication network is a UART, SPI, Ethernet, LIN, or other wired or wireless (e.g., BLE) bus in addition to or instead of CAN.
[0052] In one embodiment, the system may include a communication controller, such as a telematics control unit (not shown). For example, a TCU (telematics control unit) may be connected to the object device 50 (via SPI or other types of communication protocols described herein). In another embodiment, the TCU may be combined with the object device 50. In another embodiment, the TCU may be part of or connected to the object controller 52 of the vehicle. In another embodiment, there is no TCU and data may be tunneled through the mobile device (e.g., via BLE). "Tunneled" may be defined as a traditional tunnel, such as running TCP / IP over BLE, but the disclosure is not limited thereto. A tunnel may be defined as a configuration that allows relevant data to be communicated to the object device 50 or other system components via commands / responses. The communication controller may be any type of control unit or system that can facilitate communication. The communication controller may be provided in any component described herein, including the object, the mobile device, or both.
[0053] In one embodiment, the TCU may include a cellular modem or other long range WAN radio (Lora, Sigfox, etc.).
[0054] In one embodiment described above, the TCU is not a required element of the system; for example, the TCU and all of the functions of the system with which it communicates may be performed locally (rather than in the cloud). II. Object Device
[0055] 4, a control system or controller 200 is shown in further detail. The controller 200 may be provided in the object device 50 and may be configured to control operation of the object device 50 in accordance with one or more of the functions and algorithms discussed herein, or aspects thereof. System components, such as the mobile device 20, the remote device 40 (e.g., a sensor), or both, may likewise include a controller 200 configured to control operation or aspects of the respective system component.
[0056] The controller 200 includes all electrical circuits and components for carrying out the functions and algorithms described herein. Generally speaking, the controller 200 may include one or more microcontrollers, microprocessors, and / or other programmable electronic components programmed to carry out the functions described herein. The controller 200 may additionally or alternatively include other electronic components, microcontrollers, microprocessors, and / or other electronic components supporting other electronic devices, programmed to carry out the functions described herein. Such other electronic components include, but are not limited to, one or more field programmable gate arrays, systems on chips, volatile or non-volatile memory, discrete circuits, integrated circuits, application specific integrated circuits (ASICs), and / or other hardware, software, or firmware. Such components may be physically configured in any suitable manner, such as mounted on one or more circuit boards, and may be otherwise arranged, whether grouped together in one unit or distributed across multiple units. Such components may be physically distributed in different locations within the object device 50, or may reside in a common location within the object device 50. When components are physically distributed, they may communicate using any suitable serial or parallel communication protocol, such as, but not limited to, CAN, LIN, FireWire, I2C, RS-232, RS-422, RS-485, SPI, Ethernet, Universal Serial Bus (USB), RF (Cellular, Wi-Fi, Bluetooth, Bluetooth Low Energy), etc. As described herein, the terms locator, module, model, and generator refer to portions of controller 200. For example, a model or locator in one embodiment is described as having one or more core functions and one or more parameters that affect the output of the one or more core functions.The model, locator, module, or generator, or combination thereof, may be stored in the memory of the controller 200 and may form part of the controller configuration such that the model, locator, module, or generator, or combination thereof, is part of the controller 200 configured to operate to receive and transform one or more inputs and output one or more outputs. The model, locator, module, or generator, or combination thereof, may be part of the controller 200 such that the controller 200 is configured to receive inputs described in connection with the model, locator, module, or generator, or combination thereof, and provide outputs corresponding to the algorithms associated with the model, locator, module, generator, or combination thereof.
[0057] The controller 200 of the object device 50 in the illustrated embodiment of FIG. 4 may include, among other electronic hardware, one or more processors 210 for executing one or more applications 232 (including software and / or firmware), one or more memory units 212 (e.g., RAM and / or ROM), and one or more communication interfaces 214. The object device 50 may or may not have an operating system 230 that controls access to lower level devices / electronics via the communication interface 214. The object device 50 may or may not have a hardware-based encryption unit 222. If the object device 50 does not have a hardware-based encryption unit 222, the encryption functions may be performed in software. The object device 50 may or may not have a secure memory unit 220 (or access rights thereto), e.g., a secure element or hardware security module (HSM). In the illustrated embodiment, optional components and communication paths are shown with dashed lines.
[0058] The illustrated embodiment of the controller 200 of FIG. 4 does not rely on the presence of the secure memory unit 220 in any of its components. In the optional absence of the secure memory unit 220, data that may be stored in the secure memory unit 220 (e.g., private keys and / or secret keys) may be encrypted at rest (if possible). Both software-based and hardware-based mitigation features may be utilized to substantially prevent access to such data, as well as to substantially prevent, detect, or both unauthorized access of the overall system configuration. Examples of such mitigation features include implementing physical barriers or shields, disabling JTAG and other ports, hardening software interfaces to eliminate attack vectors, using trusted execution environments (e.g., hardware and / or software), and detecting operating system root access or intrusion.
[0059] For purposes of this disclosure, secure is generally considered to have verified confidentiality (encryption), authentication, and integrity, however, it should be understood that this disclosure is not so limited and the term "secure" may be a subset of these aspects or may include additional aspects related to data security.
[0060] The communication interface 214 may be any type of communication link, including any of the types of communication links described herein, including wired or wireless. The communication interface 214 may facilitate / enable external communication, internal communication, or both. For example, the communication interface 214 may be coupled to or incorporate the antenna array 30. The antenna array 30 may include one or more antennas configured to enable wireless communication, including BLE communication, ultra-wideband (UWB) communication, another type of wireless communication, or a combination thereof.
[0061] As another example, the communication interface 214 may provide a wireless communication link with another system component in the form of the mobile device 20, such as wireless communication according to the Wi-Fi standard. In another example, the communication interface 214 may be configured to communicate with the object controller 52 of the vehicle (e.g., vehicle component) via a wired link, such as a CAN-based wired network that enables communication between multiple devices. The communication interface 214 in one embodiment may include a display and / or an input interface for communicating information to and / or receiving information from the user 60.
[0062] In one embodiment, the object device 50 may be configured to communicate with one or more auxiliary devices that are not another object device 50 or a user. The auxiliary device may be configured differently from the object device 50, for example, the auxiliary device may not include a processor 210, but instead may have at least one direct connection and / or communication interface for sending and / or receiving information with the object device 50. For example, the auxiliary device may be a solenoid that accepts input from the object device 50, or the auxiliary device may be a sensor (e.g., a proximity sensor) that provides analog and / or digital feedback to the object device 50.
[0063] The system 100 in the illustrated embodiment may be configured to determine location information regarding the mobile device 20 in real time. In the illustrated embodiment of FIG. 2, a user 60 may be carrying the mobile device 20 (e.g., a smartphone). The system 100 may enable the location of the mobile device 20 relative to an object 10 (e.g., a vehicle) in real time with sufficient accuracy to determine whether the user 60 is in a position where permission should be granted to access or direct the object 10.
[0064] As an example, in the illustrated embodiment of FIG. 3, one or more zones may be defined with respect to the object 10. It should be noted that the types of remote devices (e.g., sensors 40) located on the object 10 may vary. For example, multiple types of remote devices 40 may be provided, including remote devices 40 configured as one or more of driver front outboard (DFO), passenger front outboard (PFO), rear center inboard (RCI), rear center outboard (RCO), or combinations thereof. Such remote devices 40 may be located at various locations on the object 10.
[0065] The one or more zones may be external or internal to the object 10. For example, given that the object 10 is a vehicle, multiple external zones 1E, 2E, 3E, 4E, 5E, 6E may be defined for the area of the vehicle, with zone 1E corresponding to a remote zone, zone 2E corresponding to a maximum detection zone (e.g., a welcome area or an approach area (e.g., 8m)), zone 4E corresponding to a driver's side zone, zone 5E corresponding to a passenger side zone, zone 3E corresponding to a front vehicle zone, and zone 6E corresponding to a rear vehicle zone (e.g., near the trunk, hatch, lift gate, etc. of the vehicle). Internal zones, or zones within the passenger compartment, storage area, or vehicle compartment may also be defined for the vehicle. It should be noted that, like the external zones, the internal zones may not be mutually exclusive such that one zone is defined within another zone. In the illustrated embodiment, the internal zone 1C may define an internal zone. As another example, zone 2C may correspond to the cargo bed of the vehicle. 3, as described herein, the system may determine or determine a position estimate or position LE of the portable device 20 based on wireless communication with the portable device 20. The position LE determined based on wireless communication may be based at least in part on a determination that the portable device 20 is within one or more zones defined for the vehicle 10.
[0066] In one embodiment, if the object 10 is a vehicle, the system 100 can facilitate / enable a determination of whether the portable device 20 is outside the vehicle and in close proximity to the driver's door, such as within 5 feet, 3 feet, or 2 feet of the driver's door. This determination can form the basis for the system 100 to identify whether a portion of the vehicle, such as the driver's door, should be unlocked. On the other hand, if the system 100 determines that the portable device 20 is outside the vehicle and not in close proximity to the driver's door (e.g., outside 2 feet, 3 feet, or 5 feet), the system 100 can decide to lock the driver's door. As another example, if the system 100 determines that the portable device 20 is in close proximity to the driver's seat and not in close proximity to the passenger seat or the back seat, the system 100 can decide to allow the vehicle to be driven. Conversely, if the portable device 20 is determined not to be in close proximity to the driver's seat, the system 100 can decide to keep the vehicle stopped or immobile.
[0067] The system 100 may determine to unlock or lock any part of the vehicle based on the zone determination for the portable device 20. For example, for zone 5E, the system 100 may determine to lock or unlock the passenger door. Based on the zone determination for zone 6E, the system 100 may unlock or lock the tailgate or trunk, and based on the zone determination for zone 3E, the system 100 may unlock or lock the hood. As described herein, the system 100 is not limited to a vehicle. For example, the system 100 may be configured to lock / unlock access to certain functions (e.g., options in a screen UI, payment functionality for a service or item, permission for a user to operate a certain device) or to allow a user to complete an operation (e.g., point of sale).
[0068] The target object 10 may include a number of object devices 50, or variations thereof, such as remote devices 40 coupled to an antenna array 30, in accordance with one or more embodiments described herein.
[0069] The microlocation of the mobile device 20 can be determined in a variety of ways, such as using information obtained from a global positioning system, one or more signal characteristics of communications from the mobile device 20, and one or more sensors (e.g., a proximity sensor, a limit switch, or an optical sensor), or a combination thereof. One example of a microlocation technique for implementing the system 100 is disclosed in U.S. Non-Provisional Patent Application No. 15 / 488,136, by Raymond Michael Stitt et al., entitled SYSTEM AND METHOD FOR ESTABLISHING REAL-TIME LOCATION, filed on April 14, 2017. The disclosure of U.S. Non-Provisional Patent Application No. 15 / 488,136 is incorporated herein by reference in its entirety.
[0070] 2, an object device 50 (e.g., a system control module (SCM)) and multiple remote devices 40 (coupled to an antenna array 30) may be located on or at a fixed position relative to the object 10. Examples of use of the object 10 include a vehicle as identified in the previous examples, or a building to which access is controlled by the object device 50.
[0071] The portable device 20 may wirelessly communicate with the object device 50 via the communication link 140. The multiple remote devices 40 may be configured to sniff the communication between the portable device 20 and the object device 50 to determine one or more signal characteristics of the communication, such as signal strength, angle of arrival, time of flight, or any combination thereof. In alternative other embodiments, the portable device 20 may establish communication with another device other than the object device 50, but at least one of the object device 50 and the one or more remote devices 40 may be configured to determine the relative position of the respective device with respect to the target object 10 by eavesdropping on these communications.
[0072] The communication link 140 in the illustrated embodiment is a Bluetooth Low Energy (BTLE) communication link. However, the present disclosure is not so limited. For example, the communication link 140 may not be BTLE, but may be wired or wireless, and may be established according to any protocol, including UWB instead of BTLE. As another example, the communication link 140 may include multiple types of communication links, for example, the communication link 140 may be established according to both BTLE and UWB. As another example, the communication link 140 may be established according to one protocol (e.g., BTLE) between the mobile device 20 and the object device 50, and a second communication link may be established between the mobile device 20 and another device on the object 10, for example, a remote device 40 (e.g., a sensor), according to the same or different protocol as the protocol of the communication link 140. Communications of one or both of these communication links may be sniffed.
[0073] The signal characteristics identified for the communication link with the portable device 20 may be communicated or analyzed and then communicated to the object device 50 via a communication link 130 separate from the communication link between the portable device 20 and the object device 50. Additionally or alternatively, the portable device 20 may establish a direct communication link with one or more remote devices 40 and one or more signal characteristics may be identified based on the direct communication link.
[0074] As described herein, one or more signal characteristics, such as signal strength, time of flight, angle of arrival, other characteristics or inputs described herein, further signal characteristics or inputs based on other characteristics or inputs (e.g., output provided by other models that generate output based on other characteristics or inputs), or combinations thereof, may be analyzed to determine relative position information of the portable device 20 with respect to the object 10, a side of the object 10, the object device 50, or combinations thereof. For example, the time difference of arrival, the angle of arrival, or both between the remote device 40 and the object device 50 may be processed to determine the relative position of the portable device 20. The position of the one or more antenna arrays 30 with respect to the object device 50 may be known such that the relative position of the portable device 20 can be converted to an absolute position with respect to the antenna arrays 30 and the object device 50.
[0075] Additional or alternative examples of signal characteristics may be derived to facilitate determining a location according to one or more algorithms, including distance functions, triangulation functions, multilateration functions, fingerprinting functions (e.g., fingerprinting heuristics), security and consistency check functions, difference functions, time of flight functions, time of arrival functions, time difference of arrival functions, angle of departure functions, geometric functions, machine learning functions, etc., or any combination thereof. As described herein, outputs from multiple algorithms may be combined or correlated in various ways to determine a location LE. Additionally or alternatively, a location LE determined from one or more algorithms may be augmented (e.g., by increasing precision, accuracy, or confidence, or a combination thereof) by one or more other algorithms. III. Locator
[0076] 2-4, the system 100 may be configured to determine relative position information of the portable device 20 with respect to the object 10. The position information may be indicative of the external location of the portable device 20 with respect to the object 10, the position information may be indicative of the location of the portable device 20 within the object 10, or a combination thereof. In one embodiment, a locator may be configured to determine this position information.
[0077] As described herein, the locator may receive one or more inputs that vary from application to application. Examples of inputs include one or more signal characteristics of the communication, such as signal strength (RSSI), angle of arrival (AOA), time of flight (TOF), time of arrival, phase characteristics, BLE channel sounding (CS) phase-based ranging process, velocity estimate of BLE-CS phase-based ranging process, and distance estimate of BLE-CS round trip time (RTT) process. The one or more signal characteristics may be analyzed to determine relative location information of the mobile device 20 with respect to the object 10, one side of the object 10, the object device 50, or a combination thereof.
[0078] For example, the phase rotation of the tone transmissions, and optional retransmissions, or phase characteristics indicative of the phase rotation, may form the basis for determining the distance between the object device 50 or remote device 40 and the mobile device 20. The tone transmissions may form part of a tone exchange in which multiple transmissions occur at multiple frequencies. The phase rotation for such transmissions may form the basis for the distance determination for the object device 50 and the mobile device 20. The tone exchange may be described as a channel sounding approach (e.g., BLE Channel Sounding (CS)) for determining the range or distance between devices (e.g., between the object device 50 and the mobile device 20).
[0079] For electromagnetic waves traveling at the speed of light in a particular medium (e.g., air), the amount of phase rotation may be convertible to distance or time. In one embodiment, the RTT may be determined by measuring phase or time characteristics associated with transmitting and receiving signals to and from a device, such as the mobile device 20. In other words, bidirectional transmissions to and from the mobile device 20 may be analyzed to determine the round trip time, which can be converted as a time of flight.
[0080] The wavelength of the high frequency transmission may be short relative to the target distance of the measurement. Therefore, the multiple transmissions encompass or cover all phase rotations so that the total phase rotation embodied as total distance is not measured directly from the phase of the input stage of the RF circuit (e.g., from a mixer stage). For example, for a carrier frequency of 2.4 GHz, the phase rotation wraps around 2π in 12 cm. Although the phase measurement may indicate a phase within the range of 0 to 2π, the phase measurement does not directly indicate the number of wraps of the phase rotation.
[0081] For the purpose of unambiguously measuring a longer distance, two different frequencies (f0, f1) may be used at two different instants i of time (i0, i1) to calculate two different phase rotations. The two different phase rotations can be used to measure the distance. The phase-based distance determination is described in combination with two different frequencies. However, it should be understood that phase measurements of multiple frequencies (including more than two frequencies) may be used to increase the accuracy of the distance determination. The use of multiple frequencies in the phase analysis can be considered as a type of channel sounding approach to determine the distance between devices. The locator in one embodiment can convert the signal characteristics obtained from the remote device 20 or the object device 50 into a distance metric or other parameters in various ways, including, for example, a conversion table for each type of fixed location device or fixed location device, fingerprinting, or other heuristics (e.g., machine-learned converter). Additional examples of such transformations are described in U.S. Patent Application Publication No. 2020 / 0137817, entitled SYSTEM AND METHOD OF DETERMINING REAL-TIME LOCATION, invented by Smith and filed on October 23, 2019. The disclosure of U.S. Patent Application Publication No. 2020 / 0137817 is incorporated herein by reference in its entirety.
[0082] A first locator according to one embodiment is shown in FIG. 6 and generally designated 300. As described herein, the first locator 300 may be configured to receive one or more inputs 310 and generate one or more outputs 320 that may represent a location of the portable device 20 relative to the object 10. The first locator 300 may include a first machine learning unit 330 that is trained based on truth data obtained with respect to a reference configuration. The reference configuration may include the portable device 20 classified according to a first device type and the object 10 classified according to a first object type.
[0083] In the illustrated embodiment, the first machine learning unit 330 may include one or more primary functions 332, such as one or more decision trees, one or more neural networks, or a combination thereof. Each primary function 332 may be defined at least in part by primary parameters 334 associated with the primary function 332.
[0084] Optionally, the first locator 300 may include a second machine learning unit 340 that, similar to the first machine learning unit 330, is trained based on truth data obtained for the reference configuration. The second machine learning unit 340 may include one or more secondary functions 342, such as one or more decision trees, one or more neural networks, or a combination thereof. The one or more secondary functions 342 may be defined at least in part by one or more secondary parameters 344 associated with the one or more secondary functions 342, respectively. The second machine learning unit 340 may be operable to receive input from the first machine learning unit 330 or the input 310, or a combination thereof.
[0085] The first machine learning unit 330 included in the first locator 300 may be trained and used according to the method 1000 depicted in the illustrated embodiment of Figure 1. The training may include obtaining first truth data for a reference configuration, which in the illustrated embodiment includes a first vehicle type. The first truth data may include both the inputs 310 and outputs 320 for training the first machine learning unit 330. Step 1004.
[0086] The first machine learning unit 330 may include one or more primary functions 332 and may be configured and trained according to one or more parameters 334. The number of primary functions 332 may be initialized according to the one or more parameters 334. The initial state of the one or more primary functions 332 may be determined prior to training. As an example, the initial state of the one or more primary functions 332 may include random weights for an initial set of nodes of the one or more primary functions 332. Training the first machine learning unit 330 may include iteratively adjusting the state of the one or more primary functions 332, the number of primary functions 332, or both. An example of adjusting the state of the one or more primary functions 332 may include changing the number of at least one node of the one or more primary functions 332 and changing the weights associated with each node of the one or more primary functions 332. As described herein, an error function and an error metric may be provided during training to compare the output of the first machine learning unit 330 of the first locator 300 to truth information. For example, adjustments of the first machine learning unit 330 can be made based on the error metric to reduce or improve the error metric, resulting in an accurate output within a target level of confidence.
[0087] In one embodiment, as described herein, the second machine learning unit 340 may be trained in conjunction with the first machine learning unit 330. The second machine learning unit 1340 may be separate from the first machine learning unit 330 or may receive output from the first machine learning unit 330, effectively forming an extension of the first machine learning unit 330.
[0088] For example, as described herein, the one or more primary functions 332 may correspond to a chain of decision trees, each configured such that its output (e.g., residual) is provided to the next decision tree. The number of decision trees may be increased during training of the second machine learning unit 340. The second machine learning unit 340 corresponds to a part of this chain of decision trees, and the chain of decision trees generated during training may be composed of one or more primary functions 332 and one or more secondary functions 342, and the output of the last primary function 332-N of the first machine learning unit 330 may be provided to the first primary function 342-1 of the second machine learning unit 340.
[0089] The method 1000 may include incorporating a first locator 300 into the system 100 conforming to a reference configuration, and determining location information based on one or more inputs 310 obtained during operation using the first locator 300.
[0090] One embodiment according to the present disclosure may include transfer learning of one or more features of the first locator 300 for use in training the second locator 400. For example, these one or more features of the first locator 300 may form a basis or initial state of the second locator 400 prior to training.
[0091] A second locator according to one embodiment is shown in Figure 6 and generally designated 400. As described herein, the second locator may be configured to receive one or more inputs 410 and generate one or more outputs 420 that may represent a position of the mobile device 20 relative to the object 10. The second locator 400 may include a first machine learning unit 430 and may optionally include a second machine learning unit 440.
[0092] A method for training a second locator 400 is indicated generally at 2000 in Fig. 1. The method may include obtaining truth data for a second configuration that differs from a reference configuration, step 2002. The difference may relate to a different type of portable device 20, or a different type of object 10, or both. The method may also include transferring features of the first locator 300 for use as a basis for training the second locator 400.
[0093] In the illustrated embodiment, the first machine learning portion 330 of the first locator 300, or a portion thereof, may be transferred to the first machine learning portion 430 of the second locator 400. Step 2004. After training, the second locator 400 may be incorporated into a system 100 described herein, such as a system for locating the portable device 20 relative to the vehicle 10. Step 2006. In this configuration, the second locator 400 may be utilized to determine a relative distance of the portable device 20 to the vehicle 10 based on one or more inputs obtained at the system 100 during use. Step 2008.
[0094] The first machine learning unit 430 of the second locator 400 may be trained using an initial state of the first machine learning unit 430 corresponding to the first machine learning unit 330 or a portion thereof of the first locator 300. For example, as depicted in FIG. 6, the first machine learning unit 330 may be transferred to the second locator 400 as the first machine learning unit 430. As described herein, the first machine learning unit 430 may be trained from this initial state based on truth information obtained with respect to a reference configuration different from the reference configuration used to obtain the truth information in conjunction with the first locator 300. It should be understood that the transfer of machine learning features from the first locator 300 may include the first machine learning unit 330 or features thereof, such as one or more primary functions 332 and one or more parameters 334, or a combination thereof. Additionally or alternatively, it should be appreciated that the transfer of machine learning features from the first locator 300 may include the second machine learning unit 340, or features thereof, such as one or more secondary functions 342 and one or more parameters 344, or a combination thereof.
[0095] The second locator 400 may be trained in a manner similar to the first locator 300, except that the second locator 400 may be trained and / or configured based on machine learning features obtained from the first locator 300. As an example, the first machine learning unit 330 of the first locator 300 may be transferred to the second locator 400 as the first machine learning unit 430 of the second locator 400. One or more features of the first machine learning unit 430 may be modified during the training of the second locator 400 or may remain frozen from the initial state of the transfer.
[0096] In one embodiment, the first machine learning unit 430 may be frozen in an initial state after the transition in training the second locator 400, which includes generating the second machine learning unit 440. For example, an output of the first machine learning unit 430, such as an output of the primary function 432-N, may be provided as an input to the second machine learning unit 440, such as an input to the secondary function 442-1. As described herein in conjunction with the illustrated embodiment of FIG. 5, the primary function 432 and the secondary function 442 may correspond to a chain of decision trees, and the output of a series of decision trees defined by the multiple primary functions 432 may be provided as an input to the chain of decision trees defined by the multiple secondary functions 442.
[0097] In one embodiment, one or more features of the first machine learning unit 430 may be changed during training of the second locator 400. For example, the number of nodes, weights associated with the nodes, and parameters 434 may be changed during training of the second locator 400. As an example, in the illustrated embodiment of FIG. 6, the primary functions 432 may correspond to a chain of decision trees. The nodes or weights of each decision tree may be changed during training (including pruning) to affect an error metric generated for a comparison between the output of the locator 400 and the truth information. In one embodiment, each of the primary functions 432 in the illustrated embodiment of FIG. 4 may correspond to a primary function 532 of the locator 500 described in conjunction with FIG. 5 (e.g., each of the primary functions 432 may correspond to a decision tree). Additionally or alternatively, each of the secondary functions 442 included in the locator 400 may correspond to a primary function 532 of the locator 500.
[0098] In one embodiment, the second machine learning unit 440 may be trained in a manner similar to that described herein, including varying the number of nodes, weights, and parameters 434, or a combination thereof. The initial state of the second machine learning unit 440 may be random, similar to the initial state of the second machine learning unit 340 of the first locator 300. Alternatively, one or more features of the second machine learning unit 340 of the first locator 300 may be transferred to the second machine learning unit 440 and used as an initial state for training the second locator 400.
[0099] The location information output from the locator in one embodiment may include relative location information, zone division, or both. The location information corresponds to coordinates (absolute or relative) or a relative distance from a reference point. The reference point may be defined as the location of the device to which the locator is provided, or another location of the object. One or more locators may use the same or different reference points. The zone division may correspond to an area of space defined with respect to the vehicle, such as a zone described herein. The first and second zones of the available zone divisions may be relatively defined in various ways. For example, the first and second zones may intersect or not intersect. As another example, the second zone may be a suitable subset of the first zone (e.g., the second zone may be smaller than the first zone and contained within the first zone). Any of the locators described herein may be configured to provide location information in the form of location information, zone division, or both.
[0100] A first locator 500 and a second locator 600 according to one embodiment are illustrated in Figure 5. The first and second locators 500, 600 may be configured to receive one or more inputs 510, 610, such as one or more signal characteristics of wireless communications transmitted by the mobile device 20 and received by one or more remote devices 40 and / or object device 50. The inputs may be converted to one or more outputs 520, 620 corresponding to location information.
[0101] It should be understood that the inputs 510, 610 are not limited to wireless communication signal characteristics. The inputs 510, 610 may include one or more measurements of characteristics or parameters other than wireless communication. Additionally or alternatively, the inputs 510, 610 may be indicative of a state of the object 10 or another device in the system 100. For example, in the context of an object being a vehicle, one or more of the inputs 510, 610 may be indicative of whether one or more of the vehicle's doors are open or closed, or whether a window is open or closed.
[0102] The first and second locators 500, 600 in the illustrated embodiment may be incorporated into at least one of the object device 50 and the remote devices 40. For example, the controller 200 of the object device 50 may incorporate one or both of the first and second locators 500, 600 and be communicatively coupled to one or more of the remote devices 40 via the communication interface 214.
[0103] The first and second locators 500, 600 described herein may include a first machine learning unit 530, 630 and a second machine learning unit 540, 640 configured to receive one or more inputs 510, 610 and to generate one or more outputs 520, 620 in conjunction with a tree function 550, 650 indicative of a relative position of the portable device 20 with respect to the object 10. The tree function 550, 650 may be configured to combine outputs of multiple locator functions 532, such as by summing the outputs of the locator functions 532. It should be appreciated that the disclosure is not so limited and any type of function may be employed as the tree function 550, 650 to generate one or more outputs 520, 620.
[0104] As described herein, the one or more inputs 510, 610 may vary from application to application. Examples of inputs 510, 610 may include one or more signal characteristics of a communication, such as signal strength (RSSI), angle of arrival (AOA), time of flight (TOF), or any other signal or input described in this disclosure. The inputs described in this disclosure include derived signals or inputs, or any combination thereof.
[0105] The first and second locators 500, 600 in one embodiment may convert signal characteristics obtained from the remote device 40 or object device 50 into distance metrics or other parameters in various ways.
[0106] In a vehicle or other type of object, there may be many antennas according to an embodiment of the system 100, each antenna may be located at a different location with a different directivity or polarization. All or a subset of the antennas and associated devices, such as the object device 50 or the remote device 40, may facilitate simultaneous acquisition of measurements of RSSI, angle of arrival, time of flight, or other, or any combination thereof. Another type of object may be an ATM with multiple antennas (e.g., four antennas). Yet another type of object may be a storage room with multiple antennas (e.g., twenty antennas).
[0107] Coordination of the first and second locators 500, 600 is accomplished under a variety of conditions or configurations because various factors may affect one or more signal characteristics of communications between a receiver and a transmitter.
[0108] The first locator 500 may be trained according to a reference configuration including a reference object type (e.g., a reference vehicle) and a reference device type (e.g., a reference type smartphone). Truth information may be obtained regarding the inputs 510 and outputs 520 for this reference configuration. Training of the first and second machine learning units 530, 540 may be performed based on this truth information. In the illustrated embodiment, the first and second machine learning units 530, 540 may be configured as a chain of decision trees provided as a locator function 532. As illustrated, the chain of decision trees or the set of locator functions 532 are conceptually grouped according to the first and second machine learning units 530, 540 for purposes of disclosure. As described herein, the first machine learning unit 530 and, optionally, the second machine learning unit 540 may be transferred to the second locator 600 for their training.
[0109] During training of locator functions 532, the number of locator functions 532 and the structure of locator functions 532 may be varied to reduce or improve an error metric related to the truth information produced during training and output 520. Additional or alternative constraints may be introduced in combination with training, such as, for example, execution time or performance constraints, size constraints, or both.
[0110] In one example, for the decision tree of locator function 532-1, the number of nodes, the weights or parameters of each node, and the tree structure defined by the nodes may be altered during training to improve the error metric. The output of locator function 532-1 may be provided as an input to both tree function 550 and downstream locator function 532-2. The training and definition of locator function 532 and tree function 550 may be performed according to the XGboost system. However, it should be understood that alternative configuration and training systems may be implemented.
[0111] The second locator 600 may be constructed for a different configuration than the reference configuration of the first locator. For example, one or both of the object type and device type may be changed in the configuration associated with the second locator 600. Truth information related to this configuration associated with the second locator 600 may be obtained and used to train the second locator 600.
[0112] In the illustrated embodiment, one or both of the first and second machine learning units 530, 540 may be transferred to the second locator 600 as the first and second machine learning units 630, 640, respectively. Features transferred from the first locator 500 may be used as the initial state of the second locator. Furthermore, one or more of such features may be frozen or modified during training of the second locator 600. For example, the first machine learning unit 530 may be transferred as the initial state of the first machine learning unit 630 of the second locator. The first machine learning unit 630 in this initial state may be frozen, and during training of the second locator 600, the second machine learning unit 640 may be modified to improve an error metric depending on the truth information used during training. As another example, the first machine learning unit 630 may be modified during training to improve an error metric for the truth information. Example modifications include changing the structure of the decision tree (e.g., growing or pruning), changing one or more weights of the nodes of the decision tree, and changing the number of decision trees included in the first machine learning unit 630.
[0113] The locator function 632 of the first machine learning unit 630 may correspond to the primary function 432 of the first machine learning unit of the locator 400, and the locator function 632 of the second machine learning unit 640 may correspond to the secondary function 442 of the second machine learning unit 640. Similarly, the locator function 532 of the first machine learning unit 530 may correspond to the primary function 332 of the first machine learning unit of the locator 300, and the locator function 532 of the second machine learning unit 540 may correspond to the secondary function 342 of the second machine learning unit 540.
[0114] Directional terms such as "vertical," "horizontal," "up," "down," "upper," "lower," "inner," "inward," "outer," and "outward" are used to help describe the invention based on the orientation of the illustrated embodiments. The use of directional terms should not be construed as limiting the invention to any particular orientation.
[0115] The above description is a description of the current embodiment of the invention. Various substitutions and modifications may be made without departing from the spirit and broader aspects of the invention as defined in the appended claims, which are to be interpreted in accordance with the principles of patent law, including the doctrine of equivalents. The present disclosure is presented for illustrative purposes and should not be construed as an exhaustive description of all embodiments of the invention or as limiting the scope of the claims to the specific elements shown or described in connection with these embodiments. For example, but not limited to, any individual element of the invention described may be replaced by an alternative element that provides substantially similar functionality or otherwise provides suitable operation. This includes currently known alternative elements, such as those that may be currently known to those of skill in the art, and alternative elements that may be developed in the future, such as those that those of skill in the art may recognize as alternatives upon development. Furthermore, the disclosed embodiments include multiple features that may be described in cooperation and cooperate to provide a set of benefits. The invention is not limited to only those embodiments that include all of these features or provide all of the described benefits, except to the extent expressly recited in the issued claims. For example, reference to a claim element in the singular using the articles "a," "an," "the," or "said" should not be construed as limiting the element to the singular. A reference to a claim element as "at least one of X, Y, and Z" means including any one of X, Y, or Z, and any combination of X, Y, Z, e.g., X, Y, Z; X, Y; X, Z; and Y, Z.
Claims
1. 1. A system for determining location information relating to a location of a mobile device (20) relative to an object (10), comprising: the portable device is of a first device type; the object is a first object type; the first device type and the first object type define an active configuration type; The system comprises: an object device (50) disposed at a fixed position relative to the object and having an antenna (30) configured to be capable of wirelessly communicating with the mobile device via a communication link; a controller (200) configured to determine position information of the mobile device relative to the object; the controller includes a locator (300, 400, 500, 600) configured to generate the location information based on signal characteristics of communications from the mobile device received using the antenna; The locator includes a first machine learning unit (330, 430, 530, 630); The first machine learning unit has a portion that is initially trained based on first truth information obtained regarding a reference configuration type different from the active configuration type, and is configured to be trained based on second truth information obtained regarding the active configuration type after the initial training; the object configuration of the object changes over time such that at a first time the object is of the first object type and at a second time the object is of a second object type; A system in which a third configuration type is defined by the first device type and the second object type.
2. The system of claim 1 , wherein the first machine learning unit corresponds to a first decision tree that is trained sequentially based on the first truth information and the second truth information.
3. The system of claim 1 or 2, wherein a reference object type of the object and a reference device type of the mobile device define the reference configuration type.
4. 4. The system of claim 3, wherein the second truth information provided as a basis for training the first machine learning unit is based on communication between a test portable device and a test object, the test portable device being classified according to the first device type such that the test portable device is of the same type as the portable device, and the test object being classified according to the first object type such that the test object is of the same type as the object.
5. The system of claim 3 , wherein at least one of the reference object type and the reference device type that define the reference configuration type is different from the first object type and the first device type that define the active configuration type.
6. The system of claim 1 , further comprising a memory that stores a third machine learning unit trained based on third truth information obtained regarding the third configuration type.
7. The system of claim 6, wherein the third machine learning unit is based on: a) a portion of the first machine learning unit that is initially trained based on the first truth information; and b) the first machine learning unit that is trained after the initial training based on the third truth information obtained regarding the third configuration type.
8. 8. The system of claim 7, wherein the locator is reconfigurable to include the first and third machine learning units, and the locator is operable to determine the location information of the mobile device relative to the object based on the first and third machine learning units.
9. a fourth configuration type is defined that is defined by the first object type and an alternative portable device that is a second device type different from the first device type; a memory that stores a fourth machine learning unit that is trained based on fourth truth information obtained regarding the fourth configuration type; the locator is reconfigurable to include the fourth machine learning unit; The system of claim 1 , wherein the locator is operable to determine the location information of the mobile device relative to the object based on the fourth machine learning portion.
10. The locator includes a second machine learning unit (340, 440, 540, 640); A portion of the second machine learning unit is initially trained based on the first truth information obtained regarding the reference configuration type different from the active configuration type; The system of claim 1 , wherein the locator is operable to determine the location information based on the first machine learning unit and the second machine learning unit.
11. 1. A method executed by at least one processor for training a locator (300, 400, 500, 600) operable to determine a position of a mobile device (20) relative to an object (10), comprising: the portable device is of a first device type; the object is a first object type; the first device type and the first object type define an active configuration type; The method comprises: training a first portion of the locator based on first truth information obtained about a reference configuration type different from the active configuration type; training the first portion based on second truth information obtained regarding the active configuration type after training based on the first truth information; the object configuration of the object changes over time such that at a first time the object is of the first object type and at a second time the object is of a second object type; A third configuration type is defined by the first device type and the second object type.
12. The method of claim 11 , wherein the first portion corresponds to a first decision tree that is trained sequentially based on the first truth information and the second truth information.
13. The method according to claim 11 or 12, wherein a reference object type of the object and a reference device type of the mobile device define the reference configuration type.
14. 14. The method of claim 13, wherein the second truth information provided as a basis for training the first portion is based on communication between a test portable device and a test subject, the test portable device being classified according to the first device type such that the test portable device is of the same type as the portable device, and the test subject being classified according to the first object type such that the test subject is of the same type as the subject.
15. The method of claim 13 , wherein at least one of the reference object type and the reference device type that define the reference configuration type is different from the first object type and the first device type that define the active configuration type.
16. training a second portion of the locator based on the first truth information obtained regarding the reference configuration type different from the active configuration type; The method of claim 11 , wherein the locator is operable to determine the location based on the first portion and the second portion.
17. 12. The method of claim 11, further comprising training a third portion of the locator based on third truth information obtained regarding a third configuration type defined by the first device type and a second object type.
18. the locator is reconfigurable to include the first portion and the third portion; The method of claim 17 , wherein the locator is operable to determine the location of the mobile device relative to the object based on at least one of the first and third portions.
Citation Information
Patent Citations
Position measurement system, position measurement device, position measurement method, and program
JP2016176907A
Image processing device, image processing method and program
JP2021164535A
System and method of determining real-time location
US20200065722A1
Article damage detection
US20200293830A1
Vehicle, model training system and server
US20210383215A1