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
7d5f9fe6e3
Fix clang-tidy warnings
2022-11-02 18:44:38 +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
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
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
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
Robert Haschke
b82b70ed64
FallbacksPrivate::nextChild()
...
... factoring out functionality shared between FallbacksPrivateGenerator
and FallbacksPrivatePropagator to switch to next child in nextJob().
2022-01-05 16:37:46 +01:00
Robert Haschke
7af3d8ebd7
Improve readability
2022-01-05 16:37:46 +01:00
Robert Haschke
b2c116edab
reset(new Interface()) -> std::make_shared<Interface>()
2022-01-05 16:37:46 +01:00
Robert Haschke
442d39ad3e
Improve comments
2022-01-05 16:37:46 +01:00
Robert Haschke
b2056745a8
Generalize connectStageInsideFallbacks
...
Let's consider the following simple situation, where generators produce solutions in the given order.
GEN 1 3
Fallbacks |X
GEN 2 4
When passing state 4 to the Fallbacks' connector, it forms pending pairs with both 1 and 3.
Thus, the container needs to check whether 1-4 or 3-4 was processed when receiving a success or failure,
to correctly forward the failed one to the next child.
2022-01-05 16:37:46 +01:00
Robert Haschke
184fab8e0a
GeneratePlacePose: add property 'allow_z_flip'
2022-01-04 15:58:19 +01:00
Robert Haschke
9630f4d789
ComputeIK: Improve markers
...
- always provide eef markers (also in case of success)
- tint failures in red
- use different names for "ik frame" and "target frame" markers
- reduce code duplication
2022-01-04 15:57:34 +01:00
Robert Haschke
91fe791bdb
Add comment
2022-01-04 15:12:06 +01:00
Robert Haschke
72510818c8
Export libmoveit_python_tools.so
2022-01-04 15:11:23 +01:00
Jafar Abdi
7dbe0b87e1
Return MoveItErrorCode from task::plan ( #319 )
...
... to know whether the plan failed due to timeout, preemption, or actual planning failure
2022-01-02 15:32:37 +01:00
v4hn
84f96ec74c
MoveRelative: Interpret direction relative to IKFrame
...
bugfix
2021-12-20 10:19:52 +01:00
v4hn
191ff253fd
add tests for MoveRelative
2021-12-20 10:19:52 +01:00
Robert Haschke
4be448641f
Improve debug output
...
- printChildrenInterfaces(): fix/add usage
- printPendingPairs(): full colorization according to status
2021-11-28 18:28:20 +01:00
Robert Haschke
b4a9e2033d
Stage::reset() should reset total_compute_time_ ( #310 )
2021-11-25 19:47:00 +03:00
Robert Haschke
e296bd7aed
Simplify: job_has_solutions_
...
Just set a flag when we received a full solution
2021-11-25 07:37:28 +01:00
Robert Haschke
7237e81547
Rework FallbacksPrivate*
...
Further factorize and simplify FallbacksPrivate classes employing ideas from @v4hn.
The key difference between the variants his how they advance to the next job.
Thus, the only virtual method required is nextJob().
2021-11-25 07:36:32 +01:00
Robert Haschke
070c6e9ab6
Disable failing test FallbacksFixtureConnect.connectStageInsideFallbacks
...
... as we are now missing the implementation for CONNECT interfaces
2021-11-25 07:35:28 +01:00
Robert Haschke
8dd8022ef9
Factorize implementation of FallbacksPrivate into 3 classes
2021-11-24 21:17:49 +01:00