Release Notes

Development Version

Release Date: MMM. DD, YYYY

  • Add ability in SatProperties to define new observations with a custom function.

  • Add deepcopy to mutable inputs to the environment so that an environment argument dictionary can be copied without being affected by things that happen in the environment. This fixes compatibility with RLlib 2.33.0+. Note that this means that the satellite object passed to the environment is not the same object as the one used in the environment, as is the case for rewarders and communication objects.

  • Add additional observation properties for satellites and opportunities.

  • Add connectors for multiagent semi-MDPs, as demonstrated in a new single agent and multiagent example.

  • Add a min_period option to CommunicationMethod.

  • Cache agents in the ConstellationTasking environment to improve performance.

  • Add option to generate_obs_retasking_only to prevent computing observations for satellites that are continuing their current action.

  • Allow for ImagingSatellite to default to a different type of opportunity than target. Also allows for access filters to include an opportunity type.

  • Improve performance of Eclipse observations by about 95%.

  • Logs a warning if the initial battery charge or buffer level is incompatible with its capacity.

  • Optimize communication when all satellites are communicating with each other.

Version 1.0.1

Release Date: Aug. 29, 2024

  • Change the ConstellationTasking environment info dictionary to include all non-agent information in info['__common__'], which is expected by RLlib’s multiagent interfaces.

  • Rewarder, communication, scenario, and satellites all have standardized reset_overwrite_previous, reset_pre_sim_init, and reset_post_sim_init methods to all for more complex initialization dependencies.

  • Replace get_access_filter with add_access_filter, which uses boolean functions to determine which opportunity windows to consider.

  • Changed the initial data generation to be defined in GlobalReward instead of Scenario.

  • Added a new Examples script that demonstrates how to include a targets with cloud coverage and a rewarder that accounts for cloud cover.

  • Reformat the info dictionary to be more consistent across environments. All satellites now have a requires_retasking key, as opposed to a global list of satellites that require retasking. Each satellite also gets d_ts in its info dictionary. Info and warning messages are no longer saved in the info dict.

  • log_info and log_warning are deprecated by Satellite, in favor of logger.info and logger.warning.

  • Add ability to correlate sat_args between satellites with the sat_arg_randomizer option in GeneralSatelliteTasking. This is demonstrated in the setup of a constellation in the multiagent example.

  • The default solar panel normal direction is now the negative z-axis, which is antiparallel to the default instrument direction.

Version 1.0.0

Release Date: Jun. 12, 2024

First major release of BSK-RL.

  • Refactored the repository to prioritize use of the GeneralSatelliteTasking environment. The general environment is now at the base level of bsk_rl.

  • Renamed various elements of the environment for simplicity and clarity. See the API Reference for further details.

  • Refactored the satellite Observations and Actions specification to be more clear and avoid conflicting variable names.

  • Rewrote the documentation and added useful Examples.

  • Deprecated one-off environments and training scripts. These are still accessible in the git history of the repository.