warp-lang 1.7.0__py3-none-manylinux_2_28_x86_64.whl

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

Potentially problematic release.


This version of warp-lang might be problematic. Click here for more details.

Files changed (429) hide show
  1. warp/__init__.py +139 -0
  2. warp/__init__.pyi +1 -0
  3. warp/autograd.py +1142 -0
  4. warp/bin/warp-clang.so +0 -0
  5. warp/bin/warp.so +0 -0
  6. warp/build.py +557 -0
  7. warp/build_dll.py +405 -0
  8. warp/builtins.py +6855 -0
  9. warp/codegen.py +3969 -0
  10. warp/config.py +158 -0
  11. warp/constants.py +57 -0
  12. warp/context.py +6812 -0
  13. warp/dlpack.py +462 -0
  14. warp/examples/__init__.py +24 -0
  15. warp/examples/assets/bear.usd +0 -0
  16. warp/examples/assets/bunny.usd +0 -0
  17. warp/examples/assets/cartpole.urdf +110 -0
  18. warp/examples/assets/crazyflie.usd +0 -0
  19. warp/examples/assets/cube.usd +0 -0
  20. warp/examples/assets/nonuniform.usd +0 -0
  21. warp/examples/assets/nv_ant.xml +92 -0
  22. warp/examples/assets/nv_humanoid.xml +183 -0
  23. warp/examples/assets/nvidia_logo.png +0 -0
  24. warp/examples/assets/pixel.jpg +0 -0
  25. warp/examples/assets/quadruped.urdf +268 -0
  26. warp/examples/assets/rocks.nvdb +0 -0
  27. warp/examples/assets/rocks.usd +0 -0
  28. warp/examples/assets/sphere.usd +0 -0
  29. warp/examples/assets/square_cloth.usd +0 -0
  30. warp/examples/benchmarks/benchmark_api.py +389 -0
  31. warp/examples/benchmarks/benchmark_cloth.py +296 -0
  32. warp/examples/benchmarks/benchmark_cloth_cupy.py +96 -0
  33. warp/examples/benchmarks/benchmark_cloth_jax.py +105 -0
  34. warp/examples/benchmarks/benchmark_cloth_numba.py +161 -0
  35. warp/examples/benchmarks/benchmark_cloth_numpy.py +85 -0
  36. warp/examples/benchmarks/benchmark_cloth_paddle.py +94 -0
  37. warp/examples/benchmarks/benchmark_cloth_pytorch.py +94 -0
  38. warp/examples/benchmarks/benchmark_cloth_taichi.py +120 -0
  39. warp/examples/benchmarks/benchmark_cloth_warp.py +153 -0
  40. warp/examples/benchmarks/benchmark_gemm.py +164 -0
  41. warp/examples/benchmarks/benchmark_interop_paddle.py +166 -0
  42. warp/examples/benchmarks/benchmark_interop_torch.py +166 -0
  43. warp/examples/benchmarks/benchmark_launches.py +301 -0
  44. warp/examples/benchmarks/benchmark_tile_load_store.py +103 -0
  45. warp/examples/browse.py +37 -0
  46. warp/examples/core/example_cupy.py +86 -0
  47. warp/examples/core/example_dem.py +241 -0
  48. warp/examples/core/example_fluid.py +299 -0
  49. warp/examples/core/example_graph_capture.py +150 -0
  50. warp/examples/core/example_marching_cubes.py +194 -0
  51. warp/examples/core/example_mesh.py +180 -0
  52. warp/examples/core/example_mesh_intersect.py +211 -0
  53. warp/examples/core/example_nvdb.py +182 -0
  54. warp/examples/core/example_raycast.py +111 -0
  55. warp/examples/core/example_raymarch.py +205 -0
  56. warp/examples/core/example_render_opengl.py +193 -0
  57. warp/examples/core/example_sample_mesh.py +300 -0
  58. warp/examples/core/example_sph.py +411 -0
  59. warp/examples/core/example_torch.py +211 -0
  60. warp/examples/core/example_wave.py +269 -0
  61. warp/examples/fem/example_adaptive_grid.py +286 -0
  62. warp/examples/fem/example_apic_fluid.py +423 -0
  63. warp/examples/fem/example_burgers.py +261 -0
  64. warp/examples/fem/example_convection_diffusion.py +178 -0
  65. warp/examples/fem/example_convection_diffusion_dg.py +204 -0
  66. warp/examples/fem/example_deformed_geometry.py +172 -0
  67. warp/examples/fem/example_diffusion.py +196 -0
  68. warp/examples/fem/example_diffusion_3d.py +225 -0
  69. warp/examples/fem/example_diffusion_mgpu.py +220 -0
  70. warp/examples/fem/example_distortion_energy.py +228 -0
  71. warp/examples/fem/example_magnetostatics.py +240 -0
  72. warp/examples/fem/example_mixed_elasticity.py +291 -0
  73. warp/examples/fem/example_navier_stokes.py +261 -0
  74. warp/examples/fem/example_nonconforming_contact.py +298 -0
  75. warp/examples/fem/example_stokes.py +213 -0
  76. warp/examples/fem/example_stokes_transfer.py +262 -0
  77. warp/examples/fem/example_streamlines.py +352 -0
  78. warp/examples/fem/utils.py +1000 -0
  79. warp/examples/interop/example_jax_callable.py +116 -0
  80. warp/examples/interop/example_jax_ffi_callback.py +132 -0
  81. warp/examples/interop/example_jax_kernel.py +205 -0
  82. warp/examples/optim/example_bounce.py +266 -0
  83. warp/examples/optim/example_cloth_throw.py +228 -0
  84. warp/examples/optim/example_diffray.py +561 -0
  85. warp/examples/optim/example_drone.py +870 -0
  86. warp/examples/optim/example_fluid_checkpoint.py +497 -0
  87. warp/examples/optim/example_inverse_kinematics.py +182 -0
  88. warp/examples/optim/example_inverse_kinematics_torch.py +191 -0
  89. warp/examples/optim/example_softbody_properties.py +400 -0
  90. warp/examples/optim/example_spring_cage.py +245 -0
  91. warp/examples/optim/example_trajectory.py +227 -0
  92. warp/examples/sim/example_cartpole.py +143 -0
  93. warp/examples/sim/example_cloth.py +225 -0
  94. warp/examples/sim/example_cloth_self_contact.py +322 -0
  95. warp/examples/sim/example_granular.py +130 -0
  96. warp/examples/sim/example_granular_collision_sdf.py +202 -0
  97. warp/examples/sim/example_jacobian_ik.py +244 -0
  98. warp/examples/sim/example_particle_chain.py +124 -0
  99. warp/examples/sim/example_quadruped.py +203 -0
  100. warp/examples/sim/example_rigid_chain.py +203 -0
  101. warp/examples/sim/example_rigid_contact.py +195 -0
  102. warp/examples/sim/example_rigid_force.py +133 -0
  103. warp/examples/sim/example_rigid_gyroscopic.py +115 -0
  104. warp/examples/sim/example_rigid_soft_contact.py +140 -0
  105. warp/examples/sim/example_soft_body.py +196 -0
  106. warp/examples/tile/example_tile_cholesky.py +87 -0
  107. warp/examples/tile/example_tile_convolution.py +66 -0
  108. warp/examples/tile/example_tile_fft.py +55 -0
  109. warp/examples/tile/example_tile_filtering.py +113 -0
  110. warp/examples/tile/example_tile_matmul.py +85 -0
  111. warp/examples/tile/example_tile_mlp.py +383 -0
  112. warp/examples/tile/example_tile_nbody.py +199 -0
  113. warp/examples/tile/example_tile_walker.py +327 -0
  114. warp/fabric.py +355 -0
  115. warp/fem/__init__.py +106 -0
  116. warp/fem/adaptivity.py +508 -0
  117. warp/fem/cache.py +572 -0
  118. warp/fem/dirichlet.py +202 -0
  119. warp/fem/domain.py +411 -0
  120. warp/fem/field/__init__.py +125 -0
  121. warp/fem/field/field.py +619 -0
  122. warp/fem/field/nodal_field.py +326 -0
  123. warp/fem/field/restriction.py +37 -0
  124. warp/fem/field/virtual.py +848 -0
  125. warp/fem/geometry/__init__.py +32 -0
  126. warp/fem/geometry/adaptive_nanogrid.py +857 -0
  127. warp/fem/geometry/closest_point.py +84 -0
  128. warp/fem/geometry/deformed_geometry.py +221 -0
  129. warp/fem/geometry/element.py +776 -0
  130. warp/fem/geometry/geometry.py +362 -0
  131. warp/fem/geometry/grid_2d.py +392 -0
  132. warp/fem/geometry/grid_3d.py +452 -0
  133. warp/fem/geometry/hexmesh.py +911 -0
  134. warp/fem/geometry/nanogrid.py +571 -0
  135. warp/fem/geometry/partition.py +389 -0
  136. warp/fem/geometry/quadmesh.py +663 -0
  137. warp/fem/geometry/tetmesh.py +855 -0
  138. warp/fem/geometry/trimesh.py +806 -0
  139. warp/fem/integrate.py +2335 -0
  140. warp/fem/linalg.py +419 -0
  141. warp/fem/operator.py +293 -0
  142. warp/fem/polynomial.py +229 -0
  143. warp/fem/quadrature/__init__.py +17 -0
  144. warp/fem/quadrature/pic_quadrature.py +299 -0
  145. warp/fem/quadrature/quadrature.py +591 -0
  146. warp/fem/space/__init__.py +228 -0
  147. warp/fem/space/basis_function_space.py +468 -0
  148. warp/fem/space/basis_space.py +667 -0
  149. warp/fem/space/dof_mapper.py +251 -0
  150. warp/fem/space/function_space.py +309 -0
  151. warp/fem/space/grid_2d_function_space.py +177 -0
  152. warp/fem/space/grid_3d_function_space.py +227 -0
  153. warp/fem/space/hexmesh_function_space.py +257 -0
  154. warp/fem/space/nanogrid_function_space.py +201 -0
  155. warp/fem/space/partition.py +367 -0
  156. warp/fem/space/quadmesh_function_space.py +223 -0
  157. warp/fem/space/restriction.py +179 -0
  158. warp/fem/space/shape/__init__.py +143 -0
  159. warp/fem/space/shape/cube_shape_function.py +1105 -0
  160. warp/fem/space/shape/shape_function.py +133 -0
  161. warp/fem/space/shape/square_shape_function.py +926 -0
  162. warp/fem/space/shape/tet_shape_function.py +834 -0
  163. warp/fem/space/shape/triangle_shape_function.py +672 -0
  164. warp/fem/space/tetmesh_function_space.py +271 -0
  165. warp/fem/space/topology.py +424 -0
  166. warp/fem/space/trimesh_function_space.py +194 -0
  167. warp/fem/types.py +99 -0
  168. warp/fem/utils.py +420 -0
  169. warp/jax.py +187 -0
  170. warp/jax_experimental/__init__.py +16 -0
  171. warp/jax_experimental/custom_call.py +351 -0
  172. warp/jax_experimental/ffi.py +698 -0
  173. warp/jax_experimental/xla_ffi.py +602 -0
  174. warp/math.py +244 -0
  175. warp/native/array.h +1145 -0
  176. warp/native/builtin.h +1800 -0
  177. warp/native/bvh.cpp +492 -0
  178. warp/native/bvh.cu +791 -0
  179. warp/native/bvh.h +554 -0
  180. warp/native/clang/clang.cpp +536 -0
  181. warp/native/coloring.cpp +613 -0
  182. warp/native/crt.cpp +51 -0
  183. warp/native/crt.h +362 -0
  184. warp/native/cuda_crt.h +1058 -0
  185. warp/native/cuda_util.cpp +646 -0
  186. warp/native/cuda_util.h +307 -0
  187. warp/native/error.cpp +77 -0
  188. warp/native/error.h +36 -0
  189. warp/native/exports.h +1878 -0
  190. warp/native/fabric.h +245 -0
  191. warp/native/hashgrid.cpp +311 -0
  192. warp/native/hashgrid.cu +87 -0
  193. warp/native/hashgrid.h +240 -0
  194. warp/native/initializer_array.h +41 -0
  195. warp/native/intersect.h +1230 -0
  196. warp/native/intersect_adj.h +375 -0
  197. warp/native/intersect_tri.h +339 -0
  198. warp/native/marching.cpp +19 -0
  199. warp/native/marching.cu +514 -0
  200. warp/native/marching.h +19 -0
  201. warp/native/mat.h +2220 -0
  202. warp/native/mathdx.cpp +87 -0
  203. warp/native/matnn.h +343 -0
  204. warp/native/mesh.cpp +266 -0
  205. warp/native/mesh.cu +404 -0
  206. warp/native/mesh.h +1980 -0
  207. warp/native/nanovdb/GridHandle.h +366 -0
  208. warp/native/nanovdb/HostBuffer.h +590 -0
  209. warp/native/nanovdb/NanoVDB.h +6624 -0
  210. warp/native/nanovdb/PNanoVDB.h +3390 -0
  211. warp/native/noise.h +859 -0
  212. warp/native/quat.h +1371 -0
  213. warp/native/rand.h +342 -0
  214. warp/native/range.h +139 -0
  215. warp/native/reduce.cpp +174 -0
  216. warp/native/reduce.cu +364 -0
  217. warp/native/runlength_encode.cpp +79 -0
  218. warp/native/runlength_encode.cu +61 -0
  219. warp/native/scan.cpp +47 -0
  220. warp/native/scan.cu +53 -0
  221. warp/native/scan.h +23 -0
  222. warp/native/solid_angle.h +466 -0
  223. warp/native/sort.cpp +251 -0
  224. warp/native/sort.cu +277 -0
  225. warp/native/sort.h +33 -0
  226. warp/native/sparse.cpp +378 -0
  227. warp/native/sparse.cu +524 -0
  228. warp/native/spatial.h +657 -0
  229. warp/native/svd.h +702 -0
  230. warp/native/temp_buffer.h +46 -0
  231. warp/native/tile.h +2584 -0
  232. warp/native/tile_reduce.h +264 -0
  233. warp/native/vec.h +1426 -0
  234. warp/native/volume.cpp +501 -0
  235. warp/native/volume.cu +67 -0
  236. warp/native/volume.h +969 -0
  237. warp/native/volume_builder.cu +477 -0
  238. warp/native/volume_builder.h +52 -0
  239. warp/native/volume_impl.h +70 -0
  240. warp/native/warp.cpp +1082 -0
  241. warp/native/warp.cu +3636 -0
  242. warp/native/warp.h +381 -0
  243. warp/optim/__init__.py +17 -0
  244. warp/optim/adam.py +163 -0
  245. warp/optim/linear.py +1137 -0
  246. warp/optim/sgd.py +112 -0
  247. warp/paddle.py +407 -0
  248. warp/render/__init__.py +18 -0
  249. warp/render/render_opengl.py +3518 -0
  250. warp/render/render_usd.py +784 -0
  251. warp/render/utils.py +160 -0
  252. warp/sim/__init__.py +65 -0
  253. warp/sim/articulation.py +793 -0
  254. warp/sim/collide.py +2395 -0
  255. warp/sim/graph_coloring.py +300 -0
  256. warp/sim/import_mjcf.py +790 -0
  257. warp/sim/import_snu.py +227 -0
  258. warp/sim/import_urdf.py +579 -0
  259. warp/sim/import_usd.py +894 -0
  260. warp/sim/inertia.py +324 -0
  261. warp/sim/integrator.py +242 -0
  262. warp/sim/integrator_euler.py +1997 -0
  263. warp/sim/integrator_featherstone.py +2101 -0
  264. warp/sim/integrator_vbd.py +2048 -0
  265. warp/sim/integrator_xpbd.py +3292 -0
  266. warp/sim/model.py +4791 -0
  267. warp/sim/particles.py +121 -0
  268. warp/sim/render.py +427 -0
  269. warp/sim/utils.py +428 -0
  270. warp/sparse.py +2057 -0
  271. warp/stubs.py +3333 -0
  272. warp/tape.py +1203 -0
  273. warp/tests/__init__.py +1 -0
  274. warp/tests/__main__.py +4 -0
  275. warp/tests/assets/curlnoise_golden.npy +0 -0
  276. warp/tests/assets/mlp_golden.npy +0 -0
  277. warp/tests/assets/pixel.npy +0 -0
  278. warp/tests/assets/pnoise_golden.npy +0 -0
  279. warp/tests/assets/spiky.usd +0 -0
  280. warp/tests/assets/test_grid.nvdb +0 -0
  281. warp/tests/assets/test_index_grid.nvdb +0 -0
  282. warp/tests/assets/test_int32_grid.nvdb +0 -0
  283. warp/tests/assets/test_vec_grid.nvdb +0 -0
  284. warp/tests/assets/torus.nvdb +0 -0
  285. warp/tests/assets/torus.usda +105 -0
  286. warp/tests/aux_test_class_kernel.py +34 -0
  287. warp/tests/aux_test_compile_consts_dummy.py +18 -0
  288. warp/tests/aux_test_conditional_unequal_types_kernels.py +29 -0
  289. warp/tests/aux_test_dependent.py +29 -0
  290. warp/tests/aux_test_grad_customs.py +29 -0
  291. warp/tests/aux_test_instancing_gc.py +26 -0
  292. warp/tests/aux_test_module_unload.py +23 -0
  293. warp/tests/aux_test_name_clash1.py +40 -0
  294. warp/tests/aux_test_name_clash2.py +40 -0
  295. warp/tests/aux_test_reference.py +9 -0
  296. warp/tests/aux_test_reference_reference.py +8 -0
  297. warp/tests/aux_test_square.py +16 -0
  298. warp/tests/aux_test_unresolved_func.py +22 -0
  299. warp/tests/aux_test_unresolved_symbol.py +22 -0
  300. warp/tests/cuda/__init__.py +0 -0
  301. warp/tests/cuda/test_async.py +676 -0
  302. warp/tests/cuda/test_ipc.py +124 -0
  303. warp/tests/cuda/test_mempool.py +233 -0
  304. warp/tests/cuda/test_multigpu.py +169 -0
  305. warp/tests/cuda/test_peer.py +139 -0
  306. warp/tests/cuda/test_pinned.py +84 -0
  307. warp/tests/cuda/test_streams.py +634 -0
  308. warp/tests/geometry/__init__.py +0 -0
  309. warp/tests/geometry/test_bvh.py +200 -0
  310. warp/tests/geometry/test_hash_grid.py +221 -0
  311. warp/tests/geometry/test_marching_cubes.py +74 -0
  312. warp/tests/geometry/test_mesh.py +316 -0
  313. warp/tests/geometry/test_mesh_query_aabb.py +399 -0
  314. warp/tests/geometry/test_mesh_query_point.py +932 -0
  315. warp/tests/geometry/test_mesh_query_ray.py +311 -0
  316. warp/tests/geometry/test_volume.py +1103 -0
  317. warp/tests/geometry/test_volume_write.py +346 -0
  318. warp/tests/interop/__init__.py +0 -0
  319. warp/tests/interop/test_dlpack.py +729 -0
  320. warp/tests/interop/test_jax.py +371 -0
  321. warp/tests/interop/test_paddle.py +800 -0
  322. warp/tests/interop/test_torch.py +1001 -0
  323. warp/tests/run_coverage_serial.py +39 -0
  324. warp/tests/sim/__init__.py +0 -0
  325. warp/tests/sim/disabled_kinematics.py +244 -0
  326. warp/tests/sim/flaky_test_sim_grad.py +290 -0
  327. warp/tests/sim/test_collision.py +604 -0
  328. warp/tests/sim/test_coloring.py +258 -0
  329. warp/tests/sim/test_model.py +224 -0
  330. warp/tests/sim/test_sim_grad_bounce_linear.py +212 -0
  331. warp/tests/sim/test_sim_kinematics.py +98 -0
  332. warp/tests/sim/test_vbd.py +597 -0
  333. warp/tests/test_adam.py +163 -0
  334. warp/tests/test_arithmetic.py +1096 -0
  335. warp/tests/test_array.py +2972 -0
  336. warp/tests/test_array_reduce.py +156 -0
  337. warp/tests/test_assert.py +250 -0
  338. warp/tests/test_atomic.py +153 -0
  339. warp/tests/test_bool.py +220 -0
  340. warp/tests/test_builtins_resolution.py +1298 -0
  341. warp/tests/test_closest_point_edge_edge.py +327 -0
  342. warp/tests/test_codegen.py +810 -0
  343. warp/tests/test_codegen_instancing.py +1495 -0
  344. warp/tests/test_compile_consts.py +215 -0
  345. warp/tests/test_conditional.py +252 -0
  346. warp/tests/test_context.py +42 -0
  347. warp/tests/test_copy.py +238 -0
  348. warp/tests/test_ctypes.py +638 -0
  349. warp/tests/test_dense.py +73 -0
  350. warp/tests/test_devices.py +97 -0
  351. warp/tests/test_examples.py +482 -0
  352. warp/tests/test_fabricarray.py +996 -0
  353. warp/tests/test_fast_math.py +74 -0
  354. warp/tests/test_fem.py +2003 -0
  355. warp/tests/test_fp16.py +136 -0
  356. warp/tests/test_func.py +454 -0
  357. warp/tests/test_future_annotations.py +98 -0
  358. warp/tests/test_generics.py +656 -0
  359. warp/tests/test_grad.py +893 -0
  360. warp/tests/test_grad_customs.py +339 -0
  361. warp/tests/test_grad_debug.py +341 -0
  362. warp/tests/test_implicit_init.py +411 -0
  363. warp/tests/test_import.py +45 -0
  364. warp/tests/test_indexedarray.py +1140 -0
  365. warp/tests/test_intersect.py +73 -0
  366. warp/tests/test_iter.py +76 -0
  367. warp/tests/test_large.py +177 -0
  368. warp/tests/test_launch.py +411 -0
  369. warp/tests/test_lerp.py +151 -0
  370. warp/tests/test_linear_solvers.py +193 -0
  371. warp/tests/test_lvalue.py +427 -0
  372. warp/tests/test_mat.py +2089 -0
  373. warp/tests/test_mat_lite.py +122 -0
  374. warp/tests/test_mat_scalar_ops.py +2913 -0
  375. warp/tests/test_math.py +178 -0
  376. warp/tests/test_mlp.py +282 -0
  377. warp/tests/test_module_hashing.py +258 -0
  378. warp/tests/test_modules_lite.py +44 -0
  379. warp/tests/test_noise.py +252 -0
  380. warp/tests/test_operators.py +299 -0
  381. warp/tests/test_options.py +129 -0
  382. warp/tests/test_overwrite.py +551 -0
  383. warp/tests/test_print.py +339 -0
  384. warp/tests/test_quat.py +2315 -0
  385. warp/tests/test_rand.py +339 -0
  386. warp/tests/test_reload.py +302 -0
  387. warp/tests/test_rounding.py +185 -0
  388. warp/tests/test_runlength_encode.py +196 -0
  389. warp/tests/test_scalar_ops.py +105 -0
  390. warp/tests/test_smoothstep.py +108 -0
  391. warp/tests/test_snippet.py +318 -0
  392. warp/tests/test_sparse.py +582 -0
  393. warp/tests/test_spatial.py +2229 -0
  394. warp/tests/test_special_values.py +361 -0
  395. warp/tests/test_static.py +592 -0
  396. warp/tests/test_struct.py +734 -0
  397. warp/tests/test_tape.py +204 -0
  398. warp/tests/test_transient_module.py +93 -0
  399. warp/tests/test_triangle_closest_point.py +145 -0
  400. warp/tests/test_types.py +562 -0
  401. warp/tests/test_utils.py +588 -0
  402. warp/tests/test_vec.py +1487 -0
  403. warp/tests/test_vec_lite.py +80 -0
  404. warp/tests/test_vec_scalar_ops.py +2327 -0
  405. warp/tests/test_verify_fp.py +100 -0
  406. warp/tests/tile/__init__.py +0 -0
  407. warp/tests/tile/test_tile.py +780 -0
  408. warp/tests/tile/test_tile_load.py +407 -0
  409. warp/tests/tile/test_tile_mathdx.py +208 -0
  410. warp/tests/tile/test_tile_mlp.py +402 -0
  411. warp/tests/tile/test_tile_reduce.py +447 -0
  412. warp/tests/tile/test_tile_shared_memory.py +247 -0
  413. warp/tests/tile/test_tile_view.py +173 -0
  414. warp/tests/unittest_serial.py +47 -0
  415. warp/tests/unittest_suites.py +427 -0
  416. warp/tests/unittest_utils.py +468 -0
  417. warp/tests/walkthrough_debug.py +93 -0
  418. warp/thirdparty/__init__.py +0 -0
  419. warp/thirdparty/appdirs.py +598 -0
  420. warp/thirdparty/dlpack.py +145 -0
  421. warp/thirdparty/unittest_parallel.py +570 -0
  422. warp/torch.py +391 -0
  423. warp/types.py +5230 -0
  424. warp/utils.py +1137 -0
  425. warp_lang-1.7.0.dist-info/METADATA +516 -0
  426. warp_lang-1.7.0.dist-info/RECORD +429 -0
  427. warp_lang-1.7.0.dist-info/WHEEL +5 -0
  428. warp_lang-1.7.0.dist-info/licenses/LICENSE.md +202 -0
  429. warp_lang-1.7.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,92 @@
