wandelbots-nova 4.3.0__tar.gz → 4.3.2__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 (311) hide show
  1. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/PKG-INFO +1 -1
  2. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/__init__.py +17 -0
  3. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/motion_group.py +41 -3
  4. wandelbots_nova-4.3.2/nova/cell/movement_controller/__init__.py +4 -0
  5. wandelbots_nova-4.3.0/nova/cell/movement_controller.py → wandelbots_nova-4.3.2/nova/cell/movement_controller/move_forward.py +0 -4
  6. wandelbots_nova-4.3.2/nova/cell/movement_controller/trajectory_cursor.py +1054 -0
  7. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/robot_cell.py +6 -2
  8. wandelbots_nova-4.3.2/nova/cell/tuner.py +195 -0
  9. wandelbots_nova-4.3.2/nova/program/context.py +49 -0
  10. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/function.py +4 -38
  11. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/pyproject.toml +1 -1
  12. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/.gitignore +0 -0
  13. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/LICENSE +0 -0
  14. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/README.md +0 -0
  15. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/__init__.py +0 -0
  16. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/base.py +0 -0
  17. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/container.py +0 -0
  18. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/io.py +0 -0
  19. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/mock.py +0 -0
  20. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/motions.py +0 -0
  21. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/trajectory_builder.py +0 -0
  22. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/api.py +0 -0
  23. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/api.pyi +0 -0
  24. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/__init__.py +0 -0
  25. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/cell.py +0 -0
  26. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/controller.py +0 -0
  27. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/controllers.py +0 -0
  28. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/io.py +0 -0
  29. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/simulation.py +0 -0
  30. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/test.ts +0 -0
  31. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/config.py +0 -0
  32. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/__init__.py +0 -0
  33. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/gateway.py +0 -0
  34. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/nova.py +0 -0
  35. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/events/__init__.py +0 -0
  36. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/exceptions.py +0 -0
  37. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/__init__.py +0 -0
  38. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/__init__.py +0 -0
  39. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/client.py +0 -0
  40. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/functions.py +0 -0
  41. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/logging/__init__.py +0 -0
  42. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/__init__.py +0 -0
  43. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/exceptions.py +0 -0
  44. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/runner.py +0 -0
  45. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/store.py +0 -0
  46. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/utils.py +0 -0
  47. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/__init__.py +0 -0
  48. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/collision_scene.py +0 -0
  49. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/motion_settings.py +0 -0
  50. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/pose.py +0 -0
  51. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/state.py +0 -0
  52. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/vector3d.py +0 -0
  53. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/__init__.py +0 -0
  54. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/collision_setup.py +0 -0
  55. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/downsample.py +0 -0
  56. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/joint_trajectory.py +0 -0
  57. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/motion_group_settings.py +0 -0
  58. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/timestamp.py +0 -0
  59. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/version.py +0 -0
  60. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/__init__.py +0 -0
  61. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/base.py +0 -0
  62. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/manager.py +0 -0
  63. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/protocol.py +0 -0
  64. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/rerun.py +0 -0
  65. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/utils.py +0 -0
  66. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/LICENSE +0 -0
  67. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/README.md +0 -0
  68. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/__init__.py +0 -0
  69. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/blueprint.py +0 -0
  70. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/collision_scene.py +0 -0
  71. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/colors.py +0 -0
  72. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/consts.py +0 -0
  73. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/dh_robot.py +0 -0
  74. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/Welding_Benchmark_USA_01.stl +0 -0
  75. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/bin_everything_05.ply +0 -0
  76. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/colliders.json +0 -0
  77. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/source.md +0 -0
  78. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/tool.stl +0 -0
  79. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/yaskawa_ar1440_rif_with_safety_zones.json +0 -0
  80. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/import_ply.py +0 -0
  81. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/reachability_check.py +0 -0
  82. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/stream_robot.py +0 -0
  83. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py +0 -0
  84. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/yaskawa-ar1440-16-mounting.json +0 -0
  85. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/yaskawa-ar1440-with-external-axis.json +0 -0
  86. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/README.md +0 -0
  87. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/__init__.py +0 -0
  88. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/code_server_helpers.py +0 -0
  89. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/download_models.py +0 -0
  90. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/hull_visualizer.py +0 -0
  91. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/motion_storage.py +0 -0
  92. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/nova_rerun_bridge.py +0 -0
  93. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/robot_visualizer.py +0 -0
  94. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/safety_zones.py +0 -0
  95. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/stream_state.py +0 -0
  96. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/trajectory.py +0 -0
  97. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/__init__.py +0 -0
  98. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/__init__.py +0 -0
  99. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/dependencies.py +0 -0
  100. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/programs.py +0 -0
  101. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/config.py +0 -0
  102. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/novax.py +0 -0
  103. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/program_manager.py +0 -0
  104. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_collision_check_planning.py +0 -0
  105. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_collision_free_planning.py +0 -0
  106. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_inverse_kinematics.py +0 -0
  107. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_motion_group_movement.py +0 -0
  108. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_motion_group_task_cancelation.py +0 -0
  109. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/types/test_motion_settings.py +0 -0
  110. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/utils/test_downsample.py +0 -0
  111. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/utils/test_motion_group_settings.py +0 -0
  112. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_blueprint.py +0 -0
  113. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_nova_rerun_bridge.py +0 -0
  114. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_trajectory.py +0 -0
  115. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_nats.py +0 -0
  116. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_cycle.py +0 -0
  117. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_registry.py +0 -0
  118. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_run.py +0 -0
  119. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_programs.py +0 -0
  120. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/conftest.py +0 -0
  121. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/serve.py +0 -0
  122. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/test_program_manager.py +0 -0
  123. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/vscode-ext/src/nova/readRobotPose.ts +0 -0
  124. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/vscode-ext/src/nova/selection.ts +0 -0
  125. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/CHANGELOG.md +0 -0
  126. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/README.md +0 -0
  127. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/__init__.py +0 -0
  128. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/__main__.py +0 -0
  129. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/antlrvisitor.py +0 -0
  130. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/__init__.py +0 -0
  131. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/array.py +0 -0
  132. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/assoc.py +0 -0
  133. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/controller.py +0 -0
  134. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/fetch.py +0 -0
  135. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/fs.py +0 -0
  136. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/math.py +0 -0
  137. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/pose.py +0 -0
  138. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/string.py +0 -0
  139. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/wait.py +0 -0
  140. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins.ws +0 -0
  141. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/cli.py +0 -0
  142. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/datatypes.py +0 -0
  143. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/and_or.json +0 -0
  144. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/and_or.ws +0 -0
  145. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.config +0 -0
  146. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.json +0 -0
  147. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.ws +0 -0
  148. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/assignment.json +0 -0
  149. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/assignment.ws +0 -0
  150. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/async_write.json +0 -0
  151. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/async_write.ws +0 -0
  152. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/blending.json +0 -0
  153. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/blending.ws +0 -0
  154. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/bool_negation.json +0 -0
  155. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/bool_negation.ws +0 -0
  156. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/builtins.json +0 -0
  157. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/builtins.ws +0 -0
  158. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/comments.json +0 -0
  159. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/comments.ws +0 -0
  160. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/context.json +0 -0
  161. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/context.ws +0 -0
  162. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.cell.json +0 -0
  163. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.json +0 -0
  164. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.ws +0 -0
  165. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/coordinate_systems.json +0 -0
  166. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/coordinate_systems.ws +0 -0
  167. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.cell.json +0 -0
  168. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.json +0 -0
  169. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.ws +0 -0
  170. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern.json +0 -0
  171. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern.ws +0 -0
  172. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_line.json +0 -0
  173. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_line.ws +0 -0
  174. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_manhattan.json +0 -0
  175. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_manhattan.ws +0 -0
  176. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/empty.json +0 -0
  177. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/empty.ws +0 -0
  178. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/expressions.json +0 -0
  179. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/expressions.ws +0 -0
  180. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/fetch.json +0 -0
  181. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/fetch.ws +0 -0
  182. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/find_edge_from_4_poses.json +0 -0
  183. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/find_edge_from_4_poses.ws +0 -0
  184. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame.json +0 -0
  185. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame.ws +0 -0
  186. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame2.json +0 -0
  187. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame2.ws +0 -0
  188. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.cell.json +0 -0
  189. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.json +0 -0
  190. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.ws +0 -0
  191. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/function.json +0 -0
  192. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/function.ws +0 -0
  193. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/functional_pose.json +0 -0
  194. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/functional_pose.ws +0 -0
  195. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/get_pose.json +0 -0
  196. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/get_pose.ws +0 -0
  197. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/ifelse.json +0 -0
  198. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/ifelse.ws +0 -0
  199. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interpolation.json +0 -0
  200. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interpolation.ws +0 -0
  201. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interrupt.json +0 -0
  202. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interrupt.ws +0 -0
  203. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/io.json +0 -0
  204. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/io.ws +0 -0
  205. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/loops.json +0 -0
  206. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/loops.ws +0 -0
  207. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move.json +0 -0
  208. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move.ws +0 -0
  209. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_via_expression.json +0 -0
  210. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_via_expression.ws +0 -0
  211. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_with_velocity.json +0 -0
  212. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_with_velocity.ws +0 -0
  213. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.cell.json +0 -0
  214. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.json +0 -0
  215. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.ws +0 -0
  216. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.cell.json +0 -0
  217. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.json +0 -0
  218. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.ws +0 -0
  219. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.cell.json +0 -0
  220. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.json +0 -0
  221. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.ws +0 -0
  222. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/not.json +0 -0
  223. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/not.ws +0 -0
  224. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/operator_precedence.json +0 -0
  225. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/operator_precedence.ws +0 -0
  226. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/pose.json +0 -0
  227. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/pose.ws +0 -0
  228. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/poses2.json +0 -0
  229. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/poses2.ws +0 -0
  230. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/print.json +0 -0
  231. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/print.ws +0 -0
  232. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/record.json +0 -0
  233. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/record.ws +0 -0
  234. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/scope.json +0 -0
  235. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/scope.ws +0 -0
  236. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/spline.json +0 -0
  237. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/spline.ws +0 -0
  238. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/switch.json +0 -0
  239. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/switch.ws +0 -0
  240. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.cell.json +0 -0
  241. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.json +0 -0
  242. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.ws +0 -0
  243. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.cell.json +0 -0
  244. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.json +0 -0
  245. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.ws +0 -0
  246. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/try.json +0 -0
  247. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/try.ws +0 -0
  248. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/vision_move.json +0 -0
  249. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/vision_move.ws +0 -0
  250. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.config +0 -0
  251. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.json +0 -0
  252. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.ws +0 -0
  253. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat2.json +0 -0
  254. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat2.ws +0 -0
  255. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat3.json +0 -0
  256. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat3.ws +0 -0
  257. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/whitespaces.json +0 -0
  258. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/whitespaces.ws +0 -0
  259. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp393.json +0 -0
  260. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp393.ws +0 -0
  261. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp469.json +0 -0
  262. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp469.ws +0 -0
  263. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples.py +0 -0
  264. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/exception.py +0 -0
  265. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/ffi.py +0 -0
  266. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/ffi_loader.py +0 -0
  267. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/frames.py +0 -0
  268. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/WandelscriptLexerBase.py +0 -0
  269. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/__init__.py +0 -0
  270. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.g4 +0 -0
  271. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.interp +0 -0
  272. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.py +0 -0
  273. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.tokens +0 -0
  274. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.g4 +0 -0
  275. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.interp +0 -0
  276. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.py +0 -0
  277. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.tokens +0 -0
  278. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParserListener.py +0 -0
  279. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParserVisitor.py +0 -0
  280. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/metamodel.py +0 -0
  281. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/migration.py +0 -0
  282. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/models.py +0 -0
  283. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/motions.py +0 -0
  284. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/operators.py +0 -0
  285. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/runner.py +0 -0
  286. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/runtime.py +0 -0
  287. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/scripts/generate_parser.sh +0 -0
  288. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/__init__.py +0 -0
  289. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_builtins.py +0 -0
  290. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_examples.py +0 -0
  291. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_executor.py +0 -0
  292. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_ffi.py +0 -0
  293. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_migration.py +0 -0
  294. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_motion.py +0 -0
  295. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_move.py +0 -0
  296. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_multirobot.py +0 -0
  297. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_parser.py +0 -0
  298. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_programs.py +0 -0
  299. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_run_twice.py +0 -0
  300. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_runner.py +0 -0
  301. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_runtime.py +0 -0
  302. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_simulation.py +0 -0
  303. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_stepwise.py +0 -0
  304. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_store.py +0 -0
  305. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_two_step_execution.py +0 -0
  306. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_types.py +0 -0
  307. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/__init__.py +0 -0
  308. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/pose.py +0 -0
  309. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/runtime.py +0 -0
  310. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/serializer.py +0 -0
  311. {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wandelbots-nova
3
- Version: 4.3.0
3
+ Version: 4.3.2
4
4
  Summary: Official Python SDK for the Wandelbots Nova
5
5
  Author: Wandelbots GmbH
6
6
  Author-email: Christoph Biering <christoph.biering@wandelbots.com>, Mahsum Demir <mahsum.demir@wandelbots.com>, Dirk Sonnemann <dirk.sonnemann@wandelbots.com>, Andreas Langenhagen <andreas.langenhagen@wandelbots.com>, Stefan Wagner <stefan.wagner@wandelbots.com>, André Kühnert <andre.kuhnert@wandelbots.com>
@@ -24,6 +24,23 @@ __all__ = [
24
24
  "program",
25
25
  "run_program",
26
26
  "ProgramContext",
27
+ "get_current_program_context",
27
28
  "ProgramPreconditions",
28
29
  "__version__",
29
30
  ]
31
+
32
+
33
+ def get_current_program_context() -> ProgramContext | None:
34
+ """Get the current program context from within a running program.
35
+
36
+ Returns the active ProgramContext when called from inside a function
37
+ decorated with @program. The context provides access to the Nova instance,
38
+ the default cell, and the program ID.
39
+
40
+ Returns:
41
+ The current ProgramContext if called within a @program-decorated function,
42
+ or None if called outside of a program execution context.
43
+ """
44
+ from nova.program.context import current_program_context_var
45
+
46
+ return current_program_context_var.get()
@@ -1,6 +1,7 @@
1
1
  import asyncio
2
2
  import logging
3
3
  from contextlib import aclosing
4
+ from functools import partial
4
5
  from typing import AsyncGenerator, cast
5
6
 
6
7
  import numpy as np
@@ -9,6 +10,7 @@ from nova import api
9
10
  from nova.actions import Action, CombinedActions, MovementController, MovementControllerContext
10
11
  from nova.actions.mock import WaitAction
11
12
  from nova.actions.motions import CollisionFreeMotion
13
+ from nova.config import ENABLE_TRAJECTORY_TUNING
12
14
  from nova.core.gateway import ApiGateway
13
15
  from nova.exceptions import LoadPlanFailed, PlanTrajectoryFailed
14
16
  from nova.types import Pose, RobotState
@@ -24,6 +26,7 @@ from nova.utils.motion_group_settings import update_motion_group_setup_with_moti
24
26
 
25
27
  from .movement_controller import move_forward
26
28
  from .robot_cell import AbstractRobot
29
+ from .tuner import TrajectoryTuner
27
30
 
28
31
  MAX_JOINT_VELOCITY_PREPARE_MOVE = 0.2
29
32
  START_LOCATION_OF_MOTION = 0.0
@@ -741,6 +744,19 @@ class MotionGroup(AbstractRobot):
741
744
  movement_controller: MovementController | None,
742
745
  start_on_io: api.models.StartOnIO | None = None,
743
746
  ) -> AsyncGenerator[MotionState, None]:
