# A Study of Vicon System Positioning Performance

^{1}

^{2}

^{3}

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

## 2. Experimetal Setup and Evaluation Scheme

#### 2.1. Static Measurement Precision

$\mathit{R}$: | a $3\times 3$ rotation matrix with $det\mathit{R}=1$ and ${\mathit{R}}^{T}={\mathit{R}}^{\u21221}$, |

$\mathit{t}$: | a $3\times 1$ translation vector, |

$\mathbf{0}$: | a $3\times 1$ zero vector. |

$\mathit{R}$ = | ${\mathit{H}}_{1:3,1:3},$ |

$\mathit{t}$ = | ${\mathit{H}}_{1:3,4},$ |

$\mathbf{0}$ = | a $4\times 1$ zero vector. |

n: | the number of points used in the rigid transform estimation, |

$\mathit{A}$: | a $4n\times 16$ matrix, |

$\mathit{b}$: | a $4n\times 1$ vector, |

$\mathit{x}$: | a $16\times 1$ vector including the rigid transform parameters. |

${x}_{M}^{1}$: | is x coordinate of point ${\mathit{p}}^{\mathbf{1}}$ in the world frame, |

${x}_{V}^{1}$: | is x coordinate of point ${\mathit{p}}^{\mathbf{1}}$ in the Vicon frame. |

#### 2.2. Dynamic Measurement Evaluation

${\theta}_{0}$ | $={0}^{\circ}$, |

${\theta}_{t+1}$ | $={\theta}_{t}+{0.045}^{\circ}$. |

