High-precision indoor positioning is the basis of factory intelligent management. However, the positioning accuracy will decrease because of the complex environment. This study proposes a multi-sensor fusion framework to fuse the data of Ultra Wide Band (UWB), inertial measurement unit (IMU), and odometer. First fuse the data from UWB and IMU by using EKF to obtain attitude, velocity, and position. And then fuse the speed and output with the odometer output using complementary filtering to increase accuracy. At the same time, the algorithm can output higher frequency positioning data. We evaluate the performance of the algorithm on mobile robots. Experimental data is from a 6-axis IMU and 5 UWB radio sensor devices. And the result shows that the position RMSE of our algorithm is 3.29 centimeters and our comprehensive localization algorithm can increase localization accuracy in complex environments compared with only UWB algorithm.