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.
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/PKG-INFO +1 -1
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/__init__.py +17 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/motion_group.py +41 -3
- wandelbots_nova-4.3.2/nova/cell/movement_controller/__init__.py +4 -0
- wandelbots_nova-4.3.0/nova/cell/movement_controller.py → wandelbots_nova-4.3.2/nova/cell/movement_controller/move_forward.py +0 -4
- wandelbots_nova-4.3.2/nova/cell/movement_controller/trajectory_cursor.py +1054 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/robot_cell.py +6 -2
- wandelbots_nova-4.3.2/nova/cell/tuner.py +195 -0
- wandelbots_nova-4.3.2/nova/program/context.py +49 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/function.py +4 -38
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/pyproject.toml +1 -1
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/.gitignore +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/LICENSE +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/README.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/base.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/container.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/io.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/mock.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/motions.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/actions/trajectory_builder.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/api.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/api.pyi +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/cell.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/controller.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/controllers.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/io.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/simulation.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/cell/test.ts +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/config.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/gateway.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/core/nova.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/events/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/exceptions.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/client.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/extensions/opcua/functions.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/logging/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/exceptions.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/runner.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/store.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/program/utils.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/collision_scene.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/motion_settings.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/pose.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/state.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/types/vector3d.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/collision_setup.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/downsample.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/joint_trajectory.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/motion_group_settings.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/utils/timestamp.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/version.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/base.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/manager.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/protocol.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/rerun.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova/viewers/utils.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/LICENSE +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/README.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/blueprint.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/collision_scene.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/colors.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/consts.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/dh_robot.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/Welding_Benchmark_USA_01.stl +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/bin_everything_05.ply +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/colliders.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/source.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/tool.stl +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/example_data/yaskawa_ar1440_rif_with_safety_zones.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/import_ply.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/reachability_check.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/stream_robot.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/use_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/yaskawa-ar1440-16-mounting.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/examples/yaskawa-ar1440-with-external-axis.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/README.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/code_server_helpers.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/helper_scripts/download_models.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/hull_visualizer.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/motion_storage.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/nova_rerun_bridge.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/robot_visualizer.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/safety_zones.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/stream_state.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/nova_rerun_bridge/trajectory.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/dependencies.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/api/programs.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/config.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/novax.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/novax/program_manager.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_collision_check_planning.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_collision_free_planning.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_inverse_kinematics.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_motion_group_movement.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/cell/motion_group/test_motion_group_task_cancelation.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/types/test_motion_settings.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/utils/test_downsample.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova/utils/test_motion_group_settings.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_blueprint.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_nova_rerun_bridge.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/nova_rerun_bridge/test_trajectory.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_nats.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_cycle.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_registry.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_program_run.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/api/test_programs.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/conftest.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/serve.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/tests/novax/test_program_manager.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/vscode-ext/src/nova/readRobotPose.ts +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/vscode-ext/src/nova/selection.ts +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/CHANGELOG.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/README.md +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/__main__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/antlrvisitor.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/array.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/assoc.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/controller.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/fetch.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/fs.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/math.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/pose.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/string.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins/wait.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/builtins.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/cli.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/datatypes.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/and_or.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/and_or.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.config +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/array.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/assignment.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/assignment.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/async_write.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/async_write.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/blending.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/blending.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/bool_negation.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/bool_negation.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/builtins.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/builtins.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/comments.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/comments.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/context.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/context.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/controller.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/coordinate_systems.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/coordinate_systems.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/default.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_line.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_line.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_manhattan.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/edge_pattern_manhattan.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/empty.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/empty.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/expressions.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/expressions.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/fetch.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/fetch.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/find_edge_from_4_poses.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/find_edge_from_4_poses.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame2.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame2.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/frame3.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/function.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/function.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/functional_pose.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/functional_pose.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/get_pose.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/get_pose.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/ifelse.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/ifelse.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interpolation.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interpolation.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interrupt.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/interrupt.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/io.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/io.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/loops.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/loops.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_via_expression.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_via_expression.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_with_velocity.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/move_with_velocity.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots2.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/multiple_robots3.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/not.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/not.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/operator_precedence.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/operator_precedence.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/pose.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/pose.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/poses2.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/poses2.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/print.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/print.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/record.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/record.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/scope.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/scope.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/spline.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/spline.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/switch.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/switch.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tcps.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.cell.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/tower_of_hanoi.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/try.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/try.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/vision_move.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/vision_move.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.config +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wait.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat2.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat2.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat3.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wandelchat3.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/whitespaces.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/whitespaces.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp393.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp393.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp469.json +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples/wp469.ws +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/examples.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/exception.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/ffi.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/ffi_loader.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/frames.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/WandelscriptLexerBase.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.g4 +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.interp +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptLexer.tokens +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.g4 +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.interp +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParser.tokens +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParserListener.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/grammar/wandelscriptParserVisitor.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/metamodel.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/migration.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/models.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/motions.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/operators.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/runner.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/runtime.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/scripts/generate_parser.sh +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_builtins.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_examples.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_executor.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_ffi.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_migration.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_motion.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_move.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_multirobot.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_parser.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_programs.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_run_twice.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_runner.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_runtime.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_simulation.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_stepwise.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_store.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_two_step_execution.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/tests/test_types.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/__init__.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/pose.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/runtime.py +0 -0
- {wandelbots_nova-4.3.0 → wandelbots_nova-4.3.2}/wandelscript/utils/serializer.py +0 -0
- {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.
|
|
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 (
|
|
786
|
-
assert isinstance(
|
|
787
|
-
yield motion_group_state_to_motion_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
|
|
@@ -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
|
|