robotic 0.2.9.dev1__cp311-cp311-manylinux2014_x86_64.whl → 0.2.9.dev2__cp311-cp311-manylinux2014_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of robotic might be problematic. Click here for more details.

Files changed (312) hide show
  1. robotic/__init__.py +4 -0
  2. robotic/_robotic.pyi +5 -5
  3. robotic/_robotic.so +0 -0
  4. robotic/cleanMeshes.py +59 -0
  5. robotic/include/rai/Core/array.ipp +3 -1
  6. robotic/include/rai/Core/util.h +8 -7
  7. robotic/include/rai/Geo/geo.h +2 -1
  8. robotic/include/rai/KOMO/manipTools.h +2 -2
  9. robotic/include/rai/Kin/frame.h +2 -2
  10. robotic/include/rai/Kin/kin.h +3 -3
  11. robotic/include/rai/ry/types.h +3 -2
  12. robotic/librai.so +0 -0
  13. robotic/meshTool +0 -0
  14. robotic/mujoco-import.py +10 -0
  15. robotic/rai-robotModels/g1/g1.g +1 -1
  16. robotic/rai-robotModels/g1/g1_29dof_conv.g +77 -0
  17. robotic/rai-robotModels/g1/g1_clean.g +38 -73
  18. robotic/rai-robotModels/g1/meshes/head_link.h5 +0 -0
  19. robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.h5 +0 -0
  20. robotic/rai-robotModels/g1/meshes/left_ankle_roll_link.h5 +0 -0
  21. robotic/rai-robotModels/g1/meshes/left_elbow_link.h5 +0 -0
  22. robotic/rai-robotModels/g1/meshes/left_hip_pitch_link.h5 +0 -0
  23. robotic/rai-robotModels/g1/meshes/left_hip_roll_link.h5 +0 -0
  24. robotic/rai-robotModels/g1/meshes/left_hip_yaw_link.h5 +0 -0
  25. robotic/rai-robotModels/g1/meshes/left_knee_link.h5 +0 -0
  26. robotic/rai-robotModels/g1/meshes/left_rubber_hand.h5 +0 -0
  27. robotic/rai-robotModels/g1/meshes/left_shoulder_pitch_link.h5 +0 -0
  28. robotic/rai-robotModels/g1/meshes/left_shoulder_roll_link.h5 +0 -0
  29. robotic/rai-robotModels/g1/meshes/left_shoulder_yaw_link.h5 +0 -0
  30. robotic/rai-robotModels/g1/meshes/left_wrist_pitch_link.h5 +0 -0
  31. robotic/rai-robotModels/g1/meshes/left_wrist_roll_link.h5 +0 -0
  32. robotic/rai-robotModels/g1/meshes/left_wrist_yaw_link.h5 +0 -0
  33. robotic/rai-robotModels/g1/meshes/logo_link.h5 +0 -0
  34. robotic/rai-robotModels/g1/meshes/pelvis.h5 +0 -0
  35. robotic/rai-robotModels/g1/meshes/pelvis_contour_link.h5 +0 -0
  36. robotic/rai-robotModels/g1/meshes/right_ankle_pitch_link.h5 +0 -0
  37. robotic/rai-robotModels/g1/meshes/right_ankle_roll_link.h5 +0 -0
  38. robotic/rai-robotModels/g1/meshes/right_elbow_link.h5 +0 -0
  39. robotic/rai-robotModels/g1/meshes/right_hip_pitch_link.h5 +0 -0
  40. robotic/rai-robotModels/g1/meshes/right_hip_roll_link.h5 +0 -0
  41. robotic/rai-robotModels/g1/meshes/right_hip_yaw_link.h5 +0 -0
  42. robotic/rai-robotModels/g1/meshes/right_knee_link.h5 +0 -0
  43. robotic/rai-robotModels/g1/meshes/right_rubber_hand.h5 +0 -0
  44. robotic/rai-robotModels/g1/meshes/right_shoulder_pitch_link.h5 +0 -0
  45. robotic/rai-robotModels/g1/meshes/right_shoulder_roll_link.h5 +0 -0
  46. robotic/rai-robotModels/g1/meshes/right_shoulder_yaw_link.h5 +0 -0
  47. robotic/rai-robotModels/g1/meshes/right_wrist_pitch_link.h5 +0 -0
  48. robotic/rai-robotModels/g1/meshes/right_wrist_roll_link.h5 +0 -0
  49. robotic/rai-robotModels/g1/meshes/right_wrist_yaw_link.h5 +0 -0
  50. robotic/rai-robotModels/g1/meshes/torso_link.h5 +0 -0
  51. robotic/rai-robotModels/g1/meshes/waist_roll_link.h5 +0 -0
  52. robotic/rai-robotModels/g1/meshes/waist_support_link.h5 +0 -0
  53. robotic/rai-robotModels/g1/meshes/waist_yaw_link.h5 +0 -0
  54. robotic/rai-robotModels/panda/meshes/finger.h5 +0 -0
  55. robotic/rai-robotModels/panda/meshes/hand.h5 +0 -0
  56. robotic/rai-robotModels/panda/meshes/link0.h5 +0 -0
  57. robotic/rai-robotModels/panda/meshes/link1.h5 +0 -0
  58. robotic/rai-robotModels/panda/meshes/link2.h5 +0 -0
  59. robotic/rai-robotModels/panda/meshes/link3.h5 +0 -0
  60. robotic/rai-robotModels/panda/meshes/link4.h5 +0 -0
  61. robotic/rai-robotModels/panda/meshes/link5.h5 +0 -0
  62. robotic/rai-robotModels/panda/meshes/link6.h5 +0 -0
  63. robotic/rai-robotModels/panda/meshes/link7.h5 +0 -0
  64. robotic/rai-robotModels/panda/panda.g +1 -1
  65. robotic/rai-robotModels/panda/panda_arm_hand_conv.g +24 -0
  66. robotic/rai-robotModels/panda/panda_clean.g +21 -45
  67. robotic/rai-robotModels/panda/panda_gripper.g +3 -3
  68. robotic/rai-robotModels/pr2/meshes/base.h5 +0 -0
  69. robotic/rai-robotModels/pr2/meshes/base_color.png +0 -0
  70. robotic/rai-robotModels/pr2/meshes/caster.h5 +0 -0
  71. robotic/rai-robotModels/pr2/meshes/elbow_flex.h5 +0 -0
  72. robotic/rai-robotModels/pr2/meshes/elbow_flex_color.png +0 -0
  73. robotic/rai-robotModels/pr2/meshes/forearm.h5 +0 -0
  74. robotic/rai-robotModels/pr2/meshes/forearm_color.png +0 -0
  75. robotic/rai-robotModels/pr2/meshes/forearm_roll.h5 +0 -0
  76. robotic/rai-robotModels/pr2/meshes/gripper_palm.h5 +0 -0
  77. robotic/rai-robotModels/pr2/meshes/gripper_palm_color.png +0 -0
  78. robotic/rai-robotModels/pr2/meshes/head_pan.h5 +0 -0
  79. robotic/rai-robotModels/pr2/meshes/head_pan_color.png +0 -0
  80. robotic/rai-robotModels/pr2/meshes/head_tilt.h5 +0 -0
  81. robotic/rai-robotModels/pr2/meshes/head_tilt_color.png +0 -0
  82. robotic/rai-robotModels/pr2/meshes/l_finger.h5 +0 -0
  83. robotic/rai-robotModels/pr2/meshes/l_finger_color.png +0 -0
  84. robotic/rai-robotModels/pr2/meshes/l_finger_tip.h5 +0 -0
  85. robotic/rai-robotModels/pr2/meshes/l_finger_tip_color.png +0 -0
  86. robotic/rai-robotModels/pr2/meshes/shoulder_lift.h5 +0 -0
  87. robotic/rai-robotModels/pr2/meshes/shoulder_lift_color.png +0 -0
  88. robotic/rai-robotModels/pr2/meshes/shoulder_pan.h5 +0 -0
  89. robotic/rai-robotModels/pr2/meshes/shoulder_pan_color.png +0 -0
  90. robotic/rai-robotModels/pr2/meshes/tilting_hokuyo.h5 +0 -0
  91. robotic/rai-robotModels/pr2/meshes/tilting_hokuyo_color.png +0 -0
  92. robotic/rai-robotModels/pr2/meshes/torso_lift.h5 +0 -0
  93. robotic/rai-robotModels/pr2/meshes/torso_lift_color.png +0 -0
  94. robotic/rai-robotModels/pr2/meshes/upper_arm.h5 +0 -0
  95. robotic/rai-robotModels/pr2/meshes/upper_arm_color.png +0 -0
  96. robotic/rai-robotModels/pr2/meshes/upper_arm_roll.h5 +0 -0
  97. robotic/rai-robotModels/pr2/meshes/upper_arm_roll_color.png +0 -0
  98. robotic/rai-robotModels/pr2/meshes/wheel.h5 +0 -0
  99. robotic/rai-robotModels/pr2/meshes/wheel_color.png +0 -0
  100. robotic/rai-robotModels/pr2/meshes/wrist_color.png +0 -0
  101. robotic/rai-robotModels/pr2/meshes/wrist_flex.h5 +0 -0
  102. robotic/rai-robotModels/pr2/meshes/wrist_roll.h5 +0 -0
  103. robotic/rai-robotModels/pr2/pr2.g +1 -1
  104. robotic/rai-robotModels/pr2/pr2_clean.g +5 -1
  105. robotic/rai-robotModels/pr2/pr2_conv.g +218 -0
  106. robotic/rai-robotModels/ranger/meshes/ranger_mini3.h5 +0 -0
  107. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel.h5 +0 -0
  108. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel_right.h5 +0 -0
  109. robotic/rai-robotModels/ranger/ranger.g +5 -5
  110. robotic/rai-robotModels/ranger/ranger_clean.g +5 -5
  111. robotic/rai-robotModels/ranger/ranger_mini_conv.g +14 -0
  112. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_base_link.h5 +0 -0
  113. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_inner_finger.h5 +0 -0
  114. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_inner_knuckle.h5 +0 -0
  115. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_outer_finger.h5 +0 -0
  116. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_outer_knuckle.h5 +0 -0
  117. robotic/rai-robotModels/robotiq/robotiq.g +2 -2
  118. robotic/rai-robotModels/robotiq/robotiq_arg2f_85_model_conv.g +21 -0
  119. robotic/rai-robotModels/robotiq/robotiq_clean.g +16 -16
  120. robotic/rai-robotModels/scenarios/ballFinger.g +2 -2
  121. robotic/rai-robotModels/tests/compound.g +3 -6
  122. robotic/rai-robotModels/ur10/meshes/base.h5 +0 -0
  123. robotic/rai-robotModels/ur10/meshes/forearm.h5 +0 -0
  124. robotic/rai-robotModels/ur10/meshes/shoulder.h5 +0 -0
  125. robotic/rai-robotModels/ur10/meshes/upperarm.h5 +0 -0
  126. robotic/rai-robotModels/ur10/meshes/wrist1.h5 +0 -0
  127. robotic/rai-robotModels/ur10/meshes/wrist2.h5 +0 -0
  128. robotic/rai-robotModels/ur10/meshes/wrist3.h5 +0 -0
  129. robotic/rai-robotModels/ur10/ur10.g +1 -1
  130. robotic/rai-robotModels/ur10/ur10_conv.g +17 -0
  131. robotic/ry-urdfConvert.py +73 -0
  132. robotic/src/config_mujoco.py +237 -0
  133. robotic/src/config_urdf.py +237 -0
  134. robotic/src/mesh_helper.py +395 -0
  135. robotic/src/yaml_helper.py +19 -0
  136. robotic/version.py +1 -1
  137. {robotic-0.2.9.dev1.dist-info → robotic-0.2.9.dev2.dist-info}/METADATA +1 -1
  138. robotic-0.2.9.dev2.dist-info/RECORD +369 -0
  139. {robotic-0.2.9.dev1.dist-info → robotic-0.2.9.dev2.dist-info}/WHEEL +1 -1
  140. robotic/import.py +0 -0
  141. robotic/rai-robotModels/baxter/baxter.g +0 -49
  142. robotic/rai-robotModels/baxter/baxter_clean.g +0 -116
  143. robotic/rai-robotModels/baxter/baxter_clean2.g +0 -205
  144. robotic/rai-robotModels/baxter/baxter_clean3.g +0 -223
  145. robotic/rai-robotModels/baxter/baxter_description/meshes/base/PEDESTAL.ply +0 -0
  146. robotic/rai-robotModels/baxter/baxter_description/meshes/base/pedestal_link_collision.ply +0 -0
  147. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H0.ply +0 -0
  148. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H1.ply +0 -0
  149. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_elbow/E1.ply +0 -0
  150. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_forearm/W1.ply +0 -0
  151. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_shoulder/S1.ply +0 -0
  152. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link.ply +0 -0
  153. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link_collision.ply +0 -0
  154. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_elbow/E0.ply +0 -0
  155. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_forearm/W0.ply +0 -0
  156. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_shoulder/S0.ply +0 -0
  157. robotic/rai-robotModels/baxter/baxter_description/meshes/wrist/W2.ply +0 -0
  158. robotic/rai-robotModels/baxter/baxter_new.g +0 -53
  159. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/electric_gripper_base.ply +0 -0
  160. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/extended_narrow.ply +0 -0
  161. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/half_round_tip.ply +0 -0
  162. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/paddle_tip.ply +0 -0
  163. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_base.ply +0 -0
  164. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_w_cup.ply +0 -0
  165. robotic/rai-robotModels/g1/meshes/head_link.ply +0 -0
  166. robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.ply +0 -0
  167. robotic/rai-robotModels/g1/meshes/left_ankle_roll_link.ply +0 -0
  168. robotic/rai-robotModels/g1/meshes/left_elbow_link.ply +0 -0
  169. robotic/rai-robotModels/g1/meshes/left_hand_index_0_link.ply +0 -0
  170. robotic/rai-robotModels/g1/meshes/left_hand_index_1_link.ply +0 -0
  171. robotic/rai-robotModels/g1/meshes/left_hand_middle_0_link.ply +0 -0
  172. robotic/rai-robotModels/g1/meshes/left_hand_middle_1_link.ply +0 -0
  173. robotic/rai-robotModels/g1/meshes/left_hand_palm_link.ply +0 -0
  174. robotic/rai-robotModels/g1/meshes/left_hand_thumb_0_link.ply +0 -0
  175. robotic/rai-robotModels/g1/meshes/left_hand_thumb_1_link.ply +0 -0
  176. robotic/rai-robotModels/g1/meshes/left_hand_thumb_2_link.ply +0 -0
  177. robotic/rai-robotModels/g1/meshes/left_hip_pitch_link.ply +0 -0
  178. robotic/rai-robotModels/g1/meshes/left_hip_roll_link.ply +0 -0
  179. robotic/rai-robotModels/g1/meshes/left_hip_yaw_link.ply +0 -0
  180. robotic/rai-robotModels/g1/meshes/left_knee_link.ply +0 -0
  181. robotic/rai-robotModels/g1/meshes/left_rubber_hand.ply +0 -0
  182. robotic/rai-robotModels/g1/meshes/left_shoulder_pitch_link.ply +0 -0
  183. robotic/rai-robotModels/g1/meshes/left_shoulder_roll_link.ply +0 -0
  184. robotic/rai-robotModels/g1/meshes/left_shoulder_yaw_link.ply +0 -0
  185. robotic/rai-robotModels/g1/meshes/left_wrist_pitch_link.ply +0 -0
  186. robotic/rai-robotModels/g1/meshes/left_wrist_roll_link.ply +0 -0
  187. robotic/rai-robotModels/g1/meshes/left_wrist_roll_rubber_hand.ply +0 -0
  188. robotic/rai-robotModels/g1/meshes/left_wrist_yaw_link.ply +0 -0
  189. robotic/rai-robotModels/g1/meshes/logo_link.ply +0 -0
  190. robotic/rai-robotModels/g1/meshes/pelvis.ply +0 -0
  191. robotic/rai-robotModels/g1/meshes/pelvis_contour_link.ply +0 -0
  192. robotic/rai-robotModels/g1/meshes/right_ankle_pitch_link.ply +0 -0
  193. robotic/rai-robotModels/g1/meshes/right_ankle_roll_link.ply +0 -0
  194. robotic/rai-robotModels/g1/meshes/right_elbow_link.ply +0 -0
  195. robotic/rai-robotModels/g1/meshes/right_hand_index_0_link.ply +0 -0
  196. robotic/rai-robotModels/g1/meshes/right_hand_index_1_link.ply +0 -0
  197. robotic/rai-robotModels/g1/meshes/right_hand_middle_0_link.ply +0 -0
  198. robotic/rai-robotModels/g1/meshes/right_hand_middle_1_link.ply +0 -0
  199. robotic/rai-robotModels/g1/meshes/right_hand_palm_link.ply +0 -0
  200. robotic/rai-robotModels/g1/meshes/right_hand_thumb_0_link.ply +0 -0
  201. robotic/rai-robotModels/g1/meshes/right_hand_thumb_1_link.ply +0 -0
  202. robotic/rai-robotModels/g1/meshes/right_hand_thumb_2_link.ply +0 -0
  203. robotic/rai-robotModels/g1/meshes/right_hip_pitch_link.ply +0 -0
  204. robotic/rai-robotModels/g1/meshes/right_hip_roll_link.ply +0 -0
  205. robotic/rai-robotModels/g1/meshes/right_hip_yaw_link.ply +0 -0
  206. robotic/rai-robotModels/g1/meshes/right_knee_link.ply +0 -0
  207. robotic/rai-robotModels/g1/meshes/right_rubber_hand.ply +0 -0
  208. robotic/rai-robotModels/g1/meshes/right_shoulder_pitch_link.ply +0 -0
  209. robotic/rai-robotModels/g1/meshes/right_shoulder_roll_link.ply +0 -0
  210. robotic/rai-robotModels/g1/meshes/right_shoulder_yaw_link.ply +0 -0
  211. robotic/rai-robotModels/g1/meshes/right_wrist_pitch_link.ply +0 -0
  212. robotic/rai-robotModels/g1/meshes/right_wrist_roll_link.ply +0 -0
  213. robotic/rai-robotModels/g1/meshes/right_wrist_roll_rubber_hand.ply +0 -0
  214. robotic/rai-robotModels/g1/meshes/right_wrist_yaw_link.ply +0 -0
  215. robotic/rai-robotModels/g1/meshes/torso_constraint_L_link.ply +0 -0
  216. robotic/rai-robotModels/g1/meshes/torso_constraint_L_rod_link.ply +0 -0
  217. robotic/rai-robotModels/g1/meshes/torso_constraint_R_link.ply +0 -0
  218. robotic/rai-robotModels/g1/meshes/torso_constraint_R_rod_link.ply +0 -0
  219. robotic/rai-robotModels/g1/meshes/torso_link.ply +0 -0
  220. robotic/rai-robotModels/g1/meshes/waist_constraint_L.ply +0 -0
  221. robotic/rai-robotModels/g1/meshes/waist_constraint_R.ply +0 -0
  222. robotic/rai-robotModels/g1/meshes/waist_roll_link.ply +0 -0
  223. robotic/rai-robotModels/g1/meshes/waist_support_link.ply +0 -0
  224. robotic/rai-robotModels/g1/meshes/waist_yaw_link.ply +0 -0
  225. robotic/rai-robotModels/panda/franka_description/meshes/collision/finger.stl +0 -0
  226. robotic/rai-robotModels/panda/franka_description/meshes/collision/hand.stl +0 -0
  227. robotic/rai-robotModels/panda/franka_description/meshes/collision/link0.stl +0 -0
  228. robotic/rai-robotModels/panda/franka_description/meshes/collision/link1.stl +0 -0
  229. robotic/rai-robotModels/panda/franka_description/meshes/collision/link2.stl +0 -0
  230. robotic/rai-robotModels/panda/franka_description/meshes/collision/link3.stl +0 -0
  231. robotic/rai-robotModels/panda/franka_description/meshes/collision/link4.stl +0 -0
  232. robotic/rai-robotModels/panda/franka_description/meshes/collision/link5.stl +0 -0
  233. robotic/rai-robotModels/panda/franka_description/meshes/collision/link6.stl +0 -0
  234. robotic/rai-robotModels/panda/franka_description/meshes/collision/link7.stl +0 -0
  235. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO.sh +0 -10
  236. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO2.sh +0 -7
  237. robotic/rai-robotModels/panda/franka_description/meshes/visual/convMeshes.mlx +0 -38
  238. robotic/rai-robotModels/panda/franka_description/meshes/visual/finger.ply +0 -0
  239. robotic/rai-robotModels/panda/franka_description/meshes/visual/hand.ply +0 -0
  240. robotic/rai-robotModels/panda/franka_description/meshes/visual/link0.ply +0 -0
  241. robotic/rai-robotModels/panda/franka_description/meshes/visual/link1.ply +0 -0
  242. robotic/rai-robotModels/panda/franka_description/meshes/visual/link2.ply +0 -0
  243. robotic/rai-robotModels/panda/franka_description/meshes/visual/link3.ply +0 -0
  244. robotic/rai-robotModels/panda/franka_description/meshes/visual/link4.ply +0 -0
  245. robotic/rai-robotModels/panda/franka_description/meshes/visual/link5.ply +0 -0
  246. robotic/rai-robotModels/panda/franka_description/meshes/visual/link6.ply +0 -0
  247. robotic/rai-robotModels/panda/franka_description/meshes/visual/link7.ply +0 -0
  248. robotic/rai-robotModels/panda/franka_description/meshes/visual/script.mlx +0 -28
  249. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base.ply +0 -0
  250. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base_L.ply +0 -0
  251. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster.ply +0 -0
  252. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster_L.ply +0 -0
  253. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/pr2_wheel.ply +0 -0
  254. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/wheel.ply +0 -0
  255. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/forearm.ply +0 -0
  256. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_flex.ply +0 -0
  257. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll.ply +0 -0
  258. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll_L.ply +0 -0
  259. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/gripper_palm.ply +0 -0
  260. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger.ply +0 -0
  261. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger_tip.ply +0 -0
  262. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan.ply +0 -0
  263. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan_L.ply +0 -0
  264. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt.ply +0 -0
  265. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt_L.ply +0 -0
  266. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_lift.ply +0 -0
  267. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_pan.ply +0 -0
  268. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_yaw.ply +0 -0
  269. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll.ply +0 -0
  270. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll_L.ply +0 -0
  271. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/hok_tilt.ply +0 -0
  272. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo.ply +0 -0
  273. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo_L.ply +0 -0
  274. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso.ply +0 -0
  275. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift.ply +0 -0
  276. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift_L.ply +0 -0
  277. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/elbow_flex.ply +0 -0
  278. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll.ply +0 -0
  279. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll_L.ply +0 -0
  280. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/upper_arm.ply +0 -0
  281. robotic/rai-robotModels/ranger/meshes/cleanMeshes.mlx +0 -23
  282. robotic/rai-robotModels/ranger/meshes/cleanMeshes.sh +0 -8
  283. robotic/rai-robotModels/ranger/meshes/ranger_mini3.ply +0 -0
  284. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel.ply +0 -0
  285. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel_right.ply +0 -0
  286. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link.ply +0 -0
  287. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link_x.ply +0 -10
  288. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_finger.ply +0 -0
  289. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_knuckle.ply +0 -0
  290. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_finger.ply +0 -0
  291. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_knuckle.ply +0 -0
  292. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_pad.ply +0 -0
  293. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_gripper_coupling.ply +0 -0
  294. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Base.ply +0 -0
  295. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Forearm.ply +0 -0
  296. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Shoulder.ply +0 -0
  297. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply +0 -0
  298. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply +0 -0
  299. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply +0 -0
  300. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply +0 -0
  301. robotic-0.2.9.dev1.dist-info/RECORD +0 -421
  302. /robotic/rai-robotModels/robotiq/meshes/{visual/robotiq_ft300.ply → robotiq_ft300.ply} +0 -0
  303. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-bot +0 -0
  304. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-h5info +0 -0
  305. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-info +0 -0
  306. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-meshTool +0 -0
  307. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-test +0 -0
  308. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-urdf2rai +0 -0
  309. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-urdf2yaml +0 -0
  310. {robotic-0.2.9.dev1.data → robotic-0.2.9.dev2.data}/scripts/ry-view +0 -0
  311. {robotic-0.2.9.dev1.dist-info → robotic-0.2.9.dev2.dist-info}/licenses/LICENSE +0 -0
  312. {robotic-0.2.9.dev1.dist-info → robotic-0.2.9.dev2.dist-info}/top_level.txt +0 -0
