robotic 0.2.8.dev4__cp311-cp311-manylinux2014_x86_64.whl → 0.3.4.dev5__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.
Files changed (411) hide show
  1. robotic/DataGen.pyi +11 -1
  2. robotic/__init__.py +8 -1
  3. robotic/_robotic.pyi +236 -114
  4. robotic/_robotic.so +0 -0
  5. robotic/algo.pyi +17 -0
  6. robotic/include/rai/{Geo → Algo}/Lewiner/MarchingCubes.h +0 -29
  7. robotic/include/rai/Algo/SplineCtrlFeed.h +1 -1
  8. robotic/include/rai/Algo/marching_cubes.h +9 -0
  9. robotic/include/rai/Algo/rungeKutta.h +2 -2
  10. robotic/include/rai/Algo/spline.h +4 -8
  11. robotic/include/rai/Algo/trilinear.h +10 -0
  12. robotic/include/rai/Control/CtrlSolver.h +1 -1
  13. robotic/include/rai/Control/TimingMPC.h +2 -2
  14. robotic/include/rai/Core/array.h +99 -64
  15. robotic/include/rai/Core/array.ipp +290 -136
  16. robotic/include/rai/Core/arrayDouble.h +36 -26
  17. robotic/include/rai/Core/defines.h +7 -9
  18. robotic/include/rai/Core/graph.h +33 -37
  19. robotic/include/rai/Core/h5.h +3 -1
  20. robotic/include/rai/Core/thread.h +12 -12
  21. robotic/include/rai/Core/util.h +58 -79
  22. robotic/include/rai/DataGen/rndStableConfigs.h +1 -0
  23. robotic/include/rai/DataGen/shapenetGrasps.h +5 -3
  24. robotic/include/rai/Geo/depth2PointCloud.h +2 -0
  25. robotic/include/rai/Geo/geo.h +24 -16
  26. robotic/include/rai/Geo/{fclInterface.h → i_fcl.h} +3 -1
  27. robotic/include/rai/Geo/mesh.h +22 -16
  28. robotic/include/rai/Geo/pairCollision.h +43 -43
  29. robotic/include/rai/Geo/signedDistanceFunctions.h +7 -5
  30. robotic/include/rai/Geo/stb_image.h +1 -1
  31. robotic/include/rai/Gui/RenderData.h +12 -9
  32. robotic/include/rai/Gui/opengl.h +6 -6
  33. robotic/include/rai/Gui/plot.h +1 -1
  34. robotic/include/rai/KOMO/komo.h +6 -3
  35. robotic/include/rai/KOMO/komo_NLP.h +2 -2
  36. robotic/include/rai/KOMO/manipTools.h +7 -2
  37. robotic/include/rai/KOMO/testProblems_KOMO.h +5 -9
  38. robotic/include/rai/Kin/F_forces.h +3 -3
  39. robotic/include/rai/Kin/cameraview.h +24 -36
  40. robotic/include/rai/Kin/dof_forceExchange.h +7 -7
  41. robotic/include/rai/Kin/feature.h +1 -1
  42. robotic/include/rai/Kin/frame.h +24 -26
  43. robotic/include/rai/Kin/{kin_physx.h → i_Physx.h} +11 -10
  44. robotic/include/rai/Kin/kin.h +30 -20
  45. robotic/include/rai/Kin/proxy.h +1 -1
  46. robotic/include/rai/Kin/simulation.h +20 -10
  47. robotic/include/rai/Kin/viewer.h +14 -1
  48. robotic/include/rai/LGP/LGP_TAMP_Abstraction.h +33 -0
  49. robotic/include/rai/LGP/LGP_Tool.h +4 -25
  50. robotic/include/rai/LGP/LGP_computers.h +1 -1
  51. robotic/include/rai/LGP/LGP_computers2.h +196 -0
  52. robotic/include/rai/LGP/NLP_Descriptor.h +5 -0
  53. robotic/include/rai/Logic/folWorld.h +1 -1
  54. robotic/include/rai/Logic/treeSearchDomain.h +2 -2
  55. robotic/include/rai/Optim/BayesOpt.h +13 -6
  56. robotic/include/rai/Optim/CMA/boundary_transformation.h +73 -0
  57. robotic/include/rai/Optim/CMA/cmaes.h +175 -0
  58. robotic/include/rai/Optim/CMA/cmaes_interface.h +68 -0
  59. robotic/include/rai/Optim/GlobalIterativeNewton.h +7 -3
  60. robotic/include/rai/Optim/NLP.h +23 -7
  61. robotic/include/rai/Optim/NLP_GraphSolver.h +1 -1
  62. robotic/include/rai/Optim/NLP_Solver.h +5 -5
  63. robotic/include/rai/Optim/constrained.h +4 -4
  64. robotic/include/rai/Optim/{opt-ceres.h → i_Ceres.h} +2 -2
  65. robotic/include/rai/Optim/{opt-nlopt.h → i_NLopt.h} +4 -0
  66. robotic/include/rai/Optim/lagrangian.h +7 -5
  67. robotic/include/rai/Optim/liblbfgs/liblbfgs.h +755 -0
  68. robotic/include/rai/Optim/m_EvoStrategies.h +114 -0
  69. robotic/include/rai/Optim/{gradient.h → m_Gradient.h} +13 -12
  70. robotic/include/rai/Optim/m_LBFGS.h +21 -0
  71. robotic/include/rai/Optim/m_LeastSquaresZeroOrder.h +104 -0
  72. robotic/include/rai/Optim/m_LocalGreedy.h +31 -0
  73. robotic/include/rai/Optim/m_NelderMead.h +23 -0
  74. robotic/include/rai/Optim/{newton.h → m_Newton.h} +7 -4
  75. robotic/include/rai/Optim/{SlackGaussNewton.h → m_SlackGaussNewton.h} +0 -10
  76. robotic/include/rai/Optim/options.h +8 -7
  77. robotic/include/rai/Optim/primalDual.h +10 -6
  78. robotic/include/rai/Optim/testProblems_Opt.h +25 -19
  79. robotic/include/rai/Optim/utils.h +16 -85
  80. robotic/include/rai/PathAlgos/ConfigurationProblem.h +3 -2
  81. robotic/include/rai/PathAlgos/RRT_PathFinder.h +2 -2
  82. robotic/include/rai/Perception/pcl.h +10 -10
  83. robotic/include/rai/Perception/surfels.h +1 -1
  84. robotic/include/rai/Search/TreeSearchNode.h +1 -1
  85. robotic/include/rai/ry/py-algo.h +17 -0
  86. robotic/include/rai/ry/types.h +4 -2
  87. robotic/librai.so +0 -0
  88. robotic/manipulation.py +5 -7
  89. robotic/meshTool +0 -0
  90. robotic/mujoco-import.py +8 -0
  91. robotic/rai-robotModels/g1/g1.g +11 -2
  92. robotic/rai-robotModels/g1/g1_29dof_conv.yml +64 -0
  93. robotic/rai-robotModels/g1/g1_clean.g +38 -73
  94. robotic/rai-robotModels/g1/meshes/head_link.h5 +0 -0
  95. robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.h5 +0 -0
  96. robotic/rai-robotModels/g1/meshes/left_ankle_roll_link.h5 +0 -0
  97. robotic/rai-robotModels/g1/meshes/left_elbow_link.h5 +0 -0
  98. robotic/rai-robotModels/g1/meshes/left_hip_pitch_link.h5 +0 -0
  99. robotic/rai-robotModels/g1/meshes/left_hip_roll_link.h5 +0 -0
  100. robotic/rai-robotModels/g1/meshes/left_hip_yaw_link.h5 +0 -0
  101. robotic/rai-robotModels/g1/meshes/left_knee_link.h5 +0 -0
  102. robotic/rai-robotModels/g1/meshes/left_rubber_hand.h5 +0 -0
  103. robotic/rai-robotModels/g1/meshes/left_shoulder_pitch_link.h5 +0 -0
  104. robotic/rai-robotModels/g1/meshes/left_shoulder_roll_link.h5 +0 -0
  105. robotic/rai-robotModels/g1/meshes/left_shoulder_yaw_link.h5 +0 -0
  106. robotic/rai-robotModels/g1/meshes/left_wrist_pitch_link.h5 +0 -0
  107. robotic/rai-robotModels/g1/meshes/left_wrist_roll_link.h5 +0 -0
  108. robotic/rai-robotModels/g1/meshes/left_wrist_yaw_link.h5 +0 -0
  109. robotic/rai-robotModels/g1/meshes/logo_link.h5 +0 -0
  110. robotic/rai-robotModels/g1/meshes/pelvis.h5 +0 -0
  111. robotic/rai-robotModels/g1/meshes/pelvis_contour_link.h5 +0 -0
  112. robotic/rai-robotModels/g1/meshes/right_ankle_pitch_link.h5 +0 -0
  113. robotic/rai-robotModels/g1/meshes/right_ankle_roll_link.h5 +0 -0
  114. robotic/rai-robotModels/g1/meshes/right_elbow_link.h5 +0 -0
  115. robotic/rai-robotModels/g1/meshes/right_hip_pitch_link.h5 +0 -0
  116. robotic/rai-robotModels/g1/meshes/right_hip_roll_link.h5 +0 -0
  117. robotic/rai-robotModels/g1/meshes/right_hip_yaw_link.h5 +0 -0
  118. robotic/rai-robotModels/g1/meshes/right_knee_link.h5 +0 -0
  119. robotic/rai-robotModels/g1/meshes/right_rubber_hand.h5 +0 -0
  120. robotic/rai-robotModels/g1/meshes/right_shoulder_pitch_link.h5 +0 -0
  121. robotic/rai-robotModels/g1/meshes/right_shoulder_roll_link.h5 +0 -0
  122. robotic/rai-robotModels/g1/meshes/right_shoulder_yaw_link.h5 +0 -0
  123. robotic/rai-robotModels/g1/meshes/right_wrist_pitch_link.h5 +0 -0
  124. robotic/rai-robotModels/g1/meshes/right_wrist_roll_link.h5 +0 -0
  125. robotic/rai-robotModels/g1/meshes/right_wrist_yaw_link.h5 +0 -0
  126. robotic/rai-robotModels/g1/meshes/torso_link.h5 +0 -0
  127. robotic/rai-robotModels/g1/meshes/waist_roll_link.h5 +0 -0
  128. robotic/rai-robotModels/g1/meshes/waist_support_link.h5 +0 -0
  129. robotic/rai-robotModels/g1/meshes/waist_yaw_link.h5 +0 -0
  130. robotic/rai-robotModels/objects/shelf.g +1 -1
  131. robotic/rai-robotModels/panda/meshes/finger.h5 +0 -0
  132. robotic/rai-robotModels/panda/meshes/hand.h5 +0 -0
  133. robotic/rai-robotModels/panda/meshes/link0.h5 +0 -0
  134. robotic/rai-robotModels/panda/meshes/link1.h5 +0 -0
  135. robotic/rai-robotModels/panda/meshes/link2.h5 +0 -0
  136. robotic/rai-robotModels/panda/meshes/link3.h5 +0 -0
  137. robotic/rai-robotModels/panda/meshes/link4.h5 +0 -0
  138. robotic/rai-robotModels/panda/meshes/link5.h5 +0 -0
  139. robotic/rai-robotModels/panda/meshes/link6.h5 +0 -0
  140. robotic/rai-robotModels/panda/meshes/link7.h5 +0 -0
  141. robotic/rai-robotModels/panda/panda.g +10 -10
  142. robotic/rai-robotModels/panda/panda_arm_hand_conv.g +24 -0
  143. robotic/rai-robotModels/panda/panda_arm_hand_conv.yml +24 -0
  144. robotic/rai-robotModels/panda/panda_clean.g +21 -45
  145. robotic/rai-robotModels/panda/panda_gripper.g +5 -7
  146. robotic/rai-robotModels/panda/panda_withoutCollisionModels.g +3 -11
  147. robotic/rai-robotModels/pr2/meshes/base.h5 +0 -0
  148. robotic/rai-robotModels/pr2/meshes/base_color.png +0 -0
  149. robotic/rai-robotModels/pr2/meshes/caster.h5 +0 -0
  150. robotic/rai-robotModels/pr2/meshes/elbow_flex.h5 +0 -0
  151. robotic/rai-robotModels/pr2/meshes/elbow_flex_color.png +0 -0
  152. robotic/rai-robotModels/pr2/meshes/forearm.h5 +0 -0
  153. robotic/rai-robotModels/pr2/meshes/forearm_color.png +0 -0
  154. robotic/rai-robotModels/pr2/meshes/forearm_roll.h5 +0 -0
  155. robotic/rai-robotModels/pr2/meshes/gripper_palm.h5 +0 -0
  156. robotic/rai-robotModels/pr2/meshes/gripper_palm_color.png +0 -0
  157. robotic/rai-robotModels/pr2/meshes/head_pan.h5 +0 -0
  158. robotic/rai-robotModels/pr2/meshes/head_pan_color.png +0 -0
  159. robotic/rai-robotModels/pr2/meshes/head_tilt.h5 +0 -0
  160. robotic/rai-robotModels/pr2/meshes/head_tilt_color.png +0 -0
  161. robotic/rai-robotModels/pr2/meshes/l_finger.h5 +0 -0
  162. robotic/rai-robotModels/pr2/meshes/l_finger_color.png +0 -0
  163. robotic/rai-robotModels/pr2/meshes/l_finger_tip.h5 +0 -0
  164. robotic/rai-robotModels/pr2/meshes/l_finger_tip_color.png +0 -0
  165. robotic/rai-robotModels/pr2/meshes/shoulder_lift.h5 +0 -0
  166. robotic/rai-robotModels/pr2/meshes/shoulder_lift_color.png +0 -0
  167. robotic/rai-robotModels/pr2/meshes/shoulder_pan.h5 +0 -0
  168. robotic/rai-robotModels/pr2/meshes/shoulder_pan_color.png +0 -0
  169. robotic/rai-robotModels/pr2/meshes/tilting_hokuyo.h5 +0 -0
  170. robotic/rai-robotModels/pr2/meshes/tilting_hokuyo_color.png +0 -0
  171. robotic/rai-robotModels/pr2/meshes/torso_lift.h5 +0 -0
  172. robotic/rai-robotModels/pr2/meshes/torso_lift_color.png +0 -0
  173. robotic/rai-robotModels/pr2/meshes/upper_arm.h5 +0 -0
  174. robotic/rai-robotModels/pr2/meshes/upper_arm_color.png +0 -0
  175. robotic/rai-robotModels/pr2/meshes/upper_arm_roll.h5 +0 -0
  176. robotic/rai-robotModels/pr2/meshes/upper_arm_roll_color.png +0 -0
  177. robotic/rai-robotModels/pr2/meshes/wheel.h5 +0 -0
  178. robotic/rai-robotModels/pr2/meshes/wheel_color.png +0 -0
  179. robotic/rai-robotModels/pr2/meshes/wrist_color.png +0 -0
  180. robotic/rai-robotModels/pr2/meshes/wrist_flex.h5 +0 -0
  181. robotic/rai-robotModels/pr2/meshes/wrist_roll.h5 +0 -0
  182. robotic/rai-robotModels/pr2/pr2.g +12 -12
  183. robotic/rai-robotModels/pr2/pr2_clean.g +122 -118
  184. robotic/rai-robotModels/pr2/pr2_conv.g +218 -0
  185. robotic/rai-robotModels/pr2/pr2_modifications.g +2 -2
  186. robotic/rai-robotModels/ranger/meshes/ranger_mini3.h5 +0 -0
  187. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel.h5 +0 -0
  188. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel_right.h5 +0 -0
  189. robotic/rai-robotModels/ranger/ranger.g +33 -0
  190. robotic/rai-robotModels/ranger/ranger_clean.g +18 -0
  191. robotic/rai-robotModels/ranger/ranger_mini_conv.g +14 -0
  192. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_base_link.h5 +0 -0
  193. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_inner_finger.h5 +0 -0
  194. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_inner_knuckle.h5 +0 -0
  195. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_outer_finger.h5 +0 -0
  196. robotic/rai-robotModels/robotiq/meshes/robotiq_arg2f_85_outer_knuckle.h5 +0 -0
  197. robotic/rai-robotModels/robotiq/robotiq.g +2 -2
  198. robotic/rai-robotModels/robotiq/robotiq_arg2f_85_model_conv.yml +19 -0
  199. robotic/rai-robotModels/robotiq/robotiq_clean.g +16 -16
  200. robotic/rai-robotModels/scenarios/ballFinger.g +2 -2
  201. robotic/rai-robotModels/scenarios/liftRing.g +2 -2
  202. robotic/rai-robotModels/scenarios/pandaFloatingGripper.g +1 -1
  203. robotic/rai-robotModels/scenarios/pandaSingle.g +1 -1
  204. robotic/rai-robotModels/scenarios/panda_fixRobotiq.g +3 -3
  205. robotic/rai-robotModels/tests/arm.g +18 -19
  206. robotic/rai-robotModels/tests/compound.g +3 -6
  207. robotic/rai-robotModels/ur10/meshes/base.h5 +0 -0
  208. robotic/rai-robotModels/ur10/meshes/forearm.h5 +0 -0
  209. robotic/rai-robotModels/ur10/meshes/shoulder.h5 +0 -0
  210. robotic/rai-robotModels/ur10/meshes/upperarm.h5 +0 -0
  211. robotic/rai-robotModels/ur10/meshes/wrist1.h5 +0 -0
  212. robotic/rai-robotModels/ur10/meshes/wrist2.h5 +0 -0
  213. robotic/rai-robotModels/ur10/meshes/wrist3.h5 +0 -0
  214. robotic/rai-robotModels/ur10/ur10.g +2 -2
  215. robotic/rai-robotModels/ur10/ur10_clean.g +8 -8
  216. robotic/rai-robotModels/ur10/ur10_conv.g +17 -0
  217. robotic/ry-h5info +3 -8
  218. robotic/ry-test +6 -5
  219. robotic/ry-urdfConvert.py +74 -0
  220. robotic/ry-view +28 -6
  221. robotic/src/__init__.py +0 -0
  222. robotic/src/cleanMeshes.py +59 -0
  223. robotic/src/h5_helper.py +46 -0
  224. robotic/src/h5_helper.py~ +42 -0
  225. robotic/src/mesh_helper.py +395 -0
  226. robotic/src/meshlabFilters.mlx +20 -0
  227. robotic/src/mujoco_io.py +242 -0
  228. robotic/src/urdf_io.py +237 -0
  229. robotic/src/yaml_helper.py +29 -0
  230. robotic/version.py +1 -1
  231. {robotic-0.2.8.dev4.data → robotic-0.3.4.dev5.data}/scripts/ry-h5info +3 -8
  232. {robotic-0.2.8.dev4.data → robotic-0.3.4.dev5.data}/scripts/ry-test +6 -5
  233. robotic-0.3.4.dev5.data/scripts/ry-urdfConvert.py +74 -0
  234. robotic-0.3.4.dev5.data/scripts/ry-view +46 -0
  235. {robotic-0.2.8.dev4.dist-info → robotic-0.3.4.dev5.dist-info}/METADATA +20 -23
  236. robotic-0.3.4.dev5.dist-info/RECORD +386 -0
  237. {robotic-0.2.8.dev4.dist-info → robotic-0.3.4.dev5.dist-info}/WHEEL +1 -1
  238. robotic/nlp.py +0 -113
  239. robotic/rai-robotModels/baxter/baxter.g +0 -49
  240. robotic/rai-robotModels/baxter/baxter_clean.g +0 -116
  241. robotic/rai-robotModels/baxter/baxter_clean2.g +0 -205
  242. robotic/rai-robotModels/baxter/baxter_clean3.g +0 -223
  243. robotic/rai-robotModels/baxter/baxter_description/meshes/base/PEDESTAL.ply +0 -0
  244. robotic/rai-robotModels/baxter/baxter_description/meshes/base/pedestal_link_collision.ply +0 -0
  245. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H0.ply +0 -0
  246. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H1.ply +0 -0
  247. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_elbow/E1.ply +0 -0
  248. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_forearm/W1.ply +0 -0
  249. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_shoulder/S1.ply +0 -0
  250. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link.ply +0 -0
  251. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link_collision.ply +0 -0
  252. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_elbow/E0.ply +0 -0
  253. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_forearm/W0.ply +0 -0
  254. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_shoulder/S0.ply +0 -0
  255. robotic/rai-robotModels/baxter/baxter_description/meshes/wrist/W2.ply +0 -0
  256. robotic/rai-robotModels/baxter/baxter_new.g +0 -53
  257. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/electric_gripper_base.ply +0 -0
  258. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/extended_narrow.ply +0 -0
  259. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/half_round_tip.ply +0 -0
  260. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/paddle_tip.ply +0 -0
  261. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_base.ply +0 -0
  262. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_w_cup.ply +0 -0
  263. robotic/rai-robotModels/g1/meshes/head_link.ply +0 -0
  264. robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.ply +0 -0
  265. robotic/rai-robotModels/g1/meshes/left_ankle_roll_link.ply +0 -0
  266. robotic/rai-robotModels/g1/meshes/left_elbow_link.ply +0 -0
  267. robotic/rai-robotModels/g1/meshes/left_hand_index_0_link.ply +0 -0
  268. robotic/rai-robotModels/g1/meshes/left_hand_index_1_link.ply +0 -0
  269. robotic/rai-robotModels/g1/meshes/left_hand_middle_0_link.ply +0 -0
  270. robotic/rai-robotModels/g1/meshes/left_hand_middle_1_link.ply +0 -0
  271. robotic/rai-robotModels/g1/meshes/left_hand_palm_link.ply +0 -0
  272. robotic/rai-robotModels/g1/meshes/left_hand_thumb_0_link.ply +0 -0
  273. robotic/rai-robotModels/g1/meshes/left_hand_thumb_1_link.ply +0 -0
  274. robotic/rai-robotModels/g1/meshes/left_hand_thumb_2_link.ply +0 -0
  275. robotic/rai-robotModels/g1/meshes/left_hip_pitch_link.ply +0 -0
  276. robotic/rai-robotModels/g1/meshes/left_hip_roll_link.ply +0 -0
  277. robotic/rai-robotModels/g1/meshes/left_hip_yaw_link.ply +0 -0
  278. robotic/rai-robotModels/g1/meshes/left_knee_link.ply +0 -0
  279. robotic/rai-robotModels/g1/meshes/left_rubber_hand.ply +0 -0
  280. robotic/rai-robotModels/g1/meshes/left_shoulder_pitch_link.ply +0 -0
  281. robotic/rai-robotModels/g1/meshes/left_shoulder_roll_link.ply +0 -0
  282. robotic/rai-robotModels/g1/meshes/left_shoulder_yaw_link.ply +0 -0
  283. robotic/rai-robotModels/g1/meshes/left_wrist_pitch_link.ply +0 -0
  284. robotic/rai-robotModels/g1/meshes/left_wrist_roll_link.ply +0 -0
  285. robotic/rai-robotModels/g1/meshes/left_wrist_roll_rubber_hand.ply +0 -0
  286. robotic/rai-robotModels/g1/meshes/left_wrist_yaw_link.ply +0 -0
  287. robotic/rai-robotModels/g1/meshes/logo_link.ply +0 -0
  288. robotic/rai-robotModels/g1/meshes/pelvis.ply +0 -0
  289. robotic/rai-robotModels/g1/meshes/pelvis_contour_link.ply +0 -0
  290. robotic/rai-robotModels/g1/meshes/right_ankle_pitch_link.ply +0 -0
  291. robotic/rai-robotModels/g1/meshes/right_ankle_roll_link.ply +0 -0
  292. robotic/rai-robotModels/g1/meshes/right_elbow_link.ply +0 -0
  293. robotic/rai-robotModels/g1/meshes/right_hand_index_0_link.ply +0 -0
  294. robotic/rai-robotModels/g1/meshes/right_hand_index_1_link.ply +0 -0
  295. robotic/rai-robotModels/g1/meshes/right_hand_middle_0_link.ply +0 -0
  296. robotic/rai-robotModels/g1/meshes/right_hand_middle_1_link.ply +0 -0
  297. robotic/rai-robotModels/g1/meshes/right_hand_palm_link.ply +0 -0
  298. robotic/rai-robotModels/g1/meshes/right_hand_thumb_0_link.ply +0 -0
  299. robotic/rai-robotModels/g1/meshes/right_hand_thumb_1_link.ply +0 -0
  300. robotic/rai-robotModels/g1/meshes/right_hand_thumb_2_link.ply +0 -0
  301. robotic/rai-robotModels/g1/meshes/right_hip_pitch_link.ply +0 -0
  302. robotic/rai-robotModels/g1/meshes/right_hip_roll_link.ply +0 -0
  303. robotic/rai-robotModels/g1/meshes/right_hip_yaw_link.ply +0 -0
  304. robotic/rai-robotModels/g1/meshes/right_knee_link.ply +0 -0
  305. robotic/rai-robotModels/g1/meshes/right_rubber_hand.ply +0 -0
  306. robotic/rai-robotModels/g1/meshes/right_shoulder_pitch_link.ply +0 -0
  307. robotic/rai-robotModels/g1/meshes/right_shoulder_roll_link.ply +0 -0
  308. robotic/rai-robotModels/g1/meshes/right_shoulder_yaw_link.ply +0 -0
  309. robotic/rai-robotModels/g1/meshes/right_wrist_pitch_link.ply +0 -0
  310. robotic/rai-robotModels/g1/meshes/right_wrist_roll_link.ply +0 -0
  311. robotic/rai-robotModels/g1/meshes/right_wrist_roll_rubber_hand.ply +0 -0
  312. robotic/rai-robotModels/g1/meshes/right_wrist_yaw_link.ply +0 -0
  313. robotic/rai-robotModels/g1/meshes/torso_constraint_L_link.ply +0 -0
  314. robotic/rai-robotModels/g1/meshes/torso_constraint_L_rod_link.ply +0 -0
  315. robotic/rai-robotModels/g1/meshes/torso_constraint_R_link.ply +0 -0
  316. robotic/rai-robotModels/g1/meshes/torso_constraint_R_rod_link.ply +0 -0
  317. robotic/rai-robotModels/g1/meshes/torso_link.ply +0 -0
  318. robotic/rai-robotModels/g1/meshes/waist_constraint_L.ply +0 -0
  319. robotic/rai-robotModels/g1/meshes/waist_constraint_R.ply +0 -0
  320. robotic/rai-robotModels/g1/meshes/waist_roll_link.ply +0 -0
  321. robotic/rai-robotModels/g1/meshes/waist_support_link.ply +0 -0
  322. robotic/rai-robotModels/g1/meshes/waist_yaw_link.ply +0 -0
  323. robotic/rai-robotModels/panda/franka_description/meshes/collision/finger.stl +0 -0
  324. robotic/rai-robotModels/panda/franka_description/meshes/collision/hand.stl +0 -0
  325. robotic/rai-robotModels/panda/franka_description/meshes/collision/link0.stl +0 -0
  326. robotic/rai-robotModels/panda/franka_description/meshes/collision/link1.stl +0 -0
  327. robotic/rai-robotModels/panda/franka_description/meshes/collision/link2.stl +0 -0
  328. robotic/rai-robotModels/panda/franka_description/meshes/collision/link3.stl +0 -0
  329. robotic/rai-robotModels/panda/franka_description/meshes/collision/link4.stl +0 -0
  330. robotic/rai-robotModels/panda/franka_description/meshes/collision/link5.stl +0 -0
  331. robotic/rai-robotModels/panda/franka_description/meshes/collision/link6.stl +0 -0
  332. robotic/rai-robotModels/panda/franka_description/meshes/collision/link7.stl +0 -0
  333. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO.sh +0 -10
  334. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO2.sh +0 -7
  335. robotic/rai-robotModels/panda/franka_description/meshes/visual/convMeshes.mlx +0 -38
  336. robotic/rai-robotModels/panda/franka_description/meshes/visual/finger.ply +0 -0
  337. robotic/rai-robotModels/panda/franka_description/meshes/visual/hand.ply +0 -0
  338. robotic/rai-robotModels/panda/franka_description/meshes/visual/link0.ply +0 -0
  339. robotic/rai-robotModels/panda/franka_description/meshes/visual/link1.ply +0 -0
  340. robotic/rai-robotModels/panda/franka_description/meshes/visual/link2.ply +0 -0
  341. robotic/rai-robotModels/panda/franka_description/meshes/visual/link3.ply +0 -0
  342. robotic/rai-robotModels/panda/franka_description/meshes/visual/link4.ply +0 -0
  343. robotic/rai-robotModels/panda/franka_description/meshes/visual/link5.ply +0 -0
  344. robotic/rai-robotModels/panda/franka_description/meshes/visual/link6.ply +0 -0
  345. robotic/rai-robotModels/panda/franka_description/meshes/visual/link7.ply +0 -0
  346. robotic/rai-robotModels/panda/franka_description/meshes/visual/script.mlx +0 -28
  347. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base.ply +0 -0
  348. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base_L.ply +0 -0
  349. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster.ply +0 -0
  350. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster_L.ply +0 -0
  351. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/pr2_wheel.ply +0 -0
  352. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/wheel.ply +0 -0
  353. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/forearm.ply +0 -0
  354. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_flex.ply +0 -0
  355. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll.ply +0 -0
  356. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll_L.ply +0 -0
  357. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/gripper_palm.ply +0 -0
  358. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger.ply +0 -0
  359. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger_tip.ply +0 -0
  360. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan.ply +0 -0
  361. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan_L.ply +0 -0
  362. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt.ply +0 -0
  363. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt_L.ply +0 -0
  364. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_lift.ply +0 -0
  365. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_pan.ply +0 -0
  366. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_yaw.ply +0 -0
  367. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll.ply +0 -0
  368. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll_L.ply +0 -0
  369. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/hok_tilt.ply +0 -0
  370. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo.ply +0 -0
  371. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo_L.ply +0 -0
  372. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso.ply +0 -0
  373. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift.ply +0 -0
  374. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift_L.ply +0 -0
  375. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/elbow_flex.ply +0 -0
  376. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll.ply +0 -0
  377. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll_L.ply +0 -0
  378. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/upper_arm.ply +0 -0
  379. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link.ply +0 -0
  380. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link_x.ply +0 -10
  381. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_finger.ply +0 -0
  382. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_knuckle.ply +0 -0
  383. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_finger.ply +0 -0
  384. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_knuckle.ply +0 -0
  385. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_pad.ply +0 -0
  386. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_gripper_coupling.ply +0 -0
  387. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Base.ply +0 -0
  388. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Forearm.ply +0 -0
  389. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Shoulder.ply +0 -0
  390. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply +0 -0
  391. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply +0 -0
  392. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply +0 -0
  393. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply +0 -0
  394. robotic/ry-urdf2rai +0 -222
  395. robotic/ry-urdf2yaml +0 -250
  396. robotic-0.2.8.dev4.data/scripts/ry-urdf2rai +0 -222
  397. robotic-0.2.8.dev4.data/scripts/ry-urdf2yaml +0 -250
  398. robotic-0.2.8.dev4.data/scripts/ry-view +0 -24
  399. robotic-0.2.8.dev4.dist-info/RECORD +0 -413
  400. /robotic/include/rai/{Geo → Algo}/Lewiner/LookUpTable.h +0 -0
  401. /robotic/include/rai/Geo/{assimpInterface.h → i_assimp.h} +0 -0
  402. /robotic/include/rai/Kin/{kin_bullet.h → i_Bullet.h} +0 -0
  403. /robotic/include/rai/Kin/{kin_feather.h → i_Feather.h} +0 -0
  404. /robotic/include/rai/Kin/{kin_ode.h → i_Ode.h} +0 -0
  405. /robotic/include/rai/Optim/{opt-ipopt.h → i_Ipopt.h} +0 -0
  406. /robotic/rai-robotModels/robotiq/meshes/{visual/robotiq_ft300.ply → robotiq_ft300.ply} +0 -0
  407. {robotic-0.2.8.dev4.data → robotic-0.3.4.dev5.data}/scripts/ry-bot +0 -0
  408. {robotic-0.2.8.dev4.data → robotic-0.3.4.dev5.data}/scripts/ry-info +0 -0
  409. {robotic-0.2.8.dev4.data → robotic-0.3.4.dev5.data}/scripts/ry-meshTool +0 -0
  410. {robotic-0.2.8.dev4.dist-info → robotic-0.3.4.dev5.dist-info/licenses}/LICENSE +0 -0
  411. {robotic-0.2.8.dev4.dist-info → robotic-0.3.4.dev5.dist-info}/top_level.txt +0 -0
