Commit Graph

79 Commits

Author SHA1 Message Date
Robert Haschke
fd62e46828 use namespace definitions 2017-09-28 20:33:42 -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
v4hn
f1039b8c14 ggp: add max_ik_solutions parameter
With 6DOF planning groups the user often knows an upper limit
on how many ik solutions there are.

Specifying the limit avoids looking for additional IK solutions until timeout.
2017-09-13 12:08:26 +02:00
v4hn
8501bb8ae1 ur5 demo: use negative delta 2017-09-13 12:01:06 +02:00
v4hn
988886d57c GGP: allow for negative deltas 2017-09-13 12:00:45 +02:00
v4hn
d2d93967ce consistency: Begin -> Beginning 2017-09-12 09:21:31 +02:00
v4hn
d801c4441c simplify interface
the currently-advertised version is a linear pipeline
and the graph-based version would still need some reworking,
so stick with simple "add".
2017-09-04 00:52:49 +02:00
v4hn
491098e0c3 use weak_ptr instead of raw pointer
Using shared_ptr, this is cleaner
2017-09-04 00:52:00 +02:00
v4hn
d33aec2715 fix typo 2017-09-03 18:44:35 +02:00
v4hn
789b94c2ac don't sleep after publishing solutions 2017-03-24 12:49:23 +01:00
v4hn
be4769c03c task: publish plans until now after each round of computation 2017-03-24 12:48:58 +01:00
v4hn
25fcc39a33 task: flag previously returned trajectories to return them only once
This required to move from RobotTrajectorys to SubTrajectorys in more
interfaces, as well as fewer const-changes to handle the flags.
2017-03-24 12:46:59 +01:00
v4hn
344713536d demo ur5: spawn object in the beginning 2017-03-24 12:43:43 +01:00
v4hn
3c3ae44517 actually handle return values in traversal code... 2017-03-12 17:34:37 +01:00
v4hn
e0e1c77eb4 change co to cylinder 2017-03-11 12:12:52 +01:00
v4hn
9717250908 name ur5 demo explicitly 2017-03-11 12:12:26 +01:00
v4hn
7b7e8cf3c5 add pick demo with trixi 2017-03-07 15:06:31 +01:00
v4hn
76114d5fbd split up build into subfolders for tests/demos 2017-03-07 15:04:42 +01:00
v4hn
4955a64181 add methods to traverse through all solutions 2017-03-07 14:58:57 +01:00
v4hn
751c85cd3c add two auxiliary attributes to grasp generator 2017-03-07 13:11:47 +01:00
v4hn
850fb575d0 don't add NULL to InterfaceState 2017-03-06 23:44:59 +01:00
v4hn
af67324224 add missing model_id to published cartesian trajectory 2017-03-06 23:44:04 +01:00
v4hn
f8b1b3c204 rename connect* to hasBeginning/Ending & add missing calls 2017-03-06 23:24:55 +01:00
v4hn
5d9a9c22e4 invert 1:n relationship between InterfaceState and SubTrajectory
Starting with the Move Subtask, a single InterfaceState might have
multiple trajectories associated.

On the other hand, a graph structure of nodes is arbitrary difficult to handle,
debug and even specify. Because all examples considered up to now are
linear, I decided to stay with a linear ordering for now.
This should also allow much cleaner visualizations.
2017-03-06 20:47:56 +01:00
v4hn
ca6151cacb first implementation of the Move subtask 2017-03-06 19:49:06 +01:00
v4hn
a9c9a61710 add stub for pair iteration
This is not too hard, but takes a bit of time to get right,
so I'll add a stub for the moment.
2017-03-06 19:34:11 +01:00
v4hn
895d7842a3 fix generate_grasp_pose test 2017-03-06 19:32:27 +01:00
v4hn
fa75b763e1 micro cleanup 2017-03-06 19:06:45 +01:00
v4hn
57f974bfff implement missing connectToEnding method 2017-03-06 19:06:22 +01:00
v4hn
f1fb66b06f reset planner before rml_
apparently this isn't enough though... Something else seems to store
the robot model (or planner plugin?) because I still get

1488809503.141933190: ros.rosconsole_bridge.class_loader.ClassLoader: SEVERE WARNING!!! Attempting to unload library while objects created by this loader exist in the heap! You should delete your objects before attempting to unload the library or destroying the ClassLoader. The library will NOT be unloaded.
2017-03-06 15:13:05 +01:00
v4hn
3ddf3bf808 don't sleep anymore after each round of computation 2017-03-06 15:09:29 +01:00
v4hn
669699467c implement attaching objects with gripper 2017-03-06 15:08:59 +01:00
v4hn
5d41af19d1 change gripper subtask to use EndEffector 2017-03-06 15:08:32 +01:00
v4hn
fb532045fe generate_grasp_pose: utilize MoveIt's EndEffector model
This assumes the end-effector is properly setup in the srdf,
but simplifies setup of the subtask.
2017-03-06 14:53:14 +01:00
v4hn
4637e1fffd add step size parameter to CartesianPositionMotion 2017-03-06 14:37:30 +01:00
v4hn
06cc984cff cartesian_position_motion: respect frame of target
I just missed this before...
2017-03-06 13:26:56 +01:00
v4hn
88417f2d06 cartesian_position_motion forward to target needs no max_distance check 2017-03-05 22:58:59 +01:00
v4hn
67487bf177 add test_plan_cartesian_forward 2017-03-05 22:58:46 +01:00
v4hn
be828860f4 cartesian_position_motion: add beginning->end inference & mode_along 2017-03-05 21:43:31 +01:00
v4hn
de9a5f02f8 gripper: allow collisions with grasped object 2017-03-05 13:35:52 +01:00
v4hn
d48f7519cf convert gripper subtask to planning_pipeline
This relies on `MoveGroupInterface::constructMotionPlanRequest()` which
is not yet upstream.

This change is required to directly pass the relevant planning scene
in there instead of sending *just the start RobotState* to the action.

This allows subtasks to change other aspects of the scene, e.g.
allowed collisions or new collision objects.
2017-03-05 13:12:50 +01:00
v4hn
07b1a72030 add planning pipeline to task and subtasks
This allows to plan in the subtasks without ROS communication
2017-03-05 13:06:16 +01:00
v4hn
0a6b3181be plan_pick: reduce number of possible approaches 2017-03-04 17:06:05 +01:00
v4hn
7910e23adb remove hardcoded name of robot model in trajectory 2017-03-04 17:01:54 +01:00
v4hn
42b78eb8c5 don't reprint state at end of plan_pick 2017-03-04 17:00:02 +01:00
v4hn
86c908861d cartesian_position_motion: refactored 2017-03-04 16:59:24 +01:00
v4hn
2962ba65d9 cartesian_position_motion: state is valid if *not* colliding 2017-03-04 16:56:15 +01:00