robotic 0.2.9.dev1__cp310-cp310-manylinux2014_x86_64.whl → 0.2.9.dev2__cp310-cp310-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
@@ -1,5 +1,5 @@
1
1
  base_link: { mass: 0.162716, inertia: [0.0007237, -1.55745e-08, -3.42379e-12, 0.000744047, 2.24935e-07, 2.14413e-05] },
2
- base_link_0(base_link): { Q: [0, 0, 0, 0.000796327, 1, 0, 0], shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/ranger_mini3.ply>, visual: True },
2
+ base_link_0(base_link): { Q: [0, 0, 0, 1, -1, 0, 0], shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/ranger_mini3.h5>, visual: True },
3
3
  fr_joint_origin(base_link): { Q: [0.25, -0.19, -0.1] },
4
4
  fl_joint_origin(base_link): { Q: [0.25, 0.19, -0.1, -3.67321e-06, 1, 0, 0] },
5
5
  br_joint_origin(base_link): { Q: [-0.25, -0.19, -0.1] },
@@ -12,7 +12,7 @@ fr_Link(fr_joint): { mass: 2.2786, inertia: [0.0063625, -1.0581e-07, -4.0831e-07
12
12
  fl_Link(fl_joint): { mass: 2.2786, inertia: [0.0063695, -2.1067e-08, -0.00016867, 0.006363, -1.0301e-08, 0.010458] },
13
13
  br_Link(br_joint): { mass: 2.2786, inertia: [0.0063627, -2.1069e-08, -1.587e-05, 0.006363, 9.3201e-09, 0.010465] },
14
14
  bl_Link(bl_joint): { mass: 2.2786, inertia: [0.0063656, -8.1498e-08, -0.00011049, 0.006363, 6.6847e-08, 0.010462] },
15
- fr_Link_0(fr_Link): { Q: [-0.248, -0.113, 0.155, 0.000563312, 0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.ply>, visual: True },
16
- fl_Link_0(fl_Link): { Q: [-0.248, 0.1265, 0.191, 0.000563312, -0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.ply>, visual: True },
17
- br_Link_0(br_Link): { Q: [-0.241, -0.11, 0.155, 0.000563312, 0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.ply>, visual: True },
18
- bl_Link_0(bl_Link): { Q: [-0.241, 0.13, 0.2, 0.000563312, -0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.ply>, visual: True }
15
+ fr_Link_0(fr_Link): { Q: [-0.248, -0.113, 0.155, 0.000563312, 0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.h5>, visual: True },
16
+ fl_Link_0(fl_Link): { Q: [-0.248, 0.1265, 0.191, 0.000563312, -0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.h5>, visual: True },
17
+ br_Link_0(br_Link): { Q: [-0.241, -0.11, 0.155, 0.000563312, 0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.h5>, visual: True },
18
+ bl_Link_0(bl_Link): { Q: [-0.241, 0.13, 0.2, 0.000563312, -0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.h5>, visual: True }
@@ -0,0 +1,14 @@
1
+ base_link: { mass: 25.7056, com: [0.0326128, 0.0718265, -0.00166507], inertia: [0.711027, 0.000383359, 0.0416814, 1.36554, 0.00276036, 1.84066] },
2
+ base_link_0(base_link): { Q: [0, 0, 0, 0.707388, -0.706825, 0, 0], shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/ranger_mini3.h5> },
3
+ fr_joint_origin(base_link): { Q: [0.25, -0.19, -0.1] },
4
+ fl_joint_origin(base_link): { Q: [0.25, 0.19, -0.1, -3.67321e-06, 1, 0, 0] },
5
+ br_joint_origin(base_link): { Q: [-0.25, -0.19, -0.1] },
6
+ bl_joint_origin(base_link): { Q: [-0.25, 0.19, -0.1, -3.67321e-06, 1, 0, 0] },
7
+ fr_joint(fr_joint_origin): { joint: hingeZ, joint_scale: -1, mass: 1.34089, com: [-0.49413, -0.335584, 0.280301], inertia: [0.00931857, -3.63082e-06, -4.19248e-06, 0.0101184, 0.000264633, 0.00405613] },
8
+ fl_joint(fl_joint_origin): { joint: hingeZ, joint_scale: -1, mass: 1.33115, com: [-0.493868, 0.257102, 0.304992], inertia: [0.00930652, 2.87129e-06, -2.07991e-05, 0.0101544, -0.000255253, 0.0040282] },
9
+ br_joint(br_joint_origin): { joint: hingeZ, joint_scale: -1, mass: 1.34089, com: [-0.48713, -0.332584, 0.280301], inertia: [0.00931857, -3.63082e-06, -4.19248e-06, 0.0101184, 0.000264633, 0.00405613] },
10
+ bl_joint(bl_joint_origin): { joint: hingeZ, joint_scale: -1, mass: 1.33115, com: [-0.486868, 0.260602, 0.313992], inertia: [0.00930652, 2.87129e-06, -2.07991e-05, 0.0101544, -0.000255253, 0.0040282] },
11
+ fr_Link_0(fr_joint): { Q: [-0.248, -0.113, 0.155, 0.000563312, -0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.h5> },
12
+ fl_Link_0(fl_joint): { Q: [-0.248, 0.1265, 0.191, 0.000563312, 0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.h5> },
13
+ br_Link_0(br_joint): { Q: [-0.241, -0.11, 0.155, 0.000563312, -0.000562864, 0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel_right.h5> },
14
+ bl_Link_0(bl_joint): { Q: [-0.241, 0.13, 0.2, 0.000563312, 0.000562864, -0.706825, 0.707388], shape: mesh, color: [0.79216, 0.81961, 0.93333, 1], mesh: <meshes/ranger_mini_v3_wheel.h5> }
@@ -1,11 +1,11 @@
1
1
  robotiq_base: { X: [0, 0, 1] }
2
2
 
3
- Include: <robotiq_clean.g>
3
+ Include: <robotiq_arg2f_85_model_conv.g>
4
4
  Edit robotiq_arg2f_base_link (robotiq_base): {}
5
5
 
6
6
  # add F/T sensor
7
7
 
8
- ftsensor (robotiq_base): { Q: [0, 0, -.035], shape: mesh, color: [0.2, 0.2, 0.2], mesh: <meshes/visual/robotiq_ft300.ply> }
8
+ ftsensor (robotiq_base): { Q: [0, 0, -.035], shape: mesh, color: [0.2, 0.2, 0.2], mesh: <meshes/robotiq_ft300.ply> }
9
9
 
10
10
 
11
11
  # define a gripper, palm and fingers
@@ -0,0 +1,21 @@
1
+ robotiq_arg2f_base_link: { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_base_link.h5>, mass: 0.16309, inertia: [0.00022626, 6.22636e-10, 6.5573e-11, 0.000188087, -3.11813e-07, 0.000141097] },
2
+ finger_joint_origin(robotiq_arg2f_base_link): { Q: [0, -0.0306011, 0.054904, 6.12323e-17, 0, 0, 1] },
3
+ left_inner_knuckle_joint_origin(robotiq_arg2f_base_link): { Q: [0, -0.0127, 0.06142, 6.12323e-17, 0, 0, 1] },
4
+ right_outer_knuckle_joint_origin(robotiq_arg2f_base_link): { Q: [0, 0.0306011, 0.054904] },
5
+ right_inner_knuckle_joint_origin(robotiq_arg2f_base_link): { Q: [0, 0.0127, 0.06142] },
6
+ finger_joint(finger_joint_origin): { joint: hingeX, limits: [0, 0.8], shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/robotiq_arg2f_85_outer_knuckle.h5>, mass: 0.0141429, inertia: [3.26716e-06, -5.23289e-17, 8.54928e-17, 3.03476e-06, 1.77988e-07, 8.59178e-07] },
7
+ left_inner_knuckle_joint(left_inner_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.8757], mimic: finger_joint, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_inner_knuckle.h5>, mass: 0.0293528, inertia: [1.18448e-05, -2.51482e-13, 9.42698e-14, 1.16071e-05, -5.32477e-06, 9.92039e-06] },
8
+ right_outer_knuckle_joint(right_outer_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.81], mimic: finger_joint, shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/robotiq_arg2f_85_outer_knuckle.h5>, mass: 0.0141429, inertia: [3.26716e-06, -5.23289e-17, 8.54928e-17, 3.03476e-06, 1.77988e-07, 8.59178e-07] },
9
+ right_inner_knuckle_joint(right_inner_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.8757], mimic: finger_joint, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_inner_knuckle.h5>, mass: 0.0293528, inertia: [1.18448e-05, -2.51482e-13, 9.42698e-14, 1.16071e-05, -5.32477e-06, 9.92039e-06] },
10
+ left_outer_finger_joint_origin(finger_joint): { Q: [0, 0.0315, -0.0041] },
11
+ right_outer_finger_joint_origin(right_outer_knuckle_joint): { Q: [0, 0.0315, -0.0041] },
12
+ left_outer_finger_joint(left_outer_finger_joint_origin): { joint: rigid, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_outer_finger.h5>, mass: 0.0246725, inertia: [8.05877e-06, 5.27023e-16, -3.05353e-16, 9.48665e-06, -9.13935e-07, 2.56178e-06] },
13
+ right_outer_finger_joint(right_outer_finger_joint_origin): { joint: rigid, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_outer_finger.h5>, mass: 0.0246725, inertia: [8.05877e-06, 5.27023e-16, -3.05353e-16, 9.48665e-06, -9.13935e-07, 2.56178e-06] },
14
+ left_inner_finger_joint_origin(left_outer_finger_joint): { Q: [0, 0.0061, 0.0471] },
15
+ right_inner_finger_joint_origin(right_outer_finger_joint): { Q: [0, 0.0061, 0.0471] },
16
+ left_inner_finger_joint(left_inner_finger_joint_origin): { joint: hingeX, limits: [0, 0.8757], mimic: finger_joint, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_inner_finger.h5>, mass: 0.0205822, inertia: [5.68083e-06, -1.41221e-12, 4.89169e-12, 4.88007e-06, 1.15703e-06, 1.93071e-06] },
17
+ right_inner_finger_joint(right_inner_finger_joint_origin): { joint: hingeX, limits: [0, 0.8757], mimic: finger_joint, shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/robotiq_arg2f_85_inner_finger.h5>, mass: 0.0205822, inertia: [5.68083e-06, -1.41221e-12, 4.89169e-12, 4.88007e-06, 1.15703e-06, 1.93071e-06] },
18
+ left_inner_finger_pad_joint_origin(left_inner_finger_joint): { Q: [0, -0.0220203, 0.03242] },
19
+ right_inner_finger_pad_joint_origin(right_inner_finger_joint): { Q: [0, -0.0220203, 0.03242] },
20
+ left_inner_finger_pad_joint(left_inner_finger_pad_joint_origin): { joint: rigid, shape: box, size: [0.022, 0.00635, 0.0375], color: [0.9, 0.9, 0.9, 1], mass: 0.0120282, inertia: [1.73997e-05, 2.27364e-05, 6.30668e-06] },
21
+ right_inner_finger_pad_joint(right_inner_finger_pad_joint_origin): { joint: rigid, shape: box, size: [0.022, 0.00635, 0.0375], color: [0.9, 0.9, 0.9, 1], mass: 0.0120282, inertia: [1.73997e-05, 2.27364e-05, 6.30668e-06] }
@@ -1,24 +1,24 @@
1
1
  robotiq_arg2f_base_link: { mass: 0.22652, inertia: [0.00020005, -4.2442e-10, -2.9069e-10, 0.00017832, -3.4402e-08, 0.00013478] }
2
2
  robotiq_arg2f_base_link_0(robotiq_arg2f_base_link): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_base_link.ply>, meshscale: 0.001, visual: True }
3
- finger_joint_origin(robotiq_arg2f_base_link): { rel: [0, -0.0306011, 0.054904, 6.12323e-17, 0, 0, 1] }
4
- left_inner_knuckle_joint_origin(robotiq_arg2f_base_link): { rel: [0, -0.0127, 0.06142, 6.12323e-17, 0, 0, 1] }
5
- right_outer_knuckle_joint_origin(robotiq_arg2f_base_link): { rel: [0, 0.0306011, 0.054904, 1, 0, 0, 0] }
6
- right_inner_knuckle_joint_origin(robotiq_arg2f_base_link): { rel: [0, 0.0127, 0.06142, 1, 0, 0, 0] }
7
- finger_joint(finger_joint_origin): { joint: hingeX, limits: [0, 0.8, 2, -1, 1000], ctrl_limits: [2, -1, 1000] }
8
- left_inner_knuckle_joint(left_inner_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
9
- right_outer_knuckle_joint(right_outer_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.81, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
10
- right_inner_knuckle_joint(right_inner_knuckle_joint_origin): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
3
+ robotiq_arg2f_base_link>finger_joint(robotiq_arg2f_base_link): { Q: [0, -0.0306011, 0.054904, 6.12323e-17, 0, 0, 1] }
4
+ robotiq_arg2f_base_link>left_inner_knuckle_joint(robotiq_arg2f_base_link): { Q: [0, -0.0127, 0.06142, 6.12323e-17, 0, 0, 1] }
5
+ robotiq_arg2f_base_link>right_outer_knuckle_joint(robotiq_arg2f_base_link): { Q: [0, 0.0306011, 0.054904, 1, 0, 0, 0] }
6
+ robotiq_arg2f_base_link>right_inner_knuckle_joint(robotiq_arg2f_base_link): { Q: [0, 0.0127, 0.06142, 1, 0, 0, 0] }
7
+ finger_joint(robotiq_arg2f_base_link>finger_joint): { joint: hingeX, limits: [0, 0.8, 2, -1, 1000], ctrl_limits: [2, -1, 1000] }
8
+ left_inner_knuckle_joint(robotiq_arg2f_base_link>left_inner_knuckle_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
9
+ right_outer_knuckle_joint(robotiq_arg2f_base_link>right_outer_knuckle_joint): { joint: hingeX, limits: [0, 0.81, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
10
+ right_inner_knuckle_joint(robotiq_arg2f_base_link>right_inner_knuckle_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
11
11
  left_outer_knuckle_0(finger_joint): { shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_knuckle.ply>, meshscale: 0.001, visual: True }
12
- left_outer_finger_0(finger_joint): { rel: [0, 0.0315, -0.0041, 1, 0, 0, 0], shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_finger.ply>, meshscale: 0.001, visual: True }
13
- left_inner_finger_joint_origin(finger_joint): { rel: [0, 0.0376, 0.043, 1, 0, 0, 0] }
12
+ left_outer_finger_0(finger_joint): { Q: [0, 0.0315, -0.0041, 1, 0, 0, 0], shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_finger.ply>, meshscale: 0.001, visual: True }
13
+ left_outer_finger>left_inner_finger_joint(finger_joint): { Q: [0, 0.0376, 0.043, 1, 0, 0, 0] }
14
14
  left_inner_knuckle_0(left_inner_knuckle_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_knuckle.ply>, meshscale: 0.001, visual: True }
15
15
  right_outer_knuckle_0(right_outer_knuckle_joint): { shape: mesh, color: [0.792157, 0.819608, 0.933333, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_knuckle.ply>, meshscale: 0.001, visual: True }
16
- right_outer_finger_0(right_outer_knuckle_joint): { rel: [0, 0.0315, -0.0041, 1, 0, 0, 0], shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_finger.ply>, meshscale: 0.001, visual: True }
17
- right_inner_finger_joint_origin(right_outer_knuckle_joint): { rel: [0, 0.0376, 0.043, 1, 0, 0, 0] }
16
+ right_outer_finger_0(right_outer_knuckle_joint): { Q: [0, 0.0315, -0.0041, 1, 0, 0, 0], shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_outer_finger.ply>, meshscale: 0.001, visual: True }
17
+ right_outer_finger>right_inner_finger_joint(right_outer_knuckle_joint): { Q: [0, 0.0376, 0.043, 1, 0, 0, 0] }
18
18
  right_inner_knuckle_0(right_inner_knuckle_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_knuckle.ply>, meshscale: 0.001, visual: True }
19
- left_inner_finger_joint(left_inner_finger_joint_origin): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
20
- right_inner_finger_joint(right_inner_finger_joint_origin): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
19
+ left_inner_finger_joint(left_outer_finger>left_inner_finger_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
20
+ right_inner_finger_joint(right_outer_finger>right_inner_finger_joint): { joint: hingeX, limits: [0, 0.8757, 2, -1, 1000], mimic: "finger_joint", ctrl_limits: [2, -1, 1000] }
21
21
  left_inner_finger_0(left_inner_finger_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_finger.ply>, meshscale: 0.001, visual: True }
22
- left_inner_finger_pad_0(left_inner_finger_joint): { rel: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375, 0], color: [0.9, 0.9, 0.9, 1], visual: True }
22
+ left_inner_finger_pad_0(left_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375, 0], color: [0.9, 0.9, 0.9, 1], visual: True }
23
23
  right_inner_finger_0(right_inner_finger_joint): { shape: mesh, color: [0.1, 0.1, 0.1, 1], mesh: <meshes/visual/robotiq_arg2f_85_inner_finger.ply>, meshscale: 0.001, visual: True }
24
- right_inner_finger_pad_0(right_inner_finger_joint): { rel: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375, 0], color: [0.9, 0.9, 0.9, 1], visual: True }
24
+ right_inner_finger_pad_0(right_inner_finger_joint): { Q: [0, -0.0220203, 0.03242, 1, 0, 0, 0], shape: box, size: [0.022, 0.00635, 0.0375, 0], color: [0.9, 0.9, 0.9, 1], visual: True }
@@ -1,5 +1,5 @@
1
1
  base { X:[0 0 .5], multibody, multibody_gravity: false }
2
- jointX(base){ joint:transX, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
3
- jointY(jointX){ joint:transY, mass:.01, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
2
+ jointX(base){ joint:transX, mass:.01, inertia:[.01,.01,.01], limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
3
+ jointY(jointX){ joint:transY, mass:.01, inertia:[.01,.01,.01], limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
4
4
  jointZ(jointY){ joint:transZ, limits: [-1.,1.], motorLambda: .01, motorMass: .01, sampleUniform: 1. }
5
5
  finger(jointZ){ shape:sphere, size:[.02], color:[.5 1 1], contact:1, mass: .1 }
@@ -1,11 +1,8 @@
1
1
 
2
- world: {}
3
-
4
2
  table: { X: [0, 0, .1], shape: ssBox, size: [2, 2, .1, .02], color: [.3, .3, .3] }
5
3
 
6
4
  obj: { X: [0, 0, 2], shape: marker, size: [.3] }
7
-
8
- part1 (obj): { Q: "t(0 -.5 0) d(90 0 1 0)", shape: capsule, size: [.5, .05], color: [.9, .9, .9], mass: 1 }
9
- part2 (obj): { Q: "t(0 .5 0)", shape: capsule, size: [1., .05], color: [.9, .9, .9] }
10
- part3 (obj): { Q: "t(0 .25 0) d(90 1 0 0)", shape: capsule, size: [1.5, .05], color: [.9, .9, .9] }
5
+ part1 (obj): { Q: "t(0 -.5 0) d(90 0 1 0)", shape: sphere, size: [.15], color: [.9, .9, .9], mass: 1 }
6
+ part2 (obj): { Q: "t(0 .5 0)", shape: capsule, size: [1., .05], color: [.9, .9, .9], mass: 1 }
7
+ part3 (obj): { Q: "t(0 .25 0) d(90 1 0 0)", shape: capsule, size: [1.5, .05], color: [.9, .9, .9], mass: 1 }
11
8
  part4 (obj): { Q: "t(.3 1. 0) d(90 1 0 0)", shape: ssBox, size: [.5, .5, .5, .05], color: [.9, .9, .9], mass: 1 }
@@ -1,5 +1,5 @@
1
1
  Prefix: "ur_"
2
- Include: <ur10_clean.g>
2
+ Include: <ur10_conv.g>
3
3
  Prefix: false
4
4
 
5
5
  Edit ur_world_joint_origin: { rel: [0, 0, 0] }
@@ -0,0 +1,17 @@
1
+ world: { },
2
+ world_joint_origin(world): { Q: [0, 0, 1] },
3
+ world_joint(world_joint_origin): { joint: rigid, shape: mesh, color: [0.371451, 0.371451, 0.371451, 1], mesh: <meshes/base.h5>, mass: 0.328598, inertia: [0.000876246, -3.50721e-07, -2.99737e-08, 0.000730367, 2.05527e-06, 0.00143972] },
4
+ shoulder_pan_joint_origin(world_joint): { Q: [0, 0, 0.1273] },
5
+ shoulder_pan_joint(shoulder_pan_joint_origin): { joint: hingeZ, limits: [-6.28319, 6.28319], shape: mesh, mesh: <meshes/shoulder.h5>, mass: 0.909582, inertia: [0.00565017, -6.93355e-06, -8.74462e-06, 0.00537262, -4.97716e-05, 0.00439801] },
6
+ shoulder_lift_joint_origin(shoulder_pan_joint): { Q: [0, 0.220941, 0, 0.707107, 0, 0.707107, 0] },
7
+ shoulder_lift_joint(shoulder_lift_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319], shape: mesh, mesh: <meshes/upperarm.h5>, mass: 2.43496, inertia: [0.159184, 1.47112e-05, -8.39265e-05, 0.157564, 0.000647215, 0.0100854] },
8
+ elbow_joint_origin(shoulder_lift_joint): { Q: [0, -0.1719, 0.612] },
9
+ elbow_joint(elbow_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319], shape: mesh, mesh: <meshes/forearm.h5>, mass: 1.75122, inertia: [0.0968559, -9.76006e-06, 1.57892e-05, 0.0958587, 0.000947383, 0.00463623] },
10
+ wrist_1_joint_origin(elbow_joint): { Q: [0, 0, 0.5723, 0.707107, 0, 0.707107, 0] },
11
+ wrist_1_joint(wrist_1_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319], shape: mesh, mesh: <meshes/wrist1.h5>, mass: 0.361159, inertia: [0.000895857, 1.09527e-06, 9.37493e-07, 0.000848918, -1.01451e-05, 0.000646337] },
12
+ wrist_2_joint_origin(wrist_1_joint): { Q: [0, 0.1149, 0] },
13
+ wrist_2_joint(wrist_2_joint_origin): { joint: hingeZ, limits: [-6.28319, 6.28319], shape: mesh, mesh: <meshes/wrist2.h5>, mass: 0.361992, inertia: [0.000898399, -5.86223e-07, -1.0802e-06, 0.000648368, -1.06317e-05, 0.000850769] },
14
+ wrist_3_joint_origin(wrist_2_joint): { Q: [0, 0, 0.1157] },
15
+ wrist_3_joint(wrist_3_joint_origin): { joint: hingeY, limits: [-6.28319, 6.28319], shape: mesh, color: [0.464314, 0.464314, 0.464314, 1], mesh: <meshes/wrist3.h5>, mass: 0.108345, inertia: [8.36376e-05, 4.10321e-09, 1.31385e-08, 0.000134503, -9.21218e-09, 8.00354e-05] },
16
+ ee_fixed_joint_origin(wrist_3_joint): { Q: [0, 0.0922, 0, 0.707107, 0, 0, 0.707107] },
17
+ ee_fixed_joint(ee_fixed_joint_origin): { joint: rigid }
@@ -0,0 +1,73 @@
1
+ #!/usr/bin/env python3
2
+
3
+ # from config_mujoco import *
4
+ # from config_urdf import *
5
+ # from mesh_helper import *
6
+ from robotic.src.yaml_helper import *
7
+ import robotic as ry
8
+ import argparse
9
+ import glob
10
+ import os
11
+
12
+ parser = argparse.ArgumentParser(
13
+ description='Utility to clean meshes in meshes/')
14
+
15
+ parser.add_argument('file', type=str, help='urdf file', nargs='?', default='none')
16
+
17
+ parser.add_argument('-view', help='view mesh', action="store_true", default=True)
18
+ parser.add_argument('-flipDaeYZ', help='view mesh', action="store_true", default=False)
19
+ parser.add_argument('-recomputeInertias', help='view mesh', action="store_true")
20
+ parser.add_argument('-processMeshes', help='view mesh', action="store_true", default=True)
21
+ parser.add_argument('-meshlab', help='apply meshlab filters', action="store_true", default=False)
22
+
23
+ def main():
24
+ args = parser.parse_args()
25
+
26
+ if args.file=='none':
27
+ # args.file = '/home/mtoussai/git/rai-robotModels/pr2/pr2.urdf'
28
+ args.file = '/home/mtoussai/git/rai-robotModels/panda/panda_arm_hand.urdf'
29
+ # args.file = '/home/mtoussai/git/rai-robotModels/g1/g1_description/g1_29dof.urdf'
30
+ # args.file = '/home/mtoussai/git/rai-robotModels/ranger/ranger_mini.urdf'
31
+
32
+ print('=== URDF CONVERT ===', args.file)
33
+
34
+ path, file = os.path.split(args.file)
35
+ filebase, _ = os.path.splitext(file)
36
+
37
+ if args.flipDaeYZ:
38
+ ry.params_add({'assimp/daeFlipYZ': False})
39
+
40
+ C = ry.URDFLoader(args.file, visualsOnly=True, meshPathRemove='package://').C
41
+
42
+ C.processStructure(False, True, False, False)
43
+ C.processInertias(args.recomputeInertias)
44
+ C.processStructure(False, True, False, False)
45
+
46
+ os.system('rm -Rf meshes/')
47
+ C.writeMeshes('meshes/', copyTextures=True)
48
+
49
+ print('#frames: ', C.getFrameDimension())
50
+ with open(f'{filebase}_conv.g', 'w') as fil:
51
+ #yaml.dump(C.asDict(), file, default_flow_style=False)
52
+ fil.write(C.write())
53
+
54
+ yaml_write_dict(C.asDict(), f'{filebase}_conv.yml')
55
+
56
+ C.view(True)
57
+ # C.animate()
58
+
59
+ if args.processMeshes:
60
+ for file in sorted(glob.glob('meshes/*.h5')):
61
+
62
+ M = ry.MeshHelper(file)
63
+ if M.mesh is None:
64
+ continue
65
+
66
+ M.repair(mergeTolerance=1e-4)
67
+ print(' watertight:', M.mesh.is_watertight)
68
+ print(' oriented:', M.mesh.is_winding_consistent)
69
+ M.report()
70
+ M.export_h5()
71
+
72
+ if __name__ == "__main__":
73
+ main()
@@ -0,0 +1,237 @@
1
+
2
+ import os
3
+ import numpy as np
4
+ import robotic as ry
5
+ import xml.etree.ElementTree as ET
6
+ from copy import copy
7
+
8
+ class MujocoLoader():
9
+
10
+ def __init__(self, file, visualsOnly=True):
11
+ self.visualsOnly = visualsOnly
12
+ self.debug_counter = 0
13
+ self.muj2rai_joint_map = {
14
+ '1 0 0': ry.JT.hingeX,
15
+ '0 1 0': ry.JT.hingeY,
16
+ '0 0 1': ry.JT.hingeZ,
17
+ '-1 0 0': ry.JT.hingeX,
18
+ '0 -1 0': ry.JT.hingeY,
19
+ '0 0 -1': ry.JT.hingeZ,
20
+ }
21
+
22
+ tree = ET.parse(file)
23
+ path, _ = os.path.split(file)
24
+ root = tree.getroot()
25
+
26
+ self.materials = {}
27
+ self.textures = {}
28
+ self.meshes = {}
29
+ self.load_assets(root, path)
30
+ self.bodyCount = -1
31
+
32
+ self.C = ry.Config()
33
+ self.base = self.C.addFrame('base')
34
+ self.base.addAttributes({'multibody':True})
35
+ self.base.setQuaternion([0,0,0,1])
36
+ self.add_node(root, self.base, path, 0)
37
+
38
+ def as_floats(self, input_string):
39
+ return [float(num) for num in input_string.replace(',', ' ').split()]
40
+
41
+ def load_assets(self, root, path):
42
+ texs = root.findall('.//texture')
43
+ for tex in texs:
44
+ name = tex.attrib.get('name', '')
45
+ file = tex.attrib.get('file', '')
46
+ self.textures[name] = os.path.join(path, file)
47
+
48
+ maters = root.findall('.//material')
49
+ for mater in maters:
50
+ name = mater.attrib.get('name', '')
51
+ color = mater.attrib.get('rgba', '')
52
+ texture_name = mater.attrib.get('texture', '')
53
+ if texture_name:
54
+ self.materials[name] = self.textures[texture_name]
55
+ elif color:
56
+ self.materials[name] = color
57
+ else:
58
+ self.materials[name] = ''
59
+
60
+ for mesh in root.findall('.//mesh'):
61
+ name = mesh.attrib.get('name', '')
62
+ file = mesh.attrib.get('file', '')
63
+ if file.startswith('visual') or file.startswith('collision'): #HACK: the true path is hidden in some compiler attribute
64
+ file = 'meshes/'+file
65
+ mesh.attrib['file'] = file
66
+ self.meshes[name] = mesh.attrib
67
+
68
+ def add_node(self, node, f_parent, path, level):
69
+ if 'file' in node.attrib:
70
+ file = node.attrib['file']
71
+ node.attrib['file'] = os.path.join(path, file)
72
+
73
+ print('|'+level*' ', node.tag, node.attrib)
74
+
75
+ if node.tag == 'include':
76
+ file = node.attrib['file']
77
+ tree = ET.parse(file)
78
+ root = tree.getroot()
79
+ path, _ = os.path.split(file)
80
+ self.load_assets(root, path)
81
+ self.add_node(root, f_parent, path, level+1)
82
+
83
+ f_body = None
84
+
85
+ if node.tag == 'body':
86
+ f_body = self.add_body(node, f_parent)
87
+
88
+ for child in node:
89
+ if f_body is None:
90
+ self.add_node(child, f_parent, path, level+1)
91
+ else:
92
+ self.add_node(child, f_body, path, level+1)
93
+
94
+ def add_body(self, body, f_parent):
95
+ self.bodyCount += 1
96
+ body_name = body.attrib.get('name', f'body_{self.bodyCount}')
97
+
98
+ # if self.C.getFrame(body_name, False):
99
+ body_name = f'{body_name}_{self.bodyCount}'
100
+ f_body = self.C.addFrame(body_name)
101
+ f_body.setParent(f_parent)
102
+ self.setRelativePose(f_body, body.attrib)
103
+
104
+ for i, joint in enumerate(body.findall('./joint')):
105
+ axis = joint.attrib.get('axis', None)
106
+ limits = joint.attrib.get('range', None)
107
+ joint_name = joint.attrib.get('name', f'{body_name}_joint{i*'_'}')
108
+ f_origin = self.C.addFrame(f'{joint_name}_origin')
109
+ f_origin.setParent(f_body)
110
+ self.setRelativePose(f_origin, joint.attrib)
111
+ f_origin.unLink()
112
+ f_origin.setParent(f_parent, True)
113
+
114
+ if axis:
115
+ if axis in self.muj2rai_joint_map:
116
+ axis = self.muj2rai_joint_map[axis]
117
+ else:
118
+ vec1 = np.array([0., 0., 1.])
119
+ vec2 = np.array(self.as_floats(axis))
120
+ quat = ry.Quaternion().setDiff(vec1, vec2).getArr()
121
+ f_origin.setRelativeQuaternion(quat)
122
+ axis = ry.JT.hingeZ
123
+ else:
124
+ axis = ry.JT.hingeZ
125
+
126
+ if joint.attrib.get('type', 'hinge')=='slide':
127
+ trans_map = {
128
+ ry.JT.hingeX: ry.JT.transX,
129
+ ry.JT.hingeY: ry.JT.transY,
130
+ ry.JT.hingeZ: ry.JT.transZ}
131
+ axis = trans_map[axis]
132
+
133
+ if not limits:
134
+ limits = '-1 1'
135
+
136
+ # if self.C.getFrame(joint_name, False):
137
+ # joint_name = f'{joint_name}_{self.bodyCount}'
138
+ f_joint = self.C.addFrame(joint_name)
139
+ f_joint.setParent(f_origin)
140
+ f_joint.setJoint(axis, self.as_floats(limits))
141
+
142
+ # relink body:
143
+ f_parent = f_joint
144
+ f_body.unLink()
145
+ f_body.setParent(f_parent, True)
146
+
147
+ for i, geom in enumerate(body.findall('./geom')):
148
+ isColl = ('contype' in geom.attrib and geom.attrib.get('contype', '')!='0') or 'col' in geom.attrib.get('class','')
149
+ if self.visualsOnly and isColl:
150
+ continue
151
+
152
+ f_shape = self.C.addFrame(f'{body_name}_shape{i}')
153
+ f_shape.setParent(f_body)
154
+
155
+ if 'mesh' in geom.attrib:
156
+ mesh = geom.attrib.get('mesh', '')
157
+ material_name = geom.attrib.get('material', '')
158
+ texture_path = self.materials.get(material_name, None)
159
+ meshfile = self.meshes[mesh]['file']
160
+ scale = self.as_floats(self.meshes[mesh].get('scale', '1 1 1'))
161
+
162
+ f_shape.setMeshFile(meshfile, scale[0])
163
+
164
+ if texture_path:
165
+ if len(texture_path.split()) == 4: # Is a color rgba
166
+ f_shape.setColor(self.as_floats(texture_path))
167
+
168
+ elif 'type' in geom.attrib:
169
+ size = self.as_floats(geom.attrib['size'])
170
+ if geom.attrib['type']=='capsule':
171
+ if 'fromto' in geom.attrib:
172
+ fromto = self.as_floats(geom.attrib['fromto'])
173
+ a, b = np.array(fromto[:3]), np.array(fromto[3:])
174
+ l = np.linalg.norm(b-a)
175
+ q = ry.Quaternion().setDiff([0,0,1],(b-a)/l)
176
+ f_shape.setRelativePosition(0.5*(a+b))
177
+ f_shape.setRelativeQuaternion(q.getArr())
178
+ f_shape.setShape(ry.ST.capsule, [l, size[0]])
179
+ elif len(size)==2:
180
+ f_shape.setShape(ry.ST.capsule, [2.*size[1], size[0]])
181
+
182
+ elif geom.attrib['type']=='cylinder':
183
+ if len(size)==2:
184
+ f_shape.setShape(ry.ST.cylinder, [2.*size[1], size[0]])
185
+
186
+ elif geom.attrib['type']=='box':
187
+ assert len(size)==3
188
+ f_shape.setShape(ry.ST.box, [2.*f for f in size])
189
+ if geom.attrib.get('material', None):
190
+ texture_path = self.materials[geom.attrib.get('material', None)]
191
+ if len(texture_path.split()) == 4: # Is a color rgba
192
+ f_shape.setColor(self.as_floats(texture_path))
193
+ else:
194
+ print('applying to box:', texture_path)
195
+ #TODO incorperate <texrepeat> tag correctly
196
+ uv_coords = np.array([
197
+ [0, 0], # vertex 0
198
+ [1, 0], # vertex 1
199
+ [1, 1], # vertex 2
200
+ [0, 1], # vertex 3
201
+ [0, 0], # vertex 4
202
+ [1, 0], # vertex 5
203
+ [1, 1], # vertex 6
204
+ [0, 1] # vertex 7
205
+ ])
206
+
207
+ f_shape.setTextureFile(texture_path, uv_coords)
208
+
209
+ elif geom.attrib['type']=='sphere':
210
+ if len(size)==1:
211
+ f_shape.setShape(ry.ST.sphere, size)
212
+
213
+ self.setRelativePose(f_shape, geom.attrib)
214
+
215
+ if geom.attrib.get('rgba', None):
216
+ if geom.attrib.get('material', None) is None:
217
+ f_shape.setColor(self.as_floats(geom.attrib['rgba']))
218
+
219
+ elif isColl:
220
+ f_shape.setColor([1,0,0,.2])
221
+
222
+ return f_body
223
+
224
+ def setRelativePose(self, f, attrib):
225
+ pos = attrib.get('pos', None)
226
+ if pos:
227
+ f.setRelativePosition(self.as_floats(pos))
228
+
229
+ quat = attrib.get('quat', None)
230
+ if quat:
231
+ f.setRelativeQuaternion(self.as_floats(quat))
232
+
233
+ rpy = attrib.get('euler', None)
234
+ if rpy:
235
+ q = ry.Quaternion()
236
+ q.setRollPitchYaw(self.as_floats(rpy))
237
+ f.setRelativeQuaternion(q.getArr())