- Uyemana’s method [12] to estimate s, $\mathit{R}$ and $\mathit{t}$. Let us define $\mathit{X}=\left\{{\mathit{x}}_{\mathbf{0}},{\mathit{x}}_{\mathbf{1}},\cdots ,{\mathit{x}}_{\mathit{n}\u2122\mathbf{1}},{\mathit{x}}_{\mathit{n}}\right\}$ and ${\mathit{X}}^{\prime}=\left\{{\mathit{x}}_{\mathbf{0}}^{\prime},{\mathit{x}}_{\mathbf{1}}^{\prime},\cdots ,{\mathit{x}}_{\mathit{n}-\mathbf{1}}^{\prime},{\mathit{x}}_{\mathit{n}}^{\prime}\right\}$, the corresponding sets of three-dimensional points. Uyemana’s solution aims at minimizing :$$e=\frac{1}{n}\sum _{i=1}^{n}{\u2225{\mathit{x}}_{\mathit{i}}^{\prime}\u2122(s\mathit{R}{\mathit{x}}_{\mathit{i}}+\mathit{t})\u2225}^{2}.$$It is performed by first computing the $\mathit{X}$ and ${\mathit{X}}^{\prime}$ means :$${\mathbf{\mu}}_{\mathit{x}}=\frac{1}{n}\sum _{i=1}^{n}{\mathit{x}}_{\mathit{i}},$$$${\mathbf{\mu}}_{\mathit{x}}^{\prime}=\frac{1}{n}\sum _{i=1}^{n}{\mathit{x}}_{\mathit{i}}^{\prime}.$$Secondly, the covariance matrix of $\mathit{X}$ and ${\mathit{X}}^{\prime}$ is computed :$${\mathsf{\Sigma}}_{{\mathit{xx}}^{\prime}}=\frac{1}{n}\sum _{i=1}^{n}({\mathit{x}}_{\mathit{i}}^{\prime}\u2122{\mathbf{\mu}}_{\mathit{x}}^{\prime}){({\mathit{x}}_{\mathit{i}}\u2122{\mathbf{\mu}}_{\mathit{x}})}^{T}.$$Thirdly, a singular value decomposition is performed on ${\mathrm{\Sigma}}_{{\mathit{xx}}^{\prime}}$ :$$\mathit{U}\mathit{S}{\mathit{V}}^{T}=SVD\left({\mathrm{\Sigma}}_{{\mathit{xx}}^{\prime}}\right).$$Finally, let us consider the $\mathit{D}$ defined as follows :$$\mathit{D}=\left\{\begin{array}{cc}diag(1,1,sign(det\left({\mathrm{\Sigma}}_{{\mathit{xx}}^{\prime}}\right))*1),\hfill & \mathrm{if}\phantom{\rule{4pt}{0ex}}rank\left({\mathrm{\Sigma}}_{{\mathit{xx}}^{\prime}}\right)=3,\hfill \\ diag(1,1,sign(det\left(\mathit{U}\right)*det\left({\mathit{V}}^{T}\right))*1),\hfill & \mathrm{if}\phantom{\rule{4pt}{0ex}}rank\left({\mathrm{\Sigma}}_{{\mathit{xx}}^{\prime}}\right)=2.\hfill \end{array}\right.$$s, $\mathit{R}$ and $\mathit{t}$ are computed as follows :$$\mathit{R}=\mathit{U}\mathit{D}{\mathit{V}}^{T},$$$$s=\frac{1}{{\sigma}_{x}^{2}}tr\left(\mathit{S}\mathit{D}\right),$$$$\mathit{t}={\mathbf{\mu}}_{\mathit{x}}^{\prime}-s\mathit{R}{\mathbf{\mu}}_{\mathit{x}},$$$${\sigma}_{x}^{2}=\frac{1}{n}\sum _{i=1}^{n}\u2225{\mathit{x}}_{\mathit{i}}^{\prime}\u2122{\mathbf{\mu}}_{\mathit{x}}\u2225.$$
- A second approach uses the fact that the markers are placed on a rotating blade. As a consequence, their trajectories are expected to be performed on a 3D plane.The 3D plane equation can be estimated as follows. A point $\mathit{p}={[xyz1]}^{T}$ in the Vicon frame lying on the 3D plane $\mathit{N}={[abcd]}^{T}$ must fulfill the condition ${\mathit{p}}^{t}\xb7\mathit{N}=0$. From at least four points, $\mathit{N}$ can be estimated. $\mathit{N}$ is the null space of P with $\mathit{P}={[{\mathit{p}}_{\mathbf{1}}^{t},{\mathit{p}}_{\mathbf{2}}^{t},{\mathit{p}}_{\mathbf{3}}^{t},{\mathit{p}}_{\mathbf{4}}^{t}]}^{T}$. In practice, more than four points are used. As $null({\mathit{P}}^{t}\xb7\mathit{P})=null\left(\mathit{P}\right)$, the following operations are performed :$$\left[\begin{array}{c}\mathit{U},\mathit{S},\mathit{V}\end{array}\right]=svd({\mathit{P}}^{t}\xb7\mathit{P}).$$$\mathit{N}={\mathit{v}}_{4}$ with $\mathit{V}=\left[\begin{array}{c}{\mathit{v}}_{1},{\mathit{v}}_{2},{\mathit{v}}_{3},{\mathit{v}}_{4}\end{array}\right].$Each point is consequently transformed in a new frame that aligns the z-axis with N. The final step requires to fit a circle to the resulting point cloud. The circle radius corresponds to s and the circle center to $\mathit{t}$.One last variable must be estimated: the constant angular offset that exists between point extracted from the Vicon and the encoder location. In fact, as the angular position of the blade is not known at the first timestamp due to the fact that the encoder is incremental. Moreover, the reduction gear ratio brings a ground truth uncertainty depending on the rotation speed. As a result, recordings are performed once the rotation speed is stable. It also allows to obtain a unique speed for each dataset. We find the angular offset by incrementally testing offset values $\beta $ that correspond to a multiple of the resulting angular resolution. $\beta $ is set as :$$mi{n}_{\beta}\sum {({\theta}_{i}\u2122{\alpha}_{i}+\beta )}^{2},$$
$\theta $: the groundtruth angle at timestamp i, $\alpha $: the Vicon angle at timestamp i, $\beta $: the offset angle to be estimated. Once $\beta $ is found, $\mathit{N}$ and angle $\beta $ are used in axis-angle rotation conversion to a rotation matrix $\mathit{R}$.

## 3. Results for Static Experiments

## 4. Results for Dynamic Experiments

#### 4.1. Extrinsic Calibration Method Comparison

#### 4.2. In-Plane versus Out-of-Plane Errors

#### 4.3. Error versus Speed

- The camera intrinsic calibration model may be better to correct distortions in the center of the image than on borders. As shown in Figure 12, the B marker is more often close to the image center than markers A and D.
- In our experimentations, we used 12.7 mm markers. For speeds lower than 1.3 m/s, the marker will overlap on two consecutive images at 100 Hz acquisition rate. In Figure 13a,b, the error seems to flatten for speeds larger than 1.3 m/s for dataset 1 to 6. Then, a new stage is reached for datasets 7 and 8, where the Vicon sampling rate was set to 200 Hz. At 200 Hz, the marker overlapping is avoided for speeds larger than 2.6 m/s.
- The fact that the error decreases with the speed could be due to marker tracking algorithms with higher speed measurement uncertainty at low speeds. Datasets recorded in our experiments at 200 Hz have linear speeds larger than this value.

#### 4.4. Final Results

## 5. Conclusions

## Author Contributions

## Conflicts of Interest

## References

- Cappozzo, A.; Della Croce, U.; Leardini, A.; Chiari, L. Human movement analysis using stereophotogrammetry: Part 1: Theoretical background. Gait Posture
**2005**, 21, 186–196. [Google Scholar] [CrossRef] [PubMed] - Manecy, A.; Marchand, N.; Ruffier, F.; Viollet, S. X4-MaG: A Low-Cost Open-Source Micro-Quadrotor and Its Linux-Based Controller. Int. J. Micro Air Veh.
**2015**, 7, 89–110. [Google Scholar] [CrossRef] - Ducard, G.; Andrea, R.D. Autonomous quadrotor flight using a vision system and accommodating frames misalignment. In Proceedings of the IEEE International Symposium on Industrial Embedded Systems, Lausanne, Switzerland, 8–10 July 2009; pp. 261–264. [Google Scholar]
- Mellinger, D.; Michael, N.; Kumar, V. Trajectory generation and control for precise aggressive maneuvers with quadrotors. Int. J. Robot. Res.
**2012**, 31, 664–674. [Google Scholar] [CrossRef] - Mueggler, E.; Huber, B.; Scaramuzza, D. Event-based, 6-DOF pose tracking for high-speed maneuvers. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014), Chicago, IL, USA, 14–18 September 2014; pp. 2761–2768. [Google Scholar]
- Allen, R.; Pavone, M. A Real-Time Framework for Kinodynamic Planning with Application to Quadrotor Obstacle Avoidance. Proceeedings of the AIAA Conference on Guidance, Navigation and Control, San Diego, CA, USA, 4–8 January 2016. [Google Scholar]
- Barrows, D.A. Videogrammetric model deformation measurement technique for wind tunnel applications. AIAA Pap.
**2007**, 1163, 2007. [Google Scholar] - Yang, P.F.; Sanno, M.; Brüggemann, G.P.; Rittweger, J. Evaluation of the performance of a motion capture system for small displacement recording and a discussion for its application potential in bone deformation in vivo measurements. Proc. Inst. Mech. Eng. Part H: J. Eng. Med.
**2012**, 226, 838–847. [Google Scholar] [CrossRef] [PubMed] - Chiari, L.; Della Croce, U.; Leardini, A.; Cappozzo, A. Human movement analysis using stereophotogrammetry: Part 2: Instrumental errors. Gait Posture
**2005**, 21, 197–211. [Google Scholar] [CrossRef] [PubMed] - Croce, U.D.; Cappozzo, A. A spot check for estimating stereophotogrammetric errors. Medical and Biological Engineering and computing
**2000**, 38, 260–266. [Google Scholar] [CrossRef] [PubMed] - Diaz Novo, C.; Alharbi, S.; Fox, M.; Ouellette, E.; Biden, E.; Tingley, M.; Chester, V. The impact of technical parameters such as video sensor technology, system configuration, marker size and speed on the accuracy of motion analysis systems. Ingeniería Mecánica, Tecnología y Desarrollo
**2014**, 5, 265–271. [Google Scholar] - Umeyama, S. Least-squares estimation of transformation parameters between two point patterns. IEEE Trans. Pattern Anal. Mach. Intell.
**1991**, 13, 376–380. [Google Scholar] [CrossRef]

