Skip to content

riccardoserraino/UAV_models

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UAV Simulator

A lightweight quadrotor and hexacopter fully-actuated (non-tiltable) dynamic simulator in Python.

Folder Structure

  • uav/ - Core simulation modules

    • quadrotor.py - Quadrotor (4-rotor) dynamics model
    • hexacopter_fa.py - Hexacopter (6-rotor) fully-actuated dynamics model
    • utils.py - Quaternion, rotation, and integration utilities
    • lib.py - NumPy and matplotlib imports
    • plotting.py - Visualization functions
  • tests/ - Test scripts and simulations

    • test_quad.py - Quadrotor test scenarios
    • test_hexa_fa.py - Hexacopter test scenarios
    • test_body.py - Rotor configuration visualization
  • plots/ - Simulation output (generated)

Setup

bash setup.sh

Or install manually:

pip install -r requirements.txt

Usage

Run a simulation:

python3 -m tests.test_quad
python3 -m tests.test_hexa_fa

Models

Both models use:

  • State: position, quaternion, velocity, angular velocity
  • Input: rotor thrust commands (per rotor)
  • Dynamics: RK4 integration with quaternion propagation
  • Rotor config: stores position, direction, and drag torque coefficient

The hexacopter has 6 rotors in a symmetric configuration, enabling fully-actuated control (6 DOF wrench authority).

About

Quadrotor, Hexacopter fully actuated (not tiltable) - dynamics models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors