Methods, apparatus, media, products for determining a position of a conveyor belt package

CN122332735BActive Publication Date: 2026-09-29SHANGHAI XINBA AUTOMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202610803939.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-06-05
Publication Date
2026-09-29
Estimated Expiration
2046-06-05

AI Technical Summary

Technical Problem

[0007]为了解决固定传播噪声与固定关联门限无法适应工况变化的问题,本申请提出了一种用于确定传送带包裹位置的方法

Benefits of technology

[0035]本申请相对于现有技术的效果在于:本申请提出确定初始化参数,所述初始化参数包括传播噪声和过程方差;其中,所述传播噪声基于所述包裹在多个离散时间步内的位移增量样本进行自适应更新,以及所述过程方差与所述传播噪声相关联; 当所述包裹触发传感器识别时,基于传感器坐标、包裹几何偏置项以及触发保持时长计算观测位置,并获取预测位置和所述传感器的观测方差;基于所述观测方差、所述过程方差计算融合增益、基于所述融合增益对预测状态与观测状态进行更新,以得到更新后的包裹位置与更新后的过程方差。本申请通过在运动传播过程中不断地自适应更新传播噪声,并随之更新过程方差,使得能够对真实传送带输送场景下的速度/工况不确定地变化下进行自适应,减小预测位置的漂移。然后,设置了一种随运动不确定性自适应调整的动态统计门限,使得运动不确定性扩大时扩大门限以减小漏匹配的概率,在不确定性缩小时收紧门限以减小误匹配的概率。最后,本申请通过设置融合增益,根据过程方差与观测方差的相对大小,自动调节预测位置与观测位置的融合权重。融合完成后同步缩减过程方差,使不确定性重置至较低水平。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122332735B_ABST
    Figure CN122332735B_ABST
Patent Text Reader

Abstract

The application provides a method, device, medium and product for determining a conveyor belt package position. The method comprises: determining initialization parameters, the initialization parameters comprising propagation noise and process variance; wherein the propagation noise is adaptively updated based on displacement increment samples of the package within a plurality of discrete time steps, and the process variance is associated with the propagation noise; when the package triggers a sensor recognition, calculating an observation position based on a sensor coordinate, a package geometric bias term and a trigger holding time length, and obtaining a predicted position and an observation variance of the sensor; calculating a fusion gain based on the observation variance and the process variance, and calculating an updated package position and an updated process variance based on the fusion gain.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of logistics transportation and industrial sensing and positioning, and in particular to a method, device, medium, or product for determining the position of packages on a conveyor belt. Background Technology

[0002] In automated logistics sorting scenarios, the system needs to locate each package moving at high speed on the conveyor belt in real time and accurately associate the sensor observation information with the corresponding package when the package passes by scanners and other sensors. Only by continuously mastering the precise position of each package on the conveyor belt can the system accurately perform actions such as pushing and dropping the package when it arrives at the sorting point, ensuring that the correct package enters the correct exit at the correct time.

[0003] In the positioning of parcels on logistics conveyor belts, existing solutions generally use fixed propagation noise to estimate the state of the parcel during its movement, and combine this with a fixed distance threshold to establish a correlation between the parcel and sensor observations.

[0004] However, the above solution has two problems:

[0005] First, fixed propagation noise causes positioning drift. Propagation noise is a fixed value and cannot reflect changes in operating conditions such as conveyor belt acceleration / deceleration and package slippage. If the noise is low when operating conditions worsen, the prediction model is over-reliant, and the estimated position deviates from the true value; if the noise is high when operating conditions are stable, the estimated position will also deviate from the true value, resulting in lag. Fixed noise lacks the ability to adapt to uncertainties in real-world scenarios.

[0006] Secondly, fixed association thresholds lead to both false associations and missed associations. When multiple packages are densely packed, a fixed radius threshold, if too large, can easily lead to incorrect association with adjacent packages, while if too small, it may miss the correct target. Especially when the estimation uncertainty changes with operating conditions, a static threshold cannot account for both scenarios, and the risks of false associations and missed associations increase inversely. Summary of the Invention

