Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Para iniciar una transformación de coordenadas, indique qué sistema de referencia describe el punto de entrada y cuál el de salida. Incluso con la aritmética matricial correcta, aunque con la dirección invertida, los objetos se colocan incorrectamente.
Los subíndices se interpretan como direcciones
Sea R_AB la matriz que mapea las coordenadas de B a las de A, y t_AB el origen de B expresado en A. Usamos vectores columna:
Las columnas de la matriz de rotación son los ejes de B expresados en A. La traslación también se expresa en A. Los puntos experimentan traslación; los vectores libres, como las direcciones, solo rotan. Aplicar el mismo tratamiento a cada matriz de tres elementos genera confusión en estos significados.
Un sensor rotado noventa grados
En 2D, coloque el origen de B en (1, 2) m en A y alinee el eje x de B con el eje y de A. Un punto (2, 0) m en B se convierte en:
La función transforms del script de Python (/uploads/labs/expansion/engineering_labs.py) comprueba este resultado y su inverso. Se ejecutó con Python 3.12.3, NumPy 1.26.4 y Matplotlib 3.6.3. Ejecute python3 engineering_labs.py para regenerar la figura y los resultados (/uploads/labs/expansion/engineering-results.json).
Para regenerar, guarde el script vinculado como engineering_labs.py en un nuevo directorio y ejecútelo allí. Los resultados se guardan en el directorio de trabajo: esta figura es transforms.svg, y las coordenadas verificadas se encuentran en transform dentro de engineering-results.json. El mismo script también genera figuras de Kalman, ICP, respuesta en frecuencia y aliasing, así como archivos CSV. Utilice un directorio de trabajo vacío, ya que los archivos de salida existentes se sobrescribirán.
La inversión requiere más que negar la traslación
La inversa de una matriz de rotación es su transpuesta:
Reste (1, 2) de (1, 4) y luego rote −90° para recuperar (2, 0). La traslación inversa es (−2, 1), no simplemente (−1, −2). Utilice puntos arbitrarios de ida y vuelta para detectar errores de dirección.
Composición de transformaciones homogéneas
En 3D, una matriz de 4×4 combina rotación y traslación:
La transformación de la derecha actúa primero. Con el mapa A, el cuerpo B y el sensor C, un punto se mueve sensor→cuerpo→mapa. La multiplicación de matrices generalmente no se puede reordenar. Hacer coincidir el valor intermedio B también facilita la nomenclatura de las variables.
Los cuaterniones representan la misma rotación
Para el eje unitario u y el ángulo θ, el orden de los componentes ROS (x, y, z, w) da como resultado:
Una rotación de 90° alrededor del eje z es (0, 0, 0.7071, 0.7071). Algunas bibliotecas usan (w, x, y, z), así que verifique el orden antes de copiar matrices. q y −q codifican la misma rotación; la resta de componentes por sí sola no es una métrica de error de rotación. Verifique también la normalización.
REP-103 define las convenciones del SI de ROS para coordenadas diestras: cuerpo x-adelante/y-izquierda/z-arriba y óptica z-adelante/x-derecha/y-abajo. Verifique primero las convenciones cuando la geometría de la cámara aparezca rotada.
TF también depende del tiempo
Lea una transformación padre/hijo como la pose del hijo expresada en su padre, coincidiendo con T_AB anterior. Las API de transformación de puntos requieren una selección cuidadosa del sistema de coordenadas de origen/destino. Una transformación de montaje fija difiere de una pose de vehículo variable en el tiempo.
REP-105 distingue entre un mapa corregido globalmente, que puede presentar saltos, y un odom continuo pero con deriva. Las matrices correctas con una marca de tiempo incorrecta aún pueden generar puntos de sensores móviles mal ubicados. Continúe con la depuración de fusión de sensores para verificar la dirección y la sincronización simultáneamente.
Comentarios
Inicia sesión para continuar.
Todavía no hay datos.