Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Sensor Fusion

  • Detto anche: Multi-Sensor Fusion, Data Fusion
  • Categoria: Sensing › Perception outputs
  • Tag: perception, sensors, localization, kalman-filter

Combinazione dei dati di più sensori (telecamere, IMU, LiDAR) per ottenere una percezione più accurata e affidabile di quella di un singolo sensore.

Definizione

La fusione dei sensori combina i dati di più sensori per produrre informazioni più accurate, affidabili e complete di quelle che un singolo sensore potrebbe fornire da solo. Sfrutta punti di forza complementari: le IMU sono veloci ma derivano nel tempo, le telecamere offrono molti dettagli ma non funzionano al buio, il LiDAR dà una profondità precisa ma è costoso, il GPS funziona all'aperto ma non al chiuso. Le architetture di fusione comuni comprendono la fusione precoce (combina i dati grezzi), la fusione a livello intermedio (estrae prima le caratteristiche) e la fusione tardiva (elabora in modo indipendente e poi combina). Gli algoritmi principali comprendono il filtro di Kalman esteso (EKF), il filtro di Kalman unscented (UKF), i filtri a particelle e la moderna ottimizzazione su factor graph. Una corretta calibrazione delle trasformazioni tra i sensori e la sincronizzazione temporale sono fondamentali per un impiego riuscito.

Perché è importante

Ogni sensore sbaglia a modo suo, e la fusione dei sensori è la disciplina che li combina in modo che i loro errori si compensino invece di accumularsi. Una IMU è veloce e regolare ma deriva; il GPS è assoluto ma lento e rumoroso; l'odometria delle ruote è precisa finché una ruota non slitta; una telecamera è ricca di informazioni ma non funziona al buio. La fusione produce un'unica stima migliore di qualsiasi singolo ingresso e, cosa altrettanto importante, una stima di quanto sia incerta quella risposta. Quasi ogni robot che sa dove si trova lo sa grazie alla fusione e non a una singola misura.

Applicazioni principali

  • Localizzazione dei robot mobili: fondere odometria, IMU e GPS in un'unica stima della posa
  • Odometria visivo-inerziale per droni e dispositivi portatili, dove telecamera e IMU si compensano a vicenda
  • Stima dello stato dei robot con zampe, combinando encoder dei giunti, IMU e rilevamento del contatto dei piedi
  • Percezione dei veicoli autonomi, unendo i rilevamenti di LiDAR, radar e telecamere in un unico elenco di oggetti
  • Stima di assetto e direzione da accelerometro, giroscopio e magnetometro
  • Rilevamento di forza e slittamento su una pinza, combinando segnali tattili, di corrente e di visione

In pratica

La configurazione canonica su un robot mobile è un filtro di Kalman esteso (in ROS 2, di solito robot_localization) che riceve odometria delle ruote, IMU e talvolta GPS e pubblica un'unica posa fusa. Al filtro si indica quanto fidarsi di ciascuna fonte tramite valori di covarianza, e sbagliarli è il guasto più comune: se si dichiara l'odometria delle ruote troppo affidabile, quando una ruota slitta il robot porterà con sicurezza la propria mappa contro un muro. Lo stesso principio si estende all'odometria visivo-inerziale, dove telecamera e IMU sono fuse in modo così stretto che nessuna delle due potrebbe funzionare da sola alla frequenza richiesta.

Idee sbagliate comuni

  • Fusione significa fare la media dei sensori: è una stima pesata in base all'incertezza di ciascuna fonte, e una fusione pesata male è peggiore del miglior sensore singolo
  • Aggiungere sensori migliora sempre la stima: un sensore correlato o calibrato male può trascinare fuori strada l'intera soluzione, e il suo guasto può passare inosservato
  • I filtri di Kalman non richiedono taratura: covarianze e rumore di processo vanno impostati in base all'hardware reale, e i valori predefiniti raramente vi corrispondono
  • La fusione corregge una cattiva calibrazione: se le trasformazioni tra i sensori sono sbagliate, la fusione combina dati corretti in una risposta sbagliata con grande sicurezza

Chi dovrebbe saperlo

  • Chiunque abbia un robot che ricava la propria posizione da più di una fonte
  • Sviluppatori che tarano robot_localization o un filtro equivalente
  • Ingegneri che indagano su un robot che sbaglia con sicurezza la propria posizione
  • Studenti che imparano perché la stima probabilistica dello stato domina la robotica
  • Chiunque integri un nuovo sensore in uno stack di navigazione esistente

Tecnologie correlate

  • Filtro di Kalman esteso (EKF)
  • Ottimizzazione su factor graph
  • Calibrazione LiDAR-telecamera
  • Preintegrazione IMU
  • SLAM (Simultaneous Localization and Mapping)
  • Sincronizzazione temporale (PTP/NTP)
  • ROS sensor_msgs
  • Filtro di Kalman unscented (UKF)

Termini correlati

  • ROS

Progetti correlati

  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • OpenMind OM1: AI-native operating system for robots with modular perception, cognition, and action
  • AprilTag: The standard visual fiducial marker system for robot localization and pose estimation

Prodotti correlati

  • Active Camera AC1: RoboSense

Video

  • Understanding Sensor Fusion and Tracking, Part 1: What Is Sensor Fusion?: MATLAB

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.