Sensör füzyon, farklı sensörlerden gelen verilerin birleştirilerek daha güvenilir ve eksiksiz bir çevre algısı oluşturma sürecidir. Bu, otonom araçların güvenli çalışması için kritiktir.
import numpy as np
from filterpy.kalman import ExtendedKalmanFilter as EKF
class VehicleEKF(EKF):
def __init__(self, dt):
super().__init__(dim_x=4, dim_z=2)
self.dt = dt
self.F = np.array([[1, 0, self.dt, 0],
[0, 1, 0, self.dt],
[0, 0, 1, 0],
[0, 0, 0, 1]])
self.H = np.array([[1, 0, 0, 0],
[0, 1, 0, 0]])
self.Q *= 0.1
self.R = np.eye(2) * 0.1
def predict(self):
self.x = np.dot(self.F, self.x)
self.P = np.dot(self.F, np.dot(self.P, self.F.T)) + self.Q
def update(self, gps_data, imu_data):
z = np.array([gps_data['x'], gps_data['y']])
y = z - np.dot(self.H, self.x)
S = np.dot(self.H, np.dot(self.P, self.H.T)) + self.R
K = np.dot(self.P, np.dot(self.H.T, np.linalg.inv(S)))
self.x = self.x + np.dot(K, y)
self.P = self.P - np.dot(K, np.dot(self.H, self.P))
Teknofest Deneyimi: Projemizde GPS, IMU ve odometri verilerini EKF ile birleştirerek cm hassasiyetinde lokalizasyon elde ettik.
Sensör Füzyon Avantajları:
- Redundancy: Bir sensör arızalandığında diğerleri devreye girer
- Accuracy: Birden fazla kaynak daha doğru sonuç verir
- Robustness: Çevresel koşullara karşı dayanıklılık artar
- Coverage: Her sensörün güçlü olduğu alanlar birleştirilir
Kamera: Yüksek çözünürlük, renk bilgisi, düşük maliyet | Işık bağımlı
LiDAR: 3D veri, hassas mesafe, ışık bağımsız | Yüksek maliyet, hava koşulları
Radar: Hava koşullarından etkilenmez, hız ölçer | Düşük çözünürlük
GPS: Global referans, mutlak konum | Sinyal kesintileri, multipath