scikit-robot 0.4.2__tar.gz → 0.4.3__tar.gz

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 (222) hide show
  1. {scikit_robot-0.4.2/scikit_robot.egg-info → scikit_robot-0.4.3}/PKG-INFO +1 -1
  2. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/pyproject.toml +2 -1
  3. {scikit_robot-0.4.2 → scikit_robot-0.4.3/scikit_robot.egg-info}/PKG-INFO +1 -1
  4. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/SOURCES.txt +2 -0
  5. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/entry_points.txt +1 -0
  6. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/cli.py +1 -0
  7. scikit_robot-0.4.3/skrobot/apps/convert_urdf_to_usd.py +115 -0
  8. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/collision/__init__.py +9 -0
  9. scikit_robot-0.4.3/skrobot/collision/environment_collision.py +579 -0
  10. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/collision/robot_collision.py +8 -0
  11. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/usd.py +121 -17
  12. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/LICENSE +0 -0
  13. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/MANIFEST.in +0 -0
  14. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/README.md +0 -0
  15. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/dependency_links.txt +0 -0
  16. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/not-zip-safe +0 -0
  17. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/requires.txt +0 -0
  18. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/scikit_robot.egg-info/top_level.txt +0 -0
  19. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/setup.cfg +0 -0
  20. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/__init__.py +0 -0
  21. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/_lazy_imports.py +0 -0
  22. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/__init__.py +0 -0
  23. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/canonicalize_urdf.py +0 -0
  24. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/change_urdf_root.py +0 -0
  25. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/convert_urdf_mesh.py +0 -0
  26. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/convert_urdf_to_mjcf.py +0 -0
  27. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/convert_urdf_to_primitives.py +0 -0
  28. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/convert_wheel_collision.py +0 -0
  29. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/extract_sub_urdf.py +0 -0
  30. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/generate_robot_class.py +0 -0
  31. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/modularize_urdf.py +0 -0
  32. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/scale_urdf.py +0 -0
  33. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/transform_urdf.py +0 -0
  34. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/urdf_hash.py +0 -0
  35. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/urdf_tree.py +0 -0
  36. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/visualize_mesh.py +0 -0
  37. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/apps/visualize_urdf.py +0 -0
  38. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/assembly/__init__.py +0 -0
  39. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/assembly/module_assembly.py +0 -0
  40. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/assembly/module_registry.py +0 -0
  41. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/backend/__init__.py +0 -0
  42. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/backend/jax_backend.py +0 -0
  43. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/backend/math_utils.py +0 -0
  44. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/backend/numpy_backend.py +0 -0
  45. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/backend/registry.py +0 -0
  46. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/collision/distance.py +0 -0
  47. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/collision/geometry.py +0 -0
  48. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/collision/self_collision.py +0 -0
  49. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/coordinates/__init__.py +0 -0
  50. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/coordinates/base.py +0 -0
  51. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/coordinates/geo.py +0 -0
  52. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/coordinates/math.py +0 -0
  53. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/__init__.py +0 -0
  54. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/kuka.urdf +0 -0
  55. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/finger_base_left.stl +0 -0
  56. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/finger_base_right.stl +0 -0
  57. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/finger_tip_left.stl +0 -0
  58. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/finger_tip_right.stl +0 -0
  59. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_0.mtl +0 -0
  60. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_0.obj +0 -0
  61. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_0.stl +0 -0
  62. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_1.mtl +0 -0
  63. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_1.obj +0 -0
  64. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_1.stl +0 -0
  65. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_2.mtl +0 -0
  66. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_2.obj +0 -0
  67. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_2.stl +0 -0
  68. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_3.mtl +0 -0
  69. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_3.obj +0 -0
  70. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_3.stl +0 -0
  71. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_4.mtl +0 -0
  72. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_4.obj +0 -0
  73. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_4.stl +0 -0
  74. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_5.mtl +0 -0
  75. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_5.obj +0 -0
  76. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_5.stl +0 -0
  77. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_6.mtl +0 -0
  78. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_6.obj +0 -0
  79. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_6.stl +0 -0
  80. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_7.mtl +0 -0
  81. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_7.obj +0 -0
  82. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/kuka_description/meshes/link_7.stl +0 -0
  83. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/robot_descriptions/urdf/r8_6.urdf +0 -0
  84. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/CMakeLists.txt.ros2.template +0 -0
  85. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/gazebo.launch.py.template +0 -0
  86. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/gazebo_moveit.launch.py.template +0 -0
  87. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/isaac_fjt_server.py.template +0 -0
  88. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/moveit.rviz.template +0 -0
  89. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/package.xml.ros2.template +0 -0
  90. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/ros2_control.xacro.joint.template +0 -0
  91. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/ros2_control.xacro.template +0 -0
  92. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/data/ros_config_templates/setup_assistant.template +0 -0
  93. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/dynamics/__init__.py +0 -0
  94. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/dynamics/differentiable.py +0 -0
  95. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/dynamics/gravity.py +0 -0
  96. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/__init__.py +0 -0
  97. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/contact_links.py +0 -0
  98. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/isaac/__init__.py +0 -0
  99. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/isaac/fjt_server.py +0 -0
  100. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/export/task.py +0 -0
  101. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/__init__.py +0 -0
  102. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/_pybullet.py +0 -0
  103. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/__init__.py +0 -0
  104. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/base.py +0 -0
  105. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/move_base.py +0 -0
  106. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/nextage.py +0 -0
  107. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/panda.py +0 -0
  108. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/pr2.py +0 -0
  109. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/tf_utils.py +0 -0
  110. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros/transform_listener.py +0 -0
  111. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros2/__init__.py +0 -0
  112. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros2/base.py +0 -0
  113. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros2/gripper.py +0 -0
  114. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/interfaces/ros2/panda.py +0 -0
  115. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/__init__.py +0 -0
  116. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/_base_placement_jax.py +0 -0
  117. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/base_placement.py +0 -0
  118. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/differentiable.py +0 -0
  119. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/inverse_reachability_map.py +0 -0
  120. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/loop_closure.py +0 -0
  121. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/kinematics/reachability_map.py +0 -0
  122. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/__init__.py +0 -0
  123. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/joint.py +0 -0
  124. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/joint_limit_table.py +0 -0
  125. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/link.py +0 -0
  126. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/primitives.py +0 -0
  127. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/robot_model.py +0 -0
  128. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/model/skeleton.py +0 -0
  129. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/__init__.py +0 -0
  130. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/aero.py +0 -0
  131. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/differential_wrist_sample.py +0 -0
  132. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/fetch.py +0 -0
  133. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/g1.py +0 -0
  134. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/griphis.py +0 -0
  135. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/hydrus.py +0 -0
  136. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/jaxon_jvrc.py +0 -0
  137. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/jedy.py +0 -0
  138. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/kuka.py +0 -0
  139. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/nextage.py +0 -0
  140. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/panda.py +0 -0
  141. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/pr2.py +0 -0
  142. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/r8_6.py +0 -0
  143. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/tycoon.py +0 -0
  144. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/models/urdf.py +0 -0
  145. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/__init__.py +0 -0
  146. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/collision_checker.py +0 -0
  147. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/inverse_kinematics_optimization.py +0 -0
  148. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/sqp_based.py +0 -0
  149. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/swept_sphere.py +0 -0
  150. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/__init__.py +0 -0
  151. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/collision.py +0 -0
  152. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/fk_utils.py +0 -0
  153. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/gridsdf_collision.py +0 -0
  154. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/problem.py +0 -0
  155. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/residuals.py +0 -0
  156. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/__init__.py +0 -0
  157. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/augmented_lagrangian.py +0 -0
  158. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/base.py +0 -0
  159. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/gradient_descent.py +0 -0
  160. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/jaxls_solver.py +0 -0
  161. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/scipy_solver.py +0 -0
  162. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/solvers/solver_utils.py +0 -0
  163. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/trajectory.py +0 -0
  164. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/trajectory_optimization/world_surface_collision.py +0 -0
  165. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/planner/utils.py +0 -0
  166. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/pycompat.py +0 -0
  167. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/sdf/__init__.py +0 -0
  168. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/sdf/signed_distance_function.py +0 -0
  169. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/__init__.py +0 -0
  170. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/aggregate.py +0 -0
  171. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/canonicalize.py +0 -0
  172. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/compare.py +0 -0
  173. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/extract_sub_urdf.py +0 -0
  174. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/flip_axis.py +0 -0
  175. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/hash.py +0 -0
  176. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/link_origins.py +0 -0
  177. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/llm_grouping.py +0 -0
  178. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/merge_fixed_links.py +0 -0
  179. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/modularize_urdf.py +0 -0
  180. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/primitives_converter.py +0 -0
  181. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/robot_class_generator.py +0 -0
  182. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/__init__.py +0 -0
  183. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/export.py +0 -0
  184. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/gazebo_generator.py +0 -0
  185. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/moveit_generator.py +0 -0
  186. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/moveit_package.py +0 -0
  187. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_config/urdf_parser.py +0 -0
  188. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_package.py +0 -0
  189. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/ros_package_exporter.py +0 -0
  190. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/sanitize.py +0 -0
  191. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/scale_urdf.py +0 -0
  192. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/structure.py +0 -0
  193. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/transform_urdf.py +0 -0
  194. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/wheel_collision_converter.py +0 -0
  195. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/urdf/xml_root_link_changer.py +0 -0
  196. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/__init__.py +0 -0
  197. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/_blender_decimate_core.py +0 -0
  198. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/_blender_remesh_core.py +0 -0
  199. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/archive.py +0 -0
  200. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/blender_mesh.py +0 -0
  201. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/checksum.py +0 -0
  202. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/convex_decomposition.py +0 -0
  203. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/draco.py +0 -0
  204. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/inertia.py +0 -0
  205. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/listify.py +0 -0
  206. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/mesh.py +0 -0
  207. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/mjcf_converter.py +0 -0
  208. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/package.py +0 -0
  209. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/primitive_fitting.py +0 -0
  210. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/urdf.py +0 -0
  211. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/urdf_mesh.py +0 -0
  212. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/video.py +0 -0
  213. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/utils/visualization.py +0 -0
  214. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/__init__.py +0 -0
  215. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_base.py +0 -0
  216. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_manipulability_ellipse.py +0 -0
  217. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_mitsuba.py +0 -0
  218. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_notebook.py +0 -0
  219. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_path_utils.py +0 -0
  220. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_pyrender.py +0 -0
  221. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_trimesh.py +0 -0
  222. {scikit_robot-0.4.2 → scikit_robot-0.4.3}/skrobot/viewers/_viser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scikit-robot
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: A Flexible Framework for Robot Control in Python
5
5
  Author-email: iory <ab.ioryz@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "scikit-robot"
