Commit Graph

1527 Commits

Author SHA1 Message Date
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
Robert Haschke
9c05305eff ModifyPlanningScene: check state for collisions 2024-05-24 10:49:14 +02:00
Robert Haschke
a8896e4e5d Improve TypeError exceptions
- use pybind11 API instead of Python C API
- provide more informative error messages
2024-05-23 14:08:49 +02:00
Robert Haschke
74b1e5e5d3 CI: prerelease.yaml: make ROS_DISTRO an interactive input 2024-05-23 14:08:49 +02:00
Robert Haschke
8ede80d26d Example of constrained orientation planning 2024-05-23 14:08:49 +02:00
Robert Haschke
92b917d264 CI: update actions 2024-05-23 14:08:49 +02:00
Robert Haschke
e2812d9333 Drop Kinetic support 2024-05-23 14:08:49 +02:00
Robert Haschke
9fd2f1f858 Drop Melodic support
- py_binding_tools is released into Noetic only
- drop Python2 support
- drop TYPED_TEST_CASE
2024-05-23 14:08:49 +02:00
Robert Haschke
405755595a Switch to package py_binding_tools 2024-05-23 14:08:49 +02:00
Captain Yoshi
ad19ea5479
Add ability to move CollisionObjects (#567) 2024-05-12 11:03:47 +02:00
Robert Haschke
046309d60a Simplify rclcpp::Node creation
Directly pass node name and namespace instead of using options.
2024-05-08 10:19:28 +02:00
Sebastian Castro
819e560ed4
Improve description of max_distance property of Connect stage (#564) 2024-05-05 19:30:36 +02:00
Robert Haschke
6b0f2c872f rviz_marker_tools: add missing dependency on urdfdom 2024-04-02 10:38:39 +02:00
Daniel García López
560aa0a476
Add Generator::spawn(from, to, trajectory) variant (#546) 2024-03-20 15:32:15 +01:00
Sebastian Jahr
5ae22da8db fixup! Add planner_id to SubTrajectory info (#490) 2024-03-19 14:51:35 +01:00
Robert Haschke
e1b891ba5a Fix mtc.rviz config 2024-03-13 11:18:25 +01:00
Sebastian Jahr
0c4b4fcaa8 Print warning if no controllers are configured for trajectory execution (#514) 2024-03-09 13:35:02 +01:00
Robert Haschke
739375298a Merge branch master into ros2 2024-03-09 13:34:36 +01:00
Robert Haschke
55c4b52b13 Cosmetic fixes 2024-03-09 11:11:01 +01:00
Robert Haschke
795bde7b62 Fix Solution::fillMessage() (#432)
The scene_diff field usually describes PlanningScene changes of the end scene relative to the start scene.
For backwards planning, this direction is reversed: the start scene is derived from the end scene.
Thus, we need to generate a full planning scene message for the end scene if planning progressed backwards.

Fixes #405.
2024-03-08 17:31:52 +01:00
Robert Haschke
2450127eb5 Clear JointStates in scene diff before execution
Joints are handled in trajectories.
Scene diffs should not modify joints during execution.
Fixes #353.

Alternative to #504. The previous solution, to always clear the joint states
during message generation, broke the visualization in rviz.
2024-03-08 17:16:19 +01:00
Robert Haschke
5a8925df11 Revert "Disable MPS tests, failing due to #432"
This reverts commit 5382338933.
2024-03-08 17:16:19 +01:00
Robert Haschke
4aac679257 Fix generation of Solution msg: consider backward operation
Need to generate full planning scene message if planning progressed backwards:
The scene_diff field describes PlanningScene changes of the end scene relative to the start scene,
while during planning it might be inversed.
2024-03-08 17:16:19 +01:00
Robert Haschke
5a42ca0ef8 CI: update action versions 2024-03-08 11:32:27 +01:00
Abishalini
e09fecd71f Propagate errors from planners to solution comment (#525) 2024-03-08 11:13:10 +01:00
Abishalini Sivaraman
5dd170b849 Add planner info to comments (#523) 2024-03-07 21:19:27 +01:00
TipluJacob
9b4c76076b Fix missing configs in demo launch files (#509) 2024-03-07 21:17:41 +01:00
Sebastian Jahr
f661c18e69 Fix MTC unittests for new pipeline refactoring (#515) 2024-03-07 20:53:45 +01:00
Mario Prats
11c3126052 Update to the more recent JumpThreshold API (#506) 2024-03-07 20:35:03 +01:00
Michael Wiznitzer
0827a0d260 JointInterpolationPlanner: Check joint bounds (#505) 2024-03-07 20:33:43 +01:00
Robert Haschke
d0a904c313 Add property trajectory_execution_info (#355, #502)
... to pass a list of controller names to PlanExecution

---------

Co-authored-by: Luca Lach <llach@techfak.uni-bielefeld.de>
2024-03-07 20:01:03 +01:00
JafarAbdi
c11a34a935 ExecuteTaskSolutionCapability: Reject new goals when busy (#496)
- Rename goalCallback() -> execCallback()
- Run execCallback asynchronously and use future to know status of execution
2024-03-07 16:01:15 +01:00
Robert Haschke
8695def99d ExecuteTaskSolutionCapability: Rename goalCallback() -> execCallback() 2024-03-07 14:36:43 +01:00
Robert Haschke
a75d50e0ed Clear JointStates in scene diff (#504)
Joints are handled in trajectories.
Scene diffs should not modify joints during execution.
Fixes #353.
2024-03-07 12:23:07 +01:00