[0007] To address the problem that fixed propagation noise and fixed correlation thresholds cannot adapt to changes in operating conditions, this application proposes a method for determining the position of conveyor belt packages.

[0008] The method includes: determining initialization parameters, the initialization parameters including propagation noise and process variance; wherein the propagation noise is adaptively updated based on displacement increment samples of the package within multiple discrete time steps, and the process variance is associated with the propagation noise; when the package triggers sensor recognition, calculating the observation position based on sensor coordinates, package geometric bias term, and trigger hold duration, and obtaining the predicted position and the observation variance of the sensor; calculating the fusion gain based on the observation variance and the process variance, and calculating the updated package position and the updated process variance based on the fusion gain.

[0009] Optionally, the adaptive update of the propagation noise based on the displacement increment samples wrapped over multiple discrete time steps includes:

[0010] The displacement increment samples wrapped in multiple discrete time steps are collected. When the sampling gating condition is met, the sample variance of the multiple displacement increment samples is calculated, and the propagation noise is updated according to the sample variance.

[0011] Optionally, the sampling gating conditions include: the absolute value of the difference between the speed of the package and the maximum preset speed is less than a preset bias threshold, and the number of the collected displacement increment samples reaches a number threshold.

[0012] Alternatively, the observation position can be calculated using the following formula:

[0013] observe_x = sensor_x + vel_x × cos(yaw) × cost_time + cos(yaw) ×half_length,

[0014] observe_y = sensor_y + vel_y × sin(yaw) × cost_time + sin(yaw) ×half_length,

[0015] Where observer_x and observer_y are the coordinates of the observation position, sensor_x and sensor_y are the sensor coordinates, vel_x and vel_y are the velocity components of the package in the horizontal and vertical directions, respectively, yaw is the motion direction angle of the package, cost_time is the trigger hold duration, and half_length is the package geometric offset term, representing the half length of the package.

[0016] Optionally, the step of calculating the fusion gain based on the observation variance and the process variance, and calculating the updated package position and the updated process variance based on the fusion gain, includes:

[0017] The fusion gain is calculated based on the following formula:

[0018] k = motion_var / (motion_var + sensor_var),

[0019] Where k is the fusion gain, motion_var is the process variance, and sensor_var is the observation variance;

[0020] The location of the package is updated based on the following formula:

[0021] update_x = predict_x + k×(observe_x - predict_x),

[0022] update_y = predict_y + k×(observe_y - predict_y),

[0023] Where update_x and update_y are the coordinate representations of the updated package location, and predict_x and predict_y are the coordinate representations of the predicted location;

[0024] The process variance is updated based on the following formula:

[0025] motion_var_new = (1 - k) × motion_var,

[0026] Where motion_var_new is the updated process variance.

[0027] Optionally, when there are multiple candidate packages on the conveyor belt, the distance between each candidate package and the sensor position is calculated for each candidate package, and a dynamic statistical threshold for candidate package association screening is generated based on the process variance and a preset statistic. The candidate package with the smallest distance from the candidate packages whose distance is less than or equal to the dynamic statistical threshold is determined as the package that triggers the sensor recognition.

[0028] Optionally, the dynamic statistical threshold can be calculated using the following formula:

[0029] discriminant = sqrt(motion_var)×z_value,

[0030] Where discriminant is the dynamic statistical threshold and z_value is the statistical measure.

[0031] Optionally, when the dynamic statistical threshold is unavailable, a preset fixed distance threshold is used as a fallback threshold to perform the screening of candidate packages.

[0032] Another aspect of this application provides an electronic device, the device including a memory storing computer-executable instructions and a processor; when the instructions are executed by the processor, the device causes the device to perform the method according to any of the foregoing.

[0033] Another aspect of this application provides a computer-readable storage medium storing one or more programs that can be executed by one or more processors to implement the method described in any of the preceding claims.

[0034] Another aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the method as described in any of the preceding claims.

