tudelft / crazyflie-suite

Flight and data analysis framework for Crazyflies.
7 stars 2 forks source link
crazyflie drone robotics

Crazyflie suite

Flight and data analysis framework for Crazyflies.

Installation

Ideally, make use of a Python virtual environment:

$ sudo apt install python3-venv
$ git clone https://github.com/Huizerd/crazyflie-suite.git
$ cd crazyflie-suite
$ python3 -m venv venv
$ source venv/bin/activate

You can exit the virtual environment by typing deactivate at any time. Next, update pip and setuptools and install the package and its dependencies:

$ pip install --upgrade pip && pip install --upgrade setuptools
$ pip install -e .

We're installing the package in editable (-e) mode, such that we can change it without having to install again.

Code is formatted using Black. To automatically format when committing, run this once:

$ pre-commit install

Logging a flight

Files needed:

A flight can be started by running python flight/logFlight.py. Several arguments can be supplied:

A simple example can be found here.

Autonomous flight

Note that some options are incompatible. For instance, without UWB (none), you need OptiTrack for providing state (state). If either UWB or a Flowdeck (--flow) is used, the Kalman filter has to be selected.

Manual flight

To log a manual flight, choose "manual" as trajectory (i.e. --trajectory manual). Per default, the "PS3_Mode_1" controller mapping is used. It is however recommended to perform the following steps to make sure your controller works as intended: