{"id":16539819,"url":"https://github.com/rickstaa/stable-learning-control","last_synced_at":"2025-10-28T14:31:31.600Z","repository":{"id":180428454,"uuid":"271989240","full_name":"rickstaa/stable-learning-control","owner":"rickstaa","description":"A framework for training theoretically stable (and robust) Reinforcement Learning control algorithms.","archived":false,"fork":false,"pushed_at":"2024-03-24T18:46:44.000Z","size":49188,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-05-01T16:39:21.731Z","etag":null,"topics":["artificial-intelligence","control","deep-learning","framework","gaussian-networks","gymnasium","machine-learning","neural-networks","openai-gym","reinforcement-learning","reinforcement-learning-agents","reinforcement-learning-algorithms","robustness","simulation","stability"],"latest_commit_sha":null,"homepage":"https://rickstaa.dev/stable-learning-control","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rickstaa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-13T10:42:26.000Z","updated_at":"2024-05-01T16:39:21.731Z","dependencies_parsed_at":null,"dependency_job_id":"6d355b32-6284-454d-9d20-701b48532f5e","html_url":"https://github.com/rickstaa/stable-learning-control","commit_stats":null,"previous_names":["rickstaa/stable-learning-control"],"tags_count":223,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickstaa%2Fstable-learning-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickstaa%2Fstable-learning-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickstaa%2Fstable-learning-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rickstaa%2Fstable-learning-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rickstaa","download_url":"https://codeload.github.com/rickstaa/stable-learning-control/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859407,"owners_count":16556036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","control","deep-learning","framework","gaussian-networks","gymnasium","machine-learning","neural-networks","openai-gym","reinforcement-learning","reinforcement-learning-agents","reinforcement-learning-algorithms","robustness","simulation","stability"],"created_at":"2024-10-11T18:50:43.777Z","updated_at":"2025-10-28T14:31:25.980Z","avatar_url":"https://github.com/rickstaa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stable Learning Control\n\n[![Stable Learning Control](https://github.com/rickstaa/stable-learning-control/actions/workflows/stable_learning_control.yml/badge.svg)](https://github.com/rickstaa/stable-learning-control/actions/workflows/stable_learning_control.yml)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/rickstaa/stable-learning-control)](https://github.com/rickstaa/stable-learning-control/releases)\n[![Python 3](https://img.shields.io/badge/Python-\u003e=3.8-brightgreen)](https://www.python.org/)\n[![codecov](https://codecov.io/gh/rickstaa/stable-learning-control/branch/main/graph/badge.svg?token=4SAME74CJ7)](https://codecov.io/gh/rickstaa/stable-learning-control)\n[![Contributions](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![DOI](https://zenodo.org/badge/271989240.svg)](https://zenodo.org/badge/latestdoi/271989240)\n[![Weights \u0026 Biases dashboard](https://img.shields.io/badge/Weights_\u0026_Biases-FFCC33?style=flat\\\u0026logo=WeightsAndBiases\\\u0026logoColor=black)](https://wandb.ai/rickstaa/stable-learning-control)\n\n## Package Overview\n\nThe Stable Learning Control (SLC) framework is a collection of robust Reinforcement Learning control algorithms designed to ensure stability. These algorithms are built upon the Lyapunov actor-critic architecture introduced by [Han et al. 2020](https://arxiv.org/abs/2004.14288). They guarantee stability and robustness by leveraging [Lyapunov stability theory](https://en.wikipedia.org/wiki/Lyapunov_stability). These algorithms are specifically tailored for use with [gymnasium environments](https://gymnasium.farama.org/) that feature a positive definite cost function. Several ready-to-use compatible environments can be found in the [stable-gym](https://github.com/rickstaa/stable-gym) package.\n\n## Installation and Usage\n\nPlease see the [docs](https://rickstaa.github.io/stable-learning-control/) for installation and usage instructions.\n\n## Contributing\n\nWe use [husky](https://github.com/typicode/husky) pre-commit hooks and github actions to enforce high code quality. Please check the [contributing guidelines](CONTRIBUTING.md) before contributing to this repository.\n\n\u003e \\[!NOTE]\\\n\u003e We used [husky](https://github.com/typicode/husky) instead of [pre-commit](https://pre-commit.com/), which is more commonly used with Python projects. This was done because only some tools we wanted to use were possible to integrate the Please feel free to open a [PR](https://github.com/rickstaa/stable-learning-control/pulls) if you want to switch to pre-commit if this is no longer the case.\n\n## References\n\n*   [Han et al. 2020](https://arxiv.org/abs/2004.14288) - Used as a basis for the Lyapunov actor-critic architecture.\n*   [Spinningup](https://spinningup.openai.com/en/latest/) - Used as a basis for the code structure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickstaa%2Fstable-learning-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickstaa%2Fstable-learning-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickstaa%2Fstable-learning-control/lists"}