**Figure 1.**Near field robot used in our static experiments. The probe can move within $2\times 1.5\times 1$ ${\mathrm{m}}^{3}$, 10 µm positioning sensitivity.

**Figure 5.**Static point positioning variability. Bar indicate the standard deviation—red whiskers show the variability range.

**Figure 6.**Trajectories of markers A, B and D. Camera locations and orientations obtained from the Vicon calibration wand procedure.

**Figure 7.**Comparison of both extrinsic calibration models. The mean difference between both models is equal to 2.23%.

**Figure 12.**Marker trajectories in the eight Vicon camera unit planes—circles on ellipses indicate locations of main outliers of the Figure 9—A color represents the same marker seen from different cameras. Marker B trajectory corresponds to the small ellipse. Marker A trajectory corresponds to the large ellipse.

Reference | Space | Precision Evaluation | Static | Dynamic |
---|---|---|---|---|

[2] | $6\times 6\times 8$ ${\mathrm{m}}^{3}$ | $\u2716$ | ||

[7] | $4.6\times 73$ ${\mathrm{m}}^{2}$ wind tunnel | 0.58 m displacements | ||

[8] | $0.4\times 0.3\times 0.3$ ${\mathrm{m}}^{3}$ | $\u2716$ | ||

[11] | $2.5\times 1\times 1$ ${\mathrm{m}}^{3}$ | linear motion (maximum speed of 0.6 m/s) | ||