[0035] The advantages of this application over existing technologies are as follows: This application proposes to determine initialization parameters, which include propagation noise and process variance. The propagation noise is adaptively updated based on displacement increment samples of the package over multiple discrete time steps, and the process variance is correlated with the propagation noise. When the package triggers sensor recognition, the observed position is calculated based on sensor coordinates, package geometric bias, and trigger holding time, and the predicted position and the sensor's observation variance are obtained. A fusion gain is calculated based on the observation variance and the process variance, and the predicted and observed states are updated based on the fusion gain to obtain the updated package position and the updated process variance. This application continuously and adaptively updates the propagation noise and process variance during motion propagation, enabling adaptation to uncertain changes in speed / operating conditions in real conveyor belt conveying scenarios, reducing the drift of the predicted position. Furthermore, a dynamic statistical threshold is set that adaptively adjusts with motion uncertainty, increasing the threshold to reduce the probability of missed matches when motion uncertainty increases, and tightening the threshold to reduce the probability of false matches when uncertainty decreases. Finally, this application automatically adjusts the fusion weights of the predicted and observed locations by setting a fusion gain, based on the relative magnitudes of the process variance and the observation variance. After fusion, the process variance is reduced synchronously, resetting the uncertainty to a lower level. Attached Figure Description

[0036] Figure 1 This is a flowchart of a method for determining the position of a conveyor belt package according to an embodiment of this application.

[0037] Figure 2 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0038] When packages are conveyed on a conveyor belt, multiple spaced sensors are installed along the side of the belt to detect the package's position. However, due to hardware limitations of the sensors, trigger time lag, and possible package deformation, the detected position is not absolutely accurate, and the error accumulates over time. Furthermore, the package's position is also needed during the conveying process where it triggers one sensor but hasn't reached the next (referred to as the motion propagation process in this application). Existing methods use fixed propagation noise to infer its position during the motion propagation process and use a fixed correlation threshold to determine which package triggered the sensor.

[0039] Because fixed propagation noise lacks adaptability to uncertainties in real-world scenarios, it can easily associate incorrect packages with excessively large thresholds, and miss correct packages with excessively small thresholds. Therefore, this application proposes a method using dynamic propagation noise and dynamic statistical thresholds for package localization.

[0040] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0041] Figure 1 This is a flowchart of the method for determining the position of a package on a conveyor belt in this application.

[0042] In step 101, initialization parameters are determined, including propagation noise and process variance. The propagation noise is adaptively updated based on displacement increment samples wrapped across multiple discrete time steps, and the process variance is correlated with the propagation noise.

[0043] Propagation noise refers to various non-ideal factors that cause uncertainty in the motion state of a package during its propagation, such as conveyor belt speed fluctuations, package slippage, and mechanical vibration. Process variance is a cumulative measure of the uncertainty in motion state caused by these non-ideal factors; the larger the value, the lower the reliability of the current predicted state. The motion uncertainty can be obtained by taking the square root of the process variance.

[0044] In this application, the propagating noise is continuously and adaptively updated during the motion propagation process to confirm the motion state of the package in real time. First, the displacement increments of the package within multiple consecutive discrete time steps are sampled, and the variance of the collected displacement increment samples is calculated when the sampling gating conditions are met. The sampling gating conditions may include velocity steady-state gating and sample number gating. The velocity steady-state gating is that the absolute value of the difference between the package's velocity and the maximum preset velocity is less than a preset bias threshold (0.5 m / s in one embodiment), and the sample number gating is that the number of collected displacement increment samples reaches a number threshold (greater than or equal to 100 and less than 300 in one embodiment).

[0045] When the motion process is stable, the displacement increment samples also tend to stabilize, and their variance is smaller; when the motion process fluctuates, the displacement increment samples will also fluctuate, and their variance will be larger. Therefore, by updating the variance of the displacement increment samples in batches, the motion state of the envelope during the current motion propagation process can be intuitively reflected. Then, by adding the calculated variance of the displacement increment samples to the current propagation noise, the updated propagation noise can be obtained. The formula for updating the propagation noise is as follows:

[0046] mean_ml = Σ(sample_i) / N,

[0047] var_ml = Σ(sample_i - mean_ml)² / (N-1),

[0048] tick_var_new = var_ml + tick_var,

