This project simulates the autonomous navigation of a quadcopter drone using Webots — an open-source 3D robotics simulator. The drone navigates from a defined start point to a destination while avoiding obstacles in a custom environment.
- Simulate basic drone flight in Webots
- Build a custom world with obstacles
- Implement simple navigation logic using sensors (e.g., GPS, distance sensors)
- Expand into SLAM and RL-based control
drone-navigation-webots/
├── .gitignore
├── .project
├── README.md ← You're here!
├── controllers/
│ └── mavic2pro/
│ ├── Makefile
│ └── mavic2pro.c ← Drone control code
├── worlds/
│ ├── .drone-world.jpg
│ └── drone-world.wbt ← Simulation world
-
Install Webots
Download from: https://cyberbotics.com/#download -
Clone the Repository
git clone https://github.com/Sahana1230spec/drone-navigation-webots.git cd drone-navigation-webots
-
Open Webots
- Go to
File → Open World
- Select
drone-world.wbt
- Go to
-
Run the Simulation
- Click the Play
▶️ button - The
mavic2pro
controller handles basic drone logic
- Click the Play
- Add obstacles using
Box
,Cylinder
, etc. - Create floor layouts or simple mazes
- Use Supervisor nodes for high-level control
Future Updates:
- Obstacle avoidance logic
- Goal-based navigation
- Dynamic path planning
Build an autonomous drone system that flies from a defined start point to a goal, while avoiding static obstacles in a 3D virtual world.
This serves as a base for:
- PID tuning
- Visual SLAM (e.g., ORB-SLAM3)
- RL-based navigation (e.g., PPO, DQN)
- Quadcopter take-off & hover
- Custom obstacle environment
- Navigation logic (WIP)
- Autonomous goal-reaching (Coming Soon)
- ORB-SLAM3 integration
- RL with PPO/DQN using Gym-style wrappers
- Dynamic environments with moving obstacles