| Name | resonaate JSON |
| Version |
4.1.0
JSON |
| download |
| home_page | None |
| Summary | The Responsive Space Observation Analysis and Autonomous Tasking Engine (RESONAATE) |
| upload_time | 2025-07-29 20:46:33 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.9 |
| license | None |
| keywords |
space
awareness
astrodynamics
autonomy
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# REsponsive Space ObservatioN Analysis & Autonomous Tasking Engine (RESONAATE)
RESONAATE source code was developed under contract with AFRL/RIED, and is approved for public release under Public Affairs release approval #AFRL-2025-2332.

With the expected resident space object (RSO) population growth and improvements of satellite propulsion capabilities, it has become increasingly apparent that maintaining space domain awareness in future decades will require using human-on-the-loop autonomy as opposed to the current human-in-the-loop methods.
RESONAATE is a decision making algorithm that creates a tasking strategy for a customizable Space Surveillance Network (SSN).
The program presents responsive and autonomous sensor network management for tracking multiple maneuvering and non-maneuvering satellites with a diversely populated space object surveillance and identification (SOSI) network.
The method utilizes a sub-optimal partially observed Markov decision process (POMDP) to task various ground and space-based sensors.
The POMDP implements the largest Lyapunov exponent, the Fisher information gain, and a sensor transportability metric to assess the overall reward for tasking a specific sensor to track a particular satellite.
The successful measurements from the tasked sensors are combined using an unscented Kalman filter to maintain viable orbit estimates for all targets.