@@ -9,76 +9,23 @@
9
9
  #pragma once
10
10
 
11
11
  #include "NLP.h"
12
+ #include "../Core/util.h"
12
13
 
13
- //===========================================================================
14
- //
15
- // lambda expression interfaces
16
- //
17
-
18
- // see function types defined in array.h
19
- //ScalarFunction
20
- //VectorFunction
21
- //fct
22
-
23
- struct Conv_ScalarProblem_NLP : NLP {
24
- ScalarFunction f;
25
- uint xDim;
26
- arr bounds_lo, bounds_up;
27
- Conv_ScalarProblem_NLP(const ScalarFunction& f, uint xDim): f(f), xDim(xDim) {}
28
- void evaluate(arr& phi, arr& J, const arr& x) {
29
- double y = f(J, NoArr, x);
30
- phi = {y};
31
- if(!!J) J.reshape(1, x.N);
32
- }
33
- void getFHessian(arr& H, const arr& x) {
34
- f(NoArr, H, x);
35
- }
36
- void setBounds(double lo, double up) { bounds_lo.resize(xDim) = lo; bounds_up.resize(xDim) = up; }
37
- };
38
-
39
- struct Conv_NLP_ScalarProblem : ScalarFunction {
14
+ struct NLP_FiniteDifference : NLP {
40
15
  std::shared_ptr<NLP> P;
41
-
42
- Conv_NLP_ScalarProblem(std::shared_ptr<NLP> _P) : P(_P) {
43
- ScalarFunction::operator=([this](arr& g, arr& H, const arr& x) -> double {
44
- return this->scalar(g, H, x);
45
- });
46
- }
47
-
48
- double scalar(arr& g, arr& H, const arr& x);
16
+ double eps;
17
+ NLP_FiniteDifference(std::shared_ptr<NLP> _P, double eps=1e-6) : P(_P), eps(eps) { copySignature(*P); }
18
+ virtual void evaluate(arr& phi, arr& J, const arr& x0);
19
+ virtual void report(ostream& os, int verbose, const char *msg=0){ os <<"FiniteDifference version of: "; P->report(os, verbose, msg); }
49
20
  };
50
21
 
51
- struct Conv_NLP_SlackLeastSquares : NLP {
22
+ struct NLP_SlackLeastSquares : NLP {
52
23
  std::shared_ptr<NLP> P;
24
+ NLP_SlackLeastSquares(std::shared_ptr<NLP> _P);
25
+ virtual void evaluate(arr& phi, arr& J, const arr& x);
26
+ virtual void report(ostream& os, int verbose, const char *msg=0){ os <<"SlackLeastSquares of: "; P->report(os, verbose, msg); }
27
+ private:
53
28
  uintA pick;
54
-
55
- Conv_NLP_SlackLeastSquares(std::shared_ptr<NLP> _P) : P(_P) {
56
- dimension = P->dimension;
57
- bounds = P->bounds;
58
-
59
- //pick constraints
60
- for(uint i=0; i<P->featureTypes.N; i++) {
61
- ObjectiveType f = P->featureTypes(i);
62
- if(f==OT_eq || f==OT_ineq) pick.append(i);
63
- }
64
- featureTypes.resize(pick.N) = OT_sos;
65
- }
66
-
67
- virtual void evaluate(arr& phi, arr& J, const arr& x) {
68
- arr Pphi, PJ;
69
- P->evaluate(Pphi, PJ, x);
70
- phi = Pphi.sub(pick);
71
- J = PJ.sub(pick);
72
- for(uint i=0; i<pick.N; i++) {
73
- if(P->featureTypes(pick(i))==OT_ineq) {
74
- if(phi(i)<0.) { phi(i)=0.; J[i]=0.; } //ReLu for g
75
- } else if(P->featureTypes(pick(i))==OT_eq) {
76
- if(phi(i)<0.) { phi(i)*=-1.; J[i]*=-1.; } //make positive
77
- } else {
78
- NIY;
79
- }
80
- }
81
- }
82
29
  };
83
30
 
84
31
  struct NLP_LinTransformed : NLP {
@@ -89,7 +36,7 @@ struct NLP_LinTransformed : NLP {
89
36
 
90
37
  virtual arr getInitializationSample();
91
38
  virtual void evaluate(arr& phi, arr& J, const arr& x);
92
- virtual void report(ostream& os, int verbose, const char* msg=0){ P->report(os, verbose, msg); }
39
+ virtual void report(ostream& os, int verbose, const char *msg=0){ os <<"LinTransformed of: "; P->report(os, verbose, msg); }
93
40
  };
94
41
 
95
42
  //===========================================================================
@@ -97,30 +44,14 @@ struct NLP_LinTransformed : NLP {
97
44
  // checks, evaluation
98
45
  //
99
46
 
100
- bool checkDirectionalGradient(const ScalarFunction& f, const arr& x, const arr& delta, double tolerance);
101
- bool checkDirectionalJacobian(const VectorFunction& f, const arr& x, const arr& delta, double tolerance);
102
-
103
- //===========================================================================
104
- //
105
- // accumulative constraints
106
- //
107
-
108
- inline void accumulateInequalities(arr& y, arr& J, const arr& yAll, const arr& JAll) {
109
- y.resize(1).setZero();
110
- if(!!J) J.resize(1, JAll.d1).setZero();
111
-
112
- for(uint i=0; i<yAll.N; i++) {
113
- if(yAll.elem(i)>0.) {
114
- y.scalar() += yAll.elem(i);
115
- if(!!J && !!JAll) J[0] += JAll[i];
116
- }
117
- }
118
- }
47
+ bool checkDirectionalGradient(ScalarFunction f, const arr& x, const arr& delta, double tolerance);
48
+ bool checkDirectionalJacobian(VectorFunction f, const arr& x, const arr& delta, double tolerance);
119
49
 
120
50
  //===========================================================================
121
51
  //
122
52
  // helpers
123
53
  //
124
54
 
125
- void displayFunction(const ScalarFunction& f, bool wait=false, double lo=-1.2, double hi=1.2);
55
+ void accumulateInequalities(arr& y, arr& J, const arr& yAll, const arr& JAll);
56
+ void displayFunction(ScalarFunction f, bool wait=false, double lo=-1.2, double hi=1.2);
126
57
 
@@ -31,7 +31,7 @@ struct QueryResult {
31
31
  stdOutPipe(QueryResult)
32
32
 
33
33
  struct ConfigurationProblem {
34
- rai::Configuration C;
34
+ shared_ptr<rai::Configuration> C;
35
35
  arr limits;
36
36
  uintA sphericalCoordinates;
37
37
 
@@ -43,8 +43,9 @@ struct ConfigurationProblem {
43
43
  //user info
44
44
  int verbose=0;
45
45
  uint evals=0;
46
+ double queryTime=0.;
46
47
 
47
- ConfigurationProblem(const rai::Configuration& _C, bool _useBroadCollisions=true, double _collisionTolerance=1e-3, int _verbose=0);
48
+ ConfigurationProblem(shared_ptr<rai::Configuration> _C, bool _useBroadCollisions=true, double _collisionTolerance=1e-3, int _verbose=0);
48
49
 
49
50
  void setExplicitCollisionPairs(const StringA& _collisionPairs);
50
51
 
@@ -78,12 +78,12 @@ struct RRT_PathFinder : NonCopyable {
78
78
  arr path;
79
79
 
80
80
  //setup
81
- void setProblem(const Configuration& C);
81
+ void setProblem(shared_ptr<Configuration> C);
82
82
  void setStartGoal(const arr& _starts, const arr& _goals);
83
83
  void setExplicitCollisionPairs(const StringA& collisionPairs);
84
84
 
85
85
  //solve
86
- shared_ptr<SolverReturn> solve();
86
+ shared_ptr<SolverReturn> solve(int verbose=1);
87
87
 
88
88
  //output
89
89
  void view(bool pause, const char* txt=0, bool play=false);
@@ -24,19 +24,19 @@
24
24
  typedef pcl::PointCloud<pcl::PointXYZ> Pcl;
25
25
  typedef pcl::PointCloud<pcl::PointXYZRGB> PclC;
26
26
 
27
- Pcl::Ptr conv_ArrCloud_PclCloud(const arr& pts);
28
- void conv_ArrCloud_PclCloud(Pcl& cloud, const arr& pts);
29
- void conv_PclCloud_ArrCloud(arr& pts, const Pcl& cloud);
27
+ Pcl::Ptr conv_ArrCloud2PclCloud(const arr& pts);
28
+ void conv_ArrCloud2PclCloud(Pcl& cloud, const arr& pts);
29
+ void conv_PclCloud2ArrCloud(arr& pts, const Pcl& cloud);
30
30
 
31
- PclC::Ptr conv_ArrCloud_PclCloud(const arr& pts, const byteA& rgb);
32
- void conv_ArrCloud_PclCloud(PclC& cloud, const arr& pts, const byteA& rgb);
33
- void conv_PclCloud_ArrCloud(arr& pts, byteA& rgb, const PclC& cloud);
31
+ PclC::Ptr conv_ArrCloud2PclCloud(const arr& pts, const byteA& rgb);
32
+ void conv_ArrCloud2PclCloud(PclC& cloud, const arr& pts, const byteA& rgb);
33
+ void conv_PclCloud2ArrCloud(arr& pts, byteA& rgb, const PclC& cloud);
34
34
 
35
- void conv_ArrCloud_PclCloud(PclC& cloud, const arr& pts, const arr& rgb);
36
- void conv_PclCloud_ArrCloud(arr& pts, arr& rgb, const PclC& cloud);
35
+ void conv_ArrCloud2PclCloud(PclC& cloud, const arr& pts, const arr& rgb);
36
+ void conv_PclCloud2ArrCloud(arr& pts, arr& rgb, const PclC& cloud);
37
37
 
38
- inline arr PclPoints(const PclC& cloud) { arr pts; conv_PclCloud_ArrCloud(pts, NoByteA, cloud); return pts; }
38
+ inline arr PclPoints(const PclC& cloud) { arr pts; conv_PclCloud2ArrCloud(pts, NoByteA, cloud); return pts; }
39
39
 
40
- arr conv_PclNormals_Arr(const pcl::PointCloud<pcl::Normal>::Ptr& normals);
40
+ arr conv_PclNormals2Arr(const pcl::PointCloud<pcl::Normal>::Ptr& normals);
41
41
 
42
42
  #endif
@@ -42,7 +42,7 @@ struct SurfelStatistics {
42
42
 
43
43
  struct Surfels {
44
44
  OpenGL gl;
45
- Mutex mx;
45
+ rai::Mutex mx;
46
46
  arr pos, norm, col, rad;
47
47
  rai::Array<SurfelStatistics> D;
48
48
  uint32A surfelIdx, rndPerm;
@@ -42,7 +42,7 @@ struct TreeSearchNode {
42
42
 
43
43
  //I/O
44
44
  virtual void write(std::ostream& os) const { os <<name; }
45
- virtual void report(std::ostream& os, int verbose) const { std::cerr <<"NOT OVERLOADED!" <<std::endl; }
45
+ virtual void report(std::ostream& os, int verbose) const { std::cout <<"NOT OVERLOADED!" <<std::endl; }
46
46
  virtual void data(Graph& g) const {}
47
47
  };
48
48
  inline std::ostream& operator<<(std::ostream& os, const TreeSearchNode& D) { D.write(os); return os; }
@@ -0,0 +1,17 @@
1
+ /* ------------------------------------------------------------------
2
+ Copyright (c) 2011-2024 Marc Toussaint
3
+ email: toussaint@tu-berlin.de
4
+
5
+ This code is distributed under the MIT License.
6
+ Please see <root-path>/LICENSE for details.
7
+ -------------------------------------------------------------- */
8
+
9
+ #pragma once
10
+
11
+ #ifdef RAI_PYBIND
12
+
13
+ #include <pybind11/pybind11.h>
14
+
15
+ void init_algo(pybind11::module& m);
16
+
17
+ #endif
@@ -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);
@@ -45,6 +46,7 @@ template<class T> rai::Array<T> vec2Array(const std::vector<T>& x) {
45
46
  }
46
47
 
47
48
  template<class T> pybind11::array_t<T> Array2numpy(const rai::Array<T>& x) {
49
+ if(!x.N) return pybind11::array_t<T>();
48
50
  return pybind11::array_t<T>(vecdim(x), x.p);
49
51
  }
50
52
 
@@ -308,7 +310,7 @@ template <> struct type_caster<rai::Graph> {
308
310
  }
309
311
 
310
312
  static handle cast(const rai::Graph& G, return_value_policy, handle) {
311
- return graph2dict(G).release();
313
+ return graph2dict(G, rai::NodeL{}).release();
312
314
  }
313
315
  };
314
316
 
robotic/librai.so CHANGED
Binary file
robotic/manipulation.py CHANGED
@@ -1,6 +1,7 @@
1
1
  import robotic as ry
2
2
  import numpy as np
3
3
  import time
4
+ import pprint
4
5
 
5
6
  class KOMO_ManipulationHelper():
6
7
 
@@ -361,18 +362,15 @@ class KOMO_ManipulationHelper():
361
362
  if not self.ret.feasible:
362
363
  print(f' -- infeasible:{self.info}\n {self.ret}')
363
364
  if verbose>1:
364
- print(self.komo.report(False, True))
365
+ objs = self.komo.report()
366
+ #pprint.pp(objs)
367
+ for k, v in objs.items():
368
+ print(f'objective {k}: {v}')
365
369
  self.komo.view(True, f'failed: {self.info}\n{self.ret}')
366
- if verbose>2:
367
- while(self.komo.view_play(True, 1.)):
368
- pass
369
370
  else:
370
371
  print(f' -- feasible:{self.info}\n {self.ret}')
371
372
  if verbose>2:
372
373
  self.komo.view(True, f'success: {self.info}\n{self.ret}')
373
- if verbose>3:
374
- while(self.komo.view_play(True, 1.)):
375
- pass
376
374
 
377
375
  return self.ret
378
376
 
robotic/meshTool CHANGED
Binary file
@@ -0,0 +1,8 @@
1
+ import robotic as ry
2
+ from robotic.src.mujoco_io import *
3
+
4
+ file = '../../rai-robotModels/kitchens/models/MEDITERRANEAN_ONE_WALL_SMALL.xml'
5
+
6
+ print('=====================', file)
7
+ M = MujocoLoader(file, visualsOnly=True)
8
+ M.C.view(True)
@@ -1,5 +1,14 @@
1
1
  ## create standard base frame before including
2
2
 
3
- g1_base: { X:[0, 0, .79], multibody: true, multibody_fixedBase: false }
4
- Include: <g1_clean.g>
3
+ g1_base: { X:[0, 0, .79], multibody: true, multibody_fixedBase: false, multibody_gravity: true }
4
+ Include: <g1_29dof_conv.yml>
5
5
  Edit pelvis(g1_base): {}
6
+
7
+ Edit left_hip_pitch_joint { q: -.25 }
8
+ Edit right_hip_pitch_joint { q: -.25 }
9
+
10
+ Edit left_knee_joint { q: .5 }
11
+ Edit right_knee_joint { q: .5 }
12
+
13
+ Edit left_ankle_pitch_joint { q: -.25, motorLambda: .02, motorMass: 100 }
14
+ Edit right_ankle_pitch_joint { q: -.25, motorLambda: .02, motorMass: 100 }
@@ -0,0 +1,64 @@
1
+ pelvis: {shape: mesh, color: [0.2, 0.2, 0.2, 1.0], mesh: <meshes/pelvis.h5>, mass: 3.814, inertia: [0.010549099999999999, 0.0, 2.1e-06, 0.009309, 0.0, 0.0079185]}
2
+ left_hip_pitch_joint_origin (pelvis): {pose: [0.0, 0.064452, -0.1027]}
3
+ right_hip_pitch_joint_origin (pelvis): {pose: [0.0, -0.064452, -0.1027]}
4
+ waist_yaw_joint (pelvis): {joint: hingeZ, limits: [-2.618, 2.618], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/waist_yaw_link.h5>, mass: 0.244, inertia: [9.9587e-05, -1.833e-06, -1.2617e-05, 0.00012411, -1.18e-07, 0.00015586]}
5
+ pelvis_contour_link_0 (pelvis): {shape: mesh, color: [0.7, 0.7, 0.7, 1.0], 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.0], mesh: <meshes/left_hip_pitch_link.h5>, mass: 1.35, inertia: [0.001811, 3.68e-05, -3.44e-05, 0.0014193, 0.000171, 0.0012812]}
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.0], mesh: <meshes/right_hip_pitch_link.h5>, mass: 1.35, inertia: [0.001811, -3.68e-05, -3.44e-05, 0.0014193, -0.000171, 0.0012812]}
8
+ waist_roll_joint_origin (waist_yaw_joint): {pose: [-0.0039635, 0.0, 0.035]}
9
+ left_hip_roll_joint_origin (left_hip_pitch_joint): {pose: [0.0, 0.052, -0.030465, 0.9961786849744957, 0.0, -0.08733858026373247, 0.0]}
10
+ right_hip_roll_joint_origin (right_hip_pitch_joint): {pose: [0.0, -0.052, -0.030465, 0.9961786849744957, 0.0, -0.08733858026373247, 0.0]}
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.0], mesh: <meshes/waist_roll_link.h5>, mass: 0.047, inertia: [7.515e-06, 0.0, 0.0, 6.398e-06, 9.9e-08, 3.988e-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.0], mesh: <meshes/left_hip_roll_link.h5>, mass: 1.52, inertia: [0.0023773, -3.8e-06, -0.0003908, 0.0024123, 1.84e-05, 0.0016595]}
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.0], mesh: <meshes/right_hip_roll_link.h5>, mass: 1.52, inertia: [0.0023773, 3.8e-06, -0.0003908, 0.0024123, -1.84e-05, 0.0016595]}
14
+ waist_pitch_joint_origin (waist_roll_joint): {pose: [0.0, 0.0, 0.019]}
15
+ left_hip_yaw_joint_origin (left_hip_roll_joint): {pose: [0.025001, 0.0, -0.12412]}
16
+ right_hip_yaw_joint_origin (right_hip_roll_joint): {pose: [0.025001, 0.0, -0.12412]}
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.0], mesh: <meshes/torso_link.h5>, mass: 9.599999999999998, com: [0.00042855343750000007, 0.0, -0.005838750000000002], inertia: [0.072459751385, -8.851300000000001e-05, -0.0016085661752787497, 0.060434677554607075, 8.3173e-05, 0.032630779169607084]}
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.0], mesh: <meshes/left_hip_yaw_link.h5>, mass: 1.702, inertia: [0.0057774, -0.0005411, -0.0023948, 0.0076124, -0.0007072, 0.003149]}
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.0], mesh: <meshes/right_hip_yaw_link.h5>, mass: 1.702, inertia: [0.0057774, 0.0005411, -0.0023948, 0.0076124, 0.0007072, 0.003149]}
20
+ left_shoulder_pitch_joint_origin (waist_pitch_joint): {pose: [0.0039563, 0.10022, 0.23778, 0.9902640751049538, 0.13920147853022313, 4.054181625451359e-05, -9.103785623530919e-05]}
21
+ right_shoulder_pitch_joint_origin (waist_pitch_joint): {pose: [0.0039563, -0.10021, 0.23778, 0.9902640751049538, -0.13920147853022313, 4.054181625451359e-05, 9.103785623530919e-05]}
22
+ logo_link_0 (waist_pitch_joint): {pose: [0.0039635, 0.0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1.0], mesh: <meshes/logo_link.h5>}
23
+ head_link_0 (waist_pitch_joint): {pose: [0.0039635, 0.0, -0.054], shape: mesh, color: [0.2, 0.2, 0.2, 1.0], mesh: <meshes/head_link.h5>}
24
+ waist_support_link_0 (waist_pitch_joint): {pose: [0.0039635, 0.0, -0.054], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/waist_support_link.h5>}
25
+ left_knee_joint_origin (left_hip_yaw_joint): {pose: [-0.078273, 0.0021489, -0.17734, 0.9961786849744957, 0.0, 0.08733858026373247, 0.0]}
26
+ right_knee_joint_origin (right_hip_yaw_joint): {pose: [-0.078273, -0.0021489, -0.17734, 0.9961786849744957, 0.0, 0.08733858026373247, 0.0]}
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.0], mesh: <meshes/left_shoulder_pitch_link.h5>, mass: 0.718, inertia: [0.0004291, -9.2e-06, 6.4e-06, 0.000453, 2.26e-05, 0.000423]}
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.0], mesh: <meshes/right_shoulder_pitch_link.h5>, mass: 0.718, inertia: [0.0004291, 9.2e-06, 6.4e-06, 0.000453, -2.26e-05, 0.000423]}
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.0], mesh: <meshes/left_knee_link.h5>, mass: 1.932, inertia: [0.011329, 4.82e-05, -4.49e-05, 0.011277, -0.0007146, 0.0015168]}
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.0], mesh: <meshes/right_knee_link.h5>, mass: 1.932, inertia: [0.011329, -4.82e-05, 4.49e-05, 0.011277, 0.0007146, 0.0015168]}
31
+ left_shoulder_roll_joint_origin (left_shoulder_pitch_joint): {pose: [0.0, 0.038, -0.013831, 0.9902682552548409, -0.1391717738427347, 0.0, 0.0]}
32
+ right_shoulder_roll_joint_origin (right_shoulder_pitch_joint): {pose: [0.0, -0.038, -0.013831, 0.9902682552548409, 0.1391717738427347, 0.0, 0.0]}
33
+ left_ankle_pitch_joint_origin (left_knee_joint): {pose: [0.0, -9.4445e-05, -0.30001]}
34
+ right_ankle_pitch_joint_origin (right_knee_joint): {pose: [0.0, 9.4445e-05, -0.30001]}
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.0], mesh: <meshes/left_shoulder_roll_link.h5>, mass: 0.643, inertia: [0.0006177, -1.0e-06, 8.7e-06, 0.0006912, -5.3e-06, 0.0003894]}
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.0], mesh: <meshes/right_shoulder_roll_link.h5>, mass: 0.643, inertia: [0.0006177, 1.0e-06, 8.7e-06, 0.0006912, 5.3e-06, 0.0003894]}
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.0], mesh: <meshes/left_ankle_pitch_link.h5>, mass: 0.074, inertia: [8.4e-06, 0.0, -2.9e-06, 1.89e-05, 0.0, 1.26e-05]}
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.0], mesh: <meshes/right_ankle_pitch_link.h5>, mass: 0.074, inertia: [8.4e-06, 0.0, -2.9e-06, 1.89e-05, 0.0, 1.26e-05]}
39
+ left_shoulder_yaw_joint_origin (left_shoulder_roll_joint): {pose: [0.0, 0.00624, -0.1032]}
40
+ right_shoulder_yaw_joint_origin (right_shoulder_roll_joint): {pose: [0.0, -0.00624, -0.1032]}
41
+ left_ankle_roll_joint_origin (left_ankle_pitch_joint): {pose: [0.0, 0.0, -0.017558]}
42
+ right_ankle_roll_joint_origin (right_ankle_pitch_joint): {pose: [0.0, 0.0, -0.017558]}
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.0], mesh: <meshes/left_shoulder_yaw_link.h5>, mass: 0.734, inertia: [0.0009988, 7.9e-06, 0.0001412, 0.0010605, -2.86e-05, 0.0004354]}
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.0], mesh: <meshes/right_shoulder_yaw_link.h5>, mass: 0.734, inertia: [0.0009988, -7.9e-06, 0.0001412, 0.0010605, 2.86e-05, 0.0004354]}
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.0], mesh: <meshes/left_ankle_roll_link.h5>, mass: 0.608, inertia: [0.0002231, 2.0e-07, 8.91e-05, 0.0016161, -1.0e-07, 0.0016667]}
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.0], mesh: <meshes/right_ankle_roll_link.h5>, mass: 0.608, inertia: [0.0002231, -2.0e-07, 8.91e-05, 0.0016161, 1.0e-07, 0.0016667]}
47
+ left_elbow_joint_origin (left_shoulder_yaw_joint): {pose: [0.015783, 0.0, -0.080518]}
48
+ right_elbow_joint_origin (right_shoulder_yaw_joint): {pose: [0.015783, 0.0, -0.080518]}
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.0], mesh: <meshes/left_elbow_link.h5>, mass: 0.6, inertia: [0.0002891, 6.53e-05, 1.72e-05, 0.0004152, -5.6e-06, 0.0004197]}
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.0], mesh: <meshes/right_elbow_link.h5>, mass: 0.6, inertia: [0.0002891, -6.53e-05, 1.72e-05, 0.0004152, 5.6e-06, 0.0004197]}
51
+ left_wrist_roll_joint_origin (left_elbow_joint): {pose: [0.1, 0.00188791, -0.01]}
52
+ right_wrist_roll_joint_origin (right_elbow_joint): {pose: [0.1, -0.00188791, -0.01]}
53
+ left_wrist_roll_joint (left_wrist_roll_joint_origin): {joint: hingeX, limits: [-1.972222054, 1.972222054], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/left_wrist_roll_link.h5>, mass: 0.08544498, inertia: [4.821544023e-05, -4.24511021e-06, 5.10599e-09, 3.722899093e-05, -1.23525e-09, 5.482106541e-05]}
54
+ right_wrist_roll_joint (right_wrist_roll_joint_origin): {joint: hingeX, limits: [-1.972222054, 1.972222054], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/right_wrist_roll_link.h5>, mass: 0.08544498, inertia: [4.821544023e-05, 4.24511021e-06, 5.10599e-09, 3.722899093e-05, 1.23525e-09, 5.482106541e-05]}
55
+ left_wrist_pitch_joint_origin (left_wrist_roll_joint): {pose: [0.038, 0.0, 0.0]}
56
+ right_wrist_pitch_joint_origin (right_wrist_roll_joint): {pose: [0.038, 0.0, 0.0]}
57
+ left_wrist_pitch_joint (left_wrist_pitch_joint_origin): {joint: hingeY, limits: [-1.614429558, 1.614429558], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/left_wrist_pitch_link.h5>, mass: 0.48404956, inertia: [0.00016579646273, -1.231206746e-05, 1.231699194e-05, 0.0004295405741, 8.1417712e-07, 0.00042953697654]}
58
+ right_wrist_pitch_joint (right_wrist_pitch_joint_origin): {joint: hingeY, limits: [-1.614429558, 1.614429558], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/right_wrist_pitch_link.h5>, mass: 0.48404956, inertia: [0.00016579646273, 1.231206746e-05, 1.231699194e-05, 0.0004295405741, -8.1417712e-07, 0.00042953697654]}
59
+ left_wrist_yaw_joint_origin (left_wrist_pitch_joint): {pose: [0.046, 0.0, 0.0]}
60
+ right_wrist_yaw_joint_origin (right_wrist_pitch_joint): {pose: [0.046, 0.0, 0.0]}
61
+ left_wrist_yaw_joint (left_wrist_yaw_joint_origin): {joint: hingeZ, limits: [-1.614429558, 1.614429558], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/left_wrist_yaw_link.h5>, mass: 0.25457647, com: [0.027712694735691795, 0.0020033273302909765, -1.0899653184406096e-18], inertia: [0.00015079444368903163, 2.869702728036281e-05, 3.715660723580004e-06, 0.00043836153569590437, 3.73406941286e-06, 0.000356006284096386]}
62
+ right_wrist_yaw_joint (right_wrist_yaw_joint_origin): {joint: hingeZ, limits: [-1.614429558, 1.614429558], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/right_wrist_yaw_link.h5>, mass: 0.25457647, com: [0.027712694735691795, -0.0020033273302909765, -1.0899653184406096e-18], inertia: [0.00015079444368903163, -2.869702728036281e-05, 3.715660723580004e-06, 0.00043836153569590437, -3.73406941286e-06, 0.000356006284096386]}
63
+ left_rubber_hand_0 (left_wrist_yaw_joint): {pose: [0.0415, 0.003, 0.0], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/left_rubber_hand.h5>}
64
+ right_rubber_hand_0 (right_wrist_yaw_joint): {pose: [0.0415, -0.003, 0.0], shape: mesh, color: [0.7, 0.7, 0.7, 1.0], mesh: <meshes/right_rubber_hand.h5>}
@@ -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> }