## 4 Proposed Approach
At each step, the kinematic-model-free multi-point controller estimates actuation primitives, \(b_{i}\), to move each controlled point \(i\in\mathbb{I}\) towards their respective desired poses:  
\[b_{i}= \begin{bmatrix}\tau_{p}^{1}(\hat{p})\\ \tau_{p}^{2}(\hat{p})\\ \vdots\\ \tau_{p}^{m}(\hat{p})\end{bmatrix} , \tag{21}\]  
where \(\tau_{p}^{j}(\hat{p})\) is the magnitude of the actuation primitive of actuator \(j\). After each step where the robot joints have been actuated, the displacement of the control points are recorded as observations, which are calculated using the \(DQrel\) function. The nearest \(k\) observation dual quaternions to each point \(i\in\mathbb{I}\) form the observation matrix:  
\[\hat{\boldsymbol{\psi}}= \begin{bmatrix}\hat{\boldsymbol{\Psi}}_{1}\\ \hat{\boldsymbol{\Psi}}_{2}\\ \vdots\\ \hat{\boldsymbol{\Psi}}_{n}\end{bmatrix} = \begin{bmatrix}\hat{\mathbf{0}}_{1}^ {1}&\hat{\mathbf{0}}_{1}^{1}&...&\hat{\mathbf{0}}_{\mathbb{I}}^{1}\\ \hat{\mathbf{0}}_{1}^{1}&\hat{\mathbf{0}}_{2}^{1}&...&\hat{\mathbf{0}}_{ \mathbb{I}}^{2}\\ \vdots&\vdots&\ddots&\vdots\\ \hat{\mathbf{0}}_{1}^{n}&\hat{\mathbf{0}}_{2}^{n}&...&\hat{\mathbf{0}}_{k}^{ n}\end{bmatrix} , \tag{22}\]  
where \(\hat{\mathbf{0}}_{k}^{i}\) is the \(k^{th}\) closest observation dual quaternion of controlled point \(i\). The actuation primitives corresponding to these observations form the actuation matrix:  
\[A_{i}= \begin{bmatrix}\tau_{p}^{1}(p_{1})&\tau_{p}^{1}(p_{2})&\cdots&\tau_{p}^ {1}(p_{k})\\ \tau_{p}^{2}(p_{1})&\tau_{p}^{2}(p_{2})&...&\tau_{p}^{2}(p_{k})\\ \vdots&\vdots&\ddots&\vdots\\ \tau_{p}^{m}(p_{1})&\tau_{p}^{m}(p_{2})&\cdots&\tau_{p}^{m}(p_{k})\end{bmatrix} . \tag{23}\]  
The desired actuation primitives, \(b_{i}\), is assumed to be a linear combination of the \(k\) nearest actuation primitives such that:  
\[A_{i}w_{i}=b_{i}, \tag{24}\]  
where \(w_{i}=[w_{1}^{i},w_{2}^{i},...,w_{k}^{i}]^{T}\) is a set of unknown weights. The weights are estimated by minimizing the following:  
\[DQreg(\hat{\mathbf{d}}_{i}^{t},\;\hat{\boldsymbol{\psi}}_{i})=\min_{w_{i}}DQ dist(\hat{\mathbf{d}}_{i}^{t},\;DQLC(\hat{\boldsymbol{\psi}}_{i},\;w_{i})). \tag{25}\]  
With the weights for each control point, the desired actuation is then computed using Equation (24) for each control point. The respective actuation matrix is used in the calculation. After the primitive for each control point has been obtained, the following averaging is done to dampen and stir the actuation of joints that contribute to the displacement of the control points:\[b_{i}^{\prime}=\frac{\sum_{r=i}^{r=i}\eta_{i}^{i}Z(b_{r})}{\sum_{r=1}^{r=i}\eta_{r} ^{i}}, \tag{26}\]  
where the operator \(Z\) adds zero padding to a vector to keep the length equal to \(m\), and the averaging weights matrix is a lower triangular matrix:  
\[H= \begin{bmatrix}\eta_{1}^{1}&0&0&0&\cdots&0\\ \eta_{1}^{2}&\eta_{2}^{2}&0&0&\cdots&0\\ \eta_{1}^{3}&\eta_{2}^{3}&\eta_{3}^{3}&0&\cdots&0\\ \vdots&\vdots&\vdots&\vdots&\ddots&\vdots\\ \eta_{1}^{n}&\eta_{2}^{n}&\eta_{3}^{n}&\eta_{4}^{n}&\ddots&\eta_{n}^{n}\\ \end{bmatrix} . \tag{27}\]  
In the case that the averaging weights for each control point is normalized, Equation (26) would simply be:  
\[b_{i}^{\prime}=\sum_{r=1}^{r=i}\eta_{i}^{r}Z(b_{r}). \tag{28}\]  
Alternatively, to reduce the number of optimizations required, it is possible to fuse the optimization of each control point together into a wholesome expression as follows:  
\[DQreg(\mathbf{\hat{\gamma}},\mathbf{\hat{\psi}})=\min_{w}\sum_{i=1}^{i=n}DQdist(\mathbf{ \hat{d}}_{i}^{t},\,DQLC(\mathbf{\hat{\psi}}_{i},\,w)), \tag{29}\]  
where the weights are later used in \(A_{n}w=b\) to estimate the required actuation. After each discrete actuation, the resulting displacement on the pose of each control point is compared to the expected displacement.