Data extraction method and data extraction apparatus

The data extraction method and device address the issue of weight-proportional data extraction by converting data into weighted areas and dividing a pie chart to ensure accurate and efficient data extraction, even when the number of extractions is small.

JP7864571B2Active Publication Date: 2026-05-25KUMAGAI GUMI CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
KUMAGAI GUMI CO LTD
Filing Date
2022-07-08
Publication Date
2026-05-25

AI Technical Summary

Technical Problem

Conventional data extraction methods using random numbers fail to extract data with a probability proportional to their weight, especially when the number of extractions is small, leading to situations where high-weight data is underrepresented or not extracted at all.

Method used

A data extraction method and device that converts data points into area regions proportional to their weights, divides the circumference of a pie chart to match the number of desired extractions, and determines the number of lines on each region to represent extraction frequency.

Benefits of technology

Ensures data extraction occurs with a probability proportional to its weight, reducing instances of high-weight data being underrepresented or not extracted, and eliminates unnecessary delays from random number calculations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007864571000001
    Figure 0007864571000001
  • Figure 0007864571000002
    Figure 0007864571000002
  • Figure 0007864571000003
    Figure 0007864571000003
Patent Text Reader

Abstract

To provide a data extraction method and a data extraction device which can extract data with a probability proportional to a weight of the data when an operation of extracting one piece of data from weighted data groups is performed n times.SOLUTION: The data extraction method relating to the present invention extracts data from a plurality of weighted data groups and includes the steps of: creating a pie chart obtained by converting individual pieces of data to area regions proportional to their weights; arranging partitions equally dividing a circumferential line of the pie chart, wherein the number of partitions corresponds to a desired number of times of data extraction; creating lines extending from the center of the pie chart and indicating intermediate positions between the partitions adjacent on the circumferential line; and determining the number of lines placed on respective area regions of the individual pieces of data arranged in the pie chart as the numbers of times of extraction for the individual pieces of data.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a data extraction method and a data extraction device capable of extracting data from a plurality of weighted data groups with a probability proportional to the weight.

Background Art

[0002] Conventionally, when performing an operation of extracting one data from a weighted data group (for example, data groups A to G as shown in FIG. 1(a)) n times, a random number is generated using a random number generator or a pseudo-random number generation algorithm, etc., and data extraction is performed using the value (see Patent Document 1, etc.).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in a method of extracting data using a truly random number that does not eliminate the possibility of bias as in the prior art, a situation may occur where only a few data are extracted despite the large weight of the data, or no data is extracted at all despite the large weight of the data. In particular, when the number of data extraction times n is small, such a situation is likely to occur. That is, in a method of extracting data using a random number as in the prior art, there is a problem that it is difficult to extract data with a probability proportional to the weight of the data. In view of the above problems, the present invention provides a data extraction method and a data extraction device capable of extracting data with a probability proportional to the weight of the data when performing an operation of extracting one data from a weighted data group n times. [Means for solving the problem]

[0005] The data extraction method according to the present invention is a data extraction method that extracts data from a weighted set of multiple data sets, The data extraction device, The steps include creating a pie chart by converting each data point into an area region proportional to its weight, and The data extraction device, The steps include: placing dividers that evenly divide the circumference of the pie chart in a number corresponding to the desired number of data extractions; The data extraction device, The steps include creating a line from the center of the pie chart to the midpoint between adjacent partitions on the circumference, The data extraction device, The method is characterized by comprising the step of determining the number of lines located on each area region of each data arranged on the pie chart as the number of times each data is extracted. The data extraction device according to the present invention is a data extraction device that extracts data from a plurality of weighted data sets, and is characterized by comprising: means for creating a pie chart by converting each data into an area region proportional to the weight; means for arranging dividers that evenly divide the circumference of the pie chart in a number corresponding to the desired number of data extractions; means for creating a line from the center of the pie chart that points to the midpoint between adjacent dividers on the circumference; and means for determining the number of lines located on each area region of each data placed on the pie chart as the number of extractions for each data. According to the data extraction method and data extraction apparatus of the present invention, when the operation of extracting one data item from a weighted data set is performed n times, it becomes possible to extract data items with a probability proportional to the weight of the data items. [Brief explanation of the drawing]

