Version 2.6 Release Notes
Version 2.6.0 (Feb. 21, 2025)
Build
ubuntu-latestwheels for Python 3.9, 3.10, and 3.11 on GitHub CI, allowing for other CI systems to use these wheels for testing with Basilisk as a dependency.updated README file. Links now point to local documentation instead of to the pages on the AVS lab web page that used to host the documentation.
Updated scenarioBasicOrbitStream to add the ability to pause and resume the live BSK stream
Added documenation on installing with
pipvia source code in Advanced: Building Pre-Compiled Basilisk WheelsUpdated scenarioOrbitManeuver to include a SPICE module that rotates the Earth
Changed the way polyhedron gravity is computed to be more computationally efficient
Updated C++ Module: vizInterface to flush the output buffer when saving binary files to avoid truncation
Updated Integrated Example Scripts to better include folders of scenario tutorial scripts
Updated documentation build to use latest version of
sphinxandsphinx_rtd_theme. Updated the install documenation and optional package requirements.Updated
MonteCarloExamplesdirectory with a bokeh plotting feature robust to large Monte Carlo datasetsUpdated scenarioVisualizeMonteCarlo to autogenerate live bokeh plots in Sphinx documentation
Updated scenarioMonteCarloAttRW to include the new
useBokehfeature in therun()methodUpdated scenarioMonteCarloAttRW to use more pythonic OOP for Monte Carlo data retention
Updated scenarioMonteCarloSpice to use more pythonic OOP for Monte Carlo data retention
Decreased the Basilisk wheel size by keeping large data files out of the wheel.
The wheel installs the local command tool
bskLargeDatato execute bskLargeData. The purpose is to install the large Basilisk data files into the local Basilisk python package.The wheel installs the local command tool
bskExamplesto execute bskExamples. This tool downloads the Basilisk repoexamplesfolder into the local folderRemoved the now deprecated
datashader_utilities.pyin favor of the new bokeh plotting features inAnalysisBaseClass.pyUpgraded protoc compiler to v3.20.0, added
protobufto optional package install listCreated unit tests for protobuffer packing and saving in C++ Module: vizInterface
Added YouTube video links of Vizard illustrating the scenarioFlexiblePanel and scenarioRoboticArm scenarios.
Fixed issue in which reading
RWModelfrom RW message payloads when C++ Module: vizInterface was also imported would return a Swig Object instead of an enumerated integer.Refactored the
GaussMarkovclass to enforce walk bounds and remove the need for the 1.5x noise multiplier. Note: Existing code that used this multiplier will need to be updated to maintain the same behavior.Removed the deprecated 1.5x multiplier in C++ Module: magnetometer and C++ Module: coarseSunSensor when setting ‘senNoiseStd’
Updated
starTrackerunit tests to properly convert EP’s to rotation vector now that random walk existsAdded scenarioGaussMarkovRandomWalk to showcase
GaussMarkovclass functionalityAdded unit test coverage for
GaussMarkovimplementation in C++ Module: tempMeasurement, C++ Module: simpleNav and C++ Module: planetNav.Fixed SWIG array handling for message payloads on macOS, particularly addressing issues with uint8_t arrays and other array types in message payloads. This resolves compatibility issues between SWIG’s array typemaps and builds.
A bug was fixed in the C++ Module: facetSRPDynamicEffector module. A transpose was required to be added to a dcm in order to correctly express rotated facet normals in the spacecraft body frame.
The C++ Module: facetSRPDynamicEffector module was refactored and setters and getters were added for the module variables
numFacetsandnumArticulatedFacets. A deprecation warning is added to the module documentation stating that these variables will be moved to private module variables in Dec 2025. To access these variables the added setters and getters must be used.Fixed a bug in which the
MtbEffector.pymodule was not being imported correctly in Python due to lack ofswig_eigen.iinclude file inMtbEffector.i.Added the capability to simulate a fault in the C++ Module: simpleBattery module that reduces the actual storage capacity without directly altering the stated capacity.
Cleaned up what python packages are required to build BSK (
requirements_dev.txt), to run BSK (requirements.txt) and to build BSK documentation (requirements_doc.txt).The BSK install instructions are updated to ask users to install by first
pipinstalling build required packages throughrequirements_dev.txt.Update the build process to use
conanversion 2.xWarning
You have to upgrade your python
conanpackage to be able to build Basilisk. Usepython install --upgrade conan.Added support for subclassing
StateDataand overloading certain methods. This enables support for custom state behavior, such as quaternions, which have size 4 but their derivative is size 3. This is done in preparation of a future MuJoCo integration. Note the warning below regarding SWIG files fordynamicEffectorandstateEffector.Warning
SWIG files for subclasses of
dynamicEffectorandstateEffectormust now%include "simulation/dynamics/_GeneralModuleFiles/dynParamManager.i"instead of%include "simulation/dynamics/_GeneralModuleFiles/dynParamManager.h". Seesrc/simulation/dynamics/dragEffector/dragDynamicEffector.ifor an example.Update CI Linux build with
opNavto use Ubuntu 22.04, not latest (i.e. 24.02). The latter does not support directly Python 3.11, and Basilisk does not support Python 3.13 yet.simIncludeGravBody set the moon equatorial radius in km, not meters.
fixed
subMRP()routine in RigidBodyKinematicsUpdated C Module: solarArrayReference to correct the wrong assumption of reflective solar arrays for momentum management pointing mode.
Updated the CI build that includes the documentation to fail if a doxygen warning happens
Removed deprecated swig code that allowed still importing sys_model.h instead of sys_model.i
Updated C++ Module: groundMapping to correct behavior if
maximumRange == -1Updated scripts to work with
matplotlibversion 3.10.x without errors or warningsAdd support for Python 3.12
Resolved inconstencies in sensor noise handling for the C++ Module: imuSensor, C++ Module: coarseSunSensor, C++ Module: magnetometer, C++ Module: starTracker, and C++ Module: simpleVoltEstimator modules.
Added setter and getter methods for the propagation matrices in the C++ Module: simpleVoltEstimator and C++ Module: starTracker modules as their
Amatrixattributes were private.Name change warning added to module documentation for the
imuSensorwalkBoundsattribute toerrorBoundsand a note on specifying sensor properties in scenarioGaussMarkovRandomWalk.Update Creating New Message Definitions on how to make messages available to Basilisk modules
Support for Vizard release 2.2.1, including rotating frame settings and documentation for support of
.glbshape filesvizProtobufferupgraded to use latest C++ compiler,protobufPython/C++ library upgradedUpdated Setup On Linux to discuss installing BSK on Fedora Linux systems.
Updated CI scripts to catch cases where tests are skipped that should be. Windows now builds properly with conan2.
Download
cspiceusingconaninstead of providing custom libraries. This ensures all platforms are using the same version ofcspice.Ensured that the ability to designate an external BSK folder still works with
conan2