robotic/__init__.py CHANGED
@@ -9,5 +9,9 @@ from .version import __version__
9
9
 
10
10
  from .manipulation import KOMO_ManipulationHelper
11
11
 
12
+ from .src.config_mujoco import MujocoLoader
13
+ from .src.config_urdf import URDFLoader
14
+ from .src.mesh_helper import MeshHelper
15
+
12
16
  import os
13
17
  setRaiPath( os.path.abspath(os.path.dirname(__file__)) + '/rai-robotModels' )
robotic/_robotic.pyi CHANGED
@@ -275,7 +275,7 @@ class Config:
275
275
  """
276
276
  animate with random spline in limits bounding box [T=#spline points]
277
277
  """
278
- def asDict(self) -> dict:
278
+ def asDict(self, parentsInKeys: bool = True) -> dict:
279
279
  """
280
280
  return the configuration description as a dict, e.g. for file export
281
281
  """
@@ -367,7 +367,7 @@ class Config:
367
367
  """
368
368
  collect all inertia at root frame of links, optionally reestimate all inertias based on standard surface density, optionally relocate the link frame to the COM with diagonalized I)
369
369
  """
370
- def processStructure(self, pruneNamed: bool, pruneNonContactNonMarker: bool, pruneTransparent: bool) -> None:
370
+ def processStructure(self, pruneRigidJoints: bool = False, reconnectToLinks: bool = True, pruneNonContactShapes: bool = False, pruneTransparent: bool = False) -> None:
371
371
  """
372
372
  structurally simplify the Configuration (deleting frames, relinking to minimal tree)
373
373
  """
@@ -453,7 +453,7 @@ class Config:
453
453
  """
454
454
  write the full configuration in a ply mesh file
455
455
  """
456
- def writeMeshes(self, pathPrefix: ..., copyTextures: bool) -> None:
456
+ def writeMeshes(self, pathPrefix: ..., copyTextures: bool = True, enumerateTextures: bool = False) -> None:
457
457
  """
458
458
  write all object meshes in a directory
459
459
  """
@@ -788,11 +788,11 @@ class Frame:
788
788
  """
789
789
  def setImplicitSurface(self, data: ..., size: arr, blur: int, resample: float = -1.0) -> Frame:
790
790
  ...
791
- def setJoint(self, jointType: JT, limits: arr = ...) -> Frame:
791
+ def setJoint(self, jointType: JT, limits: arr = ..., scale: float = 1.0, mimic: Frame = None) -> Frame:
792
792
  ...
793
793
  def setJointState(self, arg0: arr) -> Frame:
794
794
  ...
795
- def setMass(self, arg0: float) -> Frame:
795
+ def setMass(self, mass: float, inertiaMatrix: arr = ...) -> Frame:
796
796
  ...
797
797
  def setMesh(self, vertices: arr, triangles: uintA, colors: ... = ..., cvxParts: uintA = ...) -> Frame:
798
798
  """
robotic/_robotic.so CHANGED
Binary file
robotic/cleanMeshes.py ADDED
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env python3
2
+
3
+ import argparse
4
+ import glob
5
+ import os
6
+ from robotic.src.mesh_helper import *
7
+
8
+ parser = argparse.ArgumentParser(
9
+ description='Utility to clean meshes in meshes/')
10
+
11
+ parser.add_argument('-view', help='view mesh', action="store_true")
12
+ parser.add_argument('-meshlab', help='apply meshlab filters', action="store_true", default=False)
13
+
14
+ def main():
15
+ args = parser.parse_args()
16
+
17
+ files = sorted(glob.glob('meshes/*.h5'))
18
+
19
+ for file in files:
20
+ if file[-4]=='-':
21
+ continue
22
+
23
+ M = MeshHelper(file)
24
+ if M.mesh is None:
25
+ continue
26
+
27
+ #-- repair
28
+ print(' before repair:')
29
+ M.report()
30
+ M.repair(mergeTolerance=1e-4)
31
+ # M.texture2vertexColors()
32
+ print(' after repair:')
33
+ print(' watertight:', M.mesh.is_watertight)
34
+ print(' oriented:', M.mesh.is_winding_consistent)
35
+ M.report()
36
+
37
+ #-- export/view
38
+ M.export_h5()
39
+ # M.export_h5(M.filebase+'-.h5')
40
+ if args.view:
41
+ M.view()
42
+
43
+ #-- meshlab processing
44
+ if args.meshlab:
45
+ M.export_ply('z.ply')
46
+ print('<<< meshlab <<<')
47
+ ret = os.system(f'meshlabserver -i z.ply -o {M.filebase}.ply -m vc -s meshlabFilters.mlx')
48
+ print('>>> meshlab >>>')
49
+ if not ret:
50
+ M2 = MeshHelper(f'{M.filebase}.ply')
51
+ # uv = M2.mesh.visual.uv
52
+ # M2.mesh.visual = M.mesh.visual
53
+ # M2.mesh.visual.uv = uv
54
+ # M2.view()
55
+ M2.export_h5(M.filebase+'.h5')
56
+ # os.system(f'rm z.ply {M.filebase}.ply')
57
+
58
+ if __name__ == "__main__":
59
+ main()
@@ -78,7 +78,8 @@ template<class T> Array<T>::Array(Array<T>&& a)
78
78
  M(a.M),
79
79
  special(a.special) {
80
80
  //if(a.jac) jac = std::move(a.jac);
81
- CHECK_EQ(a.d, &a.d0, "");
81
+ // CHECK_EQ(a.d, &a.d0, "NIY for larger tensors");
82
+ if(a.d!=&a.d0) { d=a.d; a.d=&a.d0; }
82
83
  a.p=NULL;
83
84
  a.N=a.nd=a.d0=a.d1=a.d2=0;
84
85
  a.isReference=false;
@@ -105,6 +106,7 @@ template<class T> Array<T>::~Array() {
105
106
  clear();
106
107
  #else //faster (leaves members non-zeroed..)
107
108
  if(special) { delete special; special=NULL; }
109
+ if(d!=&d0) { delete[] d; }
108
110
  if(M) {
109
111
  globalMemoryTotal -= M*sizeT;
110
112
  if(memMove==1) free(p); else delete[] p;
@@ -372,17 +372,17 @@ struct FileToken {
372
372
  std::shared_ptr<std::ifstream> is;
373
373
 
374
374
  FileToken();
375
- FileToken(const char* _filename, bool change_dir=false);
375
+ FileToken(const char* _filename);
376
376
  FileToken(const FileToken& ft);
377
377
  ~FileToken();
378
378
  FileToken& operator()() { return *this; }
379
379
 
380
380
  void decomposeFilename();
381
- void cd_start();
381
+ void cd_base();
382
382
  void cd_file();
383
383
  bool exists();
384
- std::ostream& getOs(bool change_dir=false);
385
- std::istream& getIs(bool change_dir=false);
384
+ std::ostream& getOs();
385
+ std::istream& getIs();
386
386
  operator std::istream& () { return getIs(); }
387
387
  operator std::ostream& () { return getOs(); }
388
388
 
@@ -397,7 +397,7 @@ template<class T> FileToken& operator<<(T& x, FileToken& fil) { fil.getIs() >>x;
397
397
  template<class T> void operator>>(const T& x, FileToken& fil) { fil.getOs() <<x; }
398
398
  inline bool operator==(const FileToken&, const FileToken&) { return false; }
399
399
  }
400
- #define FILE(filename) (rai::FileToken(filename, false)()) //it needs to return a REFERENCE to a local scope object
400
+ #define FILE(filename) (rai::FileToken(filename)()) //it needs to return a REFERENCE to a local scope object
401
401
 
402
402
  //===========================================================================
403
403
  //
@@ -606,10 +606,11 @@ inline bool operator==(Type& t1, Type& t2) { return t1.typeId() == t2.typeId();
606
606
  //
607
607
 
608
608
  template<class T> T fromFile(const char* filename) {
609
- rai::FileToken file(filename, true);
609
+ rai::FileToken file(filename);
610
610
  T x;
611
+ file.cd_file();
611
612
  x.read(file.getIs());
612
- file.cd_start();
613
+ file.cd_base();
613
614
  return x;
614
615
  }
615
616
 
@@ -74,7 +74,7 @@ struct Matrix {
74
74
 
75
75
  Matrix() {}
76
76
  Matrix(int zero) { CHECK_EQ(zero, 0, "this is only for initialization with zero"); setZero(); }
77
- Matrix(const arr& m) { CHECK_EQ(m.N, 9, ""); set(m.p); }
77
+ Matrix(const arr& m) { set(m); }
78
78
  Matrix(const Matrix& m) : m00(m.m00), m01(m.m01), m02(m.m02), m10(m.m10), m11(m.m11), m12(m.m12), m20(m.m20), m21(m.m21), m22(m.m22) {}
79
79
  double* p() { return &m00; }
80
80
  arr getArr() const { return arr(&m00, 9, true).reshape(3, 3); }
@@ -84,6 +84,7 @@ struct Matrix {
84
84
  void setZero();
85
85
  void setRandom(double range=1.);
86
86
  void setId();
87
+ void set(const arr& X);
87
88
  void setDiag(const arr& diag);
88
89
  void setSymmetric(const arr& entries6);
89
90
  void setSkew(const Vector&);
@@ -31,7 +31,7 @@ struct ManipulationHelper {
31
31
  void setup_sequence(rai::Configuration& C, uint K, double homing_scale=1e-2, double velocity_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true);
32
32
  void setup_motion(rai::Configuration& C, uint K, uint steps_per_phase, double homing_scale=0., double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true);
33
33
  void setup_pick_and_place_waypoints(rai::Configuration& C, const char* gripper, const char* obj, double homing_scale=1e-2, double velocity_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true);
34
- void setup_point_to_point_motion(rai::Configuration& C, const arr& q1, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true);
34
+ void setup_point_to_point_motion(rai::Configuration& C, const arr& q1, uint steps_per_phase, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true);
35
35
  void setup_point_to_point_rrt(rai::Configuration& C, const arr& q0, const arr& q1, const StringA& explicitCollisionPairs);
36
36
 
37
37
  void add_stable_frame(rai::JointType type, const char* parent, const char* name, const char* initName=0, rai::Frame* initFrame=0, double markerSize=-1.);
@@ -63,7 +63,7 @@ struct ManipulationHelper {
63
63
  arr sample(const char* sampleMethod=0, int verbose=1);
64
64
  void debug(bool listObjectives=true, bool plotOverTime=false);
65
65
 
66
- std::shared_ptr<ManipulationHelper> sub_motion(uint phase, bool fixEnd=true, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=false, const StringA& activeDofs={});
66
+ std::shared_ptr<ManipulationHelper> sub_motion(uint phase, uint steps_per_phase, bool fixEnd=true, double homing_scale=1e-2, double acceleration_scale=1e-1, bool accumulated_collisions=true, bool joint_limits=true, bool quaternion_norms=true, const StringA& activeDofs={});
67
67
  std::shared_ptr<rai::RRT_PathFinder> sub_rrt(uint phase, const StringA& explicitCollisionPairs= {}, const StringA& activeDofs={});
68
68
 
69
69
  void play(rai::Configuration& C, double duration=1.);
@@ -176,9 +176,9 @@ struct Frame : NonCopyable {
176
176
  Frame& setTensorShape(const floatA& data, const arr& size);
177
177
  Frame& setImplicitSurface(const floatA& data, const arr& size, uint blur, double resample);
178
178
  Frame& setColor(const arr& color);
179
- Frame& setJoint(rai::JointType jointType, const arr& limits= {});
179
+ Frame& setJoint(rai::JointType jointType, const arr& limits={}, double scale=1., Frame* mimic=0);
180
180
  Frame& setContact(int cont);
181
- Frame& setMass(double mass);
181
+ Frame& setMass(double mass, const arr& inertiaMatrix={});
182
182
  Frame& setAttribute(const char* key, double value);
183
183
  Frame& setJointState(const arr& q); ///< throws error if this frame is not also a joint, and if q.size() != joint->dim
184
184
 
@@ -181,8 +181,8 @@ struct Configuration {
181
181
  void pruneEmptyShapes();
182
182
  void reconnectShapesToParents();
183
183
  void reconnectLinksToClosestJoints(); ///< re-connect all links to closest joint
184
- void pruneUselessFrames(bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneTransparent=false); ///< delete frames that have no name, joint, and shape
185
- void processStructure(bool pruneNamed=false, bool pruneNonContactNonMarker=false, bool pruneTransparent=false); ///< call the three above methods in this order
184
+ void pruneUselessFrames(bool pruneNamed=false, bool pruneNonContactShapes=false, bool pruneTransparent=false); ///< delete frames that have no name, joint, and shape
185
+ void processStructure(bool _pruneRigidJoints=false, bool reconnectToLinks=true, bool pruneNonContactShapes=false, bool pruneTransparent=false); ///< call the three above methods in this order
186
186
  void processInertias(bool recomputeInertias=true, bool transformToDiagInertia=false);
187
187
  void sortFrames();
188
188
  void makeObjectsFree(const StringA& objects, double H_cost=0.);
@@ -289,7 +289,7 @@ public:
289
289
  void write(Graph& G) const;
290
290
  void writeURDF(std::ostream& os, const char* robotName="myrobot") const;
291
291
  void writeCollada(const char* filename, const char* format="collada") const;
292
- void writeMeshes(str pathPrefix="meshes/", bool copyTextures=false) const;
292
+ void writeMeshes(str pathPrefix="meshes/", bool copyTextures=false, bool enumerateTextures=false) const;
293
293
  void writeMesh(const char* filename="z.ply") const;
294
294
  void read(std::istream& is);
295
295
  Graph getGraph() const;
@@ -17,8 +17,9 @@
17
17
  #include <pybind11/pybind11.h>
18
18
  #include <pybind11/stl.h>
19
19
  #include <pybind11/numpy.h>
20
+ #include <pybind11/pytypes.h>
20
21
 
21
- pybind11::dict graph2dict(const rai::Graph& G);
22
+ pybind11::dict graph2dict(const rai::Graph& G, const rai::NodeL& parents={}, bool parentsInKeys=true);
22
23
  rai::Graph dict2graph(const pybind11::dict& dict);
23
24
 
24
25
  pybind11::list graph2list(const rai::Graph& G);
@@ -308,7 +309,7 @@ template <> struct type_caster<rai::Graph> {
308
309
  }
309
310
 
310
311
  static handle cast(const rai::Graph& G, return_value_policy, handle) {
311
- return graph2dict(G).release();
312
+ return graph2dict(G, rai::NodeL{}).release();
312
313
  }
313
314
  };
314
315
 
robotic/librai.so CHANGED
Binary file
robotic/meshTool CHANGED
Binary file
@@ -0,0 +1,10 @@
1
+ from config_mujoco import *
2
+ import sysconfig
3
+
4
+ pysite = sysconfig.get_paths()["purelib"]
5
+ file = pysite+"/gymnasium_robotics/envs/assets/kitchen_franka/kitchen_assets/kitchen_env_model.xml"
6
+ # file = '/home/mtoussai/git/MuJoCo2Rai/kitchen_dataset/RUSTIC_ONE_WALL_SMALL.xml'
7
+
8
+ print('=====================', file)
9
+ C = Config_Mujoco(file, visualsOnly=True)
10
+ C.view(True)
@@ -1,5 +1,5 @@
1
1
  ## create standard base frame before including
2
2
 
3
3
  g1_base: { X:[0, 0, .79], multibody: true, multibody_fixedBase: false }
4
- Include: <g1_clean.g>
4
+ Include: <g1_29dof_conv.g>
5
5
  Edit pelvis(g1_base): {}
@@ -0,0 +1,77 @@
1
+ pelvis: { shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/pelvis.h5>, mass: 0.400236, inertia: [0.00159584, -5.92804e-10, -1.2185e-09, 0.0013267, 3.05393e-09, 0.00119011] },
2
+ pelvis_contour_joint(pelvis): { joint: rigid, shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/pelvis_contour_link.h5>, mass: 0.393642, inertia: [0.00120549, -1.39118e-07, -1.37717e-06, 0.00142459, -1.2061e-07, 0.00136524] },
3
+ left_hip_pitch_joint_origin(pelvis): { Q: [0, 0.064452, -0.1027] },
4
+ right_hip_pitch_joint_origin(pelvis): { Q: [0, -0.064452, -0.1027] },
5
+ imu_in_pelvis_joint_origin(pelvis): { Q: [0.04525, 0, -0.08339] },
6
+ waist_yaw_joint(pelvis): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_yaw_link.h5>, mass: 0.168083, inertia: [8.83938e-05, -2.82438e-09, -9.9721e-06, 0.000103081, -2.02902e-09, 0.000150067] },
7
+ left_hip_pitch_joint(left_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_hip_pitch_link.h5>, mass: 0.264573, inertia: [0.000474721, 4.31311e-06, 5.93997e-06, 0.000392354, 4.96908e-05, 0.000375138] },
8
+ right_hip_pitch_joint(right_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_hip_pitch_link.h5>, mass: 0.264569, inertia: [0.000474711, -4.31398e-06, 5.94077e-06, 0.000392343, -4.96889e-05, 0.000375138] },
9
+ imu_in_pelvis_joint(imu_in_pelvis_joint_origin): { joint: rigid },
10
+ waist_roll_joint_origin(waist_yaw_joint): { Q: [-0.0039635, 0, 0.035] },
11
+ left_hip_roll_joint_origin(left_hip_pitch_joint): { Q: [0, 0.052, -0.030465, 0.996179, 0, -0.0873386, 0] },
12
+ right_hip_roll_joint_origin(right_hip_pitch_joint): { Q: [0, -0.052, -0.030465, 0.996179, 0, -0.0873386, 0] },
13
+ waist_roll_joint(waist_roll_joint_origin): { joint: hingeX, limits: [-0.52, 0.52], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_roll_link.h5>, mass: 0.0221562, inertia: [4.0451e-06, 7.41165e-11, -2.63317e-11, 3.67093e-06, 3.77707e-11, 2.32541e-06] },
14
+ left_hip_roll_joint(left_hip_roll_joint_origin): { joint: hingeX, limits: [-0.5236, 2.9671], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_roll_link.h5>, mass: 0.388504, inertia: [0.00122176, -2.52983e-06, -0.000212212, 0.00118448, -1.72307e-06, 0.00069136] },
15
+ right_hip_roll_joint(right_hip_roll_joint_origin): { joint: hingeX, limits: [-2.9671, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_roll_link.h5>, mass: 0.388501, inertia: [0.00122175, 2.52204e-06, -0.000212212, 0.00118447, 1.73174e-06, 0.000691349] },
16
+ waist_pitch_joint_origin(waist_roll_joint): { Q: [0, 0, 0.019] },
17
+ left_hip_yaw_joint_origin(left_hip_roll_joint): { Q: [0.025001, 0, -0.12412] },
18
+ right_hip_yaw_joint_origin(right_hip_roll_joint): { Q: [0.025001, 0, -0.12412] },
19
+ waist_pitch_joint(waist_pitch_joint_origin): { joint: hingeY, limits: [-0.52, 0.52], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/torso_link.h5>, mass: 3.72833, inertia: [0.0404695, -1.1264e-05, -0.000266539, 0.0333617, -1.24012e-05, 0.0221975] },
20
+ left_hip_yaw_joint(left_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_yaw_link.h5>, mass: 0.681619, inertia: [0.0044275, -0.000108056, -0.00166275, 0.00545319, -0.000187376, 0.001876] },
21
+ right_hip_yaw_joint(right_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_yaw_link.h5>, mass: 0.681613, inertia: [0.00442747, 0.000108056, -0.00166275, 0.00545319, 0.000187351, 0.00187597] },
22
+ logo_joint_origin(waist_pitch_joint): { Q: [0.0039635, 0, -0.054] },
23
+ head_joint_origin(waist_pitch_joint): { Q: [0.0039635, 0, -0.054] },
24
+ waist_support_joint_origin(waist_pitch_joint): { Q: [0.0039635, 0, -0.054] },
25
+ imu_in_torso_joint_origin(waist_pitch_joint): { Q: [-0.03959, -0.00224, 0.13792] },
26
+ d435_joint_origin(waist_pitch_joint): { Q: [0.0576235, 0.01753, 0.41987, 0.91496, 0, 0.403545, 0] },
27
+ mid360_joint_origin(waist_pitch_joint): { Q: [0.0002835, 3e-05, 0.40618, 0.999799, 0, 0.0200699, 0] },
28
+ left_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, 0.10022, 0.23778, 0.990264, 0.139201, 4.05418e-05, -9.10379e-05] },
29
+ right_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, -0.10021, 0.23778, 0.990264, -0.139201, 4.05418e-05, 9.10379e-05] },
30
+ left_knee_joint_origin(left_hip_yaw_joint): { Q: [-0.078273, 0.0021489, -0.17734, 0.996179, 0, 0.0873386, 0] },
31
+ right_knee_joint_origin(right_hip_yaw_joint): { Q: [-0.078273, -0.0021489, -0.17734, 0.996179, 0, 0.0873386, 0] },
32
+ logo_joint(logo_joint_origin): { joint: rigid, shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/logo_link.h5>, mass: 0.0575578, inertia: [0.000100919, -1.65034e-06, 1.03204e-06, 0.000279739, 5.60472e-08, 0.000376764] },
33
+ head_joint(head_joint_origin): { joint: rigid, shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/head_link.h5>, mass: 0.493975, inertia: [0.00295612, 1.28062e-08, -0.000167611, 0.00293932, 2.9539e-08, 0.0012706] },
34
+ waist_support_joint(waist_support_joint_origin): { joint: rigid, shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_support_link.h5>, mass: 0.202405, inertia: [0.00046643, -1.24677e-07, -2.44136e-07, 0.000381836, -3.23169e-08, 0.000786744] },
35
+ imu_in_torso_joint(imu_in_torso_joint_origin): { joint: rigid },
36
+ d435_joint(d435_joint_origin): { joint: rigid },
37
+ mid360_joint(mid360_joint_origin): { joint: rigid },
38
+ left_shoulder_pitch_joint(left_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_pitch_link.h5>, mass: 0.126023, inertia: [0.000160485, -1.66228e-07, 3.91865e-07, 0.000151496, 1.75614e-05, 0.000138798] },
39
+ right_shoulder_pitch_joint(right_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_pitch_link.h5>, mass: 0.126023, inertia: [0.000160483, 1.65124e-07, 3.90512e-07, 0.000151492, -1.75623e-05, 0.000138793] },
40
+ left_knee_joint(left_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_knee_link.h5>, mass: 0.876712, inertia: [0.00648182, 3.3975e-05, -0.000127209, 0.00672925, -0.000358869, 0.00109586] },
41
+ right_knee_joint(right_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_knee_link.h5>, mass: 0.876714, inertia: [0.00648176, -3.398e-05, -0.000127209, 0.00672918, 0.000358822, 0.00109587] },
42
+ left_shoulder_roll_joint_origin(left_shoulder_pitch_joint): { Q: [0, 0.038, -0.013831, 0.990268, -0.139172, 0, 0] },
43
+ right_shoulder_roll_joint_origin(right_shoulder_pitch_joint): { Q: [0, -0.038, -0.013831, 0.990268, 0.139172, 0, 0] },
44
+ left_ankle_pitch_joint_origin(left_knee_joint): { Q: [0, -9.4445e-05, -0.30001] },
45
+ right_ankle_pitch_joint_origin(right_knee_joint): { Q: [0, 9.4445e-05, -0.30001] },
46
+ left_shoulder_roll_joint(left_shoulder_roll_joint_origin): { joint: hingeX, limits: [-1.5882, 2.2515], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_roll_link.h5>, mass: 0.246281, inertia: [0.000394956, 2.09873e-08, -1.93073e-07, 0.000469736, 1.57454e-05, 0.000272781] },
47
+ right_shoulder_roll_joint(right_shoulder_roll_joint_origin): { joint: hingeX, limits: [-2.2515, 1.5882], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_roll_link.h5>, mass: 0.246283, inertia: [0.000394966, -1.6719e-08, -1.89014e-07, 0.000469741, -1.57405e-05, 0.000272773] },
48
+ left_ankle_pitch_joint(left_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_ankle_pitch_link.h5>, mass: 0.0197524, inertia: [2.78775e-06, -2.27316e-10, -5.8987e-07, 4.52084e-06, -3.84759e-10, 2.51425e-06] },
49
+ right_ankle_pitch_joint(right_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_ankle_pitch_link.h5>, mass: 0.0197524, inertia: [2.78777e-06, 2.213e-10, -5.89865e-07, 4.52084e-06, 3.98325e-10, 2.51424e-06] },
50
+ left_shoulder_yaw_joint_origin(left_shoulder_roll_joint): { Q: [0, 0.00624, -0.1032] },
51
+ right_shoulder_yaw_joint_origin(right_shoulder_roll_joint): { Q: [0, -0.00624, -0.1032] },
52
+ left_ankle_roll_joint_origin(left_ankle_pitch_joint): { Q: [0, 0, -0.017558] },
53
+ right_ankle_roll_joint_origin(right_ankle_pitch_joint): { Q: [0, 0, -0.017558] },
54
+ left_shoulder_yaw_joint(left_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_yaw_link.h5>, mass: 0.330191, inertia: [0.00075724, 1.01914e-05, 0.000118153, 0.000781633, -6.07748e-05, 0.000303097] },
55
+ right_shoulder_yaw_joint(right_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_yaw_link.h5>, mass: 0.330189, inertia: [0.000757238, -1.01934e-05, 0.000118161, 0.000781632, 6.07703e-05, 0.000303094] },
56
+ left_ankle_roll_joint(left_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_ankle_roll_link.h5>, mass: 0.456098, inertia: [0.000287801, 6.50248e-08, 8.30648e-05, 0.00151895, -1.18792e-07, 0.0016069] },
57
+ right_ankle_roll_joint(right_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_ankle_roll_link.h5>, mass: 0.45609, inertia: [0.0002878, -9.56202e-08, 8.30614e-05, 0.00151893, 1.13682e-07, 0.00160687] },
58
+ left_elbow_joint_origin(left_shoulder_yaw_joint): { Q: [0.015783, 0, -0.080518] },
59
+ right_elbow_joint_origin(right_shoulder_yaw_joint): { Q: [0.015783, 0, -0.080518] },
60
+ left_elbow_joint(left_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_elbow_link.h5>, mass: 0.133212, inertia: [0.000105606, 4.41256e-05, 1.51768e-05, 0.000221879, -4.66813e-06, 0.000221601] },
61
+ right_elbow_joint(right_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_elbow_link.h5>, mass: 0.133212, inertia: [0.000105601, -4.41257e-05, 1.5176e-05, 0.000221877, 4.66758e-06, 0.000221596] },
62
+ left_wrist_roll_joint_origin(left_elbow_joint): { Q: [0.1, 0.00188791, -0.01] },
63
+ right_wrist_roll_joint_origin(right_elbow_joint): { Q: [0.1, -0.00188791, -0.01] },
64
+ left_wrist_roll_joint(left_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_roll_link.h5>, mass: 0.0819051, inertia: [5.76855e-05, -6.70778e-07, 1.09252e-09, 4.18275e-05, -1.21848e-09, 6.33789e-05] },
65
+ right_wrist_roll_joint(right_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_roll_link.h5>, mass: 0.0819045, inertia: [5.76834e-05, 6.70746e-07, 8.73074e-10, 4.18274e-05, 8.19224e-10, 6.33769e-05] },
66
+ left_wrist_pitch_joint_origin(left_wrist_roll_joint): { Q: [0.038, 0, 0] },
67
+ right_wrist_pitch_joint_origin(right_wrist_roll_joint): { Q: [0.038, 0, 0] },
68
+ left_wrist_pitch_joint(left_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_pitch_link.h5>, mass: 0.102165, inertia: [6.54114e-05, -1.39886e-06, 1.39875e-06, 0.000133698, 1.78434e-08, 0.000133699] },
69
+ right_wrist_pitch_joint(right_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_pitch_link.h5>, mass: 0.102164, inertia: [6.54077e-05, 1.39993e-06, 1.3996e-06, 0.000133692, -1.67215e-08, 0.000133692] },
70
+ left_wrist_yaw_joint_origin(left_wrist_pitch_joint): { Q: [0.046, 0, 0] },
71
+ right_wrist_yaw_joint_origin(right_wrist_pitch_joint): { Q: [0.046, 0, 0] },
72
+ left_wrist_yaw_joint(left_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_yaw_link.h5>, mass: 0.0806154, inertia: [5.53182e-05, -1.04206e-06, 7.04147e-07, 6.51217e-05, 2.05369e-08, 4.14947e-05] },
73
+ right_wrist_yaw_joint(right_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_yaw_link.h5>, mass: 0.0806224, inertia: [5.53259e-05, 1.04209e-06, 7.04755e-07, 6.51361e-05, -2.11753e-08, 4.15045e-05] },
74
+ left_hand_palm_joint_origin(left_wrist_yaw_joint): { Q: [0.0415, 0.003, 0] },
75
+ right_hand_palm_joint_origin(right_wrist_yaw_joint): { Q: [0.0415, -0.003, 0] },
76
+ left_hand_palm_joint(left_hand_palm_joint_origin): { joint: rigid, shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_rubber_hand.h5>, mass: 0.154796, inertia: [0.000129099, 4.62168e-05, 5.26706e-06, 0.000313538, 2.47853e-06, 0.000241113] },
77
+ right_hand_palm_joint(right_hand_palm_joint_origin): { joint: rigid, shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_rubber_hand.h5>, mass: 0.154795, inertia: [0.0001291, -4.62179e-05, 5.26836e-06, 0.000313541, -2.47823e-06, 0.000241117] }
@@ -1,99 +1,64 @@
1
- pelvis: { shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/pelvis.ply>, mass: 3.813, inertia: [0.010549, 0, 2.1e-06, 0.0093089, 0, 0.0079184] },
1
+ pelvis: { shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/pelvis.h5>, mass: 0.793878, com: [0.000297452, 1.17304e-05, -0.0760703], inertia: [0.00280151, -1.42902e-07, -1.26125e-06, 0.00275155, -1.1233e-07, 0.00255542] },
2
2
  left_hip_pitch_joint_origin(pelvis): { Q: [0, 0.064452, -0.1027] },
3
3
  right_hip_pitch_joint_origin(pelvis): { Q: [0, -0.064452, -0.1027] },
4
- waist_yaw_joint(pelvis): { joint: hingeZ, limits: [-2.618, 2.618, 32, -1, 88], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_yaw_link.ply>, ctrl_limits: [32, -1, 88] },
5
- pelvis_contour_link(pelvis): { mass: 0.001, inertia: [1e-07, 1e-07, 1e-07] },
6
- pelvis_contour_link_0(pelvis): { shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/pelvis_contour_link.ply>, visual: True },
7
- left_hip_pitch_joint(left_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798, 32, -1, 88], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_hip_pitch_link.ply>, ctrl_limits: [32, -1, 88] },
8
- right_hip_pitch_joint(right_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798, 32, -1, 88], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_hip_pitch_link.ply>, ctrl_limits: [32, -1, 88] },
9
- waist_yaw_link(waist_yaw_joint): { mass: 0.244, inertia: [9.9587e-05, -1.833e-06, -1.2617e-05, 0.00012411, -1.18e-07, 0.00015586] },
4
+ waist_yaw_joint(pelvis): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_yaw_link.h5>, mass: 0.168083, inertia: [8.83938e-05, -2.82438e-09, -9.9721e-06, 0.000103081, -2.02902e-09, 0.000150067] },
5
+ pelvis_contour_link_0(pelvis): { shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/pelvis_contour_link.h5> },
6
+ left_hip_pitch_joint(left_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_hip_pitch_link.h5>, mass: 0.264573, inertia: [0.000474721, 4.31311e-06, 5.93997e-06, 0.000392354, 4.96908e-05, 0.000375138] },
7
+ right_hip_pitch_joint(right_hip_pitch_joint_origin): { joint: hingeY, limits: [-2.5307, 2.8798], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_hip_pitch_link.h5>, mass: 0.264569, inertia: [0.000474711, -4.31398e-06, 5.94077e-06, 0.000392343, -4.96889e-05, 0.000375138] },
10
8
  waist_roll_joint_origin(waist_yaw_joint): { Q: [-0.0039635, 0, 0.035] },
11
- left_hip_pitch_link(left_hip_pitch_joint): { mass: 1.35, inertia: [0.001811, 3.68e-05, -3.44e-05, 0.0014193, 0.000171, 0.0012812] },
12
9
  left_hip_roll_joint_origin(left_hip_pitch_joint): { Q: [0, 0.052, -0.030465, 0.996179, 0, -0.0873386, 0] },
13
- right_hip_pitch_link(right_hip_pitch_joint): { mass: 1.35, inertia: [0.001811, -3.68e-05, -3.44e-05, 0.0014193, -0.000171, 0.0012812] },
14
10
  right_hip_roll_joint_origin(right_hip_pitch_joint): { Q: [0, -0.052, -0.030465, 0.996179, 0, -0.0873386, 0] },
15
- waist_roll_joint(waist_roll_joint_origin): { joint: hingeX, limits: [-0.52, 0.52, 37, -1, 50], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_roll_link.ply>, ctrl_limits: [37, -1, 50] },
16
- left_hip_roll_joint(left_hip_roll_joint_origin): { joint: hingeX, limits: [-0.5236, 2.9671, 32, -1, 88], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_roll_link.ply>, ctrl_limits: [32, -1, 88] },
17
- right_hip_roll_joint(right_hip_roll_joint_origin): { joint: hingeX, limits: [-2.9671, 0.5236, 32, -1, 88], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_roll_link.ply>, ctrl_limits: [32, -1, 88] },
18
- waist_roll_link(waist_roll_joint): { mass: 0.047, inertia: [7.515e-06, 0, 0, 6.398e-06, 9.9e-08, 3.988e-06] },
11
+ waist_roll_joint(waist_roll_joint_origin): { joint: hingeX, limits: [-0.52, 0.52], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_roll_link.h5>, mass: 0.0221562, inertia: [4.0451e-06, 7.41165e-11, -2.63317e-11, 3.67093e-06, 3.77707e-11, 2.32541e-06] },
12
+ left_hip_roll_joint(left_hip_roll_joint_origin): { joint: hingeX, limits: [-0.5236, 2.9671], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_roll_link.h5>, mass: 0.388504, inertia: [0.00122176, -2.52983e-06, -0.000212212, 0.00118448, -1.72307e-06, 0.00069136] },
13
+ right_hip_roll_joint(right_hip_roll_joint_origin): { joint: hingeX, limits: [-2.9671, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_roll_link.h5>, mass: 0.388501, inertia: [0.00122175, 2.52204e-06, -0.000212212, 0.00118447, 1.73174e-06, 0.000691349] },
19
14
  waist_pitch_joint_origin(waist_roll_joint): { Q: [0, 0, 0.019] },
20
- left_hip_roll_link(left_hip_roll_joint): { mass: 1.52, inertia: [0.0023773, -3.8e-06, -0.0003908, 0.0024123, 1.84e-05, 0.0016595] },
21
15
  left_hip_yaw_joint_origin(left_hip_roll_joint): { Q: [0.025001, 0, -0.12412] },
22
- right_hip_roll_link(right_hip_roll_joint): { mass: 1.52, inertia: [0.0023773, 3.8e-06, -0.0003908, 0.0024123, -1.84e-05, 0.0016595] },
23
16
  right_hip_yaw_joint_origin(right_hip_roll_joint): { Q: [0.025001, 0, -0.12412] },
24
- waist_pitch_joint(waist_pitch_joint_origin): { joint: hingeY, limits: [-0.52, 0.52, 37, -1, 50], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/torso_link.ply>, ctrl_limits: [37, -1, 50] },
25
- left_hip_yaw_joint(left_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576, 32, -1, 88], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_yaw_link.ply>, ctrl_limits: [32, -1, 88] },
26
- right_hip_yaw_joint(right_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576, 32, -1, 88], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_yaw_link.ply>, ctrl_limits: [32, -1, 88] },
27
- torso_link(waist_pitch_joint): { mass: 8.562, inertia: [0.065675, -8.597e-05, -0.00173725, 0.0535352, 8.6899e-05, 0.0308081] },
28
- logo_link(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], mass: 0.001, inertia: [1e-07, 1e-07, 1e-07] },
29
- logo_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/logo_link.ply>, visual: True },
30
- head_link(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], mass: 1.036, inertia: [0.00408505, -2.543e-06, -6.9455e-05, 0.00418521, -3.726e-06, 0.00180791] },
31
- head_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/head_link.ply>, visual: True },
32
- waist_support_link(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], mass: 0.001, inertia: [1e-07, 1e-07, 1e-07] },
33
- waist_support_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_support_link.ply>, visual: True },
34
- left_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, 0.10022, 0.23778, 0.990264, 0.139201, 1.38722e-05, -9.86868e-05] },
35
- right_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, -0.10021, 0.23778, 0.990264, -0.139201, 1.38722e-05, 9.86868e-05] },
36
- left_hip_yaw_link(left_hip_yaw_joint): { mass: 1.702, inertia: [0.0057774, -0.0005411, -0.0023948, 0.0076124, -0.0007072, 0.003149] },
17
+ waist_pitch_joint(waist_pitch_joint_origin): { joint: hingeY, limits: [-0.52, 0.52], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/torso_link.h5>, mass: 4.46637, com: [0.00435575, 0.00507317, 0.15113], inertia: [0.0736175, -4.25291e-06, -0.0008917, 0.0665665, 0.000409521, 0.0246276] },
18
+ left_hip_yaw_joint(left_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_hip_yaw_link.h5>, mass: 0.681619, inertia: [0.0044275, -0.000108056, -0.00166275, 0.00545319, -0.000187376, 0.001876] },
19
+ right_hip_yaw_joint(right_hip_yaw_joint_origin): { joint: hingeZ, limits: [-2.7576, 2.7576], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_hip_yaw_link.h5>, mass: 0.681613, inertia: [0.00442747, 0.000108056, -0.00166275, 0.00545319, 0.000187351, 0.00187597] },
20
+ left_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, 0.10022, 0.23778, 0.990264, 0.139201, 4.05418e-05, -9.10379e-05] },
21
+ right_shoulder_pitch_joint_origin(waist_pitch_joint): { Q: [0.0039563, -0.10021, 0.23778, 0.990264, -0.139201, 4.05418e-05, 9.10379e-05] },
22
+ logo_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/logo_link.h5> },
23
+ head_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/head_link.h5> },
24
+ waist_support_link_0(waist_pitch_joint): { Q: [0.0039635, 0, -0.054], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/waist_support_link.h5> },
37
25
  left_knee_joint_origin(left_hip_yaw_joint): { Q: [-0.078273, 0.0021489, -0.17734, 0.996179, 0, 0.0873386, 0] },
38
- right_hip_yaw_link(right_hip_yaw_joint): { mass: 1.702, inertia: [0.0057774, 0.0005411, -0.0023948, 0.0076124, 0.0007072, 0.003149] },
39
26
  right_knee_joint_origin(right_hip_yaw_joint): { Q: [-0.078273, -0.0021489, -0.17734, 0.996179, 0, 0.0873386, 0] },
40
- left_shoulder_pitch_joint(left_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_pitch_link.ply>, ctrl_limits: [37, -1, 25] },
41
- right_shoulder_pitch_joint(right_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_pitch_link.ply>, ctrl_limits: [37, -1, 25] },
42
- left_knee_joint(left_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798, 20, -1, 139], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_knee_link.ply>, ctrl_limits: [20, -1, 139] },
43
- right_knee_joint(right_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798, 20, -1, 139], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_knee_link.ply>, ctrl_limits: [20, -1, 139] },
44
- left_shoulder_pitch_link(left_shoulder_pitch_joint): { mass: 0.718, inertia: [0.0004291, -9.2e-06, 6.4e-06, 0.000453, 2.26e-05, 0.000423] },
27
+ left_shoulder_pitch_joint(left_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_pitch_link.h5>, mass: 0.126023, inertia: [0.000160485, -1.66228e-07, 3.91865e-07, 0.000151496, 1.75614e-05, 0.000138798] },
28
+ right_shoulder_pitch_joint(right_shoulder_pitch_joint_origin): { joint: hingeY, limits: [-3.0892, 2.6704], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_pitch_link.h5>, mass: 0.126023, inertia: [0.000160483, 1.65124e-07, 3.90512e-07, 0.000151492, -1.75623e-05, 0.000138793] },
29
+ left_knee_joint(left_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_knee_link.h5>, mass: 0.876712, inertia: [0.00648182, 3.3975e-05, -0.000127209, 0.00672925, -0.000358869, 0.00109586] },
30
+ right_knee_joint(right_knee_joint_origin): { joint: hingeY, limits: [-0.087267, 2.8798], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_knee_link.h5>, mass: 0.876714, inertia: [0.00648176, -3.398e-05, -0.000127209, 0.00672918, 0.000358822, 0.00109587] },
45
31
  left_shoulder_roll_joint_origin(left_shoulder_pitch_joint): { Q: [0, 0.038, -0.013831, 0.990268, -0.139172, 0, 0] },
46
- right_shoulder_pitch_link(right_shoulder_pitch_joint): { mass: 0.718, inertia: [0.0004291, 9.2e-06, 6.4e-06, 0.000453, -2.26e-05, 0.000423] },
47
32
  right_shoulder_roll_joint_origin(right_shoulder_pitch_joint): { Q: [0, -0.038, -0.013831, 0.990268, 0.139172, 0, 0] },
48
- left_knee_link(left_knee_joint): { mass: 1.932, inertia: [0.011329, 4.82e-05, -4.49e-05, 0.011277, -0.0007146, 0.0015168] },
49
33
  left_ankle_pitch_joint_origin(left_knee_joint): { Q: [0, -9.4445e-05, -0.30001] },
50
- right_knee_link(right_knee_joint): { mass: 1.932, inertia: [0.011329, -4.82e-05, 4.49e-05, 0.011277, 0.0007146, 0.0015168] },
51
34
  right_ankle_pitch_joint_origin(right_knee_joint): { Q: [0, 9.4445e-05, -0.30001] },
52
- left_shoulder_roll_joint(left_shoulder_roll_joint_origin): { joint: hingeX, limits: [-1.5882, 2.2515, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_roll_link.ply>, ctrl_limits: [37, -1, 25] },
53
- right_shoulder_roll_joint(right_shoulder_roll_joint_origin): { joint: hingeX, limits: [-2.2515, 1.5882, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_roll_link.ply>, ctrl_limits: [37, -1, 25] },
54
- left_ankle_pitch_joint(left_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236, 37, -1, 50], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_ankle_pitch_link.ply>, ctrl_limits: [37, -1, 50] },
55
- right_ankle_pitch_joint(right_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236, 37, -1, 50], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_ankle_pitch_link.ply>, ctrl_limits: [37, -1, 50] },
56
- left_shoulder_roll_link(left_shoulder_roll_joint): { mass: 0.643, inertia: [0.0006177, -1e-06, 8.7e-06, 0.0006912, -5.3e-06, 0.0003894] },
35
+ left_shoulder_roll_joint(left_shoulder_roll_joint_origin): { joint: hingeX, limits: [-1.5882, 2.2515], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_roll_link.h5>, mass: 0.246281, inertia: [0.000394956, 2.09873e-08, -1.93073e-07, 0.000469736, 1.57454e-05, 0.000272781] },
36
+ right_shoulder_roll_joint(right_shoulder_roll_joint_origin): { joint: hingeX, limits: [-2.2515, 1.5882], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_roll_link.h5>, mass: 0.246283, inertia: [0.000394966, -1.6719e-08, -1.89014e-07, 0.000469741, -1.57405e-05, 0.000272773] },
37
+ left_ankle_pitch_joint(left_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_ankle_pitch_link.h5>, mass: 0.0197524, inertia: [2.78775e-06, -2.27316e-10, -5.8987e-07, 4.52084e-06, -3.84759e-10, 2.51425e-06] },
38
+ right_ankle_pitch_joint(right_ankle_pitch_joint_origin): { joint: hingeY, limits: [-0.87267, 0.5236], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_ankle_pitch_link.h5>, mass: 0.0197524, inertia: [2.78777e-06, 2.213e-10, -5.89865e-07, 4.52084e-06, 3.98325e-10, 2.51424e-06] },
57
39
  left_shoulder_yaw_joint_origin(left_shoulder_roll_joint): { Q: [0, 0.00624, -0.1032] },
