1. A system for imparting a finish to a three-dimensional surface of a part, the system comprising: a finishing tool coupled to a movable arm, wherein the finishing tool includes a finishing surface capable of applying a variable contact force against the three-dimensional surface during a finishing operation; a sensor unit configured to measure an actual force vector associated with applying the variable contact force between the finishing surface and the three-dimensional surface during the finishing operation; and a controller unit in communication with the sensor unit, the controller unit configured to send a control signal to the finishing tool for controlling a position of the finishing tool during the finishing operation, wherein the controller unit includes a non-transitory computer readable medium including instructions that cause the controller unit to: determine a nominal path and a target force vector associated with moving the finishing tool along the three-dimensional surface, wherein the target force vector is based on the variable contact force between the finishing surface and the three-dimensional surface, receive, from the sensor unit, the actual force vector associated with applying the variable contact force against the three-dimensional surface along the nominal path during the finishing operation, adjust the nominal path, and provide the control signal to the finishing tool, wherein the control signal is based on the nominal path that was adjusted.