Skip to content

Basilisk version 2.2.1

Compare
Choose a tag to compare
@schaubh schaubh released this 22 Dec 16:51
· 886 commits to develop since this release
28c71be
  • Created a new example scenario scenarioSatelliteConstellation demonstrating setup of a Walker-Delta constellation
  • Created a new pinholeCamera module to support generation of landmarks-based measurements around a
    small body.
  • Corrected a memory leak in the swig access to standard vectors inside messages.
  • A new integrated example script scenarioSmallBodyLandmarks demonstrates the use of the pinhole camera module
  • Created a new example scenario scenarioSpinningBodiesTwoDOF that showcases the different capabilities of the
    spinningBodyTwoDOFStateEffector module.
  • Corrected an error with thrusterStateEffector where if there are multiple instances of the
    thruster state effector then the last effector will over-write all the state of the earlier thrusters.
  • Corrected an error with magnetometer where the RNG seed was passed to the Gauss-Markov noise model within the
    constructor and could therefore not be modified after creating the object. Furthermore, the noise model is now only
    used if all three components of the standard deviation parameter are initialized to a positive value.
  • Removed fswAuto and associated documentation, as the tool was outdated.
  • Changed how C modules are wrapped as C++ classes. This makes handling C modules the same as C++ modules,
    removing the need for "Config" and "Wrap" objects. Updated all scenarios and test files for this new syntax.
    To convert prior script to use the new syntax, see bskPrinciples-2 for the simple new
    syntaxt to add C-modules.
  • Modified mrpFeedback to enable the use of a modified control law, and added the integral control torque
    feedback output message.
  • Resolved a crash, induced by uninitialized memory, in the Camera module. The crash was first seen on Ubuntu 22 with
    gcc 9.5
  • Implemented new syntax for variable logging. See bskPrinciples-6.
  • Basilisk minimum Python version is now formally 3.8.x (checked by build files). Previously, it was indicated to be
    3.7.x yet in practice it was 3.8.x.
  • Added a TotalAccumDV_CN_N field in SCStatesMsgPayload that saves the total accumulated velocity of the
    spacecraft's center of mass in the inertial frame.
  • Added prescribed angle and angle rates to spinningBodyOneDOFStateEffector and spinningBodyTwoDOFStateEffector
    modules.
  • Created a scanningInstrumentController, similar to simpleInstrumentController, but which constantly checks if the attitude error
    and angular rate (optional) are within the requirement limits and sends an imaging command to a simpleInstrument.
  • Added a new scenario scenarioHohmann that performs a Hohmann transfer with attitude mode changes.
    The basic attitude flight modes are implemented using the Basilisk event system.
  • updated conan support to latest 1.xx version to provide support for macOS Sonoma
  • updated macOS cspice library to be compiled with Xcode 15. This addresses some errors that appeared
    when calling the prior pre-built cspice library. The new library is backwards compatible with
    prior versions of Xcode.
  • Fixed a bug in the conanfile where the stderr output from a subprocess.Popen call was being interpreted as an
    error. Rather, the process return code (0 for success, and anything else for failure) indicates the success.
  • The MAX_N_CSS_MEAS define is increased to 32 matching the maximum number of coarse sun sensors.
  • mixed bug in time to nano-seconds conversions in macros.py support file
  • Created thrusterPlatformState to map the thruster configuration information to body frame given the time-varying platform states.
  • Updated thrusterPlatformReference to add an input and output thruster config msg, and integral feedback term
    which dumps steady-state momentum in case of uncertainties on the CM location.
  • Created thrustCMEstimation to perform online estimation of the CM using gimbaled thruster torque measurements.
  • Refactored GravityEffector. Adding custom gravity models can now be done by subclassing GravityModel. The
    utility method useSphericalHarmonicsGravityModel has been added to planetary body objects, which makes the body
    use spherical harmonics and loads them from a file with a single command. Similarly, the methods usePolyhedralGravityModel
    and usePointMassGravityModel have been added.
  • Fixed examples and tests to run even when Basilisk is built with --vizInterface False.
  • Added a new method setDataBuffer() to simpleStorageUnit and partitionedStorageUnit to add or remove data from specified partitions.
  • Refactored simIncludeGravBody. The most notable change for users is that the commonly used line
    scObject.gravField.gravBodies = spacecraft.GravBodyVector(list(gravFactory.gravBodies.values()))
    can be replaced by gravFactory.addBodiesTo(scObject) (where scObject is a spacecraft.Spacecraft
    or spacecraftSystem.SpacecraftSystem, and gravFactory is a simIncludeGravBody.gravBodyFactory)
  • Added condition in thrustCMEstimation to avoid measurement updates when input attGuidInMsg has not been written.
  • Added scenarioSepMomentumManagement to show how to use a dual-gimbaled electric thruster to perform continuous
    momentum management.
  • Clarified documentation of the input variable FirstStart of the method CreateNewTask().
  • Marked the method CreateNewTask() input variable InputDelay as depreciated. This variable
    was never implemented and did nothing.
  • Fixed terminal events to terminate at the time they are triggered instead of one timestep after.