58
- right_shoulder_roll_link(right_shoulder_roll_joint): { mass: 0.643, inertia: [0.0006177, 1e-06, 8.7e-06, 0.0006912, 5.3e-06, 0.0003894] },
59
40
  right_shoulder_yaw_joint_origin(right_shoulder_roll_joint): { Q: [0, -0.00624, -0.1032] },
60
- left_ankle_pitch_link(left_ankle_pitch_joint): { mass: 0.074, inertia: [8.4e-06, 0, -2.9e-06, 1.89e-05, 0, 1.26e-05] },
61
41
  left_ankle_roll_joint_origin(left_ankle_pitch_joint): { Q: [0, 0, -0.017558] },
62
- right_ankle_pitch_link(right_ankle_pitch_joint): { mass: 0.074, inertia: [8.4e-06, 0, -2.9e-06, 1.89e-05, 0, 1.26e-05] },
63
42
  right_ankle_roll_joint_origin(right_ankle_pitch_joint): { Q: [0, 0, -0.017558] },
64
- left_shoulder_yaw_joint(left_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_yaw_link.ply>, ctrl_limits: [37, -1, 25] },
65
- right_shoulder_yaw_joint(right_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_yaw_link.ply>, ctrl_limits: [37, -1, 25] },
66
- left_ankle_roll_joint(left_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618, 37, -1, 50], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_ankle_roll_link.ply>, ctrl_limits: [37, -1, 50] },
67
- right_ankle_roll_joint(right_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618, 37, -1, 50], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_ankle_roll_link.ply>, ctrl_limits: [37, -1, 50] },
68
- left_shoulder_yaw_link(left_shoulder_yaw_joint): { mass: 0.734, inertia: [0.0009988, 7.9e-06, 0.0001412, 0.0010605, -2.86e-05, 0.0004354] },
43
+ left_shoulder_yaw_joint(left_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_shoulder_yaw_link.h5>, mass: 0.330191, inertia: [0.00075724, 1.01914e-05, 0.000118153, 0.000781633, -6.07748e-05, 0.000303097] },
44
+ right_shoulder_yaw_joint(right_shoulder_yaw_joint_origin): { joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_shoulder_yaw_link.h5>, mass: 0.330189, inertia: [0.000757238, -1.01934e-05, 0.000118161, 0.000781632, 6.07703e-05, 0.000303094] },
45
+ left_ankle_roll_joint(left_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/left_ankle_roll_link.h5>, mass: 0.456098, inertia: [0.000287801, 6.50248e-08, 8.30648e-05, 0.00151895, -1.18792e-07, 0.0016069] },
46
+ right_ankle_roll_joint(right_ankle_roll_joint_origin): { joint: hingeX, limits: [-0.2618, 0.2618], shape: mesh, color: [0.2, 0.2, 0.2, 1], mesh: <meshes/right_ankle_roll_link.h5>, mass: 0.45609, inertia: [0.0002878, -9.56202e-08, 8.30614e-05, 0.00151893, 1.13682e-07, 0.00160687] },
69
47
  left_elbow_joint_origin(left_shoulder_yaw_joint): { Q: [0.015783, 0, -0.080518] },
