Positioning device, positioning method, program, and storage device
By integrating the inertial detection and navigation processing units in the positioning device and forming and optimizing the pause diagram, the problem of data time mismatch between inertia and satellite navigation is solved, the positioning accuracy and the robustness of the equipment are improved, and the dependence on high-performance inertial detection units is reduced.
Patent Information
- Application Number
- JP2023167568
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-04-09
AI Technical Summary
When traditional positioning equipment calculates the position difference between inertial navigation and satellite navigation, it may cause inaccurate positioning relationships due to mismatch in data acquisition time, affecting positioning accuracy.
The positioning device including an inertial detection unit, an inertial navigation processing unit, a positioning signal receiving unit and an object detection unit is adopted to systematically correct the status information of the inertial navigation by forming and optimizing the pause diagram, control information weighting, and optimize loop closure to improve positioning accuracy.
By optimizing loop closure and information weighting, the requirements of time synchronization and positioning accuracy can be effectively reduced, and the use of high-performance and expensive inertial detection units can be avoided, while improving the robustness and environmental adaptability of the positioning equipment.
Smart Images

Figure 2025057812000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a positioning device, a positioning method, a program, and a storage device. [Background technology]
[0002] Conventionally, for example, a positioning device is known that corrects errors in an inertial measurement unit mounted on a moving body based on the difference between the position of the moving body obtained by inertial navigation and the position of the moving body obtained by satellite navigation (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2009-41932 A Summary of the Invention [Problem to be solved by the invention]
[0004] In the above-mentioned conventional positioning device, the difference between the positions measured by the inertial navigation and the satellite navigation is calculated in a time-synchronized state. However, even if the measurement timing is the same, the timing of acquiring the data output from the inertial measurement unit and the positioning signal output from the satellite may not match, which may cause a discrepancy in the correspondence between the position measured by the inertial navigation and the position measured by the satellite navigation.
[0005] An object of the present invention is to provide a positioning device, a positioning method, a program, and a storage device that can improve positioning accuracy. [Means for solving the problem]
[0006] In order to solve the above problems and achieve the above object, the present invention employs the following aspects. (1): A positioning device according to one aspect of the present invention (e.g., positioning device 10 in the embodiments) includes an inertial detection unit (e.g., inertial detection unit 13 in the embodiments) mounted on a moving body (e.g., moving body M in the embodiments) and outputting inertial information, an inertial navigation processing unit (e.g., inertial navigation processing unit 25 in the embodiments) that outputs first time-series state information (e.g., third information in the embodiments) of the moving body by inertial navigation based on the inertial information, a detection information output unit (e.g., positioning signal receiving unit 11, object detection unit 12 in the embodiments) that outputs detection information related to the first state information, and a positioning unit (e.g., positioning signal receiving unit 12, object detection unit 13, object detection unit 14) that outputs detection information related to the first state information by positioning based on the detection information. and an integration processing unit (e.g., information integration unit 26 in the embodiments) that forms a pose graph (e.g., pose graph 30 in the embodiments) using the first state information and the second state information that relatively constrains the first state information in a predetermined section of the time series (e.g., the first section and the second section in the embodiments) and outputs a systematic error of the first state information by optimizing loop closure in the predetermined section.
[0007] (2): In the positioning device described in (1) above, the integration processing unit may control weighting of the first status information and the second status information in accordance with a length of the predetermined section.
[0008] (3): In the positioning device described in (1) or (2) above, the positioning processing unit includes at least one of a first positioning processing unit (e.g., first position estimation unit 21 in an embodiment) and a second positioning processing unit (e.g., second position estimation unit 23 in an embodiment), and the first positioning processing unit outputs the second status information by positioning based on a positioning signal acquired from the outside, and the second positioning processing unit outputs the second status information by positioning based on point cloud information obtained in response to detection of an external object.
[0009] (4): A positioning method according to one aspect of the present invention is a positioning method executed by an electronic device (e.g., positioning device 10 in an embodiment) having a processing unit (e.g., processing unit 16 in an embodiment) that acquires status information of a moving body (e.g., moving body M in an embodiment), and includes the steps of: outputting first time-series status information of the moving body (e.g., third information in an embodiment) by inertial navigation based on inertial information output from an inertial detection unit mounted on the moving body (e.g., step S01 in an embodiment); outputting second time-series status information of the moving body (e.g., first information and second information in an embodiment) by positioning based on detection information related to the status information (e.g., step S01 in an embodiment serves as both); and forming a pose graph using the first time-series information and the second time-series information that relatively constrains the first time-series information in a predetermined section (e.g., the first section and the second section in an embodiment), and outputting a systematic error of the first time-series information by optimizing loop closure in the predetermined section (e.g., steps S06 and S07 in an embodiment).
[0010] (5): A program according to one aspect of the present invention causes a computer of an electronic device (e.g., positioning device 10 in an embodiment) having a processing unit (e.g., processing unit 16 in an embodiment) that acquires status information of a moving body to execute the steps of: outputting first time-series status information of the moving body (e.g., third information in an embodiment) by inertial navigation based on inertial information output from an inertial detection unit mounted on the moving body (e.g., step S01 in an embodiment); outputting second time-series status information of the moving body (e.g., first information and second information in an embodiment) by positioning based on detection information related to the status information (e.g., step S01 in an embodiment serves as both); and forming a pose graph using the first time-series information and the second time-series information that relatively constrains the first time-series information in a predetermined section (e.g., the first section and the second section in an embodiment), and outputting a systematic error of the first time-series information by optimizing loop closure in the predetermined section (e.g., steps S06 and S07 in an embodiment).
[0011] (6): A storage device according to one aspect of the present invention is a computer-readable storage device storing the program described in (5) above. Effect of the Invention
[0012] According to the above (1), by providing an integrated processing unit that performs optimization of loop closure with a pose graph formed by second state information that relatively constrains first state information in a predetermined section, it is possible to appropriately acquire a systematic error of the first state information. Optimization of the loop closure can suppress an increase in the time precision and synchronism required for the first state information and the second state information, and suppress the need for an expensive inertial detection unit with high performance.
[0013] In the above case (2), by providing an integration processing unit that controls the weighting of the first status information and the second status information according to the length of the specified section, the systematic error of the first status information can be obtained with high accuracy.
[0014] In the above case of (3), by providing at least one of the first positioning processing unit and the second positioning processing unit, it is possible to improve robustness against the moving environment of the moving object. For example, even if the moving environment of the moving object causes a decrease in accuracy of the positioning signal or makes it difficult to receive the signal, or even if the moving environment of the moving object frequently changes and positioning based on point cloud information becomes complicated or complex, it is possible to appropriately acquire the systematic error of the first state information.
[0015] According to the above (4), (5) or (6), the systematic error of the first state information can be appropriately acquired by performing optimization of the loop closure in the pose graph formed by the second state information that relatively constrains the first state information in a predetermined section. The optimization of the loop closure can suppress the time precision and synchronism required for the first state information and the second state information from becoming high, and suppress the need for a high-performance and expensive inertial detection unit. [Brief description of the drawings]
[0016] [Figure 1] FIG. 2 is a block diagram showing the functional configuration of the positioning device according to the embodiment of the present invention. [Diagram 2] FIG. 4 is a diagram showing an example of a pose graph formed by the positioning device according to the embodiment of the present invention. [Diagram 3] 4 is a flowchart showing the operation of the positioning device according to the embodiment of the present invention. [Figure 4] FIG. 2 is a diagram showing an example of an optimization process performed by the positioning device according to the embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a positioning device and a positioning method according to an embodiment of the present invention will be described with reference to the accompanying drawings. The positioning device of the embodiment acquires information on the position and attitude of a moving body. The moving body is, for example, a manned or unmanned vehicle, a mobile work machine that performs a predetermined task while moving, or another robot. The moving body moves, for example, automatically or autonomously, moves according to manual operation by an operator (e.g., remote control, etc.), or moves according to driving operation by an occupant.
[0018] FIG. 1 is a block diagram showing a functional configuration of a positioning device 10 according to an embodiment. 1, a positioning device 10 mounted on a moving body M includes, for example, a positioning signal receiving unit 11, an object detection unit 12, an inertial detection unit 13, an input / output unit 14, a storage unit 15, and a processing unit 16. The processing unit 16 includes, for example, a first position estimation unit 21, a point cloud processing unit 22, a second position estimation unit 23, an attitude estimation unit 24, an inertial navigation processing unit 25, and an information integration unit 26.
[0019] The positioning signal receiving unit 11 includes an antenna for a satellite positioning system (GNSS: Global Navigation Satellite System) such as a Global Positioning System (GPS). The positioning signal receiving unit 11 outputs, to the first position estimating unit 21, predetermined information obtained from a positioning signal received by the antenna or information on a position and attitude obtained by a predetermined calculation based on the positioning signal.
[0020] The object detection unit 12 is, for example, a sonar, a radar device, a finder, etc., and acquires three-dimensional point cloud data. The finder is, for example, a LIDAR (Light Detection and Ranging, or Laser Imaging Detection and Ranging). The object detection unit 12 detects the distance to the object or the position of the object, for example, by emitting ultrasonic waves, electromagnetic waves, or light around the target object and detecting reflection or scattering by the object. The object detection unit 12 acquires a collection of points (point cloud data) having position information, for example, by scanning the object in a three-dimensional space. The object detection unit 12 outputs the acquired point cloud data to the point cloud processing unit 22.
[0021] The inertial detection unit 13 is, for example, an inertial measurement unit (IMU) or the like, and detects the inertial motion of the moving body M. The inertial detection unit 13 includes, for example, an acceleration sensor that detects the acceleration of the moving body M, and a gyro sensor that detects the angular velocity of the moving body M. The inertial detection unit 13 outputs inertial information obtained by detection to the attitude estimation unit 24.
[0022] The input / output unit 14 includes, for example, an input / output device that is a user interface, and connection terminals that are connected to various external devices. The input / output device includes, for example, a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display, an input device such as a button or a touch panel that accepts an input operation by an operator's finger, a microphone for voice input, and a speaker for sound output. The storage unit 15 stores, for example, various types of information and predetermined programs.
[0023] The processing unit 16 includes a software function unit that functions when a processor such as a CPU (Central Processing Unit) executes a predetermined program. The software function unit is an ECU (Electronic Control Unit) that includes a processor such as a CPU, a ROM (Read Only Memory) that stores programs, a RAM (Random Access Memory) that temporarily stores data, and electronic circuits such as a timer. At least a part of the processing unit 16 may be an integrated circuit such as an LSI (Large Scale Integration).
[0024] The processing unit 16 acquires information such as the position and attitude of the moving body M by performing various calculation processes based on information acquired from, for example, the positioning signal receiving unit 11, the object detection unit 12, the inertial detection unit 13, the input / output unit 14 and the memory unit 15.
[0025] The first position estimation unit 21 acquires information (first information) such as the position and attitude of the moving object M by predetermined positioning based on information acquired from the positioning signal receiving unit 11. The first position estimation unit 21 outputs the acquired first information to the storage unit 15, the information integration unit 26, or the like.
[0026] The point cloud processing unit 22 performs so-called scan matching by comparing the point cloud data acquired from the object detection unit 12 with previously acquired reference point cloud data (point cloud map). The point cloud processing unit 22 acquires relative displacements (deviations in position, attitude, etc.) between different point cloud data by scan matching. The point cloud processing unit 22 outputs the acquired relative displacements to the second position estimation unit 23. The second position estimation unit 23 acquires information (second information) such as the position and attitude of the moving object M by predetermined positioning based on the point cloud data acquired from the point cloud processing unit 22 and the relative displacement. The second position estimation unit 23 outputs the acquired second information to the storage unit 15, the information integration unit 26, or the like.
[0027] The attitude estimation unit 24 acquires information on the attitude of the moving body M by a predetermined calculation based on the inertial information acquired from the inertial detection unit 13. The attitude estimation unit 24 calculates the attitude angles (roll and pitch) and azimuth angle (yaw) of the moving body M based on, for example, the three-axis acceleration and the three-axis angular velocity. The attitude estimation unit 24 outputs the acquired attitude information to the inertial navigation processing unit 25. The inertial navigation processing unit 25 acquires information (third information) such as the position, speed, and attitude of the moving body M by a predetermined inertial navigation calculation or the like based on the information on the attitude of the moving body M acquired from the attitude estimation unit 24. The inertial navigation processing unit 25 acquires the third information by the inertial navigation calculation or the like, for example, every time a state change due to a change in the moving distance or attitude angle of the moving body M reaches or exceeds a predetermined value. The inertial navigation processing unit 25 outputs the acquired third information to the storage unit 15, the information integration unit 26, or the like.
[0028] The information integration unit 26 integrates, for example, information such as the position and attitude of the moving body M outputted from each of the first position estimation unit 21, the second position estimation unit 23, and the inertial navigation processing unit 25. The information integration unit 26 corrects, for example, the time-series third information acquired by the inertial navigation processing unit 25 using the first information and the second information.
[0029] FIG. 2 is a diagram showing an example of a pose graph 30 formed by the positioning device 10 of the embodiment. 2, the information integration unit 26 obtains the systematic error of the third information, for example, by optimizing a pose graph 30. The pose graph 30 includes, for example, a plurality of nodes 31, a plurality of between-node factors 32, a prior factor 33, a pseudo factor 34, a first loop closing factor (first factor) 35, and a second loop closing factor (second factor) 36.
[0030] The multiple nodes 31 are associated with multiple pieces of third information (for example, posture state amounts X0, X1, X2, X3, X4, X5, . . . relating to the posture of the moving object M) obtained in time series. The multiple inter-node factors 32 connect between adjacent nodes 31 in time series. Each of the multiple inter-node factors 32 relatively constrains adjacent nodes 31. Each of the multiple inter-node factors 32 is associated with, for example, integrated information (e.g., integrated information I1, I2, I3, I4, I5, . . . ) obtained by integrating the inertial information output from the inertial detection unit 13. The integrated information is, for example, information used in a predetermined inertial navigation calculation by the inertial navigation processing unit 25. For example, in the case of posture state amounts X0 and X1 that are adjacent in time series, the current posture state amount X1 is obtained from the posture state amount X0 obtained previously and the integrated information I1 obtained this time.
[0031] The a priori factor 33 absolutely constrains, for example, a priori node 31 associated with the posture state amount X0. The a priori factor 33 defines the posture state amount X0 by, for example, information (for example, posture information A0, etc.) on the posture of the moving body M acquired based on inertial information (for example, information output from an acceleration sensor, etc.) output from the inertial detection unit 13. The pseudo factor 34, for example, absolutely constrains a node 31 (a node 31 associated with the posture state amount X1) adjacent to a previous node 31 in time series. The pseudo factor 34 defines the posture state amount X1 by, for example, integrated information (for example, integrated information P0, etc.) obtained by integrating inertial information (for example, information output from a gyro sensor, etc.) output from the inertia detection unit 13.
[0032] The first loop closure factor (first factor) 35 relatively constrains the nodes 31 in a predetermined section (first section) by a loop set in the first section of the multiple nodes 31 arranged in time series. The first factor 35 constrains the amount of change in the posture state quantity of the nodes 31 in the first section, for example, by the amount of change in first information (for example, information on the posture of the moving body M) corresponding to the first section. 2, the first section is set between the node 31 of the posture state quantity X1 and the node 31 of the posture state quantity X4. The first factor 35 has a change amount G1 between the first information at the same time as the posture state quantity X1 and the first information at the same time as the posture state quantity X4. The first information at the same time is, for example, information obtained by measuring the state of the moving body M at the same time, and corresponds to the timing at which the inertial detection unit 13 detects the position, posture, etc. of the moving body M and the timing at which the positioning signal received by the positioning signal receiving unit 11 is transmitted from a satellite, etc.
[0033] A second loop closure factor (second factor) 36 relatively constrains the nodes 31 in a predetermined section (second section) by a loop set in the second section of the multiple nodes 31 arranged in time series. The second factor 36 constrains the amount of change in the posture state quantity of the nodes 31 in the second section, for example, by the amount of change in second information (for example, information on the posture of the moving body M) corresponding to the second section. 2, the second section is set between the node 31 of the posture state quantity X2 and the node 31 of the posture state quantity X5. The second factor 36 has a change amount F1 between the second information at the same time as the posture state quantity X21 and the second information at the same time as the posture state quantity X5. The second information at the same time is, for example, information obtained by measuring the state of the moving body M at the same time, and corresponds to the timing at which the inertial detection unit 13 detects the position, posture, etc. of the moving body M and the timing at which the object detection unit 12 acquires point cloud data being the same.
[0034] The information integration unit 26, for example, sets a predetermined lower limit threshold for the lengths of the first and second intervals, and sets the lengths of the first and second intervals to be equal to or greater than the predetermined lower limit threshold. The predetermined lower limit threshold is, for example, a length of an interval that allows a time error between the first and second information and the third information (for example, a time difference when the information is recognized as being from the same time) to be negligible. The information integration unit 26 controls the weighting of the first information, the second information, and the third information, for example, in accordance with the lengths of the first and second intervals. The information integration unit 26 controls the weighting, for example, in accordance with the fact that the error of the third information changes in accordance with the amount of change over time, whereas the error of the first information and the second information is approximately constant regardless of the amount of change over time. The information integration unit 26 controls the weighting, for example, so that the shorter the length of each interval, the higher the priority is given to the third information, and so that the longer the length of each interval, the higher the priority is given to the first and second information.
[0035] The information integration unit 26 acquires a systematic error of the posture state quantity (third information) by, for example, optimizing a predetermined loop closure in each of the first and second sections of the pose graph 30. The information integration unit 26 corrects the posture state quantity of each of the nodes 31 in the first and second sections according to the systematic error acquired by the optimization process.
[0036] FIG. 3 is a flowchart showing the operation of the positioning device 10 in the embodiment. First, in step 01 shown in FIG. 3, the information integration unit 26 acquires the third information output by the inertial navigation calculation of the inertial navigation processing unit 25 which is sequentially executed at an appropriate timing. Next, in step S02, the information integration unit 26 acquires posture state quantities of the moving object M associated with each node 31 of the pose graph 30, based on the acquired third information. Next, in step S03, the information integration unit 26 extracts each of the first information and second information that are recognized to be information at the same time for the posture state quantities of the appropriate nodes 31, in order to set appropriate first and second intervals for the multiple nodes 31 arranged in chronological order in the pose graph 30. Next, in step S04, the information integration unit 26 executes a predetermined graph optimization process for each of the first and second intervals. Next, in step S05, the information integration unit 26 executes a predetermined loop closure optimization process in each of the first section and the second section. Next, in step S06, the information integration unit 26 corrects the posture state quantity of each of the nodes 31 in the first section and the second section in accordance with the systematic error of the posture state quantity (third information) acquired by the optimization process. Then, the information integration unit 26 advances the process to the end.
[0037] FIG. 4 is a diagram illustrating an example of an optimization process performed by the positioning device 10 of the embodiment. The first state a1 in the example shown in FIG. 4 is a state in which attitude state quantities (e.g., angle information) for a plurality of nodes 31 are acquired according to the third information sequentially output from the inertial navigation processing unit 25. Four attitude state quantities Xn-1, Xn, Xn+1, and Xn+2 are acquired sequentially from an appropriate past attitude state quantity Xn-2 toward the attitude state quantity Xn+2 at this point. The change amount Δ between the attitude state quantities adjacent in time series is, for example, 1° (change amount Δ=1°), and the plurality of attitude state quantities Xn-2, Xn-1, Xn, and Xn+1 are, for example, 1° (attitude state quantity Xn-2=1°), 2° (attitude state quantity Xn-1=2°), 3° (attitude state quantity Xn=3°), and 4° (attitude state quantity Xn+1=4°) sequentially.
[0038] The second state a2 is a state in which a loop is set by the first factor 35 in the section (first section) between the posture state amount Xn-2 and the posture state amount Xn in response to the extraction of first information that is recognized as information at the same time for each of the posture state amount Xn-2 and the posture state amount Xn among the multiple nodes 31 arranged in time series. The first factor 35 is associated with a change amount G1 between the first information at the same time as the posture state amount Xn-2 and the first information at the same time as the posture state amount Xn, and the change amount G1 is, for example, 1° (G1=Δ=1°). The change amount G1 of the first information corresponds to, for example, two times in which the posture state amount Xn-1 and the posture state amount Xn are acquired in sequence from the posture state amount Xn-2. The amount of change ΔG of the first information between the posture state amount Xn-2 and the posture state amount Xn-1 and between the posture state amount Xn-1 and the posture state amount Xn is, for example, 0.5° (ΔG=0.5°).
[0039] The third state a3 is a state in which a predetermined graph optimization process has been executed. First, among the posture state amounts Xn-2, Xn-1, and Xn in the first section, each of the posture state amounts Xn-1 and Xn is corrected by the change amount ΔG (=0.5°) of the first information. The posture state amounts Xn-1 and Xn after correction are, for example, 1.5° (posture state amount Xn-1=2°-0.5°=1.5°) and 2° (posture state amount Xn=3°-0.5°-0.5°=2°), respectively. Next, the posture state amounts Xn+1, Xn+2 after the first section are each corrected according to the corrected posture state amount Xn while maintaining the amount of change Δ (=1°) in the posture state amount in the first state a1. The posture state amounts Xn+1, Xn+2 are, for example, 3° (posture state amount Xn+1=2°+1°=3°) and 4° (posture state amount Xn+2=3°+1°=4°), respectively.
[0040] The fourth state a4 is a state in which a predetermined loop closing optimization process is executed in the first section. Each posture state amount Xn-2, Xn-1, Xn of the node 31 in the first section is corrected according to the systematic error of the posture state amount (third information) acquired by the optimization process. The corrected posture state amounts Xn-2, Xn-1, Xn are, for example, Cn-2°, Cn-1°, Cn° in sequence by appropriate real numbers. In addition, since no systematic error is acquired in any section other than the first section, for example, the newly acquired posture state amount Xn+3 is 4.5° (posture state amount Xn+3=4°+1°-0.5°=4.5°) according to the most recent posture state amount Xn+2 (=4°), the change amount Δ of the posture state amount in the first state a1 (=1°), and the change amount ΔG of the first information in the second state a2 (=0.5°).
[0041] As described above, according to the positioning device 10 and the positioning method of the embodiment, the systematic error of the third information can be appropriately acquired by providing the information integration unit 26 that performs optimization processing of the loop closure in the first section and the second section of the pose graph 30. Optimization of the loop closure can suppress the time precision and synchronism required for the first information, the second information, and the third information from becoming high, and suppress the need for an expensive inertial detection unit 13 with high performance.
[0042] By providing an information integration unit 26 that controls the weighting of the third information, the first information, and the second information according to the length of a specified section in which a loop of the pose graph 30 is set, the systematic error of the third information can be obtained with high accuracy. Providing the object detection unit 12 and the inertial detection unit 13 can improve robustness against the moving environment of the moving body M. For example, even if the moving environment of the moving body M causes a decrease in accuracy of the positioning signal or makes it difficult to receive the signal, or even if the moving environment of the moving body M changes frequently and positioning based on point cloud data becomes complicated or complex, the systematic error of the third information can be appropriately acquired.
[0043] (Modification) Modifications of the embodiment will be described below. Note that the same parts as those in the above-described embodiment will be denoted by the same reference numerals and descriptions thereof will be omitted or simplified. In the above-described embodiment, the information integration unit 26 corrects the time-series third information acquired by the inertial navigation processing unit 25 using the first information and the second information, but is not limited to this. For example, the information integration unit 26 may perform the correction using only the first information or the second information. Furthermore, the positioning device 10 is described as including the positioning signal receiving unit 11 and the object detecting unit 12, but is not limited thereto, and may include, for example, another device that outputs detection information related to information such as the position and attitude of the moving body M. The information integration unit 26 may correct the third information using information such as the position and attitude of the moving body M acquired based on the detection information output from the other device.
[0044] In addition, a program for realizing all or part of the functions of the positioning device 10 in the present invention may be recorded in a computer-readable recording medium, and the program recorded in the recording medium may be read into a computer system and executed to perform all or part of the processing performed by the positioning device 10. Note that the term "computer system" as used herein includes hardware such as an OS and peripheral devices. The term "computer system" also includes a WWW system equipped with a homepage providing environment (or display environment). The term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage devices such as hard disks built into a computer system. The term "computer-readable recording medium" also refers to a storage device that holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line.
[0045] The above program may also be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium, or by transmission waves in the transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The above program may also be for realizing part of the above-mentioned functions. Furthermore, it may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.
[0046] The embodiments of the present invention are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope of the invention and its equivalents as described in the claims, as well as the scope and spirit of the invention. [Explanation of symbols]
[0047] 10...positioning device (electronic device), 11...positioning signal receiving unit (detection information output unit), 12...object detection unit (detection information output unit), 13...inertial detection unit, 14...input / output unit, 15...memory unit, 16...processing unit, 21...first position estimation unit (positioning processing unit, first positioning processing unit), 22...point cloud processing unit, 23...second position estimation unit (positioning processing unit, second positioning processing unit), 24...attitude estimation unit, 25...inertial navigation processing unit, 26...information integration unit (integration processing unit), 30...pose graph, M...moving body.
Claims
1. an inertial detection unit mounted on the moving body and outputting inertial information; an inertial navigation processing unit that outputs first time-series state information of the moving object by inertial navigation based on the inertial information; a detection information output unit that outputs detection information related to the first status information; a positioning processing unit that outputs second state information of the moving object by positioning based on the detection information; an integration processing unit that forms a pose graph using the first state information and the second state information that relatively constrains the first state information in a predetermined section of the time series, and outputs a systematic error of the first state information by optimizing a loop closure in the predetermined section; A positioning device comprising:
2. The integration processing unit includes: Controlling weighting of the first status information and the second status information according to the length of the predetermined section The positioning device according to claim 1 .
3. The positioning processing unit includes at least one of a first positioning processing unit and a second positioning processing unit, The first positioning processing unit outputs the second state information by positioning based on a positioning signal acquired from an external device, The second positioning processing unit outputs the second state information by positioning based on point cloud information obtained in response to detection of an external object. The positioning device according to claim 1 or 2.
4. A positioning method executed by an electronic device including a processing unit for acquiring status information of a moving object, outputting first state information of the moving body in time series by inertial navigation based on inertial information output from an inertial detection unit mounted on the moving body; outputting second status information of the moving object by positioning based on detection information related to the status information; forming a pose graph based on the first state information and the second state information that relatively constrains the first state information in a predetermined section of the time series, and outputting a systematic error of the first state information by optimizing a loop closure in the predetermined section; A positioning method including:
5. A computer of an electronic device including a processing unit for acquiring status information of a moving object, outputting first state information of the moving body in time series by inertial navigation based on inertial information output from an inertial detection unit mounted on the moving body; outputting second status information of the moving object by positioning based on detection information related to the status information; forming a pose graph based on the first state information and the second state information that relatively constrains the first state information in a predetermined section of the time series, and outputting a systematic error of the first state information by optimizing a loop closure in the predetermined section; A program that executes the following.
6. A computer-readable storage device storing the program according to claim 5.
Citation Information
Patent Citations
Mobile object positioning apparatus
JP2009041932A