The folder /simulator_files/contain files that enables the simulators to fly a crazyflie in a particular simulator.
Webots
In the folder /simulator_files/webots there are the following folders:
/protos//worlds//controllers/
See each section for the explanation
protos
/protos/This contains the source file of the PROTO of the crazyflie in Webots. A PROTO node (fileformat is *.proto) is a description framework for objects in that simulator. This contains the Crazyflie basics, like propperor actuation and IMU, as well as a ground truth position, camera and multiranger.
worlds
/worlds/ This contains world files in the format *.wbt and it an file that describes the webots world with all objects in it with certain initalization variables for the physics.
crazyflie_world.wbtonly contains a floor with one Crazyflie.crazyflie_apartement.jpgcontains a Crazyflie initialized in an apartement with interactable walls and objects.
controllers
/controllers/ contain all the controller files of the webots simulator for the Crazyflie, which acts likes wrappers around the files of /controllers_shared/, such that only webots specific functions exist in that wrapper.
- crazyflie_controller_c: wraps around
/controllers_shared/c_basedwith simple keybased velocity reference input. - crazyflie_controller_py: wraps around
/controllers_shared/python_basedwith simple keybased velocity reference input. - crazyflie_controller_py_firmware_pid: wraps around crazyflie-firmware pythonbindings. Check out the controller page.
- crazyflie_controller_py: wraps around
/controllers_shared/python_basedwith an wall following state machine giving the reference velocity based on multiranger data.
Gazebo
This folder contains crazyflie controllers, source and world files for Gazebo (not gazebo classic). This simulator is still underdeveloped so the controllers can only rotate the propellers for now.
crazyflieThis folder contains the .sdf file that describes the crazyflie. This relies on the collada files in\meshes.worldsThis contains only an empty world with a floor and a Crazyflie model.controllersThis contains the source files and cmake file for the Crazyflie to rotate the propellers based on an ign transport message.