Commit Graph

140 Commits

Author SHA1 Message Date
Robert Haschke
622603268f move solution callbacks from task to stage
... allowing for solution callbacks to be registered at each stage
Using Introspection::publishSolution(), the individual solutions in some
stages could be replace by a general one.
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
af2009c19b cleanup 2017-11-11 19:46:33 +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
18119a7985 cleanup cmake 2017-11-03 19:19:33 +01:00
Robert Haschke
1327e27475 fixup: run unittest in correct ROS context 2017-11-03 19:19:32 +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
Robert Haschke
abe61ef9eb fixup 2017-10-29 01:14:48 +02:00
eirtech
3fa87be8ef introspection service generators are added 2017-10-29 01:14:48 +02:00
Robert Haschke
f6c3c7b27f replaced debug.cpp with introspection.cpp
providing all services to publish current task state, new solutions, etc.
2017-10-29 01:06:51 +02:00
Robert Haschke
7a1fc21f2e reworked introspection messages 2017-10-29 01:06:51 +02:00
Robert Haschke
e686f49d3e publish introspection data
- use Repository<T>'s for InterfaceState and SolutionBase to store
  mappings from ID to actual T*
- task state only publishes IDs
- services allow to request contents
2017-10-29 01:06:51 +02:00
Robert Haschke
cfe8086f29 introspection message definitions 2017-10-29 01:06:51 +02:00
Robert Haschke
aa37ee7cee cleanup test/container.cpp 2017-10-29 01:06:51 +02:00
Robert Haschke
9bb566b3fc fix compiler warnings for -Wall
- initialization order
- unsigned/signed comparison
- unused variables
- missing override for virtual functions
2017-10-29 01:06:51 +02:00
Robert Haschke
ca99e24742 fixup virtual destructor for Stage, StagePrivate 2017-10-29 01:06:51 +02:00
Robert Haschke
26cf2bc2bb moved PIMPL_FUNCTIONS(...) into private header 2017-10-21 23:09:59 +02:00
Robert Haschke
9e3b723399 correctly consider constness 2017-10-21 23:09:59 +02:00
Robert Haschke
bc3a077d59 refactor containers
- basic ParallelContainer
- WrapperBase as ParallelContainer
- move StagePrivate::append() -> SolutionBase::flattenTo()
- move ContainerBasePrivate::onNewSolution() -> ContainerBase::onNewSolution()
- StagePrivate::parent() returns ContainerBase*

fixup! refactor containers

fixup! refactor containers
2017-10-21 23:09:59 +02:00
Robert Haschke
ef1f387f19 fixup! simplified API of SubTask specializations
moved isConnected() to PropagateEitherWay
2017-10-21 23:09:59 +02:00
Robert Haschke
8e1dfc6768 typedef SerialContainer::solution_container = std::vector<const SolutionBase*> 2017-10-20 16:40:11 +02:00
Robert Haschke
47e074ce7d typedef SolutionTrajectory = std::vector<const SubTrajectory*> 2017-10-20 16:40:11 +02:00
Robert Haschke
4b56770d50 Task wraps a container 2017-10-20 16:40:11 +02:00
Robert Haschke
b944450736 Task: allow multiple solution callbacks 2017-10-20 16:40:11 +02:00
Robert Haschke
97bed73a9a weak_ptrs for prev_ends_ and next_starts_ 2017-10-20 16:40:11 +02:00
Robert Haschke
f103341356 separate reset() + init()
deducedFlags() -> interfaceFlags()
removed announcedFlags()
2017-10-20 16:40:11 +02:00
Robert Haschke
43bcf99222 init() throws InitStageException 2017-10-20 16:40:11 +02:00
Robert Haschke
68ff79f464 setup SerialContainer interface 2017-10-20 16:40:11 +02:00
Robert Haschke
bc5c76578e connect and validate chain 2017-10-20 16:40:11 +02:00
Robert Haschke
b967e8231b publish solutions again 2017-10-20 16:40:11 +02:00
Robert Haschke
6167f728ed wip 2017-10-20 16:40:11 +02:00
Robert Haschke
f6a40a4a02 fixup! containers
accidentally committed sandbox
2017-10-20 16:40:11 +02:00
Robert Haschke
51e4bba212 sendForward(), sendBackward() use InterfaceState for both from and to arguments 2017-10-16 17:19:03 +02:00
Robert Haschke
a7de95932e moved InterfaceFlag(s) into main scope 2017-10-16 09:24:21 +02:00
Robert Haschke
a32007613e renamed subtask -> stage 2017-10-16 09:24:21 +02:00
Robert Haschke
3cc112fe2c cleanup container
- removed friends + mutable
- simplified SerialContainer::canInsert()
2017-10-16 09:22:16 +02:00
Robert Haschke
dc9f553ab0 replaced IMPL macro 2017-10-16 09:22:16 +02:00
Robert Haschke
1b1a82f7c8 simplified SubTask API
- moved interface flags to private implementation
- moved newInputState() / newOutputState to private implementation
- directly implement sendBackward()/sendForward()
- removed scene_, planner_ from SubTaskPrivate
  ... replaced by init(scene) call
- renamings
  - array_type -> container_type
  - ...AnyWay -> ...EitherWay
  - input -> start
  - output -> end
2017-10-11 23:34:49 +02:00
Robert Haschke
c085534ea9 simplified API of SubTask specializations
- allow bidirectional Gripper
- implemented canInsert()
2017-10-11 22:43:55 +02:00
Robert Haschke
2bf66dc125 fancy print output based on interfaceFlags() 2017-10-04 00:11:22 +02:00
Robert Haschke
ce7d570459 pimpl_func() only in SubTask class 2017-10-04 00:11:22 +02:00
Robert Haschke
11b6dd2efd implement children_ as std::list
This provides a double-linked list already.
Now need to manually track predeccessors and successors.
2017-10-04 00:11:22 +02:00
Robert Haschke
bb06eda33c containers
- allow hierarchical organization of stages (serially for now)
- validate correctness of tree (at composition time, i.e. runtime)
- derive Task from SerialContainer
- fix pimpl_func(), PRIVATE_CLASS declaration in "public" section to allow access in tests
2017-10-04 00:11:22 +02:00
Robert Haschke
6a1eacb315 make headers visible in qtcreator 2017-09-30 22:10:51 +02:00
Robert Haschke
fcccbae408 specialised SubTask classes
SubTask cannot be instantiated directly, but only its derived classes
that specify the type of operation:

PropagatingAnyWay
PropagatingForward
PropagatingBackward
Connecting
Generator
2017-09-30 22:10:51 +02:00