| Bundle Adjustment(BA)is a combined projection observation information to optimize camera parameters and spatial point three-dimensional coordinate,and is also a key technique for simultaneous localization and mapping(SLAM).The SLAM system can meet the real-time requirements on the low-power embedded platform,which is a key indicator that can be applied to autonomous vehicles.Since the BA has a large scale and complex computations,the embedded CPU cannot offer a high-speed calculation.That is BA becomes a performance bottleneck,which greatly limits the performance of the SLAM system.The existing BA acceleration methods are designed for high performance servers and cannot be applied to embedded platform devices.In order to solve BA performance problems,this paper studies BA acceleration methods based on heterogeneous computing mode for SLAM scenarios,analyzes algorithm flow and data characteristics,and proposes offline BA acceleration methods based on FPGA and online BA acceleration methods based on embedded GPU respectivelyThe main work of this paper is as follows:1.The offline BA accelerator based on the FPGA heterogeneous computing platform is designed.First analysis of the sparse properties of the jacobian matrix,redesigned the calculation process of the sparse matrix to calculate the parallel block matrix;then analyze the data dependence,design of the co-view camera set in calculating a single spatial point.The data flow optimization method of the computing unit;simultaneously calculates the matrix calculation and module bottleneck optimization design for the matrix calculation in Schur elimination,and finally implements the Xilinx Alveo U50 hardware platform.Experimental results show that the performance of the accelerator designed in this paper is 4 times higher than the embedded ARM processor,and it is suitable for the low-power platform environment2.Designed an online BA high-speed calculation method based on embedded GPU.In response to the characterization of SLAM data in a specific scene,the sliding window mechanism is proposed to reduce the calculation scale;the sparse matrix properties improvement algorithm can be parallel to the local BA calculation;finally based on the embedded GPU to accelerate the algorithm.Apply it to the car SLAM system and test under real scene,the experimental results show that on the AGX Xavier embedded GPU,for 720 P road scene,this method is 4.8 times more than the processing performance on the platform CPU,can handle 15 FPS camera data,meets the VO processing requirements of 30 fps,and reaches the real-time requirements of the in-vehicle system.3.Implement the visual SLAM system based on online BA and verify its effects in the actual car environment.Using an online BA accelerator implemented based on embedded GPU,a complete set of visual SLAM systems based on monocular camera is designed.Aiming at the insufficient performance of single card in back-end optimization module,a multi-node SLAM system was further designed and implemented using robot operating system.By designing the task allocation and task scheduling mode of different nodes,multi-node collaborative calculations are implemented,which satisfies load balancing between VO modules and backends.On the in-vehicle device,the experimental test is performed based on the real scene.The experimental results show that the online BA algorithm can effectively optimize the system error,and the visual SLAM system can output an accurate positioning trajectory and 3D point cloud.This paper mainly solves the problem of low performance of BA algorithm on low-power devices by accelerating BA algorithm based on FPGA and GPU,and verifies the feasibility through experiments on vehicle-mounted visual SLAM system... |