<?xml version="1.0" encoding="utf-8"?>
<mujoco model="arm26">
<!-- =================================================
Copyright 2020 Vikash Kumar, Vittorio Caggiano, Huawei Wang
Model :: Myo Hand (MuJoCoV2.0)
Author :: Vikash Kumar (vikashplus@gmail.com), Vittorio Caggiano, Huawei Wang
source :: https://github.com/vikashplus
License :: Under Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
====================================================== -->
<compiler inertiafromgeom="auto" angle="radian" balanceinertia="true" boundmass="0.001" boundinertia="0.001" meshdir=".." texturedir="..">
<lengthrange inttotal="500"></lengthrange>
</compiler>
<default>
<joint limited="true" damping="0.5" armature="0.01" stiffness="0"></joint>
<geom contype="1" conaffinity="0" condim="3" rgba="0.8 0.85 0.8 1" margin="0.001" solref=".02 1" solimp=".8 .8 .01" material="geom"></geom>
<site size="0.001"></site>
<tendon width="0.005" rgba=".95 .3 .3 1" limited="false"></tendon>
<default class="muscle">
<muscle ctrllimited="true" ctrlrange="0.001 1" scale="1" vmax="15" fvmax="1.4" timeconst="0.01 0.04"></muscle>
</default>
</default>
<option timestep="0.002">
<flag energy="enable"></flag>
</option>
<size njmax="1000" nconmax="400" nuser_jnt="1"></size>
<visual>
<map fogstart="3" fogend="5" force="0.1"></map>
<quality shadowsize="1024"></quality>
<scale actuatorwidth=".075"/>
</visual>
<worldbody>
<geom name="floor" pos="0 0 0" size="10 10 0.125" type="plane" material="MatPlane" condim="3"></geom>
<body name="base" pos="0 4.89859e-17 0.8" quat="0.7071067811865475 0.7071067811865475 0.0 0.0">
<light mode="trackcom" directional="false" diffuse=".8 .8 .8" specular="0.3 0.3 0.3" pos="1 1 4.0" dir="-1 -1 -4"></light>
<light mode="trackcom" directional="false" diffuse=".8 .8 .8" specular="0.3 0.3 0.3" pos="1 -1 4.0" dir="-1 1 -4"></light>
<geom name="ground_ribs" type="mesh" mesh="ground_ribs"></geom>
<geom name="ground_spine" type="mesh" mesh="ground_spine"></geom>
<geom name="ground_skull" type="mesh" mesh="ground_skull"></geom>
<geom name="ground_jaw" type="mesh" mesh="ground_jaw"></geom>
<geom name="ground_r_clavicle" type="mesh" mesh="ground_r_clavicle"></geom>
<geom name="ground_r_scapula" type="mesh" mesh="ground_r_scapula"></geom>
<geom name="TRIlongglen_wrap" type="cylinder" size="0.003 0.015" pos="-0.043905 -0.0039 0.1478" euler="1.37532 -0.294612 2.43596" rgba=".5 .5 .9 .4" group="2"></geom>
<site name="TRIlong-P1" pos="-0.0536 -0.0137 0.1472"></site>
<site name="BIClong-P1" pos="-0.0392 0.0035 0.148"></site>
<site name="BIClong-P2" pos="-0.0289 0.0139 0.1564"></site>
<site name="BICshort-P1" pos="0.0047 -0.0123 0.1348"></site>
<site name="BICshort-P2" pos="-0.0071 -0.04 0.1451"></site>
<body name="r_humerus" pos="-0.017545 -0.007 0.17" quat="1.0 0.0 0.0 0.0">
<!-- <geom name="exoUpperarm"type="box" pos="-0.03 -.2 -0.012" size=".005 .02 .08" rgba=".6 .6 .6 1" euler="1.6 0.03 0" mass=".211"/> -->
<geom name="arm_r_humerus" type="mesh" mesh="arm_r_humerus"></geom>
<geom name="TRIlonghh_wrap" type="sphere" size="0.03" pos="0.0068 0.00 0.0034" euler="3.00162 -0.853466 2.57419" rgba=".5 .5 .9 .4" group="2"></geom>
<geom name="BIClonghh_wrap" type="sphere" size="0.025" pos="-0.001 -0.0008 0.0012" euler="0 0 0" rgba=".5 .5 .9 .4" group="2"></geom>
<geom name="TRI_wrap" type="cylinder" size="0.016 0.025" pos="0.0028 -0.2919 -0.0069" euler="-0.14015 -0.00628319 0.154985" rgba=".5 .5 .9 .4" group="2"></geom>
<inertial pos="0 -0.180496 0" mass="1.864572" fullinertia="0.01481 0.004551 0.013193 0 0 0"></inertial>
<site name="TRIlong-P2" pos="-0.0271 -0.1144 -0.0066"></site>
<site name="TRIlong-P3" pos="-0.0318 -0.2264 -0.0122"></site>
<site name="TRIlong-P4" pos="-0.0174 -0.2676 -0.0121"></site>
<site name="TRIlat-P1" pos="-0.006 -0.1265 0.0043"></site>
<site name="TRIlat-P2" pos="-0.0234 -0.1453 0.0093"></site>
<site name="TRIlat-P3" pos="-0.0318 -0.2264 -0.0122"></site>
<site name="TRIlat-P4" pos="-0.0174 -0.2676 -0.0121"></site>
<site name="TRImed-P1" pos="-0.0084 -0.1369 -0.0091"></site>
<site name="TRImed-P2" pos="-0.026 -0.1514 -0.0108"></site>
<site name="TRImed-P3" pos="-0.0318 -0.2264 -0.0122"></site>
<site name="TRImed-P4" pos="-0.0174 -0.2676 -0.0121"></site>
<site name="BIClong-P3" pos="0.0213 0.0179 0.0103"></site>
<site name="BIClong-P4" pos="0.0238 -0.0051 0.012"></site>
<site name="BIClong-P5" pos="0.0134 -0.0283 0.0014"></site>
<site name="BIClong-P6" pos="0.0107 -0.0774 -0.0016"></site>
<site name="BIClong-P7" pos="0.017 -0.1212 0.0002"></site>
<site name="BIClong-P8" pos="0.0228 -0.1754 -0.0063"></site>
<site name="BICshort-P3" pos="0.0112 -0.0758 -0.011"></site>
<site name="BICshort-P4" pos="0.017 -0.1212 -0.0108"></site>
<site name="BICshort-P5" pos="0.0228 -0.1754 -0.0063"></site>
<site name="BRA-P1" pos="0.0068 -0.1739 -0.0036"></site>
<site name="BIClonghh_site_BIClong_side" pos="0.00 0.03 -0.02"></site>
<site name="TRIlonghh_site_TRIlong_side" pos="-0.02 0.00 -0.035"></site>
<site name="TRI_site_TRIlong_side" pos="-0.0256308 -0.273692 0.0165713"></site>
<site name="TRI_site_TRIlat_side" pos="-0.0256308 -0.273692 0.0165713"></site>
<site name="TRI_site_TRImed_side" pos="-0.0289353 -0.297467 -0.0136312"></site>
<site name="TRI_site_BRA_side" pos="0.0188814 -0.25991 0.0179386"></site>
<!--joint name="r_shoulder_elev" type="hinge" pos="0 0 0" axis="-0.058898 0.0023 0.998261" limited="true" range="-1.5708 3.14159" ref="0"></joint-->
<body name="r_ulna_radius_hand" pos="0.0061 -0.2904 -0.0123" quat="1.0 0.0 0.0 0.0">
<!-- <geom name="exoForearm"type="box" pos="-0.03 -.05 0.02" size=".005 .02 .06" rgba=".6 .6 .6 1" euler="1.3 0 0" mass=".8"/> -->
<!-- <geom type="cylinder" pos="0 0 0.05" size=".02 .01" rgba=".32 .32 .32 1" euler="0 0 0" mass=".001"/> -->
<geom name="arm_r_ulna" type="mesh" mesh="arm_r_ulna"></geom>
<geom name="arm_r_radius" type="mesh" mesh="arm_r_radius"></geom>
<geom name="arm_r_lunate" type="mesh" mesh="arm_r_lunate"></geom>
<geom name="arm_r_scaphoid" type="mesh" mesh="arm_r_scaphoid"></geom>
<geom name="arm_r_pisiform" type="mesh" mesh="arm_r_pisiform"></geom>
<geom name="arm_r_triquetrum" type="mesh" mesh="arm_r_triquetrum"></geom>
<geom name="arm_r_capitate" type="mesh" mesh="arm_r_capitate"></geom>
<geom name="arm_r_trapezium" type="mesh" mesh="arm_r_trapezium"></geom>
<geom name="arm_r_trapezoid" type="mesh" mesh="arm_r_trapezoid"></geom>
<geom name="arm_r_hamate" type="mesh" mesh="arm_r_hamate"></geom>
<geom name="arm_r_1mc" type="mesh" mesh="arm_r_1mc"></geom>
<geom name="arm_r_2mc" type="mesh" mesh="arm_r_2mc"></geom>
<geom name="arm_r_3mc" type="mesh" mesh="arm_r_3mc"></geom>
<geom name="arm_r_4mc" type="mesh" mesh="arm_r_4mc"></geom>
<geom name="arm_r_5mc" type="mesh" mesh="arm_r_5mc"></geom>
<geom name="arm_r_thumbprox" type="mesh" mesh="arm_r_thumbprox"></geom>
<geom name="arm_r_thumbdist" type="mesh" mesh="arm_r_thumbdist"></geom>
<geom name="arm_r_2proxph" type="mesh" mesh="arm_r_2proxph"></geom>
<geom name="arm_r_2midph" type="mesh" mesh="arm_r_2midph"></geom>
<geom name="arm_r_2distph" type="mesh" mesh="arm_r_2distph"></geom>
<geom name="arm_r_3proxph" type="mesh" mesh="arm_r_3proxph"></geom>
<geom name="arm_r_3midph" type="mesh" mesh="arm_r_3midph"></geom>
<geom name="arm_r_3distph" type="mesh" mesh="arm_r_3distph"></geom>
<geom name="arm_r_4proxph" type="mesh" mesh="arm_r_4proxph"></geom>
<geom name="arm_r_4midph" type="mesh" mesh="arm_r_4midph"></geom>
<geom name="arm_r_4distph" type="mesh" mesh="arm_r_4distph"></geom>
<geom name="arm_r_5proxph" type="mesh" mesh="arm_r_5proxph"></geom>
<geom name="arm_r_5midph" type="mesh" mesh="arm_r_5midph"></geom>
<geom name="arm_r_5distph" type="mesh" mesh="arm_r_5distph"></geom>
<inertial pos="0 -0.181479 0" mass="1.534315" fullinertia="0.019281 0.001571 0.020062 0 0 0"></inertial>
<site name="TRIlong-P5" pos="-0.0219 0.0105 -0.0008"></site>
<site name="TRIlat-P5" pos="-0.0219 0.0105 -0.0008"></site>
<site name="TRImed-P5" pos="-0.0219 0.0105 -0.0008"></site>
<site name="BIClong-P9" pos="0.0075 -0.0484 0.0218"></site>
<site name="BICshort-P6" pos="0.0075 -0.0484 0.0218"></site>
<site name="BRA-P2" pos="-0.0032 -0.0239 0.0009"></site>
<site name="wrist" pos="0.007 -.261 0.065" size=".005"></site>
<joint name="r_elbow_flex" type="hinge" pos="0 0 0" axis="0.0494 0.0366 0.998108" limited="true" range="0 2.26893" ref="0"></joint>
</body>
</body>
</body>
<camera name="for_testing" pos="0 0 2" euler="0 0 0"></camera>
</worldbody>
<asset>
<mesh name="ground_ribs" file="../myo_sim/meshes/thorax.stl" scale="1 1 1"></mesh>
<mesh name="ground_spine" file="../myo_sim/meshes/ground_spine.stl" scale="1 1 1"></mesh>
<mesh name="ground_skull" file="../myo_sim/meshes/ground_skull.stl" scale="1 1 1"></mesh>
<mesh name="ground_jaw" file="../myo_sim/meshes/ground_jaw.stl" scale="1 1 1"></mesh>
<mesh name="ground_r_clavicle" file="../myo_sim/meshes/ground_r_clavicle.stl" scale="1 1 1"></mesh>
<mesh name="ground_r_scapula" file="../myo_sim/meshes/ground_r_scapula.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_humerus" file="../myo_sim/meshes/arm_r_humerus.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_ulna" file="../myo_sim/meshes/arm_r_ulna.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_radius" file="../myo_sim/meshes/arm_r_radius.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_lunate" file="../myo_sim/meshes/arm_r_lunate.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_scaphoid" file="../myo_sim/meshes/arm_r_scaphoid.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_pisiform" file="../myo_sim/meshes/arm_r_pisiform.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_triquetrum" file="../myo_sim/meshes/arm_r_triquetrum.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_capitate" file="../myo_sim/meshes/arm_r_capitate.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_trapezium" file="../myo_sim/meshes/arm_r_trapezium.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_trapezoid" file="../myo_sim/meshes/arm_r_trapezoid.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_hamate" file="../myo_sim/meshes/arm_r_hamate.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_1mc" file="../myo_sim/meshes/arm_r_1mc.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_2mc" file="../myo_sim/meshes/arm_r_2mc.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_3mc" file="../myo_sim/meshes/arm_r_3mc.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_4mc" file="../myo_sim/meshes/arm_r_4mc.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_5mc" file="../myo_sim/meshes/arm_r_5mc.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_thumbprox" file="../myo_sim/meshes/arm_r_thumbprox.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_thumbdist" file="../myo_sim/meshes/arm_r_thumbdist.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_2proxph" file="../myo_sim/meshes/arm_r_2proxph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_2midph" file="../myo_sim/meshes/arm_r_2midph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_2distph" file="../myo_sim/meshes/arm_r_2distph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_3proxph" file="../myo_sim/meshes/arm_r_3proxph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_3midph" file="../myo_sim/meshes/arm_r_3midph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_3distph" file="../myo_sim/meshes/arm_r_3distph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_4proxph" file="../myo_sim/meshes/arm_r_4proxph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_4midph" file="../myo_sim/meshes/arm_r_4midph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_4distph" file="../myo_sim/meshes/arm_r_4distph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_5proxph" file="../myo_sim/meshes/arm_r_5proxph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_5midph" file="../myo_sim/meshes/arm_r_5midph.stl" scale="1 1 1"></mesh>
<mesh name="arm_r_5distph" file="../myo_sim/meshes/arm_r_5distph.stl" scale="1 1 1"></mesh>
<texture name="texplane" type="2d" builtin="checker" rgb1=".2 .19 .2" rgb2=".1 0.11 0.11" width="50" height="50"></texture>
<texture name="texgeom" type="cube" builtin="flat" mark="cross" width="127" height="1278" rgb1="0.7 0.7 0.7" rgb2="0.9 0.9 0.9" markrgb="1 1 1" random="0.01"></texture>
<material name="MatPlane" reflectance="0.5" texture="texplane" texrepeat="4 4" texuniform="true"></material>
<material name="geom" texture="texgeom" texuniform="true"></material>
</asset>
<tendon>
<spatial name="TRIlong_tendon" springlength="0.143">
<site site="TRIlong-P1"></site>
<geom geom="TRIlonghh_wrap" sidesite="TRIlonghh_site_TRIlong_side"></geom>
<site site="TRIlong-P2"></site>
<site site="TRIlong-P3"></site>
<site site="TRIlong-P4"></site>
<geom geom="TRI_wrap" sidesite="TRI_site_TRIlong_side"></geom>
<site site="TRIlong-P5"></site>
</spatial>
<spatial name="TRIlat_tendon" springlength="0.098">
<site site="TRIlat-P1"></site>
<site site="TRIlat-P2"></site>
<site site="TRIlat-P3"></site>
<site site="TRIlat-P4"></site>
<geom geom="TRI_wrap" sidesite="TRI_site_TRIlat_side"></geom>
<site site="TRIlat-P5"></site>
</spatial>
<spatial name="TRImed_tendon" springlength="0.0908">
<site site="TRImed-P1"></site>
<site site="TRImed-P2"></site>
<site site="TRImed-P3"></site>
<site site="TRImed-P4"></site>
<geom geom="TRI_wrap" sidesite="TRI_site_TRImed_side"></geom>
<site site="TRImed-P5"></site>
</spatial>
<spatial name="BIClong_tendon" springlength="0.2723">
<site site="BIClong-P1"></site>
<site site="BIClong-P2"></site>
<geom geom="BIClonghh_wrap" sidesite="BIClonghh_site_BIClong_side"></geom>
<site site="BIClong-P3"></site>
<site site="BIClong-P4"></site>
<site site="BIClong-P5"></site>
<site site="BIClong-P6"></site>
<site site="BIClong-P7"></site>
<site site="BIClong-P8"></site>
<site site="BIClong-P9"></site>
</spatial>
<spatial name="BICshort_tendon" springlength="0.1923">
<site site="BICshort-P1"></site>
<site site="BICshort-P2"></site>
<site site="BICshort-P3"></site>
<site site="BICshort-P4"></site>
<site site="BICshort-P5"></site>
<site site="BICshort-P6"></site>
</spatial>
<spatial name="BRA_tendon" springlength="0.0535">
<site site="BRA-P1"></site>
<geom geom="TRI_wrap" sidesite="TRI_site_BRA_side"></geom>
<site site="BRA-P2"></site>
</spatial>
</tendon>
<actuator>
<motor name="Exo" joint="r_elbow_flex" gear="3.6"/>
<muscle name="TRIlong" force = "769.595" range="0.828323 1.58818" lmin="0.420881" lmax="1.90307" fpmax="1.37875" tendon="TRIlong_tendon" lengthrange="0.253995 0.355816" class="muscle"></muscle>
<muscle name="TRIlat" force = "604.403" range="0.602904 1.02895" lmin="0.335897" lmax="2.90142" fpmax="1.79842" tendon="TRIlat_tendon" lengthrange="0.16661 0.215095" class="muscle"></muscle>
<muscle name="TRImed" force = "604.231" range="0.557454 0.983503" lmin="0.337519" lmax="2.16009" fpmax="1.31972" tendon="TRImed_tendon" lengthrange="0.154238 0.202723" class="muscle"></muscle>
<muscle name="BIClong" force = "607.75" range="0.448656 1.53634" lmin="0.429169" lmax="1.98717" fpmax="1.30324" tendon="BIClong_tendon" lengthrange="0.324209 0.450055" class="muscle"></muscle>
<muscle name="BICshort" force = "423.688" range="0.575015 1.63325" lmin="0.397179" lmax="1.96649" fpmax="1.42184" tendon="BICshort_tendon" lengthrange="0.268259 0.408052" class="muscle"></muscle>
<muscle name="BRA" force = "976.169" range="0.611597 1.09358" lmin="0.357419" lmax="2.99986" fpmax="1.97876" tendon="BRA_tendon" lengthrange="0.105975 0.147329" class="muscle"></muscle>
</actuator>
</mujoco>