Michael Görner
0eae0e652e
build tests using gmock via catkin_add_gmock ( #148 )
...
Otherwise these suddenly started to fail for me on Lunar Linux...
2020-03-20 20:33:33 +01:00
Michael Görner
d61e1708ce
Add an icon for the RViz interface ( #144 )
2020-03-19 08:46:39 +01:00
v4hn
194715abc6
limit float values in rviz to 4 digits
...
The previous implicit conversion leads to varying cell width.
2020-03-13 12:09:39 +01:00
Robert Haschke
5944c21016
Add qtbase5-dev build dependency ( #142 )
2020-03-05 08:04:50 +01:00
Robert Haschke
5037bc77e7
Use public API only in visualization package
2020-03-03 17:57:06 +01:00
Robert Haschke
7cda8e38d6
add missing Ogre includes
2020-02-06 17:31:10 +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
Robert Haschke
ef6cb1a746
TaskPanel: execute selected solution
2020-01-11 09:15:11 +01: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
Michael Görner
1783587f41
add missing header ( #100 )
...
... for Qt 5.12.3
2019-07-12 17:25:10 +02:00
Robert Haschke
345c183d06
remove redundant nullptr checks before delete
2019-06-04 14:20:47 +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
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
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
2da9e0d722
rework solution msgs
...
- to allow solution wrappers (WrappedSolution, SolutionSequence)
to transmit their comment and markers as well
- introduced new SolutionInfo.msg,
which is the info common to solution wrappers and actual SubTrajectories
2019-02-12 13:57:12 +01:00
Robert Haschke
527ec8edaa
correctly sort upstream_solutions_ in ComputeIK and GeneratePose
...
Reworked cost_queue to correctly sort pointer-like types.
Added unittests for new ValueOrPointeeLess<T> less operator, ordered<T>, and rviz cost ordering.
2019-02-12 03:05:36 +01:00
Robert Haschke
16e97f1caa
TaskView: configure initial expansion state for tasks
2019-02-11 19:37:20 +01:00
Robert Haschke
1ce66c758b
extensible TaskPanel
...
Provide TaskPanel::addSubPanel() to add new sub panels.
Each panel can be activated with an associated QToolButton.
Sub panels, derived from base class SubPanel, automatically load/save their config settings.
All settings are shown in GlobalSettingsWidget (renamed from TaskSettings).
2019-02-11 19:37:20 +01:00
Robert Haschke
6950cf2b8e
create TaskPanel via rviz::VisualizationFrame::addPanelByName()
...
... ensuring that rviz also saves the panel's settings
2019-02-11 19:37:20 +01:00
Robert Haschke
e815fb41c2
RemoteTaskModel: all props read-only
...
... including ones registered in PropertyFactory
2019-02-10 06:21:51 +01:00
Robert Haschke
bb61513cb8
libyaml-based, incremental parsing of properties
...
... ensures display in document order
2019-02-10 06:21:51 +01:00
Robert Haschke
9810e3bb4b
wip: understand event-based, incremental parsing with libyaml
2019-02-10 06:21:51 +01:00
Robert Haschke
e71376743c
yamp-cpp parsing
2019-02-10 06:21:51 +01:00
Robert Haschke
20e951bf63
PropertyFactory::createDefault()
...
... creating a read-only rviz::Property from serialized mtc::Property value
2019-02-10 06:21:51 +01:00
Robert Haschke
4ca794cb86
unify property handling in LocalTaskModel and RemoteTaskModel
2019-02-10 06:21:51 +01:00
Robert Haschke
f9715f0c18
pass PlanningScene + DisplayContext to rviz::Property creation
...
... to allow properties to display scene-specific lists or create rviz markers
2019-01-18 00:11:17 +01:00
Robert Haschke
780e09145e
stage-specific factories for PropertyTreeModel
...
To allow stages to display their properties in a custom fashion, e.g.
to show the end-effector marker for PoseStamped, we need to be able
to register stage-specific factories.
2019-01-18 00:11:17 +01:00
Robert Haschke
3f3c2f6bf9
Update MTC property on changes of rviz property
2019-01-18 00:11:17 +01:00
Robert Haschke
5b8d841094
RemoteTaskModel: show stage properties
2018-11-28 08:16:16 +01:00
Robert Haschke
6d81743a0b
comments
2018-11-28 08:16:16 +01:00
Robert Haschke
5690d68311
fix display of attached objects
...
similar as in https://github.com/ros-planning/moveit/pull/1202
2018-11-23 11:09:56 +01:00
v4hn
9740179f7f
Merge branches 'cleanup-planner-interface', 'connect', 'fix-visualization' and 'rviz-createMarker' into master
2018-10-22 17:31:01 +02:00
Robert Haschke
aeaf497c75
propagate info about config changes to rviz
2018-10-20 23:33:54 +02:00
Robert Haschke
cb0ed11275
cleanup TaskPanel creation
...
automatically remove TaskPanel when last TaskDisplay is closed
2018-10-20 23:33:54 +02:00
Robert Haschke
f6d9bd14f4
remove left debugging stuff
2018-10-20 23:33:54 +02:00
Robert Haschke
be314905a9
fix realtime rviz display
...
In realtime mode, rviz display stopped with the last waypoint and didn't
show the final scene.
2018-10-20 23:33:54 +02:00
Robert Haschke
c3078edc99
use newly provided rviz::createMarker() function
2018-10-20 23:33:03 +02:00
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
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
Robert Haschke
3f93d6c9c3
Merge branches 'wip-solution' and 'wip-interaction' into wip-refactor
2017-11-12 11:44:17 +01:00
Robert Haschke
c1d676589a
display scene corresponding to SubTrajectory
2017-11-12 11:42:29 +01:00
Robert Haschke
8129caa614
TaskSolutionVisualization: added scene, renamed vars
2017-11-12 10:35:59 +01:00
Robert Haschke
c516a537f5
TaskListModel: expand view's item when dropping onto it
2017-11-12 07:01:17 +01:00
Robert Haschke
fc9ca1b624
LocalTaskModel: allow removing of stages
2017-11-12 06:59:34 +01:00
Robert Haschke
953224eba1
LocalTaskModel: populate via drag-n-drop
2017-11-12 06:59:34 +01:00
Robert Haschke
1ae3793a9d
TaskModel / TaskDisplay: keep names in sync
2017-11-12 06:59:34 +01:00
Robert Haschke
2bc1b08a00
TaskDisplay: show tasks
2017-11-12 06:59:34 +01:00
Robert Haschke
81126f5ef6
DisplaySolution class
2017-11-11 19:47:43 +01:00
Robert Haschke
cb85e1b864
publish task info in private namespace: ~/taskid
...
- default task id is empty
- introspection becomes member of task, created with Task::enableIntrospection(true)
2017-11-11 19:47:31 +01:00
Robert Haschke
a43692fc25
renamed Task, Stage msgs
...
- Stage -> StageStatistics + StageDescription
- Task -> TaskStatistics + TaskDescription
- removed GetInterfaceState.srv
2017-11-11 19:46:33 +01:00
Robert Haschke
924051c511
handle IS_DESTROYED flag for RemoteTask
...
- turn task red in models
- if a task with same ID is received again, create a new RemoteTask anyway
2017-11-11 19:46:09 +01:00
Robert Haschke
0f9c8cc8ea
implemented TaskListModel::removeRows
2017-11-11 19:46:09 +01:00
v4hn
481e2c4f12
visualization: add missing header includes
2017-11-10 19:34:45 +01:00
v4hn
0f49177393
cmake: fix dependencies & includes
...
Partly required to get it to compile with `catkin_make`.
2017-11-10 18:38:01 +01:00
Robert Haschke
18119a7985
cleanup cmake
2017-11-03 19:19:33 +01:00
Robert Haschke
6ba66b51a7
reworked TaskModels
...
- separate RemoteTaskModel / LocalTaskModel, reusing existing storage
- TaskListModel collects several TaskModels
- TaskListModelCache: global singleton,
maintaining TaskListModel of all tasks in system (used by panels)
- create LocalTask from stages available via pluglinlib
2017-11-03 19:16:04 +01:00
Robert Haschke
022e29caa5
merged task_panel + task_solution_display into motion_planning_tasks folder
2017-11-02 09:53:43 +01:00
Robert Haschke
82758abc65
cleanup TaskSolutionDisplay
2017-11-02 09:53:43 +01:00
eirtech
042d33f331
adaptions for TaskSolutionDisplay
2017-11-02 09:53:43 +01:00
Robert Haschke
18cc780407
copied trajectory visualization stuff from moveit
2017-11-02 09:53:43 +01:00
Robert Haschke
8a461af97c
TaskPanel: listen to task_monitoring topic
2017-11-02 09:53:28 +01:00