Robert Haschke
4cb390b187
Merge #154 : Fix solution execution from rviz
2020-04-08 08:52:55 +02:00
v4hn
b0df621f66
bump cmake version
...
get rid of CMP0048 warning.
2020-04-03 12:14:57 +02:00
Robert Haschke
0725f81603
fix rviz solution execution
...
Store the set of joints involved in a received trajectories and
use this set to constrain serialization of solutions for execution to those joints only.
If this is not done, all joints of the RobotModel are considered for the trajectory,
but we might not have controllers defined for all joints, so execution will fail.
Maybe, a better approach might be to just ask the MTC planner to execute a specific solution id.
However, this requires that the planner node is still available.
2020-04-03 11:58:55 +02:00
Robert Haschke
f1acfa2f7e
Merge pull request #151 : Various fixes
2020-04-03 11:58:19 +02:00
Robert Haschke
b26576dddc
fix include order
...
As INCLUDE_DIRECTORIES of target_link_libraries always go AFTER those from target_include_directories,
we need to explicitly provide the include order for local targets.
2020-04-03 11:36:05 +02:00
v4hn
7cd82d5c04
resolve clang warnings & suggestions
2020-04-01 15:05:20 +02:00
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