Our work | $2\times 1.5\times 1$ m^{3} | $\u2716$ | $\u2716$ | External ground truth (max. speed of 7.6 m/s) |

Dataset Number | Motor Speed (rpm) | Blades Speed (rpm) | Usable Markers | Vicon Sample Rate (Hz) | Encoder Sample Rate (kHz) |
---|---|---|---|---|---|

1 | 100 | 25 | A B D | 100 | 75 |

2 | 201 | 50.25 | A B D | 100 | 75 |

3 | 304 | 76 | A B D | 100 | 75 |

4 | 301 | 75.25 | A B D | 100 | 75 |

5 | 499 | 124.75 | A B D | 100 | 75 |

6 | 756 | 189 | A B D | 100 | 75 |

7 | 1000 | 250 | A B D | 200 | 75 |

8 | 1711 | 427.75 | B | 200 | 75 |

Model | Roll (°) | Pitch (°) | Yaw (°) |
---|---|---|---|

Uyemana Method | −1.33 | 2.38 | −65.00 |

Plane + Circle | 1.39 | 2.58 | −64.88 |

Model distances | 2.72 | 0.20 | 0.12 |

Model | Marker A (mm) | Marker B (mm) | Marker D (mm) |
---|---|---|---|

Uyemana Method | 291.34 | 124.32 | 291.18 |

Plane + Circle | 291.34 | 124.32 | 291.18 |

Deviation | 0 | 0 | 0 |

Model | Mean Absolute Error (mm) |
---|---|

Uyemana Method | 0.5090 |

Plane + Circle | 0.5093 |

Model | Tx (mm) | Ty (mm) | Tz (mm) |
---|---|---|---|

Uyemana Method | −31.75 | 116.98 | 246.26 |

Plane + Circle | −28.60 | 133.19 | 246.75 |

Model distances | 3.15 | 16.21 | 0.49 |

**Table 7.**Dynamic experimentation results in millimeter. 3D error and in-plane error ($Erro{r}_{XY}$). Dataset 8, markers A and B are not workable. Due to high speed, the centrifugal force unstuck markers.

Dataset | Marker | Estimated Radius | Linear Speed (m/s) | Error mean | ${\mathit{Error}}_{\mathit{XY}}$Mean | Error Std | ${\mathit{Error}}_{\mathit{XY}}$Std |
---|---|---|---|---|---|---|---|