[0006] [Figure 1] An explanatory diagram illustrating the overview of the data extraction method according to the present invention. [Figure 2] An explanatory diagram of a particle filter utilizing the data extraction method of the present invention. [Figure 3] This diagram shows the processing flow of a moving position estimation device utilizing the data extraction method of the present invention. [Figure 4]A diagram illustrating the particle weight calculation process ("phase 1"). [Figure 5] A diagram showing the particle re-scattering process ("phase 2") using the data extraction method of the present invention. [Figure 6] A diagram illustrating the particle movement process ("phase 3"). [Modes for carrying out the invention]

[0007] An overview of the data extraction method according to the embodiment will be explained with reference to Figure 1. This data extraction method allows for the extraction of data with a probability proportional to the weight when performing the operation of extracting one data point from a weighted data set n times, as shown in Figure 1(a).

[0008] For example, let's consider the case where 12 data points are extracted from a weighted data set A to G, as shown in Figure 1(a), according to the magnitude of their respective weights (probabilities).

[0009] First, in the first step, as shown in Figure 1(b), a pie chart 1 is created by converting each data point A to G into an area region proportional to its weight. In the second step, as shown in Figure 1(c), dividers 2,2... that evenly divide the circumference of pie chart 1 are placed in a number corresponding to the desired number of data extractions n (n=12 in Figure 1). In the third step, as shown in Figure 1(d), a line 3 is created from the center of pie chart 1, pointing to the midpoint between adjacent partitions 2,2 on the circumference. This process of creating line 3 is repeated for all adjacent partitions 2,2, resulting in 12 lines 3,3… evenly distributed on pie chart 1, as shown in Figure 1(e). In the fourth step, as shown in Figure 1(f), the number of lines 3 X located in each area region A to G of the data placed on pie chart 1 is determined as the number of times each data is extracted. That is, the number of lines 3 located in each area region A to G of the data placed on pie chart 1 is counted. Then, the number of lines 3 X located on each of the data A to G is determined as the number of times that data is extracted. In the example in Figure 1, if the operation of extracting one data from the data group A to G is performed 12 times, the number of times each data A to G is extracted will be as shown in Figure 1(g). For line 3, you can create a clock hand (arrow line) as shown in Figures 1(e) and 1(f).

[0010] Furthermore, as shown in Figure 1, the data extraction device according to the embodiment is realized by a configuration comprising: a pie chart creation means that creates a pie chart 1 by converting each data into an area region proportional to its weight; a partition arrangement means that arranges partitions 2, 2... that evenly divide the circumference of the pie chart 1 in a number corresponding to the desired number of data extractions n; a line creation means that creates lines 3 that point from the center of the pie chart 1 to the midpoint between adjacent partitions 2, 2 on the circumference; and an extraction count determination means that determines the number of lines 3 located on each area region of each data placed on the pie chart 1 as the number of data extractions for each data.

[0011] According to this data extraction method and data extraction device, when the operation of extracting one data item from a weighted data set is performed n times, it is possible to extract data items with a probability proportional to the weight of the data. In other words, even when the number of extraction operations n is small, it becomes possible to reliably extract data with high weights many times. Therefore, unlike conventional methods that use random numbers to extract data, this method reduces situations where only a small number of data points with high weights are extracted, or where data points with high weights are not extracted at all. Furthermore, the data extraction method and data extraction apparatus according to the embodiment do not use random numbers, thus eliminating unnecessary delays such as pseudo-random number calculation time.

[0012] The data extraction method and data extraction device according to the embodiment can be adopted, for example, in a moving object's moving position estimation method and moving position estimation device using a particle filter. A particle filter is, for example, a method of estimating the position of a moving object by scattering particles called particles on a map and obtaining the probability that the moving object is located on top of the particles.

[0013] The moving position estimation method of a moving object using a particle filter will be briefly described based on FIG. 2. First, as shown in FIG. 2(a), when a moving object M equipped with a position (distance) sensor S is placed at a certain point facing a wall W, particles P, P,... are evenly scattered near the place where the moving object M may exist. Next, the position sensor S is activated to measure the distance from the moving object M to the wall W. However, noise is always present in the information obtained from the position sensor S. At this time, it is assumed that the degree of noise generated can be probabilistically obtained. For example, it is known in advance that values closer to the true value are output with a higher probability and values farther away are output with a lower probability according to a normal distribution (Gaussian distribution). If it is known what kind of noise occurs in the information from the position sensor S with what probability, the probability that the moving object M exists directly above each particle P, P,... can be calculated. For example, when the value obtained from the position sensor S is 1 m, as shown in FIG. 2(b), the probability of the existence of the moving object M on the particle P1 located 1 m away from the wall W is calculated to be high, and the probabilities of the existence of the moving object M on the particles P2 and P3 located farther away from the place 1 m away from the wall are calculated to be low. This probability is expressed in the form of "particle weight". That is, the higher the probability, the heavier the particle. That is, in this case, as shown in FIG. 2(b), the relationship of the particle weights is P1 > P2 > P3, and the heavier particles are shown to be larger in size. That is, as shown in Fig. 2(a), the probability f(x) that the moving object M exists on each particle P, P,... evenly scattered near the location where the moving object M may exist, in other words, the probability f(x) that the moving object M exists at the position of the XY coordinate value where each particle P, P,... is located is obtained. Hereinafter, the probability f(x) is referred to as the weight of the particle. The process of calculating this probability f(x) is the particle weight calculation process.

