Coordinate Frame
- Detto anche: Reference Frame, TF Frame
- Categoria: Foundations & spatial maths › Frames & transforms
- Tag: fundamentals, mathematics, transforms, ros
Sistemi di riferimento che definiscono origine e orientamento per descrivere posizioni nello spazio 3D, usati per mettere in relazione componenti, sensori e oggetti.
Definizione
I sistemi di coordinate (o sistemi di riferimento) definiscono l'origine e l'orientamento usati per descrivere posizioni e orientamenti nello spazio 3D. Ogni componente, sensore e oggetto del robot ha un sistema di riferimento associato. Tra i più comuni ci sono il sistema del mondo (riferimento globale fisso), il sistema della base (base del robot), il sistema dell'end effector e i sistemi dei sensori. Le trasformazioni tra sistemi di riferimento si rappresentano con matrici di trasformazione omogenee o coppie quaternione-traslazione. In ROS, la libreria TF2 gestisce le relazioni tra i sistemi di riferimento come una struttura ad albero, permettendo interrogazioni come "dov'è la fotocamera rispetto alla base del robot?"
Perché è importante
Un sistema di coordinate dichiara da dove vengono prese le misure, e la robotica ne usa decine contemporaneamente: uno per giunto, uno per sensore, uno per la mappa, uno per l'utensile. Quasi nulla in un sistema robotico ha senso senza conoscerne il sistema di riferimento: un punto in (0.3, 0, 0.5) è un luogo diverso a seconda che sia espresso rispetto alla base, alla telecamera o al mondo. Una quota molto grande dei bug in robotica sono errori di sistema di riferimento, non errori algoritmici.
Applicazioni principali
- Trasformare i dati dei sensori in un sistema di coordinate comune per la fusione o la pianificazione
- Esprimere le pose di presa rispetto a un oggetto anziché alla base del robot
- Navigazione, in cui i sistemi map, odom e base hanno ciascuno un ruolo distinto
- Calibrazione mano-occhio, che stabilisce la trasformazione tra una telecamera e un braccio robotico
- Coordinamento multi-robot, che mette in relazione il sistema locale di ciascun robot con uno condiviso
- Visualizzazione, in cui ogni elemento mostrato richiede un sistema di riferimento in cui essere disegnato
In pratica
ROS 2 gestisce tutto questo con tf2, un albero di trasformazioni che qualsiasi nodo può interrogare per convertire un punto da un sistema di riferimento a un altro. La convenzione conta: base_link per il corpo del robot, odom per il sistema locale soggetto a deriva, map per il sistema globale corretto, più un sistema per ogni sensore. Quando qualcosa non va i sintomi sono caratteristici: una nuvola di punti che galleggia sopra il pavimento, un robot che nel visualizzatore sembra muoversi di lato attraverso i muri, o un braccio robotico che manca un oggetto sempre dello stesso scostamento. Ciascuno di questi è di solito una trasformazione mancante, non aggiornata o misurata dall'origine sbagliata.
Idee sbagliate comuni
- I sistemi di riferimento sono solo etichette: ognuno porta con sé un'origine e un orientamento, e usare quello sbagliato produce in silenzio numeri plausibili ma errati
- Le convenzioni degli assi sono universali: alcune librerie e alcuni sensori usano una diversa chiralità o un diverso ordine degli assi, e mescolarli inverte i segni
- Una trasformazione è statica: la maggior parte cambia a ogni ciclo, e usarne una non aggiornata è una fonte comune di errori intermittenti
- Basta avere la traslazione corretta: una rotazione errata produce errori che crescono con la distanza dall'origine
Chi dovrebbe saperlo
- Chiunque integri un sensore in un robot esistente
- Sviluppatori che correggono dati che compaiono nel posto sbagliato in un visualizzatore
- Ingegneri che eseguono la calibrazione mano-occhio o estrinseca
- Studenti che incontrano per la prima volta tf2 o una libreria di trasformazioni equivalente
- Chiunque combini misure di due dispositivi montati in punti diversi
Tecnologie correlate
- ROS TF2 (Transform Library)
- Parametri di Denavit-Hartenberg
- URDF (Unified Robot Description Format)
- Rappresentazione della rotazione con quaternioni
- Matrice di trasformazione omogenea
- Calibrazione mano-occhio (problema AX=XB)
- Angoli di Eulero (rollio, beccheggio, imbardata)
- Gruppo di Lie SE(3)
Termini correlati
Progetti correlati
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
- PlotJuggler: Fast time-series visualization tool for ROS topics, rosbags, and robot debugging
- ROS 2: Next-gen Robot Operating System for real-time production robotics
- Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
- NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing
Video
- [ROS in 5 mins] 023 - Understanding ROS Coordinate Frame (Part 1): The Construct Robotics Institute