1 | D | 291.34 | 0.76 | 0.58 | 0.57 | 0.46 | 0.46 |

1 | B | 124.32 | 0.32 | 0.28 | 0.25 | 0.19 | 0.20 |

1 | A | 291.18 | 0.76 | 0.57 | 0.57 | 0.46 | 0.46 |

2 | D | 291.34 | 1.53 | 0.51 | 0.50 | 0.33 | 0.34 |

2 | B | 124.32 | 0.65 | 0.25 | 0.22 | 0.14 | 0.15 |

2 | A | 291.19 | 1.53 | 0.50 | 0.49 | 0.33 | 0.34 |

3 | D | 291.35 | 2.32 | 0.43 | 0.42 | 0.29 | 0.30 |

3 | B | 124.33 | 0.99 | 0.22 | 0.19 | 0.11 | 0.12 |

3 | A | 291.19 | 2.32 | 0.42 | 0.41 | 0.28 | 0.29 |

4 | D | 291.35 | 2.29 | 0.44 | 0.42 | 0.29 | 0.30 |

4 | B | 124.33 | 0.98 | 0.22 | 0.19 | 0.11 | 0.12 |

4 | A | 291.19 | 2.29 | 0.42 | 0.42 | 0.27 | 0.28 |

5 | D | 291.35 | 3.81 | 0.36 | 0.34 | 0.23 | 0.24 |

5 | B | 124.35 | 1.62 | 0.19 | 0.16 | 0.09 | 0.10 |

5 | A | 291.19 | 3.80 | 0.35 | 0.34 | 0.23 | 0.23 |

6 | D | 291.36 | 5.77 | 0.35 | 0.33 | 0.22 | 0.23 |

6 | B | 124.38 | 2.46 | 0.18 | 0.15 | 0.08 | 0.09 |

6 | A | 291.20 | 5.77 | 0.34 | 0.33 | 0.21 | 0.21 |

7 | D | 291.42 | 7.63 | 0.28 | 0.25 | 0.17 | 0.18 |

7 | B | 124.62 | 3.26 | 0.16 | 0.13 | 0.06 | 0.07 |

7 | A | 291.26 | 7.63 | 0.27 | 0.25 | 0.16 | 0.17 |

8 | D | 180.09 | 8.07 | 229.38 | 229.38 | 110.89 | 110.89 |

8 | B | 125.06 | 5.60 | 0.15 | 0.13 | 0.06 | 0.06 |

8 | A | 315.53 | 14.13 | 401.63 | 401.63 | 193.92 | 193.92 |

Speed Range | Mean Error | Std Error | RMSE | 1 $\mathit{\sigma}$ Error (68.27%) | 2 $\mathit{\sigma}$ Error (95.45%) | 3 $\mathit{\sigma}$ Error (99.73%) |
---|---|---|---|---|---|---|

<1 m/s | 0.3543 | 0.2439 | 0.5236 | 0.3861 | 0.9156 | 1.2073 |

[1, 3] m/s | 0.3863 | 0.2474 | 0.4171 | 0.4745 | 0.8869 | 1.1583 |

>3 m/s | 0.2823 | 0.1682 | 0.3293 | 0.3424 | 0.6165 | 0.8330 |

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Merriaux, P.; Dupuis, Y.; Boutteau, R.; Vasseur, P.; Savatier, X.
A Study of Vicon System Positioning Performance. *Sensors* **2017**, *17*, 1591.
https://doi.org/10.3390/s17071591

**AMA Style**

Merriaux P, Dupuis Y, Boutteau R, Vasseur P, Savatier X.
A Study of Vicon System Positioning Performance. *Sensors*. 2017; 17(7):1591.
https://doi.org/10.3390/s17071591

**Chicago/Turabian Style**

Merriaux, Pierre, Yohan Dupuis, Rémi Boutteau, Pascal Vasseur, and Xavier Savatier.
2017. "A Study of Vicon System Positioning Performance" *Sensors* 17, no. 7: 1591.
https://doi.org/10.3390/s17071591