{"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/action-conditional-recurrent-kalman-networks","title":"Action-Conditional Recurrent Kalman Networks For Forward and Inverse Dynamics Learning","arxiv_id":"2010.10201","date":"2020-10-20","proceeding":null,"authors":["Vaisakh Shaj","Philipp Becker","Dieter Buchler","Harit Pandya","Niels van Duijkeren","C. James Taylor","Marc Hanheide","Gerhard Neumann"],"abstract":"Estimating accurate forward and inverse dynamics models is a crucial component of model-based control for sophisticated robots such as robots driven by hydraulics, artificial muscles, or robots dealing with different contact situations. Analytic models to such processes are often unavailable or inaccurate due to complex hysteresis effects, unmodelled friction and stiction phenomena,and unknown effects during contact situations. A promising approach is to obtain spatio-temporal models in a data-driven way using recurrent neural networks, as they can overcome those issues. However, such models often do not meet accuracy demands sufficiently, degenerate in performance for the required high sampling frequencies and cannot provide uncertainty estimates. We adopt a recent probabilistic recurrent neural network architecture, called Re-current Kalman Networks (RKNs), to model learning by conditioning its transition dynamics on the control actions. RKNs outperform standard recurrent networks such as LSTMs on many state estimation tasks. Inspired by Kalman filters, the RKN provides an elegant way to achieve action conditioning within its recurrent cell by leveraging additive interactions between the current latent state and the action variables. We present two architectures, one for forward model learning and one for inverse model learning. Both architectures significantly outperform exist-ing model learning frameworks as well as analytical models in terms of prediction performance on a variety of real robot dynamics models.","url_abs":"https://arxiv.org/abs/2010.10201v2","url_pdf":"https://arxiv.org/pdf/2010.10201v2.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":"action-conditional-recurrent-kalman-networks","repo_url":"https://github.com/ALRhub/action-conditional-rkn","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"action-conditional-recurrent-kalman-networks","repo_url":"https://github.com/alrhub/mts3","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"friction","task_name":"Friction"},{"task_slug":"state-estimation","task_name":"State Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2010.10201","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.10201"}},"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/ALRhub/action-conditional-rkn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/alrhub/mts3","reach":{"status":"ok"}}],"summary":{"ran_honours":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":"7ef1335c27eb0feb","entry":"elup1","repo":"ALRhub/action-conditional-rkn","repo_kind":"official","path":"rkn/acrkn/AcRKN.py","file_url":"https://github.com/ALRhub/action-conditional-rkn/blob/HEAD/rkn/acrkn/AcRKN.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7ef1335c27eb0feb"}},{"code_sha256_prefix":"ed3fa67aaa04d2e4","entry":"elup1_inv","repo":"ALRhub/action-conditional-rkn","repo_kind":"official","path":"rkn/acrkn/AcRKN.py","file_url":"https://github.com/ALRhub/action-conditional-rkn/blob/HEAD/rkn/acrkn/AcRKN.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ed3fa67aaa04d2e4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}