7
- version = "0.4.2"
7
+ version = "0.4.3"
8
8
  description = "A Flexible Framework for Robot Control in Python"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -113,6 +113,7 @@ urdf-hash = "skrobot.apps.urdf_hash:main"
113
113
  convert-wheel-collision = "skrobot.apps.convert_wheel_collision:main"
114
114
  urdf-tree = "skrobot.apps.urdf_tree:main"
115
115
  convert-urdf-to-mjcf = "skrobot.apps.convert_urdf_to_mjcf:main"
116
+ convert-urdf-to-usd = "skrobot.apps.convert_urdf_to_usd:main"
116
117
  canonicalize-urdf = "skrobot.apps.canonicalize_urdf:main"
117
118
 
118
119
  [tool.setuptools]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scikit-robot
3
- Version: 0.4.2
3
+ Version: 0.4.3
4
4
  Summary: A Flexible Framework for Robot Control in Python
5
5
  Author-email: iory <ab.ioryz@gmail.com>
6
6
  License: MIT
@@ -19,6 +19,7 @@ skrobot/apps/cli.py
19
19
  skrobot/apps/convert_urdf_mesh.py
20
20
  skrobot/apps/convert_urdf_to_mjcf.py
21
21
  skrobot/apps/convert_urdf_to_primitives.py
