macro
[ICC '21] MACRO: Megastructure Assembly via Collaborative Robots in Orbits
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.8%) to scientific vocabulary
Keywords
Scientific Fields
Repository
[ICC '21] MACRO: Megastructure Assembly via Collaborative Robots in Orbits
Basic Info
- Host: GitHub
- Owner: aaronjs99
- License: gpl-2.0
- Language: Python
- Default Branch: master
- Homepage: https://ieeexplore.ieee.org/document/9703189
- Size: 22 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
Megastructure Assembly via Collaborative Robots in Orbits (MACRO)
This repository contains simulation code accompanying the paper Scalable Techniques for Autonomous Construction of a Paraboloidal Space Telescope in an Elliptic Orbit by Aaron John Sabu and Dwaipayan Mukherjee.
Overview
MACRO provides tools to simulate autonomous formation flying of multiple spacecraft for the construction of a large parabolic mirror while in orbit. The code implements formation maneuvers, attitude consensus and auction based allocation strategies used in the publication. Generated plots and animations from sample runs are available under the results/ directory.
Repository Structure
.
├── config/ # YAML configuration files for simulations
│ └── default.yaml
├── results/ # Output directory for plots, logs, and animations
├── src/
│ └── macro/ # Core simulation and control modules
│ ├── __init__.py
│ ├── auction.py
│ ├── benchmark.py
│ ├── glideslope.py
│ ├── ifmea.py
│ ├── main.py # Contains the Macro class (main simulation)
│ ├── maneuvers.py
│ ├── mirror.py
│ ├── neighbors.py
│ ├── simulate.py
│ └── utils.py
├── tests/ # Unit tests
│ └── test_main.py
├── run.py # Top-level script to run a simulation
├── environment.yml # Conda environment definition (Python 3.11)
├── pyproject.toml # Project metadata and dependencies
├── requirements.txt # Optional pip-based install support
├── README.md # Project overview and setup instructions
├── LICENSE # License file
└── .gitignore
Installation
This project requires Python 3.11. To set up the development environment using Conda:
```bash
Create a new environment from the YAML file
conda env create -f environment.yml
Activate the environment
conda activate macro
(Optional) Install the project in editable mode with dev dependencies
pip install -e .[dev] ```
Usage
Run the main simulation entry point:
bash
python run.py
Simulation output will be written to HTML files in the working directory.
Adjust parameters in src/main.py to explore different scenarios.
Testing
You can test the full simulation pipeline using:
bash
pytest tests/test_main.py -v
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines and development instructions.
Citation
If you use this code in your research, please cite our ICC 2021 paper:
bibtex
@article{sabu2021scalable,
author = {John-Sabu, Aaron and Mukherjee, Dwaipayan},
title = {Scalable Techniques for Autonomous Construction of a Paraboloidal Space Telescope in an Elliptic Orbit},
booktitle = {2021 Seventh Indian Control Conference (ICC)},
year = {2021},
pages = {329-334},
doi = {10.1109/ICC54714.2021.9703189},
url = {https://ieeexplore.ieee.org/document/9703189}
}
A machine-readable citation file is provided in CITATION.cff.
License
This project is licensed under the terms of the GNU General Public License version 2. See LICENSE for details.
Acknowledgements
This work was supported in part by an ISRO-funded project bearing code RD/0120-ISROC00-007. Aaron John Sabu was an undergraduate student at the time of writing and Dwaipayan Mukherjee was an Assistant Professor in the Department of Electrical Engineering, IIT Bombay.
Owner
- Name: Aaron John Sabu
- Login: aaronjs99
- Kind: user
- Location: Los Angeles, California
- Company: University of California Los Angeles
- Website: sites.google.com/view/aaronjs
- Repositories: 3
- Profile: https://github.com/aaronjs99
Mechanical and Aerospace Engineering PhD Candidate | Class of 2027 (hopefully)
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: John-Sabu
given-names: Aaron
- family-names: Mukherjee
given-names: Dwaipayan
title: "Scalable Techniques for Autonomous Construction of a Paraboloidal Space Telescope in an Elliptic Orbit"
version: "1.0"
doi: 10.1109/ICC54714.2021.9703189
url: https://ieeexplore.ieee.org/document/9703189
year: 2021
GitHub Events
Total
Last Year
Dependencies
- black *
- matplotlib *
- networkx *
- numpy *
- plotly *
- pyyaml *
- scipy *
- black ==25.1.0
- click ==8.2.1
- colorama ==0.4.6
- contourpy ==1.3.2
- cycler ==0.12.1
- fonttools ==4.58.4
- kiwisolver ==1.4.8
- matplotlib ==3.10.3
- mypy-extensions ==1.1.0
- narwhals ==1.44.0
- networkx ==3.5
- numpy ==2.3.1
- packaging ==25.0
- pathspec ==0.12.1
- pillow ==11.2.1
- platformdirs ==4.3.8
- plotly ==6.1.2
- pyparsing ==3.2.3
- python-dateutil ==2.9.0.post0
- pyyaml ==6.0.2
- scipy ==1.16.0
- six ==1.17.0