70
- right_shoulder_yaw_link(right_shoulder_yaw_joint): { mass: 0.734, inertia: [0.0009988, -7.9e-06, 0.0001412, 0.0010605, 2.86e-05, 0.0004354] },
71
48
  right_elbow_joint_origin(right_shoulder_yaw_joint): { Q: [0.015783, 0, -0.080518] },
72
- left_ankle_roll_link(left_ankle_roll_joint): { mass: 0.608, inertia: [0.0002231, 2e-07, 8.91e-05, 0.0016161, -1e-07, 0.0016667] },
73
- right_ankle_roll_link(right_ankle_roll_joint): { mass: 0.608, inertia: [0.0002231, -2e-07, 8.91e-05, 0.0016161, 1e-07, 0.0016667] },
74
- left_elbow_joint(left_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_elbow_link.ply>, ctrl_limits: [37, -1, 25] },
75
- right_elbow_joint(right_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_elbow_link.ply>, ctrl_limits: [37, -1, 25] },
76
- left_elbow_link(left_elbow_joint): { mass: 0.6, inertia: [0.0002891, 6.53e-05, 1.72e-05, 0.0004152, -5.6e-06, 0.0004197] },
49
+ left_elbow_joint(left_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_elbow_link.h5>, mass: 0.133212, inertia: [0.000105606, 4.41256e-05, 1.51768e-05, 0.000221879, -4.66813e-06, 0.000221601] },
50
+ right_elbow_joint(right_elbow_joint_origin): { joint: hingeY, limits: [-1.0472, 2.0944], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_elbow_link.h5>, mass: 0.133212, inertia: [0.000105601, -4.41257e-05, 1.5176e-05, 0.000221877, 4.66758e-06, 0.000221596] },
77
51
  left_wrist_roll_joint_origin(left_elbow_joint): { Q: [0.1, 0.00188791, -0.01] },
78
- right_elbow_link(right_elbow_joint): { mass: 0.6, inertia: [0.0002891, -6.53e-05, 1.72e-05, 0.0004152, 5.6e-06, 0.0004197] },
79
52
  right_wrist_roll_joint_origin(right_elbow_joint): { Q: [0.1, -0.00188791, -0.01] },
80
- left_wrist_roll_joint(left_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_roll_link.ply>, ctrl_limits: [37, -1, 25] },
81
- right_wrist_roll_joint(right_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222, 37, -1, 25], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_roll_link.ply>, ctrl_limits: [37, -1, 25] },
82
- left_wrist_roll_link(left_wrist_roll_joint): { mass: 0.085445, inertia: [4.82154e-05, -4.24511e-06, 5.10599e-09, 3.7229e-05, -1.23525e-09, 5.48211e-05] },
53
+ left_wrist_roll_joint(left_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_roll_link.h5>, mass: 0.0819051, inertia: [5.76855e-05, -6.70778e-07, 1.09252e-09, 4.18275e-05, -1.21848e-09, 6.33789e-05] },
54
+ right_wrist_roll_joint(right_wrist_roll_joint_origin): { joint: hingeX, limits: [-1.97222, 1.97222], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_roll_link.h5>, mass: 0.0819045, inertia: [5.76834e-05, 6.70746e-07, 8.73074e-10, 4.18274e-05, 8.19224e-10, 6.33769e-05] },
83
55
  left_wrist_pitch_joint_origin(left_wrist_roll_joint): { Q: [0.038, 0, 0] },
84
- right_wrist_roll_link(right_wrist_roll_joint): { mass: 0.085445, inertia: [4.82154e-05, 4.24511e-06, 5.10599e-09, 3.7229e-05, 1.23525e-09, 5.48211e-05] },
85
56
  right_wrist_pitch_joint_origin(right_wrist_roll_joint): { Q: [0.038, 0, 0] },
86
- left_wrist_pitch_joint(left_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443, 22, -1, 5], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_pitch_link.ply>, ctrl_limits: [22, -1, 5] },
87
- right_wrist_pitch_joint(right_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443, 22, -1, 5], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_pitch_link.ply>, ctrl_limits: [22, -1, 5] },
88
- left_wrist_pitch_link(left_wrist_pitch_joint): { mass: 0.48405, inertia: [0.000165796, -1.23121e-05, 1.2317e-05, 0.000429541, 8.14177e-07, 0.000429537] },
57
+ left_wrist_pitch_joint(left_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_pitch_link.h5>, mass: 0.102165, inertia: [6.54114e-05, -1.39886e-06, 1.39875e-06, 0.000133698, 1.78434e-08, 0.000133699] },
58
+ right_wrist_pitch_joint(right_wrist_pitch_joint_origin): { joint: hingeY, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_pitch_link.h5>, mass: 0.102164, inertia: [6.54077e-05, 1.39993e-06, 1.3996e-06, 0.000133692, -1.67215e-08, 0.000133692] },
89
59
  left_wrist_yaw_joint_origin(left_wrist_pitch_joint): { Q: [0.046, 0, 0] },
90
- right_wrist_pitch_link(right_wrist_pitch_joint): { mass: 0.48405, inertia: [0.000165796, 1.23121e-05, 1.2317e-05, 0.000429541, -8.14177e-07, 0.000429537] },
91
60
  right_wrist_yaw_joint_origin(right_wrist_pitch_joint): { Q: [0.046, 0, 0] },
92
- left_wrist_yaw_joint(left_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443, 22, -1, 5], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_yaw_link.ply>, ctrl_limits: [22, -1, 5] },
93
- right_wrist_yaw_joint(right_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443, 22, -1, 5], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_yaw_link.ply>, ctrl_limits: [22, -1, 5] },
94
- left_wrist_yaw_link(left_wrist_yaw_joint): { mass: 0.0845765, inertia: [4.92913e-05, -4.57355e-07, 4.45868e-06, 5.97334e-05, 4.32172e-07, 3.92808e-05] },
95
- left_rubber_hand(left_wrist_yaw_joint): { Q: [0.0415, 0.003, 0], mass: 0.17, inertia: [0.000100995, 3.61859e-05, -7.43015e-07, 0.000281359, 3.3019e-06, 0.000218948] },
96
- left_rubber_hand_0(left_wrist_yaw_joint): { Q: [0.0415, 0.003, 0], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_rubber_hand.ply>, visual: True },
97
- right_wrist_yaw_link(right_wrist_yaw_joint): { mass: 0.0845765, inertia: [4.92913e-05, 4.57355e-07, 4.45868e-06, 5.97334e-05, -4.32172e-07, 3.92808e-05] },
98
- right_rubber_hand(right_wrist_yaw_joint): { Q: [0.0415, -0.003, 0], mass: 0.17, inertia: [0.000100995, -3.61859e-05, -7.43015e-07, 0.000281359, -3.3019e-06, 0.000218948] },
99
- right_rubber_hand_0(right_wrist_yaw_joint): { Q: [0.0415, -0.003, 0], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_rubber_hand.ply>, visual: True }
61
+ left_wrist_yaw_joint(left_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_wrist_yaw_link.h5>, mass: 0.235411, com: [0.0788504, -0.00205286, 0.0021586], inertia: [0.000185982, 6.57578e-05, -7.51085e-06, 0.000766002, 3.21636e-06, 0.000670575] },
62
+ right_wrist_yaw_joint(right_wrist_yaw_joint_origin): { joint: hingeZ, limits: [-1.61443, 1.61443], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_wrist_yaw_link.h5>, mass: 0.235418, com: [0.0788478, 0.00205232, 0.00215915], inertia: [0.00018599, -6.5759e-05, -7.50542e-06, 0.000766053, -3.21646e-06, 0.000670623] },
63
+ left_rubber_hand_0(left_wrist_yaw_joint): { Q: [0.0415, 0.003, 0], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/left_rubber_hand.h5> },
64
+ right_rubber_hand_0(right_wrist_yaw_joint): { Q: [0.0415, -0.003, 0], shape: mesh, color: [0.7, 0.7, 0.7, 1], mesh: <meshes/right_rubber_hand.h5> }