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 toCommunicationMethod
.Cache
agents
in theConstellationTasking
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 thantarget
. 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 ininfo['__common__']
, which is expected by RLlib’s multiagent interfaces.Rewarder, communication, scenario, and satellites all have standardized
reset_overwrite_previous
,reset_pre_sim_init
, andreset_post_sim_init
methods to all for more complex initialization dependencies.Replace
get_access_filter
withadd_access_filter
, which uses boolean functions to determine which opportunity windows to consider.Changed the initial data generation to be defined in
GlobalReward
instead ofScenario
.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 getsd_ts
in its info dictionary. Info and warning messages are no longer saved in the info dict.log_info
andlog_warning
are deprecated bySatellite
, in favor oflogger.info
andlogger.warning
.Add ability to correlate
sat_args
between satellites with thesat_arg_randomizer
option inGeneralSatelliteTasking
. 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 ofbsk_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.