Change Log

  • 1.0.0: In spring 2024, NeuroMechFly was used, for the second time, in a course titled “Controlling behavior in animals and robots” at EPFL. At the same time, we revised the NeuroMechFly v2 manuscript. In these processes, we significantly improved the FlyGym package, added new functionalities, and incorporated changes as we received feedback from the students. These enhancements are released as FlyGym version 1.0.0. This release is not backward compatible; please refer to the tutorials and API references for more information. The main changes are:

    • Major API changes:

      • The NeuroMechFly class is split into Fly, a class that represents the fly, and Simulation, a class that represents the simulation, which can potentially contain multiple flies.

      • The Parameters class is deprecated. Parameters related to the fly (such as joint parameters, actuated DoFs, etc.) should be set directly on the Fly object. Parameters related to the simulation (such as the time step, the render cameras, etc.) should be set directly on the Simulation object.

      • A new Camera class is introduced. A simulation can contain multiple cameras.

    • New examples:

      • Path integration based on ascending mechanosensory feedback.

      • Head stabilization based on ascending mechanosensory feedback.

      • Navigating a complex plume, simulated separately in a fluid mechanics simulator.

      • Following another fly using a realistic, connectome-constrained neural network that processes visual inputs.

  • 0.2.5: Modify model file to make it compatible with MuJoCo 3.1.1. Disable Python 3.7 support accordingly.

  • 0.2.4: Set MuJoCo version to 2.3.7. Documentation updates.

  • 0.2.3: Various bug fixes. Improved placement of the spherical treadmill in the tethered environment.

  • 0.2.2: Changed default joint kp and adhesion forces to those used in the controller comparison task. Various minor bug fixes. Documentation updates.

  • 0.2.1: Simplified class names: NeuroMechFlyMuJoCoNeuroMechFly, MuJoCoParametersParameters. Minor documentation updates.

  • 0.2.0: The current base version — major API change from 0.1.x.

  • 0.1.x: Versions used during the initial development of NeuroMechFly v2.

  • Unversioned: Version used for the Spring 2023 offering of BIOENG-456 Controlling Behavior in Animals and Robots course at EPFL.