SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2109.06325 · 2021

safe-control-gym: a Unified Benchmark Suite for Safe Learning-based Control and Reinforcement Learning in Robotics

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 20 functions out of this paper's own repositories and ran 9 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
utiasDSL/safe-control-gym canonical 0 of 8
huiyulhy/safe-control-gym pwc_unofficial 7 of 8
federico-pizarrobejarano/safe-control-gym pwc_unofficial 2 of 4
FunctionStatusWhere it lives
get_activation Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/neural_networks.py
code served (permissive licence) · get_code("b4f74b842a783379")
get_symbolic_constraint_models Ran huiyulhy/safe-control-gym/safe_control_gym/envs/constraints.py
code served (permissive licence) · get_code("94099702ae31ffae")
init_ Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/neural_networks.py
code served (permissive licence) · get_code("f8ea72783eeaa3c3")
normalize_angle Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/normalization.py
code served (permissive licence) · get_code("84bc7b3ed5e10f67")
projection_matrix Ran federico-pizarrobejarano/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("8e1f566c8dd813b8")
projection_matrix Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("720461bb884a5958")
transform_trajectory Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("3747b2a6c4983e75")
unit_vector Ran federico-pizarrobejarano/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("c6db66ecc2148ffd")
unit_vector Ran huiyulhy/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("02868c2105353b59")
create_disturbance_list Not yet run utiasDSL/safe-control-gym/safe_control_gym/envs/disturbances.py
code served (permissive licence) · get_code("763a12fe01d775d7")
create_disturbance_list Not yet run federico-pizarrobejarano/safe-control-gym/safe_control_gym/envs/disturbances.py
code served (permissive licence) · get_code("c6d5a75ebdf4afe9")
create_disturbance_list Not yet run huiyulhy/safe-control-gym/safe_control_gym/envs/disturbances.py
code served (permissive licence) · get_code("4bf9af9ca1fd3a8d")
get_activation Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/neural_networks.py
code served (permissive licence) · get_code("0cfbc54d5c65e3be")
get_symbolic_constraint_models Not yet run utiasDSL/safe-control-gym/safe_control_gym/envs/constraints.py
code served (permissive licence) · get_code("65f8690dc5d5f2b4")
init_ Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/neural_networks.py
code served (permissive licence) · get_code("467012b7d378d4ee")
normalize_angle Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/normalization.py
code served (permissive licence) · get_code("edc8ac2a5ec6591f")
projection_matrix Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("fe88fa532cf07ca0")
transform_trajectory Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("78a1960c448fe996")
transform_trajectory Not yet run federico-pizarrobejarano/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("a9bf57cf61a35112")
unit_vector Not yet run utiasDSL/safe-control-gym/safe_control_gym/math_and_models/transformations.py
code served (permissive licence) · get_code("c36b509a8fcb81c4")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

In recent years, both reinforcement learning and learning-based control -- as well as the study of their safety, which is crucial for deployment in real-world robots -- have gained significant traction. However, to adequately gauge the progress and applicability of new results, we need the tools to equitably compare the approaches proposed by the controls and reinforcement learning communities. Here, we propose a new open-source benchmark suite, called safe-control-gym, supporting both model-based and data-based control techniques. We provide implementations for three dynamic systems -- the cart-pole, the 1D, and 2D quadrotor -- and two control tasks -- stabilization and trajectory tracking. We propose to extend OpenAI's Gym API -- the de facto standard in reinforcement learning research -- with (i) the ability to specify (and query) symbolic dynamics and (ii) constraints, and (iii) (repeatably) inject simulated disturbances in the control inputs, state measurements, and inertial properties. To demonstrate our proposal and in an attempt to bring research communities closer together, we show how to use safe-control-gym to quantitatively compare the control performance, data efficiency, and safety of multiple approaches from the fields of traditional control, learning-based control, and reinforcement learning.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2109.06325")
get_code_for_paper("2109.06325")
have("2109.06325")

Connect an agent — have() is free.