Bring needle constraint work from simulator_tests (keep main's CI and core) - #9
Merged
Merged
Conversation
Take the Python source as-is from `simulator_tests` (f79177a) on top of current `main`: the rewritten `_impl.py` VFI (angular insertion constraint, insertion constraints and needle offset in `needle_w`), the updated `icra2019_controller.py`, `needle_controller.py`, package `__init__.py`, examples, and `saul/insertion_1.py`. Also drop what that work no longer needs, per repo maintainers: - `tests/`: the old test suite is no longer relevant. - CoppeliaSim: `example_kinematics_from_coppeliasim.py` and its console-script entry are removed (the example is not used). - CI: the obsolete `test` job is removed from the workflow (it ran `pytest tests/ -v`, which no longer exists); `publish` now only needs `build`. All other build/publish steps are unchanged. Kept from `main`: the CI build/publish pipeline (including auditwheel manylinux repair), the C++ core and submodules, packaging (`pyproject.toml`, `setup.py`, `MANIFEST.in`), the PEP 561 `_core.pyi` stub and `py.typed` marker, and the devcontainer. The `marinholab-stubs` approach from `simulator_tests` is intentionally not adopted. Co-Authored-By: openhands <openhands@all-hands.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings the Python source from
simulator_tests(f79177a) on top of currentmain(d738316), while keepingmain's CI pipeline, C++ core, and packaging. This was created by an AI agent (OpenHands) on behalf of the maintainer.Taken from
simulator_tests(verbatim)marinholab/working/needlemanipulation/:__init__.py,_impl.py(rewritten VFI — new angular insertion constraint, insertion constraints +needle_offsetinneedle_w, 11 new constraint helpers),example.py,example_create_needle_controller.py,example_load_from_file.py,icra2019_controller.py,needle_controller.pysaul/insertion_1.py(the onlysaul/script that differs between the branches)Removed (per maintainers)
tests/— the old test suite is no longer relevantexample_kinematics_from_coppeliasim.pyand itspyproject.tomlconsole-script entry (the example is not used)testjob from.github/workflows/python-publish.yml— it ranpytest tests/ -v, which no longer exists;publishnowneeds: [build]. All other build/publish steps (including auditwheel manylinux repair) are unchanged.Kept from
mainsrc/,CMakeLists.txt,.gitmodules, submodules)pyproject.toml,setup.py,MANIFEST.in_core.pyistub +py.typedmarker (themarinholab-stubs/approach fromsimulator_testsis intentionally not adopted)Notes / known risks
from dqrobotics.solvers import DQ_QuadprogSolver, which is what main's CI already installs (dqrobotics + quadprog) — verified.simulator_tests(commented-out qpOASES bindings + a submodule layout change) were deliberately not taken; the Python works unchanged againstmain's_core.pip install . --no-build-isolation), package + all new symbols import,NeedleControllerconstructs withinsertion_constraintson/off, and the new constraint machinery produces finite values end-to-end.This [PR] was created by an AI agent (OpenHands) on behalf of the maintainer.