Motion track generation method and control equipment
By acquiring and sampling BLE and VLP trajectories and fusing them to generate motion trajectories, the problem of Bluetooth signals being disturbed by the environment in indoor positioning is solved, and higher accuracy and stable indoor positioning is achieved.
Patent Information
- Application Number
- CN202411981288.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-04-18
AI Technical Summary
In indoor positioning technology, Bluetooth signals are easily affected by environmental factors, resulting in a decrease in positioning accuracy and stability.
By acquiring the BLE trajectory recorded by the Bluetooth device and the VLP trajectory recorded by the light receiving device, the first sampling point set and the second sampling point set are generated by the sampling method, and fusing them to generate a motion trajectory to improve positioning accuracy and stability.
Through the fusion of VLP trajectory, the accuracy and stability of the BLE trajectory are improved, the impact of electromagnetic interference is reduced, and a higher accuracy and stable motion trajectory is provided.
Smart Images

Figure CN119854935A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of indoor positioning technology, and specifically to a motion trajectory generation method and control device. Background Art
[0002] With the development of Internet of Things technology and the widespread application of mobile devices, location-based services have been popularized in all aspects of life, among which satellite navigation technology in outdoor environments has become very mature. However, in indoor environments, such as large underground shopping malls, parking lots, subways, etc., the accuracy of satellite signal positioning services is low due to the obstruction of satellite signals by buildings and the complexity of the indoor environment.
[0003] At present, indoor positioning technology mainly uses Bluetooth Low Energy (BLE) technology to achieve indoor positioning. Specifically, several BLE beacons are deployed in the indoor environment and the positions of each BLE beacon are recorded. The Bluetooth signal of the BLE beacon is received by the Bluetooth device of the person or object, and the position of the person or object is determined according to the received Bluetooth signal and the position of the BLE beacon, thereby locating the object. However, environmental factors have a great impact on Bluetooth signals. For example, Bluetooth signals are easily interfered by other wireless devices and metal objects, resulting in signal attenuation and multipath effects in Bluetooth signals, which in turn affects the accuracy and stability of indoor positioning. Summary of the invention
[0004] In view of the above problems, an embodiment of the present application provides a motion trajectory generation method for solving the problem in the prior art that environmental factors have a relatively large impact on Bluetooth signals and affect the accuracy and stability of indoor positioning.
[0005] According to one aspect of an embodiment of the present application, a motion trajectory generation method is provided, the method comprising: obtaining a BLE trajectory recorded by a Bluetooth device and a corresponding recording time, wherein the BLE trajectory includes a plurality of first trajectory points; obtaining a VLP trajectory set recorded by an optical receiving device, wherein the VLP trajectory set includes a VLP trajectory and a corresponding recording time; sampling the BLE trajectory and a VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory according to a preset sampling period, respectively, and generating a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set, respectively, wherein the number of first sampling points in the first sampling point set is greater than the number of first trajectory points in the BLE trajectory; determining a target second sampling point set according to the first sampling point set and the second sampling point set corresponding to the VLP trajectory; and fusing the first sampling point set and the target second sampling point set to generate a motion trajectory.
[0006] In an optional manner, the VLP trajectory includes multiple second trajectory points, and the first trajectory point and the second trajectory point both include time information; according to a preset sampling period, the BLE trajectory and the VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory are sampled respectively, and a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set are generated respectively, specifically including: determining the recording time corresponding to the BLE trajectory as the sampling start time; determining the sampling time according to the sampling start time and the sampling period; sampling the BLE trajectory according to the sampling time and the time information of each first trajectory point in the BLE trajectory, and generating a first sampling point set corresponding to the BLE trajectory; sampling the VLP trajectory in the VLP trajectory set according to the sampling time and the time information of each second trajectory point in the VLP trajectory in the VLP trajectory set, and generating a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set.
[0007] In an optional manner, the BLE trajectory is sampled according to the sampling time and the time information of each first trajectory point in the BLE trajectory to generate a first sampling point set corresponding to the BLE trajectory, specifically including: determining whether there is a first trajectory point in the BLE trajectory whose time information is the same as the sampling time; if so, determining the first trajectory point with the same time information as the sampling time as the first sampling point, and storing it in the first sampling point set; if not, obtaining two first trajectory points whose time information is adjacent to the sampling time from the BLE trajectory, and using linear interpolation to interpolate the two first trajectory points to generate a first sampling point, and storing it in the first sampling point set.
[0008] In an optional manner, the target second sampling point set is determined according to the first sampling point set and the second sampling point set corresponding to the VLP trajectory, specifically including: judging whether there are multiple VLP trajectories in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory; if so, calculating the first similarity between the second sampling point set corresponding to each VLP trajectory and the first sampling point set, and determining the second sampling point set with the highest first similarity as the target second sampling point set; if not, determining the second sampling point set corresponding to the VLP trajectory as the target second sampling point set.
[0009] In an optional manner, the first sampling point in the first sampling point set and the second sampling point in the second sampling point set both include one-to-one corresponding time information and position information; calculating the first similarity between the second sampling point set corresponding to each of the VLP trajectories and the first sampling point set specifically includes: for the second sampling point set corresponding to each VLP trajectory, the following operations are performed: respectively calculating the distance between the position information of the first sampling point and the position information of the second sampling point with the same time information in the first sampling point set and the second sampling point set to obtain multiple error values; and summing up the multiple error values to obtain the first similarity between the first sampling point set and the second sampling point set.
[0010] In an optional manner, the first sampling point set and the target second sampling point set are fused to generate a motion trajectory, specifically including: obtaining a first weight corresponding to each first sampling point in the first sampling point set; obtaining a second weight corresponding to each second sampling point in the target second sampling point set; fusing the first sampling points and the second sampling points having the same time information in the first sampling point set and the second sampling point set according to the first weight and the second weight, respectively, to generate a plurality of target trajectory points; and fitting the plurality of target trajectory points to generate a motion trajectory.
[0011] In an optional manner, obtaining the first weight corresponding to each first sampling point in the first sampling point set specifically includes: obtaining a preset first weight; for each first sampling point in the first sampling point set, performing the following steps: obtaining time information of the first sampling point to obtain first target time information; obtaining a Bluetooth signal strength change record according to the first target time information to obtain a Bluetooth signal fluctuation range; if the Bluetooth signal fluctuation range is within a first preset fluctuation range, determining the preset first weight as the first weight corresponding to the first sampling point; if the Bluetooth signal fluctuation range is outside the first preset fluctuation range, updating the first weight according to the Bluetooth signal fluctuation range, and determining the updated first weight as the first weight corresponding to the first sampling point, so that the updated first weight is less than the preset first weight ; Obtaining the second weight corresponding to each second sampling point in the target second sampling point set, specifically including: obtaining a preset second weight; for each second sampling point in the target second sampling point set, performing the following steps: obtaining time information of the second sampling point to obtain second target time information; obtaining a visible light signal intensity change record according to the second target time information to obtain a visible light signal fluctuation range; if the visible light signal fluctuation range is within a second preset fluctuation range, determining the preset second weight as the second weight corresponding to the second sampling point; if the visible light signal fluctuation range is outside the second preset fluctuation range, updating the second weight according to the visible light signal fluctuation range, and determining the updated second weight as the second weight corresponding to the second sampling point, so that the updated second weight is less than the preset second weight.
[0012] In an optional manner, the method further includes: recording unattributed VLP trajectories in the VLP trajectory set to obtain VLP trajectories to be attributed; calculating a second similarity between the VLP trajectories to be attributed and the motion trajectory through dynamic time warping; if the second similarity is greater than a preset similarity, attributing the VLP trajectories to be attributed to the trajectory target corresponding to the motion trajectory.
[0013] In an optional manner, after recording the unassigned VLP trajectories in the VLP trajectory set and obtaining the VLP trajectories to be assigned, the method further includes: determining whether the number of the VLP trajectories to be assigned is less than a preset number; if so, executing the step of calculating the second similarity between the VLP trajectories to be assigned and the motion trajectory through dynamic time warping; if not, clustering the VLP trajectories to be assigned using a pre-trained clustering model to obtain multiple VLP trajectory clusters and their corresponding central trajectories, calculating the similarity between each central trajectory and the motion trajectory, obtaining the third similarity between each VLP trajectory cluster and the motion trajectory, and assigning the VLP trajectory to be assigned in the VLP trajectory cluster with the highest third similarity to the trajectory target corresponding to the motion trajectory.
[0014] According to another aspect of an embodiment of the present application, a control device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement any one of the above-mentioned motion trajectory generation methods.
[0015] The embodiment of the present application obtains the BLE trajectory and the VLP trajectory, and samples the BLE trajectory and the VLP trajectory to generate the first sampling point set and the second sampling point set, so as to align the time of the sampling points in the first sampling point set and the second sampling point set, ensure the consistency of the data time, and avoid the different sampling frequencies causing the position data to be misaligned and the trajectory matching errors to affect the fusion accuracy. Then, the target second sampling point set is determined according to the second sampling point set corresponding to the first sampling point set and the VLP trajectory, so as to ensure that the trajectory target of the VLP trajectory corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory. Finally, the motion trajectory is generated by fusing the first sampling point set and the target second sampling point set, so as to improve the accuracy of the BLE trajectory through the VLP trajectory, provide the user with a more accurate motion trajectory, and in an environment with strong electromagnetic interference, the characteristic that visible light is not affected by electromagnetic interference can be used to effectively reduce interference and ensure the stability of positioning.
[0016] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the embodiment of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiment of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are only used to illustrate the embodiments and are not to be considered as limiting the present application. In addition, the same reference symbols are used to represent the same components throughout the accompanying drawings. In the accompanying drawings:
[0018] Figure 1 A schematic diagram of the structure of a positioning system provided in an embodiment of the present application is shown;
[0019] Figure 2 A schematic diagram of the process of generating a motion trajectory provided by an embodiment of the present application is shown;
[0020] Figure 3 The application scenario diagram of the VLP trajectory involved in the embodiment of the present application is shown;
[0021] Figure 4 A schematic diagram showing a flow chart of a motion trajectory generation method provided by another embodiment of the present application is shown;
[0022] Figure 5 A schematic diagram of the structure of a motion trajectory generating device provided in an embodiment of the present application is shown;
[0023] Figure 6 A schematic diagram of the structure of a control device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0024] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein.
[0025] With the development of society, people spend most of their time in indoor environments in their daily lives. With the development of underground space, more and more underground shopping malls, parking lots, subways and other places are opening. In order to improve the accuracy of indoor positioning, indoor positioning is currently mainly achieved through BLE technology. BLE technology is a short-range, low-cost wireless communication technology developed based on traditional Bluetooth technology. It has the characteristics of low power consumption and high efficiency. Therefore, it is widely used as a device positioning technology to solve the problem of low positioning accuracy of existing satellite navigation technology in indoor environments. Specifically, several BLE beacons are deployed in an indoor environment. When the Bluetooth device carried by the user moves in the indoor environment, the Bluetooth device can receive the Bluetooth signal transmitted by the BLE beacon, and then obtain the location information by processing these signals. For example, the location of the Bluetooth device is estimated by measuring parameters such as signal strength, arrival time difference or arrival angle.
[0026] However, Bluetooth signals are easily affected by environmental factors, which in turn affect positioning accuracy and stability. Specifically, Bluetooth signals are easily affected by metal objects, moisture in the air, and physical obstacles such as walls, doors, and furniture during propagation, causing the signal to be blocked or attenuated, affecting signal quality, and reflection, refraction, and other phenomena may also occur, causing signal distortion. In addition, since the frequency band used by Bluetooth technology is similar to that of other wireless devices (for example, WIFI, microwave ovens, etc.), these wireless devices may interfere with the propagation of Bluetooth signals, thereby affecting positioning accuracy.
[0027] Based on this, in order to improve the accuracy and stability of indoor positioning, the embodiment of the present application provides a trajectory generation method. On the basis of BLE positioning technology, visible light positioning technology (Visible Light Positioning, referred to as VLP) is added to jointly realize the positioning of moving people or objects, and the characteristics of VLP positioning technology such as no electromagnetic interference and high precision are used to improve the accuracy and stability of positioning. Specifically, BLE beacons and LED light beacons are set up in an indoor environment at the same time. BLE beacons are used to transmit Bluetooth signals, and LED light beacons are used to transmit visible light signals. During the movement, the Bluetooth device will record the position of the object through the Bluetooth signal to obtain the BLE trajectory, and the Bluetooth device (such as a robot, transportation equipment, etc. integrated with a Bluetooth signal receiver) or a person or object carrying a Bluetooth device (such as a mobile phone, tablet, smart watch, etc.) will affect the intensity of the visible light signal during the movement, so that the optical receiver can record the position of the Bluetooth device or the person or object carrying the Bluetooth device according to the received visible light signal to obtain the VLP trajectory, and finally the BLE trajectory and the VLP trajectory are merged to generate the motion trajectory of the Bluetooth device or the person or object carrying the Bluetooth device, so as to improve the accuracy and stability of the motion trajectory through the VLP trajectory.
[0028] According to one aspect of an embodiment of the present application, a motion trajectory generation method is provided, which is applied to Figure 1 The positioning system shown, Figure 1 A structural schematic diagram of a positioning system provided in an embodiment of the present application is shown. The positioning system mainly includes a BLE beacon, a Bluetooth device, an LED light beacon, a light receiving device, a VLP control terminal, a control device, etc.
[0029] BLE beacons are used to transmit Bluetooth signals.
[0030] The Bluetooth device can be a mobile phone, tablet, smart watch and other devices. It determines the location information of the Bluetooth device by receiving and analyzing the strength and direction of the Bluetooth signal transmitted by the BLE beacon, and generates a corresponding BLE track according to the change process of the location information of the Bluetooth device.
[0031] LED optical beacons are used to transmit modulated visible light signals, such as LED lights.
[0032] The optical receiving device is used to receive the visible light signal emitted by the LED optical beacon, analyze the visible light signal, calculate the intensity of the received visible light signal, and then send the intensity of the visible light signal to the VLP control terminal. The VLP control terminal is used to determine the location information of a person or object based on the intensity of the received visible light signal, and generate a VLP trajectory based on the change process of the location information of the person or object.
[0033] The control device is used to execute the motion trajectory generation method provided in the embodiment of the present application, so as to fuse the BLE trajectory and the VLP trajectory to generate a motion trajectory, and send the motion trajectory to the display device for display, providing path information with higher accuracy and better stability for users to view and analyze. In some embodiments, the positioning system may not include a VLP control terminal, but the control device directly determines the position information of a person or object according to the intensity of the visible light signal, and generates a VLP trajectory according to the change process of the position information of the person or object.
[0034] like Figure 2 As shown, Figure 2 The flowchart of the motion trajectory generation method provided by the embodiment of the present application is shown, and the method is executed by a control device. The control device can be a terminal device such as a mobile phone or a tablet, or a local server or a cloud server. Figure 2 As shown, the method comprises the following steps:
[0035] Step S110: Obtain a BLE trajectory recorded by the Bluetooth device and a corresponding recording time, wherein the BLE trajectory includes a plurality of first trajectory points.
[0036] Among them, Bluetooth devices can be terminal devices such as smartphones and tablets, or IoT devices such as smart watches and monitoring and detection equipment, or devices in the field of industrial automation, such as robots and transportation equipment with integrated Bluetooth signal receivers. BLE tracks are used to characterize the movement trajectory of Bluetooth devices, through which Bluetooth devices such as robots or transportation equipment, and people or objects carrying Bluetooth devices can be located. The recording time is the time when the Bluetooth device starts recording the BLE track, that is, the time when the Bluetooth device starts to receive and analyze the strength and direction of the Bluetooth signal to determine the location information of the device.
[0037] Specifically, first, deploy several BLE beacons in the target area (for example, shopping malls, office buildings, indoor parking lots, etc.) and record the exact location or coordinates of each BLE beacon to provide accurate information for subsequent distance calculation and position estimation. When deploying BLE beacons, the number and layout of BLE beacons can be reasonably selected according to the requirements of area size, coverage range and positioning accuracy. The number of BLE beacons can be appropriately increased in places with larger areas or higher positioning accuracy requirements. In addition, the distance between BLE beacons usually needs to be smaller than its coverage radius to ensure that the Bluetooth signals emitted by the BLE beacons can overlap and improve positioning accuracy.
[0038] Then use the Bluetooth device to periodically scan and record the signal strength of the received Bluetooth signal. The wireless signal strength can be measured by the value of the received signal strength indicator (RSSI). Specifically, the Bluetooth device uses the BLE function to periodically discover nearby BLE beacons and record the RSSI value of the Bluetooth signal transmitted by the BLE beacon. In order to improve the accuracy, the received RSSI value can also be filtered, for example, the received RSSI data is smoothed by a Kalman filter to reduce the Bluetooth signal fluctuations caused by environmental interference to provide a more reliable RSSI value.
[0039] Then, the distance between the Bluetooth device and the BLE beacon is estimated by the RSSI value and the transmission power of the BLE beacon. For example, the distance is estimated by using a classic path loss model in combination with the transmission power of the BLE beacon and the RSSI value read. Specifically, the distance d, the RSSI value, and the transmission power have a relationship as shown in the following formula.
[0040] RSSI(d)=P t -PL(d)
[0041] Among them, RSSI(d) is the signal strength received by the Bluetooth device at distance d, P t is the transmission power of the Bluetooth signal transmitted by the BLE beacon, and PL(d) is the path loss at distance d.
[0042] Through the known RSSI value and transmission power P t , the distance d can be calculated in reverse, the specific formula is as follows:
[0043] PL(d)=P t -RSSI(d) (1)
[0044]
[0045] Wherein, PL(d0) is the path loss at the reference distance d0, which refers to a standard or benchmark distance point for measuring or calculating the path loss. n is the environmental attenuation factor, which is usually between 2 and 4 and can be selected according to the specific environment. For example, in a dense building environment, considering the higher signal attenuation, the value of n can be appropriately increased.
[0046] Substituting formula (2) into formula (1) can calculate the distance between the Bluetooth device and the BLE beacon. The specific formula is as follows:
[0047]
[0048] Finally, the location information of the Bluetooth device is determined based on the distance between the Bluetooth device and the BLE beacon and the location information of the BLE beacon. Specifically, after calculating the distance between the Bluetooth beacon and each BLE beacon based on the RSSI value obtained from each BLE beacon and the path loss model, the location information of the Bluetooth device is calculated using the triangulation method through the location information and corresponding distances of at least three BLE beacons. This location information is the first trajectory point in the BLE trajectory. After obtaining multiple first trajectory points, the multiple first trajectory points can be fitted to generate a BLE trajectory. Specifically, the least squares method, polynomial fitting, nonlinear regression, spline curve fitting and other fitting algorithms or pre-trained fitting models can be used to fit multiple first trajectory points to generate a BLE trajectory.
[0049] As an example, in order to improve positioning accuracy, a multi-beacon positioning algorithm can be used to determine the location information of the Bluetooth device, such as the least squares positioning algorithm. Specifically, the location information of each BLE beacon and the distance processed by its corresponding RSSI value are input into the positioning algorithm, and a weight is assigned to each BLE beacon based on the signal strength. Finally, the information from multiple BLE beacons is fused through weighted averaging or other mathematical methods to calculate more accurate location information.
[0050] It should be noted that the first trajectory point and the BLE trajectory can be directly obtained by the Bluetooth device after processing the signal strength (i.e., RSSI value), or the BLE control terminal (such as a control device or another terminal device, server, etc.) receives the signal strength recorded by the Bluetooth device, and then calculates the position of the Bluetooth device and generates the BLE trajectory.
[0051] Step S120: Acquire a VLP trajectory set recorded by the optical receiving device, wherein the VLP trajectory set includes a VLP trajectory and a corresponding recording time.
[0052] Among them, the light receiving device is a device for receiving visible light signals, such as a light receiver, and the light receiving device is used to periodically receive visible light signals, analyze visible light signals and calculate the signal strength of visible light signals (i.e., RSSI value), and process the RSSI value of visible light signals through the VLP control terminal and generate VLP trajectories, thereby locating moving people or objects. Of course, the VLP control terminal that generates the VLP trajectory can be a control device that executes the motion trajectory generation method, or it can be another terminal device, server, etc.
[0053] The VLP track is used to characterize the movement track of people or objects (for example, robots, transportation equipment and other Bluetooth devices, animals, etc.). Specifically, based on the principle that people or objects can block light, change the path of light (for example, reflect, scatter, refract, etc.), and thus affect the visible light signal, the position of the person or object can be determined by capturing and analyzing the visible light signal through the optical receiving device, and then the movement path of the person or object (i.e., the VLP track) can be determined based on the change in position. The recording time of the VLP track is the time when the person or object moves to the coverage range of the LED optical beacon and begins to affect the visible light signal.
[0054] Specifically, first, Figure 3 As shown, Figure 3 The application scenario diagram of the VLP trajectory is shown. Several LED optical beacons are deployed in the target area, and the spatial position of each LED optical beacon is recorded in detail for subsequent positioning. These LED optical beacons transmit data through visible light signals and provide a basis for position estimation. Then, the visible light signal from the LED optical beacon is periodically received by the optical receiving device, and the visible light signal is analyzed to calculate the intensity of the received visible light signal (ie, RSSI value). In order to reduce noise interference, the control device can also filter the received RSSI data, such as applying Kalman filtering to the RSSI data to smooth the signal changes, thereby improving the signal quality and reducing the positioning error.
[0055] Then, the collected RSSI data is processed to estimate the position of the person or object, and the estimated position information is the second trajectory point in the VLP trajectory. As an example, a trained random forest model can be used for nonlinear position estimation. During the positioning process, the acquired RSSI data and the position of the LED light beacon are input into the random forest model, and the position information of the person or object estimated by the random forest model is obtained. When training the random forest model, the corresponding RSSI data can be collected at several known positions, and then the known positions and RSSI data are input into the random forest model as training data sets, so that the random forest model learns the relationship between RSSI data and position from the training data set. Finally, a fitting algorithm or a pre-trained fitting model is used to fit the acquired second trajectory point to generate a VLP trajectory.
[0056] Step S130: According to a preset sampling period, the BLE trajectory and the VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory are sampled respectively, and a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set are generated respectively, wherein the number of first sampling points in the first sampling point set is greater than the number of first trajectory points in the BLE trajectory.
[0057] Among them, the recording time is used to align the time axis of the first sampling point set and the second sampling point set, and preliminarily screen the BLE track and VLP track of the same track target to ensure that the first sampling point set and the target second sampling point set to be fused later are from the BLE track and VLP track of the same track target. Specifically, the optical receiving device will record the tracks of all people or objects passing through the target area, while the Bluetooth device will only record a BLE track when it passes through the target area. When the track target passes through the target area, the Bluetooth device will record a BLE track corresponding to the track target, and the optical receiving device will also record at least one VLP track at the same time point, and one of the VLP tracks and the BLE track is the moving path of the same track target. Therefore, there is a VLP track in the VLP track set with the same recording time as the recording time of the BLE track, and the track target is the same as the track target of the BLE track. The VLP track in the VLP track set can be preliminarily screened by recording time.
[0058] The sampling period is used to align the positions of the sampling points in the first sampling point set and the second sampling point set on the time axis, so that the sampling points in the first sampling point set and the second sampling point set are located at the same position on the same time axis. Specifically, the sampling time can be determined according to the sampling period, and then the BLE trajectory and the VLP trajectory are sampled using the same sampling time to generate the first sampling point set and the second sampling point set, respectively. In addition, in order to ensure that the accuracy of the fused trajectory is higher than the accuracy of the BLE trajectory, the number of first sampling points in the first sampling point set needs to be greater than the number of first trajectory points in the BLE trajectory, so that the number of trajectory points on the motion trajectory generated by the fusion of the first sampling point set is greater than the number of first trajectory points.
[0059] Specifically, in order to make the time of the sampling points in the first sampling point set and the second sampling point set consistent, the VLP trajectory includes a plurality of second trajectory points, and both the first trajectory points and the second trajectory points include time information. Step S130 may include the following steps (steps S131 to S134):
[0060] Step S131: Determine the recording time corresponding to the BLE trajectory as the sampling start time.
[0061] Step S132: Determine the sampling time according to the sampling start time and the sampling period.
[0062] Step S133: sampling the BLE trajectory according to the sampling time and the time information of each first trajectory point in the BLE trajectory, and generating a first sampling point set corresponding to the BLE trajectory.
[0063] Step S134: sampling the VLP trajectory in the VLP trajectory set according to the sampling time and the time information of each second trajectory point in the VLP trajectory in the VLP trajectory set, and generating a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set.
[0064] The sampling start time is the starting time of sampling, and is also the starting time of the time axis corresponding to the first sampling point set and the second sampling point set. When determining the sampling time, the sampling start time can be determined as the first sampling time, and the subsequent sampling times are determined in sequence according to the sampling period. Finally, the BLE trajectory and the VLP trajectory are sampled according to the same sampling time, so that the first sampling point in the first sampling point set and the second sampling point in the second sampling point set correspond to each other, and the corresponding first sampling point and the second sampling point have the same position on the time axis.
[0065] Specifically, when generating the first sampling point set, the corresponding fitting function can be determined according to the first trajectory point in the BLE trajectory, and the fitting function is used to characterize the relationship between the position information and time information of the first trajectory point, and then the sampling time is substituted into the fitting function to determine the position information of the first sampling point, or the time difference between the sampling time and the time information of each first trajectory point in the BLE trajectory can be calculated, and the first trajectory point with the smallest time difference is determined as the first sampling point corresponding to the sampling time and stored in the first sampling point set. Similarly, the above method can also be used when generating the second sampling point set.
[0066] Steps S131 to S134 determine the sampling time through the sampling start time and the sampling period, and then use the same sampling time to sample the BLE trajectory and the VLP trajectory, and generate a first sampling point set and a second sampling point set respectively, so that the sampling points in the first sampling point set and the second sampling point set correspond to each other, and the corresponding sampling points are located at the same position on the time axis, ensuring that the time of the sampling points in the first sampling point set and the second sampling point set are consistent, thereby improving the accuracy of the fusion of the BLE trajectory and the VLP trajectory.
[0067] In addition, in order to make the sampling points in the sampling point set fit the actual trajectory, step S133 may include the following steps (steps S133a to S133c):
[0068] Step S133a: Determine whether there is a first trajectory point in the BLE trajectory whose time information is the same as the sampling time.
[0069] If yes, it means that the first trajectory point in the BLE trajectory is directly sampled to obtain the first sampling point corresponding to the sampling time. At this time, step S133b can be executed to make the first sampling point obtained according to the sampling time located on the BLE trajectory;
[0070] If not, it means that the time information of the first trajectory point on the BLE trajectory is not equal to the sampling time, and the first sampling point corresponding to the sampling time cannot be directly obtained from the first trajectory point. At this time, it is necessary to generate the first sampling point that fits the BLE trajectory according to the relationship between the first trajectory point of the BLE trajectory and the sampling time. Specifically, step S133c can be executed.
[0071] Step S133b: Determine the first trajectory point whose time information is the same as the sampling time as the first sampling point, and store it in the first sampling point set.
[0072] Step S133c: obtaining two first trajectory points whose time information is adjacent to the sampling time from the BLE trajectory, and performing interpolation calculation on the two first trajectory points using linear interpolation to generate first sampling points, and storing them in the first sampling point set.
[0073] Among them, the BLE trajectory is used to characterize the moving path of the Bluetooth device, which can be represented by time information and location information. Specifically, the first trajectory point usually includes time information and location information. The first trajectory points are arranged in chronological order, and the change process of the location information of the first trajectory point is the moving path of the Bluetooth device.
[0074] Linear interpolation is used to estimate the value of an unknown data point between two known data points. For a BLE trajectory, the first trajectory point is a known data point, and the first sampling point corresponding to the sampling time is an unknown data point. When generating the first sampling point, the position of the first sampling point on the BLE trajectory can be determined based on the size relationship between the sampling time and the time information of the first trajectory point, that is, the first sampling point is located between two first trajectory points whose time information is adjacent to the sampling time in the BLE trajectory, and then the position information of the first sampling point can be estimated by linear interpolation.
[0075] Specifically, for the sampling time t i In terms of time information and sampling time t i The two adjacent first trajectory points are (t k ,p k ) and (t k+1 ,p k+1 ), where t k <t i <t k+1 , the sampling time t can be estimated using the following linear interpolation formula i The corresponding position information p(t i ):
[0076]
[0077] Among them, t k and t k+1 is the time information of the two first trajectory points, p k and p k+1 is the position information of the two first trajectory points, the sampling time t i is the time information of the first sampling point, sampling time t i The corresponding position information p(t i ) is the position information of the first sampling point, that is, the first sampling point is (t i ,p(t i )).
[0078] Steps S133a to S133c generate the first sampling point in the first sampling point set by the relationship between the sampling time and the time information of the first trajectory point in the BLE trajectory, so that the first sampling point fits the BLE trajectory as much as possible, thereby improving the accuracy of the fusion of the BLE trajectory and the VLP trajectory.
[0079] Similarly, the second sampling point set may be generated in the same manner as steps S133a to S133c, so that the second sampling points in the second sampling point set fit the VLP trajectory as closely as possible, thereby improving the fusion accuracy.
[0080] After step S130, step S140 is executed: determining a target second sampling point set according to the first sampling point set and the second sampling point set corresponding to the VLP trajectory.
[0081] Among them, the first sampling point set and the second sampling point set corresponding to the VLP trajectory are matched, so that the trajectory target of the VLP trajectory corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory. Specifically, when a person or object passes through the target area, the light receiving device will record the VLP trajectory corresponding to the person or object. This results in that when multiple trajectory targets pass through the target area at the same time, the light receiving device will record multiple VLP trajectories at the same time, that is, there are multiple VLP trajectories with the same recording time in the VLP trajectory set. At this time, it is necessary to obtain a VLP trajectory with the same trajectory target as the BLE trajectory from the multiple VLP trajectories, that is, determine the target second sampling point set from the second sampling point set of the multiple VLP trajectories.
[0082] Specifically, in order to ensure that the trajectory target of the VLP trajectory corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory, step S140 may include the following steps (steps S141 to S143):
[0083] Step S141: Determine whether there are multiple VLP trajectories in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory.
[0084] If yes, it means that when the trajectory target corresponding to the BLE trajectory passes through the target area, there are other people or objects passing through the target area, causing the light receiving device to record multiple VLP trajectories at the same time point. At this time, it is necessary to calculate the similarity of each VLP trajectory and the BLE trajectory to ensure that the VLP trajectory target corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory, and execute step S142;
[0085] If not, it means that when the trajectory target corresponding to the BLE trajectory passes through the target area, no other person or object passes through the target area. At this time, there is only one VLP trajectory in the VLP trajectory set with the same recording time as the BLE trajectory. It can be directly determined that the trajectory target of the VLP trajectory is the same as the trajectory target of the BLE trajectory, and step S143 is executed.
[0086] Step S142: Calculate the first similarity between the second sampling point set and the first sampling point set corresponding to each VLP trajectory, and determine the second sampling point set with the highest first similarity as the target second sampling point set.
[0087] Among them, since both the VLP trajectory and the BLE trajectory are used to record the position change process of the trajectory target, the similarity between the VLP trajectory and the BLE trajectory can be determined by the overlap of the VLP trajectory and the BLE trajectory, that is, calculating the overlap of the trajectory points on the VLP trajectory and the BLE trajectory. Specifically, the first similarity can be determined by counting the number of identical sampling points in the first sampling point set and the second sampling point set.
[0088] Further, in order to simplify the calculation, the first sampling point in the first sampling point set and the second sampling point in the second sampling point set both include one-to-one corresponding time information and position information, and step S142 may include the following steps (step S142a to step S142b):
[0089] For the second sampling point set corresponding to each VLP trajectory, the following operations are performed:
[0090] Step S142a: respectively calculating the distance between the position information of the first sampling point and the second sampling point in the first sampling point set and the second sampling point set having the same time information, to obtain a plurality of error values.
[0091] Step S142b: Count the sum of multiple error values to obtain a first similarity between the first sampling point set and the second sampling point set.
[0092] The error value may be the Euclidean distance between the first sampling point and the second sampling point to represent the straight-line distance between the two points. All sampling points in the first sampling point set and the second sampling point set are traversed to obtain multiple error values, and then the sum is calculated to determine the first similarity.
[0093] Steps S142a to S142b calculate the distance between the first sampling point and the second sampling point with the same time information to obtain the error value, and the first similarity can be obtained by summing up the statistical error values. The first similarity calculation process is convenient and concise, and the target second sampling point set can be quickly determined.
[0094] After step S142, step S143 is executed: the second sampling point set corresponding to the VLP trajectory is determined as the target second sampling point set.
[0095] Among them, there is only one VLP trajectory in the VLP trajectory set, and the recording time is the same as the recording time of the BLE trajectory. There is also only one second sampling point set corresponding to the VLP trajectory generated according to the sampling period. The second sampling point set can be directly determined as the target second sampling point set.
[0096] Steps S141 to S143 determine the target second sampling point set by matching the second sampling point set of the VLP trajectory with the first sampling point set, so as to ensure that the VLP trajectory and the BLE trajectory corresponding to the target second sampling point set come from the same trajectory target, thereby ensuring the accuracy of the fusion.
[0097] After step S140, step S150 is executed: the first sampling point set and the target second sampling point set are merged to generate a motion trajectory.
[0098] Specifically, the first sampling points and the second sampling points with the same time information in the first sampling point set and the target second sampling point set may be fused to obtain the target trajectory points, and then the target trajectory points may be fitted to generate the motion trajectory.
[0099] It should be noted that the motion trajectory can be generated in real time, that is, the BLE trajectory and VLP trajectory can be obtained in real time and fused to generate the motion trajectory, so as to update the position of Bluetooth devices such as robots and transportation equipment, or the position of people or objects carrying the Bluetooth device in real time. The historical motion trajectory can also be generated by fusing the BLE trajectory and VLP trajectory recorded in the history to analyze the historical motion trajectory, determine the path characteristics of Bluetooth devices such as robots and transportation equipment, or the path characteristics of people or objects carrying the Bluetooth device, and then recommend a better motion path based on the path characteristics.
[0100] In the above embodiment, the BLE trajectory and the VLP trajectory are acquired, and the BLE trajectory and the VLP trajectory are sampled to generate the first sampling point set and the second sampling point set, so as to align the time of the sampling points in the first sampling point set and the second sampling point set, ensure the consistency of the data time, and avoid the different sampling frequencies causing the position data to be misaligned and the trajectory matching errors to affect the fusion accuracy. Then, the target second sampling point set is determined according to the first sampling point set and the second sampling point set corresponding to the VLP trajectory, so as to ensure that the trajectory target of the VLP trajectory corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory. Finally, the motion trajectory is generated by fusing the first sampling point set and the target second sampling point set, so as to improve the accuracy of the BLE trajectory through the VLP trajectory, provide the user with a more accurate motion trajectory, and in an environment with strong electromagnetic interference, the characteristic that visible light is not subject to electromagnetic interference can be used to effectively reduce interference and ensure the stability of positioning.
[0101] Since environmental factors (e.g., electromagnetic interference, light changes, and multipath effects) may interfere with Bluetooth signals and visible light signals, in order to improve the accuracy of the motion trajectory, different weights can be set for the BLE trajectory and the VLP trajectory according to different environments. Specifically, step S150 may include the following steps:
[0102] Step S151: Obtain the first weight corresponding to each first sampling point in the first sampling point set.
[0103] Step S152: Obtain the second weight corresponding to each second sampling point in the target second sampling point set.
[0104] Step S153: The first sampling points and the second sampling points with the same time information in the first sampling point set and the second sampling point set are respectively fused according to the first weight and the second weight to generate a plurality of target trajectory points.
[0105] Step S154: Fitting multiple target trajectory points to generate a motion trajectory.
[0106] First, the target trajectory point is generated by fusing the first weight and the second weight. Specifically, the following formula can be used for fusion:
[0107] P fused =ω VLP ×P VLP +ω BLE ×P BLE
[0108] Among them, P fused is the fused position information, P VLP is the position information of the second sampling point in the target second sampling point set, P BLE is the position information of the first sampling point in the first sampling point set, ω BLE is the first weight, ω VLP is the second weight, and ω BLE +ω VLP =1. The specific sizes of the first weight and the second weight can be set according to environmental factors. For example, in an environment with electromagnetic interference, the first weight can be appropriately reduced, and in an environment with drastic light changes, the second weight can be appropriately reduced. In addition, in order to ensure that the accuracy of the BLE track can be improved through the VLP track, the second weight can be set greater than the first weight.
[0109] Finally, the target trajectory points are fitted to generate the motion trajectory. Specifically, the least squares method, polynomial fitting, nonlinear regression, spline curve fitting and other fitting algorithms or pre-trained fitting models can be used to fit multiple target trajectory points to generate the motion trajectory.
[0110] The above embodiment can improve the accuracy of the motion trajectory by setting the first weight and the second weight. On the other hand, different weights can be set for the VLP trajectory and the BLE trajectory according to different environments, thereby enriching the application scenarios of the motion trajectory generation method and improving its practicality.
[0111] Furthermore, in the same target area, the electromagnetic interference intensity, light changes and other environmental factors at different locations may be different. If all target trajectory points in the motion trajectory use the same weight, the accuracy of the motion trajectory may be affected. Therefore, the position guarantees the accuracy of the motion trajectory. Step S151 also includes the following steps:
[0112] Step S151a: Obtain a preset first weight.
[0113] For each first sampling point in the first sampling point set, the following steps are performed:
[0114] Step S151b: Acquire the time information of the first sampling point to obtain the first target time information.
[0115] Step S151c: Obtain the Bluetooth signal strength change record according to the first target time information to obtain the Bluetooth signal fluctuation range.
[0116] Step S151d: If the Bluetooth signal fluctuation range is within the first preset fluctuation range, the preset first weight is determined as the first weight corresponding to the first sampling point.
[0117] Step S151e: If the Bluetooth signal fluctuation range is outside the first preset fluctuation range, update the first weight according to the Bluetooth signal fluctuation range, and determine the updated first weight as the first weight corresponding to the first sampling point, so that the updated first weight is smaller than the preset first weight.
[0118] Steps S151a to S151e adjust the first weight according to the Bluetooth signal fluctuation range corresponding to each first sampling point. Specifically, the stability and volatility of the RSSI value of the Bluetooth signal can be monitored. When the Bluetooth signal fluctuates greatly, the weight of the BLE trajectory is reduced, that is, the first weight is reduced to reduce the impact of the Bluetooth signal fluctuation on the motion trajectory and improve the accuracy and stability of the motion trajectory.
[0119] Step S152 may include the following steps:
[0120] Step S152a: Obtain a preset second weight.
[0121] For each second sampling point in the target second sampling point set, the following steps are performed:
[0122] Step S152b: Acquire the time information of the second sampling point to obtain the second target time information.
[0123] Step S152c: Obtain the visible light signal intensity change record according to the second target time information to obtain the visible light signal fluctuation range.
[0124] Step S152d: If the fluctuation range of the visible light signal is within the second preset fluctuation range, the preset second weight is determined as the second weight corresponding to the second sampling point.
[0125] Step S152e: If the visible light signal fluctuation range is outside the second preset fluctuation range, update the second weight according to the visible light signal fluctuation range, and determine the updated second weight as the second weight corresponding to the second sampling point, so that the updated second weight is less than the preset second weight.
[0126] Steps S152a to S152e adjust the second weight according to the visible light signal fluctuation range corresponding to each second sampling point. Specifically, the intensity change of the visible light signal can be detected by the optical sensor. When the light changes dramatically, the weight of the VLP trajectory is appropriately reduced, that is, the second weight is reduced to reduce the impact of light changes on the motion trajectory and improve the accuracy and stability of the motion trajectory.
[0127] In addition, the Kalman filter can be used to predict and optimize the position estimation in each time information, and the influence can be adjusted by the Kalman gain. Specifically, the target trajectory point is used as the input of the Kalman filter, and the Kalman filter is used to optimize the positioning, reduce the influence of noise, and improve the system accuracy. In addition, the Kalman filter is used to continuously enhance the accuracy and stability of the target trajectory point in combination with historical data. Specifically, the Kalman filter output is used to calculate the deviation between the target trajectory point and the actual position, and the first weight and the second weight are dynamically updated.
[0128] It should be noted that the process of dynamically adjusting the first weight and the second weight is a fine-tuning process, and the change in the size of the first weight or the second weight is only relative to its original value, that is, the size relationship between the updated first weight and the second weight will not change. As an example, assuming that the preset first weight is smaller than the preset second weight, when the light changes in the environment are more drastic, the second weight of the VLP track can be appropriately reduced, and the first weight of the BLE track can be increased, so that the updated first weight is greater than the preset first weight, and the updated second weight is less than the preset second weight, that is, the impact of the VLP track on the motion track is reduced, and the impact of the BLE track on the motion track is increased, but the updated first weight is still smaller than the updated second weight, that is, the impact of the VLP track on the motion track is greater than the impact of the BLE track on the motion track.
[0129] The generation of BLE trajectories depends on Bluetooth devices. When a person or object passes through the target area, if they do not carry a Bluetooth device, the BLE trajectory of the person or object cannot be recorded. However, the VLP trajectory only needs to deploy visible light beacons and light receiving devices in the target area. As long as there are people or objects passing through the target area, the VLP trajectory can be generated. Therefore, there may be a large number of VLP trajectories in the VLP trajectory set, and because the control device usually cannot directly determine the trajectory target of the VLP trajectory, if a person or object does not carry a Bluetooth device when passing through the target area, the generated VLP trajectory will not be able to determine the trajectory target, which will cause these VLP trajectories to be unable to be used to determine the movement habits of people or objects.
[0130] Therefore, in order to improve the utilization of data, such as Figure 4 As shown, Figure 4 A flow chart of a motion trajectory generation method provided by another embodiment of the present application is shown, and the method comprises the following steps:
[0131] Step S210: Record the unassigned VLP tracks in the VLP track set to obtain the VLP tracks to be assigned.
[0132] Step S220: Calculate the second similarity between the VLP trajectory to be assigned and the motion trajectory through dynamic time warping.
[0133] Step S230: If the second similarity is greater than the preset similarity, the VLP trajectory to be attributed is attributed to the trajectory target corresponding to the motion trajectory.
[0134] Among them, dynamic time warping is used to compare the differences and deformations of the shapes of the VLP trajectory and the motion trajectory, and to find the second similarity between the two by minimizing the accumulated errors of each trajectory point between the VLP trajectory and the motion trajectory. Dynamic time warping can be used to handle the matching of VLP trajectories and motion trajectories with different recording times. Specifically, the minimum cumulative distance of each trajectory point between the VLP trajectory and the motion trajectory can be calculated. The minimum cumulative distance is the second similarity between the VLP trajectory and the motion trajectory. When the second similarity is greater than the preset similarity, it can be considered that the VLP trajectory and the motion trajectory belong to the same trajectory target, and the VLP trajectory can be attributed to the trajectory target corresponding to the motion trajectory, so as to better utilize the VLP trajectory in the VLP trajectory set.
[0135] Furthermore, when there are many people or objects passing through the target area, there may be a large number of VLP tracks in the VLP track set. If each VLP track is matched with the motion track separately, the amount of calculation will be relatively large, and it will take a long time to determine the ownership of the VLP track. Therefore, in order to simplify the calculation, after step S210, the method further includes:
[0136] Step S211: Determine whether the number of to-be-assigned VLP tracks is less than a preset number.
[0137] If yes, it means that the number of to-be-assigned VLP trajectories is relatively small, and each to-be-assigned VLP trajectory can be directly matched with the motion trajectory, and step S220 is executed;
[0138] If not, it means that the number of to-be-assigned VLP trajectories is relatively large, and the to-be-assigned VLP trajectories may be clustered first, and the to-be-assigned VLP trajectories of the same trajectory target may be clustered into one VLP trajectory cluster, and then each VLP trajectory cluster is matched with the motion trajectory, and step S212 is executed.
[0139] Step S212: cluster the VLP trajectories to be assigned using a pre-trained clustering model to obtain multiple VLP trajectory clusters and their corresponding central trajectories, calculate the similarity between each central trajectory and the motion trajectory, obtain the third similarity between each VLP trajectory cluster and the motion trajectory, and assign the VLP trajectory to be assigned in the VLP trajectory cluster with the highest third similarity to the trajectory target corresponding to the motion trajectory.
[0140] The clustering model is used to cluster similar VLP trajectories in the VLP trajectories to be assigned to form a VLP trajectory cluster, such as a K-means algorithm. First, the clustering model can be trained using the VLP trajectories of known trajectory targets so that the clustering model learns the characteristics of the VLP trajectories of the same trajectory target.
[0141] Then, in the clustering process, k initial central trajectories are randomly selected, and each VLP trajectory to be assigned is assigned to the central trajectory with the highest similarity to form a VLP trajectory cluster. Then, the central trajectory of each VLP trajectory cluster is recalculated, and the process of assigning and updating the central trajectory is repeated until the central trajectory no longer changes.
[0142] After the trajectory clustering is completed, the third similarity between the central trajectory and the motion trajectory of each VLP trajectory cluster is calculated, and all VLP trajectories to be assigned in the VLP trajectory cluster with the highest third similarity are assigned to the trajectory target corresponding to the motion trajectory. Specifically, the third similarity between the central trajectory and the motion trajectory can be calculated using dynamic time warping.
[0143] In the above embodiment, by clustering the VLP trajectories to be assigned, it is only necessary to calculate the third similarity between the central trajectory of each VLP trajectory cluster and the motion trajectory, so that all the VLP trajectories to be assigned in the VLP trajectory cluster with the highest third similarity can be assigned to the trajectory target corresponding to the motion trajectory, without having to separately calculate the similarity between each VLP trajectory to be assigned and the motion trajectory, thereby reducing the amount of similarity calculation and speeding up the trajectory attribution.
[0144] According to another aspect of the embodiment of the present application, a motion trajectory generating device is provided, such as Figure 5 As shown, Figure 5 A schematic structural diagram of a motion trajectory generating device provided in an embodiment of the present application is shown. The device 1 comprises: a first acquisition module 11, a second acquisition module 12, a sampling module 13, a determination module 14 and a fusion module 15.
[0145] The first acquisition module 11 is used to acquire the BLE trajectory recorded by the Bluetooth device and the corresponding recording time, wherein the BLE trajectory includes multiple first trajectory points.
[0146] The second acquisition module 12 is used to acquire a VLP trajectory set recorded by the optical receiving device, wherein the VLP trajectory set includes a VLP trajectory and a corresponding recording time.
[0147] The sampling module 13 is used to sample the BLE trajectory and the VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory according to a preset sampling period, and generate a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set, respectively, wherein the number of first sampling points in the first sampling point set is greater than the number of first trajectory points in the BLE trajectory.
[0148] The determination module 14 is used to determine a target second sampling point set according to the first sampling point set and the second sampling point set corresponding to the VLP trajectory.
[0149] The fusion module 15 is used to fuse the first sampling point set and the target second sampling point set to generate a motion trajectory.
[0150] The above embodiment acquires the BLE trajectory and the VLP trajectory, and samples the BLE trajectory and the VLP trajectory to generate the first sampling point set and the second sampling point set, so as to align the time of the sampling points in the first sampling point set and the second sampling point set, ensure the consistency of the data time, and avoid the different sampling frequencies causing the position data to be misaligned and the trajectory matching errors to affect the fusion accuracy. Then, the target second sampling point set is determined according to the second sampling point set corresponding to the first sampling point set and the VLP trajectory, so as to ensure that the trajectory target of the VLP trajectory corresponding to the target second sampling point set is the same as the trajectory target of the BLE trajectory. Finally, the motion trajectory is generated by fusing the first sampling point set and the target second sampling point set, so as to improve the accuracy of the BLE trajectory through the VLP trajectory, provide the user with a more accurate motion trajectory, and in an environment with strong electromagnetic interference, the characteristic that visible light is not subject to electromagnetic interference can be used to effectively reduce interference and ensure the stability of positioning.
[0151] According to another aspect of the embodiment of the present application, a control device is provided, such as Figure 6 As shown, Figure 6A schematic diagram of the structure of a control device provided in an embodiment of the present application is shown, and the specific embodiment of the present application does not limit the specific implementation of the control device.
[0152] like Figure 6 As shown, the control device 2 may include: a processor (processor) 21 and a memory (memory) 22.
[0153] The memory 22 is used to store a computer program 23. The memory 22 may include a high-speed RAM memory, or may also include a non-volatile memory, such as at least one disk memory. The computer program 23 may include computer executable instructions.
[0154] The processor 21 is used to execute the computer program 23 to implement the above-mentioned motion trajectory generation method embodiment.
[0155] The processor 21 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the control device may be processors of the same type, such as one or more CPUs; or may be processors of different types, such as one or more CPUs and one or more ASICs.
[0156] An embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned motion trajectory generation method embodiment is implemented.
[0157] An embodiment of the present application provides a computer program, which can be executed by a processor to implement the above-mentioned motion trajectory generation method embodiment.
[0158] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the above-mentioned motion trajectory generation method embodiment is implemented.
[0159] In several embodiments provided in the present application, if any function is implemented in the form of a software function module / unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, part or all of the technical solution of the present application can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, server or other electronic device) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (RandomAccess Memory, RAM), disk or optical disk and other media that can store computer program code.
[0160] The algorithm or display provided here are not inherently related to any specific computer, virtual system or other equipment. Various general systems can also be used together with the teaching based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages can be utilized to realize the content of the present application described here, and the above description of specific languages is to disclose the best mode of implementation of the present application.
[0161] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In the claims that list several devices, several units or modules in these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be understood as limitations on the order of execution.
[0162] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A motion trajectory generation method, characterized in that: The method comprises: Obtaining a BLE track recorded by a Bluetooth device and a corresponding recording time, wherein the BLE track includes a plurality of first track points; Acquire a VLP trajectory set recorded by the optical receiving device, wherein the VLP trajectory set includes a VLP trajectory and a corresponding recording time; According to a preset sampling period, the BLE trajectory and the VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory are sampled respectively, and a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set are generated respectively, wherein the number of first sampling points in the first sampling point set is greater than the number of first trajectory points in the BLE trajectory; Determine a target second sampling point set according to the first sampling point set and a second sampling point set corresponding to the VLP trajectory; The first sampling point set and the target second sampling point set are fused to generate a motion trajectory.
2. The motion trajectory generation method according to claim 1, characterized in that: The VLP track includes a plurality of second track points, and the first track points and the second track points both include time information; The method of sampling the BLE trajectory and the VLP trajectory in the VLP trajectory set whose recording time is the same as the recording time of the BLE trajectory according to a preset sampling period, and generating a first sampling point set corresponding to the BLE trajectory and a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set, specifically includes: Determine the recording time corresponding to the BLE trajectory as the sampling start time; Determine the sampling time according to the sampling start time and the sampling period; Sampling the BLE trajectory according to the sampling time and time information of each first trajectory point in the BLE trajectory to generate a first sampling point set corresponding to the BLE trajectory; The VLP trajectory in the VLP trajectory set is sampled according to the sampling time and time information of each second trajectory point in the VLP trajectory in the VLP trajectory set to generate a second sampling point set corresponding to the VLP trajectory in the VLP trajectory set.
3. The motion trajectory generation method according to claim 2, characterized in that: The step of sampling the BLE trajectory according to the sampling time and the time information of each first trajectory point in the BLE trajectory to generate a first sampling point set corresponding to the BLE trajectory specifically includes: Determine whether there is a first trajectory point in the BLE trajectory with the same time information as the sampling time; If it exists, determining the first trajectory point whose time information is the same as the sampling time as the first sampling point, and storing it in the first sampling point set; If not, two first trajectory points whose time information is adjacent to the sampling time are obtained from the BLE trajectory, and linear interpolation is used to interpolate the two first trajectory points to generate a first sampling point, and the first sampling point is stored in the first sampling point set.
4. The motion trajectory generation method according to claim 1, characterized in that: The determining of a target second sampling point set according to the first sampling point set and a second sampling point set corresponding to the VLP trajectory specifically includes: Determine whether there are multiple VLP tracks in the VLP track set whose recording time is the same as the recording time of the BLE track; If yes, calculating the first similarity between the second sampling point set corresponding to each of the VLP trajectories and the first sampling point set, and determining the second sampling point set with the highest first similarity as the target second sampling point set; If not, the second sampling point set corresponding to the VLP trajectory is determined as the target second sampling point set.
5. The motion trajectory generation method according to claim 4, characterized in that: The first sampling point in the first sampling point set and the second sampling point in the second sampling point set both include one-to-one corresponding time information and position information; The calculating the first similarity between the second sampling point set corresponding to each of the VLP trajectories and the first sampling point set specifically includes: For the second sampling point set corresponding to each VLP trajectory, the following operations are performed: respectively calculating the distance between the position information of the first sampling point with the same time information and the position information of the second sampling point in the first sampling point set and the second sampling point set to obtain a plurality of error values; The sum of the plurality of error values is counted to obtain a first similarity between the first sampling point set and the second sampling point set.
6. The motion trajectory generation method according to claim 1, characterized in that: The step of fusing the first sampling point set and the target second sampling point set to generate a motion trajectory specifically includes: Obtaining a first weight corresponding to each first sampling point in the first sampling point set; Obtaining a second weight corresponding to each second sampling point in the target second sampling point set; According to the first weight and the second weight, respectively, the first sampling points and the second sampling points with the same time information in the first sampling point set and the second sampling point set are fused to generate a plurality of target trajectory points; Fitting is performed on a plurality of the target trajectory points to generate the motion trajectory.
7. The motion trajectory generation method according to claim 6, characterized in that: The obtaining of the first weight corresponding to each first sampling point in the first sampling point set specifically includes: Get the preset first weight; For each first sampling point in the first sampling point set, the following steps are performed: Acquire the time information of the first sampling point to obtain the first target time information; Acquire a Bluetooth signal strength change record according to the first target time information to obtain a Bluetooth signal fluctuation range; If the Bluetooth signal fluctuation range is within a first preset fluctuation range, determining the preset first weight as the first weight corresponding to the first sampling point; If the Bluetooth signal fluctuation range is outside the first preset fluctuation range, updating the first weight according to the Bluetooth signal fluctuation range, and determining the updated first weight as the first weight corresponding to the first sampling point, so that the updated first weight is less than the preset first weight; The obtaining of the second weight corresponding to each second sampling point in the target second sampling point set specifically includes: Get the preset second weight; For each second sampling point in the target second sampling point set, the following steps are performed: Acquire the time information of the second sampling point to obtain the second target time information; Acquire a visible light signal intensity change record according to the second target time information to obtain a visible light signal fluctuation range; If the fluctuation range of the visible light signal is within the second preset fluctuation range, determining the preset second weight as the second weight corresponding to the second sampling point; If the visible light signal fluctuation range is outside the second preset fluctuation range, the second weight is updated according to the visible light signal fluctuation range, and the updated second weight is determined as the second weight corresponding to the second sampling point, so that the updated second weight is less than the preset second weight.
8. The motion trajectory generation method according to any one of claims 1 to 7, characterized in that: The method further comprises: Recording the unassigned VLP tracks in the VLP track set to obtain the VLP tracks to be assigned; Calculating a second similarity between the to-be-attributed VLP trajectory and the motion trajectory by dynamic time warping; If the second similarity is greater than a preset similarity, the VLP trajectory to be assigned is assigned to the trajectory target corresponding to the motion trajectory.
9. The motion trajectory generation method according to claim 8, characterized in that: After recording the unassigned VLP tracks in the VLP track set to obtain the to-be-assigned VLP tracks, the method further includes: Determining whether the number of the to-be-assigned VLP tracks is less than a preset number; If yes, then executing the step of calculating the second similarity between the VLP trajectory to be assigned and the motion trajectory by dynamic time warping; If not, a pre-trained clustering model is used to cluster the VLP trajectories to be assigned, and multiple VLP trajectory clusters and their corresponding central trajectories are obtained. The similarity between each of the central trajectories and the motion trajectory is calculated to obtain the third similarity between each of the VLP trajectory clusters and the motion trajectory, and the VLP trajectory to be assigned in the VLP trajectory cluster with the highest third similarity is assigned to the trajectory target corresponding to the motion trajectory.
10. A control device, comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the motion trajectory generation method according to any one of claims 1 to 9.