The ARTIST
package provides an implementation of a differentiable ray tracer using the PyTorch
machine-learning
framework in Python
. Leveraging automatic differentiation and GPU computation, it facilitates the optimization of
heliostats, towers, and camera parameters within a solar field by combining gradient-based optimization methods with
smooth parametric descriptions of heliostats.
Our contributions include:
-
Neural-network driven heliostat calibration: A two-layer hybrid model for most efficient heliostat calibration. It comprises a robust geometric model for pre-alignment and a neural network disturbance model, which gradually adapts its impact via regularization sweeps. On this way, high data requirements of data-centric methods are overcome while maintaining flexibility for modeling complex real-world systems. Check out this paper for more details.
-
Surface reconstruction and flux density prediction: Leveraging learning Non-Uniform Rational B-Splines (NURBS),
ARTIST
reconstructs heliostat surfaces accurately using calibration images commonly available in solar thermal power plants. Thus, we can achieve sub-millimeter accuracy in mirror reconstruction from focal spot images, contributing to improved operational safety and efficiency. The reconstructed surfaces can be used for predicting unique heliostat flux densities with state-of-the-art accuracy. Check out this paper for more details. -
Immediate deployment:
ARTIST
enables deployment at the beginning of a solar thermal plant's operation, allowing for in situ calibration and subsequent improvements in energy efficiencies and cost reductions. -
Optimized flux density: Coming soon so stay tuned 🚀!
We heavily recommend installing the ARTIST
package in a dedicated Python3.8+
virtual environment. You can
install ARTIST
directly from the GitHub repository via:
pip install git+https://github.com/ARTIST-Association/ARTIST
Alternatively, you can install ARTIST
locally. To achieve this, there are two steps you need to follow:
- Clone the
ARTIST
repository:git clone https://github.com/ARTIST-Association/ARTIST.git
- Install the package from the main branch. There are multiple installation options available:
- Install basic dependencies:
pip install .
- Install with
mpi4py
to enable distributed computing:pip install ."[mpi]"
- Install with optional dependencies to run the tutorials:
pip install ."[tutorials]"
- Install an editable version with developer dependencies:
pip install -e ."[dev]"
- Install basic dependencies:
The ARTIST
repository is structured as shown below:
.
├── artist # Parent package
│ ├── field # Objects in the field, e.g. heliostats and receivers
│ ├── raytracing
│ ├── scene # Light sources and factors influencing the surroundings
│ └── util
├── measurement_data # Real measurements that can be used in ARTIST
├── scenarios # Scenarios describing a field that can be loaded by ARTIST
├── tests/
│ ├── field
│ ├── raytracing
│ ├── scene
│ └── util
└── tutorials # Tutorials to help you get started with ARTIST
You can check out the full ARTIST
documentation at https://artist.readthedocs.io/en/latest/index.html 🚀!
The ARTIST
documentation includes:
- Installation instructions
- Tutorials
- Some theoretical background information
- API reference
Check out our contribution guidelines if you are interested in contributing to the ARTIST
project 🔥.
Please also carefully check our code of conduct 💙.
This work is supported by the Helmholtz AI platform grant.