CloudPendulum — FAQ

Access & Account

Is CloudPendulum free to use?
Yes, CloudPendulum is free to use for all accepted users.
Are all sign-up requests accepted automatically?
No. Currently, access is limited to a select group of trusted users. Accepted user groups include students enrolled in courses at Chalmers University (TRA455, TME146, MMA093) and external researchers collaborating with Prof. Kumar's group.
How long does it take for my account to be approved?
Account approval is done manually and may take a few business days. If you have not heard back after a week, first check your spam folder, then follow up with the admin at shivesh.kumar@chalmers.se.
My token has expired. How do I renew it?
Default tokens are valid for one month from sign-up. Use the Extend CP Token button on the Hub Control Panel to submit a renewal request. See the User Privileges page for step-by-step instructions.
I would like to use CloudPendulum in my research. How can I get access?
Since the platform is still under active development, access for external researchers is granted on a case-by-case basis. If you have a specific use case you would like to discuss, please send a request to shivesh.kumar@chalmers.se. Access may be granted when there is a mutual research interest.
I would like to use CloudPendulum in my teaching. How can I get access for my students?
Please contact Prof. Shivesh Kumar directly. Access for teaching purposes may be granted provided there is no conflict with ongoing Chalmers courses and the teaching team commits to using the platform responsibly and contributing feedback to help improve it.

Running Experiments

Can I use CloudPendulum 24/7 from anywhere?
Yes, CloudPendulum is accessible 24/7 from anywhere in the world, except during scheduled maintenance. All you need is a device with browser-based internet access.
Do you inform users when the system is taken down for maintenance?
Not currently. The system may go down unexpectedly if a restart or fix is required, and we do not yet have a user alert system in place. We plan to introduce one in a future update.
Why is my experiment queued and not starting immediately?
Hardware cells are shared among all active users. If all cells are currently in use, your request will wait in the queue until one becomes available.
What happens if my experiment exceeds the time limit?
The server automatically stops the experiment when the allocated time runs out. Any data collected up to that point remains available for you to analyse.
Can I run multiple experiments simultaneously?
Not with a standard token. Running experiments in parallel requires a gym-enabled token and using the Gym Interface.
Why do I keep getting assigned a different cell each time?
To avoid over-using the same unit, the CP server rotates through available cells in the same category. For example, if there are four Simple Pendulum cells with IDs 100, 101, 102, and 103, four consecutive experiments will be assigned to them in sequence. If you need to use the same cell for multiple experiments you can set the cell_id parameter in the start_experiment function.

Gym Interface

Can I use the Gym Interface by default?
No. The Gym Interface requires a gym-enabled token, which is not included in the default token issued at sign-up. To request gym access, submit a token extension request with a clear justification for why you need it. Requests are reviewed and granted on a case-by-case basis. See the User Privileges page for instructions on how to request a token extension.

Hardware

Which hardware cells are available?
Simple Pendulum and Double Pendulum are available by default. Additional experiment types (e.g. Acrobot, Pendubot, Double Integrator, Coupled Oscillator, 5-bar parallel mechanism) may be accessible depending on your token configuration.
How identical are the cells of the same type?
We have tried to keep the cell design identical, meaning cells of the same type broadly share equivalent mass and inertia parameters. However, individual motors may still differ slightly in noise characteristics, friction, and damping. This gives you a degree of natural domain randomization — a well-designed policy should succeed on any cell of the same type.
How can I be a responsible user of CloudPendulum?
Always test your controller in simulation first. Once it works in simulation, you can try it on real hardware. Make sure your controller respects the safety limits at all times. If you accidentally violate a safety limit, fix your code before running the next experiment.
I think the hardware is behaving unexpectedly. What should I do?
Check the livestream to confirm the physical setup looks correct. If the issue persists, contact the admin at shivesh.kumar@chalmers.se. Please avoid sending large or repeated torque commands, as this can stress the hardware.

Citation

What is the best way to cite CloudPendulum?
If you use CloudPendulum in your research or teaching, please cite:

Kumar, S. (2025). Swinging pendulums on the cloud: Digitalization of simulation & experimental infrastructure for feedback-based active learning. Chalmers Konferens om undervisning och lärande (KUL2025).

Technical

What programming languages are supported?
Currently only Python is supported, via the cloudpendulumclient package. Support for additional languages such as C++, Julia, and MATLAB is planned for future releases.
What control loop frequency can I achieve?
CloudPendulum allows you to write your own control loop. The maximum guaranteed control loop frequency is 500 Hz.
Where can I find the API documentation?
The full API reference is available at cloudpendulum.m2.chalmers.se/docs.