robotic 0.2.9.dev1__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 (416) hide show
  1. robotic/DataGen.pyi +11 -1
  2. robotic/__init__.py +8 -1
  3. robotic/_robotic.pyi +228 -110
  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 -139
  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 +27 -23
  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 +23 -15
  26. robotic/include/rai/Geo/{fclInterface.h → i_fcl.h} +3 -1
  27. robotic/include/rai/Geo/mesh.h +18 -13
  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 +9 -7
  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 +22 -24
  43. robotic/include/rai/Kin/{kin_physx.h → i_Physx.h} +10 -8
  44. robotic/include/rai/Kin/kin.h +29 -21
  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 +8 -8
  190. robotic/rai-robotModels/ranger/ranger_clean.g +5 -5
  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 -12
  218. robotic/ry-test +5 -4
  219. robotic/ry-urdfConvert.py +74 -0
  220. robotic/ry-view +28 -6
  221. robotic/src/cleanMeshes.py +59 -0
  222. robotic/src/h5_helper.py +46 -0
  223. robotic/src/h5_helper.py~ +42 -0
  224. robotic/src/mesh_helper.py +395 -0
  225. robotic/{rai-robotModels/ranger/meshes/cleanMeshes.mlx → src/meshlabFilters.mlx} +0 -3
  226. robotic/src/mujoco_io.py +242 -0
  227. robotic/src/urdf_io.py +237 -0
  228. robotic/src/yaml_helper.py +29 -0
  229. robotic/version.py +1 -1
  230. robotic-0.3.4.dev5.data/scripts/ry-h5info +23 -0
  231. {robotic-0.2.9.dev1.data → robotic-0.3.4.dev5.data}/scripts/ry-test +5 -4
  232. robotic-0.3.4.dev5.data/scripts/ry-urdfConvert.py +74 -0
  233. robotic-0.3.4.dev5.data/scripts/ry-view +46 -0
  234. {robotic-0.2.9.dev1.dist-info → robotic-0.3.4.dev5.dist-info}/METADATA +18 -22
  235. robotic-0.3.4.dev5.dist-info/RECORD +386 -0
  236. {robotic-0.2.9.dev1.dist-info → robotic-0.3.4.dev5.dist-info}/WHEEL +1 -1
  237. robotic/nlp.py +0 -113
  238. robotic/rai-robotModels/baxter/baxter.g +0 -49
  239. robotic/rai-robotModels/baxter/baxter_clean.g +0 -116
  240. robotic/rai-robotModels/baxter/baxter_clean2.g +0 -205
  241. robotic/rai-robotModels/baxter/baxter_clean3.g +0 -223
  242. robotic/rai-robotModels/baxter/baxter_description/meshes/base/PEDESTAL.ply +0 -0
  243. robotic/rai-robotModels/baxter/baxter_description/meshes/base/pedestal_link_collision.ply +0 -0
  244. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H0.ply +0 -0
  245. robotic/rai-robotModels/baxter/baxter_description/meshes/head/H1.ply +0 -0
  246. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_elbow/E1.ply +0 -0
  247. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_forearm/W1.ply +0 -0
  248. robotic/rai-robotModels/baxter/baxter_description/meshes/lower_shoulder/S1.ply +0 -0
  249. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link.ply +0 -0
  250. robotic/rai-robotModels/baxter/baxter_description/meshes/torso/base_link_collision.ply +0 -0
  251. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_elbow/E0.ply +0 -0
  252. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_forearm/W0.ply +0 -0
  253. robotic/rai-robotModels/baxter/baxter_description/meshes/upper_shoulder/S0.ply +0 -0
  254. robotic/rai-robotModels/baxter/baxter_description/meshes/wrist/W2.ply +0 -0
  255. robotic/rai-robotModels/baxter/baxter_new.g +0 -53
  256. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/electric_gripper_base.ply +0 -0
  257. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/extended_narrow.ply +0 -0
  258. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/half_round_tip.ply +0 -0
  259. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/electric_gripper/fingers/paddle_tip.ply +0 -0
  260. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_base.ply +0 -0
  261. robotic/rai-robotModels/baxter/rethink_ee_description/meshes/pneumatic_gripper/pneumatic_gripper_w_cup.ply +0 -0
  262. robotic/rai-robotModels/g1/meshes/head_link.ply +0 -0
  263. robotic/rai-robotModels/g1/meshes/left_ankle_pitch_link.ply +0 -0
  264. robotic/rai-robotModels/g1/meshes/left_ankle_roll_link.ply +0 -0
  265. robotic/rai-robotModels/g1/meshes/left_elbow_link.ply +0 -0
  266. robotic/rai-robotModels/g1/meshes/left_hand_index_0_link.ply +0 -0
  267. robotic/rai-robotModels/g1/meshes/left_hand_index_1_link.ply +0 -0
  268. robotic/rai-robotModels/g1/meshes/left_hand_middle_0_link.ply +0 -0
  269. robotic/rai-robotModels/g1/meshes/left_hand_middle_1_link.ply +0 -0
  270. robotic/rai-robotModels/g1/meshes/left_hand_palm_link.ply +0 -0
  271. robotic/rai-robotModels/g1/meshes/left_hand_thumb_0_link.ply +0 -0
  272. robotic/rai-robotModels/g1/meshes/left_hand_thumb_1_link.ply +0 -0
  273. robotic/rai-robotModels/g1/meshes/left_hand_thumb_2_link.ply +0 -0
  274. robotic/rai-robotModels/g1/meshes/left_hip_pitch_link.ply +0 -0
  275. robotic/rai-robotModels/g1/meshes/left_hip_roll_link.ply +0 -0
  276. robotic/rai-robotModels/g1/meshes/left_hip_yaw_link.ply +0 -0
  277. robotic/rai-robotModels/g1/meshes/left_knee_link.ply +0 -0
  278. robotic/rai-robotModels/g1/meshes/left_rubber_hand.ply +0 -0
  279. robotic/rai-robotModels/g1/meshes/left_shoulder_pitch_link.ply +0 -0
  280. robotic/rai-robotModels/g1/meshes/left_shoulder_roll_link.ply +0 -0
  281. robotic/rai-robotModels/g1/meshes/left_shoulder_yaw_link.ply +0 -0
  282. robotic/rai-robotModels/g1/meshes/left_wrist_pitch_link.ply +0 -0
  283. robotic/rai-robotModels/g1/meshes/left_wrist_roll_link.ply +0 -0
  284. robotic/rai-robotModels/g1/meshes/left_wrist_roll_rubber_hand.ply +0 -0
  285. robotic/rai-robotModels/g1/meshes/left_wrist_yaw_link.ply +0 -0
  286. robotic/rai-robotModels/g1/meshes/logo_link.ply +0 -0
  287. robotic/rai-robotModels/g1/meshes/pelvis.ply +0 -0
  288. robotic/rai-robotModels/g1/meshes/pelvis_contour_link.ply +0 -0
  289. robotic/rai-robotModels/g1/meshes/right_ankle_pitch_link.ply +0 -0
  290. robotic/rai-robotModels/g1/meshes/right_ankle_roll_link.ply +0 -0
  291. robotic/rai-robotModels/g1/meshes/right_elbow_link.ply +0 -0
  292. robotic/rai-robotModels/g1/meshes/right_hand_index_0_link.ply +0 -0
  293. robotic/rai-robotModels/g1/meshes/right_hand_index_1_link.ply +0 -0
  294. robotic/rai-robotModels/g1/meshes/right_hand_middle_0_link.ply +0 -0
  295. robotic/rai-robotModels/g1/meshes/right_hand_middle_1_link.ply +0 -0
  296. robotic/rai-robotModels/g1/meshes/right_hand_palm_link.ply +0 -0
  297. robotic/rai-robotModels/g1/meshes/right_hand_thumb_0_link.ply +0 -0
  298. robotic/rai-robotModels/g1/meshes/right_hand_thumb_1_link.ply +0 -0
  299. robotic/rai-robotModels/g1/meshes/right_hand_thumb_2_link.ply +0 -0
  300. robotic/rai-robotModels/g1/meshes/right_hip_pitch_link.ply +0 -0
  301. robotic/rai-robotModels/g1/meshes/right_hip_roll_link.ply +0 -0
  302. robotic/rai-robotModels/g1/meshes/right_hip_yaw_link.ply +0 -0
  303. robotic/rai-robotModels/g1/meshes/right_knee_link.ply +0 -0
  304. robotic/rai-robotModels/g1/meshes/right_rubber_hand.ply +0 -0
  305. robotic/rai-robotModels/g1/meshes/right_shoulder_pitch_link.ply +0 -0
  306. robotic/rai-robotModels/g1/meshes/right_shoulder_roll_link.ply +0 -0
  307. robotic/rai-robotModels/g1/meshes/right_shoulder_yaw_link.ply +0 -0
  308. robotic/rai-robotModels/g1/meshes/right_wrist_pitch_link.ply +0 -0
  309. robotic/rai-robotModels/g1/meshes/right_wrist_roll_link.ply +0 -0
  310. robotic/rai-robotModels/g1/meshes/right_wrist_roll_rubber_hand.ply +0 -0
  311. robotic/rai-robotModels/g1/meshes/right_wrist_yaw_link.ply +0 -0
  312. robotic/rai-robotModels/g1/meshes/torso_constraint_L_link.ply +0 -0
  313. robotic/rai-robotModels/g1/meshes/torso_constraint_L_rod_link.ply +0 -0
  314. robotic/rai-robotModels/g1/meshes/torso_constraint_R_link.ply +0 -0
  315. robotic/rai-robotModels/g1/meshes/torso_constraint_R_rod_link.ply +0 -0
  316. robotic/rai-robotModels/g1/meshes/torso_link.ply +0 -0
  317. robotic/rai-robotModels/g1/meshes/waist_constraint_L.ply +0 -0
  318. robotic/rai-robotModels/g1/meshes/waist_constraint_R.ply +0 -0
  319. robotic/rai-robotModels/g1/meshes/waist_roll_link.ply +0 -0
  320. robotic/rai-robotModels/g1/meshes/waist_support_link.ply +0 -0
  321. robotic/rai-robotModels/g1/meshes/waist_yaw_link.ply +0 -0
  322. robotic/rai-robotModels/panda/franka_description/meshes/collision/finger.stl +0 -0
  323. robotic/rai-robotModels/panda/franka_description/meshes/collision/hand.stl +0 -0
  324. robotic/rai-robotModels/panda/franka_description/meshes/collision/link0.stl +0 -0
  325. robotic/rai-robotModels/panda/franka_description/meshes/collision/link1.stl +0 -0
  326. robotic/rai-robotModels/panda/franka_description/meshes/collision/link2.stl +0 -0
  327. robotic/rai-robotModels/panda/franka_description/meshes/collision/link3.stl +0 -0
  328. robotic/rai-robotModels/panda/franka_description/meshes/collision/link4.stl +0 -0
  329. robotic/rai-robotModels/panda/franka_description/meshes/collision/link5.stl +0 -0
  330. robotic/rai-robotModels/panda/franka_description/meshes/collision/link6.stl +0 -0
  331. robotic/rai-robotModels/panda/franka_description/meshes/collision/link7.stl +0 -0
  332. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO.sh +0 -10
  333. robotic/rai-robotModels/panda/franka_description/meshes/visual/HOWTO2.sh +0 -7
  334. robotic/rai-robotModels/panda/franka_description/meshes/visual/convMeshes.mlx +0 -38
  335. robotic/rai-robotModels/panda/franka_description/meshes/visual/finger.ply +0 -0
  336. robotic/rai-robotModels/panda/franka_description/meshes/visual/hand.ply +0 -0
  337. robotic/rai-robotModels/panda/franka_description/meshes/visual/link0.ply +0 -0
  338. robotic/rai-robotModels/panda/franka_description/meshes/visual/link1.ply +0 -0
  339. robotic/rai-robotModels/panda/franka_description/meshes/visual/link2.ply +0 -0
  340. robotic/rai-robotModels/panda/franka_description/meshes/visual/link3.ply +0 -0
  341. robotic/rai-robotModels/panda/franka_description/meshes/visual/link4.ply +0 -0
  342. robotic/rai-robotModels/panda/franka_description/meshes/visual/link5.ply +0 -0
  343. robotic/rai-robotModels/panda/franka_description/meshes/visual/link6.ply +0 -0
  344. robotic/rai-robotModels/panda/franka_description/meshes/visual/link7.ply +0 -0
  345. robotic/rai-robotModels/panda/franka_description/meshes/visual/script.mlx +0 -28
  346. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base.ply +0 -0
  347. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/base_L.ply +0 -0
  348. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster.ply +0 -0
  349. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/caster_L.ply +0 -0
  350. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/pr2_wheel.ply +0 -0
  351. robotic/rai-robotModels/pr2/pr2_description/meshes/base_v0/wheel.ply +0 -0
  352. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/forearm.ply +0 -0
  353. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_flex.ply +0 -0
  354. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll.ply +0 -0
  355. robotic/rai-robotModels/pr2/pr2_description/meshes/forearm_v0/wrist_roll_L.ply +0 -0
  356. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/gripper_palm.ply +0 -0
  357. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger.ply +0 -0
  358. robotic/rai-robotModels/pr2/pr2_description/meshes/gripper_v0/l_finger_tip.ply +0 -0
  359. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan.ply +0 -0
  360. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_pan_L.ply +0 -0
  361. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt.ply +0 -0
  362. robotic/rai-robotModels/pr2/pr2_description/meshes/head_v0/head_tilt_L.ply +0 -0
  363. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_lift.ply +0 -0
  364. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_pan.ply +0 -0
  365. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/shoulder_yaw.ply +0 -0
  366. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll.ply +0 -0
  367. robotic/rai-robotModels/pr2/pr2_description/meshes/shoulder_v0/upper_arm_roll_L.ply +0 -0
  368. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/hok_tilt.ply +0 -0
  369. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo.ply +0 -0
  370. robotic/rai-robotModels/pr2/pr2_description/meshes/tilting_laser_v0/tilting_hokuyo_L.ply +0 -0
  371. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso.ply +0 -0
  372. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift.ply +0 -0
  373. robotic/rai-robotModels/pr2/pr2_description/meshes/torso_v0/torso_lift_L.ply +0 -0
  374. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/elbow_flex.ply +0 -0
  375. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll.ply +0 -0
  376. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/forearm_roll_L.ply +0 -0
  377. robotic/rai-robotModels/pr2/pr2_description/meshes/upper_arm_v0/upper_arm.ply +0 -0
  378. robotic/rai-robotModels/ranger/meshes/cleanMeshes.sh +0 -8
  379. robotic/rai-robotModels/ranger/meshes/ranger_mini3.ply +0 -0
  380. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel.ply +0 -0
  381. robotic/rai-robotModels/ranger/meshes/ranger_mini_v3_wheel_right.ply +0 -0
  382. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link.ply +0 -0
  383. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_base_link_x.ply +0 -10
  384. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_finger.ply +0 -0
  385. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_inner_knuckle.ply +0 -0
  386. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_finger.ply +0 -0
  387. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_outer_knuckle.ply +0 -0
  388. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_arg2f_85_pad.ply +0 -0
  389. robotic/rai-robotModels/robotiq/meshes/visual/robotiq_gripper_coupling.ply +0 -0
  390. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Base.ply +0 -0
  391. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Forearm.ply +0 -0
  392. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Shoulder.ply +0 -0
  393. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/UpperArm.ply +0 -0
  394. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist1.ply +0 -0
  395. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist2.ply +0 -0
  396. robotic/rai-robotModels/ur10/ur_description/meshes/ur10/visual/Wrist3.ply +0 -0
  397. robotic/ry-urdf2rai +0 -222
  398. robotic/ry-urdf2yaml +0 -250
  399. robotic-0.2.9.dev1.data/scripts/ry-h5info +0 -32
  400. robotic-0.2.9.dev1.data/scripts/ry-urdf2rai +0 -222
  401. robotic-0.2.9.dev1.data/scripts/ry-urdf2yaml +0 -250
  402. robotic-0.2.9.dev1.data/scripts/ry-view +0 -24
  403. robotic-0.2.9.dev1.dist-info/RECORD +0 -421
  404. /robotic/include/rai/{Geo → Algo}/Lewiner/LookUpTable.h +0 -0
  405. /robotic/include/rai/Geo/{assimpInterface.h → i_assimp.h} +0 -0
  406. /robotic/include/rai/Kin/{kin_bullet.h → i_Bullet.h} +0 -0
  407. /robotic/include/rai/Kin/{kin_feather.h → i_Feather.h} +0 -0
  408. /robotic/include/rai/Kin/{kin_ode.h → i_Ode.h} +0 -0
  409. /robotic/include/rai/Optim/{opt-ipopt.h → i_Ipopt.h} +0 -0
  410. /robotic/rai-robotModels/robotiq/meshes/{visual/robotiq_ft300.ply → robotiq_ft300.ply} +0 -0
  411. /robotic/{import.py → src/__init__.py} +0 -0
  412. {robotic-0.2.9.dev1.data → robotic-0.3.4.dev5.data}/scripts/ry-bot +0 -0
  413. {robotic-0.2.9.dev1.data → robotic-0.3.4.dev5.data}/scripts/ry-info +0 -0
  414. {robotic-0.2.9.dev1.data → robotic-0.3.4.dev5.data}/scripts/ry-meshTool +0 -0
  415. {robotic-0.2.9.dev1.dist-info → robotic-0.3.4.dev5.dist-info}/licenses/LICENSE +0 -0
  416. {robotic-0.2.9.dev1.dist-info → robotic-0.3.4.dev5.dist-info}/top_level.txt +0 -0
