Batool#1
Open
batoolfazal wants to merge 28 commits intomainfrom
Open
Conversation
- 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
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.