Version 2.4 Release Notes
Version 2.4.0 (August 23, 2024)
Added a new example scenario scenarioConstrainedDynamics demonstrating post-docked spacecraft dynamics
Created a C++ Module: constraintDynamicEffector dynamics module to couple separate spacecraft motion using holonomic constraints.
Removed the depreciated manner of creating python modules
Created a new example scenario scenarioTempMeasurementAttitude demonstrating the use of tempMeasurement module and generating random noise in the measurement.
Uncaught exceptions raised in Python modules are now printed to
stderrbefore the program is terminated.Updated Basilisk and Vizard logos and provided download links
Updated
News and Discussionsmenu tab to beExternal Linksto Basilisk related web sitesAdded a new N-axis spinning effector C++ Module: spinningBodyNDOFStateEffector. This is an expansion of C++ Module: spinningBodyOneDOFStateEffector and C++ Module: spinningBodyTwoDOFStateEffector to any number of degrees of freedom.
Update the Windows build to automatically include the Math library defines. This avoids having to include them in BSK source code files individually.
Added support for arrays and 2D arrays of 16 and 64 bit integers in message definitions
Fixed bug where 2D arrays of 32 bit integers would have elements of type
floatin python.Fixed the
Identity()method in avsEigenMRP library.Fixed the
SpiceInterface::initTimeData()method to write epoch strings with microsecond precision instead of 0.1 second precision to prevent SPICE errors when epochs ending with seconds higher than 59.95 seconds got rounded up to 60.0 secondsUpdate C++ Module: dynamicEffector and C++ Module: stateEffector classes to be able to pull the state engine names of the spacecraft hub object
The fuel tank module is refactored to remove the limitation of a only being able to have a single instance of a specific tank model type.
Update Basilisk documentation build system to use latest version of
sphinxandsphinx_rtd_themeAdded time tag to CSSArraySensorMsgPayload
updated Eigen library to 3.4.0
updated OpenCV library to 4.5.5
Added support for Vizard 2.2.0
Added documentation on using pre-commit formatters and clang formating
Added two new scenarios that use the C++ Module: spinningBodyNDOFStateEffector module. scenarioRoboticArm simulates a robotic arm that changes orientation through the use of the C++ Module: prescribedRotation1DOF profiler module. scenarioFlexiblePanel simulates a flexible panel that has torsional and bending modes, which are approximated though a lumped-mass approach and discretized to as many subpanels as needed.
Fixed
protectAllClassesmethod inBasilisk.architecture.swig_common_modelso that it actually protects the classes in the given module (prevents code from setting unknown attributes). This might impact user code that depended on adding additional attributes to python classes generated by SWIG.Updated install instructions to specify python version 3.8 to 3.11 are required. Python 3.12 does yet work.
Updated Setting and Recording Module Variables to discuss how to log private C++ module variables that have a getter method
Updated C++ Module: cppModuleTemplate to make user configurable variables private, accessed via setter and getter methods
Updated makeDraftModule to make C++ modules with private module variables using setter/getter methods
Updated Module Header File to discuss the new expectation that C++ modules are all private. This enables graceful module variable depreciation if needed.
Added support for numpy 2.0.
Fixed use of spherical coordinate system in C++ Module: magneticFieldWMM model.
Added ability to run the GitHub
pull_request.ymlaction on a select branchFixed mass depletion rate bug in C++ Module: thrusterStateEffector previously fixed at 100%
Enhanced C Module: solarArrayReference with a mode that can compute the reference for the solar arrays that maximizes SRP torque opposed to current RW net momentum.
(Beta) Added PEP-517-compliant project specification, providing initial support for installation via
pip install ..NOTE: This is primarily intended to support pre-compiled releases in the future. All users are recommended to continue using
python conanfile.pyinstallation for now.
The
cmakecommand now downloads large Spice data files automatically from the JPL server.Updated Conan/CMake build system to avoid unnecessary recompilations and greatly speed up rebuilds.