This is the unified monorepo for Purdue's Autonomous Robotics Club (ARC) Drone Delivery project. All drone delivery subsystems have been consolidated here for easier development and collaboration.
Please refer to the Documentation folder for project docs, guides, and technical references.
arc-drone-delivery/
├── navigation-stack/ # Core ROS 2 Navigation Workspace (DD_Nav_WS)
├── onboarding/ # Tutorial and onboarding materials
├── avoidance-viz/ # Obstacle avoidance visualization tool
├── path-planning/ # Path planning and SLAM algorithms
├── obstacle-avoidance/ # C++ Intel RealSense obstacle avoidance
├── octree-generator/ # Octree generation for mapping
└── operations-website/ # Solid-start frontend operations website
Each subdirectory contains its own README with specific setup instructions. Here's a brief overview:
Path: navigation-stack/
Purpose: Core ROS 2 workspace for drone navigation, PX4 integration, and Gazebo simulation
Key Features: GPS global mapping, Nav2 implementation, PX4 flight controller integration
Setup: See navigation-stack/README.md
Path: onboarding/
Purpose: Comprehensive tutorial for new team members
Topics: Git workflow, ROS 2 basics, Gazebo simulation, publisher/subscriber patterns
Setup: See onboarding/README.md
Path: avoidance-viz/
Purpose: Visualization tool for obstacle avoidance verification
Setup: See avoidance-viz/README.md
Path: path-planning/
Purpose: Path planning algorithms including A*, D*, and Dijkstra
Language: C++
Setup: See path-planning/README.md
Path: obstacle-avoidance/
Purpose: Real-time obstacle detection using Intel RealSense cameras
Platform: Windows with Visual Studio
Setup: See obstacle-avoidance/README.md
Path: octree-generator/
Purpose: Generate octree representations for 3D mapping
Setup: See octree-generator/
Path: operations-website/
Purpose: Web-based drone operations dashboard with CesiumJS 3D visualization
Tech Stack: Solid.js, Solid Start, Material UI (SUID), Nhost, PostgreSQL
Features: Manual drone control, flight monitoring, delivery operations
Setup: See operations-website/README.md
To help you understand and contribute to this large codebase, we strongly recommend using AI coding assistants:
- Free for students: Get a free subscription with your
.eduemail - Sign up: GitHub Student Developer Pack
- Features: Code completion, chat, and explanations directly in VS Code
- Free tier: 1 year of Google AI Pro with your education email
- Sign up: Google for Education
- Features: Advanced code understanding, debugging assistance, and documentation generation
- Download Google Antigravity IDE and sign in
These tools are invaluable for:
- Understanding unfamiliar ROS 2 concepts
- Debugging complex C++ and Python code
- Learning the PX4 flight controller API
- Navigating this large monorepo structure
- ROS 2 Humble (for navigation-stack, onboarding)
- Ubuntu 22.04 (recommended for ROS components)
- Node.js (for operations-website)
- Python 3 (for various scripts)
- Visual Studio (for obstacle-avoidance on Windows)
Each component has its own build system:
- ROS packages: Use
colcon buildin the workspace directory - C++ projects: Use
makeor Visual Studio - Website: Use
npm installandnpm run dev
- Create a feature branch from
main - Make your changes in the appropriate subdirectory
- Test thoroughly
- Submit a pull request with a clear description
This monorepo was created on February 1, 2026 by consolidating 7 individual repositories:
- Removed 121 accidentally-committed build log files from navigation-stack
- Cleaned git history to improve clone performance
- Maintained logical separation of components in subdirectories
DD_Nav_WS→navigation-stack/DD_On_Boarding→onboarding/dd-avoidance-visualization→avoidance-viz/dd-navigation→path-planning/DD-obstacle-avoidance→obstacle-avoidance/dd-octree_generator→octree-generator/drone-delivery-website→operations-website/
Specialized Branches Not in Monorepo: The following branches were not migrated to preserve a clean monorepo:
DD_Nav_WS:px4,px4-twist,px4-test,nav2_implementation,teleop,gps_global_mappingDD_On_Boarding:simulation_devdd-navigation:SLAM_Maindd-octree_generator:demonstration-of-bad-voxelsdrone-delivery-website:docker-testing,geography_point_change,supabase-integration
To access these branches:
- Clone the original GitHub repositories:
https://github.com/purdue-arc/[repo-name] - Checkout the specific branch you need
- Cherry-pick commits into the monorepo if needed
Git LFS Large Files: The following large files are stored in Git LFS and were not included in the monorepo:
Purdue_map.dae(977 MB) - Purdue campus 3D modelpurdue_map.gltf- Purdue campus GLTF formattest_world.dae- Gazebo test world file
To access LFS files:
- Clone the original
DD_Nav_WSrepository from GitHub - Run
git lfs pullto download the large files - Copy them to your local monorepo if needed (they're gitignored)