This repository provides a Python wrapper for the Crazyflie nano-quadcopter from Bitcraze, designed for use with the ARGoS Multi-robot Simulator.
Author: Marck Herzon C. Barrion (2024)
To cite, use the paper details:
- Author: Marck Herzon C. Barrion
- Title: [Blockchain-Enabled Consensus in Swarm Robotics: Integration with Crazyflie Drones and ARGoS]
- doi:
Description:
- This wrapper allows for the control of the Crazyflie simulator model using Python scripts and controllers.
- This project extends the functionalities of the Crazyflie model developed by Stolfi and Danoy (see details below), adding the following features:
- Multi-ranger Deck (Proximity Sensor)
- Ground Sensor (IR-based Sensor)
- Range and Bearing Sensor and Actuator
- Entity Distribution - XML
This work is based on the following resources:
-
ARGoS-Python Wrapper
- Author: Ken Hasselmann
- Repository: https://github.com/KenN7/argos-python
-
ARGoS-Crazyflie Model
- Authors: Daniel H. Stolfi and Gregoire Danoy
- Paper: "An ARGoS plug-in for the Crazyflie drone"
- Repository: https://gitlab.uni.lu/adars/crazyflie
-
ARGoS Simulator
- Author: Carlo Pinciroli
- Paper: "ARGoS: a Modular, Parallel, Multi-Engine Simulator for Multi-Robot Systems"
- Repository: https://github.com/ilpincy/argos3
See ENVSETUP.md for a complete guide on system and library requirements and dependencies.
- To use the code, install the ARGoS-Crazyflie baseline model.
-
The extended version is used in this project:
-
To view the original work, use Stolfi and Danoy's project.
- Once installed, clone this repository
git clone https://github.com/MarckBarrion/argos-crazyflie_python-wrapper
- Go to the installation root directory
cd argos-crazyflie_python-wrapper
- Build and compile using CMake
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
Run examples using the following codes:
- Speed Actuator and Positioning Sensor
argos3 -c examples/1/crazyflie_speed.argos
- Position Actuator and Positioning Sensor
argos3 -c examples/2/crazyflie_position.argos
- Led Actuator
argos3 -c examples/3/crazyflie_led.argos
- Battery Level Sensor
argos3 -c examples/4/crazyflie_battery.argos
- Battery Level Sensor
argos3 -c examples/5/crazyflie_battery.argos
To test all the functionalities in one experiment, run the "crazyflie_general.argos" example.
argos3 -c examples/crazyflie_general.argos