Controls Engineering

Controls Expert & Senior Software Engineer for Heliogen, an Idealab company

Heliogen — 2021 to 2023


About Heliogen

Heliogen is a clean energy company focused on eliminating the need for fossil fuels in all sectors of the economy. Heliogen’s mission is to create the world’s first technology that can commercially replace fossil fuels in industrial processes with carbon-free, ultra-high temperature heat from the sun and to transform sunlight into fuels, including hydrogen, at scale. Heliogen was created at Idealab, the leading technology incubator. ​

My role

At Heliogen, I applied skills I honed at JPL to concentrated solar power (CSP) plants. I designed and wrote the firmware (including embedded real-time control algorithms) that will give life to millions of robotic mirrors. I also supported the development of AI-enabled plant-level control strategies and various autonomous robotic technologies that will be critical to future plant operations.

Embedded control

I designed, implemented, and tested the onboard real-time embedded control that is responsible for precisely positioning each individual mirror at Heliogen’s CSP facilities. I wrote this firmware in C and it runs on the ARM processors mounted to each robotic mirror. My primary contributions were lightweight finite state machines to manage behavior, generalized digital filters to implement our feedback control strategy, and the configuration thereof.

Optimal control

The many mirrors that surround each tower must be coordinated such that concentrated solar flux is delivered to the receiver safely and in alignment with operator requests. This is a very high-dimensional optimization problem with many local minima, but it may not be necessary to find the global minimum as long as the field is operated safely since there are many competing objective criteria that make the idea of optimality a little fuzzy (as usual). I leveraged a combination of real-time model-based optimization techniques to incrementally improve the field’s flux delivery while rapidly responding to any threats to field, receiver, or operator safety.

Note that the National Renewable Energy Lab has formulated this problem as a mixed-integer linear program with their open-source HALOS software, but it is not clear that this would add value over greedy methods in operation.

Communication infrastructure

CSP plants are complex and interconnected. There are many software processes and even separate machines that must communicate with one another over their shared network. I implemented remote procedure calls using protocol buffers to manage these communications through a MQTT broker. The communication layers I developed relay commands from operators and the field optimization software to individual mirrors. Without these communication protocols in place, the field would be inoperable.

Software

C

C#

GRPC

MQTT

Python

GOLANG

TwinCAT

PROTOBUF

Visual Studio

SKILLS

Feedback Control

State Estimation

System Id

Systems Engineering

Software Architecture

PATH PLANNING