747
+ # This is the entrypoint for the trajectory tuning mode
748
+ if ENABLE_TRAJECTORY_TUNING:
749
+ logger.info("Entering trajectory tuning mode...")
750
+ try:
751
+ async for motion_group_state in self._tune_trajectory(
752
+ joint_trajectory, tcp, actions
753
+ ):
754
+ yield motion_group_state_to_motion_state(motion_group_state)
755
+ except (Exception, BaseException) as e:
756
+ logger.error(f"Trajectory tuning failed: {e}")
757
+ raise e
758
+ return
759
+
744
760
  if movement_controller is None:
745
761
  movement_controller = move_forward
746
762
 
@@ -782,11 +798,33 @@ class MotionGroup(AbstractRobot):
782
798
 
783
799
  tg.create_task(execution(), name=f"execute_trajectory-{trajectory_id}-{self.id}")
784
800
 
785
- while (motion_group_state := await states.get()) is not SENTINEL:
786
- assert isinstance(motion_group_state, api.models.MotionGroupState)
787
- yield motion_group_state_to_motion_state(motion_group_state)
801
+ while (motion_group_state_ := await states.get()) is not SENTINEL:
802
+ assert isinstance(motion_group_state_, api.models.MotionGroupState)
803
+ yield motion_group_state_to_motion_state(motion_group_state_)
788
804
 
