Skip to content

Basilisk v2.6.0

Latest
Compare
Choose a tag to compare
@schaubh schaubh released this 21 Feb 22:40
9b7d0da
  • 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 in pipInstall
  • 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 and sphinx_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 new useBokeh feature in the run() 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 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 bskExamples to execute bskExamples. This
    tool downloads the Basilisk repo examples folder into the local folder
  • Removed the now deprecated datashader_utilities.py in favor of the new bokeh plotting features in AnalysisBaseClass.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 when vizInterface 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 and coarsesunsensor when setting 'senNoiseStd'
  • Updated starTracker unit tests to properly convert EP's to rotation vector now that random walk exists
  • Added scenarioGaussMarkovRandomWalk to showcase GaussMarkov class functionality
  • Added unit test coverage for GaussMarkov implementation in tempMeasurement,
    simpleNav and 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 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
    variables numFacets and numArticulatedFacets. 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 of swig_eigen.i
    include file in MtbEffector.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 through requirements_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 for dynamicEffector and stateEffector.

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 in RigidBodyKinematics
  • 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 of sys_model.i
  • Updated groundMapping to correct behavior if maximumRange == -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, and simpleVoltEstimator modules.
  • Added setter and getter methods for the propagation matrices in the simpleVoltEstimator
    and starTracker modules as their Amatrix attributes were private.
  • Name change warning added to module documentation for the imuSensor walkBounds attribute to errorBounds
    and a note on specifying sensor properties in scenarioGaussMarkovRandomWalk.
  • 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 using conan instead of providing custom libraries. This ensures all platforms are using
    the same version of cspice.
  • Ensured that the ability to designate an external BSK folder still works with conan2