[0049] Where mean_ml is the mean of the displacement increment samples, sample_i is the i-th displacement increment sample, N is the number of displacement increment samples used in each update of the propagation noise, var_ml is the variance of the displacement increment samples, tick_var is the propagation noise, tick_var_new is the updated propagation noise, and tick is the pulse counting unit of the odometer during sampling. After each tick, the odometer can obtain the coordinate representation (Δx, Δy) of the displacement increment within that small time interval, and further calculate sqrt(Δx...). 2 +Δy 2 The displacement increment is obtained.

[0050] In the above embodiments, the propagation noise is continuously updated through batch updates throughout the motion propagation process. However, in other embodiments, a batch update followed by an incremental update can be used to further improve data accuracy. The specific process is as follows.

[0051] During each motion propagation process, when the number of displacement increment samples (count) is less than the upper limit of the number threshold (e.g., 300), the propagation noise is first updated according to the batch update method described above, and all sampled samples are written to the buffer. It can be understood that N is the number of displacement increment samples used for each update of the propagation noise, and count is the total number of displacement increment samples sampled since the start of sampling.

[0052] When the number of displacement increment samples counted by sampling exceeds the upper limit of the number threshold, the buffer will be cleared, the full number of samples will no longer be saved, and the propagated noise will be updated through the following incremental update process.

[0053] Mean increment update:

[0054] curr_mean_ml = last_mean_ml + (sample - last_mean_ml) / count,

[0055] Variance Increment Update:

[0056] delta_mean = sample - curr_mean_ml,

[0057] delta_var = delta_mean² / (count - 1),

[0058] curr_var_ml = delta_var + last_var_ml × (count - 2) / (count - 1).

[0059] Specifically, in the incremental update, for each new sample, the current sample mean `curr_mean_ml` is first updated based on the current total number of samples `count`. Then, the deviation `delta_mean` between the current new sample and the mean of the new sample containing it is determined to quantify the degree of deviation of the current sample from the overall average level. If the absolute value of `delta_mean` is large, it indicates that the new sample carries displacement information that is significantly different from historical statistics, and the propagation noise may have changed; conversely, if `delta_mean` is close to zero, the new sample is consistent with the historical average level, and the propagation noise tends to be stable. `delta_var` represents the contribution of the current new sample to the variance increment. Specifically, the new sample variance `curr_var_ml` is obtained by scaling the old sample variance `last_var_ml` by (count - 2) / (count - 1) and then adding `delta_var`. Therefore, the magnitude of `delta_var` determines the extent to which the new sample improves or decreases the estimate of the current variance.

[0060] Therefore, by combining batch updates to quickly obtain the initial sample mean and sample variance, and then incremental updates for incremental calculation, the accuracy of the propagation noise and process variance can be continuously improved as the motion propagation process progresses. At the same time, the full sample is no longer stored, which reduces memory consumption and avoids the overhead of full repeated calculation.

[0061] Regardless of whether it's a batch update or an incremental update, after obtaining the new sample variance, the old propagation noise is added to the new sample variance to obtain the updated propagation noise. Furthermore, the process variance is correlated with the propagation noise; when the propagation noise is updated, the updated propagation noise is added to the process variance to update the process variance during the motion propagation process. Thus, through dynamic propagation noise updates, the propagation noise and process variance can adaptively change under varying operating conditions, improving the accuracy of package location prediction.

[0062] When the package has not yet passed any sensor, the initial process variance can be set based on empirical values ​​or set to 0. Those skilled in the art will understand that when the package has not yet passed any sensor, it is at the beginning stage of the first motion propagation process in the entire package delivery process, and the process variance will dynamically change with propagation noise during this process. That is, the process variance can only be set to 0 during parameter initialization. Once the motion propagation process begins, since the propagation noise is not less than 0, the process noise will increase accordingly, making it not 0 during the fusion update stage. When the package has already triggered a sensor, the initial process variance in the next motion propagation process can be the process variance obtained from the fusion update after triggering the previous sensor.

[0063] Furthermore, during the movement and propagation of the package, its predicted position is calculated and stored in real time. Specifically, this can be calculated using the following formula:

[0064] dt = current time - last location time