[0014] Once the weight of each particle is obtained, new particles without weight are scattered again. The particle rescattering process is performed. At this time, the rescattering position of the particles is determined according to the weight of the particles. That is, more new particles are scattered around the heavy particles, and only a small number of particles are scattered around the light particles. When the rescattering process of new particles P, P,... is performed according to the weights of the particles P1, P2, P3 in Fig. 2(b), it becomes as shown in Fig. 2(c). In this particle rescattering process, when determining the number of new particles to be scattered around each particle according to the weight of the particle, the data extraction method of the present invention described above is used.

[0015] Next, the particle movement process is performed. Suppose a control device (controller) gives a command to a moving object M, for example, to move forward, and the control device receives a signal from the moving object M indicating that it has moved 10 cm. However, in this case, noise may be superimposed on the signal, or physical disturbances may cause the moving object M not to move exactly 10 cm. Here, too, we assume that the difference between the distance moved by the moving object M and the actual distance moved can be calculated probabilistically. For example, if this movement error follows a normal distribution (Gaussian distribution), the probability of the error being 0 cm is calculated to be high, and the larger the error, the smaller the calculated probability. According to this probability, we move unweighted particles P, P… as shown in Figure 2(c). In this case, many particles will move a distance close to 10 cm, but a small number of particles will move, for example, 7 cm or 13 cm. This is represented in Figure 2(d).

[0016] In other words, a particle filter is a method that probabilistically estimates the position of a moving object by repeatedly performing the series of processes described above: particle weight calculation, particle re-scattering, and particle movement.

[0017] Based on Figures 3 to 7, the process of estimating the position of a moving object using the particle filter described above will be explained. The control means for the position estimation processing device that realizes the position estimation process of the moving object consists of processing programs as software for performing the particle weight calculation process, particle re-scattering process, and particle movement process described above, and a computer as hardware that executes the processing according to the procedures of each processing program. In other words, the control means of the position estimation processing device performs position estimation processing of a moving object as shown in the flowchart of Figure 3, in accordance with the procedure of the position estimation processing program. In other words, the control means of the position estimation processing device performs the following processes as part of the position estimation process for the moving object: calculation of particle weights (hereinafter referred to as "phase 1"), re-scattering of particles (hereinafter referred to as "phase 2"), and movement of particles (hereinafter referred to as "phase 3").

[0018] Based on Figure 4, let's first explain Phase 1. Before phase 1, the first particles are generated (step S1). In other words, particles are scattered uniformly (evenly) around the moving object being tracked on the map. Next, we move to phase 1. In phase 1, first, we acquire position (distance) information from position (distance) sensors mounted on the moving object (step S2). Furthermore, raycasting information related to each of the initial particles is obtained (step S3). This raycasting information may be calculated each time, or it may be calculated in advance. Raycasting is a technique that measures the distance to the nearest object by emitting a ray of light from a viewpoint. For example, for each particle uniformly scattered around a moving object, the distance to the nearest object is calculated by emitting a ray from the center of that particle (viewpoint) in directions divided into 1-degree increments within a 360-degree radius around that particle. Furthermore, location information and raycasting information can be acquired, for example, using a 2D-LiDAR sensor.

[0019] Then, the raycasting information and sensor information (position information) of each particle are compared to calculate the probability f(x) that a moving object exists on that particle (Step S4). The probability f(x) is calculated, for example, based on the formula shown in step S4 of Figure 4. In this formula, the meaning of the symbols is as follows: T: Instruction to transpose the matrix. Covariance matrix Σ: n×n x: A 1×n vector representing the error. μ: A 1×n vector representing the average of the errors (here, it is set to "0"). n: Number of raycasting information points (as mentioned above, if 360 degrees is divided into 1-degree intervals, then n = 360)

