{"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/cross-domain-robot-imitation-with-invariant","title":"Cross Domain Robot Imitation with Invariant Representation","arxiv_id":"2109.05940","date":"2021-09-13","proceeding":null,"authors":["Zhao-Heng Yin","Lingfeng Sun","Hengbo Ma","Masayoshi Tomizuka","Wu-Jun Li"],"abstract":"Animals are able to imitate each others' behavior, despite their difference in biomechanics. In contrast, imitating the other similar robots is a much more challenging task in robotics. This problem is called cross domain imitation learning~(CDIL). In this paper, we consider CDIL on a class of similar robots. We tackle this problem by introducing an imitation learning algorithm based on invariant representation. We propose to learn invariant state and action representations, which aligns the behavior of multiple robots so that CDIL becomes possible. Compared with previous invariant representation learning methods for similar purpose, our method does not require human-labeled pairwise data for training. Instead, we use cycle-consistency and domain confusion to align the representation and increase its robustness. We test the algorithm on multiple robots in simulator and show that unseen new robot instances can be trained with existing expert demonstrations successfully. Qualitative results also demonstrate that the proposed method is able to learn similar representations for different robots with similar behaviors, which is essential for successful CDIL.","url_abs":"https://arxiv.org/abs/2109.05940v1","url_pdf":"https://arxiv.org/pdf/2109.05940v1.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":"cross-domain-robot-imitation-with-invariant","repo_url":"https://github.com/zhaohengyin/irgail_example","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"imitation-learning","task_name":"Imitation Learning"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2109.05940","atlas_url":"https://app.syntology.ai/?focus=2109.05940","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.05940"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/zhaohengyin/irgail_example","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":9},"by_repo_kind":{"official":{"samples":11,"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":"c511268a73d82fc6","entry":"build_mlp","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"imitation_learning/network/utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/imitation_learning/network/utils.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c511268a73d82fc6"}},{"code_sha256_prefix":"b5a22b5e0dce3796","entry":"calculate_gae","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"imitation_learning/algo/ppo.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/imitation_learning/algo/ppo.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b5a22b5e0dce3796"}},{"code_sha256_prefix":"07de2bbbb9d4b7a3","entry":"build_mlp","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/utils.py","link_basis":"first_harvest_node","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":"07de2bbbb9d4b7a3"}},{"code_sha256_prefix":"86615daab498a894","entry":"build_mlp_gaussian","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"imitation_learning/network/utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/imitation_learning/network/utils.py","link_basis":"first_harvest_node","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":"86615daab498a894"}},{"code_sha256_prefix":"b4cee438c3091f1c","entry":"cross_entropy_loss","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"imitation_learning/network/utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/imitation_learning/network/utils.py","link_basis":"first_harvest_node","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":"b4cee438c3091f1c"}},{"code_sha256_prefix":"25af8d867eb0b1fc","entry":"dict_concat","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/utils.py","link_basis":"first_harvest_node","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":"25af8d867eb0b1fc"}},{"code_sha256_prefix":"d4366d9ad0077796","entry":"dict_config_concat","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/utils.py","link_basis":"first_harvest_node","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":"d4366d9ad0077796"}},{"code_sha256_prefix":"e10629e58933d321","entry":"make_env","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"imitation_learning/env.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/imitation_learning/env.py","link_basis":"first_harvest_node","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":"e10629e58933d321"}},{"code_sha256_prefix":"9adc9bf5872c56b6","entry":"move_to_gpu","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"torch_utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/torch_utils.py","link_basis":"first_harvest_node","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":"9adc9bf5872c56b6"}},{"code_sha256_prefix":"d08f0bcf823029e2","entry":"numpy_to_tensor","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"torch_utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/torch_utils.py","link_basis":"first_harvest_node","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":"d08f0bcf823029e2"}},{"code_sha256_prefix":"fa9d343b9aae2ea2","entry":"scalar_to_tensor","repo":"zhaohengyin/irgail_example","repo_kind":"official","path":"torch_utils.py","file_url":"https://github.com/zhaohengyin/irgail_example/blob/HEAD/torch_utils.py","link_basis":"first_harvest_node","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":"fa9d343b9aae2ea2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}