[0065] delta_x =vel_x × cos(yaw) × dt,

[0066] delta_y =vel_y × sin(yaw) × dt,

[0067] pos_x_new = pos_x + delta_x,

[0068] pos_y_new = pos_y + delta_y,

[0069] Where dt is the difference between the current time and the last calculated predicted position, delta_x and delta_y are the coordinate representations of the displacement within the dt time interval, vel_x and vel_y are the velocity components of the package in the horizontal and vertical axes, respectively, yaw is the motion direction angle of the package, pos_x and pos_y are the coordinate representations of the last calculated predicted position, and pos_x_new and pos_y_new are the coordinate representations of the predicted position at the current time. Those skilled in the art can choose an appropriate method to obtain the velocity components and motion direction angle of the package according to actual needs. In one embodiment, a more accurate velocity and motion direction angle can be determined based on map configuration direction, software-set speed, periodic photoelectric correction, etc.

[0070] In step 102, when the package triggers sensor recognition, the observation position is calculated based on the sensor coordinates, the package geometric offset term, and the trigger holding time, and the predicted position and the observation variance of the sensor are obtained.

[0071] In real-world conveyor belt scenarios, sensors also have corresponding horizontal and vertical coordinate positions, and are triggered when they detect the leading edge of the package. However, in this embodiment, the positioning base point of the package is its center. Therefore, the position detected by the sensor cannot be directly used to calculate the observed position; instead, it needs to be converted into the package center position using a package geometric offset term. For this purpose, half the length of the package along the conveying direction is typically chosen as the package geometric offset term.

[0072] In one embodiment, the observation position is calculated using the following formula:

[0073] observe_x = sensor_x + vel_x × cos(yaw) × cost_time + cos(yaw) ×half_length,

[0074] observe_y = sensor_y + vel_y × sin(yaw) × cost_time + sin(yaw) ×half_length,

[0075] Where observer_x and observer_y are the coordinates of the observation position, sensor_x and sensor_y are the coordinates of the sensor, cost_time is the trigger hold duration, and half_length is the half length of the package.

[0076] In one embodiment, the most recently stored predicted position can be directly retrieved from storage. In other embodiments, it can also be calculated in real time according to the aforementioned formula. The observation variance is the sensor's own error value, which can be obtained and preset and stored based on experience and / or the sensor's own parameters.

[0077] In step 103, the fusion gain is calculated based on the observation variance and process variance, and the updated package position and the updated process variance are calculated based on the fusion gain.

[0078] After obtaining the predicted and observed locations of the package, a more accurate package location can be determined based on these two values. Therefore, this application first proposes a method for calculating fusion gain to indicate whether the calculated package location is more inclined towards the predicted location or the observed location. The formula for calculating fusion gain is as follows: k = motion_var / (motion_var + sensor_var), where k is the fusion gain, motion_var is the process variance, and sensor_var is the observation variance.

[0079] The updated package position can then be calculated based on the fusion gain, using the following formula:

[0080] update_x = predict_x + k×(observe_x - predict_x),

[0081] update_y = predict_y + k×(observe_y - predict_y),

[0082] Where update_x and update_y are the coordinate representations of the updated package position, and predict_x and predict_y are the coordinate representations of the predicted position obtained in step 102. Those skilled in the art will understand that pos_x and pos_y are essentially the same as predict_x and predict_y, both representing the predicted position of the package; the only difference is that pos_x and pos_y are calculated and stored during motion propagation, while predict_x and predict_y are retrieved from storage or calculated in real time when the sensor is triggered.

[0083] As can be seen from the above formula, when the process variance is larger and the predicted position is less reliable, the fusion gain is closer to 1, making the updated package position closer to the observed position; when the process variance is smaller and the predicted position is more reliable than the observed position, the fusion gain is closer to 0, making the updated package position closer to the predicted position. Therefore, this application achieves a more accurate package position by setting the fusion gain, combining the observed and predicted positions.

[0084] Finally, the process equation is updated using the fusion gain, as shown in the following formula: motion_var_new = (1 - k) × motion_var, where motion_var_new is the updated process variance. Similarly, when k is closer to 1, it indicates that the current process variance is too large and needs to be reduced; when k is closer to 0, it indicates that the current process variance is small enough and does not need to be excessively reduced.

