Commit Graph

1174 Commits

Author SHA1 Message Date
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
Robert Haschke
f7fe7fc896 use namespace definitions 2017-09-30 21:44:57 +02:00
Michael Görner
bb1fcad44e Merge pull request #4 from ubi-agni/fix
fix for-loop argument types
2017-09-29 14:39:10 -07:00
Robert Haschke
7641e004d1 Merge branch 'master' into fix 2017-09-29 03:58:41 -07:00
Robert Haschke
4538d53bb2 fix for-loop argument types 2017-09-29 03:54:13 -07:00
v4hn
f7b6429a31 keep trailing underscore convention for class members 2017-09-29 00:18:53 -07:00
v4hn
e3df0133d5 reduce number of auto
Less auto is always better. Less smog so to speak...
2017-09-29 00:04:58 -07:00
Michael Görner
e45d7f95d6 Merge pull request #3 from ubi-agni/publish-plans
cleanup publish plans
2017-09-28 23:33:43 -07:00
Robert Haschke
2d5797d741 restore online publishing of new solutions 2017-09-28 20:35:44 -07:00
Robert Haschke
6d10f7e835 moved plan publishing into debug.cpp 2017-09-28 20:35:44 -07:00
Robert Haschke
fd62e46828 use namespace definitions 2017-09-28 20:33:42 -07:00
v4hn
cab3bba342 use const_cast instead of static_cast 2017-09-28 11:44:28 -07:00
Robert Haschke
d02816ef67 avoid double state update before collision check (#2) 2017-09-28 11:42:44 -07:00
Robert Haschke
a0928e21f9 remove flag from SubTrajectory
was used to indicate usage in publishPlans()
2017-09-28 00:03:47 -07:00
Robert Haschke
a5b7f0c2f3 fix publishing plans 2017-09-28 00:03:47 -07:00
v4hn
2dfc2f395e avoid shortened nested namespace definitions
`namespace X::Y { }` is only part of the C++17 standard.
I did not notice before because GCC 6+ do not warn about
this even with `-pedantic -std=c++14`.
2017-09-13 13:16:48 +02:00
v4hn
557b1cbe16 ur5 demo: max ik solutions is 8 with UR5 2017-09-13 12:10:15 +02:00