Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed May 29, 2024
1 parent e2858b2 commit 858b78e
Show file tree
Hide file tree
Showing 170 changed files with 3,539 additions and 3,293 deletions.
62 changes: 32 additions & 30 deletions JOSS/paper.html
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Summary &mdash; gym-electric-motor 2021 documentation</title><link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<title>Summary &mdash; gym-electric-motor 2021 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>

<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -38,11 +40,11 @@
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption"><span class="caption-text">Gym Electric Motor Readme:</span></p>
<p class="caption" role="heading"><span class="caption-text">Gym Electric Motor Readme:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../parts/readme.html">Readme File</a></li>
</ul>
<p class="caption"><span class="caption-text">gym-electric-motor Contents:</span></p>
<p class="caption" role="heading"><span class="caption-text">gym-electric-motor Contents:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../parts/environments/environment.html">Environments</a></li>
<li class="toctree-l1"><a class="reference internal" href="../parts/reference_generators/reference_generator.html">Reference Generators</a></li>
Expand Down Expand Up @@ -115,16 +117,16 @@
bibliography: Literature.bib</p></li>
</ul>
<hr class="docutils" />
<div class="section" id="summary">
<h1>Summary<a class="headerlink" href="#summary" title="Permalink to this headline"></a></h1>
<section id="summary">
<h1>Summary<a class="headerlink" href="#summary" title="Permalink to this heading"></a></h1>
<p>The <code class="docutils literal notranslate"><span class="pre">gym-electric-motor</span></code> (<code class="docutils literal notranslate"><span class="pre">GEM</span></code>) library provides simulation environments for electrical drive systems and, therefore, allows to easily design and analyze drive control solutions in Python.
Since <code class="docutils literal notranslate"><span class="pre">GEM</span></code> is strongly inspired by OpenAI’s <code class="docutils literal notranslate"><span class="pre">gym</span></code> [&#64;gym-whitepaper], it is particularly well-equipped for (but not limited to) applications in the field of reinforcement-learning-based control algorithms.
In addition, the interface allows to plug in any expert-driven control approach, such as model predictive control, to be tested and to perform benchmark comparisons.
The <code class="docutils literal notranslate"><span class="pre">GEM</span></code> package includes a wide variety of motors, power electronic converters and mechanical load models that can be flexibly selected and parameterized via the API.
A modular structure allows additional system components to be included in the simulation framework.</p>
</div>
<div class="section" id="statement-of-need">
<h1>Statement of Need<a class="headerlink" href="#statement-of-need" title="Permalink to this headline"></a></h1>
</section>
<section id="statement-of-need">
<h1>Statement of Need<a class="headerlink" href="#statement-of-need" title="Permalink to this heading"></a></h1>
<p>Electric drive systems and their control are an important topic in both academic and industrial research due to their worldwide usage and deployment.
Control algorithms for these systems have usually been designed, parameterized and tested within <code class="docutils literal notranslate"><span class="pre">MATLAB</span> <span class="pre">-</span> <span class="pre">Simulink</span></code> [&#64;MathWorks], which is developed and promoted specifically for
such engineering tasks.
Expand All @@ -135,9 +137,9 @@ <h1>Statement of Need<a class="headerlink" href="#statement-of-need" title="Perm
<p>Providing easy access to the non-commercial, open-source <code class="docutils literal notranslate"><span class="pre">GEM</span></code> library allows users from any engineering domain to include accurate drive models into their simulations, also beyond the topic of control applications.
Considering the prevalence of commercial software like <code class="docutils literal notranslate"><span class="pre">MATLAB</span></code> for educational purposes, a free-of-charge simulation alternative that does not force students or institutions to pay for licenses, has great potential to support and encourage training of new talents in the field of electrical drives and neighbouring domains (e.g. power electronics or energy systems).
<code class="docutils literal notranslate"><span class="pre">GEM</span></code> has already been used in graduate courses on reinforcement learning [&#64;rl-lecture].</p>
</div>
<div class="section" id="related-software">
<h1>Related software<a class="headerlink" href="#related-software" title="Permalink to this headline"></a></h1>
</section>
<section id="related-software">
<h1>Related software<a class="headerlink" href="#related-software" title="Permalink to this heading"></a></h1>
<p>Due to the strong dependence of downstream industrial development on simulated environments there is a comprehensive variety of commercial software that enables numerical analysis of every facet of electric drives.
To name just a few, <code class="docutils literal notranslate"><span class="pre">MATLAB</span> <span class="pre">-</span> <span class="pre">Simulink</span></code> is probably the most popular software environment for numerical analysis in engineering.
Herein, <code class="docutils literal notranslate"><span class="pre">MATLAB</span></code> is providing for a scientific calculation framework and <code class="docutils literal notranslate"><span class="pre">Simulink</span></code> for a model-driven graphical interface with a very large field of applications.
Expand All @@ -149,9 +151,9 @@ <h1>Related software<a class="headerlink" href="#related-software" title="Permal
Corresponding commercial simulation environments, like <code class="docutils literal notranslate"><span class="pre">ANSYS</span> <span class="pre">Maxwell</span></code> [&#64;ANSYS], <code class="docutils literal notranslate"><span class="pre">Motor-CAD</span></code> [&#64;MotorDesignLtd] or <code class="docutils literal notranslate"><span class="pre">MotorWizard</span></code> [&#64;ElectroMagneticWorks] and the exemplary non-commercial alternative <code class="docutils literal notranslate"><span class="pre">FEMM</span></code> [&#64;Meeker] are very resource and time consuming because they depend on the finite element method, which is a spatial discretization and numerical integration procedure.
Hence, these software packages are usually not considered in control development, and complement <code class="docutils literal notranslate"><span class="pre">GEM</span></code> at most.
This particularly applies in the early control design phase when researching new, innovative control approaches (rapid control prototyping) or when students want to receive quasi-instantaneous simulation feedbacks.</p>
</div>
<div class="section" id="package-architecture">
<h1>Package Architecture<a class="headerlink" href="#package-architecture" title="Permalink to this headline"></a></h1>
</section>
<section id="package-architecture">
<h1>Package Architecture<a class="headerlink" href="#package-architecture" title="Permalink to this heading"></a></h1>
<p>The <code class="docutils literal notranslate"><span class="pre">GEM</span></code> library models an electric drive system by its four main components: voltage supply, power converter, electric motor and mechanical load.
The general structure of such a system is depicted in autoref{fig:SCML_system}.</p>
<a class="reference external image-reference" href="../plots/SCML_Setting.eps"><img alt="Simplified structure diagram of an electric drive system\label{fig:SCML_system}" src="../_images/SCML_Setting.eps" /></a>
Expand All @@ -170,9 +172,9 @@ <h1>Package Architecture<a class="headerlink" href="#package-architecture" title
Load torque behavior can be parameterized with respect to the angular velocity $omega</em>mathrm{me}$ in the form of constant, linear and quadratic dependency (and arbitrary combinations thereof).
Speed changes that result from the difference between motor and load torque are modeled with another ODE which completely covers the mechanical system behavior.
Alternatively, the motor speed can be set to a fixed value, which can be useful for the investigation of control algorithms concerning generator operation, or it can be set to follow a specified trajectory, which is convenient when inspecting scenarios with defined speed demands like in traction applications.</p>
</div>
<div class="section" id="features">
<h1>Features<a class="headerlink" href="#features" title="Permalink to this headline"></a></h1>
</section>
<section id="features">
<h1>Features<a class="headerlink" href="#features" title="Permalink to this heading"></a></h1>
<p>A large number of different motor systems is already implemented.
These include DC drives as well as synchronous and induction three-phase drives.
A complete list can be viewed in the <code class="docutils literal notranslate"><span class="pre">GEM</span></code> documentation [&#64;GEM-docu].
Expand All @@ -183,9 +185,9 @@ <h1>Features<a class="headerlink" href="#features" title="Permalink to this head
The reward mechanism also allows to take physical limitations of the drive system into account, e.g., in the way of a notably low reward if limit values are surpassed.
Optionally, the environment can be setup such that a reset of the system is induced in case of a limit violation.
In addition, built-in visualization and plotting routines allow to monitor the training process of reinforcement learning agents or the performance of expert-driven control approaches.</p>
</div>
<div class="section" id="examples">
<h1>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h1>
</section>
<section id="examples">
<h1>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h1>
<p>A minimal example of <code class="docutils literal notranslate"><span class="pre">GEM's</span></code> simulation capability is presented in autoref{fig:SCIM<em>example}.
The plot shows the start-up behavior of a squirrel cage induction motor connected to an idealized three-phase electric grid depicting the angular velocity $omega</em>mathrm{me}$, the torque $T$, the voltage $u<em>{a,b,c}$ and the current $i</em>{d,q}$.
Here, the voltage is depicted within the physical $abc$-frame while the current is viewed within the simplified $dq$-frame.</p>
Expand All @@ -196,10 +198,10 @@ <h1>Examples<a class="headerlink" href="#examples" title="Permalink to this head
<li><p><cite>``GEM_cookbook.ipynb`</cite> &lt;<a class="reference external" href="https://colab.research.google.com/github/upb-lea/gym-electric-motor/blob/master/examples/environment_features/GEM_cookbook.ipynb">https://colab.research.google.com/github/upb-lea/gym-electric-motor/blob/master/examples/environment_features/GEM_cookbook.ipynb</a>&gt;`_: a basic tutorial-style notebook that presents the basic interface and usage of GEM</p></li>
<li><p><cite>``scim_ideal_grid_simulation.py`</cite> &lt;<a class="reference external" href="https://github.com/upb-lea/gym-electric-motor/blob/master/examples/environment_features/scim_ideal_grid_simulation.py">https://github.com/upb-lea/gym-electric-motor/blob/master/examples/environment_features/scim_ideal_grid_simulation.py</a>&gt;`_: a simple motor simulation showcase of the squirrel cage induction motor that was used to create autoref{fig:SCIM_example}</p></li>
</ul>
</div>
<div class="section" id="references">
<h1>References<a class="headerlink" href="#references" title="Permalink to this headline"></a></h1>
</div>
</section>
<section id="references">
<h1>References<a class="headerlink" href="#references" title="Permalink to this heading"></a></h1>
</section>


</div>
Expand Down
Loading

0 comments on commit 858b78e

Please sign in to comment.