import pandas as pd
import numpy as np
import random
import os

# Create directory for dataset
os.makedirs("data", exist_ok=True)

# Generate synthetic vehicle sensor data
np.random.seed(42)
n_samples = 10000
distance = np.random.uniform(0.5, 100, n_samples)  # Distance to object (meters)
speed = np.random.uniform(0, 120, n_samples)  # Vehicle speed (km/h)
angle = np.random.uniform(-45, 45, n_samples)  # Angle to object (degrees)
image_features = np.random.uniform(0, 1, n_samples)  # Simplified image feature score

# Simulate obstacle presence (1 = obstacle, 0 = no obstacle)
obstacle = []
for i in range(n_samples):
    prob = 0.9 if distance[i] < 10 and abs(angle[i]) < 15 else 0.2
    obstacle.append(1 if random.random() < prob else 0)

# Create DataFrame
data = {
    'distance': distance,
    'speed': speed,
    'angle': angle,
    'image_features': image_features,
    'obstacle': obstacle
}
df = pd.DataFrame(data)
csv_path = "data/vehicle_data.csv"
df.to_csv(csv_path, index=False)
print(f"Created {csv_path} with {len(df)} entries.")

# Print sample
print("\nSample of vehicle_data.csv:")
print(df.head())