Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.
No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.

Repository Summary

Checkout URI https://github.com/whoenig/crazyflie_ros.git
VCS Type git
VCS Version master
Last Updated 2021-08-03
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

Build Status

WARNING: This repository is deprecated. Please use the Crazyswarm instead, even when only operating a single Crazyflie. If you are missing features in the Crazyswarm, feel free to open an open issue.

crazyflie_ros

ROS stack for Bitcraze Crazyflie (http://www.bitcraze.se/), with the following features:

  • Support for Crazyflie 1.0 and Crazyflie 2.0 (using stock firmware)
  • Publishes on-board sensors in ROS standard message formats
  • Supports ROS parameters to reconfigure crazyflie parameters
  • Support for using multiple Crazyflies with a single Crazyradio
  • Includes external controller for waypoint navigation (if motion capture system is available)
  • No dependency to the Bitcraze SDK (Driver and Controller written in C++)

A tutorial (for a slightly older version) is available in W. Hönig and N. Ayanian. “Flying Multiple UAVs Using ROS”, Chapter in Robot Operating System (ROS): The Complete Reference (Volume 2), Springer, 2017. (see http://act.usc.edu/publications.html for a free pre-print).

Citing This Work

This project is published under the very permissive MIT License. However, if you use the package we appreciate if you credit this project accordingly.

For academic publications, you can cite the following book chapter:

@Inbook{crazyflieROS,
  author={Wolfgang H{\"o}nig
          and Nora Ayanian},
  editor={Anis Koubaa},
  title={Flying Multiple UAVs Using ROS},
  bookTitle={Robot Operating System (ROS): The Complete Reference  (Volume 2)},
  year={2017},
  publisher={Springer International Publishing},
  pages={83--118},
  isbn={978-3-319-54927-9},
  doi={10.1007/978-3-319-54927-9_3},
  url={https://doi.org/10.1007/978-3-319-54927-9_3}
}


If your work is related to Mixed Reality, you might cite the paper which introduced the package instead, using the following bibtex entry:

@conference{HoenigMixedReality2015,
  author = {Wolfgang H{\"o}nig and Christina Milanes and Lisa Scaria and Thai Phan and Mark Bolas and Nora Ayanian},
  booktitle = {IEEE/RSJ Intl Conf. Intelligent Robots and Systems},
  pages = {5382 - 5387},
  title = {Mixed Reality for Robotics},
  year = {2015}}

For any other mentioning please include my affiliation (ACTLab at University of Southern California or USC in short; The link to our webpage is http://act.usc.edu) as this work was partially done as part of my research at USC.

Installation

Clone the package into your catkin workspace:

git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule init
git submodule update

Use catkin_make on your workspace to compile.

Usage

There are six packages included: crazyflie_cpp, crazyflie_driver, crazyflie_tools, crazyflie_description, crazyflie_controller, and crazyflie_demo. Note that the below description might be slightly out-of-date, as we continue merging the Crazyswarm and crazyflie_ros.

Crazyflie_Cpp

This package contains a cpp library for the Crazyradio and Crazyflie. It can be used independently of ROS.

Crazyflie_driver

This package contains the driver. In order to support multiple Crazyflies with a single Crazyradio, there is crazyflie_server (communicating with all Crazyflies) and crazyflie_add to dynamically add Crazyflies. The server does not communicate to any Crazyflie initially, hence crazyflie_add needs to be used.

Crazyflie_tools

This package contains tools which are helpful, but not required for normal operation. So far, it just support one tool for scanning for a Crazyflie.

You can find connected Crazyflies using:

rosrun crazyflie_tools scan

Crazyflie_description

This package contains a 3D model of the Crazyflie (1.0). This is for visualization purposes in rviz.

Crazyflie_controller

This package contains a simple PID controller for hovering or waypoint navigation. It can be used with external motion capture systems, such as VICON.

Crazyflie_demo

This package contains a rich set of examples to get quickly started with the Crazyflie.

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/whoenig/crazyflie_ros.git
VCS Type git
VCS Version master
Last Updated 2021-08-03
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

Build Status

WARNING: This repository is deprecated. Please use the Crazyswarm instead, even when only operating a single Crazyflie. If you are missing features in the Crazyswarm, feel free to open an open issue.

crazyflie_ros

ROS stack for Bitcraze Crazyflie (http://www.bitcraze.se/), with the following features:

  • Support for Crazyflie 1.0 and Crazyflie 2.0 (using stock firmware)
  • Publishes on-board sensors in ROS standard message formats
  • Supports ROS parameters to reconfigure crazyflie parameters
  • Support for using multiple Crazyflies with a single Crazyradio
  • Includes external controller for waypoint navigation (if motion capture system is available)
  • No dependency to the Bitcraze SDK (Driver and Controller written in C++)

A tutorial (for a slightly older version) is available in W. Hönig and N. Ayanian. “Flying Multiple UAVs Using ROS”, Chapter in Robot Operating System (ROS): The Complete Reference (Volume 2), Springer, 2017. (see http://act.usc.edu/publications.html for a free pre-print).

Citing This Work

This project is published under the very permissive MIT License. However, if you use the package we appreciate if you credit this project accordingly.

For academic publications, you can cite the following book chapter:

@Inbook{crazyflieROS,
  author={Wolfgang H{\"o}nig
          and Nora Ayanian},
  editor={Anis Koubaa},
  title={Flying Multiple UAVs Using ROS},
  bookTitle={Robot Operating System (ROS): The Complete Reference  (Volume 2)},
  year={2017},
  publisher={Springer International Publishing},
  pages={83--118},
  isbn={978-3-319-54927-9},
  doi={10.1007/978-3-319-54927-9_3},
  url={https://doi.org/10.1007/978-3-319-54927-9_3}
}


If your work is related to Mixed Reality, you might cite the paper which introduced the package instead, using the following bibtex entry:

@conference{HoenigMixedReality2015,
  author = {Wolfgang H{\"o}nig and Christina Milanes and Lisa Scaria and Thai Phan and Mark Bolas and Nora Ayanian},
  booktitle = {IEEE/RSJ Intl Conf. Intelligent Robots and Systems},
  pages = {5382 - 5387},
  title = {Mixed Reality for Robotics},
  year = {2015}}

For any other mentioning please include my affiliation (ACTLab at University of Southern California or USC in short; The link to our webpage is http://act.usc.edu) as this work was partially done as part of my research at USC.

Installation

Clone the package into your catkin workspace:

git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule init
git submodule update

Use catkin_make on your workspace to compile.

Usage

There are six packages included: crazyflie_cpp, crazyflie_driver, crazyflie_tools, crazyflie_description, crazyflie_controller, and crazyflie_demo. Note that the below description might be slightly out-of-date, as we continue merging the Crazyswarm and crazyflie_ros.

Crazyflie_Cpp

This package contains a cpp library for the Crazyradio and Crazyflie. It can be used independently of ROS.

Crazyflie_driver

This package contains the driver. In order to support multiple Crazyflies with a single Crazyradio, there is crazyflie_server (communicating with all Crazyflies) and crazyflie_add to dynamically add Crazyflies. The server does not communicate to any Crazyflie initially, hence crazyflie_add needs to be used.

Crazyflie_tools

This package contains tools which are helpful, but not required for normal operation. So far, it just support one tool for scanning for a Crazyflie.

You can find connected Crazyflies using:

rosrun crazyflie_tools scan

Crazyflie_description

This package contains a 3D model of the Crazyflie (1.0). This is for visualization purposes in rviz.

Crazyflie_controller

This package contains a simple PID controller for hovering or waypoint navigation. It can be used with external motion capture systems, such as VICON.

Crazyflie_demo

This package contains a rich set of examples to get quickly started with the Crazyflie.

File truncated at 100 lines see the full file

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.

Repository Summary

Checkout URI https://github.com/whoenig/crazyflie_ros.git
VCS Type git
VCS Version master
Last Updated 2021-08-03
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

Build Status

WARNING: This repository is deprecated. Please use the Crazyswarm instead, even when only operating a single Crazyflie. If you are missing features in the Crazyswarm, feel free to open an open issue.

crazyflie_ros

ROS stack for Bitcraze Crazyflie (http://www.bitcraze.se/), with the following features:

  • Support for Crazyflie 1.0 and Crazyflie 2.0 (using stock firmware)
  • Publishes on-board sensors in ROS standard message formats
  • Supports ROS parameters to reconfigure crazyflie parameters
  • Support for using multiple Crazyflies with a single Crazyradio
  • Includes external controller for waypoint navigation (if motion capture system is available)
  • No dependency to the Bitcraze SDK (Driver and Controller written in C++)

A tutorial (for a slightly older version) is available in W. Hönig and N. Ayanian. “Flying Multiple UAVs Using ROS”, Chapter in Robot Operating System (ROS): The Complete Reference (Volume 2), Springer, 2017. (see http://act.usc.edu/publications.html for a free pre-print).

Citing This Work

This project is published under the very permissive MIT License. However, if you use the package we appreciate if you credit this project accordingly.

For academic publications, you can cite the following book chapter:

@Inbook{crazyflieROS,
  author={Wolfgang H{\"o}nig
          and Nora Ayanian},
  editor={Anis Koubaa},
  title={Flying Multiple UAVs Using ROS},
  bookTitle={Robot Operating System (ROS): The Complete Reference  (Volume 2)},
  year={2017},
  publisher={Springer International Publishing},
  pages={83--118},
  isbn={978-3-319-54927-9},
  doi={10.1007/978-3-319-54927-9_3},
  url={https://doi.org/10.1007/978-3-319-54927-9_3}
}


If your work is related to Mixed Reality, you might cite the paper which introduced the package instead, using the following bibtex entry:

@conference{HoenigMixedReality2015,
  author = {Wolfgang H{\"o}nig and Christina Milanes and Lisa Scaria and Thai Phan and Mark Bolas and Nora Ayanian},
  booktitle = {IEEE/RSJ Intl Conf. Intelligent Robots and Systems},
  pages = {5382 - 5387},
  title = {Mixed Reality for Robotics},
  year = {2015}}

For any other mentioning please include my affiliation (ACTLab at University of Southern California or USC in short; The link to our webpage is http://act.usc.edu) as this work was partially done as part of my research at USC.

Installation

Clone the package into your catkin workspace:

git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule init
git submodule update

Use catkin_make on your workspace to compile.

Usage

There are six packages included: crazyflie_cpp, crazyflie_driver, crazyflie_tools, crazyflie_description, crazyflie_controller, and crazyflie_demo. Note that the below description might be slightly out-of-date, as we continue merging the Crazyswarm and crazyflie_ros.

Crazyflie_Cpp

This package contains a cpp library for the Crazyradio and Crazyflie. It can be used independently of ROS.

Crazyflie_driver

This package contains the driver. In order to support multiple Crazyflies with a single Crazyradio, there is crazyflie_server (communicating with all Crazyflies) and crazyflie_add to dynamically add Crazyflies. The server does not communicate to any Crazyflie initially, hence crazyflie_add needs to be used.

Crazyflie_tools

This package contains tools which are helpful, but not required for normal operation. So far, it just support one tool for scanning for a Crazyflie.

You can find connected Crazyflies using:

rosrun crazyflie_tools scan

Crazyflie_description

This package contains a 3D model of the Crazyflie (1.0). This is for visualization purposes in rviz.

Crazyflie_controller

This package contains a simple PID controller for hovering or waypoint navigation. It can be used with external motion capture systems, such as VICON.

Crazyflie_demo

This package contains a rich set of examples to get quickly started with the Crazyflie.

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/whoenig/crazyflie_ros.git
VCS Type git
VCS Version master
Last Updated 2021-08-03
Dev Status MAINTAINED
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

Build Status

WARNING: This repository is deprecated. Please use the Crazyswarm instead, even when only operating a single Crazyflie. If you are missing features in the Crazyswarm, feel free to open an open issue.

crazyflie_ros

ROS stack for Bitcraze Crazyflie (http://www.bitcraze.se/), with the following features:

  • Support for Crazyflie 1.0 and Crazyflie 2.0 (using stock firmware)
  • Publishes on-board sensors in ROS standard message formats
  • Supports ROS parameters to reconfigure crazyflie parameters
  • Support for using multiple Crazyflies with a single Crazyradio
  • Includes external controller for waypoint navigation (if motion capture system is available)
  • No dependency to the Bitcraze SDK (Driver and Controller written in C++)

A tutorial (for a slightly older version) is available in W. Hönig and N. Ayanian. “Flying Multiple UAVs Using ROS”, Chapter in Robot Operating System (ROS): The Complete Reference (Volume 2), Springer, 2017. (see http://act.usc.edu/publications.html for a free pre-print).

Citing This Work

This project is published under the very permissive MIT License. However, if you use the package we appreciate if you credit this project accordingly.

For academic publications, you can cite the following book chapter:

@Inbook{crazyflieROS,
  author={Wolfgang H{\"o}nig
          and Nora Ayanian},
  editor={Anis Koubaa},
  title={Flying Multiple UAVs Using ROS},
  bookTitle={Robot Operating System (ROS): The Complete Reference  (Volume 2)},
  year={2017},
  publisher={Springer International Publishing},
  pages={83--118},
  isbn={978-3-319-54927-9},
  doi={10.1007/978-3-319-54927-9_3},
  url={https://doi.org/10.1007/978-3-319-54927-9_3}
}


If your work is related to Mixed Reality, you might cite the paper which introduced the package instead, using the following bibtex entry:

@conference{HoenigMixedReality2015,
  author = {Wolfgang H{\"o}nig and Christina Milanes and Lisa Scaria and Thai Phan and Mark Bolas and Nora Ayanian},
  booktitle = {IEEE/RSJ Intl Conf. Intelligent Robots and Systems},
  pages = {5382 - 5387},
  title = {Mixed Reality for Robotics},
  year = {2015}}

For any other mentioning please include my affiliation (ACTLab at University of Southern California or USC in short; The link to our webpage is http://act.usc.edu) as this work was partially done as part of my research at USC.

Installation

Clone the package into your catkin workspace:

git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule init
git submodule update

Use catkin_make on your workspace to compile.

Usage

There are six packages included: crazyflie_cpp, crazyflie_driver, crazyflie_tools, crazyflie_description, crazyflie_controller, and crazyflie_demo. Note that the below description might be slightly out-of-date, as we continue merging the Crazyswarm and crazyflie_ros.

Crazyflie_Cpp

This package contains a cpp library for the Crazyradio and Crazyflie. It can be used independently of ROS.

Crazyflie_driver

This package contains the driver. In order to support multiple Crazyflies with a single Crazyradio, there is crazyflie_server (communicating with all Crazyflies) and crazyflie_add to dynamically add Crazyflies. The server does not communicate to any Crazyflie initially, hence crazyflie_add needs to be used.

Crazyflie_tools

This package contains tools which are helpful, but not required for normal operation. So far, it just support one tool for scanning for a Crazyflie.

You can find connected Crazyflies using:

rosrun crazyflie_tools scan

Crazyflie_description

This package contains a 3D model of the Crazyflie (1.0). This is for visualization purposes in rviz.

Crazyflie_controller

This package contains a simple PID controller for hovering or waypoint navigation. It can be used with external motion capture systems, such as VICON.

Crazyflie_demo

This package contains a rich set of examples to get quickly started with the Crazyflie.

File truncated at 100 lines see the full file

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/IMRCLab/crazyswarm2.git
VCS Type git
VCS Version main
Last Updated 2025-07-25
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
crazyflie 1.0.3
crazyflie_examples 1.0.3
crazyflie_interfaces 1.0.3
crazyflie_py 1.0.3
crazyflie_sim 1.0.3

README

  • Local CI: ROS 2
  • Rolling Dev CI : Build Status
  • Jazzy Dev CI: Build Status
  • Humble Dev CI: Build Status

Crazyswarm2

A ROS 2-based stack for Bitcraze Crazyflie multirotor robots.

The documentation is available here: https://imrclab.github.io/crazyswarm2/.

Troubleshooting

Please start a Discussion for…

  • Getting Crazyswarm2 to work with your hardware setup.
  • Advice on how to use it to achieve your goals.
  • Rough ideas for a new feature.

Please open an Issue if you believe that fixing your problem will involve a change in the Crazyswarm2 source code, rather than your own configuration files. For example…

  • Bug reports.
  • New feature proposals with details.