[0085] Those skilled in the art will understand that the process equations updated during the fusion gain update phase are only used as the initial process variance in the initialization parameters for the next motion propagation process. When setting the initialization parameters for the first motion propagation process, the process variance can be set empirically to ensure that each tick during motion propagation adds at least a certain amount of uncertainty, avoiding excessive deviation from reality due to overconfidence. The process variance continuously updated during the motion propagation process is only used for determining the current motion propagation process and the current package position.

[0086] In actual conveyor belt transport, multiple packages are often located close to each other. When a sensor is triggered, due to factors such as package transport speed and sensor delay, the triggering package may be mistakenly associated with the sensor; that is, package A triggers the sensor but is mistakenly identified as package B. Furthermore, if there are adjacent conveyor belts, the sensor may also identify packages on other conveyor belts. Therefore, it is necessary to set a threshold to associate packages with sensor identification. To avoid problems such as false associations and missed associations caused by fixed association thresholds, this application proposes a dynamic statistical threshold.

[0087] When the sensor triggers identification, the distance between each of the multiple candidate packages on the conveyor belt (i.e., multiple packages that may trigger the sensor) and the sensor is calculated. Simultaneously, a dynamic statistical threshold is generated based on the process variance and a preset statistic for filtering the association between candidate packages and the sensor. When the distance of a candidate package is greater than the dynamic statistical threshold, it indicates that the candidate package is too far from the sensor and is unlikely to be the package that triggered the sensor. Therefore, further selection is made only from candidate packages whose distance is less than or equal to the dynamic statistical threshold. In this embodiment, the candidate package with the smallest distance is determined as the package that triggers sensor identification.

[0088] The formula for calculating the dynamic statistical threshold is as follows: discriminant = sqrt(motion_var)×z_value, where discriminant is the dynamic statistical threshold, motion_var is the process variance, the square root of the process variance is used to calculate the motion uncertainty, and z_value is the statistic.

[0089] Furthermore, when the dynamic statistical threshold is unavailable, it can revert to a fixed threshold. Scenarios where the dynamic threshold is unavailable include at least the following: insufficient number of samples collected during motion propagation or samples being cleared, resulting in propagation noise not being updated normally, leading to propagation noise and further preventing the dynamic statistical threshold from being calculated correctly; packages being in stages such as layer-changing waiting, congestion-induced forced stop, or motion freeze prediction, where positional uncertainty does not increase with travel distance; no motion samples being collected when the speed deviates from the preset threshold; calculated motion uncertainty being less than or equal to 0 or unable to be calculated; the current layer of the package being inconsistent with the sensor layer, or the distance of all candidate packages from the sensor being greater than the dynamic statistical threshold, etc.

[0090] Now for reference Figure 2 The diagram shown is a block diagram of an electronic device 200 according to an embodiment of the present application. The electronic device 200 may include one or more processors 202, system control logic 208 connected to at least one of the processors 202, system memory 204 connected to the system control logic 208, non-volatile memory (NVM) 206 connected to the system control logic 208, and network interface 210 connected to the system control logic 208.

[0091] Processor 202 may include one or more single-core or multi-core processors. Processor 202 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In embodiments herein, processor 202 may be configured to perform one or more embodiments according to the various embodiments proposed in this application.

[0092] In some embodiments, system control logic 208 may include any suitable interface controller to provide any suitable interface to at least one of the processors 202 and / or any suitable device or component communicating with system control logic 208.

[0093] In some embodiments, system control logic 208 may include one or more memory controllers to provide an interface to system memory 204. System memory 204 may be used to load and store data and / or instructions. In some embodiments, system memory 204 of electronic device 200 may include any suitable volatile memory, such as suitable dynamic random access memory (DRAM).

[0094] The nonvolatile memory 206 may include one or more tangible, non-transitory computer-readable storage media for storing data and / or instructions. In some embodiments, the nonvolatile memory 206 may include any suitable nonvolatile memory such as flash memory and / or any suitable nonvolatile storage device, such as at least one of HDD (Hard Disk Drive), CD (Compact Disc) drive, and DVD (Digital Versatile Disc) drive.

