Robert Haschke
9ee653453d
Container: abort traversal with false return value of processor
...
So far, returning false from the processor function, just skipped further traversing the current child (depth-wise).
Now, traversal is completely aborted, even not traversing the remaining siblings of the current child.
Having a single boolean return value, we cannot distinguish both cases.
We need the new behaviour for 8061945c15bea22e8f8899c987bc28e3542885aa.
2020-03-03 17:57:06 +01:00
Mark Moll
0d6f79050a
don't install PIMPL header files ( #119 )
2020-03-03 17:21:54 +01:00
Markus Vieth
534d520a04
Add return value to Task::execute ( #136 )
2020-02-20 11:31:51 +01:00
Aris Synodinos
8ac9957b55
Added C++11 flags for MOVEIT_MASTER check ( #129 )
2020-02-12 21:59:33 +01:00
Robert Haschke
463486257b
Merge #120 : Add computation timing
2020-02-06 16:18:49 +01:00
Jafar Abdi
fa9b177575
transmit and display computation in rviz
2020-02-06 16:18:20 +01:00
Jafar Abdi
aa11b66824
use runCompute()
2020-02-06 16:17:55 +01:00
Jafar Abdi
89fea00b33
Stage::runCompute() to measure computation time
2020-02-06 16:17:04 +01:00
Robert Haschke
ba815cff34
Task: don't publish solutions by default
...
Having multiple solutions, automatic publishing of intermediate solutions is confusing.
One never knows, which one is the final one. If desired, the user should setup a hook for this.
2020-01-11 09:00:34 +01:00
Henning Kayser
c1f6ca8e84
Expose SolutionCallback API in Task ( #121 )
2020-01-11 08:33:57 +01:00
v4hn
233d63aa7a
avoid deprecation warnings of MoveIt master branch
...
Use new methods
- moveit::core::isEmpty
- moveit::core::CartesianInterpolator::computeCartesianPath
2019-12-13 11:29:02 +01:00
Robert Haschke
acddc268ed
compatibility to MoveIt master branch
2019-11-27 17:43:57 +01:00
Robert Haschke
3887b32ba1
fix MoveRelative::getJointStateFromOffset
...
Fix for #114 : Accessing variable indexes was screwed.
2019-11-26 21:08:31 +01:00
Aris Synodinos
145bec1ed3
Added cost calculation in move_relative ( #108 )
2019-11-05 17:38:25 +01:00
Robert Haschke
facdc8e278
update RobotState in getJointStateGoal()
2019-11-02 22:02:56 +08:00
Robert Haschke
1ba4bc4508
MoveTo/MoveRelative: report failure on invalid trajectories ( #107 )
2019-10-22 12:06:11 +02:00
Robert Haschke
975491fba9
Fixup: adding cost calculations to connect and move_to
2019-07-26 11:05:52 +02:00
Robert Haschke
4225671ae4
PipelinePlanner: always forward trajectory
...
(also in case of failure)
2019-07-19 13:45:07 +02:00
Robert Haschke
6ff1a5162f
Fixup: adding cost calculations to connect and move_to
...
Need to handle nullptr trajectories.
2019-07-19 13:45:07 +02:00
Michael Görner
f7b259259e
Introduce clang-format ( #102 )
...
* fix catkin_lint issues
* introduce clang-format config and apply it
2019-07-18 11:04:35 +02:00
Tyler Weaver
7ca49bc29b
adding cost calculations to connect and move_to
2019-07-12 20:29:08 +02:00
v4hn
0b47224ef1
micro-fix whitespace
...
Let's use clang-format...
2019-07-12 13:51:21 +02:00
Robert Haschke
95455c2a26
fix Task::operator=(Task&&)
...
To move a task instance to another one, it's not sufficient to swap all task members,
but we also need to adapt all back pointers, i.e. me_ and parent_ pointers of children,
to point to the (swapped) task instances.
2019-06-04 14:20:47 +02:00
Robert Haschke
26f679bd8e
relax assertion
2019-05-16 18:12:20 +02:00
Robert Haschke
6cf0cbb4c9
improve comments
2019-05-16 18:02:08 +02:00
Michael Görner
267c214288
Overload setGoal to accept map of joint values as argument ( #87 )
2019-05-10 14:41:46 +02:00
Robert Haschke
fee73bcd78
Merge branch 'fix-interface-deduction' into master
2019-05-03 01:53:57 +02:00
Robert Haschke
11fb15fd0c
fix clang-tidy warnings
...
- virtual functions used in constructor / destructor
- captured variable in lambda expression not used
- unhandled enums in switch
2019-05-03 01:53:17 +02:00
Robert Haschke
102c80dda1
ParallelContainer: fix interface error reporting
...
need to separately check for start/end interface
2019-05-03 01:06:56 +02:00
Robert Haschke
d9a38f46ab
SerialContainer: fix nested interface resolution
...
We need to distinguish two cases for how the interface of a nested serial container is determined:
1. from its children
2. from its (outer) context
As long as the interface is not fully resolved, requiredInterface() returns UNKNOWN.
After pruning, the first/last child's interface is remembered and reported instead.
2019-05-03 01:06:56 +02:00
Robert Haschke
fd1aa38a39
fix unit test definitions
2019-05-03 01:06:56 +02:00
Robert Haschke
135951f690
replace assertion by exception
2019-05-03 01:06:56 +02:00
Robert Haschke
f402cdec5e
rename [INPUT|OUTPUT]_IF_MASK -> [START|END]_IF_MASK
2019-05-03 01:06:56 +02:00
Robert Haschke
28703af384
improve comments
2019-05-03 01:06:56 +02:00
Robert Haschke
ea75070155
cherry-pick changes from boost-python branch
...
stages: default arguments for constructors
properties: make iterator public
2019-05-02 14:55:34 +02:00
Robert Haschke
d4dfcf962b
FixedCartesianPoses
2019-05-02 14:55:34 +02:00
Robert Haschke
cef6eb64bb
ContainerBase::remove(Stage* child)
2019-05-02 14:55:34 +02:00
Robert Haschke
c62938a1c4
SimpleGrasp: only use generator if it's defined
...
UnGrasp doesn't need a grasp generator
2019-05-02 14:55:34 +02:00
Robert Haschke
29ecec7403
vary place pose depending on object shape
...
- boxes, cylinders: flip up/down, rotate about world's z
- spheres: rotate about world's z
2019-05-02 14:55:34 +02:00
Robert Haschke
168ff6f3f4
use simple InterpolationPlanner to open/close gripper
2019-05-02 14:55:34 +02:00
Robert Haschke
4063a3ca29
fix SimpleUnGrasp
...
- ComputeIK needs to be first sub stage for both, grasping and ungrasping
- correctly re-enable object collision checking
2019-05-02 14:55:34 +02:00
Robert Haschke
0fe18799d9
GeneratePlacePose
2019-05-02 14:55:34 +02:00
Robert Haschke
6de1c8dbe5
ContainerBase::findChild()
2019-05-02 14:55:34 +02:00
Robert Haschke
39427f89bf
Merge branches 'fix-interface-deduction' ( #84 ), 'compute-ik-default-timeout' ( #80 ),
...
'fix-visualization' (#76 ), and master-improvements (#81 )
2019-03-11 14:09:03 +01:00
Robert Haschke
c56c7294e4
fix pruning
...
Never augment already derived interfaces, only prune!
2019-03-11 13:54:54 +01:00
Robert Haschke
48d93e803d
improve SerialContainerPrivate::pruneInterface
2019-03-11 13:54:54 +01:00
Robert Haschke
905b6a3b0c
move validateConnectivity() from ContainerBase to StagePrivate
...
... to allow specific stage types (PropagatingEitherWay) implementing their own validation
No need for a public interface.
2019-03-11 13:54:54 +01:00
Robert Haschke
10c7a9cfd7
prune UNKNOWN *and* PROPAGATE_BOTHWAYS
...
If PropagatingEitherWay's interface is not met in *both* directions (but only one),
in BOTHWAY mode, issue a warning. Otherwise handle both, AUTO and BOTHWAY mode,
in the same fashion when resolving interfaces.
TODO: move validateConnectivity() in StagePrivate.
default action = default action from ContainerBase.
PropagatingEitherWay: issue warning for case above
2019-03-11 13:54:54 +01:00
Robert Haschke
f831fe5483
fix comments + typos
2019-03-11 13:54:54 +01:00
Robert Haschke
7d25c55978
Container: more unit tests for interface detection / validation
2019-03-11 13:54:54 +01:00