Skip to content

vroby65/DroneCommander

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drone Commander 

image

Overview

Drone Commander is an interactive web-based application designed for simulating drone flight control using Blockly and Three.js. Users can visually program the drone's movements using drag-and-drop blocks, and then see the drone execute those commands in a 3D simulation.

Features

  • Visual Programming: Utilize Blockly to create flight programs without writing code.
  • 3D Simulation: Watch your programmed drone fly in a realistic 3D environment powered by Three.js.
  • Intuitive UI: A split interface with a Blockly editor, 3D viewer, and status panel.
  • Custom Blocks: Includes blocks for takeoff, landing, altitude control, direction setting, and movement.
  • Keyboard Sensors: Detect key presses to interact with the drone in real-time.
  • Simulation Controls: Play, pause, and reset the simulation easily.
  • File Management: Save and load Blockly programs.
  • Resizable UI: Adjust the layout by resizing panels or switching to fullscreen mode.

online user

visit: https://vroby65.github.io/DroneCommander/

Installation

To run Drone Commander locally, simply clone the repository and open index.html in a web browser.

 git clone https://github.com/your-username/drone-commander.git
 cd drone-commander
 open index.html

Usage

  1. Drag and drop blocks in the Blockly editor to create a flight program.
  2. Click the Run button to execute the program and see the drone fly.
  3. Adjust position values using the status panel inputs.
  4. Click Stop to halt execution and reset the simulation.
  5. Save and Load programs for future use.

Example Programs

Takeoff and Land

immagine

Move Forward and Turn

immagine

keyboard drive

immagine

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Feel free to submit issues or pull requests to improve the project.

Contact

For any inquiries, feel free to reach out via GitHub Issues.