Commit Graph

72 Commits

Author SHA1 Message Date
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
Robert Haschke
5089de890f bug fixes
- only attempt to retrieve solution if remote was not yet destroyed
- setting get_solution_client is neccessary only once (pointer never changes)
- more reliable topic handling + status feedback
2018-02-04 09:00:54 +01:00
Robert Haschke
3e788084b2 improve solution visualization / navigation
- locking: suppress interrupting current solution display when navigating solutions
- display end scene at the end of a solution display
- allow to display multiple solutions (its markers)
2018-02-04 09:00:54 +01:00
Robert Haschke
30f6ade636 marker visualization 2018-02-04 09:00:54 +01:00
Robert Haschke
f7ae7756cc fix cmake file 2018-02-04 09:00:54 +01:00
v4hn
d7719e721f add full license information
so dull... but for the matter of completeness
2017-12-12 21:24:32 +01:00
v4hn
7319711973 reduce catkin_lint complains in visualization 2017-12-08 20:56:12 +01:00
Robert Haschke
0246d60de9 DisplaySolution: struct to unify all data corresponding to a sub trajectory 2017-11-30 18:15:47 +01:00
Robert Haschke
d4c1a9de5c cleanup RemoteTaskModel
update all solution's data in solution model
2017-11-30 15:38:58 +01:00
Robert Haschke
6ff5d453be use std::unique_ptr 2017-11-24 20:10:56 +01:00
Robert Haschke
40cfceb557 fix Trusty/Indigo build 2017-11-24 15:12:38 +01:00
Robert Haschke
1bc485658e Merge branch 'wip-visualization' into wip-refactor 2017-11-24 13:40:43 +01:00
Robert Haschke
b48ba91a75 cmake compatbility to 2.8.12 2017-11-24 13:37:50 +01:00
Robert Haschke
eb1569efc3 renamed TaskListModelCache -> MetaTaskListModel 2017-11-24 11:24:18 +01:00
Robert Haschke
9dd9bd5ac4 TaskPanel: create new Display if neccessary 2017-11-24 11:24:18 +01:00
Robert Haschke
9032dabca5 navigate solutions 2017-11-24 11:24:18 +01:00
Robert Haschke
1f7184b755 ui tuning
- TabWidget for Task Tree, Settings, ...
- adjust width of columns in task tree
- right-align numbers
- some icons
2017-11-24 00:41:20 +01:00
Robert Haschke
3faea3b63a use MergeProxyModels
- derive TaskListModel from FlatMergeProxyModel
- TaskDisplay owns its TaskListModel
- TaskListModelCache as TreeMergeProxyModel
2017-11-24 00:40:48 +01:00
Robert Haschke
92ce7e7efe MergeProxyModel 2017-11-24 00:40:48 +01:00
Robert Haschke
c6c97e1836 share scene/robot model between TaskDisplay and associated TaskListModel 2017-11-20 00:57:25 +01:00
Robert Haschke
957b10a7a8 don't export SerialContainer as pluginlib class
... it's imported as builtin
2017-11-20 00:07:27 +01:00
Robert Haschke
936cdc4945 TaskListModel: map all encountered source indexes 2017-11-19 23:50:22 +01:00
Robert Haschke
fdc0fa012a restore panel visibility when enabling 2017-11-19 22:26:09 +01:00
Robert Haschke
428bdd7d0c fixed visibility update of scene nodes
All scene nodes are hidden if
- there is no solution to display
- or if animation finished and neither the panel nor the trail are enabled

Hiding scene nodes is done by detaching them from their parent
2017-11-19 22:26:09 +01:00
Robert Haschke
d5627c0c39 cleanup 2017-11-19 22:26:05 +01:00
v4hn
81b1281c02 add myself as maintainer & travis recipient 2017-11-13 15:39:30 +01:00
v4hn
720c08354e fix qt4 build error due to known moc problem
qt4's moc is known to have problems with C preprocessor directives.

Documented e.g. here:
https://forum.qt.io/topic/37882/qt-4-8-qt_version_check-and-moc-workaround
2017-11-13 14:56:35 +01:00
Robert Haschke
df1bbc5d32 travis config + fixes 2017-11-13 01:33:33 +01:00
Robert Haschke
e9ba2248f8 Merge remote-tracking branch 'origin/master' into wip-refactor
- cmake 3.1 required for CMAKE_CXX_STANDARD
- more old-style signal/slots for Qt4 compatibility
2017-11-13 00:07:23 +01:00
Robert Haschke
d0e3783d4e removed statistics from task description
- make TaskStatistics a latched topic too
- subscribing to topics in order (1. description, 2. statistics, 3. solution)
  should ensure that we receive those latched messages in this order
2017-11-12 21:42:48 +01:00
Robert Haschke
12095405f4 DisplaySolution: make scene representing the end state
- start state is accessible via scene->getParent()
- allows to show the final state
2017-11-12 21:42:48 +01:00
Robert Haschke
67b5a99d8d receive task solutions
- remove parent_id from StageStatistics message
2017-11-12 21:42:48 +01:00
Robert Haschke
9c5ddd3f6d split repo into different ROS packages: msgs, core, visualization 2017-11-12 21:42:48 +01:00
v4hn
2ad6e1d622 visualization: qt4 support for signal connections 2017-11-12 12:27:35 +01:00