Commit Graph

1460 Commits

Author SHA1 Message Date
Robert Haschke
cc7f9f0585 Merge branch 'master' into ros2 2024-09-17 15:00:39 +02:00
Robert Haschke
99ccc115e0
Update API: JumpThreshold -> CartesianPrecision (#611)
Python: Access properties via writable references
This allows to modify properties in place, e.g. cartesian_solver.precision.translational = 0.01
2024-09-17 10:59:14 +02:00
Michael Görner
5a44808146
clean up dependencies for rviz_marker_tools (#610)
liburdfdom-dev is not actually used. Only liburdfdom-headers-dev.
2024-09-02 22:52:47 +02:00
Robert Haschke
184d39897a Add missing test dependency 2024-09-02 11:20:45 +02:00
Robert Haschke
237a07f96f CI: Update actions 2024-09-02 09:25:12 +02:00
Karthik Arumugham
cb867aeddf Fix run.launch.py (#607)
Add path to panda_config.yaml file to have parameters available for pick_place_demo

Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2024-08-27 11:00:04 +02:00
Captain Yoshi
fdc06c3b91
Reduce stop time due to preempt (#598)
The preempt_request_ flag was only checked at the top-level task container before each compute iteration.
As a single sweep might take a while, we should check the flag before computing each stage.
2024-07-19 15:46:12 +02:00
Robert Haschke
4f69a22ddb Silent error "Found empty JointState message" 2024-07-18 13:48:32 +02:00
Robert Haschke
7631486648
Add unittest for #581 2024-07-17 15:10:53 +02:00
Captain Yoshi
cd28bdcd1f
Fix early planning preemption (#597)
Calling preempt() before plan() is able to reset the preempt_requested_ flag causes the preemption request to get lost. To avoid this issue, we allow a) manual resetting of the request and b) reset the request before leaving plan().
2024-07-17 14:56:01 +02:00
Paul Gesel
60ccd74443
MoveRelative: fix segfault on empty trajectory (#595)
Check that at least one robot state exists in the robot trajectory before accessing it.

Signed-off-by: Paul Gesel <paul.gesel@picknik.ai>
2024-07-16 17:18:16 +02:00
Robert Haschke
2e9a223827
MoveRelative: handle equal min/max distance (#593)
When min_distance == max_distance > 0.0, the minimal distance might be missed due to numerical errors.
To avoid this, deactivate the minimal distance check and run the full distance as given by max_distance.
2024-07-16 08:24:55 +02:00
Robert Haschke
5519162b40 CI: skip python tests
- with asan
- with clang builds
2024-07-13 14:37:29 +02:00
Robert Haschke
75988a4a1c Install python demo scripts 2024-07-13 03:03:44 +02:00
Robert Haschke
430a69f4b7 Adapt python scripts to ROS2 API changes 2024-07-13 03:03:44 +02:00
Robert Haschke
29d12196da Reenable python bindings 2024-07-13 02:08:30 +02:00
Robert Haschke
98000f37ff Merge branch 'master' into ros2 2024-07-13 02:07:53 +02:00
Robert Haschke
8d2baf2739 Cleanup unit tests
... and allow them to run via both, cmdline and pytest
2024-07-13 01:59:22 +02:00
Robert Haschke
6d376fb8b9 Connect: Relax validity check of reached end state 2024-07-12 06:31:33 +02:00
Robert Haschke
0fed09d431 Unify Python demo scripts 2024-07-12 06:31:33 +02:00
Robert Haschke
93ef98ad67 Switch shebang to python3 2024-07-11 15:44:28 +02:00
Robert Haschke
bbc34d2b97 demo: replace individual launch files with common run.launch.py
Launch individual binaries with:
ros2 launch moveit_task_constructor_demo run.launch.py exe:=<binary>
2024-07-11 15:17:35 +02:00
Robert Haschke
4debc37904 Silence gcc's overloaded-virtual warnings 2024-07-11 09:50:35 +02:00
Robert Haschke
646a49f1fb Disable ccov: lcov is broken 2024-07-09 20:39:25 +02:00
Robert Haschke
d4db4cb707 Fix flaky IK in asan unit test: increase timeout 2024-07-09 15:33:47 +02:00
Robert Haschke
26d146874a Fix failing unittests: remove static executor 2024-07-09 13:25:57 +02:00
Fabian Schuetze
702710dec5
Improve comments for pick-and-place task (#238) 2024-07-06 19:59:05 +02:00
Robert Haschke
fbc05e4496
Add property to enable/disable pruning at runtime (#590) 2024-07-06 16:51:14 +02:00
Robert Haschke
907014cd57 Disable pruning by default 2024-07-04 12:05:31 +02:00
Robert Haschke
93a3964138 test_pruning.cpp: Add new test 2024-07-04 11:57:31 +02:00
Robert Haschke
48bde8daab test_pruning.cpp: Extend test to ParallelContainer 2024-07-04 11:57:31 +02:00
Robert Haschke
42a08d6444 PassThrough: cleanup unused headers 2024-07-04 11:57:31 +02:00
Robert Haschke
a84479cc58 Avoid segfault if TimeParameterization is not set 2024-07-03 09:32:30 +02:00
Robert Haschke
b1336dc210 CartesianPath: allow ik_frame definition
... if start and end are given as joint-space poses
2024-06-29 18:02:05 +02:00
Robert Haschke
177e19de1f Generalize utils::getRobotTipForFrame()
... to return error_msg instead of calling markAsFailure() on a solution
2024-06-29 17:55:45 +02:00
Robert Haschke
8fa66a6d2c Update pybind11 to version 2.12.0
Currently used branch was not interoperable with a standard version of pybind11.
2024-05-29 15:43:46 +02:00
Robert Haschke
edf2605a1d TEMP: Workaround for unittests failing during shutdown
Using quick_exit instead of return/exit avoids calling all cleanup functions,
which fail due to a bug in rmw_fastrtps_cpp.
2024-05-29 14:04:07 +02:00
Robert Haschke
bb047c894c Cleanup unit tests
- Unify move_to.launch.py and test_task_model.launch.py
- Rename them to test.launch.py as they are independent of the executable
- Move Node creation to the fixture constructor
- Replace Task::setRobotModel(loadModel()) with Task::loadRobotModel()
2024-05-29 14:04:07 +02:00
VideoSystemsTech
ad5c878f19
ComputeIK: Allow additional constraints for filtering solutions (#464)
Add "constraint" property.

Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2024-05-28 16:54:10 +02:00
Jafar Uruç
a9ddbe1998
Update authors and maintainers (#425) 2024-05-28 07:26:10 +02:00
VideoSystemsTech
227d475282 Expose MultiPlanner to Python (#474)
Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2024-05-27 19:17:45 +02:00
Captain Yoshi
3b4ea48c18
Add unittest cartesianCollisionMinMaxDistance (#538)
... to illustrate that MoveRelative's min-max constraint fails with PipelinePlanners (e.g. Pilz) returning a partially invalid trajectory: MTC does not truncate the trajectory to its valid part and thus fails, even if the valid part fits the given min-max range. This logic is only supported for the CartesianPath planner for now.

Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2024-05-27 16:16:57 +02:00
Robert Haschke
f79c6c537e
Connect: Relax validity check of reached end state (#542)
Looks like Rolling's MoveIt uses a more relaxed goal constraint threshold than Humble.
For this reason, all end states reached by Connect solutions of pick+place demo are rejected.
This commit relaxes the max_distance threshold of Connect accordingly.
2024-05-26 20:45:23 +02:00
Robert Haschke
747bb29c7a CI: add jazzy build 2024-05-26 12:55:06 +02:00
Robert Haschke
92efc14043 Rename ros-planning org 2024-05-25 21:30:30 +02:00
Robert Haschke
076903a738 Drop requirement on py_binding_tools
python bindings are not yet supported
2024-05-25 20:01:51 +02:00
Robert Haschke
7666f73e04
Simplify formatting code with https://github.com/fmtlib (#499)
* Simplify formatting code with https://github.com/fmtlib
* Update to clang-format-12
2024-05-25 19:12:42 +02:00
Robert Haschke
5d2857be6b Merge branches 'simplify-node-creation' and 'master' into ros2 2024-05-24 14:39:38 +02:00
Captain Yoshi
a0c00646c2
Add NoOp stage (#534)
This stage can be used to add arbitrary user-defined properties w/o modifying the PlanningScene state or adding a trajectory.

Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2024-05-24 14:34:27 +02:00
Robert Haschke
54e653ebdb Fix failing assertion
The cost of a newly created Priority does not need to be finite.
An example occurs in the Pick+Place demo: the CurrentState solution
is filtered by an applicibility test, which may set the cost to infinity
while lifting the solution to the wrapper stage.
In this case, new InterfaceStates are created from the infinite cost solution.
Consequently, the state should be marked as PRUNED.
2024-05-24 12:02:20 +02:00