[0020] Steps S3 and S4 are performed a number of times equal to the number of particles P. Then, the weights (probabilities) of each particle are normalized so that the sum of the calculated weights (probabilities) of each particle equals "1" (Step S5). In other words, the processing in phase 1 corresponds to the process of creating the pie chart explained in Figure 1(b), that is, the process of calculating the weights of the particles.

[0021] Based on the above, the probability f(x) that a moving object exists at the XY coordinate value where each particle is positioned, that is, the weight of each particle P1, P2, P3… as shown in Figure 2(b), can be determined. In other words, the probability that a moving object exists at a specific XY coordinate value on the XY coordinate axis where the particles are placed, that is, the weight of each XY coordinate value can be determined. In other words, each particle is assigned its own number and the XY coordinate values ​​where it is located. Therefore, the XY coordinate values ​​where each particle is located become the data. In other words, the XY coordinate values ​​where each particle P1, P2, P3 shown in Figure 2(b) is located correspond to the data A, B, ... G in Figure 1(a), and these data A, B, ... G correspond to the weighted (probable) data obtained in phase 1. Furthermore, the number of extractions shown in Figure 1(g) will be determined as the number of times data A, B, ... G are extracted, according to the weights of the data A, B, ... G.

[0022] Next, we will explain phase 2 based on Figure 5. Phase 2 is the process of converting the probability distribution representation based on particle weights to a probability distribution representation based on density, as shown in Figure 5; in other words, it corresponds to the particle re-scattering process.

[0023] In phase 2, first, the reciprocal of the total number of particles, p, is calculated (step S11). That is, p = 1 ÷ total number of particles N is calculated. The process in step S11 corresponds to the process of dividing the pie chart into equal intervals, as explained in Figure 1(c).

[0024] Next, we perform the initialization of various variables. Specifically, the data (weight) range specification variable initialization process is performed, that is, setting "upper" to the weight of the 0th particle (data) (=weight of data A = 0.15) and setting "lower" to 0 (step S12). Furthermore, the variable that specifies the particle number is initialized, that is, the particle number j is set to "0" (step S13). Furthermore, the variable corresponding to the part indicating the position of the clock hand (=line 3) is initialized, that is, the variable i corresponding to the part indicating the position of the clock hand is set to "0". In other words, during the initialization process in steps S12, S13, and S14, "upper", "lower", "variable j specifying the particle number", and "variable i corresponding to the part indicating the position of the clock hand" are all set to "0". Furthermore, the "0" mentioned above is an initial value set in the computer processing. The 0th particle (data) corresponds to data A in Figure 1(a), and the part "0" indicating the position of the clock hand (=line 3) corresponds to the clock hand (=line 3) at the position shown as 3(0) in Figure 1(e). In other words, in the example of Figure 1, the initial value of the particle (data) is the 0th data A, and the initial value of the position of the clock hand (=line 3) is the 0th clock hand shown as 3(0) in Figure 1(e). That is, the 0th corresponds to the 1st in terms of actual perception. In other words, in computer processing, the first visible data A in Figure 1 is processed as the 0th element, and similarly, as shown in Figure 1(e), the first visible clock hand (line 3(0)) is processed as the 0th element.

[0025] After initializing various variables, the process proceeds to step S15 to determine whether (i+0.5)×p is greater than or equal to lower and less than upper. If the decision in step S15 is No, proceed to step S16. In step S16, the particle number j is updated, meaning the particle number j is updated to j+1. Next, in step S17, the value of lower is set to upper. Furthermore, in step S18, upper is set to the weight of upper+j-th particle. These steps S16, S17, and S18 represent the updating of the data range, that is, the process of moving the target to the next data on pie chart 1. Specifically, the range of data A for particle number 0 is set first. If the decision in step S15 is Yes, proceed to step S19. In step S19, the j-th particle is extracted as data (the i-th particle) to be sent to the next phase. In other words, step S19 corresponds to the process of extracting data. Next, in step S20, the variable i is updated. That is, i is updated to i+1. The process in step S20 corresponds to setting the clock hand to the next interval between partitions 2,2. Then, in step S21, it is determined whether the value of variable i is equal to or greater than the total number of particles N. If the value of variable i is not equal to or greater than the total number of particles N, the process returns to step S15. If the value of variable i is equal to or greater than the total number of particles N, the process proceeds to phase 3.