[0095] The non-volatile memory 206 may include a portion of the storage resources installed on the device of the electronic device 200, or it may be accessible by the device, but is not necessarily part of the device. For example, the non-volatile memory 206 may be accessed over a network via the network interface 210.

[0096] Specifically, system memory 204 and non-volatile memory 206 may each include a temporary copy and a permanent copy of instructions 220. Instructions 220 may include instructions that, when executed by at least one of processors 202, cause electronic device 200 to implement the methods provided in this application. In some embodiments, instructions 220, hardware, firmware, and / or their software components may additionally / alternatively reside in system control logic 208, network interface 210, and / or processor 202.

[0097] In some embodiments, network interface 210 may be integrated into other components of electronic device 200. For example, network interface 210 may be integrated into at least one of processor 202, system memory 204, non-volatile memory 206, and firmware device (not shown) having instructions, which, when executed by at least one of the processor 202, enable electronic device 200 to implement one or more embodiments of the various embodiments described herein. Network interface 210 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output radio interface.

[0098] In one embodiment, at least one of the processors 202 may be packaged together with the logic of one or more controllers for system control logic 208 to form a system package (SiP). In another embodiment, at least one of the processors 202 may be integrated on the same die with the logic of one or more controllers for system control logic 208 to form a system on chip (SoC).

[0099] Electronic device 200 may further include: input / output (I / O) device 212. Input / output (I / O) device 212 may include a user interface that enables a user to interact with electronic device 200; the design of peripheral component interfaces enables peripheral components to also interact with electronic device 200.

[0100] In some embodiments, the user interface may include, but is not limited to, a display (e.g., a liquid crystal display, a touch screen display, etc.), a speaker, a microphone, one or more cameras (e.g., a still image camera and / or a video camera), a flashlight (e.g., a light-emitting diode flash), and a keyboard.

[0101] In some embodiments, the peripheral component interface may include, but is not limited to, a non-volatile memory port, an audio jack, and a power interface.

[0102] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 200. In other embodiments of this application, the electronic device 200 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0103] Program code can be applied to input instructions to perform the functions described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application-specific integrated circuit (ASIC), or a microprocessor.

[0104] The program code can be implemented using a high-level procedural language or an object-oriented programming language to communicate with the processing system. Assembly language or machine language can also be used when needed. In fact, the mechanisms described in this paper are not limited to any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0105] One or more aspects of at least one embodiment can be implemented by representational instructions stored on a computer-readable storage medium, the instructions representing various logics in a processor, which, when read by a machine, cause the machine to create logic for performing the techniques described herein. These representations, referred to as “IP cores,” can be stored on a tangible computer-readable storage medium and provided to multiple customers or production facilities for loading into manufacturing machines that actually manufacture the logic or processor.

[0106] One embodiment of this application discloses a computer-readable storage medium storing one or more programs executable by one or more processors to implement the methods of this application.

[0107] One embodiment of this application discloses a computer program product, including a computer program that, when executed by a processor, implements the method of this application.

[0108] The specific embodiments described above illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. Although the description of this application is presented in conjunction with preferred embodiments, this does not mean that the features of this invention are limited to these embodiments. Furthermore, to avoid confusion or obscuring the focus of this application, some specific details will be omitted in the description. It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other.

[0109] Furthermore, the various operations will be described as multiple discrete operations in a manner most conducive to understanding the illustrative embodiments; however, the order of description should not be construed as implying that these operations must depend on the order. In particular, these operations do not need to be performed in the order presented.

[0110] Unless the context otherwise specifies, the terms “contains,” “has,” and “includes” are synonyms. The phrase “A / B” means “A or B.” The phrase “A and / or B” means “(A and B) or (A or B).”

[0111] As used herein, the terms “module” or “unit” may refer to, be, or include: application-specific integrated circuits (ASICs), electronic circuits, (shared, dedicated, or group) processors and / or memories that execute one or more software or firmware programs, combinational logic circuits, and / or other suitable components that provide the described functionality.

