Commit Graph

209 Commits

Author SHA1 Message Date
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
Robert Haschke
abea2ee82b reuse boost::any's type_index type 2018-06-02 17:46:37 +02:00
Robert Haschke
2e9932cfbc fix: don't report config issues as successful (but empty) solutions 2018-06-02 17:46:28 +02:00
v4hn
bd1edcbde7 add max_solutions param to plan()
For big problems you just don't want *all* solutions
2018-06-01 11:13:44 +02:00
Robert Haschke
b35aba6e19 validate merged trajectories 2018-05-30 21:23:34 +02:00