CINXE.COM

Welcome to Basilisk: an Astrodynamics Simulation Framework — Basilisk 2.6.10 documentation

<!DOCTYPE html> <html class="writer-html5" lang="en" data-content_root="./"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Welcome to Basilisk: an Astrodynamics Simulation Framework &mdash; Basilisk 2.6.10 documentation</title> <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=4c58bd45" /> <script src="_static/jquery.js?v=5d32c60e"></script> <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="_static/documentation_options.js?v=235c4503"></script> <script src="_static/doctools.js?v=9bcbadda"></script> <script src="_static/sphinx_highlight.js?v=dc90522c"></script> <script src="_static/js/theme.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> <link rel="next" title="Install" href="Install.html" /> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" style="background: #CFB87C" > <a href="#" class="icon icon-home"> Basilisk <img src="_static/Basilisk-Logo.png" class="logo" alt="Logo"/> </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="search.html" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <p class="caption" role="heading"><span class="caption-text">Basilisk:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="Install.html">Install</a></li> <li class="toctree-l1"><a class="reference internal" href="Learn.html">Learning Basilisk</a></li> <li class="toctree-l1"><a class="reference internal" href="Support.html">Support</a></li> <li class="toctree-l1"><a class="reference internal" href="Documentation/index.html">Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="supportData.html">Support Data Files</a></li> <li class="toctree-l1"><a class="reference internal" href="ExternalSites.html">External Sites</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Vizard:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="Vizard/Vizard.html">About Vizard</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardDownload.html">Download</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardReleaseNotes.html">Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardGUI.html">User Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/vizardAdvanced/index.html">Advanced Features</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/vizardGallery.html">Video Gallery</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" style="background: #CFB87C" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="#">Basilisk</a> </nav> <div class="wy-nav-content"> <div class="rst-content style-external-links"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="#" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">Welcome to Basilisk: an Astrodynamics Simulation Framework</li> <li class="wy-breadcrumbs-aside"> <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <section id="welcome-to-basilisk-an-astrodynamics-simulation-framework"> <span id="aboutbsk"></span><h1>Welcome to Basilisk: an Astrodynamics Simulation Framework<a class="headerlink" href="#welcome-to-basilisk-an-astrodynamics-simulation-framework" title="Link to this heading"></a></h1> <a class="reference internal image-reference" href="_images/bannerImage.jpg"><img alt="_images/bannerImage.jpg" class="align-center" src="_images/bannerImage.jpg" style="width: 100%;" /> </a> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>This documentation is for the latest release on <code class="docutils literal notranslate"><span class="pre">develop</span></code>. If you are looking for documenation for prior tagged releases, they can be found at <a class="reference external" href="https://hanspeterschaub.info/bskOlderDocs.html">here</a>.</p> </div> <section id="architecture"> <h2>Architecture<a class="headerlink" href="#architecture" title="Link to this heading"></a></h2> <aside class="sidebar"> <p class="sidebar-title">Basilisk Info</p> <a class="reference internal image-reference" href="_images/Basilisk-Logo.png"><img alt="_images/Basilisk-Logo.png" class="align-center" src="_images/Basilisk-Logo.png" style="width: 300px;" /> </a> <p><strong>Description:</strong> Basilisk is a fast, open source, spacecraft-centric mission simulation framework</p> <p><strong>License:</strong> <a class="reference external" href="https://en.wikipedia.org/wiki/ISC_license">ISC Open Source License</a></p> <p><strong>Platforms:</strong> macOS, Linux and Windows</p> <p><strong>Status:</strong> version 2.6.10 </p> <p><strong>Logo:</strong> <a class="reference download internal" download="" href="_downloads/455f585207ebd2efe529325d874df6f4/Basilisk-Logo.png"><code class="xref download docutils literal notranslate"><span class="pre">PNG</span></code></a> <a class="reference download internal" download="" href="_downloads/ae1011cb792c48ea0586f95db217d6ad/Basilisk-Logo.pdf"><code class="xref download docutils literal notranslate"><span class="pre">PDF</span></code></a> <a class="reference download internal" download="" href="_downloads/884bad8c7a8c1d2548edb9b40c9022f9/Basilisk-Logo.svg"><code class="xref download docutils literal notranslate"><span class="pre">SVG</span></code></a></p> </aside> <p>Basilisk, or BSK for short, is a software framework capable of both faster-than realtime spacecraft simulations, including repeatable Monte-Carlo simulation options, as well as providing real-time options for hardware-in-the-loop simulations. The Basilisk package is designed as a set of Python modules written in C/C++ which allows for the ease of scripting and reconfigurability of Python while still providing the execution speed of C/C++. The software is being developed jointly by the University of Colorado <a class="reference external" href="http://hanspeterschaub.info/AVSlab.html">AVS Lab</a> and the <a class="reference external" href="http://lasp.colorado.edu/home/">Laboratory for Atmospheric and Space Physics</a> (LASP). The resulting framework is targeted for both astrodynamics research modeling the orbit and attitue of complex spacecraft systems, as well as sophisticated mission-specific vehicle simulations that include hardware-in-the-loop scenarios.</p> <img alt="_images/bsk2-concept.svg" class="align-center" src="_images/bsk2-concept.svg" /> <p>A companion Visualization program is called <a class="reference internal" href="Vizard/Vizard.html#vizard"><span class="std std-ref">Vizard</span></a>. This stand-alone program is based on the Unity rendering engine and can display the Basilisk simulation states in an interactive manner.</p> </section> <section id="what-is-basilisk-used-for"> <h2>What is Basilisk Used For?<a class="headerlink" href="#what-is-basilisk-used-for" title="Link to this heading"></a></h2> <p>This software is being actively used for:</p> <ul class="simple"> <li><p>astrodynamics research to model complex spacecraft dynamical behaviors</p></li> <li><p>developing new guidance, estimation and control solutions</p></li> <li><p>supporting mission concept development</p></li> <li><p>supporting flight software development</p></li> <li><p>supporting hardware in the loop testing by simulating in realtime the spacecraft states</p></li> <li><p>analysis of flight data and compare against expected behavior</p></li> <li><p>supporting spacecraft AI based autonomy development</p></li> </ul> </section> <section id="name-logo-description"> <h2>Name/Logo Description<a class="headerlink" href="#name-logo-description" title="Link to this heading"></a></h2> <p>The name Basilisk was chosen to reflect both the reptilian (Python) nature of the product-design as well as a nod to the speed requirements as the South American common basilisk runs so fast that it can even run across water.</p> <aside class="sidebar"> <p class="sidebar-title">Basilisk Users and Customers</p> <ul class="simple"> <li><p>Startup Space Companies</p></li> <li><p>Academic Researcher Groups</p></li> <li><p>Autonomous Vehicle Systems Lab</p></li> <li><p>Spaceflight Algorithm Designers</p></li> <li><p>Space Mission Analysts and Contractors</p></li> <li><p>International Researchers and Organizations</p></li> <li><p>Mission Developers</p></li> </ul> </aside> </section> <section id="basilisk-design-goals"> <h2>Basilisk Design Goals<a class="headerlink" href="#basilisk-design-goals" title="Link to this heading"></a></h2> <p>The Basilisk framework is being designed from inception to support several different (often competing) requirements.</p> <ul class="simple"> <li><p><strong>Speed:</strong> Even though the system is operated through a Python interface, the underlying simulation executes entirely in C/C++ which allows for maximum execution speed. For example, a goal is to simulate a mission year with sufficiently accurate vehicle 6-DOF dynamics with at least a 365x speed-up (i.e. <em>a year in a day</em>).</p></li> <li><p><strong>Reconfiguration:</strong> The user interface executes natively in Python which allows the user to change task-rates, model/algorithm parameters, and output options dynamically on the fly.</p></li> <li><p><strong>Analysis:</strong> Python-standard analysis products like <a class="reference external" href="http://www.numpy.org">numpy</a> and <a class="reference external" href="http://matplotlib.org">matplotlib</a> are actively used to facilitate rapid and complex analysis of data obtained in a simulation run without having to stop and export to an external tool. This capability also applies to the Monte-Carlo engine available natively in the Basilisk framework.</p></li> <li><p><strong>Hardware-in-the-Loop:</strong> Basilisk will provide synchronization to realtime via software-based clock tracking modules. This allows the package to synchronize itself to one or more timing frames in order to provide deterministic behavior in a realtime environment.</p></li> <li><p><strong>Scriptability:</strong> The Python user interface to the C/C++ layer relies on the <a class="reference external" href="http://swig.org">Simplified Wrapper and Interface Generator</a> (SWIG) software, a cross-platform, open-source software tasked solely with interfacing C/C++ with scripting languages. This Python layer allows the simulation to be easily reconfigured which allows the user complete freedom in creating their own simulation modules and flight software (FSW) algorithm modules. Further, the Python layer abstracts logging/analysis which allows a single compilation of the source code to support completely different simulations.</p></li> </ul> <aside class="sidebar"> <p class="sidebar-title">Basilisk Impact and Value</p> <ul class="simple"> <li><p>Research repeatability and extensibility</p></li> <li><p>Rapid development</p></li> <li><p>Open source access</p></li> <li><p>Rapid development and integrated V&amp;V</p></li> <li><p>Integrated systems modeling via a well-defined API</p></li> <li><p>Speed</p></li> </ul> </aside> <ul class="simple"> <li><p><strong>Controlled Data Flow:</strong> Simulation modules and FSW algorithm modules communicate through the message passing interface (MPI), which is a singleton pattern. The MPI allows data traceability and ease of test. Modules are limited in their ability to subscribe to messages and write messages, thus setting limitations on the flow of information and the power of modules to control data generation. The messaging system is also instrumented to track data exchange, allowing the user to visualize exactly what data movement occurred in a given simulation run.</p></li> <li><p><strong>Cross-Platform Solution:</strong> Basilisk is inherently cross-platform in nature, and is supported on macOS, Windows, and Linux systems. The Python layer, C programming language, ZeroMQ communication library and Unity visualization are active cross-platform developments.</p></li> <li><p><strong>Validation and Verification:</strong> Each simulation or FSW algorithm module has unit test that can be run automatically using <code class="docutils literal notranslate"><span class="pre">pytest</span></code>. Integrated scenario test validated coupled behavior between modules. Each dynamics modules has associated momentum, energy and power validation tests. This ensures the integrity of the validated modules as new simulation capabilities are added.</p></li> <li><p><strong>Monte-Carlo Capability:</strong> The simulation framework is capable of doing bit-for-bit repeatable Monte-Carlo runs. The simulation parameters can be disturbed through a range of distribution functions.</p></li> <li><p><strong>3D Visualization:</strong> Basilisk has an accompanying stand-alone visualization called <a class="reference external" href="https://hanspeterschaub.info/bskHtml/vizard.html">Vizard</a> that uses <a class="reference external" href="https://unity.com">Unity</a> to visualize the spacecraft, its orientation and orbits, the local planets, and various qualitative data and indicators for sensors and actuators. Simulation events and device faults may be triggered directly from the visualization.</p></li> </ul> </section> <section id="related-publications"> <h2>Related Publications<a class="headerlink" href="#related-publications" title="Link to this heading"></a></h2> <ul class="simple"> <li><ol class="upperalpha simple" start="10"> <li><p>Alcorn, H. Schaub, S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Alcorn2016.pdf">Attitude Control Performance Analysis Using Discretized Thruster With Residual Tracking</a>”, AAS GN&amp;C Conference, Breckenridge, Colorado, February 5–10, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="3"> <li><p>Allard, H. Schaub, and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Allard2016.pdf">General Hinged Solar Panel Dynamics Approximating First-Order Spacecraft Flexing</a>,”; AAS GN&amp;C Conference, Breckenridge, Colorado, February 5–10, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="16"> <li><p>Kenneally and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Kenneally2016.pdf">High Geometric Fidelity Modeling Of Solar Radiation Pressure Using Graphics Processing Unit</a>,”; AAS Spaceflight Mechanics Meeting, Napa Valley, California, February 14–18, 2016. Paper No. 16-500.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="13"> <li><p>Cols Margenet, H. Schaub and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/ColsMargenet2016.pdf">Modular Attitude Guidance Development using the Basilisk Software Framework</a>,” AIAA/AAS Astrodynamics Specialist Conference, Long Beach, California, September 12–15, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="10"> <li><p>Alcorn, C. Allard and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Alcorn2016a.pdf">Fully-Coupled Dynamical Modeling of a Rigid Spacecraft with Imbalanced Reaction Wheels</a>,” AIAA/AAS Astrodynamics Specialist Conference, Long Beach, California, September 12–15, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="3"> <li><p>Allard, M. Diaz Ramos and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Allard2016a.pdf">Spacecraft Dynamics Integrating Hinged Solar Panels and Lumped-Mass Fuel Slosh Model</a>,” AIAA/AAS Astrodynamics Specialist Conference, Long Beach, California, September 12–15, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="10"> <li><p>Alcorn, H. Schaub, S. Piggott and D. Kubitschek, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Alcorn2016b.pdf">Simulating Attitude Actuation Options Using the Basilisk Astrodynamics Software Architecture</a>,” 67 <sup>th</sup> International Astronautical Congress, Guadalajara, Mexico, September 26–30, 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="19"> <li><p>Piggott, J. Alcorn, M. Cols Margenet, P. Kenneally and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Piggott2016FSWConference.pdf">Flight Software Development Through Python</a>,” 2016 Workshop on Spacecraft Flight Software , JPL, California, Dec. 13–15 2016.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="16"> <li><p>Kenneally and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/AAS-17-127.pdf">Modeling Of Solar Radiation Pressure and Self-Shadowing Using Graphics Processing Unit</a>,” AAS Guidance, Navigation and Control Conference, Breckenridge, Feb. 2–8, 2017.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="16"> <li><p>Panicucci, C. Allard and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/AAS-17-011.pdf">Spacecraft Dynamics Employing a General Multi-tank and Multi-thruster Mass Depletion Formulation</a>,” AAS Guidance, Navigation and Control Conference, Breckenridge, Feb. 2–8, 2017.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="13"> <li><p>Cols Margenet, H. Schaub, and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/ColsMargenet2017.pdf">Modular Platform for Hardware-in-the-Loop Testing of Autonomous Flight Algorithms</a>,” International Symposium on Space Flight Dynamics, Himegin Hall, Matsuyama-Ehime, Japan, June 3–9, 2017.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="10"> <li><p>Alcorn, C. Allard and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Alcorn2017.pdf">Fully-Coupled Dynamical Jitter Modeling Of Variable-Speed Control Moment Gyroscopes</a>,” AAS/AIAA Astrodynamics Specialist Conference, Stevenson, WA, August 20–24, 2017.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="3"> <li><p>Allard, M. Diaz Ramos, P. Kenneally, H. Schaub and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Allard2018.pdf">Modular Software Architecture for Fully-Coupled Spacecraft Simulations</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="20"> <li><p>Teil, H. Schaub and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Teil2018.pdf">Comparing Coarse Sun Sensor Based Sequential Sun-Heading Filters</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="10"> <li><p>Wood, M. Cols Margenet, P. Kenneally, H. Schaub and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Wood2018.pdf">Flexible Basilisk Astrodynamics Visualization Software Using the Unity Rendering Engine</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="13"> <li><p>Cols Margenet, P. Kenneally and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/ColsMargenet2018.pdf">Software Simulator for Heterogeneous Spacecraft and Mission Components</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="16"> <li><p>Kenneally and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Kenneally2018a.pdf">Fast Spacecraft Solar Radiation Pressure Modeling By Ray-Tracing On Graphic Processing Unit</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="3"> <li><p>Allard and H. Schaub, “<a class="reference external" href="https://hanspeterschaub.info/Papers/Allard2018b.pdf">Stability Analysis of Spacecraft with Flexible Solar Arrays Using Classical Techniques</a>,” AAS Guidance and Control Conference, Breckenridge, CO, February 2–7, 2018.</p></li> </ol> </li> <li><ol class="upperalpha simple" start="16"> <li><p>Kenneally, H. Schaub and S. Piggott, “<a class="reference external" href="https://hanspeterschaub.info/PapersPrivate/Kenneally2020a.pdf">Basilisk: A Flexible, Scalable and Modular Astrodynamics Simulation Framework</a>,” AIAA Journal of Aerospace Information Systems, Vol. 17, No. 9, Sept. 2020, pp. 4060–507.</p></li> </ol> </li> </ul> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Basilisk:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="Install.html">Install</a></li> <li class="toctree-l1"><a class="reference internal" href="Learn.html">Learning Basilisk</a></li> <li class="toctree-l1"><a class="reference internal" href="Support.html">Support</a></li> <li class="toctree-l1"><a class="reference internal" href="Documentation/index.html">Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="supportData.html">Support Data Files</a></li> <li class="toctree-l1"><a class="reference internal" href="ExternalSites.html">External Sites</a></li> </ul> </div> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Vizard:</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="Vizard/Vizard.html">About Vizard</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardDownload.html">Download</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardReleaseNotes.html">Release Notes</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/VizardGUI.html">User Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/vizardAdvanced/index.html">Advanced Features</a></li> <li class="toctree-l1"><a class="reference internal" href="Vizard/vizardGallery.html">Video Gallery</a></li> </ul> </div> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="Install.html" class="btn btn-neutral float-right" title="Install" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>&#169; Copyright 2025, Autonomous Vehicle Systems (AVS) Laboratory.</p> </div> Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10