Robert Haschke
102c80dda1
ParallelContainer: fix interface error reporting
...
need to separately check for start/end interface
2019-05-03 01:06:56 +02:00
Robert Haschke
d9a38f46ab
SerialContainer: fix nested interface resolution
...
We need to distinguish two cases for how the interface of a nested serial container is determined:
1. from its children
2. from its (outer) context
As long as the interface is not fully resolved, requiredInterface() returns UNKNOWN.
After pruning, the first/last child's interface is remembered and reported instead.
2019-05-03 01:06:56 +02:00
Robert Haschke
f402cdec5e
rename [INPUT|OUTPUT]_IF_MASK -> [START|END]_IF_MASK
2019-05-03 01:06:56 +02:00
Robert Haschke
28703af384
improve comments
2019-05-03 01:06:56 +02:00
Robert Haschke
905b6a3b0c
move validateConnectivity() from ContainerBase to StagePrivate
...
... to allow specific stage types (PropagatingEitherWay) implementing their own validation
No need for a public interface.
2019-03-11 13:54:54 +01:00
Robert Haschke
f831fe5483
fix comments + typos
2019-03-11 13:54:54 +01:00
Robert Haschke
1e0a9401e7
Merge PR #72 : rviz property visualization
2019-02-10 06:25:25 +01:00
Robert Haschke
a1c81f1236
YAML property serialization
...
- switch from ROS serialization/deserialization to YAML
- no native C++ deserialization for ROS msg types available
- drop Propert::print()
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
a1f7c5d1c6
improve error msg for mismatching container/child interfaces
2019-02-06 10:29:10 +01:00
Robert Haschke
81cc0aecc6
Property::type_index -> boost::typeindex::type_info
...
avoid decl expressions, explicit public typedef
2019-01-17 23:54:35 +01:00
Robert Haschke
062cfe0b60
PropertyTypeRegistry to store serialization/deserialization functions
2019-01-17 23:54:35 +01:00
Robert Haschke
ae75c3aa7f
Eigen::Affine3 -> Eigen::Isometry3
2018-11-28 08:14:44 +01:00
v4hn
3176aff30f
add accessors for marker_ns property
2018-11-09 10:50:40 +01:00
v4hn
ac3b56a160
document timeout() helpers
2018-11-09 10:50:33 +01:00
v4hn
6b4b4ca624
ComputeIK: threshold for new solutions as property
2018-11-09 10:50:14 +01:00
v4hn
b379ba2268
fix broken rvalue-forward & SerialContainer assert
...
Release mode builds previously produced broken solutions with too many entries,
debug build triggered the assert
container.cpp:334: assert(solution.empty())
The standard guarantees std::vector(&&a) leaves a.empty() == true,
so the logic there is fine as long as subsolutions is actually
used for move-construction.
2018-11-09 10:47:51 +01:00
v4hn
a86eca9ada
predicate filter: fix documentation
2018-11-02 15:51:24 +01:00
v4hn
cc90d5f3f2
add PredicateFilter
2018-11-02 11:53:09 +01:00
Robert Haschke
0f31cdee2e
move storeFailures() into public Stage API
2018-11-02 11:36:00 +01:00
Robert Haschke
915151fdd2
modify ps: add convenience functions
2018-11-02 11:21:48 +01:00
v4hn
38cc4c6936
add comment to subtrajectory
2018-10-25 00:12:46 +02:00
v4hn
80adcb9e24
add comments to wrapped solutions
2018-10-24 11:53:14 +02:00
v4hn
932497ce6d
do not pass failures on to monitors
...
They should not work with them and this
removes the need for the usual `if(s.isFailure) return`.
2018-10-24 11:44:26 +02:00
v4hn
9740179f7f
Merge branches 'cleanup-planner-interface', 'connect', 'fix-visualization' and 'rviz-createMarker' into master
2018-10-22 17:31:01 +02:00
v4hn
13ad4d58f1
fixup! rename "goal" to "direction"
...
"Goal" implies a motion to a target configuration.
MoveRelative explicitly does not do that.
"Direction" is usually not used for rotations,
but perfectly valid to describe them.
I merged 544f574166
together with the first version of this rename
that got force-pushed because it was incomplete.
2018-10-22 17:07:00 +02:00
Robert Haschke
70e32cb0b3
Connect: skip initial PlanningScene::diff()
2018-10-21 00:27:50 +02:00
Robert Haschke
18bf5246ed
cleanup PlannerInterface
...
- remove group + timeout properties: they are passed as arguments to plan()
- move max_velocity_scaling_factor, max_acceleration_scaling_factor to PlannerInterface base class
2018-10-21 00:02:10 +02:00
Robert Haschke
b5b58ea0ca
Introspection::solutionFromId()
2018-10-20 23:33:54 +02:00
Robert Haschke
c6f985be3a
Connect: allow different merge modes
...
for now:
SEQUENTIAL (no merging)
WAYPOINTS (naive)
2018-10-20 23:32:43 +02:00
Robert Haschke
ba88c59201
Merge pull request #54 from ros-planning/pr-capability
...
ExecuteTaskSolution capability
2018-10-20 23:25:48 +02:00
Robert Haschke
a0a9738a00
update PlanningScene's RobotState before storing it
2018-10-20 22:02:05 +02:00
Robert Haschke
36fe4c98be
reduce copying of shared ptrs
2018-10-20 12:21:18 +02:00
v4hn
1a4f6c0e57
keep RobotModelLoader around
...
Otherwise the robot_model_ does not remain valid
2018-10-17 01:55:28 +02:00
Robert Haschke
b5bc97b3eb
Task::execute()
2018-09-25 22:17:42 +02:00
Robert Haschke
7bd9bcf972
allow preemption of Task::plan()
2018-09-25 22:16:45 +02:00
Robert Haschke
e5e291d86f
FixCollisions stage
2018-09-25 22:16:45 +02:00
Robert Haschke
a7b74673ce
PlannerInterface for joint-space interpolation
2018-09-25 22:16:45 +02:00
Robert Haschke
3215880b98
Merge branches 'move-to', 'simple-grasp' and 'properties' into master
...
These branches only work together:
- MoveTo / MoveRelative: common handling of "goal" property
- properties: required changes to allow for multiple inheritance
- generalize SimpleGrasp / GenerateGraspPose
2018-06-03 11:38:50 +02:00
Robert Haschke
2e46082521
remove Container::exposePropertiesOfChild()
2018-06-03 11:36:50 +02:00
Robert Haschke
157caac385
generalize SimpleGrasp / GenerateGraspPose
...
- move "pregrasp", "grasp" property from SimpleGrasp to GenerateGraspPose
- Container::exposePropertiesOfChild: decouple exposure from inheritance
2018-06-03 11:36:50 +02:00
Robert Haschke
544f574166
MoveRelative: store goal as any type
2018-06-03 09:22:06 +02:00
Robert Haschke
00260d62b5
MoveTo: store goal as any type
2018-06-03 09:22:06 +02:00
Robert Haschke
941dee7fc1
exposeTo: const method
2018-06-03 09:22:06 +02:00
Robert Haschke
abc4c5de50
PropertyMap: allow any type
2018-06-03 09:18:37 +02:00
Robert Haschke
a8431ce661
Container::exposePropertiesOfChild: allow skipping of undefined props
2018-06-03 06:46:12 +02:00
Robert Haschke
0dab499533
Stage: generally allow forwarding of interface properties
2018-06-03 06:46:12 +02:00
Robert Haschke
92296e020f
SimpleGrasp(GraspGenerator)
...
allow any GraspGenerator stage that provides "pregrasp" and "grasp"
postures as well as a target_pose for grasping.
2018-06-03 06:46:12 +02:00
Robert Haschke
beffe27987
improve property debugging
2018-06-03 06:42:11 +02:00
Robert Haschke
cbb2cd69f7
property inheritance: both from PARENT and INTERFACE
...
- source_id -> source_flags: bits indicating configured paths
- initializers, e.g. fromName(), should throw
- ignore undeclared errors during inheritance
- on undefined error, reset the value to None
- override value only if previously set by lower-priority source
MANUAL > CURRENT > PARENT > INTERFACE
2018-06-03 06:36:15 +02:00