Skip to main content

Code functions to control a Drone using clover

Project description

Colibri Code Functions

A Python library for controlling Colibri drones using the Clover framework.

Colibri Code Functions is a collaborative project developed by the Educa Drones team. It provides a simplified and intuitive interface for programming drone operations, built on top of the Clover framework for autonomous flight control.

Overview

This project abstracts complex drone control operations into easy-to-use modules, allowing developers to focus on mission logic rather than low-level flight operations. It's designed specifically for the Colibri drone line and integrates seamlessly with the Clover ecosystem.

Features

  • Camera Control - Manage drone camera operations and image capture
  • Servo Control - Control servo mechanisms for camera gimbal or payload manipulation
  • Drone Flight Control - Execute takeoff, landing, and autonomous flight operations
  • Task Management - Structure and schedule complex drone missions

Prerequisites

Before installing Colibri Code Functions, ensure you have the following:

  • Python 3.7 or higher
  • The Clover Framework installed and configured
  • A compatible Colibri drone (optional, but highly recommend)

Note: The Clover framework is required for this library to function properly. Please install it first following the official documentation.

Installation

Install Colibri Code Functions via pip:

pip3 install colibricf

Or, for development installation from the repository:

git clone https://github.com/EDUCA-DRONES/Colibri_CF.git
cd Colibri_CF
pip3 install -e .

Quick Start

import rospy
from colibricf.task import Task

class Mission(Task):

    TAKEOFF_ALTITUDE = 1.4

    def mission(self):
        self.drone.arm()
        rospy.sleep(2)
        self.drone.navigate_wait(x=0, y=0, z=self.TAKEOFF_ALTITUDE, frame_id='body', auto_arm=True)
        # You don't need to explicitly call the land method.

Mission().run()

Project Structure

.
├── docs
│   ├── camera.md
│   ├── drone.md
│   ├── README.md
│   ├── servo.md
│   └── task.md
├── examples
│   ├── camera.py
│   ├── flight.py
│   ├── follow.py
│   └── waypoint.py
├── LICENSE
├── pyproject.toml
├── README.md
└── src
    └── colibricf
        ├── camera.py
        ├── cv
        │   ├── face_detect.py
        │   ├── follow.py
        │   ├── haar_cascade
        │   │   ├── haarcascade_eye.xml
        │   │   ├── haarcascade_fullbody.xml
        │   │   ├── haarcascade_upperbody.xml
        │   │   └── haarcascade.xml
        │   ├── __init__.py
        │   ├── models
        │   │   └── pose_landmarker_full.task
        │   ├── qrcode.py
        │   └── utils.py
        ├── drone.py
        ├── __init__.py
        ├── servo.py
        └── task.py


Documentation

Examples

See the example.py file for complete usage examples.

Contributing

We welcome contributions! Please feel free to submit pull requests or open issues for bugs and feature requests.

License

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

Support

For issues, questions, or contributions, please visit the GitHub repository.

For more information about the Clover framework, visit: https://clover.coex.tech/en/


Developed by: Educa Drones

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colibricf-1.1.9.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colibricf-1.1.9-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file colibricf-1.1.9.tar.gz.

File metadata

  • Download URL: colibricf-1.1.9.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for colibricf-1.1.9.tar.gz
Algorithm Hash digest
SHA256 717795450b126a18d1248157ba4a9b2c1b99f4c418e96f7a105c1c006c6bdc6f
MD5 0ab48225a866e9d5fc5f0d024bb7bacd
BLAKE2b-256 44441d8eb2ba978ef5d898ac7982fa8d2b2ac64794b170e01ecfce361570f591

See more details on using hashes here.

Provenance

The following attestation bundles were made for colibricf-1.1.9.tar.gz:

Publisher: python-publish.yml on EDUCA-DRONES/Colibri_CF

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file colibricf-1.1.9-py3-none-any.whl.

File metadata

  • Download URL: colibricf-1.1.9-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for colibricf-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3528dc572fd6562b12181a991784dab09cbd4310327fc26c2026e458775d3c26
MD5 0464292806e3f3942820ecc2fc584787
BLAKE2b-256 9056b888ecb22f0fb4387d8309e4f93088dfed90ff91a3c87a0a49398c7a2af1

See more details on using hashes here.

Provenance

The following attestation bundles were made for colibricf-1.1.9-py3-none-any.whl:

Publisher: python-publish.yml on EDUCA-DRONES/Colibri_CF

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page