[0112] In the accompanying drawings, certain structural or methodological features are shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. In some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, the inclusion of structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.

[0113] It should be understood that although terms such as "first," "second," etc., may be used herein to describe various units or data, these units or data should not be limited by these terms. These terms are used merely to distinguish one feature from another. For example, without departing from the scope of the exemplary embodiments, a first feature may be referred to as a second feature, and similarly, a second feature may be referred to as a first feature.

[0114] It should be noted that in this specification, similar reference numerals and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0115] Although the invention has been illustrated and described with reference to certain preferred embodiments thereof, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.

Claims

1. A method for determining the position of a package on a conveyor belt, characterized in that, include: Determine initialization parameters, which include propagation noise and process variance; wherein the propagation noise is adaptively updated based on the displacement increment samples wrapped in multiple discrete time steps, and the process variance is associated with the propagation noise; When the package triggers sensor recognition, the observed position is calculated based on the sensor coordinates, package geometric offset, and trigger hold duration, and the predicted position and the observation variance of the sensor are obtained. The fusion gain is calculated based on the observation variance and the process variance, and the updated package position and the updated process variance are calculated based on the fusion gain; and When there are multiple candidate packages on the conveyor belt, the distance between each candidate package and the sensor position is calculated for each candidate package. A dynamic statistical threshold for candidate package association screening is generated based on the process variance and a preset statistic. The candidate package with the smallest distance from the candidate packages whose distance is less than or equal to the dynamic statistical threshold is determined as the package that triggers the sensor recognition.

2. The method according to claim 1, characterized in that, The adaptive updating of the propagation noise based on the displacement increment samples wrapped over multiple discrete time steps includes: The displacement increment samples wrapped in multiple discrete time steps are collected. When the sampling gating condition is met, the sample variance of the multiple displacement increment samples is calculated, and the propagation noise is updated according to the sample variance.

3. The method according to claim 2, characterized in that, The sampling gating conditions include: the absolute value of the difference between the speed of the package and the maximum preset speed is less than a preset bias threshold, and the number of the collected displacement increment samples reaches a number threshold.

4. The method according to claim 3, characterized in that, The observation position is calculated using the following formula: observe_x = sensor_x + vel × cos(yaw) × cost_time + cos(yaw) × half_length, observe_y = sensor_y + vel × sin(yaw) × cost_time + sin(yaw) × half_length, Where observer_x and observer_y are the coordinates of the observation position, sensor_x and sensor_y are the coordinates of the sensor, vel is the velocity of the package, yaw is the motion direction angle of the package, cost_time is the trigger hold duration, and half_length is the geometric offset term of the package, representing the half length of the package.

5. The method according to claim 4, characterized in that, The calculation of the fusion gain based on the observation variance and the process variance, and the calculation of the updated package position and the updated process variance based on the fusion gain, include: The fusion gain is calculated based on the following formula: k = motion_var / (motion_var + sensor_var), Where k is the fusion gain, motion_var is the process variance, and sensor_var is the observation variance; The location of the package is updated based on the following formula: update_x = predict_x + k×(observe_x - predict_x), update_y = predict_y + k×(observe_y - predict_y), Where update_x and update_y are the coordinate representations of the updated package location, and predict_x and predict_y are the coordinate representations of the predicted location; The process variance is updated based on the following formula: motion_var_new = (1 - k) × motion_var, Where motion_var_new is the updated process variance.

6. The method according to claim 5, characterized in that, The dynamic statistical threshold is calculated using the following formula: discriminant = sqrt(motion_var)×z_value, Where discriminant is the dynamic statistical threshold and z_value is the statistical measure.

7. The method according to claim 6, characterized in that, When the dynamic statistical threshold is unavailable, a preset fixed distance threshold is used as a fallback threshold to perform the screening of candidate packages.

8. An electronic device, characterized in that, The device includes a memory storing computer-executable instructions and a processor; when the instructions are executed by the processor, the device performs the method according to any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs, which can be executed by one or more processors to implement the method of any one of claims 1 to 7.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Package single piece separation positioning method based on Kalman filtering

    CN121639061A