Giter Site home page Giter Site logo

marsupial-cubesat-sim's Introduction

Decentralized Coordination of a Swarm of Nano-Spacecraft for Efficient Sample Return Using Visible Light Communication (VLC)

This repository holds the simulation code for this paper.

Functionality

The DSRC package provides functionality to simulate an arbitrary number of motherships each with an arbitrary number of cuesats which may be deployed, independently navigate, capture a sample, dock, and communicate. Simulations are available as Ray Actors which effectuate arbitrary task parallelism

Note: This is still under active development.

QuickStart

MATLAB Engine API for Python

This project relies on MATLAB so it's required to install the engine API. Instructions on this process are found at https://www.mathworks.com/help/matlab/matlab_external/install-the-matlab-engine-for-python.html. The basics is that there's a setup.py located at <matlabroot>/extern/engines/python which can be installed via pip. There are certain Python versions which work with certain MATLAB versions. This repo is mainly developed with Python 3.10 and MATLAB r2022b.

This repository is expected to be cross-platform as it is pure Python, however development is conducted mainly on MacOS and Ubuntu using Python 3.10.6. Around Python 3.8 should work.

git clone [email protected]:SpaceTREx-Lab/Decentralized-CubeSat-Sample-Return-using-VLC.git repodir
pip install -e repodir
python repodir/DSRC/simulation/simulation.py [--num_workers=<n parallel sims>]
open simulation_animation.mp4   # On MacOS

Passing the optional argument --num_workers with a value greater than 1 will launch the provided number of Ray Actors which will each independently run a simulation. The simulation test function sets the number of cubesats as increasing from 1 for each instantiated simulation.

The results of each simulation are used to create an animation. This is saved to an MP4 by default but you can comment that portion out and replace with plt.show() for an interactive animation (this is far faster to render at least on my laptop).

Structure

The DSRC folder is the top-level for the package. Currently there is only the simulation subpacakge which holds the simulation class (and simulation.py which can be run as a test), and the animation utilities. The simulation.spacecraft subpackage holds classes for a spacecraft (a base class), a mothership, and a cubesat. The simulation.communication holds utilities for simulating a communication link. (This is still under development and untested)

marsupial-cubesat-sim's People

Contributors

connorfuhrman avatar connorfuhrman-episci avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.