789
805
  # when the execution task finished
790
806
  # task group will still wait for the monitoring task
791
807
  # so we need to cancel it
792
808
  monitor_task.cancel()
809
+
810
+ async def _tune_trajectory(
811
+ self, joint_trajectory: api.models.JointTrajectory, tcp: str, actions: list[Action]
812
+ ) -> AsyncGenerator[api.models.MotionGroupState, None]:
813
+ start_joints = await self.joints()
814
+
815
+ async def plan_fn(actions: list[Action]) -> tuple[str, api.models.JointTrajectory]:
816
+ # we fix the start joints here because the tuner might call plan multiple times whilst tuning
817
+ # and the start joints would change to the respective joint positions at the time of planning
818
+ # which is not what we want
819
+ joint_trajectory = await self._plan(actions, tcp, start_joints)
820
+ load_planned_motion_response = await self._load_planned_motion(joint_trajectory, tcp)
821
+ return load_planned_motion_response, joint_trajectory
822
+
823
+ execute_fn = partial(
824
+ self._api_client.trajectory_execution_api.execute_trajectory,
825
+ cell=self._cell,
826
+ controller=self._controller_id,
827
+ )
828
+ tuner = TrajectoryTuner(plan_fn, execute_fn)
829
+ async for response in tuner.tune(actions, self.stream_state):
830
+ yield response
@@ -0,0 +1,4 @@
1
+ from .move_forward import move_forward
2
+ from .trajectory_cursor import TrajectoryCursor
3
+
4
+ __all__ = ["move_forward", "TrajectoryCursor"]
@@ -1,6 +1,5 @@
1
1
  import asyncio
2
2
  import logging
3
- from typing import AsyncIterator
4
3
 
5
4
  from nova import api
6
5
  from nova.actions import MovementControllerContext
@@ -13,9 +12,6 @@ from nova.types import (
13
12
 
14
13
  logger = logging.getLogger(__name__)
15
14
 
16
- ExecuteJoggingRequestStream = AsyncIterator[api.models.ExecuteJoggingRequest]
17
- ExecuteJoggingResponseStream = AsyncIterator[api.models.ExecuteJoggingResponse]
18
-
19
15
  _START_STATE_MONITOR_TIMEOUT = 5.0
20
16
 
21
17