[0026] In step S15, the "+0.5" part refers to the operation of positioning the tip of the clock hand (line 3) arrow at the center of the circumference between adjacent partitions 2,2 on pie chart 1. Furthermore, in step S15, (i+0.5)×p corresponds to the process of determining the position of each clock hand set on pie chart 1. In other words, the 0.5 in 0+0.5 indicates the position of the tip of the 0th clock hand shown as 3(0) in Figure 1(e). In the example in Figure 1, the position of the tip of the 0th clock hand is approximately 0.042 units to the right on the circumference from the "0" position on pie chart 1 (the uppermost position of the pie chart).

[0027] In other words, the process in step S15 corresponds to determining whether the tip of the clock hand is pointing to the data range (between lower and upper). In other words, in step S15, it is determined which area region of each data A, B, ... G the clock hand is located in between lower and upper, and it is decided to extract the data that has the area region where the clock hand is located.

[0028] Phase 2 will be explained using the example in Figure 1. In the example in Figure 1, the total number of particles (weighted data A-G) N = total number of data extractions = 12, so in step S11, p = 1 / 12 ≈ 0.083. Then, after the initialization process (steps S12, S13, S14), in step S15, since i=0, (0+0.5)×1 / 12≈0.042. Since this 0.042 is greater than or equal to lower (=0) and less than upper (=0.15), the process proceeds to step S19.

[0029] In step S15, the tip of the 0th clock hand (the arrow indicated by 3(0) in Figure 1(e)) is set to the center of the section between partitions 2,2, and it is determined which data area (data range) this 0th clock hand is located on. Since the 0th clock hand is located on the area (data range) of the 0th particle (data A), the process proceeds to step S19. In step S19, data A, where particle number j = "0", is extracted. Furthermore, the number of variables i indicating the position of the clock hands in step S14 (= number of clock hands) and the number i for the i-th particle in step S19 (= total number of particles (number of data extractions)) are the same, so the same sign "i" is used.

[0030] Next, in step S20, i is updated to 1. Then, in step S21, i=1, so we return to step S15. In this case, since i=1, in step S15, the position indicated by the tip of the first clock hand (the arrow shown in 3(1) in Figure 1(e)) is (1+0.5)×1 / 12=0.125. Since this 0.125 is greater than or equal to lower (=0) and less than upper (=0.15), we proceed to step S19 again. In step S19, the particle with particle number "0" (data A) is extracted. That is, the particle with particle number "0" (data A) is extracted again. In other words, it is decided that the particle (data A) will be extracted twice (see Figures 1(e), (f), and (g)).

[0031] Next, in step S20, i is updated to 2. Then, in step S21, i=2, so we return to step S15. In this case, since i=2, in step S15, the position indicated by the tip of the second clock hand (the arrow shown as 3(2) in Figure 1(e)) is (2+0.5)×1 / 12≈0.21. This 0.21 is greater than or equal to lower (=0) but not less than upper (=0.15), so we proceed to step S16. In step S16, the particle number is updated to "1", and in step S17, Lower is set to "0.15", and in step S18, since the weight of the first particle (data B) is 0.09, upper is set to 0.15 + 0.09 = 0.24. In other words, the data range is set to the next data range, and the lower and upper values ​​of that data range are set. That is, the processing moves on to particle number "1" (data B). Then, we return to step S15. In this case, since i=2, the position indicated by the tip of the second clock hand (the arrow shown in 3(2) in Figure 1(e)) is (2+0.5)×1 / 12≈0.21. Since this 0.21 is greater than or equal to lower (=0.15) and less than upper (=0.24), we proceed to step S19 and the particle with particle number "1" (data B) is extracted.

[0032] Next, in step S20, the variable i is set to 3, and in step S21, since i=3, the process returns to step S15. In this case, since i=3, in step S15, the position indicated by the tip of the third clock hand (the arrow shown as 3(3) in Figure 1(e)) is (3+0.5)×1 / 12≈0.29. This 0.29 is greater than or equal to lower (=0.15) but not less than upper (=0.24), so in step S16, the particle number becomes "2", and the process moves to the particle with particle number "2" (data C). Then, in step S17, lower is set to "0.24", and in step S18, upper is set to 0.24+0.15=0.39. Then, we return to step S15. In this case, since i=3, the position indicated by the tip of the third clock hand remains (3+0.5)×1 / 12≈0.29. Since this 0.29 is greater than or equal to lower (=0.24) and less than upper (=0.39), we proceed to step S19 and the particle with particle number "2" (data C) is extracted.

