Skip to content

robotarium/quadtarium-python-simulator

Repository files navigation

quadtarium-python-simulator

The Robotarium's quadcopter python simulator (Python3.5 or later).

The purpose of the Robotarium simulator is to ensure that algorithms perform reasonably well before deployment onto the Robotarium's quadcopters (COMING SOON!). The objective is to make scripts created for the simulator directly applicable onto the Robotarium's quadcopters. To ensure minimum modification after deployment, the simulator has been created to closely approximate the actual behavior of the Robotarium's agents.

Regarding user-level control, for safety purposes, the user only gets to specify a desired position for each quadcopter at each timestep, which is tracked using a differential flatness controller as in [1]. Also, a collision avoidance solution based on [2] is provided to the user.

We recommend trying out the various example files provided to get started! Let us know what you think, we highly value feedback! :-)

Creating a conda environment

To use this simulator, we recommend using an Anaconda environment (Anaconda).

  1. To create a conda environment with the necessary package requirements:
    conda create --name [name of environment] --file requirements_[platform].txt --channel conda-forge
    The supported platforms are linux-64, osx-64 and win-64.
  2. Activate the environment by running:
    conda activate [name of environment]
  3. Install the python-control through pip:
    pip install control
  4. Navigative to repo:
    cd quadtarium-python-simulator
  5. As a sanity check, run the files in the examples directory using this command:
    python -m examples.[filename]
    Make sure to omit the .py.
  6. If you want to install it as a pip package run
    pip install -e .

Coding up your own experiment using this simulator

  1. Move your file to the quadtarium-python-simulator directory
  2. Make sure it has similar syntax to the example files (examples/go_to_point.py is a good starting point)
  3. run python [your file]

References

[1] Mellinger, Daniel, and Vijay Kumar. "Minimum snap trajectory generation and control for quadrotors." 2011 IEEE international conference on robotics and automation. IEEE, 2011.
[2] Wang, Li, Aaron D. Ames, and Magnus Egerstedt. "Safe certificate-based maneuvers for teams of quadrotors using differential flatness." 2017 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2017.

About

Robotarium quadcopter simulator in python.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages