Improving robotic machining accuracy through experimental error investigation and modular compensation