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.7.tar.gz (12.4 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.7-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for colibricf-1.1.7.tar.gz
Algorithm Hash digest
SHA256 b0d5063c223e1b5fb24c1f2d1fcb1f34113fc521a256c5642118621739b29d02
MD5 ffdc3b95ee7abeaaa1ce9b189f273a91
BLAKE2b-256 5ce6fda8ed2a0e6d67dbf39f5e8e2f90f6bda2ba055b199cbd2a7ee4fa4db75f

See more details on using hashes here.

Provenance

The following attestation bundles were made for colibricf-1.1.7.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.7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for colibricf-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cc4a8719980d77ba519ee37ccaebbfe902b105ceea8545f2efdcda59fd9b68d3
MD5 c572a8df8adb6c50f4869be8d3b4be78
BLAKE2b-256 91f5660a361bcdd741e95453afba2592a05b3c9439606f1df5a6c2ce7f9c3f9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for colibricf-1.1.7-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