macro

[ICC '21] MACRO: Megastructure Assembly via Collaborative Robots in Orbits

https://github.com/aaronjs99/macro

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

aerospace autonomous-systems control-systems distributed-algorithms multi-agent-systems optimal-control orbital-mechanics python spacecraft-formation telescope-assembly

Scientific Fields

Sociology Social Sciences - 87% confidence
Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation ·

Repository

[ICC '21] MACRO: Megastructure Assembly via Collaborative Robots in Orbits

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
aerospace autonomous-systems control-systems distributed-algorithms multi-agent-systems optimal-control orbital-mechanics python spacecraft-formation telescope-assembly
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

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

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

environment.yml pypi
pyproject.toml pypi
  • black *
  • matplotlib *
  • networkx *
  • numpy *
  • plotly *
  • pyyaml *
  • scipy *
requirements.txt pypi
  • 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