Robert Haschke
a3a8f1a9d2
improved directional (forward/backward) access to interfaces
...
- TraverseDirection -> Interface::Direction
- StagePrivate: pullInterface(), pushInterface()
- trajectories<dir>(SolutionBase) -> SolutionBase::trajectories<dir>()
2018-02-12 23:39:46 +01:00
Robert Haschke
73f509c3ba
simplify usage of ContainerBasePrivate::copyState()
2018-02-12 23:39:46 +01:00
Robert Haschke
eaaaf07214
exploit default argument for Interface constructor
2018-02-12 23:39:46 +01:00
Robert Haschke
cf71d2f0d2
unify use of buffer interfaces in containers
...
All containers need to buffer their children's sendBackward/sendForward states.
2018-02-12 23:39:46 +01:00
Robert Haschke
050a4c3f86
basic framework to display stage properties
2018-02-12 23:39:07 +01:00
Robert Haschke
52904f65a2
bug fixes
...
- correctly keep display's Tasks property in sync with panel
(insertion position didn't match to panel)
- disable actions depending on context
2018-02-12 23:37:30 +01:00
janEbert
193d3fef67
TaskPanel: separate widget classes
...
TaskPanel, TaskView, TaskSettings, ...
2018-02-12 23:37:30 +01:00
Robert Haschke
9bdfcc8c23
expose Task::initScene()
...
... to allow use of local scene
2018-02-12 23:37:19 +01:00
Robert Haschke
e9d0a05f75
default arg in header
2018-02-12 23:37:19 +01:00
Robert Haschke
3a4dc6755b
Merge branches 'fix-remote-task-model', 'wip-cost-ordering' and 'wip-properties'
2018-02-12 23:35:01 +01:00
Robert Haschke
fe2c4f312e
serialize stage properties
2018-02-12 22:45:15 +01:00
Robert Haschke
5ff78f653e
signal callback function
...
... to allow for syncing with rviz::Property
2018-02-12 22:45:15 +01:00
Robert Haschke
c3eead0115
allow only a single inititialization source
2018-02-12 22:45:15 +01:00
Robert Haschke
5c43d700a8
update state priorities in a container-specific fashion
...
Reorder interface list on priority updates.
This requires the InterfaceState to store a pointer to the owning Interface.
2018-02-12 22:44:18 +01:00
Robert Haschke
facd6438c9
Interface: order states by priority
...
Priority is (depth of solutions, accumulated cost along trace).
2018-02-12 22:44:18 +01:00
Robert Haschke
d0351698a6
single map internal_to_external
...
There is no need to distinguish between starts and ends when mapping
states, because start/end states need to be disjoint sets.
2018-02-12 22:44:18 +01:00
Robert Haschke
e6af069139
SerialContainer: traverse solutions w/o stopping stage
...
Always traverse from current solution to the start/end of a complete
path and only call the callback once for the whole trace.
2018-02-12 22:44:18 +01:00
Robert Haschke
6a62f6be76
default argument for NotifyFunction in Interface constructor
2018-02-12 22:44:18 +01:00
Robert Haschke
3b26d2777a
RemoteTaskModel: insert solution also when received on solution topic
2018-02-12 22:36:58 +01:00
Robert Haschke
244a7d147b
sort serial solutions before insertion
2018-02-12 22:36:58 +01:00
Robert Haschke
ca899d6a43
cleanup findById: fixup for 'allow handling of failures'
...
fixup for 014f291defb124a62bb66b78570356ee9e74a7ee
use SFINAE magic to distinguish both types of findById
unfortunately crashes gcc 5, clang works
2018-02-12 22:36:58 +01:00
Robert Haschke
29577515a0
cost ordering for solutions
2018-02-12 22:36:56 +01:00
Robert Haschke
c84fa4cdd6
cost ordered API
2018-02-12 22:36:12 +01:00
Robert Haschke
1403fc9830
fixed some clang warnings
2018-02-12 22:36:12 +01:00
Robert Haschke
b60047318a
code simplification
...
Usually, if we receive stage statistics there are some changes as well.
Hence, always emit notify signal in favour of complex change detection.
2018-02-12 22:36:12 +01:00
Robert Haschke
2184450bd6
count all failures for statistics
2018-02-12 22:36:12 +01:00
Robert Haschke
7a13d79bc4
example setting solution markers
2018-02-12 22:36:12 +01:00
Robert Haschke
97bb6ef2c6
allow handling of failures
...
- store "failure" solutions to facilitate debugging
- Introspection assigns solution IDs as soon as they are created in a stage
Thus, solution IDs represent their creation order.
In contrast, the order of publishing (in StageStatistics) should
represent the cost order.
- Storing failures is disabled if Introspection is not available.
2018-02-12 22:35:58 +01:00
Robert Haschke
57cd11e3a9
Wrapper::compute: return true if new solutions are found
2018-02-12 22:33:39 +01:00
Robert Haschke
38f7696acf
ComputeBase::addTrajectory -> ComputeBasePrivate::addTrajectory
...
Forbid indirect access to trajectories_.
Only official compute classes have access.
2018-02-12 22:33:39 +01:00
Robert Haschke
5d5a74ecd0
improved realtime display of solutions
...
stay in sync with realtime by keeping small time differences
solution visualization: common setVisibility()
2018-02-12 22:33:39 +01:00
Robert Haschke
5c1cad14df
Merge branches 'fixes', 'wip-drag-n-drop', 'wip-ikstage' and 'wip-marker-vis'
...
resolved conflicts:
core/include/moveit/task_constructor/container.h
core/src/container.cpp
core/src/stages/generate_grasp_pose.cpp
visualization/motion_planning_tasks/src/task_display.cpp
visualization/motion_planning_tasks/src/task_panel_p.h
2018-02-04 21:36:01 +01:00
Robert Haschke
32660670a7
correctly pass on StageFactory
2018-02-04 21:30:25 +01:00
Robert Haschke
17683b12c9
more exported stage plugins: CurrentState
2018-02-04 21:30:25 +01:00
Robert Haschke
d9be19bbe8
re-enable drag-n-drop to edit task pipeline
2018-02-04 21:30:25 +01:00
Robert Haschke
faa7b38ff9
fix flaky "deletion" unittest
2018-02-04 20:59:16 +01:00
Robert Haschke
015dc2314a
postpone panel instantiation
...
... to ensure that only a single instance is created
(something not really supported/intended by rviz)
2018-02-04 20:37:47 +01:00
Robert Haschke
5adac3f21f
auto-load TaskPanel with TaskDisplay
2018-02-04 20:26:07 +01:00
Robert Haschke
736136dd9f
collision test for ee group
2018-02-04 09:01:45 +01:00
Robert Haschke
3fd096c8e6
fix IK stage: insert different solutions as different scenes
2018-02-04 09:01:45 +01:00
Robert Haschke
57d907908d
better names for frame and transform variables
2018-02-04 09:01:45 +01:00
Robert Haschke
fe05894709
renamed GenerateGraspPose::setGraspFrame() to setToolToGraspTF()
2018-02-04 09:01:45 +01:00
Robert Haschke
0918ad6897
implement IK as separate stage
...
... wrapping another stage
2018-02-04 09:01:45 +01:00
Robert Haschke
b6959170db
derive WrapperBase from ContainerBase
...
While ParallelContainers can directly promote their child solutions as
their own, a Wrapper needs to modify those solutions. Hence, Wrappers
should be derived directly from Container.
2018-02-04 09:01:45 +01:00
Robert Haschke
e4ad7a0753
removed Stage::validate()
...
... only was checking for implies(a, a) which is always true
2018-02-04 09:01:45 +01:00
Robert Haschke
104e52eb48
promise to not modify solutions
2018-02-04 09:01:45 +01:00
Robert Haschke
6f95642a5a
fix segfault
2018-02-04 09:01:40 +01:00
Robert Haschke
70fadbef11
fixed memory leak
2018-02-04 09:01:40 +01:00
Robert Haschke
32314d3532
consistently use double for costs
2018-02-04 09:01:40 +01:00
Robert Haschke
f8952bb712
introducing process_id
...
The task id was not unique enough to distinguish different tasks.
When a task publisher is killed and restarted, it usually comes up with
the same task id. However, visualization doesn't notice this change and
get confused / crashes when receiving task statistics and solutions.
2018-02-04 09:01:40 +01:00