Skip to content

Basilisk v2.7.0

Choose a tag to compare

@schaubh schaubh released this 20 Apr 14:29
632da36
  • Updated Linux and Windows CI builds to use swig 4.2.1
  • Updated CI scripts to run on latest macOS and no longer use Ubuntu 20.04
  • Updated makeDraftModule to remove redundant comments and implementation of the destructor,
    using only a header-defaulted destructor with = default; syntax.
  • Fixed issue where reaction wheels with unlimited torque (useMaxTorque=False) would end simulation prematurely
  • Added safety mechanism to limit excessive wheel acceleration and provide warning messages
  • Fixed a bug in the SpacecraftLocation module that prevented proper eclipse calculation in some cases.
  • Added support for Vizard release 2.2.2, including transition from MultiSphere to MultiShape, and SWIG structure deprecation through aliasing.
  • Fixed scenario name mismatch in scenarioRerunMonteCarlo that prevented rerunning example Monte Carlo simulation scenarios.
  • Fixed bug in thrusterPlatformReference where a DCM had an incorrect transpose operation.
  • Memory Leak for reactionWheelStateEffector fixed via destructor update, swig update,
    and removing .disown() in RW factory classes.
  • Removed the use of .disown() in all BSK scripts. Python code is modified to ensure
    required message of class instance are retained in memory if needed. This removes
    a memory leak issue when running lots of instances of BSK in Monte Carlo runs.
  • C++ wrapped sensor objects (CSS, thrusters, reaction wheels) must now be stored
    on the simulation object to prevent premature garbage collection. This change affects all scenarios
    using these components. See bskKnownIssues for detailed explanation and examples. Users
    upgrading from previous versions must update their scripts to store these objects on their
    simulation instance to prevent segmentation faults. Once again, this change replaces the previous use of
    .disown() with a more robust memory management approach.
  • Added comprehensive unit tests for avsEigenSupport including tests for vector and matrix operations
    and conversions.
  • Updated install requirements to not manually install cmake, but have it installed with pip by including it
    in requirements_dev.txt. A conan dependency requires Basilisk to use cmake<4.0 for now.
  • Add support for python 3.13 by removing the use of eval() and most exec() methods,
    rewrote methodizeEvent() in SimulationBaseClass.py. If you use python 3.13+ the
    scope of the eval() method has changed (see https://peps.python.org/pep-0667/).
  • Added lla2fixedframe() function in vizSupport which provides ability to define Locations on a parent body by providing latitude/longitude/altitude relative to reference ellipsoid.
  • Fixed a bug in radiationPressure where parseAndLoadXML() would raise a ValueError when using VS Code's debugger.
    The error occurred in Python 3.10.12 because numpy arrays that reference other arrays cannot be resized
    without setting refcheck=False. This fix allows debugging scenarios that use the radiation pressure module.
  • Enhanced FSW effector interface modules to zero output messages in their reset methods, ensuring safe management
    of effector states when algorithms are disabled. This prevents potential runaway operations by clearing stale
    control values.
  • Updated scenarioDeployingSolarArrays to use the new P-frame designation for the prescribed motion body
  • Deleted deprecated prescribedRot1DOF and prescribedTrans modules. They have been replaced a while ago
    with prescribedRotation1DOF and prescribedLinearTranslation.
  • :beta:Mujoco Support: Added a new DynamicObject for multi-body dynamics that uses the MuJoCo <https://mujoco.org>_ library.
    Information about using mujoco is found in mujocoDynObject. This is a work in progress, and is not
    yet ready for general use. This system will be expanded to include more features and capabilities in future releases.
  • Added support for showing QuadMap quadrilateral surface meshes in Vizard, with scenario scenarioQuadMaps detailing usage. Allows users to draw quads on celestial bodies and spacecraft.
  • Added fixedframe2lla() function in vizSupport which is useful for computing QuadMap mesh interpolations
  • Added QuadMap mesh support functions (quadMapSupport) for displaying camera FOV boxes as projected on the surface of a reference ellipsoid, and drawing rectangular latitude/longitude defined regions.
  • Updated THRSimConfig to use a shared pointer to avoid duplication of configuration data across the simulation and to enable access and updates to the parameters during simulation. This change has been implemented in both the thrusterDynamicsEffector and thrusterStateEffector modules.
  • :beta:Mujoco Support: Added StatefulSysModel for models in the dynamics task of MJScene that need to declare
    continuous-time states. Modified scenarioDeployPanels to illustrate the use of StatefulSysModel.