Commit Graph

105 Commits

Author SHA1 Message Date
Robert Haschke
a745f55ab7 fix compiler warnings in release mode 2018-10-17 01:55:28 +02:00
Robert Haschke
1787a66d37 fix compiler warnings 2018-10-16 23:14:58 +02:00
Robert Haschke
f2573e9bfd fix include order
Local headers should be preferred over those from underlay.
Consequently use target_include_directories() to properly define include order.
2018-09-25 13:30:53 +02:00
Robert Haschke
c2dd28abae rework storing of solutions
- solutions_, failures_ as SolutionBaseConstPtrs in StagePrivate
- replace processSolutions() / processFailures() by direct const-access to storage containers
- generic sendForward(), sendBackward(), spawn(), connect() methods in StagePrivate
- reuse StagePrivate's sendForward(), sendBackward(), spawn() in containers

- store created InterfaceStates in StagePrivate::states_
- Interface: ordered<InterfaceState*> (only store pointers)
  allows for common handling of states of valid and failure solutions

- remove additional state+solution storages
- containers: internal->external state mapping as InterfaceState* -> InterfaceState*
2018-05-30 21:02:50 +02:00
Robert Haschke
eb50aaed0e SolutionBase: rename 'name' to 'comment' 2018-05-30 20:25:42 +02:00
Robert Haschke
19fa7349d3 Task: only accept containers 2018-05-18 17:42:34 +02:00
Robert Haschke
320fe7e444 fix mem leaks 2018-04-27 12:06:14 +02:00
Robert Haschke
cd88b22469 update trail in both directions:
- show new steps if current_state_ advanced
- hide steps if current_state_ reverted
2018-04-15 11:25:01 +02:00
Robert Haschke
534985bdbb show start / end scene for empty trajectories 2018-04-15 11:25:01 +02:00
Robert Haschke
962fe2a42d reworked TaskSolution visualization
- code simplification
- allow slider interaction at any time
- keep last frame visible if animation finished
- animating_ is true iff animation is running
  (previously it was also used to indicate the end of an animation cycle)
2018-04-15 11:25:01 +02:00
Robert Haschke
24e8b95203 TaskSolutionVisualization: solution_to_display_ -> next_solution_to_display_ 2018-04-15 11:25:01 +02:00
Robert Haschke
853fa86e37 switch markers when showing next subtrajectory 2018-03-26 00:14:32 +02:00
Robert Haschke
b316a2e9c4 allow marker pose updates during trajectory display
moved marker_visual_ from TaskDisplay to TaskSolutionVisualization
2018-03-26 00:14:32 +02:00
Robert Haschke
714117a48a reworked marker creation 2018-03-26 00:14:28 +02:00
Robert Haschke
5a55a5949b Merge branches 'bug-fixes', 'gui' and 'pick-stage' 2018-03-24 07:32:20 +01:00
Robert Haschke
936681f4c3 allow arbitrary (planning scene) frames for markers 2018-03-24 07:31:30 +01:00
Robert Haschke
56c2ef3fbb save settings for solution sorting 2018-03-24 07:03:32 +01:00
Robert Haschke
2451d0c4d5 save panel settings 2018-03-23 17:25:49 +01:00
Robert Haschke
3d07e34522 highlight currently active solution part 2018-03-23 17:25:49 +01:00
Robert Haschke
0fd5f3c1b3 auto-expand newly inserted task-pipelines 2018-03-23 17:25:49 +01:00
Robert Haschke
3ce0bc7dee MetaTaskListModel: don't remove top-level items 2018-03-23 17:25:49 +01:00
janEbert
1f6bea9438 icons to visualize logic flow 2018-03-23 17:25:49 +01:00
Robert Haschke
bffe5f9a55 position marker nodes w.r.t. planning frame 2018-03-23 17:08:06 +01:00
Robert Haschke
d816a13362 fix segfault: always createMarkers()
... to have all the scene nodes properly defined
in case namespace groups will be enabled later on
2018-03-23 17:08:06 +01:00
Robert Haschke
3fe3034410 MarkerVisualization: improve comments
- renamed showMarkers() -> addMarkers()
- MarkerVisualizationProperty: renamed visible_markers_ -> hosted_markers_

Hosted markers are not neccessarily visible,
only if the corresponding namespace group is enabled.
2018-03-23 17:08:06 +01:00
Robert Haschke
ceaf896bf8 position scene node w.r.t. fixed frame 2018-03-23 11:22:23 +01:00
Robert Haschke
0494f1c93b [Tree|Flat]MergeProxyModel: cleanup index mapping when removing rows 2018-03-23 11:22:23 +01:00
Robert Haschke
3adc516037 fixed spurious rviz crash? 2018-02-25 20:28:13 +01:00
v4hn
4f2b38f02d add missing headers 2018-02-21 14:56:51 +01:00
Robert Haschke
8184156575 rviz plugin: fix segfault
Postpone setup of subscribers until robot model is successfully loaded.
Otherwise the scene used in task models is undefined.
2018-02-16 16:01:05 +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
3b26d2777a RemoteTaskModel: insert solution also when received on solution topic 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
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
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
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
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
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