22
+ skrobot/apps/convert_urdf_to_usd.py
22
23
  skrobot/apps/convert_wheel_collision.py
23
24
  skrobot/apps/extract_sub_urdf.py
24
25
  skrobot/apps/generate_robot_class.py
@@ -39,6 +40,7 @@ skrobot/backend/numpy_backend.py
39
40
  skrobot/backend/registry.py
40
41
  skrobot/collision/__init__.py
41
42
  skrobot/collision/distance.py
43
+ skrobot/collision/environment_collision.py
42
44
  skrobot/collision/geometry.py
43
45
  skrobot/collision/robot_collision.py
44
46
  skrobot/collision/self_collision.py
@@ -3,6 +3,7 @@ canonicalize-urdf = skrobot.apps.canonicalize_urdf:main
3
3
  change-urdf-root = skrobot.apps.change_urdf_root:main
4
4
  convert-urdf-mesh = skrobot.apps.convert_urdf_mesh:main
5
5
  convert-urdf-to-mjcf = skrobot.apps.convert_urdf_to_mjcf:main
6
+ convert-urdf-to-usd = skrobot.apps.convert_urdf_to_usd:main
6
7
  convert-wheel-collision = skrobot.apps.convert_wheel_collision:main
7
8
  modularize-urdf = skrobot.apps.modularize_urdf:main