1
+ <mujoco model="ant">
2
+ <custom>
3
+ <numeric data="0.0 0.0 0.55 1.0 0.0 0.0 0.0 0.0 1.0 0.0 -1.0 0.0 -1.0 0.0 1.0" name="init_qpos"/>
4
+ </custom>
5
+
6
+ <default>
7
+ <joint armature="0.01" damping="0.1" limited="true"/>
8
+ <geom condim="3" density="5.0" friction="1.5 0.1 0.1" margin="0.01" rgba="0.97 0.38 0.06 1"/>
9
+ </default>
10
+
11
+ <compiler inertiafromgeom="true" angle="degree"/>
12
+
13
+ <option timestep="0.016" iterations="50" tolerance="1e-10" solver="Newton" jacobian="dense" cone="pyramidal"/>
14
+
15
+ <size nconmax="50" njmax="200" nstack="10000"/>
16
+ <visual>
17
+ <map force="0.1" zfar="30"/>
18
+ <rgba haze="0.15 0.25 0.35 1"/>
19
+ <quality shadowsize="2048"/>
20
+ <global offwidth="800" offheight="800"/>
21
+ </visual>
22
+
23
+ <asset>
24
+ <texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="512"/>
25
+ <texture name="texplane" type="2d" builtin="checker" rgb1=".2 .3 .4" rgb2=".1 0.15 0.2" width="512" height="512" mark="cross" markrgb=".8 .8 .8"/>
26
+ <texture name="texgeom" type="cube" builtin="flat" mark="cross" width="127" height="1278"
27
+ rgb1="0.8 0.6 0.4" rgb2="0.8 0.6 0.4" markrgb="1 1 1" random="0.01"/>
28
+
29
+ <material name="matplane" reflectance="0.3" texture="texplane" texrepeat="1 1" texuniform="true"/>
30
+ <material name="matgeom" texture="texgeom" texuniform="true" rgba="0.8 0.6 .4 1"/>
31
+ </asset>
32
+
33
+ <worldbody>
34
+ <geom name="floor" pos="0 0 0" size="0 0 .25" type="plane" material="matplane" condim="3"/>
35
+
36
+ <light directional="false" diffuse=".2 .2 .2" specular="0 0 0" pos="0 0 5" dir="0 0 -1" castshadow="false"/>
37
+ <light mode="targetbodycom" target="torso" directional="false" diffuse=".8 .8 .8" specular="0.3 0.3 0.3" pos="0 0 4.0" dir="0 0 -1"/>
38
+
39
+ <body name="torso" pos="0 0 0.75">
40
+ <geom name="torso_geom" pos="0 0 0" size="0.25" type="sphere"/>
41
+ <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="aux_1_geom" size="0.08" type="capsule" rgba=".999 .2 .1 1"/>
42
+ <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="aux_2_geom" size="0.08" type="capsule"/>
43
+ <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="aux_3_geom" size="0.08" type="capsule"/>
44
+ <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="aux_4_geom" size="0.08" type="capsule" rgba=".999 .2 .02 1"/>
45
+
46
+ <joint armature="0" damping="0" limited="false" margin="0.01" name="root" pos="0 0 0" type="free"/>
47
+ <body name="front_left_leg" pos="0.2 0.2 0">
48
+ <joint axis="0 0 1" name="hip_1" pos="0.0 0.0 0.0" range="-40 40" type="hinge"/>
49
+ <geom fromto="0.0 0.0 0.0 0.2 0.2 0.0" name="left_leg_geom" size="0.08" type="capsule" rgba=".999 .2 .1 1"/>
50
+ <body pos="0.2 0.2 0" name="front_left_foot">
51
+ <joint axis="-1 1 0" name="ankle_1" pos="0.0 0.0 0.0" range="30 100" type="hinge"/>
52
+ <geom fromto="0.0 0.0 0.0 0.4 0.4 0.0" name="left_ankle_geom" size="0.08" type="capsule" rgba=".999 .2 .1 1"/>
53
+ </body>
54
+ </body>
55
+ <body name="front_right_leg" pos="-0.2 0.2 0">
56
+ <joint axis="0 0 1" name="hip_2" pos="0.0 0.0 0.0" range="-40 40" type="hinge"/>
57
+ <geom fromto="0.0 0.0 0.0 -0.2 0.2 0.0" name="right_leg_geom" size="0.08" type="capsule"/>
58
+ <body pos="-0.2 0.2 0" name="front_right_foot">
59
+ <joint axis="1 1 0" name="ankle_2" pos="0.0 0.0 0.0" range="-100 -30" type="hinge"/>
60
+ <geom fromto="0.0 0.0 0.0 -0.4 0.4 0.0" name="right_ankle_geom" size="0.08" type="capsule"/>
61
+ </body>
62
+ </body>
63
+ <body name="left_back_leg" pos="-0.2 -0.2 0">
64
+ <joint axis="0 0 1" name="hip_3" pos="0.0 0.0 0.0" range="-40 40" type="hinge"/>
65
+ <geom fromto="0.0 0.0 0.0 -0.2 -0.2 0.0" name="back_leg_geom" size="0.08" type="capsule"/>
66
+ <body pos="-0.2 -0.2 0" name="left_back_foot">
67
+ <joint axis="-1 1 0" name="ankle_3" pos="0.0 0.0 0.0" range="-100 -30" type="hinge"/>
68
+ <geom fromto="0.0 0.0 0.0 -0.4 -0.4 0.0" name="third_ankle_geom" size="0.08" type="capsule"/>
69
+ </body>
70
+ </body>
71
+ <body name="right_back_leg" pos="0.2 -0.2 0">
72
+ <joint axis="0 0 1" name="hip_4" pos="0.0 0.0 0.0" range="-40 40" type="hinge"/>
73
+ <geom fromto="0.0 0.0 0.0 0.2 -0.2 0.0" name="rightback_leg_geom" size="0.08" type="capsule" rgba=".999 .2 .1 1"/>
74
+ <body pos="0.2 -0.2 0" name="right_back_foot">
75
+ <joint axis="1 1 0" name="ankle_4" pos="0.0 0.0 0.0" range="30 100" type="hinge"/>
76
+ <geom fromto="0.0 0.0 0.0 0.4 -0.4 0.0" name="fourth_ankle_geom" size="0.08" type="capsule" rgba=".999 .2 .1 1"/>
77
+ </body>
78
+ </body>
79
+ </body>
80
+ </worldbody>
81
+
82
+ <actuator>
83
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_4" gear="15"/>
84
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_4" gear="15"/>
85
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_1" gear="15"/>
86
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_1" gear="15"/>
87
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_2" gear="15"/>
88
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_2" gear="15"/>
89
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="hip_3" gear="15"/>
90
+ <motor ctrllimited="true" ctrlrange="-1.0 1.0" joint="ankle_3" gear="15"/>
91
+ </actuator>
92
+ </mujoco>
@@ -0,0 +1,183 @@
1
+ <mujoco model="humanoid">
2
+
3
+ <statistic extent="2" center="0 0 1"/>
4
+
5
+ <option timestep="0.00555"/>
6
+
7
+ <default>
8
+ <motor ctrlrange="-1 1" ctrllimited="true"/>
9
+ <default class="body">
10
+ <geom type="capsule" condim="1" friction="1.0 0.05 0.05" solimp=".9 .99 .003" solref=".015 1" material="self"/>
11
+ <joint limited="true" type="hinge" damping="0.1" stiffness="5" armature=".007" solimplimit="0 .99 .01"/>
12
+ <site size=".04" group="3"/>
13
+ <default class="force-torque">
14
+ <site type="box" size=".01 .01 .02" rgba="1 0 0 1" />
15
+ </default>
16
+ <default class="touch">
17
+ <site type="capsule" rgba="0 0 1 .3"/>
18
+ </default>
19
+ </default>
20
+ </default>
21
+
22
+ <worldbody>
23
+ <geom name="floor" type="plane" conaffinity="1" size="100 100 .2" material="grid"/>
24
+ <body name="torso" pos="0 0 0" childclass="body">
25
+ <light name="top" pos="0 0 2" mode="trackcom"/>
26
+ <camera name="back" pos="-3 0 1" xyaxes="0 -1 0 1 0 2" mode="trackcom"/>
27
+ <camera name="side" pos="0 -3 1" xyaxes="1 0 0 0 1 2" mode="trackcom"/>
28
+ <joint armature="0" damping="0" limited="false" margin="0.01" name="root" pos="0 0 0" type="free"/>
29
+ <site name="root" class="force-torque"/>
30
+ <geom name="torso" type="capsule" fromto="0 -.07 0 0 .07 0" size=".07"/>
31
+ <geom name="upper_waist" type="capsule" fromto="-.01 -.06 -.12 -.01 .06 -.12" size=".06"/>
32
+ <site name="torso" class="touch" type="box" pos="0 0 -.05" size=".075 .14 .13"/>
33
+ <geom name="head" type="sphere" size=".09" pos="0 0 .19"/>
34
+ <body name="lower_waist" pos="-.01 0 -.260" quat="1.000 0 -.002 0">
35
+ <geom name="lower_waist" type="capsule" fromto="0 -.06 0 0 .06 0" size=".06"/>
36
+ <site name="lower_waist" class="touch" size=".061 .06" zaxis="0 1 0"/>
37
+ <joint limited="true" name="abdomen_z" pos="0 0 .065" axis="0 0 1" range="-45 45" damping="5" stiffness="20" armature=".02"/>
38
+ <joint limited="true" name="abdomen_y" pos="0 0 .065" axis="0 1 0" range="-75 30" damping="5" stiffness="20" armature=".01"/>
39
+ <body name="pelvis" pos="0 0 -.165" quat="1.000 0 -.002 0">
40
+ <joint limited="true" name="abdomen_x" pos="0 0 .1" axis="1 0 0" range="-35 35" damping="5" stiffness="10" armature=".01"/>
41
+ <geom name="butt" type="capsule" fromto="-.02 -.07 0 -.02 .07 0" size=".09"/>
42
+ <site name="butt" class="touch" size=".091 .07" pos="-.02 0 0" zaxis="0 1 0"/>
43
+ <body name="right_thigh" pos="0 -.1 -.04">
44
+ <site name="right_hip" class="force-torque"/>
45
+ <joint limited="true" name="right_hip_x" axis="1 0 0" range="-25 5" damping="5" stiffness="10" armature=".01"/>
46
+ <joint limited="true" name="right_hip_z" axis="0 0 1" range="-60 35" damping="5" stiffness="10" armature=".01"/>
47
+ <joint limited="true" name="right_hip_y" axis="0 1 0" range="-80 20" damping="5" stiffness="20" armature=".01"/>
48
+ <geom name="right_thigh" type="capsule" fromto="0 0 0 0 .01 -.34" size=".06"/>
49
+ <site name="right_thigh" class="touch" pos="0 .005 -.17" size=".061 .17" zaxis="0 -1 34"/>
50
+ <body name="right_shin" pos="0 .01 -.403">
51
+ <site name="right_knee" class="force-torque" pos="0 0 .02"/>
52
+ <joint limited="true" name="right_knee" pos="0 0 .02" axis="0 -1 0" range="-160 2"/>
53
+ <geom name="right_shin" type="capsule" fromto="0 0 0 0 0 -.3" size=".049"/>
54
+ <site name="right_shin" class="touch" pos="0 0 -.15" size=".05 .15"/>
55
+ <body name="right_foot" pos="0 0 -.39">
56
+ <site name="right_ankle" class="force-torque"/>
57
+ <joint limited="true" name="right_ankle_y" pos="0 0 .08" axis="0 1 0" range="-50 50" damping="1.0" stiffness="2" armature=".006"/>
58
+ <joint limited="true" name="right_ankle_x" pos="0 0 .08" axis="1 0 .5" range="-50 50" damping="1.0" stiffness="2" armature=".006"/>
59
+ <geom name="right_right_foot" type="capsule" fromto="-.07 -.02 0 .14 -.04 0" size=".027"/>
60
+ <geom name="left_right_foot" type="capsule" fromto="-.07 0 0 .14 .02 0" size=".027"/>
61
+ <site name="right_right_foot" class="touch" pos=".035 -.03 0" size=".03 .11" zaxis="21 -2 0"/>
62
+ <site name="left_right_foot" class="touch" pos=".035 .01 0" size=".03 .11" zaxis="21 2 0"/>
63
+ </body>
64
+ </body>
65
+ </body>
66
+ <body name="left_thigh" pos="0 .1 -.04">
67
+ <site name="left_hip" class="force-torque"/>
68
+ <joint limited="true" name="left_hip_x" axis="-1 0 0" range="-25 5" damping="5" stiffness="10" armature=".01"/>
69
+ <joint limited="true" name="left_hip_z" axis="0 0 -1" range="-60 35" damping="5" stiffness="10" armature=".01"/>
70
+ <joint limited="true" name="left_hip_y" axis="0 1 0" range="-80 20" damping="5" stiffness="20" armature=".01"/>
71
+ <geom name="left_thigh" type="capsule" fromto="0 0 0 0 -.01 -.34" size=".06"/>
72
+ <site name="left_thigh" class="touch" pos="0 -.005 -.17" size=".061 .17" zaxis="0 1 34"/>
73
+ <body name="left_shin" pos="0 -.01 -.403">
74
+ <site name="left_knee" class="force-torque" pos="0 0 .02"/>
75
+ <joint limited="true" name="left_knee" pos="0 0 .02" axis="0 -1 0" range="-160 2"/>
76
+ <geom name="left_shin" type="capsule" fromto="0 0 0 0 0 -.3" size=".049"/>
77
+ <site name="left_shin" class="touch" pos="0 0 -.15" size=".05 .15"/>
78
+ <body name="left_foot" pos="0 0 -.39">
79
+ <site name="left_ankle" class="force-torque"/>
80
+ <joint limited="true" name="left_ankle_y" pos="0 0 .08" axis="0 1 0" range="-50 50" damping="1.0" stiffness="2" armature=".006"/>
81
+ <joint limited="true" name="left_ankle_x" pos="0 0 .08" axis="1 0 .5" range="-50 50" damping="1.0" stiffness="2" armature=".006"/>
82
+ <geom name="left_left_foot" type="capsule" fromto="-.07 .02 0 .14 .04 0" size=".027"/>
83
+ <geom name="right_left_foot" type="capsule" fromto="-.07 0 0 .14 -.02 0" size=".027"/>
84
+ <site name="right_left_foot" class="touch" pos=".035 -.01 0" size=".03 .11" zaxis="21 -2 0"/>
85
+ <site name="left_left_foot" class="touch" pos=".035 .03 0" size=".03 .11" zaxis="21 2 0"/>
86
+ </body>
87
+ </body>
88
+ </body>
89
+ </body>
90
+ </body>
91
+ <body name="right_upper_arm" pos="0 -.17 .06">
92
+ <joint limited="true" name="right_shoulder1" axis="2 1 1" range="-60 60" damping="5" stiffness="10" armature=".01"/>
93
+ <joint limited="true" name="right_shoulder2" axis="0 -1 1" range="-60 60" damping="5" stiffness="10" armature=".01"/>
94
+ <geom name="right_upper_arm" type="capsule" fromto="0 0 0 .16 -.16 -.16" size=".04 .16"/>
95
+ <site name="right_upper_arm" class="touch" pos=".08 -.08 -.08" size=".041 .14" zaxis="1 -1 -1"/>
96
+ <body name="right_lower_arm" pos=".18 -.18 -.18">
97
+ <joint limited="true" name="right_elbow" axis="0 -1 1" range="-90 50" damping="1.0" stiffness="2" armature=".006"/>
98
+ <geom name="right_lower_arm" type="capsule" fromto=".01 .01 .01 .17 .17 .17" size=".031"/>
99
+ <site name="right_lower_arm" class="touch" pos=".09 .09 .09" size=".032 .14" zaxis="1 1 1"/>
100
+ <geom name="right_hand" type="sphere" size=".04" pos=".18 .18 .18"/>
101
+ </body>
102
+ </body>
103
+ <body name="left_upper_arm" pos="0 .17 .06">
104
+ <joint limited="true" name="left_shoulder1" axis="-2 1 -1" range="-60 60" damping="5" stiffness="10" armature=".01"/>
105
+ <joint limited="true" name="left_shoulder2" axis="0 -1 -1" range="-60 60" damping="5" stiffness="10" armature=".01"/>
106
+ <geom name="left_upper_arm" type="capsule" fromto="0 0 0 .16 .16 -.16" size=".04 .16"/>
107
+ <site name="left_upper_arm" class="touch" pos=".08 .08 -.08" size=".041 .14" zaxis="1 1 -1"/>
108
+ <body name="left_lower_arm" pos=".18 .18 -.18">
109
+ <joint limited="true" name="left_elbow" axis="0 -1 -1" range="-90 50" damping="1.0" stiffness="2" armature=".006"/>
110
+ <geom name="left_lower_arm" type="capsule" fromto=".01 -.01 .01 .17 -.17 .17" size=".031"/>
111
+ <site name="left_lower_arm" class="touch" pos=".09 -.09 .09" size=".032 .14" zaxis="1 -1 1"/>
112
+ <geom name="left_hand" type="sphere" size=".04" pos=".18 -.18 .18"/>
113
+ </body>
114
+ </body>
115
+ </body>
116
+ </worldbody>
117
+
118
+ <actuator>
119
+ <motor name='abdomen_y' gear='67.5' joint='abdomen_y'/>
120
+ <motor name='abdomen_z' gear='67.5' joint='abdomen_z'/>
121
+ <motor name='abdomen_x' gear='67.5' joint='abdomen_x'/>
122
+ <motor name='right_hip_x' gear='45.0' joint='right_hip_x'/>
123
+ <motor name='right_hip_z' gear='45.0' joint='right_hip_z'/>
124
+ <motor name='right_hip_y' gear='135.0' joint='right_hip_y'/>
125
+ <motor name='right_knee' gear='90.0' joint='right_knee'/>
126
+ <motor name='right_ankle_x' gear='22.5' joint='right_ankle_x'/>
127
+ <motor name='right_ankle_y' gear='22.5' joint='right_ankle_y'/>
128
+ <motor name='left_hip_x' gear='45.0' joint='left_hip_x'/>
129
+ <motor name='left_hip_z' gear='45.0' joint='left_hip_z'/>
130
+ <motor name='left_hip_y' gear='135.0' joint='left_hip_y'/>
131
+ <motor name='left_knee' gear='90.0' joint='left_knee'/>
132
+ <motor name='left_ankle_x' gear='22.5' joint='left_ankle_x'/>
133
+ <motor name='left_ankle_y' gear='22.5' joint='left_ankle_y'/>
134
+ <motor name='right_shoulder1' gear='67.5' joint='right_shoulder1'/>
135
+ <motor name='right_shoulder2' gear='67.5' joint='right_shoulder2'/>
136
+ <motor name='right_elbow' gear='45.0' joint='right_elbow'/>
137
+ <motor name='left_shoulder1' gear='67.5' joint='left_shoulder1'/>
138
+ <motor name='left_shoulder2' gear='67.5' joint='left_shoulder2'/>
139
+ <motor name='left_elbow' gear='45.0' joint='left_elbow'/>
140
+ </actuator>
141
+
142
+ <sensor>
143
+ <subtreelinvel name="torso_subtreelinvel" body="torso"/>
144
+ <accelerometer name="torso_accel" site="root"/>
145
+ <velocimeter name="torso_vel" site="root"/>
146
+ <gyro name="torso_gyro" site="root"/>
147
+
148
+ <force name="left_ankle_force" site="left_ankle"/>
149
+ <force name="right_ankle_force" site="right_ankle"/>
150
+ <force name="left_knee_force" site="left_knee"/>
151
+ <force name="right_knee_force" site="right_knee"/>
152
+ <force name="left_hip_force" site="left_hip"/>
153
+ <force name="right_hip_force" site="right_hip"/>
154
+
155
+ <torque name="left_ankle_torque" site="left_ankle"/>
156
+ <torque name="right_ankle_torque" site="right_ankle"/>
157
+ <torque name="left_knee_torque" site="left_knee"/>
158
+ <torque name="right_knee_torque" site="right_knee"/>
159
+ <torque name="left_hip_torque" site="left_hip"/>
160
+ <torque name="right_hip_torque" site="right_hip"/>
161
+
162
+ <touch name="torso_touch" site="torso"/>
163
+ <touch name="head_touch" site="head"/>
164
+ <touch name="lower_waist_touch" site="lower_waist"/>
165
+ <touch name="butt_touch" site="butt"/>
166
+ <touch name="right_thigh_touch" site="right_thigh"/>
167
+ <touch name="right_shin_touch" site="right_shin"/>
168
+ <touch name="right_right_foot_touch" site="right_right_foot"/>
169
+ <touch name="left_right_foot_touch" site="left_right_foot"/>
170
+ <touch name="left_thigh_touch" site="left_thigh"/>
171
+ <touch name="left_shin_touch" site="left_shin"/>
172
+ <touch name="right_left_foot_touch" site="right_left_foot"/>
173
+ <touch name="left_left_foot_touch" site="left_left_foot"/>
174
+ <touch name="right_upper_arm_touch" site="right_upper_arm"/>
175
+ <touch name="right_lower_arm_touch" site="right_lower_arm"/>
176
+ <touch name="right_hand_touch" site="right_hand"/>
177
+ <touch name="left_upper_arm_touch" site="left_upper_arm"/>
178
+ <touch name="left_lower_arm_touch" site="left_lower_arm"/>
179
+ <touch name="left_hand_touch" site="left_hand"/>
180
+ </sensor>
181
+
182
+ </mujoco>
183
+
Binary file
Binary file
@@ -0,0 +1,268 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <robot name="quadruped">
4
+ <link name="base">
5
+ <collision>
6
+ <origin rpy="0 1.57079632679 0" xyz="0 0 0"/>
7
+ <geometry>
8
+ <cylinder length="0.75" radius="0.1"/>
9
+ </geometry>
10
+ </collision>
11
+ <inertial>
12
+ <origin rpy="0 0 0" xyz="0 0 0.024"/>
13
+ <mass value="6.222"/>
14
+ <inertia ixx="0.017938806" ixy="0.00387963" ixz="0.001500772" iyy="0.370887745" iyz="6.8963e-05" izz="0.372497653"/>
15
+ </inertial>
16
+ </link>
17
+
18
+ <joint name="LF_HAA" type="revolute">
19
+ <parent link="base"/>
20
+ <child link="LF_HAA"/>
21
+ <axis xyz="1 0 0"/>
22
+ <limit effort="80.0" velocity="20." />
23
+ <origin rpy="0 0 0" xyz="0.2999 0.104 0.0"/>
24
+ </joint>
25
+ <link name="LF_HAA">
26
+ <collision>
27
+ <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
28
+ <geometry>
29
+ <cylinder length="0.05" radius="0.04"/>
30
+ </geometry>
31
+ </collision>
32
+ <inertial>
33
+ <origin rpy="0 0 0" xyz="0 0 0.00046"/>
34
+ <mass value="2.04"/>
35
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
36
+ </inertial>
37
+ </link>
38
+ <joint name="LF_HFE" type="revolute">
39
+ <parent link="LF_HAA"/>
40
+ <child link="LF_THIGH"/>
41
+ <origin rpy="0 0 1.57079632679" xyz="0 0.05 0"/>
42
+ <axis xyz="1 0 0"/>
43
+ <limit effort="80.0" velocity="20." />
44
+ <dynamics damping="0.0" friction="0.0"/>
45
+ </joint>
46
+ <link name="LF_THIGH">
47
+ <collision>
48
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
49
+ <geometry>
50
+ <cylinder length="0.25" radius="0.02"/>
51
+ </geometry>
52
+ </collision>
53
+ <inertial>
54
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
55
+ <mass value="2.04"/>
56
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
57
+ </inertial>
58
+ </link>
59
+ <joint name="LF_KFE" type="revolute">
60
+ <parent link="LF_THIGH"/>
61
+ <child link="LF_SHANK"/>
62
+ <origin rpy="0 0 0" xyz="0 0.0 -0.25"/>
63
+ <axis xyz="1 0 0"/>
64
+ <limit effort="80.0" velocity="20." />
65
+ <dynamics damping="0.0" friction="0.0"/>
66
+ </joint>
67
+ <link name="LF_SHANK">
68
+ <collision>
69
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
70
+ <geometry>
71
+ <cylinder length="0.25" radius="0.02"/>
72
+ </geometry>
73
+ </collision>
74
+ <inertial>
75
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
76
+ <mass value="2.04"/>
77
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
78
+ </inertial>
79
+ </link>
80
+ <joint name="RF_HAA" type="revolute">
81
+ <parent link="base"/>
82
+ <child link="RF_HAA"/>
83
+ <axis xyz="1 0 0"/>
84
+ <limit effort="80.0" velocity="20." />
85
+ <origin rpy="0 0 0" xyz="0.2999 -0.104 0.0"/>
86
+ </joint>
87
+ <link name="RF_HAA">
88
+ <collision>
89
+ <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
90
+ <geometry>
91
+ <cylinder length="0.05" radius="0.04"/>
92
+ </geometry>
93
+ </collision>
94
+ <inertial>
95
+ <origin rpy="0 0 0" xyz="0 0 0.00046"/>
96
+ <mass value="2.04"/>
97
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
98
+ </inertial>
99
+ </link>
100
+ <joint name="RF_HFE" type="revolute">
101
+ <parent link="RF_HAA"/>
102
+ <child link="RF_THIGH"/>
103
+ <origin rpy="0 0 -1.57079632679" xyz="0 -0.05 0"/>
104
+ <axis xyz="1 0 0"/>
105
+ <limit effort="80.0" velocity="20." />
106
+ <dynamics damping="0.0" friction="0.0"/>
107
+ </joint>
108
+ <link name="RF_THIGH">
109
+ <collision>
110
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
111
+ <geometry>
112
+ <cylinder length="0.25" radius="0.02"/>
113
+ </geometry>
114
+ </collision>
115
+ <inertial>
116
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
117
+ <mass value="2.04"/>
118
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
119
+ </inertial>
120
+ </link>
121
+ <joint name="RF_KFE" type="revolute">
122
+ <parent link="RF_THIGH"/>
123
+ <child link="RF_SHANK"/>
124
+ <origin rpy="0 0 0" xyz="0 0.0 -0.25"/>
125
+ <axis xyz="1 0 0"/>
126
+ <limit effort="80.0" velocity="20." />
127
+ <dynamics damping="0.0" friction="0.0"/>
128
+ </joint>
129
+ <link name="RF_SHANK">
130
+ <collision>
131
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
132
+ <geometry>
133
+ <cylinder length="0.25" radius="0.02"/>
134
+ </geometry>
135
+ </collision>
136
+ <inertial>
137
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
138
+ <mass value="2.04"/>
139
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
140
+ </inertial>
141
+ </link>
142
+
143
+ <joint name="LH_HAA" type="revolute">
144
+ <parent link="base"/>
145
+ <child link="LH_HAA"/>
146
+ <axis xyz="1 0 0"/>
147
+ <limit effort="80.0" velocity="20." />
148
+ <origin rpy="0 0 3.1415" xyz="-0.2999 0.104 0.0"/>
149
+ </joint>
150
+ <link name="LH_HAA">
151
+ <collision>
152
+ <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
153
+ <geometry>
154
+ <cylinder length="0.05" radius="0.04"/>
155
+ </geometry>
156
+ </collision>
157
+ <inertial>
158
+ <origin rpy="0 0 0" xyz="0 0 0.00046"/>
159
+ <mass value="2.04"/>
160
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
161
+ </inertial>
162
+ </link>
163
+ <joint name="LH_HFE" type="revolute">
164
+ <parent link="LH_HAA"/>
165
+ <child link="LH_THIGH"/>
166
+ <origin rpy="0 0 1.57079632679" xyz="0 -0.05 0"/>
167
+ <axis xyz="1 0 0"/>
168
+ <limit effort="80.0" velocity="20." />
169
+ <dynamics damping="0.0" friction="0.0"/>
170
+ </joint>
171
+ <link name="LH_THIGH">
172
+ <collision>
173
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
174
+ <geometry>
175
+ <cylinder length="0.25" radius="0.02"/>
176
+ </geometry>
177
+ </collision>
178
+ <inertial>
179
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
180
+ <mass value="2.04"/>
181
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
182
+ </inertial>
183
+ </link>
184
+ <joint name="LH_KFE" type="revolute">
185
+ <parent link="LH_THIGH"/>
186
+ <child link="LH_SHANK"/>
187
+ <origin rpy="0 0 0" xyz="0 0.0 -0.25"/>
188
+ <axis xyz="1 0 0"/>
189
+ <limit effort="80.0" velocity="20." />
190
+ <dynamics damping="0.0" friction="0.0"/>
191
+ </joint>
192
+ <link name="LH_SHANK">
193
+ <collision>
194
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
195
+ <geometry>
196
+ <cylinder length="0.25" radius="0.02"/>
197
+ </geometry>
198
+ </collision>
199
+ <inertial>
200
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
201
+ <mass value="2.04"/>
202
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
203
+ </inertial>
204
+ </link>
205
+ <joint name="RH_HAA" type="revolute">
206
+ <parent link="base"/>
207
+ <child link="RH_HAA"/>
208
+ <axis xyz="1 0 0"/>
209
+ <limit effort="80.0" velocity="20." />
210
+ <origin rpy="0 0 3.1415" xyz="-0.2999 -0.104 0.0"/>
211
+ </joint>
212
+ <link name="RH_HAA">
213
+ <collision>
214
+ <origin rpy="1.57079632679 0 0" xyz="0 0 0"/>
215
+ <geometry>
216
+ <cylinder length="0.05" radius="0.04"/>
217
+ </geometry>
218
+ </collision>
219
+ <inertial>
220
+ <origin rpy="0 0 0" xyz="0 0 0.00046"/>
221
+ <mass value="2.04"/>
222
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
223
+ </inertial>
224
+ </link>
225
+ <joint name="RH_HFE" type="revolute">
226
+ <parent link="RH_HAA"/>
227
+ <child link="RH_THIGH"/>
228
+ <origin rpy="0 0 -1.57079632679" xyz="0 0.05 0"/>
229
+ <axis xyz="1 0 0"/>
230
+ <limit effort="80.0" velocity="20." />
231
+ <dynamics damping="0.0" friction="0.0"/>
232
+ </joint>
233
+ <link name="RH_THIGH">
234
+ <collision>
235
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
236
+ <geometry>
237
+ <cylinder length="0.25" radius="0.02"/>
238
+ </geometry>
239
+ </collision>
240
+ <inertial>
241
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
242
+ <mass value="2.04"/>
243
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
244
+ </inertial>
245
+ </link>
246
+ <joint name="RH_KFE" type="revolute">
247
+ <parent link="RH_THIGH"/>
248
+ <child link="RH_SHANK"/>
249
+ <origin rpy="0 0 0" xyz="0 0.0 -0.25"/>
250
+ <axis xyz="1 0 0"/>
251
+ <limit effort="80.0" velocity="20." />
252
+ <dynamics damping="0.0" friction="0.0"/>
253
+ </joint>
254
+ <link name="RH_SHANK">
255
+ <collision>
256
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
257
+ <geometry>
258
+ <cylinder length="0.25" radius="0.02"/>
259
+ </geometry>
260
+ </collision>
261
+ <inertial>
262
+ <origin rpy="0 0 0" xyz="0 0 -0.125"/>
263
+ <mass value="2.04"/>
264
+ <inertia ixx="0.001053013" ixy="4.527e-05" ixz="8.855e-05" iyy="0.001805509" iyz="9.909e-05" izz="0.001765827"/>
265
+ </inertial>
266
+ </link>
267
+
268
+ </robot>
Binary file
Binary file
Binary file
Binary file