From 2ee8126824dd34700ac6df93cb4818fc3c2d34cd Mon Sep 17 00:00:00 2001 From: WangXuechun-woan Date: Tue, 20 Oct 2026 10:46:15 +0800 Subject: [PATCH 1/3] feat: add OneRobotics A1 Isaac Teleop example Signed-off-by: WangXuechun-woan --- LICENSES/CC-BY-4.0.txt | 395 +++++++ examples/teleop/CMakeLists.txt | 4 + .../onerobotics_a1/ASSET_LICENSE_STATUS.md | 75 ++ .../ASSET_LICENSE_STATUS.md.license | 2 + .../assets/onerobotics_a1/CC-BY-4.0.txt | 395 +++++++ examples/teleop/assets/onerobotics_a1/LICENSE | 33 + .../onerobotics_a1/LICENSES/CC-BY-4.0.txt | 395 +++++++ .../teleop/assets/onerobotics_a1/README.md | 37 + .../assets/onerobotics_a1/README.md.license | 2 + .../onerobotics_a1/THIRD_PARTY_NOTICES.md | 55 + .../THIRD_PARTY_NOTICES.md.license | 2 + .../onerobotics_a1/meshes/A1/A1_l/Link_L1.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L2.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L3.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L4.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L5.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L6.STL | 3 + .../onerobotics_a1/meshes/A1/A1_l/Link_L7.STL | 3 + .../meshes/A1/A1_l/base_link.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R1.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R2.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R3.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R4.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R5.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R6.STL | 3 + .../onerobotics_a1/meshes/A1/A1_r/Link_R7.STL | 3 + .../meshes/A1/A1_r/base_link.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L1.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L2.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L3.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L4.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L5.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L6.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_L7.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R1.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R2.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R3.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R4.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R5.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R6.STL | 3 + .../onerobotics_a1/meshes/A1_dual/Link_R7.STL | 3 + .../meshes/A1_dual/Link_base_L.STL | 3 + .../meshes/A1_dual/Link_base_R.STL | 3 + .../meshes/A1_dual/base_link.STL | 3 + .../onerobotics_a1/mjcf/A1/a1_right_motor.xml | 77 ++ .../mjcf/A1/a1_right_position.xml | 77 ++ .../onerobotics_a1/mjcf/A1/a1_right_raw.xml | 61 ++ .../onerobotics_a1/mjcf/A1_dual/a1_dual.xml | 136 +++ .../mjcf/A1_dual/a1_dual_raw.xml | 116 +++ .../onerobotics_a1/urdf/A1/a1_left.urdf | 468 +++++++++ .../onerobotics_a1/urdf/A1/a1_right.urdf | 456 ++++++++ .../onerobotics_a1/urdf/A1_2026/README.md | 94 ++ .../urdf/A1_2026/README.md.license | 2 + .../onerobotics_a1/urdf/A1_2026/SHA256SUMS | 28 + .../onerobotics_a1/urdf/A1_2026/a1_l.urdf | 473 +++++++++ .../onerobotics_a1/urdf/A1_2026/a1_r.urdf | 235 +++++ .../bimanual_stand/a1_bimanual_stand.urdf | 968 +++++++++++++++++ .../A1_2026/bimanual_stand/meshes/Link_l0.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l1.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l2.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l3.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l4.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l5.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l6.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_l7.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r0.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r1.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r2.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r3.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r4.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r5.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r6.STL | 3 + .../A1_2026/bimanual_stand/meshes/Link_r7.STL | 3 + .../bimanual_stand/meshes/base_link.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link1.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link2.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link3.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link4.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link5.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link6.STL | 3 + .../urdf/A1_2026/meshes/a1_l/Link7.STL | 3 + .../urdf/A1_2026/meshes/a1_l/base_link.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link1.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link2.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link3.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link4.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link5.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link6.STL | 3 + .../urdf/A1_2026/meshes/a1_r/Link7.STL | 3 + .../urdf/A1_2026/meshes/a1_r/base_link.STL | 3 + .../urdf/A1_2026/model_parameters.yaml | 78 ++ .../A1_2026/model_parameters.yaml.license | 2 + .../onerobotics_a1/urdf/A1_dual/A1_dual.urdf | 979 ++++++++++++++++++ .../teleop/python/onerobotics_a1_example.py | 154 +++ examples/teleop/python/pyproject.toml | 1 + 95 files changed, 5998 insertions(+) create mode 100644 LICENSES/CC-BY-4.0.txt create mode 100644 examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md create mode 100644 examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license create mode 100644 examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt create mode 100644 examples/teleop/assets/onerobotics_a1/LICENSE create mode 100644 examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt create mode 100644 examples/teleop/assets/onerobotics_a1/README.md create mode 100644 examples/teleop/assets/onerobotics_a1/README.md.license create mode 100644 examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md create mode 100644 examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL create mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml create mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml create mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml create mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml create mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license create mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf create mode 100644 examples/teleop/python/onerobotics_a1_example.py diff --git a/LICENSES/CC-BY-4.0.txt b/LICENSES/CC-BY-4.0.txt new file mode 100644 index 0000000000..4ea99c213c --- /dev/null +++ b/LICENSES/CC-BY-4.0.txt @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/CMakeLists.txt b/examples/teleop/CMakeLists.txt index 94a93beb11..585f5f6472 100644 --- a/examples/teleop/CMakeLists.txt +++ b/examples/teleop/CMakeLists.txt @@ -6,3 +6,7 @@ project(teleop_examples) include(${CMAKE_SOURCE_DIR}/cmake/InstallPythonExample.cmake) install_python_example(DESTINATION examples/teleop/python) + +# The A1 MJCF/URDF/STL package is example data, not Python package data. Keep it +# beside the installed Python examples so the demo resolves its model by path. +install(DIRECTORY assets DESTINATION examples/teleop) diff --git a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md new file mode 100644 index 0000000000..224d9b0e6a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md @@ -0,0 +1,75 @@ + + +# OneRobotics A1 Asset License + +License declaration date: 2026-08-14 + +Asset inventory updated: 2026-08-28 + +Copyright holder and licensor: **OneRobotics** + +License: **Creative Commons Attribution 4.0 International** (`CC-BY-4.0`) + +`ASSET_LICENSE_DECISION = LICENSED_CC_BY_4_0` + +## License grant + +OneRobotics makes the asset material listed below available under the Creative Commons Attribution 4.0 International license. You may share and adapt the material for any purpose, including commercial use, provided that you comply with the license terms. + +The complete legal code is included at [`LICENSES/CC-BY-4.0.txt`](LICENSES/CC-BY-4.0.txt). The official license page is . + +## Covered material + +The CC BY 4.0 asset license applies to: + +- all 66 binary STL mesh files: 33 under + `source/h1_reach/h1_reach/assets/meshes/`, 16 under + `source/h1_reach/h1_reach/assets/urdf/A1_2026/meshes/`, and 17 under + `source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/meshes/`; +- all six URDF robot-model files under + `source/h1_reach/h1_reach/assets/urdf/`, including the A1 2026 right- and + left-arm source models `A1_2026/a1_r.urdf` and `A1_2026/a1_l.urdf`, and the + whole-robot source model + `A1_2026/bimanual_stand/a1_bimanual_stand.urdf`; +- all five MuJoCo/MJCF XML robot-model files under `source/h1_reach/h1_reach/assets/mjcf/`; +- the A1 2026 model and control metadata in + `source/h1_reach/h1_reach/assets/urdf/A1_2026/model_parameters.yaml`; +- USD, USDA, USDC, or USDZ conversions that OneRobotics publishes from the covered model files and explicitly identifies as covered by this declaration, excluding incorporated third-party material that OneRobotics is not authorized to license. + +The current source tree contains 77 covered robot-model files: 66 STL files, +six URDF files, and five MJCF/XML files. Together with the covered A1 2026 +metadata YAML, the current covered asset inventory is 78 files. The A1 2026 +inventory contains two independent single-arm URDF models with 16 meshes and a +distinct whole-robot bimanual stand URDF with 17 meshes, for 36 A1 2026 +robot-model files. The revisions are separate CAD sources and do not include a +gripper. No USD-format asset is currently tracked. + +In built wheel and source-distribution artifacts, these files appear under +`h1_reach/assets/`; that packaging-path change does not alter the license scope. + +## Required attribution + +When redistributing the covered material or an adaptation, retain the copyright and license information, link to CC BY 4.0, identify OneRobotics as the creator, and indicate whether changes were made. A suitable attribution is: + +> OneRobotics A1 robot assets © 2026 OneRobotics, licensed under CC BY 4.0 (). Source: . Changes: none. + +Replace `none` with a short description when redistributing modified assets. The OneRobotics website is . + +For the bimanual stand publication candidate in this repository, the indicated +changes are: mesh URI and MuJoCo `meshdir` references adapted to the portable +repository layout, normalized line endings, and removal of the exporter's +contact address from the generated comment; physical model fields unchanged. + +## Scope boundaries + +- The project source code is not licensed by this file. It uses BSD-3-Clause as described in the root `LICENSE`, except where a source file retains a separate upstream notice. +- Files copied or substantially derived from Isaac Lab retain their existing Isaac Lab Project Developers copyright and BSD-3-Clause notices. See `THIRD_PARTY_NOTICES.md`. +- The SolidWorks to URDF Exporter attribution embedded in the URDF comments identifies the generating tool; the tool is not vendored and its software license does not replace this asset license. +- The CC BY 4.0 grant does not cover third-party Isaac Lab, Isaac Sim, NVIDIA scene, user-interface, grid, table, or marker elements visible in `media/onerobotics-a1-zero-pose.png`. The covered A1 model remains CC BY 4.0; the screenshot is included only as documentation and is not relicensed as a whole by this file. +- CC BY 4.0 does not grant rights in OneRobotics names, logos, or trademarks beyond the use reasonably necessary for attribution, and reuse must not imply endorsement by OneRobotics or Isaac Lab. +- Third-party runtime software and dependencies remain under their own licenses. + +This declaration is the controlling repository license record for the exact covered material above. diff --git a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license new file mode 100644 index 0000000000..487bc6f93f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2026 OneRobotics +SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt b/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt new file mode 100644 index 0000000000..4ea99c213c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/assets/onerobotics_a1/LICENSE b/examples/teleop/assets/onerobotics_a1/LICENSE new file mode 100644 index 0000000000..c4ecc385e1 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/LICENSE @@ -0,0 +1,33 @@ +Scope: This BSD 3-Clause License applies to OneRobotics-owned project code. It +does not apply to the robot assets listed in ASSET_LICENSE_STATUS.md, which are +licensed under CC BY 4.0, or to third-party material identified in +THIRD_PARTY_NOTICES.md. + +BSD 3-Clause License + +Copyright (c) 2026, OneRobotics + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt b/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt new file mode 100644 index 0000000000..4ea99c213c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt @@ -0,0 +1,395 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/assets/onerobotics_a1/README.md b/examples/teleop/assets/onerobotics_a1/README.md new file mode 100644 index 0000000000..933ed3bc0d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/README.md @@ -0,0 +1,37 @@ +# OneRobotics A1 assets + +This directory packages the OneRobotics A1 source assets used by the Isaac Teleop +joint-space example. The package contains the two independent 7-DoF arm URDFs, +the bimanual stand URDF, their STL meshes, the supplied MJCF models, and the +source license records. + +The runnable example uses `mjcf/A1/a1_right_position.xml`. This is the supplied +MuJoCo right-arm model; it is not a URDF conversion. The independent-arm and +bimanual URDFs remain available under `urdf/A1_2026/` for Isaac Sim/Isaac Lab +integration. + +## Provenance + +- Source repository: +- Source revision: `ecf530911284ba0e559f7a24dc222fd8e60d31ed` +- Asset license: CC BY 4.0; see `CC-BY-4.0.txt` and `ASSET_LICENSE_STATUS.md`. +- Project-code license text retained as `LICENSE`; it does not replace the asset + license. + +The A1 asset attribution is: + +> OneRobotics A1 robot assets © 2026 OneRobotics, licensed under CC BY 4.0 +> (). Source: +> . Changes: mesh paths are packaged +> under this directory; robot geometry and inertial data are unchanged. + +## Verification + +From the asset root: + +```bash +cd urdf/A1_2026 && sha256sum --check SHA256SUMS +``` + +The example also checks that the right-arm MJCF compiles and that its seven +joint names match the Isaac Teleop mapping. diff --git a/examples/teleop/assets/onerobotics_a1/README.md.license b/examples/teleop/assets/onerobotics_a1/README.md.license new file mode 100644 index 0000000000..33cf90711f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/README.md.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +SPDX-License-Identifier: Apache-2.0 diff --git a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md new file mode 100644 index 0000000000..d73c73a799 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md @@ -0,0 +1,55 @@ + + + + +# Third-Party Notices + +This file records third-party material identified during the 2026-08-14 Phase 1 audit. It does not change the license of any file. + +The asset-path inventory was reviewed again on 2026-08-28 for the A1 2026 +independent-arm and whole-robot bimanual stand source-model additions. + +## Isaac Lab template-derived source + +Several Python scripts, configuration files, and task modules were copied or substantially derived from the Isaac Lab external-project and manipulation/reach templates. + +The retained per-file notices comprise 12 files with a `2022-2025` copyright range and 10 files with a `2022-2026` range. No file header was normalized or replaced during this cleanup. + +The complete upstream BSD-3-Clause notice is included at [`LICENSES/IsaacLab-BSD-3-Clause.txt`](LICENSES/IsaacLab-BSD-3-Clause.txt) and must accompany redistribution of the derived files. The upstream license is also available at . + +No blanket copyright-header replacement was performed. The project code and OneRobotics A1 assets have separate license scopes; neither project metadata nor the OneRobotics asset license implies endorsement by Isaac Lab. + +## SolidWorks to URDF Exporter attribution + +Five of the six URDF files contain a generated-file comment identifying +SolidWorks to URDF Exporter, commit `1.6.0-4-g7f85cfe`, and Stephen Brawner as +the exporter author. This includes the three previously covered URDF files and +`source/h1_reach/h1_reach/assets/urdf/A1_2026/a1_l.urdf` and +`source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf`. +The comment is not +present in `source/h1_reach/h1_reach/assets/urdf/A1_2026/a1_r.urdf`, so this +notice does not infer file-local tool +attribution where the source file does not provide it. The exporter source code +is not vendored in this repository. Its software license is separate from the +CC BY 4.0 license that OneRobotics applies to the A1 model assets. + +## External runtime dependencies + +Isaac Sim, the Isaac Lab runtime distribution, RSL-RL, MuJoCo, PyTorch, Gymnasium, NumPy, and their dependencies are external runtime dependencies and are not vendored here. The Isaac Lab template-derived source files copied into this repository are handled separately above. Users and downstream distributors must follow the licenses supplied by the external projects and their installed distributions. + +No additional third-party model, mesh, texture, or material was identified by +the file-level review under `source/h1_reach/h1_reach/assets/`. This is an +inventory finding, not a legal chain-of-title determination. The +OneRobotics-owned physical-asset scope and required attribution are documented +separately in `ASSET_LICENSE_STATUS.md`. + +## README visualization + +`media/onerobotics-a1-zero-pose.png` was captured from the inherited Isaac Lab reach scene and includes third-party Isaac Lab/Isaac Sim/NVIDIA scene elements such as the environment table, grid, and pose markers. It is included as documentation. The OneRobotics CC BY 4.0 grant covers the underlying A1 model assets, not the screenshot as a whole or those third-party scene elements. diff --git a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license new file mode 100644 index 0000000000..487bc6f93f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2026 OneRobotics +SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL new file mode 100644 index 0000000000..1ae19f49d4 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d99193c57ca4197710c90a0e5b6ffb75c427a03c6a8f1ab828e584acf91ba183 +size 1048684 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL new file mode 100644 index 0000000000..9251d2d9b5 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e532cf8e0fe371f5bcac6c30b036bd9b544048956e69ce69b0df1a91ab626fe7 +size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL new file mode 100644 index 0000000000..64e1a46e1f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cdc4b8d5e21cd20ebb2c7ce832dccb9c9970e5a826a12826d2b36d3a6de386a +size 1342284 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL new file mode 100644 index 0000000000..a15a3e544d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6f964da28bf7b5f0db5d4342b4248e4abb1aa2d7ea4e7ca293835a0764d9bdc +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL new file mode 100644 index 0000000000..d297ad915e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed380b8b727af3f0706fa606639737d31b0b89be25365c2a298e8ca5c770c205 +size 1362584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL new file mode 100644 index 0000000000..7a3ee6f2a4 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af00eb37d81eb6566060545a8222e7589d70932c0b82fc8737bb172d3690f827 +size 853384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL new file mode 100644 index 0000000000..a9362687f7 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fb29011e38c02b33b0d797443bf699cce3d245c316675f2391c33d61f47c37 +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL new file mode 100644 index 0000000000..2382b3517f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b65022a6be0b88844ea912b7d1f59f61ad1ba79d38cff41a0fdff5a961422ce0 +size 184784 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL new file mode 100644 index 0000000000..f6e0337632 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce57c22a5b46aed102bc1623cd435d12dbd0f50fc8a3ba089791bf013f98691a +size 1050984 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL new file mode 100644 index 0000000000..4cd3c26b35 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76b84009a598a72cb180c057b5ba65bcbf0b96800da30de41166d34062d80051 +size 1130884 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL new file mode 100644 index 0000000000..cee0185504 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40e8737ce7a4f8cfbc37ad04c4c6e9f2ba9b0a81a9341cdfb1c3dd46af1ff0c2 +size 1342184 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL new file mode 100644 index 0000000000..439e703ba6 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8901305677c45690ab0fc251292135e07ad54a59ba7aeeb89d7eb33620137ef3 +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL new file mode 100644 index 0000000000..bbfa8ecc6e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9986ccc5b3554b46b636436f93b1dcf540e745a41504e0902277ba53af9fae48 +size 1462284 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL new file mode 100644 index 0000000000..0b6e2139bf --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b18f213a95c2606a680e8d35ca9ef20417f78fccee3bac9fe15b83ed75caa05 +size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL new file mode 100644 index 0000000000..7966bdea89 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f05fa5c4aa376a4c2a5404fad8997872cfa47a433640f9829b9a814cc617e06a +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL new file mode 100644 index 0000000000..0c78fac8fe --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e87134bbbb060353cd775f7cc4ae27c6eb95341d895a2ed1d2cdde76c772237 +size 195884 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL new file mode 100644 index 0000000000..4206047331 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63ad17a5d00cf47ab049d067f99a078f0681850c9028ef300014281f32c87baf +size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL new file mode 100644 index 0000000000..f5b6cf902c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9f99ca15dc06264e9c8d0b3756c9d8e72a25edf799a4f48872d237491ad7638 +size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL new file mode 100644 index 0000000000..8d92277c12 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b81cad8c119fd5e3c4f8a268e00ab7abc1c9135c378f435d3c9750c1a9e96ff0 +size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL new file mode 100644 index 0000000000..993112d5c8 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c29b3c43383a2e8706d7cb51ae333af8d9b7f7b0f51025c0f3e291113ed8f537 +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL new file mode 100644 index 0000000000..09d6efc678 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9d28a447ac232d026a7d100854d32214763f12c65bbf7b06cb9e2cd5daf4fd0 +size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL new file mode 100644 index 0000000000..076e8ff87d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a02e1843ec836a69ef015f226e10d41c547167cc351c41ee21a494b3fca2ec00 +size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL new file mode 100644 index 0000000000..a9362687f7 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fb29011e38c02b33b0d797443bf699cce3d245c316675f2391c33d61f47c37 +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL new file mode 100644 index 0000000000..7e99926e45 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64199d7ad2d3ff0aa3bf5edcec8a9f8cedc8bd39beed74ace7d38c91ea677057 +size 1141784 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL new file mode 100644 index 0000000000..0260df712b --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c8418372bc5d82c0b790d122e630d4285046f6c6458a80d185b5ed83ee9b15c +size 1040084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL new file mode 100644 index 0000000000..18c152a916 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:222b5f70ae2324e6b23e47140c678442d501b684ffa5c7297c65563cdf5765c3 +size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL new file mode 100644 index 0000000000..9a0a421678 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ebf17a326f127e231ce1e5907a978ef03a186d0427e3b95cc81336b4a108912a +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL new file mode 100644 index 0000000000..8f7d36f01d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3691677f1cb0dda629f6db310a3b9c2d0c2ed34cc1d79120fc305ca5658d859d +size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL new file mode 100644 index 0000000000..0b6e2139bf --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b18f213a95c2606a680e8d35ca9ef20417f78fccee3bac9fe15b83ed75caa05 +size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL new file mode 100644 index 0000000000..d8fbe54cae --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e728529eb8a20f381802ac94956cba24a1aeb6145779c4ac0e3d95b397456fc +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL new file mode 100644 index 0000000000..65ab0b59da --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98bac42f340c940655c4aae408bba20920afa1afe38c52a6ba8f2b595f5e6e76 +size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL new file mode 100644 index 0000000000..8e207bc5ce --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cc4e936cc726441d7c8d5ac037a9d790c9aad82c357e323fdbc15687cb0b0cf +size 105484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL new file mode 100644 index 0000000000..bd2a044b7e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a930008052a754057118ad4d25a8187da5bd3428236021fafe67c9cdede79e1 +size 20484 diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml new file mode 100644 index 0000000000..5196230973 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml @@ -0,0 +1,77 @@ + + + diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml new file mode 100644 index 0000000000..21cbbf2ece --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml @@ -0,0 +1,77 @@ + + + diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml new file mode 100644 index 0000000000..628338a6c0 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml new file mode 100644 index 0000000000..900ae67c04 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml @@ -0,0 +1,136 @@ + + + diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml new file mode 100644 index 0000000000..6f30ba9716 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf new file mode 100644 index 0000000000..ff2d7c7d19 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf @@ -0,0 +1,468 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf new file mode 100644 index 0000000000..087645b6d9 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md new file mode 100644 index 0000000000..c2b45bcf0a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md @@ -0,0 +1,94 @@ + + +# OneRobotics A1 2026 source model + +This directory contains two distinct OneRobotics A1 CAD revisions: the current +independent right- and left-arm source models, and a hardware-team-supplied +whole-robot bimanual stand model. The revisions are published side by side and +are not mixed or synthesized from one another. + +The independent-arm source files were imported without geometric or inertial +edits from the OneRobotics SDK asset bundle whose SHA-256 is: + +```text +9dfa9f0e1b7fa8d05b12b47dd67ab0484bc376b4db60ce541ee832455a0be8c9 +``` + +## Published contents + +- `a1_r.urdf`: independent right-arm 7-DoF source model; +- `a1_l.urdf`: independent left-arm 7-DoF source model; +- `meshes/a1_r/` and `meshes/a1_l/`: eight referenced STL files per arm; +- `bimanual_stand/a1_bimanual_stand.urdf`: complete stand with two 7-DoF arms; +- `bimanual_stand/meshes/`: the 17 meshes referenced by that whole-robot model; +- `model_parameters.yaml`: shared model and simulation-control metadata. + +The 36 robot-model files and `model_parameters.yaml` are Copyright 2026 +OneRobotics and are distributed under CC BY 4.0 as declared in the +repository's `ASSET_LICENSE_STATUS.md`. Neither CAD revision includes a +gripper. + +## Isaac Lab review set + +`SHA256SUMS` freezes the exact right-arm, bimanual-stand, and shared parameter +files consumed by the current Isaac Lab contribution. Verify the review set +from this directory with: + +```bash +sha256sum --check SHA256SUMS +``` + +The checksum file identifies review-stage source bytes. It does not imply +NVIDIA legal approval or prescribe the final asset-hosting mechanism. + +## Bimanual stand provenance + +The delivered bimanual source was repaired by the hardware team for coordinate +frame consistency without changing world-space geometry or inertial behavior. +The hashes below make the reviewed lineage explicit: + +- raw baseline before coordinate-frame repair: + `29ee4a14696c3827a0ed2611b1d32fb27d5204a89cae07eee3e30a02085b4ecb`; +- hardware-team source after that repair: + `3ae0bc193bdaa3aed205655e03fd20584a594d5e76e7f9cf6511ab82b761486f`; +- publication candidate in this directory: + `4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d`. + +The publication candidate changes only non-physical text: mesh URIs use the +portable `./meshes/` directory, the MuJoCo compiler uses `meshdir="meshes"`, +and the generated header omits the exporter's contact address. No mass, center +of mass, inertia, joint transform, axis, or joint limit was changed. The +published text also uses repository-normalized line endings, so its byte hash +intentionally differs from the delivered source. + +## Hardware overlay + +The URDFs contain the model geometry, link inertias, joint transforms, and +position limits. The bimanual source retains the delivered raw +`effort="0"`/`velocity="0"` placeholders on all 14 revolute joints. These zero +values are not actuator ratings: the actuator and control values confirmed by +OneRobotics are recorded in `model_parameters.yaml` and must overlay each 7-DoF +arm at integration time rather than rewriting the source URDF. + +The 4340 actuator is used for joints 1--3 with a 48.19 reduction ratio. The +4310 actuator is used for joints 4--7 with a 10:1 reduction ratio. Both use a +motor-side rotor inertia of `2.193e-5 kg m^2`; the joint-side armature is the +rotor inertia multiplied by the square of the reduction ratio. + +The confirmed joint-output rated/peak torques are `15.0/26.859 N m` for +joints 1--3 and `3.0/5.975 N m` for joints 4--7. The simulation uses the peak +values as its static solver saturation limits and retains the rated values as +actuator metadata. A peak-duration transition and thermal derating are not +modeled; they are not required to apply the supplied peak value as a simple +hard torque bound. + +## Known source limitation + +The two independent-arm URDFs explicitly identify the Link7 mass (`0.20 kg`) +and inertia as a temporary v1 flange placeholder. The values are retained +exactly as supplied; they are not presented as measured bare-flange parameters. +This limitation belongs to that CAD revision and is not applied to the distinct +bimanual stand revision. diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license new file mode 100644 index 0000000000..487bc6f93f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2026 OneRobotics +SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS new file mode 100644 index 0000000000..56bac2aeeb --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS @@ -0,0 +1,28 @@ +dcdc3d00f2682004d053b51cdb058b02d5c1a4954ecba66e2e2b4c7983b30911 a1_r.urdf +4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d bimanual_stand/a1_bimanual_stand.urdf +7500d6bdfbbf3f7614ee750131d30527adf6b15d6fca8ccc0da297af0e9411fa bimanual_stand/meshes/Link_l0.STL +e46d1540441ece5c1b98de4dd91778f4a19278f736e3b0a83698cca1616861b6 bimanual_stand/meshes/Link_l1.STL +6e98b5242edcd3b403b28569de4d29f1ee42d9903cfffc0f7f47459c34117d95 bimanual_stand/meshes/Link_l2.STL +5a2470eb295db4d157b9d1473b93a018353146e0690d343a7cfc5c839b47bf58 bimanual_stand/meshes/Link_l3.STL +25632bdaead8a7c240f89e59708d29e3759b8a59ca40a8e51d6396502e0850d6 bimanual_stand/meshes/Link_l4.STL +3118c3ffa2c32efc1da7e86391063f692ba67beaa9a1b92802eb878023dce099 bimanual_stand/meshes/Link_l5.STL +2db7a7493390fb7ea64af9745d879cb9251d73038c440304cdbe4a75b9f6a942 bimanual_stand/meshes/Link_l6.STL +55daadcea869470cf395d8da89f696f9a45062f084125112aac161e25b78d9e6 bimanual_stand/meshes/Link_l7.STL +d0b89cb9a695e3221ba75383e6f296108157743ed898c45e753b4e2810c5df5f bimanual_stand/meshes/Link_r0.STL +ff7aaf297c2e1a29397962eda08b076a7cb6c2a345f97a3b7e1560efc5cfe718 bimanual_stand/meshes/Link_r1.STL +fbf5d3d142ed7500cb46d0d405a304dab584b17afa2d5e819337912f28abd394 bimanual_stand/meshes/Link_r2.STL +596eb5c561896a8d977b8ebbed0faf036e3ed102650e12f47c0b534e873784ab bimanual_stand/meshes/Link_r3.STL +f22bfef640bb741e8dd96075bd508206bf8f71888dcde25d8474aa3eb98811f7 bimanual_stand/meshes/Link_r4.STL +ffb18138033907e33c9d5abbbeb0405d63c16b5b9e7c45ca9d6244986e57885e bimanual_stand/meshes/Link_r5.STL +7bec003f813fe7e8685ba68940078d21e56badebfe304f0b0524c13fe406e255 bimanual_stand/meshes/Link_r6.STL +95e5017e0c308196c0a981a08c26e5d1f8b298affeae675a0bf3316916779f61 bimanual_stand/meshes/Link_r7.STL +9ccfdff7ec77b26d294fa597fa20116b3d6745fbdb2faa22f0886f8f60dfa331 bimanual_stand/meshes/base_link.STL +d54268edba96a905bb4e0d39614233d822eb447ff5f2eedb2047d4308c1ecfa6 meshes/a1_r/Link1.STL +742ed9c8a22f857e9adf97fde3fb91ccfed97f99e6406b9777618c3f79d11441 meshes/a1_r/Link2.STL +a184d61f04bf25fcdf3b6982978562cfd74c61a25f3746b5863fd0961f613e71 meshes/a1_r/Link3.STL +7a7eabd15b78fa2168759dc3aa261dab1f898433f5bca08f74170681d1238daf meshes/a1_r/Link4.STL +75fbe9a5eb0b30f12dc7c77a392d8c567f44625c0fd2a0d96e23890b103ceeb6 meshes/a1_r/Link5.STL +265449ea87514fd30e9a9810cc25bea20bdb426e78c2485508577f9d0d0d73d2 meshes/a1_r/Link6.STL +2579284183b7fb457134c9271198575d89c42fa33c8cdbdc9a0a3d9edad2d3ac meshes/a1_r/Link7.STL +27b1d1796af11757a3aec995b77f933cd25329e05f3ab5a8845d61813dd6e551 meshes/a1_r/base_link.STL +a5ebe32547b31cfbc0971e1b9a2a2157b0eeb48e220230b456d1a5d2d9e46fe6 model_parameters.yaml diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf new file mode 100644 index 0000000000..83b4d1dd4a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf @@ -0,0 +1,473 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf new file mode 100644 index 0000000000..d676d16168 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf new file mode 100644 index 0000000000..98e8e80b77 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf @@ -0,0 +1,968 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL new file mode 100644 index 0000000000..90ecb47ed5 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7500d6bdfbbf3f7614ee750131d30527adf6b15d6fca8ccc0da297af0e9411fa +size 171384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL new file mode 100644 index 0000000000..f9291c708c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e46d1540441ece5c1b98de4dd91778f4a19278f736e3b0a83698cca1616861b6 +size 1040484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL new file mode 100644 index 0000000000..83460d182a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e98b5242edcd3b403b28569de4d29f1ee42d9903cfffc0f7f47459c34117d95 +size 1111384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL new file mode 100644 index 0000000000..174547287c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a2470eb295db4d157b9d1473b93a018353146e0690d343a7cfc5c839b47bf58 +size 1331784 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL new file mode 100644 index 0000000000..13c5bd8638 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25632bdaead8a7c240f89e59708d29e3759b8a59ca40a8e51d6396502e0850d6 +size 1234184 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL new file mode 100644 index 0000000000..f7401d84ce --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3118c3ffa2c32efc1da7e86391063f692ba67beaa9a1b92802eb878023dce099 +size 1499284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL new file mode 100644 index 0000000000..15f06cfb8e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2db7a7493390fb7ea64af9745d879cb9251d73038c440304cdbe4a75b9f6a942 +size 846984 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL new file mode 100644 index 0000000000..3944ea26e8 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:55daadcea869470cf395d8da89f696f9a45062f084125112aac161e25b78d9e6 +size 75284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL new file mode 100644 index 0000000000..6f531b970e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0b89cb9a695e3221ba75383e6f296108157743ed898c45e753b4e2810c5df5f +size 182484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL new file mode 100644 index 0000000000..050db7f081 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff7aaf297c2e1a29397962eda08b076a7cb6c2a345f97a3b7e1560efc5cfe718 +size 1043084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL new file mode 100644 index 0000000000..aa809ad486 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbf5d3d142ed7500cb46d0d405a304dab584b17afa2d5e819337912f28abd394 +size 1123484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL new file mode 100644 index 0000000000..78295daabe --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:596eb5c561896a8d977b8ebbed0faf036e3ed102650e12f47c0b534e873784ab +size 1331784 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL new file mode 100644 index 0000000000..e3041f9f3f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f22bfef640bb741e8dd96075bd508206bf8f71888dcde25d8474aa3eb98811f7 +size 1234184 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL new file mode 100644 index 0000000000..47099ada5a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffb18138033907e33c9d5abbbeb0405d63c16b5b9e7c45ca9d6244986e57885e +size 1499284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL new file mode 100644 index 0000000000..5ab9cad26a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bec003f813fe7e8685ba68940078d21e56badebfe304f0b0524c13fe406e255 +size 846984 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL new file mode 100644 index 0000000000..d6e7d5eb60 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e5017e0c308196c0a981a08c26e5d1f8b298affeae675a0bf3316916779f61 +size 75284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL new file mode 100644 index 0000000000..d15f9befa6 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ccfdff7ec77b26d294fa597fa20116b3d6745fbdb2faa22f0886f8f60dfa331 +size 947584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL new file mode 100644 index 0000000000..0e8f6d6d45 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fd135103ba618588bbb3d1e3b248d74cc786c2cf6c9b209898cade92816093a +size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL new file mode 100644 index 0000000000..9ac9326925 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86d3d59094be3996e3e23f3aa3747a05306f126b3eaa722037cc625c81010294 +size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL new file mode 100644 index 0000000000..f1708406ed --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a28d4d1a6c9f27438100d48cf7042dd1c42c4c5b730c04137854b9042b61adc2 +size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL new file mode 100644 index 0000000000..2c6c9409d9 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd5f650d74d281aef6efbaf3b39d528166fc8524e0480ffe6dc50b1b4e513ecc +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL new file mode 100644 index 0000000000..4c4ad29a6e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24b4e8f2b9d88c0e1df6bd5d119a868b82e7d77e1b733c70b23f3a9bafcca1ab +size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL new file mode 100644 index 0000000000..895614a06c --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a142b068815a68b2865f24060d2f2312e426463833482fd8776de65a9ce423aa +size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL new file mode 100644 index 0000000000..0a1c98df6e --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1776e22b0aaedb9e3b73717e01a75b1f0469bac655b848b31622f5a6564e2db +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL new file mode 100644 index 0000000000..499cf8d38d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d5448a9fdce31554bd7d714fbc70ca23d32bcf792fdd4ed0c967a91f4e95402 +size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL new file mode 100644 index 0000000000..47a592660f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d54268edba96a905bb4e0d39614233d822eb447ff5f2eedb2047d4308c1ecfa6 +size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL new file mode 100644 index 0000000000..3738bf446d --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:742ed9c8a22f857e9adf97fde3fb91ccfed97f99e6406b9777618c3f79d11441 +size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL new file mode 100644 index 0000000000..b6e46fe03a --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a184d61f04bf25fcdf3b6982978562cfd74c61a25f3746b5863fd0961f613e71 +size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL new file mode 100644 index 0000000000..2fde0d9eac --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a7eabd15b78fa2168759dc3aa261dab1f898433f5bca08f74170681d1238daf +size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL new file mode 100644 index 0000000000..56af72f8c4 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75fbe9a5eb0b30f12dc7c77a392d8c567f44625c0fd2a0d96e23890b103ceeb6 +size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL new file mode 100644 index 0000000000..474822adad --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:265449ea87514fd30e9a9810cc25bea20bdb426e78c2485508577f9d0d0d73d2 +size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL new file mode 100644 index 0000000000..00d093b9fa --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2579284183b7fb457134c9271198575d89c42fa33c8cdbdc9a0a3d9edad2d3ac +size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL new file mode 100644 index 0000000000..f070eb6ae5 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:27b1d1796af11757a3aec995b77f933cd25329e05f3ab5a8845d61813dd6e551 +size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml new file mode 100644 index 0000000000..d19bf19c02 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml @@ -0,0 +1,78 @@ +## SPDX-FileCopyrightText: 2026 OneRobotics +## SPDX-License-Identifier: CC-BY-4.0 + +schema_version: 2 +manufacturer: OneRobotics +robot: OneRobotics A1 +configuration: independent fixed-base 7-DoF arms and fixed-stand bimanual 14-DoF robot +asset_license: CC-BY-4.0 + +model_revisions: + independent_arms: + configuration: two independent fixed-base 7-DoF arms + urdf_files: [a1_r.urdf, a1_l.urdf] + mesh_count: 16 + source_bundle_sha256: 9dfa9f0e1b7fa8d05b12b47dd67ab0484bc376b4db60ce541ee832455a0be8c9 + gripper_included: false + bimanual_stand: + configuration: fixed-stand bimanual 14-DoF robot + urdf_file: bimanual_stand/a1_bimanual_stand.urdf + mesh_count: 17 + raw_baseline_sha256: 29ee4a14696c3827a0ed2611b1d32fb27d5204a89cae07eee3e30a02085b4ecb + hardware_source_sha256: 3ae0bc193bdaa3aed205655e03fd20584a594d5e76e7f9cf6511ab82b761486f + publication_candidate_sha256: 4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d + cad_revision_relation: distinct_from_independent_arms + revolute_joint_count: 14 + raw_effort_limit_nm: 0.0 + raw_velocity_limit_rad_s: 0.0 + control_limits_source: confirmed_hardware_overlay_below + gripper_included: false + +timing: + physics_frequency_hz: 200 + policy_frequency_hz: 50 + decimation: 4 + +motors: + "4340": + applies_to_each_arm_joint_indices: [1, 2, 3] + joint_indices: [1, 2, 3] + reduction_ratio: 48.19 + rotor_inertia_kg_m2: 2.193e-5 + reflected_inertia_kg_m2: 0.050927514873 + rated_output_torque_nm: 15.0 + peak_output_torque_nm: 26.859 + rated_output_speed_rpm: 25.0 + rated_output_speed_rad_s: 2.6179938779914944 + "4310": + applies_to_each_arm_joint_indices: [4, 5, 6, 7] + joint_indices: [4, 5, 6, 7] + reduction_ratio: 10.0 + rotor_inertia_kg_m2: 2.193e-5 + reflected_inertia_kg_m2: 0.002193 + rated_output_torque_nm: 3.0 + peak_output_torque_nm: 5.975 + rated_output_speed_rpm: 120.0 + rated_output_speed_rad_s: 12.566370614359172 + +joint_pd: + joint1: {kp: 150.0, kd: 4.0} + joint2: {kp: 150.0, kd: 4.0} + joint3: {kp: 150.0, kd: 4.0} + joint4: {kp: 150.0, kd: 4.0} + joint5: {kp: 40.0, kd: 1.0} + joint6: {kp: 40.0, kd: 1.0} + joint7: {kp: 40.0, kd: 1.0} + +modeling_scope: + hardware_overlay_applies_per_7dof_arm: true + bimanual_raw_zero_effort_velocity_overridden: true + torque_limit: peak_output_torque + peak_torque_modeled: true + peak_torque_duration_limit_modeled: false + thermal_derating_modeled: false + velocity_limit: rated_output_speed + gripper_included: false + +known_limitations: + link7_mass_inertia: source_urdf_v1_placeholder diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license new file mode 100644 index 0000000000..487bc6f93f --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2026 OneRobotics +SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf new file mode 100644 index 0000000000..e12fcad411 --- /dev/null +++ b/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf @@ -0,0 +1,979 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/teleop/python/onerobotics_a1_example.py b/examples/teleop/python/onerobotics_a1_example.py new file mode 100644 index 0000000000..15c39ae5df --- /dev/null +++ b/examples/teleop/python/onerobotics_a1_example.py @@ -0,0 +1,154 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +"""OneRobotics A1 Isaac Teleop example. + +The ``demo`` mode drives the packaged right-arm MJCF with a bounded sinusoid and +opens a MuJoCo viewer. The ``live`` mode consumes a JointState tracker through +the Isaac Teleop pipeline: + + JointStateSource -> JointStateRetargeter -> OutputCombiner("action") + +The live mode expects a device/plugin publishing the collection +``onerobotics_a1_right`` with the seven joint names declared below. It does not +claim that the included asset is a hardware driver. + +Examples:: + + python onerobotics_a1_example.py --mode demo + python onerobotics_a1_example.py --mode live --frames 100 +""" + +from __future__ import annotations + +import argparse +import sys +import time +from pathlib import Path + +import numpy as np + +from isaaccapture.cloudxr import CloudXRLauncher +from isaaccapture.retargeters import ( + JointStateRetargeter, + JointStateRetargeterConfig, +) +from isaaccapture.retargeting_engine.deviceio_source_nodes import JointStateSource +from isaaccapture.retargeting_engine.interface import OutputCombiner + + +A1_RIGHT_JOINTS = [ + "joint1-a1_r", + "joint2-a1_r", + "joint3-a1_r", + "joint4-a1_r", + "joint5-a1_r", + "joint6-a1_r", + "joint7-a1_r", +] +COLLECTION_ID = "onerobotics_a1_right" +ASSET_DIR = Path(__file__).resolve().parents[1] / "assets" / "onerobotics_a1" +MJCF_PATH = ASSET_DIR / "mjcf" / "A1" / "a1_right_position.xml" + + +def build_pipeline(source: JointStateSource): + """Build the standard joint-space Isaac Teleop action graph for A1.""" + retargeter = JointStateRetargeter( + name="onerobotics_a1_right", + mode="joint", + config=JointStateRetargeterConfig( + device_joints=A1_RIGHT_JOINTS, + target_joints=A1_RIGHT_JOINTS, + ), + ) + mapped = retargeter.connect( + {JointStateRetargeter.JOINTS: source.output(JointStateSource.JOINTS)} + ) + return OutputCombiner({"action": mapped.output("joint_targets")}) + + +def run_demo(duration: float) -> None: + """Exercise the packaged model without an OpenXR runtime or hardware.""" + import mujoco + import mujoco.viewer + + if not MJCF_PATH.is_file(): + raise SystemExit(f"A1 MJCF not found: {MJCF_PATH}") + model = mujoco.MjModel.from_xml_path(str(MJCF_PATH)) + data = mujoco.MjData(model) + ranges = np.array(model.jnt_range[: len(A1_RIGHT_JOINTS)], dtype=float) + home = np.mean(ranges, axis=1) + amplitude = 0.20 * (ranges[:, 1] - ranges[:, 0]) + started = time.monotonic() + print(f"A1 demo: {MJCF_PATH}") + with mujoco.viewer.launch_passive(model, data) as viewer: + while viewer.is_running() and ( + duration <= 0 or time.monotonic() - started < duration + ): + phase = time.monotonic() - started + data.qpos[: len(A1_RIGHT_JOINTS)] = home + amplitude * np.sin(phase) + mujoco.mj_forward(model, data) + viewer.sync() + time.sleep(1 / 60) + + +def run_live(frames: int, timeout: float, args: argparse.Namespace) -> None: + """Consume A1 joint states through TeleopSession and print mapped actions.""" + from isaaccapture.teleop_session_manager import TeleopSession, TeleopSessionConfig + + source = JointStateSource( + name="onerobotics_a1_right", + collection_id=args.collection_id, + joint_names=A1_RIGHT_JOINTS, + ) + pipeline = build_pipeline(source) + config = TeleopSessionConfig( + app_name="OneRoboticsA1JointSpaceExample", + trackers=[], + pipeline=pipeline, + plugins=[], + ) + deadline = time.monotonic() + timeout + received = 0 + with CloudXRLauncher.launch_context(args), TeleopSession(config) as session: + while received < frames and time.monotonic() < deadline: + result = session.step() + action = result.get("action") + if action is not None: + values = np.asarray(action[0], dtype=float) + print( + f"frame {received:04d} | " + + " ".join( + f"{name}={value:+.4f}" + for name, value in zip(A1_RIGHT_JOINTS, values) + ) + ) + received += 1 + time.sleep(0.016) + if received < frames: + raise SystemExit( + f"received {received}/{frames} A1 actions before timeout; " + f"check collection_id={args.collection_id!r} and the joint-state producer" + ) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--mode", choices=("demo", "live"), default="demo") + parser.add_argument("--duration", type=float, default=0.0) + parser.add_argument("--frames", type=int, default=20) + parser.add_argument("--timeout", type=float, default=20.0) + parser.add_argument("--collection-id", default=COLLECTION_ID) + CloudXRLauncher.add_launcher_arguments(parser) + args = parser.parse_args() + if args.duration < 0 or args.timeout <= 0 or args.frames <= 0: + parser.error("duration must be >= 0; timeout and frames must be positive") + if args.mode == "demo": + run_demo(args.duration) + else: + run_live(args.frames, args.timeout, args) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/examples/teleop/python/pyproject.toml b/examples/teleop/python/pyproject.toml index 832ec1e1f3..19fd922e76 100644 --- a/examples/teleop/python/pyproject.toml +++ b/examples/teleop/python/pyproject.toml @@ -9,4 +9,5 @@ requires-python = ">=3.11,<3.14" dependencies = [ "isaaccapture[retargeters]", "glfw>=2.7", # keyboard_printer_example: the window and its platform constants + "mujoco>=3.0", # onerobotics_a1_example: packaged A1 demo viewer ] From 0afcf4598bd1bdb79f27c89286b6d32f9856d328 Mon Sep 17 00:00:00 2001 From: WangXuechun-woan Date: Tue, 20 Oct 2026 11:47:40 +0800 Subject: [PATCH 2/3] fix: address A1 asset PR review comments Signed-off-by: WangXuechun-woan --- .../onerobotics_a1/ASSET_LICENSE_STATUS.md | 32 ++++++++++++------- .../teleop/python/onerobotics_a1_example.py | 14 ++++++-- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md index 224d9b0e6a..c93ffd8a66 100644 --- a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md +++ b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md @@ -25,18 +25,26 @@ The complete legal code is included at [`LICENSES/CC-BY-4.0.txt`](LICENSES/CC-BY The CC BY 4.0 asset license applies to: -- all 66 binary STL mesh files: 33 under - `source/h1_reach/h1_reach/assets/meshes/`, 16 under - `source/h1_reach/h1_reach/assets/urdf/A1_2026/meshes/`, and 17 under - `source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/meshes/`; -- all six URDF robot-model files under - `source/h1_reach/h1_reach/assets/urdf/`, including the A1 2026 right- and +- all 66 binary STL mesh files packaged under + `examples/teleop/assets/onerobotics_a1/meshes/` and + `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/`, and + `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/` + (upstream source paths: `source/h1_reach/h1_reach/assets/meshes/`, + `source/h1_reach/h1_reach/assets/urdf/A1_2026/meshes/`, and + `source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/meshes/`); +- all six URDF robot-model files packaged under + `examples/teleop/assets/onerobotics_a1/urdf/` (upstream source path: + `source/h1_reach/h1_reach/assets/urdf/`), including the A1 2026 right- and left-arm source models `A1_2026/a1_r.urdf` and `A1_2026/a1_l.urdf`, and the whole-robot source model `A1_2026/bimanual_stand/a1_bimanual_stand.urdf`; -- all five MuJoCo/MJCF XML robot-model files under `source/h1_reach/h1_reach/assets/mjcf/`; -- the A1 2026 model and control metadata in - `source/h1_reach/h1_reach/assets/urdf/A1_2026/model_parameters.yaml`; +- all five MuJoCo/MJCF XML robot-model files packaged under + `examples/teleop/assets/onerobotics_a1/mjcf/` (upstream source path: + `source/h1_reach/h1_reach/assets/mjcf/`); +- the A1 2026 model and control metadata packaged at + `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml` + (upstream source path: + `source/h1_reach/h1_reach/assets/urdf/A1_2026/model_parameters.yaml`); - USD, USDA, USDC, or USDZ conversions that OneRobotics publishes from the covered model files and explicitly identifies as covered by this declaration, excluding incorporated third-party material that OneRobotics is not authorized to license. The current source tree contains 77 covered robot-model files: 66 STL files, @@ -47,8 +55,10 @@ distinct whole-robot bimanual stand URDF with 17 meshes, for 36 A1 2026 robot-model files. The revisions are separate CAD sources and do not include a gripper. No USD-format asset is currently tracked. -In built wheel and source-distribution artifacts, these files appear under -`h1_reach/assets/`; that packaging-path change does not alter the license scope. +In this repository, these files are distributed under +`examples/teleop/assets/onerobotics_a1/`; the upstream source distribution +uses `h1_reach/assets/`. This packaging-path change does not alter the license +scope or the upstream source attribution. ## Required attribution diff --git a/examples/teleop/python/onerobotics_a1_example.py b/examples/teleop/python/onerobotics_a1_example.py index 15c39ae5df..b60b8abe03 100644 --- a/examples/teleop/python/onerobotics_a1_example.py +++ b/examples/teleop/python/onerobotics_a1_example.py @@ -64,7 +64,12 @@ def build_pipeline(source: JointStateSource): mapped = retargeter.connect( {JointStateRetargeter.JOINTS: source.output(JointStateSource.JOINTS)} ) - return OutputCombiner({"action": mapped.output("joint_targets")}) + return OutputCombiner( + { + "action": mapped.output("joint_targets"), + "sample": source.output(JointStateSource.JOINTS), + } + ) def run_demo(duration: float) -> None: @@ -114,8 +119,11 @@ def run_live(frames: int, timeout: float, args: argparse.Namespace) -> None: while received < frames and time.monotonic() < deadline: result = session.step() action = result.get("action") - if action is not None: - values = np.asarray(action[0], dtype=float) + sample = result.get("sample") + if sample is not None and not sample.is_none and action is not None: + values = np.asarray( + [action[i] for i in range(len(A1_RIGHT_JOINTS))], dtype=float + ) print( f"frame {received:04d} | " + " ".join( From a28e199a36b0cf057816a08e96527e22d55441f8 Mon Sep 17 00:00:00 2001 From: WangXuechun-woan Date: Wed, 21 Oct 2026 09:40:53 +0800 Subject: [PATCH 3/3] refactor: make A1 an end-effector target Signed-off-by: WangXuechun-woan --- LICENSES/CC-BY-4.0.txt | 395 ------- examples/teleop/CMakeLists.txt | 4 - .../onerobotics_a1/ASSET_LICENSE_STATUS.md | 85 -- .../ASSET_LICENSE_STATUS.md.license | 2 - .../assets/onerobotics_a1/CC-BY-4.0.txt | 395 ------- examples/teleop/assets/onerobotics_a1/LICENSE | 33 - .../onerobotics_a1/LICENSES/CC-BY-4.0.txt | 395 ------- .../teleop/assets/onerobotics_a1/README.md | 37 - .../assets/onerobotics_a1/README.md.license | 2 - .../onerobotics_a1/THIRD_PARTY_NOTICES.md | 55 - .../THIRD_PARTY_NOTICES.md.license | 2 - .../onerobotics_a1/meshes/A1/A1_l/Link_L1.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L2.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L3.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L4.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L5.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L6.STL | 3 - .../onerobotics_a1/meshes/A1/A1_l/Link_L7.STL | 3 - .../meshes/A1/A1_l/base_link.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R1.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R2.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R3.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R4.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R5.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R6.STL | 3 - .../onerobotics_a1/meshes/A1/A1_r/Link_R7.STL | 3 - .../meshes/A1/A1_r/base_link.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L1.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L2.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L3.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L4.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L5.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L6.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_L7.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R1.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R2.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R3.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R4.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R5.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R6.STL | 3 - .../onerobotics_a1/meshes/A1_dual/Link_R7.STL | 3 - .../meshes/A1_dual/Link_base_L.STL | 3 - .../meshes/A1_dual/Link_base_R.STL | 3 - .../meshes/A1_dual/base_link.STL | 3 - .../onerobotics_a1/mjcf/A1/a1_right_motor.xml | 77 -- .../mjcf/A1/a1_right_position.xml | 77 -- .../onerobotics_a1/mjcf/A1/a1_right_raw.xml | 61 -- .../onerobotics_a1/mjcf/A1_dual/a1_dual.xml | 136 --- .../mjcf/A1_dual/a1_dual_raw.xml | 116 --- .../onerobotics_a1/urdf/A1/a1_left.urdf | 468 --------- .../onerobotics_a1/urdf/A1/a1_right.urdf | 456 -------- .../onerobotics_a1/urdf/A1_2026/README.md | 94 -- .../urdf/A1_2026/README.md.license | 2 - .../onerobotics_a1/urdf/A1_2026/SHA256SUMS | 28 - .../onerobotics_a1/urdf/A1_2026/a1_l.urdf | 473 --------- .../onerobotics_a1/urdf/A1_2026/a1_r.urdf | 235 ----- .../bimanual_stand/a1_bimanual_stand.urdf | 968 ----------------- .../A1_2026/bimanual_stand/meshes/Link_l0.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l1.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l2.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l3.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l4.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l5.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l6.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_l7.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r0.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r1.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r2.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r3.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r4.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r5.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r6.STL | 3 - .../A1_2026/bimanual_stand/meshes/Link_r7.STL | 3 - .../bimanual_stand/meshes/base_link.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link1.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link2.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link3.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link4.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link5.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link6.STL | 3 - .../urdf/A1_2026/meshes/a1_l/Link7.STL | 3 - .../urdf/A1_2026/meshes/a1_l/base_link.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link1.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link2.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link3.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link4.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link5.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link6.STL | 3 - .../urdf/A1_2026/meshes/a1_r/Link7.STL | 3 - .../urdf/A1_2026/meshes/a1_r/base_link.STL | 3 - .../urdf/A1_2026/model_parameters.yaml | 78 -- .../A1_2026/model_parameters.yaml.license | 2 - .../onerobotics_a1/urdf/A1_dual/A1_dual.urdf | 979 ------------------ .../teleop/python/onerobotics_a1_example.py | 179 ++-- examples/teleop/python/pyproject.toml | 1 - 95 files changed, 63 insertions(+), 5970 deletions(-) delete mode 100644 LICENSES/CC-BY-4.0.txt delete mode 100644 examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md delete mode 100644 examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license delete mode 100644 examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt delete mode 100644 examples/teleop/assets/onerobotics_a1/LICENSE delete mode 100644 examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt delete mode 100644 examples/teleop/assets/onerobotics_a1/README.md delete mode 100644 examples/teleop/assets/onerobotics_a1/README.md.license delete mode 100644 examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md delete mode 100644 examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml delete mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml delete mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml delete mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml delete mode 100644 examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license delete mode 100644 examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf diff --git a/LICENSES/CC-BY-4.0.txt b/LICENSES/CC-BY-4.0.txt deleted file mode 100644 index 4ea99c213c..0000000000 --- a/LICENSES/CC-BY-4.0.txt +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/CMakeLists.txt b/examples/teleop/CMakeLists.txt index 585f5f6472..94a93beb11 100644 --- a/examples/teleop/CMakeLists.txt +++ b/examples/teleop/CMakeLists.txt @@ -6,7 +6,3 @@ project(teleop_examples) include(${CMAKE_SOURCE_DIR}/cmake/InstallPythonExample.cmake) install_python_example(DESTINATION examples/teleop/python) - -# The A1 MJCF/URDF/STL package is example data, not Python package data. Keep it -# beside the installed Python examples so the demo resolves its model by path. -install(DIRECTORY assets DESTINATION examples/teleop) diff --git a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md deleted file mode 100644 index c93ffd8a66..0000000000 --- a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md +++ /dev/null @@ -1,85 +0,0 @@ - - -# OneRobotics A1 Asset License - -License declaration date: 2026-08-14 - -Asset inventory updated: 2026-08-28 - -Copyright holder and licensor: **OneRobotics** - -License: **Creative Commons Attribution 4.0 International** (`CC-BY-4.0`) - -`ASSET_LICENSE_DECISION = LICENSED_CC_BY_4_0` - -## License grant - -OneRobotics makes the asset material listed below available under the Creative Commons Attribution 4.0 International license. You may share and adapt the material for any purpose, including commercial use, provided that you comply with the license terms. - -The complete legal code is included at [`LICENSES/CC-BY-4.0.txt`](LICENSES/CC-BY-4.0.txt). The official license page is . - -## Covered material - -The CC BY 4.0 asset license applies to: - -- all 66 binary STL mesh files packaged under - `examples/teleop/assets/onerobotics_a1/meshes/` and - `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/`, and - `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/` - (upstream source paths: `source/h1_reach/h1_reach/assets/meshes/`, - `source/h1_reach/h1_reach/assets/urdf/A1_2026/meshes/`, and - `source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/meshes/`); -- all six URDF robot-model files packaged under - `examples/teleop/assets/onerobotics_a1/urdf/` (upstream source path: - `source/h1_reach/h1_reach/assets/urdf/`), including the A1 2026 right- and - left-arm source models `A1_2026/a1_r.urdf` and `A1_2026/a1_l.urdf`, and the - whole-robot source model - `A1_2026/bimanual_stand/a1_bimanual_stand.urdf`; -- all five MuJoCo/MJCF XML robot-model files packaged under - `examples/teleop/assets/onerobotics_a1/mjcf/` (upstream source path: - `source/h1_reach/h1_reach/assets/mjcf/`); -- the A1 2026 model and control metadata packaged at - `examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml` - (upstream source path: - `source/h1_reach/h1_reach/assets/urdf/A1_2026/model_parameters.yaml`); -- USD, USDA, USDC, or USDZ conversions that OneRobotics publishes from the covered model files and explicitly identifies as covered by this declaration, excluding incorporated third-party material that OneRobotics is not authorized to license. - -The current source tree contains 77 covered robot-model files: 66 STL files, -six URDF files, and five MJCF/XML files. Together with the covered A1 2026 -metadata YAML, the current covered asset inventory is 78 files. The A1 2026 -inventory contains two independent single-arm URDF models with 16 meshes and a -distinct whole-robot bimanual stand URDF with 17 meshes, for 36 A1 2026 -robot-model files. The revisions are separate CAD sources and do not include a -gripper. No USD-format asset is currently tracked. - -In this repository, these files are distributed under -`examples/teleop/assets/onerobotics_a1/`; the upstream source distribution -uses `h1_reach/assets/`. This packaging-path change does not alter the license -scope or the upstream source attribution. - -## Required attribution - -When redistributing the covered material or an adaptation, retain the copyright and license information, link to CC BY 4.0, identify OneRobotics as the creator, and indicate whether changes were made. A suitable attribution is: - -> OneRobotics A1 robot assets © 2026 OneRobotics, licensed under CC BY 4.0 (). Source: . Changes: none. - -Replace `none` with a short description when redistributing modified assets. The OneRobotics website is . - -For the bimanual stand publication candidate in this repository, the indicated -changes are: mesh URI and MuJoCo `meshdir` references adapted to the portable -repository layout, normalized line endings, and removal of the exporter's -contact address from the generated comment; physical model fields unchanged. - -## Scope boundaries - -- The project source code is not licensed by this file. It uses BSD-3-Clause as described in the root `LICENSE`, except where a source file retains a separate upstream notice. -- Files copied or substantially derived from Isaac Lab retain their existing Isaac Lab Project Developers copyright and BSD-3-Clause notices. See `THIRD_PARTY_NOTICES.md`. -- The SolidWorks to URDF Exporter attribution embedded in the URDF comments identifies the generating tool; the tool is not vendored and its software license does not replace this asset license. -- The CC BY 4.0 grant does not cover third-party Isaac Lab, Isaac Sim, NVIDIA scene, user-interface, grid, table, or marker elements visible in `media/onerobotics-a1-zero-pose.png`. The covered A1 model remains CC BY 4.0; the screenshot is included only as documentation and is not relicensed as a whole by this file. -- CC BY 4.0 does not grant rights in OneRobotics names, logos, or trademarks beyond the use reasonably necessary for attribution, and reuse must not imply endorsement by OneRobotics or Isaac Lab. -- Third-party runtime software and dependencies remain under their own licenses. - -This declaration is the controlling repository license record for the exact covered material above. diff --git a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license b/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license deleted file mode 100644 index 487bc6f93f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/ASSET_LICENSE_STATUS.md.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2026 OneRobotics -SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt b/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt deleted file mode 100644 index 4ea99c213c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/CC-BY-4.0.txt +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/assets/onerobotics_a1/LICENSE b/examples/teleop/assets/onerobotics_a1/LICENSE deleted file mode 100644 index c4ecc385e1..0000000000 --- a/examples/teleop/assets/onerobotics_a1/LICENSE +++ /dev/null @@ -1,33 +0,0 @@ -Scope: This BSD 3-Clause License applies to OneRobotics-owned project code. It -does not apply to the robot assets listed in ASSET_LICENSE_STATUS.md, which are -licensed under CC BY 4.0, or to third-party material identified in -THIRD_PARTY_NOTICES.md. - -BSD 3-Clause License - -Copyright (c) 2026, OneRobotics - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt b/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt deleted file mode 100644 index 4ea99c213c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/LICENSES/CC-BY-4.0.txt +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/examples/teleop/assets/onerobotics_a1/README.md b/examples/teleop/assets/onerobotics_a1/README.md deleted file mode 100644 index 933ed3bc0d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# OneRobotics A1 assets - -This directory packages the OneRobotics A1 source assets used by the Isaac Teleop -joint-space example. The package contains the two independent 7-DoF arm URDFs, -the bimanual stand URDF, their STL meshes, the supplied MJCF models, and the -source license records. - -The runnable example uses `mjcf/A1/a1_right_position.xml`. This is the supplied -MuJoCo right-arm model; it is not a URDF conversion. The independent-arm and -bimanual URDFs remain available under `urdf/A1_2026/` for Isaac Sim/Isaac Lab -integration. - -## Provenance - -- Source repository: -- Source revision: `ecf530911284ba0e559f7a24dc222fd8e60d31ed` -- Asset license: CC BY 4.0; see `CC-BY-4.0.txt` and `ASSET_LICENSE_STATUS.md`. -- Project-code license text retained as `LICENSE`; it does not replace the asset - license. - -The A1 asset attribution is: - -> OneRobotics A1 robot assets © 2026 OneRobotics, licensed under CC BY 4.0 -> (). Source: -> . Changes: mesh paths are packaged -> under this directory; robot geometry and inertial data are unchanged. - -## Verification - -From the asset root: - -```bash -cd urdf/A1_2026 && sha256sum --check SHA256SUMS -``` - -The example also checks that the right-arm MJCF compiles and that its seven -joint names match the Isaac Teleop mapping. diff --git a/examples/teleop/assets/onerobotics_a1/README.md.license b/examples/teleop/assets/onerobotics_a1/README.md.license deleted file mode 100644 index 33cf90711f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/README.md.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -SPDX-License-Identifier: Apache-2.0 diff --git a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md deleted file mode 100644 index d73c73a799..0000000000 --- a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md +++ /dev/null @@ -1,55 +0,0 @@ - - - - -# Third-Party Notices - -This file records third-party material identified during the 2026-08-14 Phase 1 audit. It does not change the license of any file. - -The asset-path inventory was reviewed again on 2026-08-28 for the A1 2026 -independent-arm and whole-robot bimanual stand source-model additions. - -## Isaac Lab template-derived source - -Several Python scripts, configuration files, and task modules were copied or substantially derived from the Isaac Lab external-project and manipulation/reach templates. - -The retained per-file notices comprise 12 files with a `2022-2025` copyright range and 10 files with a `2022-2026` range. No file header was normalized or replaced during this cleanup. - -The complete upstream BSD-3-Clause notice is included at [`LICENSES/IsaacLab-BSD-3-Clause.txt`](LICENSES/IsaacLab-BSD-3-Clause.txt) and must accompany redistribution of the derived files. The upstream license is also available at . - -No blanket copyright-header replacement was performed. The project code and OneRobotics A1 assets have separate license scopes; neither project metadata nor the OneRobotics asset license implies endorsement by Isaac Lab. - -## SolidWorks to URDF Exporter attribution - -Five of the six URDF files contain a generated-file comment identifying -SolidWorks to URDF Exporter, commit `1.6.0-4-g7f85cfe`, and Stephen Brawner as -the exporter author. This includes the three previously covered URDF files and -`source/h1_reach/h1_reach/assets/urdf/A1_2026/a1_l.urdf` and -`source/h1_reach/h1_reach/assets/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf`. -The comment is not -present in `source/h1_reach/h1_reach/assets/urdf/A1_2026/a1_r.urdf`, so this -notice does not infer file-local tool -attribution where the source file does not provide it. The exporter source code -is not vendored in this repository. Its software license is separate from the -CC BY 4.0 license that OneRobotics applies to the A1 model assets. - -## External runtime dependencies - -Isaac Sim, the Isaac Lab runtime distribution, RSL-RL, MuJoCo, PyTorch, Gymnasium, NumPy, and their dependencies are external runtime dependencies and are not vendored here. The Isaac Lab template-derived source files copied into this repository are handled separately above. Users and downstream distributors must follow the licenses supplied by the external projects and their installed distributions. - -No additional third-party model, mesh, texture, or material was identified by -the file-level review under `source/h1_reach/h1_reach/assets/`. This is an -inventory finding, not a legal chain-of-title determination. The -OneRobotics-owned physical-asset scope and required attribution are documented -separately in `ASSET_LICENSE_STATUS.md`. - -## README visualization - -`media/onerobotics-a1-zero-pose.png` was captured from the inherited Isaac Lab reach scene and includes third-party Isaac Lab/Isaac Sim/NVIDIA scene elements such as the environment table, grid, and pose markers. It is included as documentation. The OneRobotics CC BY 4.0 grant covers the underlying A1 model assets, not the screenshot as a whole or those third-party scene elements. diff --git a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license b/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license deleted file mode 100644 index 487bc6f93f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/THIRD_PARTY_NOTICES.md.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2026 OneRobotics -SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL deleted file mode 100644 index 1ae19f49d4..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d99193c57ca4197710c90a0e5b6ffb75c427a03c6a8f1ab828e584acf91ba183 -size 1048684 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL deleted file mode 100644 index 9251d2d9b5..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e532cf8e0fe371f5bcac6c30b036bd9b544048956e69ce69b0df1a91ab626fe7 -size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL deleted file mode 100644 index 64e1a46e1f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4cdc4b8d5e21cd20ebb2c7ce832dccb9c9970e5a826a12826d2b36d3a6de386a -size 1342284 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL deleted file mode 100644 index a15a3e544d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6f964da28bf7b5f0db5d4342b4248e4abb1aa2d7ea4e7ca293835a0764d9bdc -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL deleted file mode 100644 index d297ad915e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed380b8b727af3f0706fa606639737d31b0b89be25365c2a298e8ca5c770c205 -size 1362584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL deleted file mode 100644 index 7a3ee6f2a4..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:af00eb37d81eb6566060545a8222e7589d70932c0b82fc8737bb172d3690f827 -size 853384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL deleted file mode 100644 index a9362687f7..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/Link_L7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44fb29011e38c02b33b0d797443bf699cce3d245c316675f2391c33d61f47c37 -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL deleted file mode 100644 index 2382b3517f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_l/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b65022a6be0b88844ea912b7d1f59f61ad1ba79d38cff41a0fdff5a961422ce0 -size 184784 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL deleted file mode 100644 index f6e0337632..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ce57c22a5b46aed102bc1623cd435d12dbd0f50fc8a3ba089791bf013f98691a -size 1050984 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL deleted file mode 100644 index 4cd3c26b35..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:76b84009a598a72cb180c057b5ba65bcbf0b96800da30de41166d34062d80051 -size 1130884 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL deleted file mode 100644 index cee0185504..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40e8737ce7a4f8cfbc37ad04c4c6e9f2ba9b0a81a9341cdfb1c3dd46af1ff0c2 -size 1342184 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL deleted file mode 100644 index 439e703ba6..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8901305677c45690ab0fc251292135e07ad54a59ba7aeeb89d7eb33620137ef3 -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL deleted file mode 100644 index bbfa8ecc6e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9986ccc5b3554b46b636436f93b1dcf540e745a41504e0902277ba53af9fae48 -size 1462284 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL deleted file mode 100644 index 0b6e2139bf..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b18f213a95c2606a680e8d35ca9ef20417f78fccee3bac9fe15b83ed75caa05 -size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL deleted file mode 100644 index 7966bdea89..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/Link_R7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f05fa5c4aa376a4c2a5404fad8997872cfa47a433640f9829b9a814cc617e06a -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL deleted file mode 100644 index 0c78fac8fe..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1/A1_r/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e87134bbbb060353cd775f7cc4ae27c6eb95341d895a2ed1d2cdde76c772237 -size 195884 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL deleted file mode 100644 index 4206047331..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:63ad17a5d00cf47ab049d067f99a078f0681850c9028ef300014281f32c87baf -size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL deleted file mode 100644 index f5b6cf902c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9f99ca15dc06264e9c8d0b3756c9d8e72a25edf799a4f48872d237491ad7638 -size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL deleted file mode 100644 index 8d92277c12..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b81cad8c119fd5e3c4f8a268e00ab7abc1c9135c378f435d3c9750c1a9e96ff0 -size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL deleted file mode 100644 index 993112d5c8..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c29b3c43383a2e8706d7cb51ae333af8d9b7f7b0f51025c0f3e291113ed8f537 -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL deleted file mode 100644 index 09d6efc678..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a9d28a447ac232d026a7d100854d32214763f12c65bbf7b06cb9e2cd5daf4fd0 -size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL deleted file mode 100644 index 076e8ff87d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a02e1843ec836a69ef015f226e10d41c547167cc351c41ee21a494b3fca2ec00 -size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL deleted file mode 100644 index a9362687f7..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_L7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:44fb29011e38c02b33b0d797443bf699cce3d245c316675f2391c33d61f47c37 -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL deleted file mode 100644 index 7e99926e45..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64199d7ad2d3ff0aa3bf5edcec8a9f8cedc8bd39beed74ace7d38c91ea677057 -size 1141784 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL deleted file mode 100644 index 0260df712b..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0c8418372bc5d82c0b790d122e630d4285046f6c6458a80d185b5ed83ee9b15c -size 1040084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL deleted file mode 100644 index 18c152a916..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:222b5f70ae2324e6b23e47140c678442d501b684ffa5c7297c65563cdf5765c3 -size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL deleted file mode 100644 index 9a0a421678..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ebf17a326f127e231ce1e5907a978ef03a186d0427e3b95cc81336b4a108912a -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL deleted file mode 100644 index 8f7d36f01d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3691677f1cb0dda629f6db310a3b9c2d0c2ed34cc1d79120fc305ca5658d859d -size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL deleted file mode 100644 index 0b6e2139bf..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b18f213a95c2606a680e8d35ca9ef20417f78fccee3bac9fe15b83ed75caa05 -size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL deleted file mode 100644 index d8fbe54cae..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_R7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e728529eb8a20f381802ac94956cba24a1aeb6145779c4ac0e3d95b397456fc -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL deleted file mode 100644 index 65ab0b59da..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_L.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:98bac42f340c940655c4aae408bba20920afa1afe38c52a6ba8f2b595f5e6e76 -size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL deleted file mode 100644 index 8e207bc5ce..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/Link_base_R.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3cc4e936cc726441d7c8d5ac037a9d790c9aad82c357e323fdbc15687cb0b0cf -size 105484 diff --git a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL b/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL deleted file mode 100644 index bd2a044b7e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/meshes/A1_dual/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4a930008052a754057118ad4d25a8187da5bd3428236021fafe67c9cdede79e1 -size 20484 diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml deleted file mode 100644 index 5196230973..0000000000 --- a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_motor.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml deleted file mode 100644 index 21cbbf2ece..0000000000 --- a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_position.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml deleted file mode 100644 index 628338a6c0..0000000000 --- a/examples/teleop/assets/onerobotics_a1/mjcf/A1/a1_right_raw.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml deleted file mode 100644 index 900ae67c04..0000000000 --- a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - diff --git a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml b/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml deleted file mode 100644 index 6f30ba9716..0000000000 --- a/examples/teleop/assets/onerobotics_a1/mjcf/A1_dual/a1_dual_raw.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf deleted file mode 100644 index ff2d7c7d19..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_left.urdf +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf deleted file mode 100644 index 087645b6d9..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1/a1_right.urdf +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md deleted file mode 100644 index c2b45bcf0a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md +++ /dev/null @@ -1,94 +0,0 @@ - - -# OneRobotics A1 2026 source model - -This directory contains two distinct OneRobotics A1 CAD revisions: the current -independent right- and left-arm source models, and a hardware-team-supplied -whole-robot bimanual stand model. The revisions are published side by side and -are not mixed or synthesized from one another. - -The independent-arm source files were imported without geometric or inertial -edits from the OneRobotics SDK asset bundle whose SHA-256 is: - -```text -9dfa9f0e1b7fa8d05b12b47dd67ab0484bc376b4db60ce541ee832455a0be8c9 -``` - -## Published contents - -- `a1_r.urdf`: independent right-arm 7-DoF source model; -- `a1_l.urdf`: independent left-arm 7-DoF source model; -- `meshes/a1_r/` and `meshes/a1_l/`: eight referenced STL files per arm; -- `bimanual_stand/a1_bimanual_stand.urdf`: complete stand with two 7-DoF arms; -- `bimanual_stand/meshes/`: the 17 meshes referenced by that whole-robot model; -- `model_parameters.yaml`: shared model and simulation-control metadata. - -The 36 robot-model files and `model_parameters.yaml` are Copyright 2026 -OneRobotics and are distributed under CC BY 4.0 as declared in the -repository's `ASSET_LICENSE_STATUS.md`. Neither CAD revision includes a -gripper. - -## Isaac Lab review set - -`SHA256SUMS` freezes the exact right-arm, bimanual-stand, and shared parameter -files consumed by the current Isaac Lab contribution. Verify the review set -from this directory with: - -```bash -sha256sum --check SHA256SUMS -``` - -The checksum file identifies review-stage source bytes. It does not imply -NVIDIA legal approval or prescribe the final asset-hosting mechanism. - -## Bimanual stand provenance - -The delivered bimanual source was repaired by the hardware team for coordinate -frame consistency without changing world-space geometry or inertial behavior. -The hashes below make the reviewed lineage explicit: - -- raw baseline before coordinate-frame repair: - `29ee4a14696c3827a0ed2611b1d32fb27d5204a89cae07eee3e30a02085b4ecb`; -- hardware-team source after that repair: - `3ae0bc193bdaa3aed205655e03fd20584a594d5e76e7f9cf6511ab82b761486f`; -- publication candidate in this directory: - `4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d`. - -The publication candidate changes only non-physical text: mesh URIs use the -portable `./meshes/` directory, the MuJoCo compiler uses `meshdir="meshes"`, -and the generated header omits the exporter's contact address. No mass, center -of mass, inertia, joint transform, axis, or joint limit was changed. The -published text also uses repository-normalized line endings, so its byte hash -intentionally differs from the delivered source. - -## Hardware overlay - -The URDFs contain the model geometry, link inertias, joint transforms, and -position limits. The bimanual source retains the delivered raw -`effort="0"`/`velocity="0"` placeholders on all 14 revolute joints. These zero -values are not actuator ratings: the actuator and control values confirmed by -OneRobotics are recorded in `model_parameters.yaml` and must overlay each 7-DoF -arm at integration time rather than rewriting the source URDF. - -The 4340 actuator is used for joints 1--3 with a 48.19 reduction ratio. The -4310 actuator is used for joints 4--7 with a 10:1 reduction ratio. Both use a -motor-side rotor inertia of `2.193e-5 kg m^2`; the joint-side armature is the -rotor inertia multiplied by the square of the reduction ratio. - -The confirmed joint-output rated/peak torques are `15.0/26.859 N m` for -joints 1--3 and `3.0/5.975 N m` for joints 4--7. The simulation uses the peak -values as its static solver saturation limits and retains the rated values as -actuator metadata. A peak-duration transition and thermal derating are not -modeled; they are not required to apply the supplied peak value as a simple -hard torque bound. - -## Known source limitation - -The two independent-arm URDFs explicitly identify the Link7 mass (`0.20 kg`) -and inertia as a temporary v1 flange placeholder. The values are retained -exactly as supplied; they are not presented as measured bare-flange parameters. -This limitation belongs to that CAD revision and is not applied to the distinct -bimanual stand revision. diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license deleted file mode 100644 index 487bc6f93f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/README.md.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2026 OneRobotics -SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS deleted file mode 100644 index 56bac2aeeb..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/SHA256SUMS +++ /dev/null @@ -1,28 +0,0 @@ -dcdc3d00f2682004d053b51cdb058b02d5c1a4954ecba66e2e2b4c7983b30911 a1_r.urdf -4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d bimanual_stand/a1_bimanual_stand.urdf -7500d6bdfbbf3f7614ee750131d30527adf6b15d6fca8ccc0da297af0e9411fa bimanual_stand/meshes/Link_l0.STL -e46d1540441ece5c1b98de4dd91778f4a19278f736e3b0a83698cca1616861b6 bimanual_stand/meshes/Link_l1.STL -6e98b5242edcd3b403b28569de4d29f1ee42d9903cfffc0f7f47459c34117d95 bimanual_stand/meshes/Link_l2.STL -5a2470eb295db4d157b9d1473b93a018353146e0690d343a7cfc5c839b47bf58 bimanual_stand/meshes/Link_l3.STL -25632bdaead8a7c240f89e59708d29e3759b8a59ca40a8e51d6396502e0850d6 bimanual_stand/meshes/Link_l4.STL -3118c3ffa2c32efc1da7e86391063f692ba67beaa9a1b92802eb878023dce099 bimanual_stand/meshes/Link_l5.STL -2db7a7493390fb7ea64af9745d879cb9251d73038c440304cdbe4a75b9f6a942 bimanual_stand/meshes/Link_l6.STL -55daadcea869470cf395d8da89f696f9a45062f084125112aac161e25b78d9e6 bimanual_stand/meshes/Link_l7.STL -d0b89cb9a695e3221ba75383e6f296108157743ed898c45e753b4e2810c5df5f bimanual_stand/meshes/Link_r0.STL -ff7aaf297c2e1a29397962eda08b076a7cb6c2a345f97a3b7e1560efc5cfe718 bimanual_stand/meshes/Link_r1.STL -fbf5d3d142ed7500cb46d0d405a304dab584b17afa2d5e819337912f28abd394 bimanual_stand/meshes/Link_r2.STL -596eb5c561896a8d977b8ebbed0faf036e3ed102650e12f47c0b534e873784ab bimanual_stand/meshes/Link_r3.STL -f22bfef640bb741e8dd96075bd508206bf8f71888dcde25d8474aa3eb98811f7 bimanual_stand/meshes/Link_r4.STL -ffb18138033907e33c9d5abbbeb0405d63c16b5b9e7c45ca9d6244986e57885e bimanual_stand/meshes/Link_r5.STL -7bec003f813fe7e8685ba68940078d21e56badebfe304f0b0524c13fe406e255 bimanual_stand/meshes/Link_r6.STL -95e5017e0c308196c0a981a08c26e5d1f8b298affeae675a0bf3316916779f61 bimanual_stand/meshes/Link_r7.STL -9ccfdff7ec77b26d294fa597fa20116b3d6745fbdb2faa22f0886f8f60dfa331 bimanual_stand/meshes/base_link.STL -d54268edba96a905bb4e0d39614233d822eb447ff5f2eedb2047d4308c1ecfa6 meshes/a1_r/Link1.STL -742ed9c8a22f857e9adf97fde3fb91ccfed97f99e6406b9777618c3f79d11441 meshes/a1_r/Link2.STL -a184d61f04bf25fcdf3b6982978562cfd74c61a25f3746b5863fd0961f613e71 meshes/a1_r/Link3.STL -7a7eabd15b78fa2168759dc3aa261dab1f898433f5bca08f74170681d1238daf meshes/a1_r/Link4.STL -75fbe9a5eb0b30f12dc7c77a392d8c567f44625c0fd2a0d96e23890b103ceeb6 meshes/a1_r/Link5.STL -265449ea87514fd30e9a9810cc25bea20bdb426e78c2485508577f9d0d0d73d2 meshes/a1_r/Link6.STL -2579284183b7fb457134c9271198575d89c42fa33c8cdbdc9a0a3d9edad2d3ac meshes/a1_r/Link7.STL -27b1d1796af11757a3aec995b77f933cd25329e05f3ab5a8845d61813dd6e551 meshes/a1_r/base_link.STL -a5ebe32547b31cfbc0971e1b9a2a2157b0eeb48e220230b456d1a5d2d9e46fe6 model_parameters.yaml diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf deleted file mode 100644 index 83b4d1dd4a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_l.urdf +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf deleted file mode 100644 index d676d16168..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/a1_r.urdf +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf deleted file mode 100644 index 98e8e80b77..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/a1_bimanual_stand.urdf +++ /dev/null @@ -1,968 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL deleted file mode 100644 index 90ecb47ed5..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l0.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7500d6bdfbbf3f7614ee750131d30527adf6b15d6fca8ccc0da297af0e9411fa -size 171384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL deleted file mode 100644 index f9291c708c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e46d1540441ece5c1b98de4dd91778f4a19278f736e3b0a83698cca1616861b6 -size 1040484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL deleted file mode 100644 index 83460d182a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6e98b5242edcd3b403b28569de4d29f1ee42d9903cfffc0f7f47459c34117d95 -size 1111384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL deleted file mode 100644 index 174547287c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5a2470eb295db4d157b9d1473b93a018353146e0690d343a7cfc5c839b47bf58 -size 1331784 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL deleted file mode 100644 index 13c5bd8638..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25632bdaead8a7c240f89e59708d29e3759b8a59ca40a8e51d6396502e0850d6 -size 1234184 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL deleted file mode 100644 index f7401d84ce..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3118c3ffa2c32efc1da7e86391063f692ba67beaa9a1b92802eb878023dce099 -size 1499284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL deleted file mode 100644 index 15f06cfb8e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2db7a7493390fb7ea64af9745d879cb9251d73038c440304cdbe4a75b9f6a942 -size 846984 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL deleted file mode 100644 index 3944ea26e8..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_l7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:55daadcea869470cf395d8da89f696f9a45062f084125112aac161e25b78d9e6 -size 75284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL deleted file mode 100644 index 6f531b970e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r0.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0b89cb9a695e3221ba75383e6f296108157743ed898c45e753b4e2810c5df5f -size 182484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL deleted file mode 100644 index 050db7f081..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff7aaf297c2e1a29397962eda08b076a7cb6c2a345f97a3b7e1560efc5cfe718 -size 1043084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL deleted file mode 100644 index aa809ad486..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fbf5d3d142ed7500cb46d0d405a304dab584b17afa2d5e819337912f28abd394 -size 1123484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL deleted file mode 100644 index 78295daabe..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:596eb5c561896a8d977b8ebbed0faf036e3ed102650e12f47c0b534e873784ab -size 1331784 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL deleted file mode 100644 index e3041f9f3f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f22bfef640bb741e8dd96075bd508206bf8f71888dcde25d8474aa3eb98811f7 -size 1234184 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL deleted file mode 100644 index 47099ada5a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ffb18138033907e33c9d5abbbeb0405d63c16b5b9e7c45ca9d6244986e57885e -size 1499284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL deleted file mode 100644 index 5ab9cad26a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7bec003f813fe7e8685ba68940078d21e56badebfe304f0b0524c13fe406e255 -size 846984 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL deleted file mode 100644 index d6e7d5eb60..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/Link_r7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:95e5017e0c308196c0a981a08c26e5d1f8b298affeae675a0bf3316916779f61 -size 75284 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL deleted file mode 100644 index d15f9befa6..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/bimanual_stand/meshes/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9ccfdff7ec77b26d294fa597fa20116b3d6745fbdb2faa22f0886f8f60dfa331 -size 947584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL deleted file mode 100644 index 0e8f6d6d45..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5fd135103ba618588bbb3d1e3b248d74cc786c2cf6c9b209898cade92816093a -size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL deleted file mode 100644 index 9ac9326925..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:86d3d59094be3996e3e23f3aa3747a05306f126b3eaa722037cc625c81010294 -size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL deleted file mode 100644 index f1708406ed..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a28d4d1a6c9f27438100d48cf7042dd1c42c4c5b730c04137854b9042b61adc2 -size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL deleted file mode 100644 index 2c6c9409d9..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fd5f650d74d281aef6efbaf3b39d528166fc8524e0480ffe6dc50b1b4e513ecc -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL deleted file mode 100644 index 4c4ad29a6e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24b4e8f2b9d88c0e1df6bd5d119a868b82e7d77e1b733c70b23f3a9bafcca1ab -size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL deleted file mode 100644 index 895614a06c..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a142b068815a68b2865f24060d2f2312e426463833482fd8776de65a9ce423aa -size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL deleted file mode 100644 index 0a1c98df6e..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/Link7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d1776e22b0aaedb9e3b73717e01a75b1f0469bac655b848b31622f5a6564e2db -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL deleted file mode 100644 index 499cf8d38d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_l/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d5448a9fdce31554bd7d714fbc70ca23d32bcf792fdd4ed0c967a91f4e95402 -size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL deleted file mode 100644 index 47a592660f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link1.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d54268edba96a905bb4e0d39614233d822eb447ff5f2eedb2047d4308c1ecfa6 -size 1139484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL deleted file mode 100644 index 3738bf446d..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link2.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:742ed9c8a22f857e9adf97fde3fb91ccfed97f99e6406b9777618c3f79d11441 -size 1036384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL deleted file mode 100644 index b6e46fe03a..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link3.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a184d61f04bf25fcdf3b6982978562cfd74c61a25f3746b5863fd0961f613e71 -size 1433084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL deleted file mode 100644 index 2fde0d9eac..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link4.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7a7eabd15b78fa2168759dc3aa261dab1f898433f5bca08f74170681d1238daf -size 1081084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL deleted file mode 100644 index 56af72f8c4..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link5.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:75fbe9a5eb0b30f12dc7c77a392d8c567f44625c0fd2a0d96e23890b103ceeb6 -size 1553084 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL deleted file mode 100644 index 474822adad..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link6.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:265449ea87514fd30e9a9810cc25bea20bdb426e78c2485508577f9d0d0d73d2 -size 762584 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL deleted file mode 100644 index 00d093b9fa..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/Link7.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2579284183b7fb457134c9271198575d89c42fa33c8cdbdc9a0a3d9edad2d3ac -size 75384 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL deleted file mode 100644 index f070eb6ae5..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/meshes/a1_r/base_link.STL +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:27b1d1796af11757a3aec995b77f933cd25329e05f3ab5a8845d61813dd6e551 -size 101484 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml deleted file mode 100644 index d19bf19c02..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml +++ /dev/null @@ -1,78 +0,0 @@ -## SPDX-FileCopyrightText: 2026 OneRobotics -## SPDX-License-Identifier: CC-BY-4.0 - -schema_version: 2 -manufacturer: OneRobotics -robot: OneRobotics A1 -configuration: independent fixed-base 7-DoF arms and fixed-stand bimanual 14-DoF robot -asset_license: CC-BY-4.0 - -model_revisions: - independent_arms: - configuration: two independent fixed-base 7-DoF arms - urdf_files: [a1_r.urdf, a1_l.urdf] - mesh_count: 16 - source_bundle_sha256: 9dfa9f0e1b7fa8d05b12b47dd67ab0484bc376b4db60ce541ee832455a0be8c9 - gripper_included: false - bimanual_stand: - configuration: fixed-stand bimanual 14-DoF robot - urdf_file: bimanual_stand/a1_bimanual_stand.urdf - mesh_count: 17 - raw_baseline_sha256: 29ee4a14696c3827a0ed2611b1d32fb27d5204a89cae07eee3e30a02085b4ecb - hardware_source_sha256: 3ae0bc193bdaa3aed205655e03fd20584a594d5e76e7f9cf6511ab82b761486f - publication_candidate_sha256: 4719154dd2395498a646f60a468ccdd3c72e9f9754478c4df74eb495e605ef9d - cad_revision_relation: distinct_from_independent_arms - revolute_joint_count: 14 - raw_effort_limit_nm: 0.0 - raw_velocity_limit_rad_s: 0.0 - control_limits_source: confirmed_hardware_overlay_below - gripper_included: false - -timing: - physics_frequency_hz: 200 - policy_frequency_hz: 50 - decimation: 4 - -motors: - "4340": - applies_to_each_arm_joint_indices: [1, 2, 3] - joint_indices: [1, 2, 3] - reduction_ratio: 48.19 - rotor_inertia_kg_m2: 2.193e-5 - reflected_inertia_kg_m2: 0.050927514873 - rated_output_torque_nm: 15.0 - peak_output_torque_nm: 26.859 - rated_output_speed_rpm: 25.0 - rated_output_speed_rad_s: 2.6179938779914944 - "4310": - applies_to_each_arm_joint_indices: [4, 5, 6, 7] - joint_indices: [4, 5, 6, 7] - reduction_ratio: 10.0 - rotor_inertia_kg_m2: 2.193e-5 - reflected_inertia_kg_m2: 0.002193 - rated_output_torque_nm: 3.0 - peak_output_torque_nm: 5.975 - rated_output_speed_rpm: 120.0 - rated_output_speed_rad_s: 12.566370614359172 - -joint_pd: - joint1: {kp: 150.0, kd: 4.0} - joint2: {kp: 150.0, kd: 4.0} - joint3: {kp: 150.0, kd: 4.0} - joint4: {kp: 150.0, kd: 4.0} - joint5: {kp: 40.0, kd: 1.0} - joint6: {kp: 40.0, kd: 1.0} - joint7: {kp: 40.0, kd: 1.0} - -modeling_scope: - hardware_overlay_applies_per_7dof_arm: true - bimanual_raw_zero_effort_velocity_overridden: true - torque_limit: peak_output_torque - peak_torque_modeled: true - peak_torque_duration_limit_modeled: false - thermal_derating_modeled: false - velocity_limit: rated_output_speed - gripper_included: false - -known_limitations: - link7_mass_inertia: source_urdf_v1_placeholder diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license b/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license deleted file mode 100644 index 487bc6f93f..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_2026/model_parameters.yaml.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: 2026 OneRobotics -SPDX-License-Identifier: CC-BY-4.0 diff --git a/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf b/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf deleted file mode 100644 index e12fcad411..0000000000 --- a/examples/teleop/assets/onerobotics_a1/urdf/A1_dual/A1_dual.urdf +++ /dev/null @@ -1,979 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/teleop/python/onerobotics_a1_example.py b/examples/teleop/python/onerobotics_a1_example.py index b60b8abe03..fba1c1bad5 100644 --- a/examples/teleop/python/onerobotics_a1_example.py +++ b/examples/teleop/python/onerobotics_a1_example.py @@ -1,160 +1,107 @@ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""OneRobotics A1 Isaac Teleop example. +"""OneRobotics A1 right-arm end-effector target example. -The ``demo`` mode drives the packaged right-arm MJCF with a bounded sinusoid and -opens a MuJoCo viewer. The ``live`` mode consumes a JointState tracker through -the Isaac Teleop pipeline: +The A1 is the robot being teleoperated, not an operator-side input device. This +example maps the right XR controller pose to a 7-D ``right_ee_pose`` target: - JointStateSource -> JointStateRetargeter -> OutputCombiner("action") + ControllersSource -> Se3AbsRetargeter -> OutputCombiner("right_ee_pose") -The live mode expects a device/plugin publishing the collection -``onerobotics_a1_right`` with the seven joint names declared below. It does not -claim that the included asset is a hardware driver. +An Isaac Lab A1_2026 environment or another robot controller can consume that +target and solve it for the right arm. Robot assets, inverse kinematics, and the +robot controller intentionally remain with that consumer. -Examples:: +Example:: - python onerobotics_a1_example.py --mode demo - python onerobotics_a1_example.py --mode live --frames 100 + python onerobotics_a1_example.py --duration 30 """ from __future__ import annotations import argparse import sys -import time -from pathlib import Path -import numpy as np +from _example_loop import add_duration_argument, run_example_loop from isaaccapture.cloudxr import CloudXRLauncher from isaaccapture.retargeters import ( - JointStateRetargeter, - JointStateRetargeterConfig, + Se3AbsRetargeter, + Se3RetargeterConfig, ) -from isaaccapture.retargeting_engine.deviceio_source_nodes import JointStateSource +from isaaccapture.retargeting_engine.deviceio_source_nodes import ControllersSource from isaaccapture.retargeting_engine.interface import OutputCombiner - - -A1_RIGHT_JOINTS = [ - "joint1-a1_r", - "joint2-a1_r", - "joint3-a1_r", - "joint4-a1_r", - "joint5-a1_r", - "joint6-a1_r", - "joint7-a1_r", -] -COLLECTION_ID = "onerobotics_a1_right" -ASSET_DIR = Path(__file__).resolve().parents[1] / "assets" / "onerobotics_a1" -MJCF_PATH = ASSET_DIR / "mjcf" / "A1" / "a1_right_position.xml" - - -def build_pipeline(source: JointStateSource): - """Build the standard joint-space Isaac Teleop action graph for A1.""" - retargeter = JointStateRetargeter( - name="onerobotics_a1_right", - mode="joint", - config=JointStateRetargeterConfig( - device_joints=A1_RIGHT_JOINTS, - target_joints=A1_RIGHT_JOINTS, +from isaaccapture.retargeting_engine.tensor_types import ControllerInputIndex +from isaaccapture.teleop_session_manager import TeleopSession, TeleopSessionConfig + + +def build_pipeline() -> OutputCombiner: + """Map the right XR controller to an A1 right-arm end-effector target.""" + controllers = ControllersSource(name="controllers") + retargeter = Se3AbsRetargeter( + Se3RetargeterConfig( + input_device=ControllersSource.RIGHT, + use_wrist_position=True, + use_wrist_rotation=True, + zero_out_xy_rotation=False, ), + name="a1_right_ee_target", ) mapped = retargeter.connect( - {JointStateRetargeter.JOINTS: source.output(JointStateSource.JOINTS)} + { + ControllersSource.RIGHT: controllers.output(ControllersSource.RIGHT), + } ) return OutputCombiner( { - "action": mapped.output("joint_targets"), - "sample": source.output(JointStateSource.JOINTS), + "right_ee_pose": mapped.output("ee_pose"), + "right_controller": controllers.output(ControllersSource.RIGHT), } ) -def run_demo(duration: float) -> None: - """Exercise the packaged model without an OpenXR runtime or hardware.""" - import mujoco - import mujoco.viewer - - if not MJCF_PATH.is_file(): - raise SystemExit(f"A1 MJCF not found: {MJCF_PATH}") - model = mujoco.MjModel.from_xml_path(str(MJCF_PATH)) - data = mujoco.MjData(model) - ranges = np.array(model.jnt_range[: len(A1_RIGHT_JOINTS)], dtype=float) - home = np.mean(ranges, axis=1) - amplitude = 0.20 * (ranges[:, 1] - ranges[:, 0]) - started = time.monotonic() - print(f"A1 demo: {MJCF_PATH}") - with mujoco.viewer.launch_passive(model, data) as viewer: - while viewer.is_running() and ( - duration <= 0 or time.monotonic() - started < duration - ): - phase = time.monotonic() - started - data.qpos[: len(A1_RIGHT_JOINTS)] = home + amplitude * np.sin(phase) - mujoco.mj_forward(model, data) - viewer.sync() - time.sleep(1 / 60) - - -def run_live(frames: int, timeout: float, args: argparse.Namespace) -> None: - """Consume A1 joint states through TeleopSession and print mapped actions.""" - from isaaccapture.teleop_session_manager import TeleopSession, TeleopSessionConfig - - source = JointStateSource( - name="onerobotics_a1_right", - collection_id=args.collection_id, - joint_names=A1_RIGHT_JOINTS, - ) - pipeline = build_pipeline(source) +def run(duration: float) -> None: + """Print valid right-arm pose targets for an external A1 controller.""" config = TeleopSessionConfig( - app_name="OneRoboticsA1JointSpaceExample", + app_name="OneRoboticsA1RightArmTargetExample", trackers=[], - pipeline=pipeline, + pipeline=build_pipeline(), plugins=[], ) - deadline = time.monotonic() + timeout - received = 0 - with CloudXRLauncher.launch_context(args), TeleopSession(config) as session: - while received < frames and time.monotonic() < deadline: + valid_samples = 0 + with TeleopSession(config) as session: + + def step() -> None: + nonlocal valid_samples result = session.step() - action = result.get("action") - sample = result.get("sample") - if sample is not None and not sample.is_none and action is not None: - values = np.asarray( - [action[i] for i in range(len(A1_RIGHT_JOINTS))], dtype=float - ) - print( - f"frame {received:04d} | " - + " ".join( - f"{name}={value:+.4f}" - for name, value in zip(A1_RIGHT_JOINTS, values) - ) - ) - received += 1 - time.sleep(0.016) - if received < frames: - raise SystemExit( - f"received {received}/{frames} A1 actions before timeout; " - f"check collection_id={args.collection_id!r} and the joint-state producer" - ) + controller = result["right_controller"] + if controller.is_none or not bool( + controller[ControllerInputIndex.GRIP_IS_VALID] + ): + return + + valid_samples += 1 + if valid_samples % 30 != 1: + return + pose = result["right_ee_pose"][0] + print( + f"sample {valid_samples:04d} | " + f"position=({pose[0]:+.3f}, {pose[1]:+.3f}, {pose[2]:+.3f}) | " + f"quaternion_xyzw=({pose[3]:+.3f}, {pose[4]:+.3f}, " + f"{pose[5]:+.3f}, {pose[6]:+.3f})" + ) + + run_example_loop(step, duration) def main() -> int: parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--mode", choices=("demo", "live"), default="demo") - parser.add_argument("--duration", type=float, default=0.0) - parser.add_argument("--frames", type=int, default=20) - parser.add_argument("--timeout", type=float, default=20.0) - parser.add_argument("--collection-id", default=COLLECTION_ID) + add_duration_argument(parser) CloudXRLauncher.add_launcher_arguments(parser) args = parser.parse_args() - if args.duration < 0 or args.timeout <= 0 or args.frames <= 0: - parser.error("duration must be >= 0; timeout and frames must be positive") - if args.mode == "demo": - run_demo(args.duration) - else: - run_live(args.frames, args.timeout, args) + + with CloudXRLauncher.launch_context(args): + run(args.duration) return 0 diff --git a/examples/teleop/python/pyproject.toml b/examples/teleop/python/pyproject.toml index 19fd922e76..832ec1e1f3 100644 --- a/examples/teleop/python/pyproject.toml +++ b/examples/teleop/python/pyproject.toml @@ -9,5 +9,4 @@ requires-python = ">=3.11,<3.14" dependencies = [ "isaaccapture[retargeters]", "glfw>=2.7", # keyboard_printer_example: the window and its platform constants - "mujoco>=3.0", # onerobotics_a1_example: packaged A1 demo viewer ]