Commit Graph

934 Commits

Author SHA1 Message Date
Robert Haschke
93b46ef214 GeneratePose: forward registered properties from received solution 2023-01-28 12:01:45 +01:00
Robert Haschke
9c13a9cd1e Silent external clang-tidy warning 2023-01-05 16:54:46 +01:00
Robert Haschke
031da95894 Disable python wrapper for now
The ROS1 wrapper relied on python <-> c++ type casting via message serialization.
A corresponding mechanism doesn't yet exist in ROS2:
- https://answers.ros.org/question/356542/ros2-message-serialization-adapting-types/
- https://github.com/ros2/rclpy/issues/291#issuecomment-476314923
2023-01-05 16:54:46 +01:00
Robert Haschke
b54f53eb98 Rely on CXXFLAGS definition from moveit_common package 2023-01-05 16:54:46 +01:00
Robert Haschke
b3d20cdcec Merge branch 'master' into ros2 2023-01-05 16:54:41 +01:00
Robert Haschke
d9cff5510f Fix more -Wold-style-cast warnings 2023-01-05 16:24:02 +01:00
Robert Haschke
91d9518d3c Replace namespace robot_model -> moveit::core 2023-01-05 03:14:11 +01:00
JafarAbdi
f055fabbd1 Fix clang-tidy warnings
- Replace old-style casts
- Fix missing initialization
2023-01-04 23:52:38 +01:00
Jochen Sprickerhof
770a8a0b17 Fix call of PropagatingEitherWay::computeGeneric()
computeGeneric is templated and private so it will be undefined in the
shared object and when using the computeForward/Backward functions.
2023-01-04 21:39:33 +01:00
Robert Haschke
f872d58520
Expose ContainerBase::childByIndex via operator[](int) (#413) 2022-12-12 20:44:37 +01:00
Robert Haschke
26c690c3b6 Merge PRs #412 (fix-ci) and #409 (more cost-terms) 2022-12-11 22:38:32 +01:00
Robert Haschke
33e9c5d212 Fix clang-tidy issues 2022-12-11 22:37:10 +01:00
Robert Haschke
ced37a029c Update/Stick pybind11 to version 2.9.1-smart_holder
... to maintain compatibility with Python 3.6 and 2.7
2022-12-11 21:34:53 +01:00
Robert Haschke
7c35f6c580 Update/Stick pybind11 to version 2.9.1-smart_holder
... to maintain compatibility with Python 3.6 and 2.7
2022-12-11 17:42:07 +01:00
Robert Haschke
341f1838b5 Build python bindings with size optimization 2022-12-11 17:39:55 +01:00
Robert Haschke
4886fc3f7b Expose CostTerms to python 2022-12-11 17:39:55 +01:00
Robert Haschke
6de570c7a6 new TrajectoryCostTerm: DistanceToReference 2022-12-09 11:19:41 +01:00
Robert Haschke
a9b4947845 PathLength: allow weighting of different joints 2022-12-09 10:16:19 +01:00
Robert Haschke
de22cba99a Fetch pybind11 submodule if not yet present 2022-12-09 09:05:17 +01:00
Robert Haschke
274c75f68f Fix SimpleGrasp/SimpleUnGrasp wrapper
- Wrap common base class SimpleGraspBase to reduce redundancy
- Use correct defaults for stage name
2022-12-08 09:37:33 +01:00
Robert Haschke
7200bbbfb1 Fix base class for container stages Pick, Place, SimpleGrasp, SimpleUnGrasp 2022-12-08 08:59:41 +01:00
Robert Haschke
2cf4f8f046 Drop breathe (not working) and directly link doxygen docs 2022-11-27 01:19:56 +01:00
Robert Haschke
c9ba6918c8 GHA: Build and deploy documentation 2022-11-27 01:19:56 +01:00
Robert Haschke
954089eae4 Merge PR #99: Python API
... based on pybind11
2022-11-22 21:24:17 +01:00
Robert Haschke
c1df1fbee8 [Container|Task]::add(...) for sequence (python) 2022-11-22 21:22:29 +01:00
Robert Haschke
164ce4eab8 clang-tidy: fix variable/method naming 2022-11-03 18:30:21 +01:00
Robert Haschke
9924dfe25f Merge branch master into ros2 2022-11-02 19:16:38 +01:00
Robert Haschke
7d5f9fe6e3 Fix clang-tidy warnings 2022-11-02 18:44:38 +01:00
Robert Haschke
f28b6c4ea0 Fix cmake indentation 2022-11-02 00:07:57 +01:00
Robert Haschke
7c66b85aa7 CI: stricter warnings 2022-11-02 00:07:57 +01:00
Robert Haschke
f88e25fe74 Merge PR #380: Fix Cartesian interpolation
Correctly consider an offset transform from link to reference frame,
such that rotations w.r.t. the reference frame don't move its origin.
2022-11-01 23:51:53 +01:00
Robert Haschke
0c9524930a CI: stricter warnings 2022-11-01 23:41:17 +01:00
Robert Haschke
d66b2262ed Rename variables in visualizePlan()
- link_pose -> start_pose
- pos_link -> pos_start
2022-10-31 19:53:07 +01:00
Robert Haschke
32d3454c1f Fix getRobotTipForFrame()
When passing the root frame, getRigidlyConnectedParentLinkModel() returns
a nullptr for robot_link, causing a segfault.
Actually, we don't need to use that method at all. We just need to find
the robot_link of an associated body.
2022-10-31 19:53:07 +01:00
Robert Haschke
fd123cc4a7 Fix handling of ik_frame in Cartesian path planning
The ik_frame should move in a straight-line Cartesian path.
However, so far the link frame was following a Cartesian path.
2022-10-31 19:53:07 +01:00
Robert Haschke
ec366b26ee MoveRelative: Correctly compute motion transform
The twist motion performs an angular rotation about the given axis _and_
the origin of ik_frame as well as a linear translation.
Both transforms are expressed w.r.t. the model frame and thus require
left-multiplication to ik_frame's current pose.
2022-10-31 19:53:07 +01:00
Robert Haschke
076957d4dc Simplify MoveRelative 2022-10-31 19:53:07 +01:00
Robert Haschke
402d6a4bfe Improve unittest for move_relative 2022-10-31 19:53:07 +01:00
Robert Haschke
64a8df1fde Merge CI fixes/improvements 2022-10-24 10:21:34 +02:00
Robert Haschke
4c9b16511b Hopefully fix spurious test failure 2022-10-24 10:21:28 +02:00
v4hn
c60cd6c86f Avoid unused-parameter warnings 2022-10-24 10:21:28 +02:00
Robert Haschke
5a30f8a8a7 Suppress unused-function warning 2022-10-24 10:08:26 +02:00
v4hn
2b2689e8d7 Use catkin_INCLUDE_DIRS as system includes
... to suppress warnings outside the code base
2022-10-24 10:07:38 +02:00
Robert Haschke
28fb974adb Remove MoveIt compatibility code 2022-10-23 22:16:58 +02:00
v4hn
6df359ed3b Do not dictate C++ standard
C++14 is default in clang/gcc anyway and latest log4cxx requires C++17.
Qt on Ubuntu 18.04 sets C++11. Hence we use MoveIt's cmake macro to ensure C++14 at least.
2022-10-23 22:15:23 +02:00
Niklas Fiedler
30512bcbb4
Report 1st collision pair for invalid IK solutions (#376) 2022-07-22 13:38:05 +02:00
Wyatt Rees
1e65027b26
Add MoveIt IK cost function to Cartesian path solver (#375) 2022-07-21 20:00:30 +02:00
Robert Haschke
3b438f9b1c Merge ROS1 fixes 2022-06-15 16:44:38 +02:00
Jafar
e923fbc0c6
Fix Task's move constructor (#371)
* Add unit test
* Fix TaskPrivate's move assignment operator
* Slightly simplify code

Co-authored-by: Robert Haschke <rhaschke@techfak.uni-bielefeld.de>
2022-06-14 22:13:19 +02:00
Wyatt Rees
60229db010
Add KinematicsQueryOptions property in CartesianPath solver (#370) 2022-06-03 19:39:51 +03:00
JafarAbdi
d6284ea63c Remove macros to check supported features 2022-05-26 21:58:48 +00:00
JafarAbdi
11b81856d5 Merge d2918f130d 2022-05-26 21:58:24 +00:00
Jafar
0128cd9250
Use moveit_configs_utils for launch files (#365) 2022-05-26 19:29:08 +03:00
Tyler Weaver
a89d9928d4
Add launch_testing_ament_cmake as a test depend (#364)
Signed-off-by: Tyler Weaver <tyler@picknik.ai>
2022-05-24 16:23:14 +03:00
AndyZe
36459e3869 Alphabetize package.xml's and CMakeLists 2022-05-09 08:06:15 -05:00
Robert Haschke
d2918f130d
Pruning: Relax too strong assertion: PRUNED => !ARMED (#340) 2022-05-08 11:56:17 +02:00
Robert Haschke
9026ac8746
Make TimeParamerization configurable (#339) 2022-05-08 11:54:05 +02:00
JafarAbdi
dfb5769b0d Fix rolling compatibility with jammy
Fix compile warning
Update clang-format version to 12
2022-05-04 12:40:07 -05:00
Christian Petersmeier
e57d198dd7 Use verbose delimiters for source code instead of line numbers 2022-03-10 13:46:01 +01:00
Robert Haschke
813d9a7de7 Simplify file names, move tutorials into subfolder 2022-03-10 13:33:10 +01:00
Christian Petersmeier
60bc5262f5 PickPlace tutorial, stage extension howto guide 2022-03-10 13:33:10 +01:00
Christian Petersmeier
13128390b6 add cartesian and first steps tutorials 2022-03-10 13:33:10 +01:00
Christian Petersmeier
f082fb772b Add property tutorial, restructure tutorial files 2022-03-10 13:33:10 +01:00
Christian Petersmeier
1f330bed89 Reformat Documentation
- create tutorial, how-to-guide, topic and reference chapters
  - move implementation examples from api documentation into
    how-to-guides
  - create a documentation overview on the first page
2022-03-10 13:33:10 +01:00
Robert Haschke
940a843f05 Rework stages doc 2022-03-10 13:33:06 +01:00
Robert Haschke
096c671887 Pruning: Relax too strong assertion: PRUNED => !ARMED
If two Connect stages are sequenced, both sides can become ARMED.
However, that means that the wave of PRUNED status updates, shouldn't
overwrite a present ARMED state.
Added unit test.
2022-03-04 15:01:19 +01:00
Robert Haschke
8d7225d3b6 Connect: better document suppressing recursive loop 2022-03-04 15:01:19 +01:00
v4hn
6d104e837e polish: FixedState supports collision checking 2022-03-04 14:41:00 +01:00
v4hn
0a3dd3a314 properly set comment markAsFailure without prior comment 2022-03-04 14:39:53 +01:00
Robert Haschke
5310f9063a operator<< for Interface::Direction 2022-03-04 13:13:01 +01:00
Robert Haschke
ee7cec2aab FixedState: ignore_collisions=false
Check collisions for FixedState's scene and report failure if needed.
Optionally, disable the check via the property ignore_collisions=true.
2022-03-03 17:01:34 +01:00
Robert Haschke
6ffc508225 Finetune solvers documentation 2022-03-03 10:50:30 +01:00
Robert Haschke
e77fa83a42 Rework core documentation 2022-03-03 10:50:30 +01:00
Christian Petersmeier
9103af2704 Rework python documentation 2022-03-03 10:50:30 +01:00
Robert Haschke
95f24747b0 Pick+Place: Correctly configure forwarding of "pregrasp" property
... from Grasp to UnGrasp stage
2022-03-03 10:50:30 +01:00
Robert Haschke
d90b566b08 GeneratePlacePose: Remove property "ik_frame" from stage
- Instead, set ik_frame property on solution from passed object (frame).
- Allow subframes to be used as "object" frames
2022-03-03 10:50:30 +01:00
Robert Haschke
ca38d11303 Enable InterfaceState's copy operator 2022-02-02 20:51:58 +01:00
Robert Haschke
4b9e85395d Fix pre-commit: python formatting 2022-01-07 16:20:42 +01:00
Robert Haschke
b28290c5b9 Rework doc for properties.cpp
- Use simple description strings
  Only for multi-line doc strings, use C++11 raw string syntax `R"(...)"`
- Auto-generate signature
- Name arguments via `py::arg()`
2022-01-07 16:20:42 +01:00
Robert Haschke
11686468ad Update rosdoc + sphinx config 2022-01-07 16:20:42 +01:00
Robert Haschke
cfcc7ba112 Improve top-level descriptions 2022-01-07 16:20:42 +01:00
Robert Haschke
603e337c77 fix typo 2022-01-07 16:20:42 +01:00
Robert Haschke
d732bfe3eb Fix demo/scripts/fixed_state.py 2022-01-07 16:20:42 +01:00
cpetersmeier
1b1dadb94a core python docs
- add python docs to core classes
    - rework whats included in the docs and what not
2022-01-07 16:20:42 +01:00
cpetersmeier
923022c13b stages docs and bindings
- pybind bindings for all the examples
    - correctly format docstrings
2022-01-07 16:20:42 +01:00
cpetersmeier
f7c2fadde6 core docs, mwe monitoring generator 2022-01-07 16:20:42 +01:00
cpetersmeier
65bc0a8703 expand core docs, add detailed examples 2022-01-07 16:20:42 +01:00
cpetersmeier
4f53663756 add docstrings and mwe's 2022-01-07 16:20:42 +01:00
cpetersmeier
5207a8b2b5 comply to google format + add docstrings 2022-01-07 16:20:42 +01:00
cpetersmeier
0e7f2d5981 add docstrings, custom signatures 2022-01-07 16:20:42 +01:00
cpetersmeier
d1c947c973 add python docstrings 2022-01-07 16:20:42 +01:00
cpetersmeier
136c5c425e sphinx configuration
- Remove warning, originating from intersphinx configuration.
- Add .rst files for the api documentation.
2022-01-07 16:20:42 +01:00
Robert Haschke
a08face4a0 Fixup: Provide wrapper for moveit::core::MoveItErrorCode 2022-01-07 16:20:04 +01:00
Robert Haschke
86093be94a Merge branch 'master' into wip-python-api 2022-01-07 16:20:00 +01:00
Robert Haschke
b2c990b675 core: export rviz_marker_tools dependency 2022-01-07 14:35:15 +01:00
Robert Haschke
c7b2067b86 Merge PR #309: Fix Pruning 2022-01-05 20:19:51 +01:00
Robert Haschke
5956e70956 Merge PR #311: fix Fallbacks 2022-01-05 19:49:38 +01:00
Robert Haschke
4cc1f567d6 FallbacksPrivateConnect
Implement Fallbacks behavior for children of type Connecting.
All other connect-like children are currently infeasible to handle,
because we cannot forward a single job, i.e. a pair (from, to)
to the next child, but only individual states.
However, passing states, will cause creation of undesired state pairs
as jobs in subsequent children.
2022-01-05 18:16:34 +01:00
Robert Haschke
7a04a9f603 ParallelContainerBasePrivate::propagateStateTo*All*Children
rename method to emphasize that state updates are propagated to all children
2022-01-05 16:45:57 +01:00
Robert Haschke
986d3c8766 FallbacksPrivateCommon: shared between Generator + Propagator 2022-01-05 16:45:57 +01:00