{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/extending-deep-model-predictive-control-with","title":"Safety Augmented Value Estimation from Demonstrations (SAVED): Safe Deep Model-Based RL for Sparse Cost Robotic Tasks","arxiv_id":"1905.13402","date":"2019-05-31","proceeding":null,"authors":["Brijen Thananjeyan","Ashwin Balakrishna","Ugo Rosolia","Felix Li","Rowan Mcallister","Joseph E. Gonzalez","Sergey Levine","Francesco Borrelli","Ken Goldberg"],"abstract":"Reinforcement learning (RL) for robotics is challenging due to the difficulty in hand-engineering a dense cost function, which can lead to unintended behavior, and dynamical uncertainty, which makes exploration and constraint satisfaction challenging. We address these issues with a new model-based reinforcement learning algorithm, Safety Augmented Value Estimation from Demonstrations (SAVED), which uses supervision that only identifies task completion and a modest set of suboptimal demonstrations to constrain exploration and learn efficiently while handling complex constraints. We then compare SAVED with 3 state-of-the-art model-based and model-free RL algorithms on 6 standard simulation benchmarks involving navigation and manipulation and a physical knot-tying task on the da Vinci surgical robot. Results suggest that SAVED outperforms prior methods in terms of success rate, constraint satisfaction, and sample efficiency, making it feasible to safely learn a control policy directly on a real robot in less than an hour. For tasks on the robot, baselines succeed less than 5% of the time while SAVED has a success rate of over 75% in the first 50 training iterations. Code and supplementary material is available at https://tinyurl.com/saved-rl.","url_abs":"https://arxiv.org/abs/1905.13402v8","url_pdf":"https://arxiv.org/pdf/1905.13402v8.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"extending-deep-model-predictive-control-with","repo_url":"https://github.com/harryzhangOG/salved","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"model-based-reinforcement-learning","task_name":"Model-based Reinforcement Learning"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1905.13402","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1905.13402"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/harryzhangOG/salved","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":5},"by_repo_kind":{"listed":{"samples":5,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"738c96c362e9ea1d","entry":"create_read_only","repo":"harryzhangOG/salved","repo_kind":"listed","path":"dmbrl/config/default.py","file_url":"https://github.com/harryzhangOG/salved/blob/HEAD/dmbrl/config/default.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"738c96c362e9ea1d"}},{"code_sha256_prefix":"b692c1c9edaeb844","entry":"goal_distance","repo":"harryzhangOG/salved","repo_kind":"listed","path":"dmbrl/env/fetch_env.py","file_url":"https://github.com/harryzhangOG/salved/blob/HEAD/dmbrl/env/fetch_env.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b692c1c9edaeb844"}},{"code_sha256_prefix":"26f4997bb8785f25","entry":"lqr_gains","repo":"harryzhangOG/salved","repo_kind":"listed","path":"dmbrl/env/pointbot.py","file_url":"https://github.com/harryzhangOG/salved/blob/HEAD/dmbrl/env/pointbot.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"26f4997bb8785f25"}},{"code_sha256_prefix":"22eb5e3f463c48d7","entry":"make_bool","repo":"harryzhangOG/salved","repo_kind":"listed","path":"dmbrl/config/default.py","file_url":"https://github.com/harryzhangOG/salved/blob/HEAD/dmbrl/config/default.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"22eb5e3f463c48d7"}},{"code_sha256_prefix":"e403f0ed1d843902","entry":"process_action","repo":"harryzhangOG/salved","repo_kind":"listed","path":"dmbrl/env/pointbot.py","file_url":"https://github.com/harryzhangOG/salved/blob/HEAD/dmbrl/env/pointbot.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e403f0ed1d843902"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}