https://github.com/ayazaero/droplet_trajectory

Trajectory generation code for a quadrotor testbench named Droplet

https://github.com/ayazaero/droplet_trajectory

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Trajectory generation code for a quadrotor testbench named Droplet

Basic Info
  • Host: GitHub
  • Owner: ayazaero
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 139 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Quadrotor Hardware Simulation and Trajectory Optimization

This repository houses the development and testing of control algorithms for a quadrotor running the PX4 flight controller. The simulation is carried out in ROS2 Gazebo, serving as a preliminary stage before deployment on actual hardware. The objective is to ensure the safety and efficiency of trajectories before they are implemented in a live environment.

Development Phases

  1. Visualizer Tool
    To facilitate real-time monitoring and debugging, a visualizer tool (vis.py) has been developed. This tool provides dynamic visualization of the vehicle's attitude, helping to understand the system's state at every point during the simulation.

Visualization Example

  1. Safety Layer Code
    The offboard_safety_layer.py script incorporates a critical safety layer that verifies command safety before execution. This layer acts as a safeguard, preventing the execution of commands that could lead to unsafe states or damage the vehicle.

  2. Trajectory Generation using SCVX
    Trajectory optimization is performed using a custom-written Sequential Convex Programming (SCVX) class (scvx_class.py). This class is tailored specifically for our application, providing a robust method for generating optimized trajectories that are both efficient and safe for the quadrotor.

Trajectory Generation Example

Simulation and Testing

The entire suite is tested in a controlled virtual environment using ROS2 Gazebo. This allows for detailed analysis and refinement of the algorithms, ensuring that they perform as expected under various conditions before actual deployment.

By following this rigorous testing regime, we aim to minimize risks and optimize performance for the real-world application of these advanced control strategies.

Owner

  • Login: ayazaero
  • Kind: user

GitHub Events

Total
  • Push event: 4
  • Create event: 2
Last Year
  • Push event: 4
  • Create event: 2

Dependencies

requirements.txt pypi
  • cvxpy ==1.5.2
  • matplotlib ==3.7.5
  • numpy ==1.24.4
  • pip ==21.1.1
  • px4_msgs ==2.0.1
  • python ==3.8.3
  • rclpy ==3.3.14
  • vicon_receiver *