## 4 Local Robotic Corrections  
Once the rough surface has been profiled and localised, the robot needs to traverse the surface. Due to hardware and numerical limitations, real-time path corrections are provided from auxiliary sensors. The point cloud's inaccuracies and coupling method of the conformable wedge probe require the conditions:  
1. initial coupling to the surface from the erroneous point cloud;
2. traversal method that keeps the sensor probe in contact with the surface;
3. direction commands for the robotic platform to visit each way-point in the path that also compensate for positioning errors;
4. stop conditions when visiting each way-point. The Universal-Robot's UR10e platform deployed comes equipped with force-torque control, enabling the robot to move in a given direction until a force is felt. By utilisingthe first point's normal estimation, the robot is able to couple to the surface satisfying Condition: 1. The Universal Robot's force control mode also allows users to set directed forces and admissible deviations while executing a path. By requiring the robot apply a set force in the tool's z-direction and allowing deviations in the works-space dimension that composes the majority of the current tool's z direction, the robot was able to maintain contact with the part. Allowing motion in all cardinal directions resulted in undesirable motion, requiring the restriction to the direction that gave the largest contribution. The robotic paths were executed by setting the Cartesian and rotational directions of the tool's target velocity, \(\overrightarrow{v}=[\dot{p}_{x},\dot{p}_{y},\dot{p}_{z},\dot{\omega}_{x}, \dot{\omega}_{y},\dot{\omega}_{z}]\) within a control loop. While a directed point or planar force/torque sensor has the capability to correct for orientation deviations, the conformable wedge probe presented a non-planar surface that allowed the robot to slip into misalignment. To aid in the high-accuracy reconstruction of the surface, three linear laser sensors were rigidly attached to the flange. In addition to providing high-accuracy surface positions, the live measurements provided on-line orientation corrections. The laser-measurements provide the approximated surface orientation given by a \(3\times 3\) rotation matrix \(R_{s}\) within the world-frame, while the robot has current rotation \(R_{r}\). Universal robots utilise the \(\mathfrak{se}(3)\) convention, with the required orientation correction given by;  
\[\overrightarrow{\omega}=R^{-1}\left(R_{s}R_{r}^{T}\right),\] (2a) where \[R\left(\overrightarrow{\omega}\right)=\exp\left[ \begin{array}{ccc}0&- \omega_{z}&\omega_{y}\\ \omega_{z}&0&-\omega_{x}\\ -\omega_{y}&\omega_{x}&0\end{array} \right], \tag{2b}\]  
is the conversion between twist vectors and \(\mathbb{SE}(3)\) group elements [17]. The angular difference is converted to angular velocity \(\hat{\omega}\) using the average \(\tilde{t}\) and standard deviation \(\sigma_{t}\) of previous loop-durations, \(\hat{\omega}=0.5\omega/\left(\tilde{t}+\sigma_{t}\right)\). The damping factor is used to prevent over-corrections and loss of contact with the surface with variable loop speeds and geometric factors. While the force kept the tool coupled to the part, and the lasers kept the tool normal to the part satisfying Condition 2, data obtained by the RGB/D camera set the directional speed values \(\dot{p}\). Given a rough target position \(\overrightarrow{P}_{t+1}\), current robotic position \(\overrightarrow{P}_{r}\), current \(3\times 3\) flange orientation matrix \(R_{r}=\left(\overrightarrow{dx},\overrightarrow{dy},\overrightarrow{dz}\right)\), and target tcp speed \(s\), the values \(\overrightarrow{P}\) were calculated.