8
9
  skr = skrobot.apps.cli:main
@@ -24,6 +24,7 @@ def get_available_apps():
24
24
  'extract_sub_urdf': ('Extract sub-URDF from a root link', None),
25
25
  'generate_robot_class': ('Generate robot class from URDF geometry', None),
26
26
  'urdf_tree': ('Print URDF link tree and validate its structure', None),
27
+ 'convert_urdf_to_usd': ('Convert URDF to a USD physics articulation', None),
27
28
  }
28
29
 
29
30
  for filename in os.listdir(apps_dir):
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env python
2
+ """
3
+ Convert a URDF into a USD physics articulation (Isaac Sim / PhysX).
4
+
5
+ One rigid body per link, visual meshes embedded with their colours (and a
6
+ ``UsdPreviewSurface`` per glTF PBR material), convex collision meshes, and
7
+ revolute/prismatic/fixed joints with position drives. The robot is the stage's
8
+ defaultPrim, so the file can be referenced from another stage as is. Needs
9
+ ``usd-core`` (``pip install usd-core``); ``--decompose`` also needs ``coacd``.
10
+ """
11
+
12
+ import argparse
13
+ from pathlib import Path
14
+ import sys
15
+
16
+
17
+ def _parse_home(items):
18
+ """``['joint=0.5', ...]`` -> ``{'joint': 0.5}``."""
19
+ home = {}
20
+ for item in items or []:
21
+ name, sep, value = item.partition('=')
22
+ if not sep or not name:
23
+ raise ValueError('--home takes JOINT=VALUE, not {!r}'.format(item))
24
+ home[name] = float(value)
25
+ return home
26
+
27
+
28
+ def main():
29
+ parser = argparse.ArgumentParser(
30
+ description='Convert a URDF into a USD physics articulation',
31
+ formatter_class=argparse.RawDescriptionHelpFormatter,
32
+ epilog="""
33
+ Examples:
34
+ convert-urdf-to-usd robot.urdf
35
+ convert-urdf-to-usd robot.urdf -o out/robot.usda --floating-base
36
+ convert-urdf-to-usd robot.urdf --decompose --coacd-quality fine
37
+ convert-urdf-to-usd robot.urdf --home elbow_joint=1.2 --home wrist_joint=-0.3
38
+ """
39
+ )
40
+ parser.add_argument('urdf_file', type=str, help='Path to the input URDF file')
41
+ parser.add_argument('-o', '--output', type=str, default=None,
42
+ help='Output .usd/.usda/.usdc path (default: <urdf_stem>.usd)')
43
+ parser.add_argument('--floating-base', action='store_true',
44
+ help='Leave the base free (default: welded to the world)')
45
+ parser.add_argument('--mobile-base', action='store_true',
46
+ help='Give the base planar x / y / yaw joints instead of '
47
+ 'welding it')
48
+ parser.add_argument('--self-collision', action='store_true',
49
+ help='Keep self-collision between the links (default: off)')
50
+ parser.add_argument('--drive-stiffness', type=float, default=1000.0,
51
+ help='Position-drive stiffness of the joints')
52
+ parser.add_argument('--drive-damping', type=float, default=200.0,
53
+ help='Position-drive damping of the joints')
54
+ parser.add_argument('--no-auto-gain', action='store_true',
55
+ help='Use the same drive gains on every joint instead of '
56
+ 'scaling them by each joint\'s gravity load')
57
+ parser.add_argument('--home', action='append', default=[],
58
+ metavar='JOINT=VALUE',
59
+ help='Drive target of a joint (rad or m); repeatable')
60
+ decompose = parser.add_mutually_exclusive_group()
61
+ decompose.add_argument('--decompose', action='store_true',
62
+ help='CoACD-decompose every concave link\'s collision '
63
+ 'mesh (default: one convex hull per link)')
64
+ decompose.add_argument('--decompose-links', nargs='+', default=None,
65
+ metavar='LINK',
66
+ help='CoACD-decompose exactly these links (names or '
67
+ 'substrings)')
68
+ parser.add_argument('--coacd-quality', choices=['balanced', 'fine'],
69
+ default=None,
70
+ help='CoACD preset for --decompose / --decompose-links '
71
+ '(default: a tight fit)')
72
+ args = parser.parse_args()
73
+
74
+ urdf_path = Path(args.urdf_file)
75
+ if not urdf_path.exists():
76
+ print('error: URDF not found: {}'.format(urdf_path), file=sys.stderr)
77
+ return 1
78
+ try:
79
+ home = _parse_home(args.home)
80
+ except ValueError as e:
81
+ print('error: {}'.format(e), file=sys.stderr)
82
+ return 1
83
+ try:
84
+ import pxr # noqa: F401
85
+
86
+ from skrobot.export.usd import urdf_to_usd
87
+ except ImportError:
88
+ print('error: usd-core is required: pip install usd-core',
89
+ file=sys.stderr)
90
+ return 1
91
+ out_path = args.output or str(urdf_path.with_suffix('.usd'))
92
+ decompose_links = True if args.decompose else args.decompose_links
93
+ coacd_params = None
94
+ if args.coacd_quality is not None:
95
+ coacd_params = {'quality': args.coacd_quality}
96
+
97
+ stage = urdf_to_usd(
98
+ str(urdf_path), out_path,
99
+ floating_base=args.floating_base,
100
+ mobile_base=args.mobile_base,
101
+ self_collision=args.self_collision,
102
+ drive_stiffness=args.drive_stiffness,
103
+ drive_damping=args.drive_damping,
104
+ auto_gain=not args.no_auto_gain,
105
+ home_positions=home or None,
106
+ decompose_links=decompose_links,
107
+ coacd_params=coacd_params,
108
+ )
109
+ print('wrote USD: {} (defaultPrim {})'.format(
110
+ out_path, stage.GetDefaultPrim().GetPath()))
111
+ return 0
112
+
113
+
114
+ if __name__ == '__main__':
115
+ sys.exit(main())
@@ -43,6 +43,10 @@ from skrobot.collision.distance import sphere_box_distance
43
43
  from skrobot.collision.distance import sphere_capsule_distance
44
44
  from skrobot.collision.distance import sphere_halfspace_distance
45
45
  from skrobot.collision.distance import sphere_sphere_distance
46
+ from skrobot.collision.environment_collision import CollisionReport
47
+ from skrobot.collision.environment_collision import EnvironmentCollision
48
+ from skrobot.collision.environment_collision import link_transforms
49
+ from skrobot.collision.environment_collision import sample_surface
46
50
  from skrobot.collision.geometry import Box
47
51
  from skrobot.collision.geometry import Capsule
48
52
  from skrobot.collision.geometry import CollisionGeometry
@@ -83,6 +87,11 @@ __all__ = [
83
87
  # Robot collision
84
88
  'RobotCollisionChecker',
85
89
  'LinkCollisionGeometry',
90
+ # Robot against a static environment
91
+ 'EnvironmentCollision',
92
+ 'CollisionReport',
93
+ 'link_transforms',
94
+ 'sample_surface',
86
95
  # Mesh self-collision + joint-limit sweep
87
96
  'SelfCollision',
88
97
  'sweep_limits',