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