[0033] Next, in step S20, i is set to 4. Then, in step S21, since i=4, we return to step S15. In this case, since i=4, in step S15, the position indicated by the tip of the fourth clock hand (the arrow shown in 3(4) in Figure 1(e)) is (4+0.5)×1 / 12≈0.375. Since this 0.375 is greater than or equal to lower (=0.24) and less than upper (=0.39), we proceed to step S19 and the particle with particle number "2" (data C) is extracted. In other words, particle number "2" (data C) is extracted again. This means that particle (data C) is extracted twice.

[0034] Next, in step S20, i is set to 5. Then, in step S21, i=5, so we return to step S15. In this case, since i=5, in step S15, the position indicated by the tip of the fifth clock hand (the arrow shown as 3(5) in Figure 1(e)) is (5+0.5)×1 / 12≈0.46. This 0.46 is greater than or equal to lower (=0.24) but not less than upper (=0.39), so after going through steps S16, 17, and 18, the particle number becomes "3", lower becomes "0.39", and upper becomes 0.39+0.03=0.42.

[0035] Then, we return to step S15. In this case, since i=5, the position indicated by the tip of the fifth clock hand remains 0.46. This 0.46 is greater than or equal to lower (=0.24) but not less than upper (=0.39). Therefore, after going through steps S16, 17, and 18, the particle number becomes "4", lower becomes "0.42", and upper becomes 0.42 + 0.21 = 0.63. In other words, the particle with particle number "3" (data D) is not extracted, and the target data range moves to the next data range (the particle with particle number "4" (data E)). That is, it is determined that the particle with particle number "3" (data D) will not be extracted (see Figures 1(f) and 1(g)).

[0036] By repeating the above process until the result is "Yes" in step S21, it becomes possible to extract data from the particles (data A to G) with a probability proportional to the data weight, as shown in Figure 1(g). In other words, in the particle re-scattering process, the re-scattering position of the particles (XY coordinate values ​​(data)) can be extracted with a probability proportional to the weight of the particle (the weight of the XY coordinate values ​​(data) in which each particle is located), thereby improving the accuracy of position estimation in the moving object position estimation process.

[0037] Specifically, in the data extraction process by phase 2 shown in Figure 5, if the process proceeds from step S15 to step S16, the particle number is updated without extracting the particle (the XY coordinate values ​​(data) where the particle is located) as data. If the process proceeds from step S15 to step S19, the particle data (the XY coordinate values ​​(data) where the particle is located) is extracted as data, and the value of i is updated. In other words, if the series of processes in steps S15, S16, S17, and S18 are performed consecutively, the data of the target particle at that time will not be extracted. Furthermore, when the series of processes in steps S15, S19, S20, and S21 are performed, the particle data from that process is extracted. Also, when the series of processes in steps S15, S19, S20, and S21 are performed consecutively, the number of consecutive executions determines the number of times the particle data is extracted.

[0038] Next, in phase 3, first, movement amount information is acquired from movement amount detection means such as encoders and inertial measuring units (IMUs) (step S31). Then, the movement amount information is multiplied by a random number following a normal distribution (mean value 1) to calculate the estimated movement amount (step S31), and the position information of the particle is overwritten according to the estimated movement amount (step S32). The processing described in steps S32 and S33 is performed for the number of particles.

[0039] By repeating phases 1, 2, and 3 described above each time the moving object is moved, it becomes possible to perform position estimation processing for the moving object. [Explanation of symbols]

[0040] 1. Pie chart, 2. Divider, 3. Line, A-G: Weighted data, X: Number of samples.

Claims

1. A data extraction method for extracting data from multiple weighted data sets, The data extraction device creates a pie chart by converting each data point into an area region proportional to its weight, The data extraction device places dividers that evenly divide the circumference of the pie chart, in a number corresponding to the desired number of data extractions. The data extraction device creates a line from the center of the pie chart that points to the midpoint between adjacent partitions on the circumference, A data extraction method characterized by comprising the step of a data extraction device determining the number of lines located on each area region of each data arranged on a pie chart as the number of extractions for each data.

2. A data extraction device that extracts data from multiple weighted data sets, A method for creating a pie chart by converting each data point into an area region proportional to its weight, A means for arranging dividers that evenly divide the circumference of a pie chart, in a number corresponding to the desired number of data extractions, A method for creating a line from the center of a pie chart to the midpoint between adjacent partitions on the circumference, A data extraction device characterized by comprising means for determining the number of lines located on each area region of each data arranged on a pie chart as the number of extractions for each data.