In order to facilitate the use of articulated robots for complex industrial applications, methods to improve the absolute positioning accuracy are needed. This work introduces a robot-independent calibration procedure that allows to compensate for geometric and backlash errors as well as for thermal drift. To this end, a unifying robot model is introduced based on the product of exponentials formula that complies with the requirements of the calibration process. The model is able to represent any kind of serial kinematic chain, which guarantees universal applicability. The full parameter identification is performed simultaneously based on a single data set containing all modeled effects. The individual modeling approaches have been verified experimentally using two different industrial robots. The positioning accuracy could be improved to industrial standards within the selected workspace. More precisely, the average position error was reduced from 3.39mm to 0.13mm for a KUKA KR-16 robot and from 0.36mm to 0.12mm for a KUKA KR-30 within all operating conditions. The generalizing property of the thermal expansion model was assessed by compensating the thermal drift for an unseen and fundamentally different thermal excitation of the robot structure, limiting the thermally induced positioning error to 0.1mm.Note to Practitioners-This paper was motivated by the fact that modern industrial robots are known to be able to execute the same movement repeatedly with high precision but are unable to visit an arbitrary sequence of commanded positions with high accuracy. In practice, this means that each pose of a given process must be taught to the robot by moving it to the target position and storing the robot's posture. To overcome this limitation, this work introduces a robot model that is able to express the geometric properties of the robot, as well as the joint backlash and the thermal expansion of the robot links. The model parameters must be evaluated based on a measurement sequence of 300-400 robot poses during the heating up of the robot structure. Therefore, depending on the size of the robot, the calibration procedure takes one to four hours. To use the thermal expansion correction, realtime measurements based on four low-cost temperature sensors are used. Since the modeled robot characteristics only change due to long-term wear, there is no need to repeat the calibration procedure frequently. The introduced calibration method allows to move the robot to arbitrary positions or along arbitrary trajectories within the employed workspace, with a positioning error of less than 0.2mm. This facilitates non-repetitive pick and place, assembly, or additive manufacturing tasks.