@@ -19,17 +19,18 @@
19
19
  #include <climits>
20
20
  #include <mutex>
21
21
  #include <functional>
22
+ #include <random>
22
23
 
23
24
  using std::cout;
24
- using std::cerr;
25
25
  using std::endl;
26
26
 
27
+ namespace rai {
28
+
27
29
  //===========================================================================
28
30
  //
29
31
  // standard little methods (this needs cleanup)
30
32
  //
31
33
 
32
- namespace rai {
33
34
  extern int argc;
34
35
  extern char** argv;
35
36
  extern std::string startDir;
@@ -121,7 +122,6 @@ const char* niceTypeidName(const std::type_info& type);
121
122
  //----- get verbose level
122
123
  bool getInteractivity();
123
124
  bool getDisableGui();
124
- }
125
125
 
126
126
  //===========================================================================
127
127
  //
@@ -132,7 +132,6 @@ bool getDisableGui();
132
132
  #define STRINGF(format,...) (rai::String().printf(format, __VA_ARGS__))
133
133
  #define STREAM(x) (((rai::String&)(rai::String().stream() <<x)).stream())
134
134
 
135
- namespace rai {
136
135
  /** @brief String implements the functionalities of an ostream and an
137
136
  istream, but also can be send to an ostream or read from an
138
137
  istream. It is based on a simple streambuf derived from the
@@ -184,6 +183,7 @@ struct String : public std::iostream {
184
183
  String& printf(const char* format, ...);
185
184
  void resize(uint n, bool copy); //low-level resizing the string buffer - with additinal final 0
186
185
  void append(char x);
186
+ String& append(const char* s);
187
187
  void prepend(const String& s);
188
188
  void replace(uint i, uint n, const char* xp, uint xN);
189
189
  void removePrefix(const char* prefix);
@@ -212,18 +212,17 @@ struct String : public std::iostream {
212
212
  bool endsWith(const String& substring) const;
213
213
  bool endsWith(const char* substring) const;
214
214
 
215
+ void substituteEnvironmentVariables();
216
+
215
217
  /// @name I/O
216
218
  void write(std::ostream& os) const;
217
- uint read(std::istream& is, const char* skipSymbols=nullptr, const char* stopSymbols=nullptr, int eatStopSymbol=-1);
219
+ uint read(std::istream& is, const char* skipSymbols=0, const char* stopSymbols=0, int eatStopSymbol=-1);
218
220
  };
219
221
  stdPipes(String)
220
222
 
221
223
  inline String operator+(const String& a, const char* b) { String s=a; s <<b; return s; }
222
224
  //template<class T> String operator+(const String& a, const T& b) { String s=a; s <<b; return s; }
223
225
 
224
- } //namespace
225
-
226
- typedef rai::String str;
227
226
 
228
227
  void setLogLevels(int fileLogLevel=3, int consoleLogLevel=2);
229
228
 
@@ -236,26 +235,25 @@ void setLogLevels(int fileLogLevel=3, int consoleLogLevel=2);
236
235
  // give names to Enum (for pipe << >> )
237
236
  //
238
237
 
239
- namespace rai {
240
238
  template<class enum_T>
241
239
  struct Enum {
242
240
  enum_T x;
243
241
  static const char* names [];
244
242
  Enum():x((enum_T)-1) {}
245
243
  Enum(enum_T y):x(y) {}
246
- explicit Enum(const rai::String& str):Enum() { operator=(str); }
244
+ explicit Enum(const String& str):Enum() { operator=(str); }
247
245
  const enum_T& operator=(enum_T y) { x=y; return x; }
248
246
  bool operator==(const enum_T& y) const { return x==y; }
249
247
  bool operator!=(const enum_T& y) const { return x!=y; }
250
248
  operator enum_T() const { return x; }
251
249
  void read(std::istream& is) {
252
- rai::String str(is);
250
+ String str(is);
253
251
  operator=(str);
254
252
  }
255
253
  void operator=(const char* str) {
256
254
  operator=(STRING(str));
257
255
  }
258
- void operator=(const rai::String& str) {
256
+ void operator=(const String& str) {
259
257
  bool good=false;
260
258
  for(int i=0; names[i]; i++) {
261
259
  const char* n = names[i];
@@ -263,14 +261,14 @@ struct Enum {
263
261
  if(str==n) { x=(enum_T)(i); good=true; break; }
264
262
  }
265
263
  if(!good) {
266
- rai::String all;
264
+ String all;
267
265
  for(int i=0; names[i]; i++) all <<names[i] <<' ';
268
266
  HALT("Enum::read could not find the keyword '" <<str <<"'. Possible Enum keywords: " <<all);
269
267
  } else {
270
268
  CHECK(str.p && !strcmp(names[x], str.p), "");
271
269
  }
272
270
  }
273
- static bool contains(const rai::String& str) {
271
+ static bool contains(const String& str) {
274
272
  for(int i=0; names[i]; i++) {
275
273
  if(str==names[i]) return true;
276
274
  }
@@ -287,14 +285,12 @@ struct Enum {
287
285
  };
288
286
  template<class T> std::istream& operator>>(std::istream& is, Enum<T>& x) { x.read(is); return is; }
289
287
  template<class T> std::ostream& operator<<(std::ostream& os, const Enum<T>& x) { x.write(os); return os; }
290
- }
291
288
 
292
289
  //===========================================================================
293
290
  //
294
291
  // parameters
295
292
  //
296
293
 
297
- namespace rai {
298
294
  //----- parameter grabbing from command line, config file, or default value
299
295
  template<class T> T getParameter(const char* tag);
300
296
  template<class T> T getParameter(const char* tag, const T& Default);
@@ -331,8 +327,6 @@ template<class T> struct ParameterInitEnum {
331
327
  auto& set_##name(type _##name){ name=_##name; return *this; } \
332
328
  rai::ParameterInitEnum<type> __init_##name = {name, scope #name, Default};
333
329
 
334
- }
335
-
336
330
  //===========================================================================
337
331
  //
338
332
  // Testing
@@ -359,36 +353,34 @@ template<class T> struct ParameterInitEnum {
359
353
  // FileToken
360
354
  //
361
355
 
362
- namespace rai {
363
-
364
356
  /** @brief A ostream/istream wrapper that allows easier initialization of objects, like:
365
357
  arr X = FILE("inname");
366
358
  X >>FILE("outfile");
367
359
  etc
368
360
  */
369
361
  struct FileToken {
370
- rai::String path, name, baseDir;
362
+ String path, name, baseDir;
371
363
  std::shared_ptr<std::ofstream> os;
372
364
  std::shared_ptr<std::ifstream> is;
373
365
 
374
366
  FileToken();
375
- FileToken(const char* _filename, bool change_dir=false);
367
+ FileToken(const char* _filename);
376
368
  FileToken(const FileToken& ft);
377
369
  ~FileToken();
378
370
  FileToken& operator()() { return *this; }
379
371
 
380
372
  void decomposeFilename();
381
- void cd_start();
373
+ void cd_base();
382
374
  void cd_file();
383
375
  bool exists();
384
- std::ostream& getOs(bool change_dir=false);
385
- std::istream& getIs(bool change_dir=false);
376
+ std::ostream& getOs();
377
+ std::istream& getIs();
386
378
  operator std::istream& () { return getIs(); }
387
379
  operator std::ostream& () { return getOs(); }
388
380
 
389
- rai::String autoPath() const;
390
- rai::String relPath() const;
391
- rai::String fullPath() const;
381
+ String autoPath() const;
382
+ String relPath() const;
383
+ String fullPath() const;
392
384
  };
393
385
  template<class T> FileToken& operator>>(FileToken& fil, T& x) { fil.getIs() >>x; return fil; }
394
386
  template<class T> std::ostream& operator<<(FileToken& fil, const T& x) { fil.getOs() <<x; return fil.getOs(); }
@@ -396,23 +388,25 @@ inline std::ostream& operator<<(std::ostream& os, const FileToken& fil) { return
396
388
  template<class T> FileToken& operator<<(T& x, FileToken& fil) { fil.getIs() >>x; return fil; }
397
389
  template<class T> void operator>>(const T& x, FileToken& fil) { fil.getOs() <<x; }
398
390
  inline bool operator==(const FileToken&, const FileToken&) { return false; }
399
- }
400
- #define FILE(filename) (rai::FileToken(filename, false)()) //it needs to return a REFERENCE to a local scope object
391
+
392
+ #define FILE(filename) (rai::FileToken(filename)()) //it needs to return a REFERENCE to a local scope object
401
393
 
402
394
  //===========================================================================
403
395
  //
404
396
  // random number generator
405
397
  //
406
398
 
407
- namespace rai {
408
399
  /** @brief A random number generator. An global instantiation \c
409
- rai::rnd of a \c Rnd object is created. Use this one object to get
400
+ rnd of a \c Rnd object is created. Use this one object to get
410
401
  random numbers.*/
411
402
  class Rnd {
412
403
  private:
413
404
  bool ready;
414
405
  int32_t rpoint; /* Feldindex */
415
406
  int32_t rfield[256]; /* Schieberegisterfeld */
407
+ public:
408
+ std::minstd_rand e1;
409
+ std::random_device r;
416
410
 
417
411
  public:
418
412
  /// ...
@@ -420,52 +414,23 @@ class Rnd {
420
414
 
421
415
  public:/// @name initialization
422
416
  /// initialize with a specific seed
423
- uint32_t seed(uint32_t n);
417
+ void seed(int s){ e1.seed(s); ready=true; }
424
418
 
425
419
  /// use Parameter<uint>("seed") as seed
426
- uint32_t seed();
420
+ void seed(){ e1.seed(getParameter<uint32_t>("seed", 0)); ready=true; }
427
421
 
428
422
  /// uses the internal clock to generate a seed
429
- uint32_t clockSeed();
423
+ void seed_random(){ e1.seed(r()); ready=true; }
430
424
 
431
425
  public:/// @name access
432
- /// a initeger random number uniformly distributed in [0, ?]
433
- uint32_t num() { if(!ready) seed(); return (uint32_t)rnd250() >>5; }
434
- /// same as \c num()
435
- uint32_t operator()() { return num(); }
436
- /// a initeger random number uniformly distributed in [0, \c i-1]
437
- uint32_t num(uint32_t limit) {
438
- CHECK(limit, "zero limit in rnd.num()"); return num() % limit;
439
- }
440
- uint32_t num(int32_t lo, int32_t hi) { return lo+num(hi-lo+1); }
441
- /// same as \c num(i)
442
- uint32_t operator()(uint32_t i) { return num(i); }
443
- uint32_t operator()(int32_t lo, int32_t hi) { return num(lo, hi); }
444
- /// a random variable uniformly distributed in [0, 1]
445
- double uni() { return ((double)num(1 <<22))/(1 <<22); }
446
- /// a random variable uniformly distributed in [\c low, \c high]
447
- double uni(double low, double high) { return low+uni()*(high-low); }
448
- /// a gaussian random variable with mean zero
449
- double gauss();
450
- /** @brief a positive integer drawn from a poisson distribution with given
451
- \c mean; is case \c mean>100, a (positive) gauss number
452
- \c floor(mean+gauss(sqrt(mean))+.5) is returned */
453
- uint32_t poisson(double mean);
426
+ int uni_int(int lo, int up) { if(!ready) seed(); std::uniform_int_distribution<int> dist(lo, up); return dist(e1); }
427
+ double uni(double lo=0., double up=1.) { if(!ready) seed(); std::uniform_real_distribution<double> dist(lo, up); return dist(e1); }
428
+ double gauss(double mean=0., double std=1.){ if(!ready) seed(); std::normal_distribution<double> dist(mean, std); return dist(e1); }
454
429
 
455
- private:
456
- int32_t rnd250() {
457
- rpoint = (rpoint+1) & 255; // Index erhoehen
458
- return rfield[rpoint] = rfield[(rpoint-250) & 255]
459
- ^ rfield[(rpoint-103) & 255];
460
- }
430
+ uint operator()(uint up) { return uint(uni_int(0, up-1)); }
461
431
 
462
- void seed250(int32_t seed);
463
432
  };
464
433
 
465
- }
466
- /// The global Rnd object
467
- extern rai::Rnd rnd;
468
-
469
434
  //===========================================================================
470
435
  //
471
436
  /// a little inotify wrapper
@@ -475,7 +440,7 @@ struct Inotify {
475
440
  int fd, wd;
476
441
  char* buffer;
477
442
  uint buffer_size;
478
- rai::FileToken* fil;
443
+ FileToken* fil;
479
444
  Inotify(const char* filename);
480
445
  ~Inotify();
481
446
  bool poll(bool block=false, bool verbose=false);
@@ -541,7 +506,6 @@ struct Singleton {
541
506
  // just a hook to make things gl drawable
542
507
  //
543
508
 
544
- struct OpenGL;
545
509
  struct OpenGLDrawOptions {
546
510
  bool drawWires=false;
547
511
  bool drawColors=true;
@@ -569,22 +533,20 @@ struct CoutToken {
569
533
  ~CoutToken() { coutMutex.unlock(); }
570
534
  std::ostream& getOs() { return cout; }
571
535
  };
572
- #define COUT (CoutToken().getOs())
536
+ #define COUT (rai::CoutToken().getOs())
573
537
 
574
538
  //===========================================================================
575
539
  //
576
540
  // to register a type
577
541
  //
578
542
 
579
- namespace rai {
580
543
  struct Node;
581
544
  struct Graph;
582
- }
583
545
 
584
546
  struct Type {
585
547
  virtual ~Type() {}
586
548
  virtual const std::type_info& typeId() const {NIY}
587
- virtual struct rai::Node* readIntoNewNode(struct rai::Graph& container, std::istream&) const {NIY}
549
+ virtual struct Node* readIntoNewNode(struct Graph& container, std::istream&) const {NIY}
588
550
  virtual void* newInstance() const {NIY}
589
551
  void write(std::ostream& os) const { os <<"Type '" <<typeId().name() <<"' "; }
590
552
  void read(std::istream& is) const {NIY}
@@ -606,10 +568,11 @@ inline bool operator==(Type& t1, Type& t2) { return t1.typeId() == t2.typeId();
606
568
  //
607
569
 
608
570
  template<class T> T fromFile(const char* filename) {
609
- rai::FileToken file(filename, true);
571
+ FileToken file(filename);
610
572
  T x;
573
+ file.cd_file();
611
574
  x.read(file.getIs());
612
- file.cd_start();
575
+ file.cd_base();
613
576
  return x;
614
577
  }
615
578
 
@@ -620,13 +583,21 @@ inline bool operator==(Type& t1, Type& t2) { return t1.typeId() == t2.typeId();
620
583
  // return x;
621
584
  // }
622
585
 
586
+ } //namespace
587
+
588
+ //===========================================================================
589
+
590
+ typedef rai::String str;
591
+ extern rai::Rnd rnd;
592
+ std::istream& operator>>(std::istream& is, char* str);
593
+
623
594
  //===========================================================================
624
595
  //
625
- /// running code on init (in cpp files)
596
+ // shared ptrs
626
597
  //
627
598
 
628
- #define RUN_ON_INIT_BEGIN(key) struct key##_RUN_ON_INIT{ key##_RUN_ON_INIT(){
629
- #define RUN_ON_INIT_END(key) } } key##_RUN_ON_INIT_dummy;
599
+ template<class T> void _delete(T* ptr){}
600
+ template<class T> std::shared_ptr<T> _shared(T& x){ return std::shared_ptr<T>(&x, &_delete<T>); }
630
601
 
631
602
  //===========================================================================
632
603
  //
@@ -636,3 +607,11 @@ inline bool operator==(Type& t1, Type& t2) { return t1.typeId() == t2.typeId();
636
607
  void gnuplot(const char* command, bool pause=false, bool persist=false, const char* PDFfile=nullptr);
637
608
  void gnuplotClose();
638
609
 
610
+ //===========================================================================
611
+ //
612
+ /// running code on init (in cpp files)
613
+ //
614
+
615
+ #define RUN_ON_INIT_BEGIN(key) struct key##_RUN_ON_INIT{ key##_RUN_ON_INIT(){
616
+ #define RUN_ON_INIT_END(key) } } key##_RUN_ON_INIT_dummy;
617
+
@@ -11,6 +11,7 @@ struct RndStableConfigs {
11
11
  RndStableConfigs_Options opt;
12
12
  uint totalEvals=0, totalSucc=0;
13
13
  bool savePngs=false;
14
+ str supp;
14
15
 
15
16
  bool getSample(rai::Configuration& C, const StringA& supports);
16
17
  void report();
@@ -2,7 +2,7 @@
2
2
 
3
3
  #include <Core/util.h>
4
4
  #include <Kin/kin.h>
5
- #include <Kin/kin_physx.h>
5
+ #include <Kin/i_Physx.h>
6
6
 
7
7
  struct ShapenetGrasps_Options {
8
8
  RAI_PARAM("ShapenetGrasps/", int, verbose, 1)
@@ -32,17 +32,19 @@ struct ShapenetGrasps{
32
32
  bool loadObject(uint shape, bool rndOrientation=true);
33
33
  void resetObjectPose(int idx=0, bool rndOrientation=true);
34
34
  arr getPointCloud();
35
+ arr getPointNormals();
35
36
  arr sampleGraspPose();
36
- void setGraspPose(const arr& pose, const char* objPts="objPts0");
37
+ void setGraspPose(const arr& pose, const char* objPts="obj0_pts");
37
38
  arr evaluateGrasp();
38
39
 
39
40
 
40
41
  rai::Configuration C;
41
42
  StringA files;
43
+ arr evalGripperPoses;
42
44
 
43
45
  private:
44
46
  void clearScene();
45
- bool addSceneObject(const char* file, int idx, bool rndOri=true, bool visual=false);
47
+ bool addSceneObject(const char* file, int idx, bool rndOri=true);
46
48
  };
47
49
 
48
50
  arr sampleGraspCandidate(rai::Configuration& C, const char *ptsFrame, const char* refFrame, double pregraspNormalSdv=.2, int verbose=1);
@@ -38,3 +38,5 @@ void depthData2point(arr& pt, const arr& fxycxy);
38
38
  void depthData2pointCloud(arr& pts, const floatA& depth, float fx, float fy, float cx, float cy);
39
39
  void depthData2pointCloud(arr& pts, const floatA& depth, const arr& fxycxy);
40
40
  void point2depthData(double* pt, double* fxycxy);
41
+
42
+ void depth2depthImage(byteA& img, const floatA& depth, float maxDepth=2.f);
@@ -74,7 +74,7 @@ struct Matrix {
74
74
 
75
75
  Matrix() {}
76
76
  Matrix(int zero) { CHECK_EQ(zero, 0, "this is only for initialization with zero"); setZero(); }
77
- Matrix(const arr& m) { CHECK_EQ(m.N, 9, ""); set(m.p); }
77
+ Matrix(const arr& m) { set(m); }
78
78
  Matrix(const Matrix& m) : m00(m.m00), m01(m.m01), m02(m.m02), m10(m.m10), m11(m.m11), m12(m.m12), m20(m.m20), m21(m.m21), m22(m.m22) {}
79
79
  double* p() { return &m00; }
80
80
  arr getArr() const { return arr(&m00, 9, true).reshape(3, 3); }
@@ -84,6 +84,7 @@ struct Matrix {
84
84
  void setZero();
85
85
  void setRandom(double range=1.);
86
86
  void setId();
87
+ void set(const arr& X);
87
88
  void setDiag(const arr& diag);
88
89
  void setSymmetric(const arr& entries6);
89
90
  void setSkew(const Vector&);
@@ -132,16 +133,17 @@ struct Quaternion {
132
133
  Quaternion& setDiff(const Vector& from, const Vector& to);
133
134
  Quaternion& setInterpolateEmbedded(double t, const Quaternion& from, const Quaternion to);
134
135
  Quaternion& setInterpolateProper(double t, const Quaternion& from, const Quaternion to);
135
- void invert();
136
- void flipSign();
136
+ void integrateDiffEq(arr& qdot, double tau);
137
+ Quaternion& invert();
138
+ Quaternion& flipSign();
137
139
  void uniqueSign();
138
- void normalize();
140
+ Quaternion& normalize();
139
141
  void multiply(double f);
140
142
 
141
143
  void appendX(double radians);
142
144
  void appendY(double radians);
143
145
  void appendZ(double radians);
144
- void append(const Quaternion& q);
146
+ Quaternion& append(const Quaternion& q);
145
147
 
146
148
  double diffZero() const;
147
149
  void checkZero() const;
@@ -150,6 +152,7 @@ struct Quaternion {
150
152
  bool isNormalized() const;
151
153
  Vector getLog() const;
152
154
  Vector getVector() const { return getLog(); }
155
+ Vector getThreeEntries() const { CHECK_ZERO(w, 1e-6, ""); return Vector(x, y, z); }
153
156
  double getRad() const;
154
157
  double getDeg() const{ return 180./RAI_PI*getRad(); }
155
158
  void getRad(double& angle, Vector& axis) const;
@@ -218,6 +221,8 @@ struct Transformation {
218
221
  void appendTransformation(const Transformation& f); // this = this * f
219
222
  void appendInvTransformation(const Transformation& f); // this = this * f^{-1}
220
223
 
224
+ Transformation inv() const{ Transformation X; X.setInverse(*this); return X; }
225
+
221
226
  double* getMatrix(double* m) const; // 4x4 matrix with 3x3=rotation and right-column=translation
222
227
  arr getMatrix() const; // 4x4 matrix with 3x3=rotation and right-column=translation
223
228
  double* getInverseMatrix(double* m) const; // 4x4 matrix with 3x3=R^{-1} and bottom-row=R^{-1}*translation
@@ -241,8 +246,8 @@ struct Camera {
241
246
 
242
247
  float heightAbs;
243
248
  float focalLength;
244
- float whRatio;
245
249
  float zNear, zFar;
250
+ float width=640., height=480.;
246
251
 
247
252
  Camera();
248
253
 
@@ -250,16 +255,17 @@ struct Camera {
250
255
  void setHeightAngle(float a);
251
256
  void setHeightAbs(float h);
252
257
  void setZRange(float znear, float zfar);
253
- void setWHRatio(float ratio);
254
258
  void setFocalLength(float f);
255
- void setPosition(float x, float y, float z);
256
- void setOffset(float x, float y, float z);
259
+ void setWidthHeight(float w, float h);
260
+ void setPosition(const Vector& x);
257
261
  void setKinect();
258
262
  void setDefault();
259
263
 
260
- void focus(float x, float y, float z, bool makeUpright=false);
264
+ void focus(const Vector& x, bool makeUpright=false);
265
+ void focusAtDist(const Vector& x, double dist);
261
266
  void watchDirection(const Vector& d);
262
267
  void upright(const Vector& up=Vector(0, 0, 1));
268
+ bool checkFocus();
263
269
 
264
270
  //-- projection matrix stuff
265
271
  arr getT_IC() const;
@@ -270,12 +276,12 @@ struct Camera {
270
276
  arr getInverseProjectionMatrix() const;
271
277
  double glConvertToTrueDepth(double d) const;
272
278
  double glConvertToLinearDepth(double d) const;
273
- void project2PixelsAndTrueDepth(arr& x, double width, double height) const;
274
- void unproject_fromPixelsAndTrueDepth(arr& x, double width, double height) const;
275
- void unproject_fromPixelsAndGLDepth(arr& x, uint width, uint height) const;
279
+ void project2PixelsAndTrueDepth(arr& x) const;
280
+ void unproject_fromPixelsAndTrueDepth(arr& x) const;
281
+ void unproject_fromPixelsAndGLDepth(arr& x) const;
276
282
 
277
- arr getFxycxy(double width, double height);
278
- arr getIntrinsicMatrix(double width, double height) const;
283
+ arr getFxycxy();
284
+ arr getIntrinsicMatrix() const;
279
285
 
280
286
  //retired
281
287
  void setCameraProjectionMatrix(const arr& P); //P is in standard convention -> computes fixedProjectionMatrix in OpenGL convention from this
@@ -348,8 +354,10 @@ bool operator!=(const Transformation&, const Transformation&);
348
354
 
349
355
  // MIXED
350
356
  Vector operator*(const Quaternion& b, const Vector& c);
357
+ arr operator*(const Quaternion& b, const arr& c);
351
358
  Vector operator/(const Vector& c, const Quaternion& b);
352
359
  Vector operator*(const Transformation& b, const Vector& c);
360
+ arr operator*(const Transformation& b, const arr& c);
353
361
  Vector operator/(const Vector& c, const Transformation& b);
354
362
 
355
363
  std::istream& operator>>(std::istream&, Vector&);
@@ -16,7 +16,7 @@ struct FclInterface {
16
16
  struct FclInterface_self* self=0;
17
17
  enum QueryMode { _broadPhaseOnly, _binaryCollisionSingle, _binaryCollisionAll, _distanceCutoff, _fine } mode;
18
18
 
19
- double cutoff=-1.;
19
+ double cutoff=.01;
20
20
  uintAA excludes;
21
21
  uintA collisions; //return values!
22
22
  arr X_lastQuery; //memory to check whether an object has moved in consecutive queries
@@ -24,6 +24,8 @@ struct FclInterface {
24
24
  FclInterface(const Array<Shape*>& geometries, const uintAA& _excludes, QueryMode _mode);
25
25
  ~FclInterface();
26
26
 
27
+ void setActiveColliders(uintA geom_ids);
28
+
27
29
  void step(const arr& X);
28
30
 
29
31
  protected:
@@ -21,7 +21,7 @@ struct SharedTextureImage{ byteA img; charA file; uint glBufferID=UINT32_MAX; };
21
21
 
22
22
  namespace rai {
23
23
 
24
- enum ShapeType { ST_none=-1, ST_box=0, ST_sphere, ST_capsule, ST_mesh, ST_cylinder, ST_marker, ST_pointCloud, ST_ssCvx, ST_ssBox, ST_ssCylinder, ST_ssBoxElip, ST_quad, ST_camera, ST_sdf, ST_tensor, ST_lines };
24
+ enum ShapeType : int { ST_none=-1, ST_box=0, ST_sphere, ST_capsule, ST_mesh, ST_cylinder, ST_marker, ST_pointCloud, ST_ssCvx, ST_ssBox, ST_ssCylinder, ST_ssBoxElip, ST_quad, ST_camera, ST_sdf, ST_tensor, ST_lines };
25
25
 
26
26
  //===========================================================================
27
27
  /// a mesh (arrays of vertices, triangles, colors & normals)
@@ -44,8 +44,6 @@ struct Mesh {
44
44
 
45
45
  rai::Transformation glX; ///< transform (only used for drawing! Otherwise use applyOnPoints) (optional)
46
46
 
47
- int version = 0;
48
-
49
47
  uint _support_vertex=0;
50
48
  bool isArrayFormatted=false;
51
49
 
@@ -54,7 +52,7 @@ struct Mesh {
54
52
 
55
53
  /// @name set or create
56
54
  void clear();
57
- void setBox(bool edgesOnly=false);
55
+ Mesh& setBox(bool edgesOnly=false);
58
56
  void setBox(const arr& lo, const arr& up, bool edgesOnly=false);
59
57
  Mesh& setDot(); ///< an awkward mesh: just a single dot, not tris (e.g. cvx core of a sphere...)
60
58
  void setLine(double l); ///< an awkward mesh: just a single line, not tris (e.g. cvx core of a sphere...)
@@ -70,20 +68,20 @@ struct Mesh {
70
68
  void setCapsule(double r, double l, uint fineness=2);
71
69
  void setSSBox(double x_width, double y_width, double z_height, double r, uint fineness=2);
72
70
  void setSSCvx(const arr& core, double r, uint fineness=2);
73
- void setImplicitSurface(const ScalarFunction& f, double lo=-10., double hi=+10., uint res=100);
74
- void setImplicitSurface(const ScalarFunction& f, double xLo, double xHi, double yLo, double yHi, double zLo, double zHi, uint res);
75
- void setImplicitSurface(const arr& gridValues, const arr& lo, const arr& hi);
76
- void setImplicitSurface(const floatA& gridValues, const arr& lo, const arr& hi);
77
- void setImplicitSurfaceBySphereProjection(const ScalarFunction& f, double rad, uint fineness=3);
71
+ void setImplicitSurface(ScalarFunction f, double lo=-10., double up=+10., uint res=100);
72
+ void setImplicitSurface(std::function<double(const arr& x)> f, const arr& bounds, uint res);
73
+ void setImplicitSurface(const arr& gridValues, const arr& size);
74
+ void setImplicitSurface(const floatA& gridValues, const arr& size);
75
+ void setImplicitSurfaceBySphereProjection(ScalarFunction f, double rad, uint fineness=3);
78
76
  Mesh& setRandom(uint vertices=10);
79
77
  void setGrid(uint X, uint Y);
80
78
 
81
79
  /// @name transform and modify
82
80
  void subDivide();
83
81
  void subDivide(uint tri);
84
- void scale(double s);
85
- void scale(double sx, double sy, double sz);
86
- void scale(const arr& s);
82
+ Mesh& scale(double s);
83
+ Mesh& scale(double sx, double sy, double sz);
84
+ Mesh& scale(const arr& s);
87
85
  void translate(double dx, double dy, double dz);
88
86
  void translate(const arr& d);
89
87
  void transform(const Transformation& t);
@@ -95,6 +93,8 @@ struct Mesh {
95
93
  void makeTriangleFan();
96
94
  void makeLines();
97
95
  void makeArrayFormatted(double avgNormalsThreshold=.9);
96
+ void makeLinesArrayFormatted();
97
+
98
98
 
99
99
  /// @name convex decomposition
100
100
  rai::Mesh decompose();
@@ -102,7 +102,6 @@ struct Mesh {
102
102
 
103
103
  /// @name support function
104
104
  uint support(const double* dir);
105
- void supportMargin(uintA& verts, const arr& dir, double margin, int initialization=-1);
106
105
 
107
106
  /// @name internal computations & cleanup
108
107
  void computeTriNormals();
@@ -125,6 +124,7 @@ struct Mesh {
125
124
  double getCircum(uint tri) const;
126
125
  double getVolume() const;
127
126
  uintA getVertexDegrees() const;
127
+ void samplePoints(arr& pts, arr& normals, uint n);
128
128
 
129
129
  ANN& ensure_ann();
130
130
 
@@ -148,6 +148,7 @@ struct Mesh {
148
148
  void writeJson(std::ostream&);
149
149
  void readJson(std::istream&);
150
150
  void writeArr(std::ostream&);
151
+ void writeAssimp(const char* filename, const char* format);
151
152
  void writeH5(const char* filename, const String& group);
152
153
  void readH5(const char* filename, const String& group);
153
154
  void readArr(std::istream&);
@@ -156,8 +157,11 @@ struct Mesh {
156
157
 
157
158
  stdOutPipe(Mesh)
158
159
 
160
+ void clearAssetMeshesTextures();
161
+
159
162
  } //namespace
160
163
 
164
+
161
165
  //===========================================================================
162
166
 
163
167
  //
@@ -166,6 +170,7 @@ stdOutPipe(Mesh)
166
170
 
167
171
  uintA getSubMeshPositions(const char* filename);
168
172
  arr MinkowskiSum(const arr& A, const arr& B);
173
+ void supportMargin(const arr& V, uintA& verts, const arr& dir, double margin, int initialization=-1);
169
174
 
170
175
  //===========================================================================
171
176
  //