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