- Build
ubuntu-latest
wheels 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
pip
via source code inpipInstall
- Updated
scenarioOrbitManeuver
to include a SPICE module that rotates the Earth - Changed the way polyhedron gravity is computed to be more computationally efficient
- Updated
vizInterface
to flush the output buffer when saving binary files to avoid truncation - Updated
examples
to better include folders of scenario tutorial scripts - Updated documentation build to use latest version of
sphinx
andsphinx_rtd_theme
.
Updated the install documenation and optional package requirements. - Updated
MonteCarloExamples
directory with a bokeh plotting feature robust to large Monte Carlo datasets - Updated
scenarioVisualizeMonteCarlo
to autogenerate live bokeh plots in Sphinx documentation - Updated
scenarioMonteCarloAttRW
to include the newuseBokeh
feature in therun()
method - Updated
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
bskLargeData
to executebskLargeData
.
The purpose is to install the large Basilisk data files into the local Basilisk
python package. - The wheel installs the local command tool
bskExamples
to executebskExamples
. This
tool downloads the Basilisk repoexamples
folder into the local folder - Removed the now deprecated
datashader_utilities.py
in favor of the new bokeh plotting features inAnalysisBaseClass.py
- Upgraded protoc compiler to v3.20.0, added
protobuf
to optional package install list - Created unit tests for protobuffer packing and saving in
vizInterface
- Added YouTube video links of Vizard illustrating the
scenarioFlexiblePanel
and
scenarioRoboticArm
scenarios. - Fixed issue in which reading
RWModel
from RW message payloads whenvizInterface
was also
imported would return a Swig Object instead of an enumerated integer. - Refactored the
GaussMarkov
class 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
magnetometer
andcoarsesunsensor
when setting 'senNoiseStd' - Updated
starTracker
unit tests to properly convert EP's to rotation vector now that random walk exists - Added
scenarioGaussMarkovRandomWalk
to showcaseGaussMarkov
class functionality - Added unit test coverage for
GaussMarkov
implementation intempMeasurement
,
simpleNav
andplanetNav
. - 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
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
facetSRPDynamicEffector
module was refactored and setters and getters were added for the module
variablesnumFacets
andnumArticulatedFacets
. 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.py
module was not being imported correctly in Python due to lack ofswig_eigen.i
include file inMtbEffector.i
. - Added the capability to simulate a fault in the
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
pip
installing build
required packages throughrequirements_dev.txt
. - Update the build process to use
conan
version 2.x
Warning: You have to upgrade your python conan
package to be able to build Basilisk. Use python install --upgrade conan
.
- Added support for subclassing
StateData
and 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 fordynamicEffector
andstateEffector
.
Warning: SWIG files for subclasses of dynamicEffector
and stateEffector
must now
%include "simulation/dynamics/_GeneralModuleFiles/dynParamManager.i"
instead of
%include "simulation/dynamics/_GeneralModuleFiles/dynParamManager.h"
. See
src/simulation/dynamics/dragEffector/dragDynamicEffector.i
for an example.
- Update CI Linux build with
opNav
to 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 inRigidBodyKinematics
- Updated
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 ofsys_model.i
- Updated
groundMapping
to correct behavior ifmaximumRange == -1
- Updated scripts to work with
matplotlib
version 3.10.x without errors or warnings - Add support for Python 3.12
- Resolved inconstencies in sensor noise handling for the
imuSensor
,coarseSunsensor
,
magnetometer
,starTracker
, andsimpleVoltEstimator
modules. - Added setter and getter methods for the propagation matrices in the
simpleVoltEstimator
andstarTracker
modules as theirAmatrix
attributes were private. - Name change warning added to module documentation for the
imuSensor
walkBounds
attribute toerrorBounds
and a note on specifying sensor properties inscenarioGaussMarkovRandomWalk
. - Update
makingModules-2
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
.glb
shape files vizProtobuffer
upgraded to use latest C++ compiler,protobuf
Python/C++ library upgraded- Updated
installLinux
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
cspice
usingconan
instead 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