System initialization method and device and computer readable medium
By using IMU data to judge static or dynamic environments in the V-SLAM system and dynamically adjusting the initialization method, the initialization failure caused by IMU sensor noise is solved, and the system response speed and positioning accuracy are improved.
Patent Information
- Application Number
- CN202411989976.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-02
Smart Images

Figure CN119917172A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information technology, and in particular to a system initialization method, device and computer-readable medium. Background Art
[0002] V-SLAM (Visual Simultaneous Localization and Mapping) is an important method for realizing autonomous positioning and map construction of mobile robots and other devices in unknown environments. In the prior art, static initialization methods are usually used when initializing V-SLAM systems. These methods mostly rely on the acceleration and angular velocity measurements of IMU (Inertial Measurement Unit) data, and estimate the initial bias by calculating the variance of acceleration and angular velocity in the early stage of data collection. However, when the robot moves quickly or in a complex environment, the initialization process may fail due to the noise and dynamic changes of the IMU sensor, thereby affecting the accuracy of the entire positioning system. Summary of the invention
[0003] One object of the present application is to provide a system initialization method, device and computer-readable medium.
[0004] To achieve the above object, the present application provides a system initialization method, the method comprising:
[0005] Get the IMU data collected by the IMU sensor within the preset time window;
[0006] Determine whether the static initialization conditions are met based on the fluctuation of the IMU data within the preset time window;
[0007] If the static initialization conditions are met, statically initialize the system according to the IMU data;
[0008] If the static initialization condition is not met, the visual data obtained by the visual sensor is obtained, and the visual data is integrated with the IMU data to dynamically initialize the system.
[0009] Furthermore, obtaining IMU data within a preset time window collected by the IMU sensor includes:
[0010] The IMU sensor collects IMU data within a preset time period and compares the
[0011] IMU data sorting;
[0012] According to the sorted timestamps, select the IMU data within the preset time window.
[0013] Further, judging whether the static initialization condition is met according to the fluctuation of the IMU data within the preset time window includes:
[0014] Calculating the variance of the IMU data within the preset time window;
[0015] The variance is compared with a static initialization threshold. If the variance is greater than the static initialization threshold, it is determined that the static initialization condition is not met; if the variance is less than or equal to the static initialization threshold, it is determined that the static initialization condition is met.
[0016] Further, if the static initialization condition is met, static initialization is performed on the system according to the IMU data, including:
[0017] If the static initialization condition is met, bias estimation is performed based on the IMU data within the preset time window to calculate the bias of the IMU sensor.
[0018] Further, if the static initialization condition is not met, visual data obtained by the visual sensor is obtained, and the visual data is integrated with the IMU data to dynamically initialize the system, including:
[0019] If the static initialization condition is not met, bias estimation is performed based on the IMU data within the preset time window to calculate the bias of the IMU sensor;
[0020] Obtain visual data obtained by the visual sensor, and obtain a rotation matrix for converting from the IMU coordinate system to the world coordinate system based on the visual data and the IMU data after bias estimation;
[0021] According to the rotation matrix, the IMU coordinate system is aligned to the world coordinate system.
[0022] Further, performing bias estimation according to the IMU data within the preset time window to calculate the bias of the IMU sensor includes:
[0023] Calculate the mean of the IMU data within the preset time window;
[0024] The bias estimation is performed by using the mean value of the IMU data and the relationship between the IMU data and the gravity direction to calculate the bias of the IMU sensor.
[0025] Furthermore, the preset time windows are two consecutive time windows.
[0026] Furthermore, the IMU data includes acceleration data and angular velocity data.
[0027] Based on another aspect of the present application, a system initialization device is also provided, which includes a memory for storing computer program instructions and a processor for executing computer program instructions, wherein when the computer program instructions are executed by the processor, the device is triggered to execute the system initialization method.
[0028] The embodiment of the present application further provides a computer-readable medium on which computer program instructions are stored. The computer program instructions can be executed by a processor to implement the system initialization method.
[0029] Compared with the prior art, the present application provides a system initialization scheme, which obtains IMU data within a preset time window collected by an IMU sensor, determines whether it meets the static initialization conditions according to the fluctuation of the IMU data within the preset time window, and if it meets the static initialization conditions, statically initializes the system according to the IMU data, and if it does not meet the static initialization conditions, obtains visual data obtained by a visual sensor, and fuses the visual data with the IMU data to dynamically initialize the system. During the initialization process, the present scheme utilizes the fluctuation of real-time IMU data to dynamically adjust the timing and method of initialization, thereby avoiding the failure of traditional methods in dynamic environments, reducing unnecessary waiting time, and improving the system response speed. At the same time, through the fusion processing of visual data and IMU data, not only the accuracy of bias estimation is improved, but also the system can be quickly and stably initialized in a dynamic environment, thereby improving the real-time and reliability of the entire V-SLAM system. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
[0031] Figure 1 A flowchart of a system initialization method provided in an embodiment of the present application;
[0032] The same or similar reference numerals in the drawings represent the same or similar components. DETAILED DESCRIPTION
[0033] The present application is described in further detail below in conjunction with the accompanying drawings.
[0034] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0035] In a typical configuration of the present application, the terminal and the equipment of the service network each include one or more processors (CPU), input / output interface, network interface and memory.
[0036] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0037] Computer readable media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0038] The embodiment of the present application provides a system initialization method, which obtains IMU data within a preset time window collected by an IMU sensor, determines whether the static initialization condition is met according to the fluctuation of the IMU data within the preset time window, and if the static initialization condition is met, statically initializes the system according to the IMU data, and if the static initialization condition is not met, obtains visual data obtained by a visual sensor, and dynamically initializes the system by fusing the visual data with the IMU data. During the initialization process, this solution uses the fluctuation of real-time IMU data to dynamically adjust the timing and method of initialization, thereby avoiding the failure of traditional methods in dynamic environments, reducing unnecessary waiting time, and improving the system response speed. At the same time, through the fusion processing of visual data and IMU data, not only the accuracy of bias estimation is improved, but also the system can be quickly and stably initialized in a dynamic environment.
[0039] In actual scenarios, the device executing the method may include a network device, or a device formed by integrating a user device and a network device through a network, or may also be an application running on the above device. The user device includes but is not limited to various terminal devices such as robots, computers, mobile phones, and tablet computers; the network device includes but is not limited to network hosts, single network servers, servers concentrated in multiple network servers, or servers in a distributed cloud network. The distributed cloud network described here is composed of a large number of hosts or network servers based on cloud computing.
[0040] Figure 1 The flowchart of a system initialization method provided in an embodiment of the present application is shown, which at least includes the following processing steps:
[0041] Step S101, obtaining IMU data within a preset time window collected by an IMU sensor.
[0042] After the V-SLAM system is started, the IMU sensor will collect IMU data according to a preset sampling frequency. In some embodiments of the present application, when obtaining the IMU data within the preset time window collected by the IMU sensor, the IMU data within the preset time period can be first collected by the IMU sensor, and the IMU data can be sorted by timestamp, for example, the IMU data can be sorted according to the order of timestamps, thereby obtaining IMU data arranged in the order of collection time. Then, the IMU data within the preset time window can be selected according to the sorted timestamp. The IMU data within the preset time window is the valid data required for subsequent processing.
[0043] In actual scenarios, the IMU data collected by the IMU sensor may include acceleration data and angular velocity data, and the specific sampling frequency can be set according to the requirements of the actual scenario, for example, it can be set to 100Hz, 200Hz, 300Hz, etc. The preset time window can be two consecutive time windows, such as window_1to0 and window_2to1, where window_1to0 represents the time window between timestamps t0 and t1, and window_2to1 represents the time window between timestamps t2 and t0. The IMU data collected in these two consecutive time windows can be used for subsequent processing.
[0044] Step S102, judging whether the static initialization condition is met according to the fluctuation of the IMU data within the preset time window.
[0045] Among them, the fluctuation of IMU data within the preset time window can reflect the motion state of the robot of the V-SLAM system to a certain extent. When the fluctuation is large, it means that the robot has been in a state of large-scale motion. At this time, if the conventional static initialization scheme is used, it will cause a large drift in the synchronous positioning and map construction results, so it is difficult to use the static initialization scheme to achieve system initialization. When the fluctuation is small, it can be considered that the machine is in a stationary state or a state with a small amplitude of motion. At this time, the static initialization scheme can also complete the system initialization well, and will not affect the accuracy of the synchronous positioning and map construction results after initialization.
[0046] In some embodiments of the present application, the fluctuation situation can be represented by the variance of the IMU data within a preset time window, that is, when the variance is greater than the static initialization threshold, it is considered that the robot is in a state of relatively large movement, and it is determined that it does not meet the static initialization condition. When the variance is less than or equal to the static initialization threshold, it is considered that the machine is in a stationary state or a state with a small movement amplitude, and it is determined to meet the static initialization condition. Therefore, when the scheme of this embodiment determines whether the static initialization condition is met according to the fluctuation situation of the IMU data within the preset time window, the variance of the IMU data within the preset time window is first calculated, and then the variance is compared with the static initialization threshold. If the variance is greater than the static initialization threshold, it is determined that the static initialization condition is not met; if the variance is less than or equal to the static initialization threshold, it is determined that the static initialization condition is met.
[0047] Taking the preset time windows window_1to0, window_2to1 and IMU data in the above scenario as an example, the acceleration data and angular velocity data can be divided into two parts according to the timestamp, namely the data in window_1to0 and the data in window_2to1, and then the variance of the acceleration data and angular velocity data is calculated using the data in these two time windows or any time window. After the variance is calculated, it can be compared with the static initialization threshold to determine whether the static initialization condition is met.
[0048] Step S103, if the static initialization conditions are met, the system is statically initialized according to the IMU data. Thus, the IMU sensor bias estimation can be completed by analyzing the acceleration and angular velocity in the IMU data in a static state, and the error of the IMU sensor can be accurately corrected, thereby improving the accuracy of the V-SLAM system's mapping.
[0049] In this embodiment, when static initialization is performed, the bias estimation can be performed based on the IMU data in the preset time window to calculate the bias of the IMU sensor. Assume that in this embodiment, the preset time window w2 is used to perform static initialization of the system. There are n IMU data in the preset time window w2, including n acceleration data am and n angular velocity data wm, and am and wm can be expressed as a 3×1 vector. First, it is necessary to calculate the variance of the angular velocity data and the angular velocity data, and after confirming that it is less than or equal to the corresponding static initialization threshold, it is determined that the static initialization condition is met at this time.
[0050] When performing bias estimation based on the IMU data in the preset time window and calculating the bias of the IMU sensor, the mean of the IMU data in the preset time window can be calculated first. Taking the scenario in this embodiment as an example, it is necessary to calculate the mean of the acceleration data am and the angular velocity data wm in the preset time window w2 respectively. Then, using the mean of the IMU data and the relationship between the IMU data and the direction of gravity, bias estimation is performed to calculate the bias of the IMU sensor. Specifically, in this embodiment, the acceleration bias and angular velocity bias of the IMU sensor are estimated by using the mean of the acceleration data and angular velocity data and the relationship with the direction of gravity.
[0051] Step S104: If the static initialization condition is not met, obtain the visual data obtained by the visual sensor, and fuse the visual data with the IMU data to dynamically initialize the system.
[0052] When the static initialization conditions are not met, it means that the robot is in a high-dynamic environment and static initialization cannot be used. At this time, the V-SLAM system can adjust the initialization strategy in real time and switch to dynamic initialization. This adaptive method can ensure that the V-SLAM system can complete the initialization as soon as possible to avoid the slow initialization process. At the same time, because the visual data and IMU data are integrated during dynamic initialization, the bias of the IMU can be estimated more accurately, especially in a high-dynamic environment, which can effectively reduce the impact of the bias error and ensure that the system can maintain a high positioning accuracy under various conditions.
[0053] In some embodiments of the present application, if the static initialization condition is not met, a bias estimation can be performed based on the IMU data in the preset time window to calculate the bias of the IMU sensor. Taking the n IMU data in the preset time window w2 in the aforementioned scenario as an example, including n acceleration data am, if the calculated angular velocity data and the variance of the angular velocity data are greater than the corresponding static initialization threshold, it is determined that the static initialization condition is not met at this time. At this time, a bias estimation can be performed based on the IMU data in the preset time window to calculate the bias of the IMU sensor. When performing the bias estimation, the mean of the IMU data in the preset time window can be calculated first, and then the mean of the IMU data and the relationship between the IMU data and the gravity direction can be used to perform a bias estimation and calculate the bias of the IMU sensor.
[0054] After obtaining the bias estimation result, the scheme of this embodiment can obtain the visual data obtained by the visual sensor, and obtain the rotation matrix converted from the IMU coordinate system to the world coordinate system according to the visual data and the IMU data after the bias estimation. For example, in this embodiment, the visual data can be the feature information obtained after the feature extraction of the data collected by the visual sensor (such as a camera, etc.) of the V-SLAM system, which is fused with IMU data such as acceleration data and angular velocity data to calculate the rotation matrix converted from the IMU coordinate system to the world coordinate system. Then, the IMU coordinate system can be aligned to the world coordinate system according to the rotation matrix to complete the dynamic initialization of the system.
[0055] Taking the V-SLAM system using IMU sensors and cameras as an example, the IMU coordinate system and the camera coordinate system can be calibrated first. In the V-SLAM system, the IMU coordinate system and the camera coordinate system are determined by the hardware installation position and orientation. The relative relationship between the coordinate axes of the IMU coordinate system and the coordinate axes of the camera coordinate system is known, for example, the X-axis of the IMU coordinate system is parallel to the Z-axis of the camera coordinate system, the Y-axis of the IMU coordinate system is parallel to the X-axis of the camera coordinate system, and so on. Through this known relationship, a rotation matrix from the IMU coordinate system to the camera coordinate system can be defined.
[0056] Then, the transformation from the camera coordinate system to the world coordinate system is performed. Since the pose information provided by the camera is relative to the world coordinate system, the camera coordinate system needs to be transformed to the world coordinate system, which can be achieved through the camera's intrinsic and extrinsic parameters. In actual scenarios, the rotation matrix of the camera coordinate system from the world coordinate system can be obtained through graph optimization methods.
[0057] When using IMU data, it is necessary to obtain the rotation matrix from the IMU coordinate system to the world coordinate system in order to convert the IMU coordinate system to the world coordinate system. In this process, the rotation matrix from the IMU coordinate system to the camera coordinate system obtained by sensor calibration and the rotation matrix from the camera coordinate system to the world coordinate system determined by the V-SLAM system can be used. After obtaining the rotation matrix from the IMU coordinate system to the world coordinate system, motion estimation based on IMU data is realized. Specifically, the acceleration data and angular velocity data in the IMU data can be combined, and the motion of the IMU data in the world coordinate system can be calculated according to the known rotation matrix. By integrating the angular velocity data, the rotation matrix and displacement vector of the visual data in the world coordinate system can be obtained.
[0058] Finally, by fusing visual data and IMU data, we can get a unified and accurate camera pose in the world coordinate system. This camera pose will be used in the subsequent processing of V-SLAM, such as map construction, positioning optimization, etc., thus completing the dynamic initialization process.
[0059] Through the above dynamic initialization process, the IMU coordinate system and the visual coordinate system can be aligned. That is, the IMU coordinate system corresponding to the IMU data is converted to the world coordinate system consistent with the visual coordinate system through the rotation matrix, or vice versa, so that the motion states of the two can be processed in the same reference coordinate system. At the same time, the consistency of pose estimation can also be ensured. Since the visual output sensor provides a pose estimation based on the camera coordinate system, and the acceleration and angular velocity data provided by the IMU sensor are usually based on the IMU coordinate system, the two can be aligned through the rotation matrix to ensure the consistency of the two sensor data. In this way, the sensor error can be corrected in real time, and the initialization of the world coordinate system can be completed accurately in a shorter time, reducing the dependence of the existing scheme on external factors (such as environmental changes, lighting changes), and greatly improving the robustness of the system in a dynamic environment.
[0060] Based on the same inventive concept, a system initialization device is also provided in an embodiment of the present application, and the method corresponding to the device is the system initialization method in the aforementioned embodiment, and its principle of solving the problem is similar to that of the method. The system initialization device provided in an embodiment of the present application includes a memory for storing computer program instructions and a processor for executing computer program instructions, wherein when the computer program instructions are executed by the processor, the device is triggered to implement the methods and / or technical solutions of the aforementioned multiple embodiments of the present application.
[0061] The specific implementation of the device may include a network device, or a device formed by integrating a user device and a network device through a network, or may also be an application running on the above device. The user device includes but is not limited to various terminal devices such as robots, computers, mobile phones, tablet computers, etc.; the network device includes but is not limited to network hosts, single network servers, servers concentrated in multiple network servers, or servers in a distributed cloud network. The distributed cloud network described here is composed of a large number of hosts or network servers based on cloud computing.
[0062] In particular, the methods and / or embodiments in the embodiments of the present application may be implemented as computer software programs. For example, the embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. When the computer program is executed by the processing unit, the above functions defined in the method of the present application are executed.
[0063] It should be noted that the computer-readable medium described in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.
[0064] In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0065] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0066] The flow chart or block diagram in the accompanying drawings shows the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0067] As another aspect, the present application further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more computer program instructions, which may be executed by a processor to implement the methods and / or technical solutions of the above multiple embodiments of the present application.
[0068] It should be noted that the present application can be implemented in software and / or a combination of software and hardware, for example, can be implemented using an application specific integrated circuit (ASIC), a general purpose computer or any other similar hardware device. In certain embodiments, the software program of the present application can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including related data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present application can be implemented using hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
[0069] For those skilled in the art, it is obvious that the present application is not limited to the details of the above exemplary embodiments, and the present application can be implemented in other specific forms without departing from the spirit or basic features of the present application. Therefore, no matter from which point of view, the embodiments should be regarded as exemplary and non-restrictive, and the scope of the present application is limited by the attached claims rather than the above description, so it is intended to include all changes that fall within the meaning and scope of the equivalent elements of the claims in the present application. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to represent names, and do not represent any specific order. The numerical order of the serial numbers corresponding to the steps does not represent any specific execution order, and each step can be executed in any order combination under the premise of conforming to the execution logic.
Claims
1. A system initialization method, characterized in that: The method comprises: Get the IMU data collected by the IMU sensor within the preset time window; Determine whether the static initialization conditions are met based on the fluctuation of the IMU data within the preset time window; If the static initialization conditions are met, statically initialize the system according to the IMU data; If the static initialization condition is not met, the visual data obtained by the visual sensor is obtained, and the visual data is integrated with the IMU data to dynamically initialize the system.
2. The method according to claim 1, characterized in that Get the IMU data collected by the IMU sensor within the preset time window, including: Collecting IMU data within a preset time period through an IMU sensor, and sorting the IMU data by timestamp; According to the sorted timestamps, select the IMU data within the preset time window.
3. The method according to claim 1, characterized in that: Determine whether the static initialization conditions are met based on the fluctuation of the IMU data within the preset time window, including: Calculating the variance of the IMU data within the preset time window; The variance is compared with a static initialization threshold. If the variance is greater than the static initialization threshold, it is determined that the static initialization condition is not met; if the variance is less than or equal to the static initialization threshold, it is determined that the static initialization condition is met.
4. The method according to claim 1, characterized in that If the static initialization conditions are met, the system is statically initialized according to the IMU data, including: If the static initialization condition is met, bias estimation is performed based on the IMU data within the preset time window to calculate the bias of the IMU sensor.
5. The method according to claim 1, characterized in that If the static initialization condition is not met, the visual data obtained by the visual sensor is obtained, and the visual data is integrated with the IMU data to dynamically initialize the system, including: If the static initialization condition is not met, bias estimation is performed based on the IMU data within the preset time window to calculate the bias of the IMU sensor; Obtain visual data obtained by the visual sensor, and obtain a rotation matrix for converting from the IMU coordinate system to the world coordinate system based on the visual data and the IMU data after bias estimation; According to the rotation matrix, the IMU coordinate system is aligned to the world coordinate system.
6. The method according to claim 4 or 5, characterized in that: The method includes estimating the bias of the IMU sensor according to the IMU data in the preset time window, and calculating the bias of the IMU sensor, including: Calculate the mean of the IMU data within the preset time window; The bias estimation is performed by using the mean value of the IMU data and the relationship between the IMU data and the gravity direction to calculate the bias of the IMU sensor.
7. The method according to claim 1, characterized in that The preset time windows are two consecutive time windows.
8. The method according to claim 1, characterized in that The IMU data includes acceleration data and angular velocity data.
9. A system initialization device, the device comprising a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein: When the computer program instructions are executed by the processor, the device is triggered to execute the method according to any one of claims 1 to 8.
10. A computer readable medium having computer program instructions stored thereon, wherein the computer program instructions can be executed by a processor to implement the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Monocular robustness visual-inertial tight coupling localization method
CN110030994A
Initialization method and device for VIO (Visual Inertial Odometer) system
CN112798010A
Joint calibration method of camera and inertial measurement unit relative to installation posture of vehicle body
CN115855117A
IMU (Inertial Measurement Unit) system, initialization method and device thereof and readable storage medium
CN117723089A