HAPiGYM is a collection of WEC control prototyping environments. Each environment is analogous to a ‘GYM machine’; each is used for training different competencies. Each can be run in different ways: Sandbox, Processor-in-the-Loop (PiL), and Tank Tests. The Sandbox is a Simulink simulation that can be run on the participant’s own computer. The PiL and tank tests are accessed remotely via the cloud, with compiled C code running on our control hardware in real time. The Sandbox and PiL will include a hydrodynamic model that has been calibrated using tank test data.

The sandbox, PiL and tank tests can be thought of as beginner, experienced, and advanced settings on each GYM machine. All the resources will be free to use. However, only the most promising projects will be given access to the limited tank time.

A basic framework will be provided, but there will be many options for tailoring. The controller will be ‘black box’. Controllers can be written in a range of languages. Participants may build on our reference controller, or start from scratch. Their code and methods can be kept confidential, but they are obliged to publish at least one conference paper on the outcome of the tests, and share the results with us for anonymised meta-analysis. Additionally, each GYM machine will have a range of options for resource, PTO, and metrics, etc. Participants will be able to influence many aspects of the program: we will consult on the GYM machines and options (waves, PTO, metrics) offered, to ensure they match people’s interests.

This is not a competition, but it is a tool that will allow transparent comparisons of control methods. The HAPiGYM is not only for control developers. We would like to support research optimisation of other WEC sub-systems that took control into account (co-design),  and the use of sensors to improve performance. We also don’t want to restrict HAPiWEC to established WEC researchers and developers – we appreciate that innovation might lie outside the community, as well as from within.


Expression of Interest Notification Closed: 28 Apr 2023 Specification Workshop Date: 13 Jun 2023 Registration Date: 6 Oct 2023 Sandbox, Version 1 Date: 16 Feb 2024 (in beta testing) Processor-in-the-Loop, Version 1 Date: 24 Jun 2024 Processor-in-the-Loop, Final Version Date: 22 Jul 2024 Processor-in-the-Loop Clinics Dates: 7 Aug 2024 Tank Access Dates: 9 Sep 2024 Activities Key Dates Register Workshop Attendance EoI HAPiGYM Sandbox Prototyping & alpha-testing of control policies Read more ▼ Processor-in-the-Loop System integtration, beta- testing & virtual shakedown Read more ▼ Tank Tests Read more ▼

HAPiGYM Sandbox

The Sandbox is a simulation environment for developing WEC controllers. Participants can use it to familiarise themselves with a selection of modelling options, and test the interfaces with their controllers. The sandbox will start off simple: initially only one GYM machine will be available, with limited options for waves, PTO model, hydrodynamic model, and metrics. It will have two components: the control platform and the rig simulator.  The control platform is the common component used in the tank tests. The rig simulator models the hydrodynamic response, sensors and actuators. The sandbox is written in Simulink and run locally on the participant’s own computer. It can be run faster than real-time, using accelerated simulation mode.


The Simulink for the Processor-in-the-Loop will have a similar structure to the Sandbox:  it will use the same control platform and rig simulator. By this stage there will be more options in terms of GYM machines, waves etc, and the hydrodynamic models will have been validated in the tank. The operating details will be different though. Matlab Online will be used to compile the simulation (control platform and rig simulator) to C, and set it running remotely on our real-time target. A graphical user interface (GUI) running in the browser of the local machine can be used for quasi-real-time communications in both directions, e.g. participants will be able to see live sensor data, make simple changes to selected control parameters, start and stop simulations, and download results. Meanwhile the real-time control is being performed on the target, a Raspberry Pi. The purpose of this step is to test the remote access element of HAPiGYM and ensure the code is real-time compatible. This step will give participants the opportunity to generate interesting data, the results of which will be shared in a special session of a conference.

Tank Tests

Tank tests will also be accessed remotely using a Matlab online session. Again a GUI will give the impression of live monitoring, parameter changes, and execution control. This time though, only the control platform will be compiled to C.  Participants will be able to set this running this on our real-time target, and this will control the PTO of a tank-test model. The purpose of this step is to demonstrate how well the controller developed on the rig simulator operates on the real rig, to update the controller online if necessary, and to inform future research with a better understanding of the sources of the gap between performance in simulation and tank tests.

More Information

If you have any questions, please send them via our contact page. These will form the basis of a list of Frequently Asked Questions. There will also be a specifications workshop, where potential HAPiGYM users can discuss their needs and interests.