Skip to content

Conversation

@batoolfazal
Copy link
Owner

No description provided.

- Implemented doubly linked list for flight data storage
- Added hash map for O(1) data retrieval
- Created waypoint buffer system
- Integrated quadcopter control system
- Added GPS and IMU data structures
- Included Python script for test data generation
Added GPS and IMU data structures

- GPSData.h/cpp: GPS coordinates with Haversine distance calculation
- IMUData.h/cpp: Orientation data (roll, pitch, yaw) with level check
- DroneSensors.h: Master header grouping sensor components
- Includes Quadcopter.h and MotorControl.h
- Provides single include point for all control components
- Organizes motor control system modules
- Includes DroneLogger.h, WaypointBuffer.h, FlightHashMap.h, ErrorLog.h
- Provides single include point for all logging components
- Organizes telemetry system modules
Add doubly linked list logger interface

- Defines FlightData struct with next/prev pointers
- Declares DroneLogger class with CRUD operations
- Supports forward and backward traversal
Implement doubly linked list flight logger

- Reads CSV flight data into doubly linked list
- Provides O(N) forward/backward traversal
- Calculates max altitude, average velocity, total distance
- Uses Haversine formula for GPS distance calculation
Add hash map for fast data retrieval

- Defines FlightHashMap class interface
- Supports O(1) average lookup by key
- Provides insert, get, exists operations
Implement hash map for flight data caching

- Uses unordered_map for O(1) timestamp lookup
- Provides fast retrieval of specific flight moments
- Supports key existence checking and display
Add waypoint buffer interface

- Defines WaypointNode struct for linked list
- Declares WaypointBuffer class for data buffering
- Supports O(1) insertion at tail
Implemented waypoint buffer system

- Uses singly linked list for sequential buffering
- Provides O(1) insertion for streaming GPS data
- Supports buffer display and count operations
Added error logging system interface

- Declares ErrorLog class with severity levels
- Supports warning, critical, and info logging
- Provides timestamped file logging
Implemented timestamped error logging

- Logs to file with timestamp and severity level
- Supports warning, critical, and info messages
- Provides console and file output simultaneously
Add quadcopter motor control interface

- Defines Motor struct with PWM control
- Declares QuadcopterSystem class for 4-motor control
- Supports arm, disarm, and stabilization operations
Implement quadcopter motor control system

- Controls 4 motors with PWM signals (0-100%)
- Implements stabilization using roll/pitch corrections
- Supports motor arming/disarming and status display
Add motor control utility interface

- Declares PWM calculation functions
- Provides safety check utilities
- Supports emergency stop functionality
Implement motor control utilities

- Calculates PWM with clamping (0-100% range)
- Validates safe PWM ranges
- Provides emergency motor stop function
Add GPS coordinate structure interface

- Defines GPSCoordinate struct with lat, lon, altitude
- Declares distanceTo() and display() methods
- Supports GPS position storage
Implement GPS coordinate operations

- Uses Haversine formula for great-circle distance
- Calculates distance between GPS coordinates
- Includes altitude difference in 3D distance
Add IMU orientation data interface

- Defines IMUData struct with roll, pitch, yaw
- Declares isLevel() and display() methods
- Supports orientation data storage
Implement IMU orientation operations

- Checks level stability with ±5° threshold
- Displays orientation in degrees
- Validates drone stability for safe flight
Implemented IMU orientation operations

- Checks level stability with ±5° threshold
- Displays orientation in degrees
- Validates drone stability for safe flight
Added telemetry system demo program

- Loads flight data from CSV into doubly linked list
- Simulates drone flight with motor control
- Demonstrates forward/backward list traversal
- Calculates and displays flight statistics
Add flight data generator script

- Generates 50 simulated GPS waypoints
- Creates realistic flight profile (takeoff, cruise, landing)
- Includes GPS, IMU, velocity, battery, and signal data
- Outputs to DroneFlightLog.csv for testing
Dynamic Hazard Detection System with O(1) lookup
Implements real-time dynamic hazard detection using hash maps for
optimal performance in drone pathfinding applications.

Features:
- O(1) average-time hazard lookup using unordered_map with integer keys
- Time-based automatic expiration of temporary hazards
- Multiple hazard types: BIRD, DRONE, WEATHER, DEBRIS, AIRCRAFT
- Severity levels (1-5 scale) for risk assessment
- Path safety verification for complete route checking
- Python-based hazard data generator for testing scenarios
- File I/O for persistent hazard logging and reload capability

Testing:
- Includes comprehensive demo with 10,000 O(1) lookup test
- Three scenario generators: light (5), medium (15), heavy (30) hazards
- Path safety testing with sample routes
- Time-based expiration simulation

This feature completes the D-2 requirement for the CS221 drone route
planning project, demonstrating efficient dynamic obstacle detection
suitable for real-time navigation system
Updated README to improve clarity
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants