Skip to content

FallThrive/tello_track

Repository files navigation

tello_track

English | 简体中文

A person tracking implementation for Tello drone based on DJITelloPy and YOLO11n, tested with RoboMaster Tello Talent (RMTT).

Project Structure

tello_track
├── apps/                   # Main application directory
│   ├── key_control.py          # Keyboard control main program
│   ├── joy_control.py          # Joystick control main program
│   ├── seg_track.py            # YOLOv11n-seg tracking
│   └── pose_track.py           # YOLOv11n-pose tracking
├── examples/               # DJITelloPy example code
├── modules/                # Functional modules directory
│   ├── __init__.py
│   ├── drone_manager.py        # Drone logic control
│   ├── input_handler.py        # Input handling
│   ├── tracking_controller.py  # Automatic tracking control
│   ├── ui_renderer.py          # Video display and UI rendering
│   └── vision_processor.py     # YOLO vision detection
├── utils/                      # Testing tools directory
│   └── joy_test.py             # Joystick input test
└── weights/                # YOLO weight models

Installation

The project is primarily built with Python. It is recommended to use uv for fast dependency management.

First, clone the source repository:

git clone https://github.com/FallThrive/tello_track

Enter the project directory, then create a virtual environment and install dependencies:

cd tello_track
uv sync

To activate the virtual environment:

# Linux/macOS
source .venv/bin/activate

# Windows
.venv\Scripts\activate

Alternatively, you can use miniconda or miniforge for Python environment management. Install dependencies directly from environment.yml:

conda env create -f environment.yml

Alternatively, you can manually install dependencies:

  • Create and activate a conda environment with Python>=3.8, for example:

    conda create -n tello_track python=3.12
    conda activate tello_track
  • Install djitellopy and pygame (can also use uv after conda install uv):

    pip install djitellopy pygame
  • Check driver installation and supported CUDA version (for NVIDIA drivers):

    nvidia-smi
  • Install from PyTorch repository a version compatible with your driver (PyTorch>=1.8 required), for example:

    pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128
    
  • Install ultralytics:

    pip install ultralytics

ToDo

  • Test DJITelloPy example code and refactor into object-oriented design
  • Add joystick control module
  • Deploy YOLO for object detection with PID for tracking
    • Implement tracking using seg model
    • Implement tracking using pose model
    • Manual-automatic function integration

About

A person tracking implementation for Tello drone based on DJITelloPy and YOLO11n, tested with RoboMaster Tello Talent (RMTT).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages