# Research on GNSS/IMU/Visual Fusion Positioning Based on Adaptive Filtering
## 3 Experimental Analysis and Results  
### Experimental Analysis  
The data collection for the IMU and GNSS receiver was conducted using a Huawei NOVA 8 Pro smartphone. The built-in MEMS IMU is the Bosch BMI 260 [27]. The GNSS receiver sensor is the Hi 1105 [28], which integrates multiple functional modules, including Wi-Fi, Bluetooth, and GNSS, and supports various satellite navigation systems such as GPS L1 CA/L5, GLONASS L1 OF, BeiDou B1I/B1C/B2A, Galileo E1/E5a, SBAS, QZSS L1/L5, and IRNSS SPS-L5, enabling positioning. It is worth noting that when the satellite signal receiver in the smartphone is in a cold start state and first acquiring satellite signals, the attitude data feedback from the IMU can provide a rough indication of the directions where satellite signals are more likely to be received. This allows the GNSS chipset to selectively search for satellites in the corresponding directions, rather than blindly searching the entire sky, effectively reducing the satellite search duration and having a positive impact on the initial GNSS positioning estimation time. However, in a warm start scenario where the receiver simply attempts to reacquire previously locked satellite signals, the impact of the IMU on the initial positioning time is relatively small. During the experiment, data collection using the smartphone involved the use of the apps Rinex ON and PSINS. The purpose of the RINEX ON tool is to collect satellite observation data files. The raw observation files collected can be processed using the RTKLIB [29] to obtain the results of satellite positioning. PSINS [30], developed by [PERSON]'s team at Northwestern Polytechnical University, is used to collect integrated navigation files. Before officially starting the integrated navigation data collection, PSINS requests location permissions from the system. It calculates the smartphone's attitude using data output from the smartphone's IMU. Due to the lack of an initial alignment function, the attitude results serve as the initial attitude for subsequent integrated navigation. Because most contemporary smartphones are equipped with Assisted GPS (A-GPS) sensors, A-GPS can obtain auxiliary information about the current satellites, such as ephemeris data, by communicating with the base station through the mobile network. To eliminate the interference of other factors, the experimental sites were selected to be in open outdoor areas, excluding the influence of Wi-Fi and other factors. Furthermore, during the experiments, the smartphone was kept in airplane mode, preventing communication between the device and the base station. It is worth noting that the GNSS data collection app used was Rinex ON. Its primary function was to obtain the raw measurement data from the smartphone's GNSS chipset and convert it to the RINEX format for processing and analysis to achieve positioning. In this process, Rinex ON did not directly interact with the A-GPS sensor to retrieve auxiliary positioning information. This approach ensured that the experiments were not affected by other external factors. The camera used is an Xtion, which needs to be calibrated before conducting experiments. First, the camera captures images of a black-and-white chessboard at different distances and angles. After saving the images in a folder, the Stereo Camera Calibrator [31] tool in MATLAB 2022a is used for calibration. The calibrated camera intrinsic parameters are then updated in the ASUS.yaml file of ORB-SLAM2. With  
Figure 1: GNSS/IMU/visual fusion positioning algorithm flowchart. calibration complete, experiments are conducted. Since the pose output by the camera odometer is relative and does not coincide with the absolute position generated by the GNSS/IMU integrated navigation, satellite positioning data must be used to correct the pose generated by the camera odometer before performing adaptive Kalman filter fusion with the GNSS/IMU integrated navigation. Figure 2 shows the deviation between the satellite positioning results and the visual odometer positions.