Information processing apparatus, information processing method, program, and recording medium
The information processing device improves travel distance accuracy by deriving correction values from sensor-derived information, addressing inconsistencies in conventional estimation methods.
Patent Information
- Application Number
- JP2024064836
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-12
- Publication Date
- 2025-10-24
AI Technical Summary
Conventional position estimation techniques using sensor outputs result in measurement and estimation errors, leading to inconsistencies between the estimated speed and position of an object, and deviations from the actual travel distance.
An information processing device that acquires and processes first and second types of information, such as velocity and angular velocity, and position and orientation, to derive correction values by referencing errors between these types of information, thereby improving the accuracy of travel distance calculations.
The device suppresses inconsistencies in estimated speed and position, enhancing the accuracy of calculated travel distances by correcting for measurement and estimation errors.
Smart Images

Figure 2025161547000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, an information processing method, a program, and a recording medium. [Background technology]
[0002] There is known a technology (also called an inertial navigation technology (PDR: Pedestrian Dead Reckoning) for sequentially estimating the position of a target (object, target person) by referring to the outputs of various sensors. For example, Patent Document 1 discloses a technology for deriving an estimated position of a device itself from a traveling direction and a moving speed estimated using sensor outputs, and correcting the estimated position using absolute position information. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-106891 Summary of the Invention [Problem to be solved by the invention]
[0004] In general, estimation techniques that refer to sensor outputs can result in measurement errors and estimation errors. Therefore, in conventional position estimation techniques, inconsistencies occur between the speed and position of the object to be estimated. As a result, the difference in the position of the object to be estimated does not necessarily correspond to the actual speed, and the accumulated value, the travel distance, deviates from the actual travel distance. For example, conventional positioning methods that use a Kalman filter or the like sequentially calculate the position estimation error at each time point to minimize it, so the estimated position is not necessarily continuous with respect to past positions. Furthermore, using such time-discontinuous position estimation results leads to problems such as significant deviations from the actual speed, travel distance, etc.
[0005] An object of one aspect of the present invention is to provide a technology that can suppress inconsistencies between the speed and position of an object to be estimated and improve the accuracy of calculated travel distances and the like. [Means for solving the problem]
[0006] In order to solve the above problem, an information processing device according to one embodiment of the present invention includes a first acquisition unit that acquires first type of information, which is information relating to at least one of the velocity and angular velocity of an object; a second acquisition unit that acquires second type of information, which is information relating to at least one of the position and orientation of the object; and a first derivation unit that derives a correction value relating to at least one of the position and orientation based on the first type of information and the second type of information, by referring to a first error, which is an error between the first type of information and the difference between the correction value.
[0007] In order to solve the above problem, an information processing method according to one aspect of the present invention includes a first acquisition step of acquiring first type of information which is information relating to at least one of the velocity and angular velocity of an object, a second acquisition step of acquiring second type of information which is information relating to at least one of the position and orientation of the object, and a first derivation step of deriving a correction value relating to at least one of the position and orientation based on the first type of information and the second type of information by referring to a first error which is an error between the first type of information and the correction value.
[0008] The information processing device according to each aspect of the present invention may be realized by a computer. In this case, the information processing device program that causes the computer to operate as each part (software element) of the information processing device to realize the information processing device on the computer, and the computer-readable recording medium on which the program is recorded, also fall within the scope of the present invention. [Effects of the Invention]
[0009] According to one aspect of the present invention, it is possible to suppress inconsistencies between the speed and position of an object to be estimated, and improve the accuracy of calculated travel distances and the like. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a block diagram showing a configuration of an information processing device according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a diagram showing an example of output by the information processing device according to the first embodiment of the present invention. [Figure 3] FIG. 10 is a block diagram showing the configuration of an information processing device according to a second embodiment of the present invention. [Figure 4] FIG. 10 is a flowchart showing the flow of processing by an information processing device according to a second embodiment of the present invention. [Figure 5] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 6] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 7] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 8] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 9] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 10] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 11] FIG. 10 is a diagram illustrating the processing of an information processing device according to a second embodiment of the present invention. [Figure 12] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 13] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 14] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 15] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 16]FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 17] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 18] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 19] FIG. 10 is a block diagram showing an example of the configuration of an information processing device according to a second embodiment of the present invention. [Figure 20] FIG. 10 is a block diagram showing an example of the configuration of an information processing system according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0011] [Embodiment 1] A first embodiment (embodiment 1) of the present invention will be described in detail below. The information processing device 1 according to this embodiment is, roughly speaking, a device that sequentially estimates at least one of the position and orientation (posture) of an object. Therefore, the information processing device 1 may be referred to as an estimation device, a position estimation device, or a posture estimation device. The information processing device 1 may also be expressed as a device that sequentially estimates at least one of velocity and angular velocity. Therefore, the information processing device 1 may be referred to as a velocity estimation device, an angular velocity estimation device, or the like.
[0012] The "target" refers to at least one of an "object" or a "target person." As an example, the information processing device 1 itself may be the "target," a user who owns the information processing device 1 may be the "target," or a terminal device configured to be able to communicate with the information processing device 1 may be the "target."
[0013] (Information processing device 1) 1 is a block diagram showing the configuration of an information processing device 1 according to this embodiment. As shown in FIG. 1, the information processing device 1 includes a control unit 110, a storage unit 120, a communication unit 30, and an input / output unit 40.
[0014] (Communication unit 30) The communication unit 30 communicates with one or more devices external to the information processing device 1. The communication unit 30 transmits data supplied from the control unit 110 to the external device, and supplies data received from the external device to the control unit 110.
[0015] (Input / output section 40) The input / output unit 40 is configured to include at least one of input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel, for example. Alternatively, the input / output unit 40 may be configured to have input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel connected to it. In this configuration, the input / output unit 40 accepts various types of information input to the information processing device 1 from the connected input devices. Furthermore, the input / output unit 40 outputs various types of information to connected output devices under the control of the control unit 10A. An example of the input / output unit 40 is an interface such as a USB (Universal Serial Bus).
[0016] (Storage unit 120) The storage unit 120 stores various data referenced by the control unit 110 and various data generated by the control unit 110. For example, the storage unit 120 stores: - First type of information that is information about at least one of the velocity and angular velocity of the object - Second type of information that is information about at least one of the position and orientation (posture) of the target Correction values for the position and / or orientation of the target A first error referenced to derive the correction value Output information OUT generated by referring to the correction value etc. are stored. Specific examples of this information will be described later. Here, the expression "correction value" refers to, for example, a "corrected value" or a "value to be corrected," but these expressions do not limit the present embodiment.
[0017] In the following description, the first type of information is referred to as u using the index j.j The second type of information can be expressed as x using the index i. i pf The correction value is sometimes expressed as x using the index j. j pgo The second error can be expressed as e using the index i or j. i pdr or e j pdr However, these notations do not limit the present embodiment.
[0018] (control unit 110) As shown in FIG. 1, the control unit 110 includes a first acquisition unit 11, a second acquisition unit 12, a first derivation unit 13, and an output unit .
[0019] (First acquisition unit 11) The first acquisition unit 11 acquires first type of information (u j ) is acquired. As an example, the information processing device 1 may be configured to include a velocity (angular velocity) estimation device (not shown), and the first acquisition unit 11 may acquire the first type of information estimated by the velocity (angular velocity) estimation device. Furthermore, such a velocity (angular velocity) estimation device may be configured to include various sensors that detect inertial forces acting on the information processing device 1, and to estimate the velocity (angular velocity) of the information processing device 1 by referring to the outputs of the sensors.
[0020] Alternatively, the velocity (angular velocity) estimation device as described above may be configured to be provided in a terminal device communicatively connected to the information processing device 1 via a network, and the first acquisition unit 11 may be configured to acquire a first type of information regarding the velocity (angular velocity) of the terminal device from the terminal device via the communication unit 30.
[0021] Alternatively, if the target is a moving body, the first acquisition unit 11 may be configured to acquire, as the first information, information on the number of rotations of the wheels of the moving body, or information on the steering angle of the wheels, or information derived by referring to these pieces of information.
[0022] Moreover, as an example, the first acquisition unit 11 sequentially acquires the above-described first type information. In this embodiment, the first type information at different timings may be distinguished using an index j. For example, the first type information at first timings 0, 1, 2, . . . may be expressed as u0, u1, u2, . . . using index j=0, 1, 2, . . . Here, the intervals between these first type timings are illustrative and do not limit the embodiment, but may be, for example, 0.1 second intervals or 0.2 second intervals. However, these specific examples do not limit the embodiment.
[0023] (Second acquisition unit 12) The second acquisition unit 12 acquires second type information (x i pf ) is acquired. As an example, the information processing device 1 may be configured to include a position (orientation) estimation device (not shown), and the second acquisition unit 12 may acquire the second type of information estimated by the position (orientation) estimation device. Furthermore, such a position (orientation) estimation device may be configured to include various sensors that detect electromagnetic waves supplied from outside the information processing device 1, and to estimate the position (orientation) of the information processing device 1 by referring to the outputs of the sensors.
[0024] Alternatively, the position (orientation) estimation device as described above may be configured to be provided in a terminal device communicatively connected to the information processing device 1 via a network, and the second acquisition unit 12 may be configured to acquire a second type of information regarding the position (orientation) of the terminal device from the terminal device via the communication unit 30.
[0025] Alternatively, the information processing device 1 or the terminal device may be configured to include an imaging device (camera), and the position (orientation) estimation device may be configured to estimate the position (orientation) of the information processing device 1 or the terminal device by referring to imaging data captured by the camera. The second acquisition unit 12 may be configured to acquire the second type of information estimated in this way.
[0026] Moreover, the second acquisition unit 12, for example, sequentially acquires the above-mentioned second type of information. In this embodiment, the second type of information at different timings may be distinguished using an index i. For example, the second type of information at the second type of timings 0, 1, 2, . . . is obtained by using index i=0, 1, 2, . . . as x0 pf ,x1 pf ,x2 pf , ..., etc. Here, the intervals of these second-type timings are illustrative and do not limit the embodiment, and may be different from the intervals of the first-type timings described above. For example, the intervals of the second-type timings may be 0.5 seconds or 1.0 seconds, as an example. However, these specific examples do not limit the embodiment.
[0027] (First derivation part 13) The first derivation unit 13 calculates the first type of information (u j ) and the second type of information (x i pf ) and a correction value (x j pgo As an example, the first derivation unit 13 derives a correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ) and derive it.
[0028] For example, the first derivation unit 13 is A correction value (x jpgo ) difference, x j pgo -x j-1 pgo Set by The difference and the first type of information (u j The first error (e j pdr )of, e j pdr = || x j pgo -u j -x j-1 pgo || or e j pdr = || x j pgo - (u j + x j-1 pgo ) || Set by A correction value (x j pgo ) is derived (updated) The following process is performed.
[0029] Or, more specifically, x j pgo Only the position coordinates [x j-1 pgo , y j-1 pgo ], and u j is the travel distance d j If you want to express only ||x j pgo -x j-1 pgo || The travel distance (correction value (x j pgo ) is calculated and used as the moving distance u j Compared to e j pdr = || uj - ||x j pgo -x j-1 pgo || || The first error (e j pdr ) is calculated.
[0030] Also, x j pgo represents only the attitude angle, and u j is the change in attitude angle Δθ j If you want to express only x j pgo -x j-1 pgo The change in attitude angle is calculated by the following equation: j Compared to e j pdr = || u j - (x j pgo -x j-1 pgo )|| The first error (e j pdr ) is calculated.
[0031] The above calculation by the first derivation unit 13 can be more generally expressed as follows: j-1 pgo of, x j-1 pgo = [x j-1 pgo , y j-1 pgo ,θ j-1 pgo ] It is expressed as a vector with position coordinates x, y and attitude angle θ, and u j of, u j = [d j ,Δθ j ] When the vectors representing the movement distance and the change in attitude angle are expressed as j pgo For example, the predicted value of Predicted value x j pgo = x j-1 pgo + d j cosθ j-1 pgo Predicted value y j pgo = y j-1 pgo + d j sinθ j-1 pgo Predicted value θ j pgo = θ j-1 pgo + Δθ j In this way, x j-1 pgo and u j The predicted value obtained from
number
[0032] Here, in the process, the first derivation unit 13 calculates the correction value (x j pgo ) to the second type of information (x i pf ) may be set based on the following. The second type of information (x i pf ) to calculate the correction value (x j pgo ) to determine the initial value Alternatively, the first derivation unit 13 may perform the following process: The correction value (x j pgo ) into the second type of information (x i pf ) and the correction value (x j pgo ) and the second error (e k pf ) and derive it further The following processing may be performed.
[0033] The first derivation unit 13 sequentially performs the above-mentioned processing to obtain the correction value (x j pgo ) is derived sequentially. The derived correction value (x j pgo ) is stored in the storage unit 120 as an example.
[0034] (Output unit 14) The output unit 14 outputs the correction value (x j pgo ) to generate output information OUT. The generated output information OUT is output via the communication unit 30 or the input / output unit 40. Here, the output information OUT includes the correction value (x j pgo ) based on the position and / or orientation of the object. j pgo ) derived by the first derivation unit 13. Therefore, the output unit 14 outputs the correction value (x j pgo ) and also functions as a display means for displaying at least one of the position and orientation of the object based on the position and orientation of the object.
[0035] FIG. 2 shows an example of output information OUT visually presented by the output unit 14 via the input / output unit 40. As shown in FIG. 2, the output information OUT may include map information MAP and a target route PT on the map. Here, the route PT is, for example, a correction value (x0pgo , x1 pgo , x2 pgo It is generated by consecutively connecting the positions indicated by ( , , ).
[0036] As described above, the information processing device 1 processes the first type of information (u j ) and the second type of information (x i pf ) and a correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ), the inconsistency between the velocity and position of the object to be estimated is suppressed, thereby achieving the effect of improving the accuracy of the estimated position.
[0037] The effects of the above configuration are described in more detail below. Generally, estimation techniques that refer to sensor output can result in measurement errors and estimation errors. For this reason, in conventional position estimation techniques, inconsistencies occur between the speed and position of the object to be estimated. As a result, the difference in the position of the object to be estimated does not necessarily correspond to the actual speed, and the travel distance, which is the integrated value, deviates from the actual travel distance. For example, conventional positioning methods that use a Kalman filter or the like sequentially calculate the position estimation error at each time point to minimize it, and therefore do not necessarily estimate a continuous position relative to past positions. When calculating travel speed or travel distance from position information, using such time-discontinuous position estimation results has led to the problem that the speed or travel distance significantly deviates from the actual values.
[0038] According to the above configuration, it is possible to suppress inconsistencies between the speed and position of the estimation target, and improve the accuracy of the moving speed calculated from the difference in the position of the estimation target and the moving distance calculated by integrating this.
[0039] [Embodiment 2] A second embodiment (Embodiment 2), which is another embodiment of the present invention, will be described below. For ease of explanation, the same reference numerals will be used to designate components having the same functions as those described in the above embodiment, and the description thereof will not be repeated.
[0040] (Information processing device 2) Fig. 3 is a block diagram showing the configuration of an information processing device 2 according to this embodiment. As shown in Fig. 3, the information processing device 2 includes a control unit 210, a storage unit 220, a communication unit 30, an input / output unit 40, and a measurement unit 50. The same explanations as in the first embodiment regarding the communication unit 30 and the input / output unit 40 will be omitted.
[0041] (Measurement unit 50) The measurement unit 50 is configured to include various sensors and acquisition means, acquire outputs from the sensors and acquisition means, and generate (derive) first and second types of information, which will be described later, by referring to the acquired data. A velocity (angular velocity) estimation device that includes various sensors that detect inertial forces acting on the information processing device 2 and estimates the velocity (angular velocity) of the information processing device 2 by referring to the outputs of the sensors, or A speed (angular velocity) estimation device that acquires information on the number of rotations of wheels or steering angle information of the wheels of a moving object and estimates the speed (angular velocity) of the object by referring to this information. The configuration may include the following.
[0042] Furthermore, the measurement unit 50 A position (orientation) estimation device that includes various sensors that detect electromagnetic waves supplied from outside the information processing device 2 and estimates the position (orientation) of the information processing device 2 by referring to the outputs of the sensors; or A position (orientation) estimation device that includes an imaging device (camera) and estimates the position (orientation) of the information processing device 2 by referring to image data captured by the camera. The more specific configuration of the measurement unit 50 will be described later.
[0043] (Storage unit 220) The storage unit 220 stores the following information in the same manner as the storage unit 120 according to the first embodiment: - First type of information that is information about at least one of the velocity and angular velocity of the object - Second type of information that is information about at least one of the position and orientation (posture) of the target Correction values for the position and / or orientation of the target A first error referenced to derive the correction value Output information OUT generated by referring to the correction value The same explanation as in the first embodiment will be omitted for this information. Reference information REF that is referenced to derive information of the second type A second error, which is the error between the second type of information and the correction value. Specific examples of this information will be described later.
[0044] (control unit 210) The control unit 210, like the control unit 110 according to the first embodiment, includes a first acquisition unit 11, a second acquisition unit 12, a first derivation unit 13, and an output unit 14. However, the second acquisition unit 12 according to the present embodiment includes a second derivation unit 121, as shown in FIG.
[0045] (First acquisition unit 11) As an example, similar to the first embodiment, the first acquisition unit 11 acquires first type of information (u j ) is acquired. As for the specific processing by the first acquisition unit 11, a description similar to that in the first embodiment will be omitted.
[0046] (Second acquisition unit 12) As an example, similar to the first embodiment, the second acquisition unit 12 acquires second type information (x i pf) is acquired. The specific processing by the second acquisition unit 12 will not be described in the same manner as in the first embodiment. As described above, in this embodiment, the second acquisition unit 12 includes a second derivation unit 121. The second derivation unit 121 acquires the first type of information (u j ) and reference information REF, which is information different from the first type of information, and i pf ) is derived. As an example, the second derivation unit 121 can be configured by a particle filter. Specific processing by the second derivation unit 121 will be described later.
[0047] (First derivation part 13) As an example, similar to the first embodiment, the first derivation unit 13 calculates the first type of information (u j ) and the second type of information (x i pf ) and a correction value (x j pgo As an example, the first derivation unit 13 derives a correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ) and derive it.
[0048] The first derivation unit 13 calculates the correction value (x j pgo ) into the second type of information (x i pf ) and the correction value (x j pgo ) and the second error (e k pf ) to derive the value. The specific processing by the first derivation unit 13 will be described later.
[0049] (Output unit 14) As an example, similar to the first embodiment, the output unit 14 outputs the correction value (x j pgo) and generates output information OUT. Regarding the output unit 14, the same description as in the first embodiment will be omitted.
[0050] (Processing flow by information processing device 2) Next, the flow of processing by the information processing device 2 will be described with reference to Fig. 4. Fig. 4 is a flow chart showing the flow of processing by the information processing device 2.
[0051] (Step S101) In step S101, the first acquisition unit 11 acquires first type of information (u j ) is acquired. As an example, the first acquisition unit 11 reads the time series (u0, u1, u2, . . . ) of the estimated values of the velocity and angular velocity of the object.
[0052] (Step S102) In step S102, the second acquisition unit 12 acquires second type information (x i pf ) is obtained. As an example, the time series (x0 pf ,x1 pf ,x2 pf , ) are read. Here, each estimated value (x i pf ) is, for example, the two-dimensional position coordinate x i ,y i , and azimuth angle θ i Using
number
[0053] (Step S103) Subsequently, in step S103, the first derivation unit 13 sets an initial value of the position / orientation correction value. As an example, the first derivation unit 13 sets an initial value of the position / orientation correction value (x j pgo ) is set as an initial value. For example, the first derivation unit 13 sets the initial value of The time series of estimated position and orientation values obtained in step S102 (x0 pf ,x1 pf ,x2 pf ,···), and (x j pgo ) or by setting the initial value of Based on the time series (u0, u1, u2, . . . ) of the estimated values of the velocity and angular velocity of the object obtained in step S101, the estimated values of the position and orientation at each time are calculated from an appropriate initial position and orientation, and (x j pgo ) or by setting the initial value of to a predetermined value, (x j pgo ) may be set as an initial value.
[0054] (Step S104) Subsequently, in step S104, the first derivation unit 13 registers a constraint condition for comparing the position / orientation correction value with the position / orientation estimated value at the corresponding time. As an example, the first derivation unit 13 registers a constraint condition for comparing the position / orientation correction value (x j pgo ) and the estimated position and orientation value (x i pf ) x j pgo -x i pf Constraints on (c i pf ) (also referred to as a second constraint). For example, the first derivation unit 13 sets a position and orientation correction value (x0 pgo ) and the estimated position and orientation at time 0 (x0pf ) x0 pgo - x0 pf Constraints on (c0 pf ) expresses the error (e0 pf ) (also called the second error)
number
[0055] For example, when the second derivation unit 121 is configured as a particle filter, x i pf In this way, the first derivation unit 13 may calculate the covariance matrix of the second error (e0 pf ) to the first type of information (u j The second error may be calculated by referring to a covariance matrix according to the measurement accuracy of at least one of the first type of information and reference information REF different from the first type of information. Specific examples of the function f will be described later.
[0056] (Step S105) In step S105, the first derivation unit 13 registers a constraint condition for comparing the estimated values of velocity and angular velocity with the difference between the position correction value at the corresponding time. Estimated velocity and angular velocity at a given time (u j )and, The position correction value (x j pgo ) difference (x j pgo -x j-1 pgo )and Difference between x j pgo -u j -x j-1 pgo Constraints on (c j pdr ) (also called the first constraint) j pdr ) (also called the first error)
number
[0057] (Step S106) Next, in step S106, the first derivation unit 13 determines whether the processes of steps S103 to S105 have been performed for all times related to the estimated values of the position and orientation. If the processes of steps S103 to S105 have been performed for all times related to the estimated values of the position and orientation (yes in step S106), the process proceeds to step S107; if not (no in step S106), the process returns to step S103.
[0058] The upper part of FIG. 5 shows the information acquired, set, or referenced by the processing in steps S103 to S106. Time series of estimated position and orientation of the object (second type of information) (x i pf ), Time series of estimated values of target velocity and angular velocity (first type of information) (u j ), Time series of position and orientation correction values of the target position and orientation (x j pgo ) First constraint (c j pdr ), and The second constraint (c i pf ) As shown in the upper part of FIG. Position and attitude correction value at a certain time (x j pgo )and, The estimated position and orientation value (x i pf )and Depending on the second constraint (c i pf ) is set, Estimated velocity and angular velocity at a given time (u j )and, The position correction value (x j pgo ) difference (x j pgo -x j-1 pgo )and Depending on the first constraint (c j pdr ) is set.
[0059] In addition, the node (x0 pf ,···, x j pf , x0 pgo ,···, x j pgo ) and edge (c0 pf ,···, c ipf , u0,···,u j , c0 pdr ,···, c j pdr ) can be regarded as an example of a factor graph or a pose graph. Therefore, the above-mentioned steps S103 to S106 are carried out by the first derivation unit 13 as follows: Time series of estimated position and orientation of the object (second type of information) (x i pf ), Time series of estimated values of target velocity and angular velocity (first type of information) (u j ), Time series of position and orientation correction values of the target position and orientation (x j pgo ) First constraint (c j pdr ), and The second constraint (c i pf ) It can also be expressed as a process of constructing a factor graph or a pose graph in which the above expressions are expressed as nodes or edges. However, this expression does not limit the present embodiment.
[0060] (Step S107) Subsequently, in step S107, the first derivation unit 13 updates the position and orientation correction values so that the sum of the errors of the respective constraint conditions becomes smaller. As an example, the first derivation unit 13 updates the position and orientation correction values so that the sum of the errors of the first constraint conditions (c j pdr ) expressing the first error (e j pdr ) and the second constraint (c i pf ) expressing the second error (e i pf ) so that the sum of the position and orientation correction value (x j pgo ) is updated (derived).
[0061] More specifically, the first derivation unit 13 calculates the first error (e jpdr ) and the second error (e i pf ) and refer to
number
[0062] (Step S108) Subsequently, in step S108, the first derivation unit 13 determines whether the number of iterations of the update process in step S107 has reached a predetermined upper limit. If the number of iterations of the update process in step S107 has reached the predetermined upper limit (yes in step S108), the process ends; if not (no in step S108), the process proceeds to step S109.
[0063] (Step S109) In step S109, the first derivation unit 13 determines whether the error representing each constraint condition calculated in step S107 is equal to or less than a predetermined allowable value. If the error representing each constraint condition calculated in step S107 is equal to or less than the predetermined allowable value (yes in step S109), the process ends; if not (no in step S109), the process proceeds to step S110.
[0064] (Step S110) In step S110, the first derivation unit 13 determines whether the error representing each constraint condition calculated in step S107 is smaller than the error at the time of the previous update. If the error representing each constraint condition calculated in step S107 is smaller than the error at the time of the previous update (yes in step S110), the process ends; if not (no in step S110), the process returns to step S107.
[0065] According to the information processing device 2 that performs the above processing, similarly to the first embodiment, the first type of information (u j ) and the second type of information (x i pf ) and a correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, j pdr ), the information processing device 2 has the first derivation unit 13 that derives the first error (e j pdr ) and the second error (e i pf ) and the position and orientation correction value (x j pgo ), the inconsistency between the velocity and position of the estimation target is suitably suppressed, and the accuracy of the estimated position can be suitably improved.
[0066] (Example of function f) In the following, the second constraint (c i pf ) expressing the second error (e i pf A specific example of the function f used in the second type of information (x i pf ) and the correction value (x j pgo) is greater than a predetermined value, the slope of the function is smaller than the slope of the function when the difference is equal to or smaller than the predetermined value.
[0067] The lower part of Fig. 5 is a graph schematically showing a specific example of the function f used by the first derivation unit 13 in step S104. As shown in the lower part of Fig. 5, the function f is a function in which the slope of the function when the absolute value of the argument r is greater than a predetermined value c is smaller than the slope of the function when the absolute value of the argument r is equal to or smaller than the predetermined value c.
[0068] Such a function f is defined as the second error (e i pf ) as a function that defines the position and attitude correction value (x j pgo ) and the estimated position and orientation value (x i pf ) and the difference (argument r of function f) x j pgo -x i pf If is greater than a predetermined value, the second error (e i pf This has the effect of suppressing the contribution of the difference to the first error (e j pdr ) and a second error (e i pf ), the error related to the target velocity or angular velocity is given priority, and the position and orientation correction value (x j pgo ) is updated (derived). By performing such processing, the accuracy of estimating the velocity or angular velocity of the object is improved, and as a result, the accuracy of estimating the position or orientation of the object is also improved.
[0069] As a specific example of the function f, a robust kernel (e.g., Cauchy loss function, Huber loss function, Welsch loss function, Tukey loss function, etc.) can be used. These functions have a gradient that decreases when the error, which is their argument, is large. When using a robust kernel, the radius c (corresponding to the above-mentioned predetermined value) may be set to the error expected when tracking different hypotheses in position estimation.
[0070] For example, the Cauchy loss function
number
[0071] By using this function f for error terms other than the moving speed, the first derivation unit 13 can perform a process in which the error for the moving speed is calculated strictly, and even if a large error occurs in other terms, it does not take into account or ignores it. As a result, as described above, the estimation accuracy for the speed or angular velocity of the object is improved, and as a result, the estimation accuracy for the position or orientation of the object is also improved.
[0072] The first derivation unit 13 also uses the L1 norm as the function f. f(r) = |r| The slope of this function does not increase even if the value of the error, which is the argument, increases.
[0073] Furthermore, the first derivation unit 13 may employ a switchable constraint as a setting for the function f(r). In this configuration, as an example, c is a scalar variable to be estimated, and f(r)=cr Then, in the optimization process in step S107 described above,
number
[0074] In this way, the above example also improves the accuracy of estimating the velocity or angular velocity of the object, and as a result, the effect of improving the accuracy of estimating the position or orientation of the object is also obtained.
[0075] (Additional Notes Regarding the First Derivation Unit 13) As described above, the first derivation unit 13 can be expressed as constructing a factor graph or a pose graph in steps S103 to S106, and performing processing to optimize the factor graph or the pose graph in step S107, but this example does not limit the present embodiment.
[0076] The first derivation unit 13 can also be configured by a particle filter (particle smoother) as described below. In this configuration example, the first derivation unit 13 performs the following processing instead of or in addition to the processing of steps S103 to S107 described above. For example, in the flow shown in FIG. 4, the first derivation unit 13 performs the processing of steps S201 to S203 instead of the processing of steps S103 to S107 or as an additional step.
[0077] (Step S201) The first derivation unit 13 calculates the position and orientation estimates (x i pf ) and the position and orientation correction value (x j pgo ) and the difference (x j pgo -x i pf ) (the second error (e i pf )). The likelihood of the position and orientation correction value (also called the first likelihood) is calculated from the probability density of a normal distribution with an appropriate variance. The inverse of this likelihood is input to the above-mentioned function f(r) to find the inverse of the likelihood whose gradient becomes smaller as r increases.
[0078] (Step S202) The first derivation unit 13 calculates the estimated position and orientation values (x i pf ) difference (x j pgo -x j-1 pgo ) and the measured velocity and angular velocity (estimated velocity and angular velocity) (u j ) and the difference (x j pgo -u j -x j-1 pgo ) is calculated. In response to this, the likelihood of the difference (also called the second likelihood) is calculated from the probability density of a normal distribution with an appropriate variance.
[0079] (Step S203) The first derivation unit 13 calculates the position / orientation correction value (x j pgo ) to find the combination of each time.
[0080] (Specific Configuration Example 1 of Information Processing Device 2) Hereinafter, specific configuration examples of the information processing device 2 will be described with reference to different drawings. Fig. 6 is a block diagram showing a specific configuration example 1 of the information processing device 2. As shown in Fig. 6, the information processing device 2 according to this example includes, as a measurement unit 50, a movement speed / azimuth angle change estimation unit 51, a BLE (Bluetooth Low Energy (registered trademark)) radio wave intensity measurement device (distance estimation unit) 52, and a BLE beacon position measurement device (position estimation unit) 53. Also, as shown in Fig. 6, the movement speed / azimuth angle change estimation unit 51 includes an IMU (Inertial Measurement Unit) 511 and a PDR (Pedestrian Dead Reckoning unit) 512.
[0081] The IMU 511 includes, for example, an acceleration sensor and a gyro sensor, and detects translational motion of the information processing device 2 using the acceleration sensor, and detects rotational motion of the information processing device 2 using the gyro sensor.
[0082] The PDR 512 refers to the sensing data from the IMU 511 and calculates the movement speed and azimuth angle change of the information processing device 2. The calculated movement speed and azimuth angle change are supplied to the second acquisition unit 12 as velocity and angular velocity information, and are also used as the first type of information (u j ) and stored in the storage unit 220.
[0083] The BLE radio wave intensity measuring device 52 generates distance information indicating the distance between the information processing device 2 and one or more specified points by executing a radio wave intensity measurement process (also called a BLE distance detection process) that complies with the Bluetooth Low Energy standard, and supplies the generated distance information to the second acquisition unit 12.
[0084] The BLE beacon position measurement device 53 generates position information indicating the position of the information processing device 2 by executing a beacon position measurement process (also called a BLE position detection process) that complies with the Bluetooth Low Energy standard, and supplies the generated position information to the second acquisition unit 12.
[0085] On the other hand, the second acquisition unit 12 according to this example includes a particle filter as the second derivation unit 121, as shown in FIG. Position (attitude) prediction processing PP that references the velocity and angular velocity information supplied from PDR512 A process of correcting the position (posture) predicted by the above-mentioned position prediction process by referring to distance information supplied from the BLE radio wave intensity measurement device 52 and position information supplied from the BLE beacon position measurement device 53 (position correction process AP1). The position (posture) corrected by the position correction process is further corrected by referring to map information (movement availability information) (position correction process AP2). As shown in FIG. 6, the particle filter repeatedly executes the position prediction process PP, the position correction process AP1, and the position correction process AP2 to derive the position and orientation estimation values of the information processing device 2, and converts the derived position and orientation estimation values into second type information (x i pf ) and stored in the storage unit 220.
[0086] The first derivation unit (pose graph optimization position correction unit) 13 according to this example calculates the velocity and angular velocity information (u j ) and the estimated position and orientation (x i pf ), and execute the pose graph optimization process described above to obtain the position and orientation correction value (x j pgo ) and derive the position and orientation correction value (x j pgo ) to generate output information (output signal).
[0087] The map information is, for example, acquired by the first acquisition unit 11 and stored in the storage unit 220. Fig. 7 is a diagram showing an example of the map information. As shown in Fig. 7, the map information includes information indicating movable areas and immovable areas.
[0088] Thus, in this example, · Type 1 information (u j ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second derivation section 121 is The first type of information (u j ) is corrected by using the result of at least one of the BLE distance detection and the BLE position detection as reference information REF. i pf ) In this example, the following configuration is adopted: The second derivation section 121 is The first type of information (u j ) is corrected by further referencing map information as reference information REF. i pf ) According to the above configuration, it is possible to suitably estimate the position or orientation of the target.
[0089] 8 shows an example of processing by the second derivation unit 121 and the first derivation unit 13 included in the information processing device 2 according to this example. As shown in the upper part of FIG. 8, the second derivation unit 121 ·First type of information provided by PDR512 (u j ) ("PDR" in Figure 8) Distance information (BLE RSSI (Received Signal Strength Indicator)) provided by the BLE radio wave strength measurement device 52 i )) Location information provided by the BLE beacon location measurement device 53 (BLE proximity detection (xi )) Map information (Map (m)) By sequentially referencing the particle filter process, the position and orientation estimates (x i pf_s ) and derive (update) the derived position and orientation estimate (x i pf_s ) is the estimated position and orientation at each time (x i pf ) and supplied to the first outlet 13.
[0090] Here, the first type of information (u j ) ("PDR" in FIG. 8) is, for example,
number
number
[0091] FIG. 9 shows another example of processing by the second derivation unit 121 and the first derivation unit 13 included in the information processing device 2 according to this example. As shown in the lower part of FIG. 9, the first derivation unit 13 according to this processing example calculates the position and orientation correction value (x j pgo ) as the scale error (s j ) of the PDR. As an example, as shown in FIG. 9, the first derivation unit 13 according to this processing example may derive the scale error (s j) as a node, and constraints on the time change of scale (c i sc ) is set, and the position and orientation correction value (x j pgo In this configuration, the magnification of the estimated velocity is estimated so that the position coordinates are correct, so the position and orientation correction value (x j pgo ) can be derived more appropriately.
[0092] FIG. 10 shows yet another processing example by the second derivation unit 121 and the first derivation unit 13 included in the information processing device 2 according to this example. As shown in the lower part of FIG. 10, the first derivation unit 13 according to this processing example calculates the position and orientation correction value (x j pgo ) is the first error (e j pdr ) may be further derivated by referring to one or more errors obtained by excluding errors that are inconsistent with other errors from among multiple types of errors different from the first error (e j pdr ) and multiple types of errors (e j vio ,e j UWB ,e j c_pdr ,e j c_vio ) is constructed, and the position and orientation correction value (x j pgo For example, the first derivation unit 13 may derive (update)
number
[0093] In the above formula, e j vio indicates the error related to Visual Odometry (position and orientation estimation process using camera images), e j UWB indicates the error related to the position and orientation estimation process using UWB (Ultra Wide Band), e j c_pdr is e j pdr When the error function f(r)=cr is used for the error function e that makes the constant term c approach 1, c (see Equation 6 for an example) e j c_vio is e j vio When the error function f(r)=cr is used for the error function e that makes the constant term c approach 1, c (see Equation 6 for an example) A more specific configuration example with reference to Visual Odometry and UWB will be described later.
[0094] FIG. 11 shows yet another example of processing by the second derivation unit 121 and the first derivation unit 13 included in the information processing device 2 according to this example. As shown in FIG. 11, the second derivation unit 121 calculates the position / orientation correction value (x j pgo ) and further refer to the position and orientation estimate (second type information (x i pfIn the example shown in FIG. 11, the position and orientation correction value (x j+1 pgo ) is the estimated position and orientation (x i+5 pf ) is provided as the initial value. Also, the position and orientation estimate (x i+5 pf ) may be a target of intensive sampling by the second derivation unit 121, for example.
[0095] (Specific Configuration Example 2 of Information Processing Device 2) Fig. 12 is a block diagram showing a second specific configuration example of the information processing device 2. As shown in Fig. 12, the information processing device 2 according to this example further includes a BLE direction measurement device (direction estimation unit) 55 as a measurement unit 50, in addition to the components included in the information processing device 2 according to the first specific configuration example described above.
[0096] The BLE direction measurement device (direction estimation unit) 55 generates direction information indicating the direction (facing direction, posture) of the information processing device by executing direction measurement processing (also called BLE direction detection processing) that complies with the Bluetooth Low Energy standard, and supplies the generated direction information to the second acquisition unit 12.
[0097] The second acquisition unit 12 includes at least one of a particle filter, an extended Kalman filter, an unscented Kalman filter, and a complementary filter as a second derivation unit 121, and executes the position prediction process PP, the position correction process AP1, and the position correction process AP2 described in Specific Configuration Example 1 using the filter. Furthermore, in the information processing device 2 according to this configuration example, as an example, as shown in FIG. 12 , in the position correction process AP1, the position correction process is executed by further referring to the direction information supplied from the BLE direction measurement device 55. Other processes by the information processing device 2 according to this configuration example are similar to the processes described in Specific Configuration Example 1, and therefore will not be described here.
[0098] Thus, in this example, · Type 1 information (uj ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second derivation section 121 is The first type of information (u j ) is corrected by using the result of at least one of the BLE distance detection, the BLE direction detection, and the BLE position detection as reference information REF. i pf ) According to the above configuration, it is possible to suitably estimate the position or orientation of the target.
[0099] (Specific Configuration Example 3 of Information Processing Device 2) Fig. 13 is a block diagram showing a specific configuration example 3 of the information processing device 2. As shown in Fig. 12, the information processing device 2 according to this example does not include the BLE radio wave intensity measuring device 52 among the components included in the information processing device 2 according to the above-mentioned specific configuration example 2. The other components are the same as those of the information processing device 2 according to the above-mentioned specific configuration example 2.
[0100] Thus, in this example, · Type 1 information (u j ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second derivation section 121 is The first type of information (u j ) is corrected by using the result of at least one of the BLE direction detection and the BLE position detection as reference information REF. i pf ) The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0101] (Specific Configuration Example 4 of Information Processing Device 2) Fig. 14 is a block diagram showing a fourth specific configuration example of the information processing device 2. As shown in Fig. 14, the information processing device 2 according to this example includes, as a measurement unit 50, a moving speed / azimuth angle change estimation unit 51, a UWB (Ultra Wide Band) distance measurement device (distance estimation unit) 62, a UWB azimuth measurement device (azimuth estimation unit) 65, and a UWB beacon position measurement device (position estimation unit) 63. Also, as shown in Fig. 14, the moving speed / azimuth angle change estimation unit 51 includes an IMU 511 and a PDR 512, similar to the first specific configuration example. The moving speed / azimuth angle change estimation unit 51 has been described above, and therefore will not be described here.
[0102] The UWB distance measurement device 62 generates distance information indicating the distance between the information processing device 2 and one or more specified points by performing distance measurement processing (also called UWB distance detection processing) that complies with the UWB wireless communication standard, and supplies the generated distance information to the second acquisition unit 12.
[0103] The UWB direction measurement device 65 generates direction information indicating the direction (orientation, posture) of the information processing device by performing direction measurement processing (also called UWB direction detection processing) that complies with the UWB wireless communication standard, and supplies the generated direction information to the second acquisition unit 12.
[0104] The UWB beacon position measurement device 63 generates position information indicating the position of the information processing device 2 by executing a beacon position measurement process (also called a UWB position detection process) that complies with the UWB wireless communication standard, and supplies the generated position information to the second acquisition unit 12.
[0105] The second acquisition unit 12 includes at least one of a particle filter, an extended Kalman filter, an unscented Kalman filter, and a complementary filter as a second derivation unit 121, and executes the position prediction process PP, the position correction process AP1, and the position correction process AP2 described in the specific configuration example 1 by using the filter. However, in the information processing device 2 according to this configuration example, as an example, as shown in FIG. 14, in the position correction process AP1, Distance information provided by the UWB distance measurement device 62 Direction information provided by the UWB direction measurement device 65 Location information provided by the UWB beacon location measurement device 63 Other processes performed by the information processing device 2 according to this configuration example are the same as those described in the specific configuration example 2, and therefore descriptions thereof will be omitted here.
[0106] Thus, in this example, Type 1 information (u j ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second derivation part 121 is The first type of information (u j ) by applying a correction process to the second type of information (x i pf ) In this example, the following configuration is adopted: The second derivation section 121 is The first type of information (u j ) is corrected by further referencing map information as reference information REF. i pf ) The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0107] (Specific Configuration Example 5 of Information Processing Device 2) Fig. 15 is a block diagram showing a specific configuration example 5 of the information processing device 2. As shown in Fig. 15, the information processing device 2 according to this example has a configuration almost similar to that described in the specific configuration example 4, but differs from the specific configuration example 4 in the following points. That is, in this processing example, the first derivation unit (pose graph optimization position correction unit) 13 Distance information provided by the UWB distance measurement device 62 Direction information provided by the UWB direction measurement device 65 Location information provided by the UWB beacon location measurement device 63 By further referencing at least one of the above, the position and orientation correction value (x j pgo ) is derived.
[0108] In other words, in this example, the first derivation unit 13 is The correction value (x j pgo ) According to this configuration, the correction value (x j pgo ) is derived, the accuracy of the estimation process regarding the position or orientation of the target can be suitably improved.
[0109] (Specific Configuration Example 6 of Information Processing Device 2) Fig. 16 is a block diagram showing a sixth specific configuration example of the information processing device 2. As shown in Fig. 16, the information processing device 2 according to this example includes, as a measurement unit 50, a travel speed / azimuth angle change estimation unit 51, an imaging device (camera) 72, a visual odometry unit (also simply referred to as visual odometry) 73, and a visual SLAM unit (also simply referred to as visual SLAM) 74. Also, as shown in Fig. 16, the travel speed / azimuth angle change estimation unit 51 includes an IMU 511 and a PDR 512, similar to the first specific configuration example. The travel speed / azimuth angle change estimation unit 51 has been described above, and therefore will not be described here.
[0110] The imaging device (camera) 72 captures an image (first-person imaging) from the information processing device 2 or an object on which the information processing device 2 is installed, and supplies the imaging data to the visual odometry 73 and the visual SLAM 74. However, this is not a limitation of the present example, and the imaging device (camera) 72 may be provided at a location separate from the information processing device 2 or the object on which the information processing device 2 is installed, captures an image (third-person imaging) from that location, and supplies the imaging data to the visual odometry 73 and the visual SLAM 74.
[0111] Visual odometry 73 is a unit that executes position and orientation estimation processing or velocity and angular velocity estimation processing using imaging data supplied from camera 72. The specific algorithm executed by visual odometry 73 is not limited to this configuration example, but as an example, it may be configured to include object detection processing from imaging data and motion estimation processing of camera 72 using optical flow. Camera velocity and angular velocity information indicating the results of processing by visual odometry 73 is stored in storage unit 220.
[0112] The visual SLAM 74 is a unit that executes SLAM (Simultaneous Localization and Mapping) processing using imaging data supplied from the camera 72. The position and orientation estimates of the information processing device 2 generated by the visual SLAM 74 are stored in the storage unit 220.
[0113] The first derivation unit (optimized position correction unit) 13 is, for example, The velocity and angular velocity information (first type information (u)) supplied from the moving velocity and azimuth angle change estimation unit 51 j )Example) Camera velocity and angular velocity information (first type of information) provided by Visual Odometry73 j )Other examples of Position and orientation estimates provided by Visual SLAM74 (second type of information (x i pf )) By optimizing the pose graph referring to j pgo ) is derived.
[0114] Thus, in this example, The first type of information (u j ), and the second type of information (x i pf ) includes information derived with reference to the camera image, The first derivation unit (optimized position correction unit) 13 is The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ) and derive it The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0115] (Specific Configuration Example 7 of Information Processing Device 2) Fig. 17 is a block diagram showing a specific configuration example 7 of an information processing device 2. As shown in Fig. 17, the information processing device 2 according to this example includes a wheel rotation speed measurement unit 81 instead of the travel speed / azimuth angle change estimation unit 51 included in the information processing device 2 according to specific configuration example 6. The other configurations are the same as those of specific configuration example 6. The information processing device 2 according to this example can be suitably applied when the target of position or orientation estimation is a moving body (vehicle).
[0116] The wheel rotation speed measurement unit 81 generates speed and angular velocity information by referring to rotation speed information and steering angle information of the wheels of the moving body (vehicle), and stores the generated speed and angular velocity information in the storage unit 220. The speed and angular velocity information is then referred to by the first derivation unit (optimized position correction unit) 13.
[0117] Thus, in this example, The first type of information (u j ), and the second type of information (x i pf ) includes information derived by referring to the number of wheel rotations of the moving object; The first derivation unit (optimized position correction unit) 13 is The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, j pdr ) and derive it The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0118] (Specific Configuration Example 8 of Information Processing Device 2) Fig. 18 is a block diagram showing a specific configuration example 8 of an information processing device 2. As shown in Fig. 18, the information processing device 2 according to this example includes a GNSS (Global Navigation Satellite System) receiver 82 instead of the camera 72, visual odometry 73, and visual SLAM 74 included in the information processing device 2 according to the specific configuration example 7. The information processing device 2 according to this example can be suitably applied when the target of position or orientation estimation is a moving body (vehicle) and the moving body is located outdoors.
[0119] The GNSS receiver 82 performs a position estimation process for the information processing device 2 using GNSS positioning with reference to signals (also called GNSS information) supplied from GNSS satellites, and stores a position estimation value indicating the result of the process in the memory unit 220.
[0120] The first derivation unit (optimized position correction unit) 13 according to this example is, for example, Velocity and angular velocity information (first type information (u)) supplied from the wheel rotation speed measurement unit 81 j )) Position estimates provided by the GNSS receiver (second type of information (x i pf )) By optimizing the pose graph referring to j pgo ) is derived.
[0121] Thus, in this example, The first type of information (u j ) includes information derived by referring to the wheel rotation speed of the moving object, The second type of information (x i pf ) contains information derived with reference to GNSS information, The first derivation unit (optimized position correction unit) 13 is The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ) and derive it The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0122] (Specific Configuration Example 9 of Information Processing Device 2) Fig. 18 is a block diagram showing a specific configuration example 9 of the information processing device 2. As shown in Fig. 18, in the information processing device 2 according to this example, in addition to the components included in the information processing device 2 according to the specific configuration example 8, a position correction process is executed by a second derivation unit 121 included in a second acquisition unit 12.
[0123] More specifically, the second acquisition unit 12 of the information processing device 2 according to the present example includes a second derivation unit 121, and the position prediction process PP and the position correction process AP1 are executed by the second derivation unit 121. Here, the second derivation unit 121 according to the present example can be configured to include at least one of a particle filter, an extended Kalman filter, an unscented Kalman filter, and a complementary filter, and to execute the position prediction process PP and the position correction process AP1 by the filter.
[0124] In the position prediction process PP according to this example, as shown in Fig. 19, position prediction process is executed with reference to the speed and angular velocity information supplied from the wheel rotation speed measurement unit 81. On the other hand, in the position correction process AP1 according to this example, position correction process is executed with reference to the position estimation value supplied from the GNSS receiver 82. As shown in Fig. 19, the filter derives a position estimation value of the information processing device 2 by repeatedly executing the position prediction process PP and the position correction process AP1, and stores the derived attitude estimation value in the storage unit 220.
[0125] Thus, in this example, The first type of information (u j ) includes information derived by referring to the wheel rotation speed of the moving object, The second type of information (x i pf ) includes information derived from correction processing that references GNSS information, The first derivation unit (optimized position correction unit) 13 is The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, j pdr ) and derive it The above configuration also makes it possible to suitably estimate the position or orientation of the target.
[0126] This embodiment also includes configurations obtained by combining the above-described configuration examples 1 to 9. Even when such configurations are employed, estimation of the position or orientation of the target can be suitably performed.
[0127] [Embodiment 3] A third embodiment (Embodiment 3), which is another embodiment of the present invention, will be described below. For ease of explanation, the same reference numerals will be used to designate components having the same functions as those described in the above embodiments, and the description thereof will not be repeated.
[0128] (Information processing system 100) Fig. 20 is a block diagram showing the configuration of an information processing system 100 according to this embodiment. As shown in Fig. 20, the information processing system 100 includes an information processing device 2 and a terminal device 5. Here, the information processing device 2 has almost the same configuration as the information processing device 2 described in the second embodiment, but in this embodiment, it does not have to include a measurement unit 50. Instead, the terminal device 5 included in the information processing system 100 includes the measurement unit 50.
[0129] (Terminal device 5) 20, the terminal device 5 includes a measurement unit 50, a control unit 60, a storage unit 70, a communication unit 80, and an input / output unit 90. As in the second embodiment, the measurement unit 50 includes various sensors and acquisition means, acquires outputs from the sensors and acquisition means, and generates (derives) first and second types of information, which will be described later, by referring to the acquired data. The specific configuration of the measurement unit 50 has already been described, and therefore will not be described here.
[0130] (control unit 60) The control unit 60 controls each unit of the terminal device 5. The control unit 60 may also be configured to include at least one of the units included in the control unit 210 of the information processing device 2. As an example, the control unit 60 may be configured to include a first acquisition unit 11 and a second acquisition unit 12. In that case, the information processing device 2 according to this embodiment may not be configured to include the first acquisition unit 11 and the second acquisition unit 12.
[0131] (Storage unit 70) The storage unit 70 stores various types of data referenced by the control unit 60 and various types of data generated by the control unit 60. The storage unit 70 may be configured to store at least any of the information stored in the storage unit 220 of the information processing device 2. As an example, the storage unit 70 may be configured to store first type information, second type information, reference information REF, etc.
[0132] (Communication unit 80) The communication unit 80 communicates with one or more devices external to the terminal device 5. The communication unit 80 transmits data supplied from the control unit 60 to the external device, and supplies data received from the external device to the control unit 60.
[0133] (Input / output section 90) As an example, the input / output unit 90 is configured to include at least one of input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel. Alternatively, the input / output unit 90 may be configured to have input / output devices such as a keyboard, a mouse, a display, a printer, and a touch panel connected to it. In this configuration, the input / output unit 90 accepts various types of information input to the terminal device 5 from the connected input devices. Furthermore, the input / output unit 90 outputs various types of information to the connected output devices under the control of the control unit 60.
[0134] (Application example of information processing system 100) The information processing system 100 according to this embodiment can be suitably applied to cases where data is stored on a smartphone (terminal device 5) or the like, and then the data is transmitted to a separate device such as a PC or server (information processing device 2), and correction calculations are performed in batches afterwards. In this case, it is not necessarily necessary to perform calculations in real time on the device that acquired the data (terminal device 5 such as a smartphone). Also, with regard to the storage of various information, Only the raw data measured by the measurement unit 50 may be stored in the storage unit 70 of the terminal device 5. The terminal device 5 may be configured to include at least one of the first acquisition unit 11, the second acquisition unit 12 (second derivation unit 121), and the first derivation unit 13, and the results of each of these units may be stored in physically different devices, such as a separate PC or a database (storage unit 220 of the information processing device 2).
[0135] (Additional Notes Regarding the Embodiments) The information processing devices 1 and 2 described above in the first to third embodiments can also be expressed as follows.
[0136] a pre-processing unit (corresponding to the second derivation unit 121) that performs pre-processing with reference to the input signal (input information); an optimization position correction unit (corresponding to the first derivation unit 13) that executes a correction process (update process) regarding at least one of the position and orientation of the target by an optimization process that refers to the input information and the result of the process by the pre-processing unit; An information processing device comprising:
[0137] Here, the input signal (input information) can be one or more of the following information (1) to (16).
[0138] (1) Information obtained by estimating movement speed (2) Information obtained by azimuth angle estimation (3) Information obtained by estimating azimuth angle change (4) Information obtained by distance estimation (5) Information obtained by distance difference estimation (6) Information obtained by estimating the direction of arrival (7) Information obtained by estimating the direction of transmission (8) Proximity detection information (9) Equipment location information (10) Map information (11) First-person video information (12) Third-person video information (13) Sound information (14) Magnetic field information (15) Information obtained by location coordinate estimation (16) Information obtained by posture estimation (17) Information obtained by barometer
[0139] Furthermore, information (1), (2), and (3) are, for example, information obtained by the PDR described above, and information (16) is, for example, information obtained by attitude estimation using an inertial measurement unit or a camera.
[0140] Moreover, information (4) and (5) are, for example, information obtained by the above-mentioned BLE distance detection or UWB distance detection. Moreover, information (6) is, for example, information obtained by the above-mentioned BLE azimuth angle detection or UWB azimuth angle detection. Moreover, information (7) is, for example, information obtained by the BLE transmission direction.
[0141] Moreover, the information (8), (9), and (15) are, for example, information obtained by the above-mentioned BLE position detection or UWB position detection, and the information (10) is the above-mentioned map information.
[0142] Moreover, information (11) and (12) are, for example, information obtained from image data captured by the camera 72 described above. Information (13) is, for example, information obtained from sound information acquired by a microphone provided in the information processing devices 1 and 2. Moreover, information (14) is, for example, information obtained by a magnetic sensor provided in the information processing devices 1 and 2 or another device. Moreover, information (17) is information obtained by an air pressure sensor (barometer) provided in the information processing devices 1 and 2 or another device.
[0143] The above configuration also makes it possible to suitably estimate the position or orientation of a target.
[0144] [Software implementation example] The functions of the information processing devices 1 and 2 (hereinafter referred to as "devices") can be realized by a program that causes a computer to function as the device, and a program that causes a computer to function as each control block of the device (particularly each part included in the control unit 110, 210).
[0145] In this case, the device includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., a memory) as hardware for executing the program. The control device and storage device execute the program, thereby realizing the functions described in each of the above embodiments.
[0146] The program may be non-transitory and may be recorded on one or more computer-readable recording media. The recording media may or may not be included in the device. In the latter case, the program may be supplied to the device via any wired or wireless transmission medium.
[0147] Furthermore, some or all of the functions of the control blocks can be realized by logic circuits. For example, an integrated circuit in which a logic circuit that functions as each of the control blocks is formed is also included in the scope of the present invention. In addition, the functions of the control blocks can also be realized by, for example, a quantum computer.
[0148] Furthermore, each process described in each of the above embodiments may be executed by AI (Artificial Intelligence). In this case, the AI may run on the control device or on another device (for example, an edge computer or a cloud server).
[0149] (summary) This specification describes at least the following configurations.
[0150] (Configuration A1) The first type of information (u) is information about at least one of the velocity and angular velocity of the object. j a first acquisition unit that acquires the Second type information (x) is information about at least one of the position and orientation (posture) of the object. i pf a second acquisition unit for acquiring the The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, j pdr ) and a first derivation part (optimized position correction) for deriving the An information processing device comprising:
[0151] (Configuration A2) The second acquisition unit The first type of information (u j ) and information different from the first type of information (BLE, UWB, etc.), and i pf ) The information processing device according to configuration A1, comprising:
[0152] (Configuration A3) The first lead-out portion includes: The correction value (x j pgo ) into the second type of information (x i pf ) and the correction value (x j pgo ) and the second error (e k pf) and derive it further The information processing device according to configuration A2.
[0153] (Configuration A4) The first lead-out portion includes: The second error is calculated by dividing the first type of information (u j ) and a covariance matrix according to the measurement accuracy of at least one of information different from the first type of information (BLE, UWB, etc.) to calculate the second error. The information processing device according to configuration A3.
[0154] (Configuration A5) The function (f(r)) defining the second error is The second type of information (x i pf ) and the correction value (x j pgo ) is a function configured such that the slope of the function when the argument as the difference between The information processing device according to configuration A3 or A4.
[0155] (Configuration A6) The first lead-out portion includes: The correction value (x j pgo ) is the scale error (s j ) and derive it further The information processing device according to any one of configurations A3 to A5.
[0156] (Configuration A7) The first lead-out portion includes: The correction value (x j pgo ) into the first error (e j pdr ) and multiple types of errors (e j vio ,e j UWB ,e j c_pdr ,e j c_vio) and derive it by further referring to one or more errors obtained by excluding errors that are inconsistent with other errors. The information processing device according to any one of configurations A3 to A6.
[0157] (Configuration A8) The second lead-out portion includes: The correction value (x j pgo ) and further referring to the second type of information (x i pf ) The information processing device according to any one of configurations A3 to A7.
[0158] (Configuration A9) a display unit that displays at least one of the position and the orientation of the object based on the correction value derived by the first derivation unit (optimized position correction); The information processing device according to any one of the configurations A1 to A8, further comprising:
[0159] (Configuration A10) The first type of information (u j ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second lead-out portion includes: The first type of information (u j ) by applying a correction process referring to at least one of the results of BLE distance detection, BLE direction detection, and BLE position detection, i pf ) The information processing device according to any one of configurations A2 to A9.
[0160] (Configuration A11) The second lead-out portion includes: The first type of information (u j ) by applying a correction process that further refers to map information to obtain the second type of information (x i pf ) The information processing device according to configuration A10.
[0161] (Configuration A12) The first type of information (u j ) is derived by referring to the measurement results from an inertial measurement unit (IMU), The second lead-out portion includes: The first type of information (u j ) by applying a correction process with reference to at least one result of UWB distance detection, UWB direction detection, and UWB position detection, i pf ) The information processing device according to any one of configurations A2 to A9.
[0162] (Configuration A13) The second lead-out portion includes: The first type of information (u j ) by applying a correction process that further refers to map information to obtain the second type of information (x i pf ) The information processing device according to configuration A12.
[0163] (Configuration A14) The first lead-out portion includes: The correction value (x j pgo ) The information processing device according to any one of configurations A11 to A13.
[0164] (Configuration A15) At least one of the first type of information and the second type of information includes information derived with reference to camera images. The information processing device according to configuration A1.
[0165] (Configuration A16) The first type of information includes information derived by referring to the number of wheel revolutions of the moving object. The information processing device according to configuration A15.
[0166] (Configuration A17) the first type of information includes information derived with reference to the number of wheel rotations of the moving object; The second type of information includes information derived with reference to GNSS information. The information processing device according to configuration A1 or A2.
[0167] (Configuration A18) The first type of information (u) is information about at least one of the velocity and angular velocity of the object. j ) a first acquisition step of acquiring Second type information (x) is information about at least one of the position and orientation of the object. i pf ) and a second acquisition step to obtain The first type of information (u j ) and the second type of information (x i pf ) and based on A correction value (x j pgo ) is the error between the difference between the first type of information and the correction value, and the first error (e j pdr ) and the first derivation step (optimized position correction) An information processing method comprising:
[0168] (Configuration A19) A program for causing a computer to function as the information processing device according to configuration A1, the program causing a computer to function as the first acquisition unit, the second acquisition unit, and the first derivation unit.
[0169] (Configuration A20) A computer-readable recording medium having the program according to configuration A19 recorded thereon.
[0170] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. [Explanation of symbols]
[0171] 1,2 Information processing device 11 First acquisition section 12 Second acquisition section 121 Second derivation 13 First derivation 14 Output section
Claims
1. a first acquisition unit that acquires first information, which is information regarding at least one of a velocity and an angular velocity of an object; a second acquisition unit that acquires second information, which is information regarding at least one of a position and an orientation of the target; Based on the first type of information and the second type of information, a first derivation unit that derives a correction value related to at least one of the position and the orientation by referring to a first error that is an error between the first type of information and the correction value; An information processing device comprising:
2. The second acquisition unit a second derivation unit that derives the second type of information by referring to the first type of information and information different from the first type of information; The information processing device according to claim 1 , further comprising:
3. The first lead-out portion includes: The correction value is derived by further referring to a second error, which is an error between the second type of information and the correction value. The information processing device according to claim 2 .
4. The first lead-out portion includes: The second error is calculated by referring to a covariance matrix according to the measurement accuracy of at least one of the first type of information and information different from the first type of information. The information processing device according to claim 3 .
5. The function defining the second error is The function is configured so that the slope of the function when an argument representing the difference between the second type of information and the correction value is greater than a predetermined value is smaller than the slope of the function when the difference is equal to or smaller than the predetermined value. The information processing device according to claim 3 .
6. The first lead-out portion includes: The correction value is derived by further referring to a scale error of the first type of information. The information processing device according to claim 3 .
7. The first lead-out portion includes: The correction value is derived by further referring to one or more errors obtained by excluding errors that are inconsistent with other errors from among a plurality of types of errors different from the first error. The information processing device according to claim 3 .
8. The second lead-out portion includes: deriving the second type of information by further referring to the correction value derived by the first derivation unit; The information processing device according to claim 3 .
9. a display unit that displays at least one of the position and the orientation of the object based on the correction value derived by the first derivation unit; The information processing device according to claim 1 , further comprising:
10. the first type of information is derived with reference to a measurement result by an inertial measurement unit, The second lead-out portion includes: The second type of information is derived by applying a correction process to the first type of information with reference to at least one result of BLE distance detection, BLE direction detection, and BLE position detection. The information processing device according to claim 2 .
11. The second lead-out portion includes: The second type of information is derived by applying a correction process to the first type of information, further referring to map information. The information processing device according to claim 10.
12. the first type of information is derived with reference to a measurement result by an inertial measurement unit, The second lead-out portion includes: The second type of information is derived by applying a correction process to the first type of information with reference to at least one result of UWB distance detection, UWB direction detection, and UWB position detection. The information processing device according to claim 2 .
13. The second lead-out portion includes: The second type of information is derived by applying a correction process to the first type of information with further reference to map information. The information processing device according to claim 12.
14. The first lead-out portion includes: deriving the correction value by further referring to at least one result of the UWB distance detection, the UWB direction detection, and the UWB position detection; The information processing device according to claim 12.
15. At least one of the first type of information and the second type of information includes information derived with reference to camera images. The information processing device according to claim 1 .
16. The first type of information includes information derived by referring to the number of wheel revolutions of the moving object. The information processing device according to claim 15.
17. the first type of information includes information derived with reference to the number of wheel rotations of the moving object; The second type of information includes information derived with reference to GNSS information.
3. The information processing device according to claim 1 or 2.
18. a first acquisition step of acquiring first information, the first information being information relating to at least one of a velocity and an angular velocity of the object; a second acquisition step of acquiring second information, the second information being information regarding at least one of a position and an orientation of the object; Based on the first type of information and the second type of information, a first derivation step of deriving a correction value relating to at least one of the position and the orientation by referring to a first error which is an error between the first type of information and the correction value; An information processing method comprising:
19. 2. A program for causing a computer to function as the information processing device according to claim 1, the program causing a computer to function as the first acquisition unit, the second acquisition unit, and the first derivation unit.
20. A computer-readable recording medium on which the program according to claim 19 is recorded.
Citation Information
Patent Citations
Inertia device, program, and positioning method
JP2017106891A