Vamos a juntar un simple modelo matemático de un acelerómetro - a partir de esto, podemos resolver algunas opciones de calibración.
Ignorando la no-linealidad y otros efectos desagradables, el resultado de la medición de un acelerómetro está dada por:
$$\hat{\mathbf{f}} = \mathbf{M} \mathbf{f} + \mathbf{b}_a + \mathbf{n}_a$$
donde \$\hat{\mathbf{f}}\$ es la medición real, \$\mathbf{b}_a\$ es el acelerómetro sesgo, \$\mathbf{n}_a\$ es un ruido aleatorio vector, \$\mathbf{f}\$ es la verdadera fuerza específica (es decir, la aceleración) y \$\mathbf{M}\$ es el Factor de Escala/Desalineación de la Matriz.
Los elementos individuales de la SFA de la matriz son:
$$ \mathbf{M} = \begin{bmatrix} S_x && \gamma_{xy} && \gamma_{xz} \\ \gamma_{yx} && S_{yy} && \gamma_{yz} \\ S_x && \gamma_{zy} && S_{zz} \\ \end{bmatrix} $$
Así, cada factor de escala es representado por un \$S\$ y cada cruz del eje-la sensibilidad es representado por un \$\gamma\$.
Idealmente, si el factor de escala es 1 y no hay cruz del eje de la sensibilidad, a continuación, la matriz resultante es \$\mathbf{M} = \mathbf{I}\$.
En representación de esta manera nos permite desarrollar un modelo de compensación. Si llegamos a saber \ $\mathbf{M}\$ \ $\mathbf{b}_a\$ y asumir \$\mathbf{n}_a\$ a ser pequeños (es decir, cercano a cero), se puede hacer una buena estimación de la "verdadera" aceleración de las mediciones:
$$
\mathbf{f} = \mathbf{M}^{-1}\left(\hat{\mathbf{f}} - \mathbf{b}_a\right)
$$
El truco es, por supuesto, trabajando \$\mathbf{M}\$\$\mathbf{b}_a\$.
Voy a describir un procedimiento llamado los seis posición de la prueba, que es una manera fácil y barata para calibrar un acelerómetro. El paso 1 es el montaje del acelerómetro en una caja rectangular con perfectamente \$90^\circ\$ lados (o tan cerca como usted puede conseguir). El lugar esta en un perfecto nivel de la superficie (o, de nuevo, tan cerca como usted puede conseguir) - usted se sorprendería de lo bueno que puede hacer esto.
En este punto, sabemos lo que el valor debe ser: la gravedad en la z-acelerómetro:
$$
\mathbf{f}_1 = \begin{bmatrix} 0 \\ 0 \\ g\end{bmatrix}
$$
Así, esto se convierte en:
$$
\hat{\mathbf{f}}_1 = \mathbf{M} \mathbf{f}_1 + \mathbf{b}_a + \mathbf{n}_a
$$
Tomando nota de que \$\hat{\mathbf{f}}_1\$ va a cerrar, pero no es lo mismo \$\mathbf{f}_1\$
Si se pone el cuadro en la cabeza, la fuerza que actúa es \$-g\$:
$$
\mathbf{f}_2 = \begin{bmatrix} 0 \\ 0 \\ -g\end{bmatrix}
$$
Y cuando se coloca en un lado:
$$
\mathbf{f}_3 = \begin{bmatrix} 0 \\ -g \\ 0\end{bmatrix}
$$
Y así sucesivamente para los otros tres lados.
Ahora, vamos a escribir una de las ecuaciones normales:
$$
\hat{\mathbf{f}}_1 = \mathbf{M} \mathbf{f}_1 + \mathbf{b}_a + \mathbf{n}_a
= \begin{bmatrix} S_{xx} f_x + \gamma_{xy} f_y + \gamma_{xz} f_z + b_x \\
\gamma_{yx} f_x + S_{yy} f_y + \gamma_{yz} f_z + b_y \\
\gamma_{xz} f_x + \gamma_{yz} f_y + S_{zz} f_z + b_z \end{bmatrix}
$$
Y aun más a mano (para el primero):
$$
\hat{\mathbf{f}}_1 = \begin{bmatrix}
f_x S_{xx} + f_y \gamma_{xy} + f_z \gamma_{xz} +
0 \gamma_{yx} + 0 S_{yy} + 0 \gamma_{yz} +
0 \gamma_{xz} + 0 \gamma_{yz} + 0 S_{zz} +
1 b_x + 0 b_y + 0 b_z \\
0 S_{xx} + 0 \gamma_{xy} + 0 \gamma_{xz} +
f_x \gamma_{yx} + f_y S_{yy} + f_z \gamma_{yz} +
0 \gamma_{xz} + 0 \gamma_{yz} + 0 S_{zz} +
0 b_x + 1 b_y + 0 b_z \\
0 S_{xx} + 0 \gamma_{xy} + 0 \gamma_{xz} +
0 \gamma_{yx} + 0 S_{yy} + 0 \gamma_{yz} +
f_x \gamma_{xz} + f_y \gamma_{yz} + f_z S_{zz} +
0 b_x + 0 b_y + 1 b_z
\end{bmatrix}
$$
Por lo que podemos crear un apilados vector de las incógnitas
$$
\mathbf{z} = \mathbf{A} \mathbf{\beta}
$$
Donde
$$
\mathbf{z} =
\begin{bmatrix}
\hat{\mathbf{f}}_1 \\
\hat{\mathbf{f}}_2 \\
\vdots \\
\hat{\mathbf{f}}_6
\end{bmatrix}
$$
Y
$$
\mathbf{\beta} = \begin{bmatrix}
S_{xx} \\
\gamma_{xy} \\
\gamma_{xz} \\
\gamma_{yx} \\
S_{yy} \\
\gamma_{yz} \\
\gamma_{xz} \\
\gamma_{yz} \\
S_{zz} \\
b_x \\
b_y \\
b_z \\
\end{bmatrix}
$$
El diseño de la matriz es un conjunto de mediciones):
$$
\hat{A}_1 = \begin{bmatrix}
f_x && f_y && f_z &&
0 && 0 && 0 &&
0 && 0 && 0 &&
1 && 0 && 0 \\
0 && 0 && 0 &&
f_x && f_y && f_z &&
0 && 0 && 0 &&
0 && 1 && 0 \\
0 && 0 && 0 &&
0 && 0 && 0 &&
f_x && f_y && f_z &&
0 && 0 && 1
\end{bmatrix}
$$
Ahora, una vez que este es el programa de instalación, se puede resolver para \$\mathbf{\beta}\$ (y, por tanto, de la sensibilidad y de sesgo) a través de mínimos cuadrados.
Un procedimiento similar se puede realizar con un brazo robótico si se puede controlar con precisión los ángulos - simplemente responde saber la ubicación exacta de la gravedad en ese ángulo que, si se conoce el ángulo, es fácil de calcular.