______________________________________________________________________
<!-- START TOC -->
**Table of Contents**
- [REsponsive Space ObservatioN Analysis & Autonomous Tasking Engine (RESONAATE)](#responsive-space-observation-analysis--autonomous-tasking-engine-resonaate)
- [Setup](#setup)
- [Dependencies](#dependencies)
- [Installation](#installation)
- [RESONAATE Configuration](#resonaate-configuration)
- [Usage](#usage)
- [CLI Tool](#cli-tool)
- [Initialization](#initialization)
- [Database Architecture](#database-architecture)
- [Python Example](#python-example)
- [Contributing](#contributing)
- [Linting](#linting)
- [Testing](#testing)
- [Generating Documentation](#generating-documentation)
- [Publications](#publications)
- [Authors](#authors)
______________________________________________________________________
<!-- END TOC -->
## Setup
### Dependencies
- Python (PIP) Packages
- [NumPy](https://www.numpy.org/)
- [SciPy](https://www.scipy.org/scipylib/index.html)
- [SQLAlchemy](https://www.sqlalchemy.org/)
- [Pydantic](https://docs.pydantic.dev/latest/)
- [Ray Core](https://docs.ray.io/en/latest/ray-core/walkthrough.html)
- [SGP4](https://pypi.org/project/sgp4/)
- Software
- [Python >= 3.9](https://www.python.org)
Additional optional dependancies are documented in `pyproject.toml`.
### Installation
See [Installation](./docs/source/intro/install.md#installation) for details on installing the `resonaate` Python package and its dependencies.
### RESONAATE Configuration
By default, RESONAATE will use the default settings defined in `src/resonaate/common/default_behavior.config`.
These values correspond to how RESONAATE behaves with respect to logging, database, debugging, and parallelization.
To overwrite these settings, please copy the contents of `src/resonaate/common/default_behavior.config` to a new `.config` file to save the default settings.
Edit by uncommenting and changing the required values.
## Usage
RESONAATE's modeling and simulation capabilities are accessible via its command line interface (CLI) entrypoint.
### CLI Tool
- Run an example simulation, replacing `<init_file>` and `<number_of_hours>` with appropriate values
```bash
resonaate <init_file> -t <number_of_hours>
```
- Command line arguments for `resonaate` entry point:
```bash
usage: resonaate [-h] [-t HOURS] [--debug] [-d DB_PATH] [-i IMPORTER_DB_PATH] INIT_FILE
RESONAATE Command Line Interface
positional arguments:
INIT_FILE Path to RESONAATE initialization message file
optional arguments:
-h, --help show this help message and exit
-t HOURS, --time HOURS
Time in hours to simulate. DEFAULT: 1/2 hour
--debug Turns on parallel debug mode
Database Files:
-d DB_PATH, --db-path DB_PATH
Path to RESONAATE database
-i IMPORTER_DB_PATH, --importer-db-path IMPORTER_DB_PATH
Path to Importer database
```
### Initialization
RESONAATE allows the user to run custom scenarios which are specified in an "init message" JSON file.
This repository includes several example "init messages" under `configs/json/`.
For example, `main_init.json`:
```json
{
"time": {
"start_timestamp": "2021-03-30T16:00:00.000Z",
"physics_step_sec": 300,
"output_step_sec": 300,
"stop_timestamp": "2021-03-30T17:00:00.000Z"
},
"noise": {
"init_position_std_km": 1e-3,
"init_velocity_std_km_p_sec": 1e-6,
"filter_noise_type": "continuous_white_noise",
"filter_noise_magnitude": 3.0e-14,
"random_seed": "os"
},
"propagation": {
"propagation_model": "special_perturbations",
"integration_method": "RK45",
"station_keeping": true,
"target_realtime_propagation": true,
"sensor_realtime_propagation": true
},
"observation": {
"background": true
},
"geopotential": {
"model": "egm96.txt",
"degree": 2,
"order": 0
},
"perturbations": {
"third_bodies": ["moon"],
"solar_radiation_pressure": false,
"general_relativity": false
},
"estimation": {
"sequential_filter": {
"name": "unscented_kalman_filter",
"parameters": {
"alpha": 0.05,
"beta": 2.0
},
"dynamics_model": "special_perturbations",
"maneuver_detection": null
},
"adaptive_filter": null
},
"engines_files": ["engines/summation_ssn.json"],
"events": []
}
```
The "init message" is divided into several sections, each responsible for different aspects of the specified simulation run.
At the top level, things like the propagation and estimation models are described.
A user also must define engine configuration file(s) which specify how to task the nested target and sensor configurations.
The initialization/configuration file structure required to run RESONAATE is described in detail by the [Config Specification](./docs/source/reference/config_format.md) documentation.
### Database Architecture
When interacting with the `resonaate` CLI, users may specify two separate types of databases: `ResonaateDatabase` (aka internal) and `ImporterDatabase` (aka external).
The internal `ResonaateDatabase` defines where data _produced_ by RESONAATE is stored.
Users may save the database to a specific database file with the `-d` or `--db-path` CLI options to `resonaate` (recommended).
The `--db-path` option requires explicit selection of the file location.
The external `ImporterDatabase` defines **read-only** data that RESONAATE will ingest during a simulation and mix with produced data, but is protected from being written to by RESONAATE.
This provides utility for loading large sets of pre-computed data (truth, observations, tasks); testing fusion of external estimates or observations with internally generated estimates and observations; and stacking data from simulation runs together.
Users can specify the `ImporterDatabase` file path with the `-i` or `--importer-db-path` CLI options to `resonaate`.
### Python Example
If users wish to incorporate RESONAATE into a separate tool, they can start with this minimal example that will properly run a simulation.
```python
# Standard Library Imports
from datetime import timedelta
# RESONAATE Imports
from resonaate.common.logger import Logger
from resonaate.data.resonaate_database import ResonaateDatabase
from .physics.time.conversions import getTargetJulianDate
from .scenario import buildScenarioFromConfigFile
# Points to a valid main configuration file
init_file = "scenarios/main/test1.json"
# Define custom logger object which logs to the console
logger = Logger("resonaate", path="stdout")
# Define internal database instance explicitly
db_path = "db/resonaate.sqlite3"
# Build the Scenario application from the JSON init
scenario = buildScenarioFromConfigFile(
init_file, # Initialization file/scenario config
db_path, # Path to `ResonaateDatabase` file
internal_db_path=None, # No imported data
)
# Determine final time as a Julian date
target_date = getTargetJulianDate(
scenario.clock.julian_date_start, timedelta(hours=sim_time_hours)
)
try:
# Step through simulation
scenario.propagateTo(target_date)
except KeyboardInterrupt:
# Notification simulation stopped via KeyboardInterrupt
scenario.logger.warning("Simulation terminated")
else:
# Notification simulation stopped gracefully
scenario.logger.info("Simulation complete")
finally:
# Gracefully shutdown the simulation
scenario.shutdown()
```
> NOTE: If you are not using `buildScenarioFromConfigFile()`, you must call `setDBPath()` before any database
> queries are required.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for more thorough details.
Using these development tools requires a standalone version of RESONAATE to be installed.
To install compatible, up-to-date versions please install RESONAATE with the following commands:
```bash
make install
```
### Linting
- Running linter target:
```bash
make lint
```
### Testing
- Run unit tests only (~30 s)
```bash
make test
```
- Run entire test suite (~4 m)
```bash
make test_all
```
- Include coverage results
```bash
make coverage
```
### Generating Documentation
- Build and serve the documentation
```bash
make doc
```
- Open [http://localhost:8000/](http://localhost:8000/) in a browser
## Publications
For additional information on the development of the RESONAATE Tool, see the following publications:
- Dynamically Tracking Maneuvering Spacecraft with a Globally-Distributed, Heterogeneous Wireless Sensor Network
- AIAA Space, 2017
- Digital Object Identifier (DOI) : 10.2514/6.2017-5172
- An Autonomous Sensor Management Strategy for Monitoring a Dynamic Space Domain with Diverse Sensors
- AIAA SciTech, 2018
- Digital Object Identifier (DOI) : 10.2514/6.2018-0890
- Autonomous Multi-Phenomenology Space Domain Sensor Tasking and Adaptive Estimation
- IEEE Fusion, 2018
- Digital Object Identifier (DOI) : 10.23919/ICIF.2018.8455863
- Adaptively Tracking Maneuvering Spacecraft with a Globally Distributed, Diversely Populated Surveillance Network
- Journal of Guidance, Control, and Dynamics, 2018
- Digital Object Identifier (DOI) : 10.2514/1.G003743
- Autonomous and Responsive Surveillance Network Management for Adaptive Space Situational Awareness
- Virginia Tech Dissertation, 2018
- Digital Object Identifier (DOI) : 10919/84931
- Parametric Analysis of an Autonomous Sensor Tasking Engine for Spacecraft Tracking
- AIAA SciTech, 2021
- Digital Object Identifier (DOI) : 10.2514/6.2021-1397
## Authors
- Project Principal Investigators
- Dr. Jonathan Black: <jonathan.black@vt.edu>
- Dr. Kevin Schroeder: <kschro1@vt.edu>
- Core Developers
- Dylan Thomas: <dylan.thomas@vt.edu>
- David Kusterer: <kdavid13@vt.edu>
- Jon Kadan: <jkadan@vt.edu>
- Cameron Harris: <camerondh@vt.edu>
- Monty Campbell: <mcampbell02@vt.edu>
- Contributors
- Connor Segal: <csegal@vt.edu>
- Amit Bala: <agbala@vt.edu>
- Dylan Penn: <dylanrpenn@vt.edu>
Raw data
{
"_id": null,
"home_page": null,
"name": "resonaate",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "space, awareness, astrodynamics, autonomy",
"author": null,
"author_email": "\"Dr. Kevin Schroeder\" <kschro1@vt.edu>, David Kusterer <kdavid13@vt.edu>, Monty Campbell <mcampbell02@vt.edu>, Collin Phillips <ccp1024@vt.edu>, Dylan Thomas <dylan.thomas@vt.edu>, Jon Kadan <jkadan@vt.edu>, Cameron Harris <camerondh@vt.edu>, Connor Segal <csegal@vt.edu>",
"download_url": "https://files.pythonhosted.org/packages/c6/4d/af98efbf881dcff1502a7cafdc1ab372666e0a94c2b049d427e14e6caaf6/resonaate-4.1.0.tar.gz",
"platform": null,
"description": "# REsponsive Space ObservatioN Analysis & Autonomous Tasking Engine (RESONAATE)\r\n\r\nRESONAATE source code was developed under contract with AFRL/RIED, and is approved for public release under Public Affairs release approval #AFRL-2025-2332.\r\n\r\n\r\n\r\nWith the expected resident space object (RSO) population growth and improvements of satellite propulsion capabilities, it has become increasingly apparent that maintaining space domain awareness in future decades will require using human-on-the-loop autonomy as opposed to the current human-in-the-loop methods.\r\nRESONAATE is a decision making algorithm that creates a tasking strategy for a customizable Space Surveillance Network (SSN).\r\nThe program presents responsive and autonomous sensor network management for tracking multiple maneuvering and non-maneuvering satellites with a diversely populated space object surveillance and identification (SOSI) network.\r\nThe method utilizes a sub-optimal partially observed Markov decision process (POMDP) to task various ground and space-based sensors.\r\nThe POMDP implements the largest Lyapunov exponent, the Fisher information gain, and a sensor transportability metric to assess the overall reward for tasking a specific sensor to track a particular satellite.\r\nThe successful measurements from the tasked sensors are combined using an unscented Kalman filter to maintain viable orbit estimates for all targets.\r\n\r\n\r\n\r\n______________________________________________________________________\r\n\r\n<!-- START TOC -->\r\n\r\n**Table of Contents**\r\n\r\n- [REsponsive Space ObservatioN Analysis & Autonomous Tasking Engine (RESONAATE)](#responsive-space-observation-analysis--autonomous-tasking-engine-resonaate)\r\n - [Setup](#setup)\r\n - [Dependencies](#dependencies)\r\n - [Installation](#installation)\r\n - [RESONAATE Configuration](#resonaate-configuration)\r\n - [Usage](#usage)\r\n - [CLI Tool](#cli-tool)\r\n - [Initialization](#initialization)\r\n - [Database Architecture](#database-architecture)\r\n - [Python Example](#python-example)\r\n - [Contributing](#contributing)\r\n - [Linting](#linting)\r\n - [Testing](#testing)\r\n - [Generating Documentation](#generating-documentation)\r\n - [Publications](#publications)\r\n - [Authors](#authors)\r\n\r\n______________________________________________________________________\r\n\r\n<!-- END TOC -->\r\n\r\n## Setup\r\n\r\n### Dependencies\r\n\r\n- Python (PIP) Packages\r\n - [NumPy](https://www.numpy.org/)\r\n - [SciPy](https://www.scipy.org/scipylib/index.html)\r\n - [SQLAlchemy](https://www.sqlalchemy.org/)\r\n - [Pydantic](https://docs.pydantic.dev/latest/)\r\n - [Ray Core](https://docs.ray.io/en/latest/ray-core/walkthrough.html)\r\n - [SGP4](https://pypi.org/project/sgp4/)\r\n- Software\r\n - [Python >= 3.9](https://www.python.org)\r\n\r\nAdditional optional dependancies are documented in `pyproject.toml`.\r\n\r\n### Installation\r\n\r\nSee [Installation](./docs/source/intro/install.md#installation) for details on installing the `resonaate` Python package and its dependencies.\r\n\r\n### RESONAATE Configuration\r\n\r\nBy default, RESONAATE will use the default settings defined in `src/resonaate/common/default_behavior.config`.\r\nThese values correspond to how RESONAATE behaves with respect to logging, database, debugging, and parallelization.\r\nTo overwrite these settings, please copy the contents of `src/resonaate/common/default_behavior.config` to a new `.config` file to save the default settings.\r\nEdit by uncommenting and changing the required values.\r\n\r\n## Usage\r\n\r\nRESONAATE's modeling and simulation capabilities are accessible via its command line interface (CLI) entrypoint.\r\n\r\n### CLI Tool\r\n\r\n- Run an example simulation, replacing `<init_file>` and `<number_of_hours>` with appropriate values\r\n\r\n ```bash\r\n resonaate <init_file> -t <number_of_hours>\r\n ```\r\n\r\n- Command line arguments for `resonaate` entry point:\r\n\r\n ```bash\r\n usage: resonaate [-h] [-t HOURS] [--debug] [-d DB_PATH] [-i IMPORTER_DB_PATH] INIT_FILE\r\n\r\n RESONAATE Command Line Interface\r\n\r\n positional arguments:\r\n INIT_FILE Path to RESONAATE initialization message file\r\n\r\n optional arguments:\r\n -h, --help show this help message and exit\r\n -t HOURS, --time HOURS\r\n Time in hours to simulate. DEFAULT: 1/2 hour\r\n --debug Turns on parallel debug mode\r\n\r\n Database Files:\r\n -d DB_PATH, --db-path DB_PATH\r\n Path to RESONAATE database\r\n -i IMPORTER_DB_PATH, --importer-db-path IMPORTER_DB_PATH\r\n Path to Importer database\r\n ```\r\n\r\n### Initialization\r\n\r\nRESONAATE allows the user to run custom scenarios which are specified in an \"init message\" JSON file.\r\nThis repository includes several example \"init messages\" under `configs/json/`.\r\n\r\nFor example, `main_init.json`:\r\n\r\n```json\r\n{\r\n \"time\": {\r\n \"start_timestamp\": \"2021-03-30T16:00:00.000Z\",\r\n \"physics_step_sec\": 300,\r\n \"output_step_sec\": 300,\r\n \"stop_timestamp\": \"2021-03-30T17:00:00.000Z\"\r\n },\r\n \"noise\": {\r\n \"init_position_std_km\": 1e-3,\r\n \"init_velocity_std_km_p_sec\": 1e-6,\r\n \"filter_noise_type\": \"continuous_white_noise\",\r\n \"filter_noise_magnitude\": 3.0e-14,\r\n \"random_seed\": \"os\"\r\n },\r\n \"propagation\": {\r\n \"propagation_model\": \"special_perturbations\",\r\n \"integration_method\": \"RK45\",\r\n \"station_keeping\": true,\r\n \"target_realtime_propagation\": true,\r\n \"sensor_realtime_propagation\": true\r\n },\r\n \"observation\": {\r\n \"background\": true\r\n },\r\n \"geopotential\": {\r\n \"model\": \"egm96.txt\",\r\n \"degree\": 2,\r\n \"order\": 0\r\n },\r\n \"perturbations\": {\r\n \"third_bodies\": [\"moon\"],\r\n \"solar_radiation_pressure\": false,\r\n \"general_relativity\": false\r\n },\r\n \"estimation\": {\r\n \"sequential_filter\": {\r\n \"name\": \"unscented_kalman_filter\",\r\n \"parameters\": {\r\n \"alpha\": 0.05,\r\n \"beta\": 2.0\r\n },\r\n \"dynamics_model\": \"special_perturbations\",\r\n \"maneuver_detection\": null\r\n },\r\n \"adaptive_filter\": null\r\n },\r\n \"engines_files\": [\"engines/summation_ssn.json\"],\r\n \"events\": []\r\n}\r\n```\r\n\r\nThe \"init message\" is divided into several sections, each responsible for different aspects of the specified simulation run.\r\nAt the top level, things like the propagation and estimation models are described.\r\nA user also must define engine configuration file(s) which specify how to task the nested target and sensor configurations.\r\n\r\nThe initialization/configuration file structure required to run RESONAATE is described in detail by the [Config Specification](./docs/source/reference/config_format.md) documentation.\r\n\r\n### Database Architecture\r\n\r\nWhen interacting with the `resonaate` CLI, users may specify two separate types of databases: `ResonaateDatabase` (aka internal) and `ImporterDatabase` (aka external).\r\n\r\nThe internal `ResonaateDatabase` defines where data _produced_ by RESONAATE is stored.\r\nUsers may save the database to a specific database file with the `-d` or `--db-path` CLI options to `resonaate` (recommended).\r\nThe `--db-path` option requires explicit selection of the file location.\r\n\r\nThe external `ImporterDatabase` defines **read-only** data that RESONAATE will ingest during a simulation and mix with produced data, but is protected from being written to by RESONAATE.\r\nThis provides utility for loading large sets of pre-computed data (truth, observations, tasks); testing fusion of external estimates or observations with internally generated estimates and observations; and stacking data from simulation runs together.\r\nUsers can specify the `ImporterDatabase` file path with the `-i` or `--importer-db-path` CLI options to `resonaate`.\r\n\r\n### Python Example\r\n\r\nIf users wish to incorporate RESONAATE into a separate tool, they can start with this minimal example that will properly run a simulation.\r\n\r\n```python\r\n# Standard Library Imports\r\nfrom datetime import timedelta\r\n\r\n# RESONAATE Imports\r\nfrom resonaate.common.logger import Logger\r\nfrom resonaate.data.resonaate_database import ResonaateDatabase\r\nfrom .physics.time.conversions import getTargetJulianDate\r\nfrom .scenario import buildScenarioFromConfigFile\r\n\r\n# Points to a valid main configuration file\r\ninit_file = \"scenarios/main/test1.json\"\r\n\r\n# Define custom logger object which logs to the console\r\nlogger = Logger(\"resonaate\", path=\"stdout\")\r\n\r\n# Define internal database instance explicitly\r\ndb_path = \"db/resonaate.sqlite3\"\r\n\r\n# Build the Scenario application from the JSON init\r\nscenario = buildScenarioFromConfigFile(\r\n init_file, # Initialization file/scenario config\r\n db_path, # Path to `ResonaateDatabase` file\r\n internal_db_path=None, # No imported data\r\n)\r\n\r\n# Determine final time as a Julian date\r\ntarget_date = getTargetJulianDate(\r\n scenario.clock.julian_date_start, timedelta(hours=sim_time_hours)\r\n)\r\n\r\ntry:\r\n # Step through simulation\r\n scenario.propagateTo(target_date)\r\nexcept KeyboardInterrupt:\r\n # Notification simulation stopped via KeyboardInterrupt\r\n scenario.logger.warning(\"Simulation terminated\")\r\nelse:\r\n # Notification simulation stopped gracefully\r\n scenario.logger.info(\"Simulation complete\")\r\nfinally:\r\n # Gracefully shutdown the simulation\r\n scenario.shutdown()\r\n```\r\n\r\n> NOTE: If you are not using `buildScenarioFromConfigFile()`, you must call `setDBPath()` before any database\r\n> queries are required.\r\n\r\n## Contributing\r\n\r\nPlease see [CONTRIBUTING](CONTRIBUTING.md) for more thorough details.\r\n\r\nUsing these development tools requires a standalone version of RESONAATE to be installed.\r\nTo install compatible, up-to-date versions please install RESONAATE with the following commands:\r\n\r\n```bash\r\nmake install\r\n```\r\n\r\n### Linting\r\n\r\n- Running linter target:\r\n\r\n ```bash\r\n make lint\r\n ```\r\n\r\n### Testing\r\n\r\n- Run unit tests only (~30 s)\r\n\r\n ```bash\r\n make test\r\n ```\r\n\r\n- Run entire test suite (~4 m)\r\n\r\n ```bash\r\n make test_all\r\n ```\r\n\r\n- Include coverage results\r\n\r\n ```bash\r\n make coverage\r\n ```\r\n\r\n### Generating Documentation\r\n\r\n- Build and serve the documentation\r\n\r\n ```bash\r\n make doc\r\n ```\r\n\r\n- Open [http://localhost:8000/](http://localhost:8000/) in a browser\r\n\r\n## Publications\r\n\r\nFor additional information on the development of the RESONAATE Tool, see the following publications:\r\n\r\n- Dynamically Tracking Maneuvering Spacecraft with a Globally-Distributed, Heterogeneous Wireless Sensor Network\r\n - AIAA Space, 2017\r\n - Digital Object Identifier (DOI) : 10.2514/6.2017-5172\r\n- An Autonomous Sensor Management Strategy for Monitoring a Dynamic Space Domain with Diverse Sensors\r\n - AIAA SciTech, 2018\r\n - Digital Object Identifier (DOI) : 10.2514/6.2018-0890\r\n- Autonomous Multi-Phenomenology Space Domain Sensor Tasking and Adaptive Estimation\r\n - IEEE Fusion, 2018\r\n - Digital Object Identifier (DOI) : 10.23919/ICIF.2018.8455863\r\n- Adaptively Tracking Maneuvering Spacecraft with a Globally Distributed, Diversely Populated Surveillance Network\r\n - Journal of Guidance, Control, and Dynamics, 2018\r\n - Digital Object Identifier (DOI) : 10.2514/1.G003743\r\n- Autonomous and Responsive Surveillance Network Management for Adaptive Space Situational Awareness\r\n - Virginia Tech Dissertation, 2018\r\n - Digital Object Identifier (DOI) : 10919/84931\r\n- Parametric Analysis of an Autonomous Sensor Tasking Engine for Spacecraft Tracking\r\n - AIAA SciTech, 2021\r\n - Digital Object Identifier (DOI) : 10.2514/6.2021-1397\r\n\r\n## Authors\r\n\r\n- Project Principal Investigators\r\n - Dr. Jonathan Black: <jonathan.black@vt.edu>\r\n - Dr. Kevin Schroeder: <kschro1@vt.edu>\r\n- Core Developers\r\n - Dylan Thomas: <dylan.thomas@vt.edu>\r\n - David Kusterer: <kdavid13@vt.edu>\r\n - Jon Kadan: <jkadan@vt.edu>\r\n - Cameron Harris: <camerondh@vt.edu>\r\n - Monty Campbell: <mcampbell02@vt.edu>\r\n- Contributors\r\n - Connor Segal: <csegal@vt.edu>\r\n - Amit Bala: <agbala@vt.edu>\r\n - Dylan Penn: <dylanrpenn@vt.edu>\r\n",
"bugtrack_url": null,
"license": null,
"summary": "The Responsive Space Observation Analysis and Autonomous Tasking Engine (RESONAATE)",
"version": "4.1.0",
"project_urls": null,
"split_keywords": [
"space",
" awareness",
" astrodynamics",
" autonomy"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7a034275f35d0a4467d039d4433271d33851b21ad3514b13c7205dd1b764b076",
"md5": "515bf9d1a61df8bb01926f77ed35da6e",
"sha256": "6b8ee1688ba443d45d8c779d43ffa536f6203ea1d9c0be537a5501dec79cbc99"
},
"downloads": -1,
"filename": "resonaate-4.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "515bf9d1a61df8bb01926f77ed35da6e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 11200744,
"upload_time": "2025-07-29T20:46:28",
"upload_time_iso_8601": "2025-07-29T20:46:28.371524Z",
"url": "https://files.pythonhosted.org/packages/7a/03/4275f35d0a4467d039d4433271d33851b21ad3514b13c7205dd1b764b076/resonaate-4.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c64daf98efbf881dcff1502a7cafdc1ab372666e0a94c2b049d427e14e6caaf6",
"md5": "11c9d0166b8289ccbf7b2e8cd5e60834",
"sha256": "d63a56c5f73ccf501c94ce5a4e6d4ab210ae0f558dac3fb57005f39b9c2031e3"
},
"downloads": -1,
"filename": "resonaate-4.1.0.tar.gz",
"has_sig": false,
"md5_digest": "11c9d0166b8289ccbf7b2e8cd5e60834",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 13290449,
"upload_time": "2025-07-29T20:46:33",
"upload_time_iso_8601": "2025-07-29T20:46:33.410150Z",
"url": "https://files.pythonhosted.org/packages/c6/4d/af98efbf881dcff1502a7cafdc1ab372666e0a94c2b049d427e14e6caaf6/resonaate-4.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 20:46:33",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "resonaate"
}