Commit Graph

1046 Commits

Author SHA1 Message Date
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
v4hn
70145aae29 draft implementation of cartesian_position_motion - one way only for the moment 2017-03-04 00:08:52 +01:00
v4hn
31c88bb9d6 generate grasps: add GripperGraspPose
Otherwise this always uses the current gripper state.
2017-03-03 12:17:57 +01:00
v4hn
d1def8235c add generate grasp pose to plan_pick
This doesn't make much sense, but it's nice to see
the structure does not directly fall apart :)
2017-03-02 20:33:01 +01:00
v4hn
30961436f1 subtask: add has* functions to facilitate canCompute 2017-03-02 19:35:31 +01:00
v4hn
9c5c87fc58 generate_grasp_pose: add grasp offset
This (as probably known from many other implementations...) allows
to grasp the object with the end effector link being further away from it.
2017-03-02 19:23:56 +01:00
v4hn
42fb4c147b gengrasppose: produce better output 2017-03-02 17:41:28 +01:00
v4hn
a346b64e35 test_plan_gen_grasp_pose: clean exit 2017-03-02 17:36:19 +01:00
v4hn
a2ce5909a1 task: abort if nothing could compute 2017-03-02 17:35:31 +01:00
v4hn
f247901623 generate grasp pose: store colliding states as infeasible solutions
This way there is no need to do collision checking for this solution again
2017-03-02 17:24:21 +01:00
v4hn
c3c6d899cb fix implicit copy
It seems (not verified) the vector is copied here by bind.
Instead, let's pass a pointer.
2017-03-02 17:23:13 +01:00
v4hn
798f9c0839 add angle delta for generate grasp poses 2017-03-02 17:21:36 +01:00
v4hn
19c351b27d generate grasp poses: retrieve multiple IK solutions & check collisions 2017-03-02 17:20:48 +01:00
v4hn
34bd5f8614 generate grasp poses: add time management 2017-03-02 14:54:13 +01:00
v4hn
5ff374a551 remove superfluous include 2017-03-02 13:39:13 +01:00
v4hn
e3604eab38 stub: plan ad infinitum and print after each iteration 2017-03-02 13:37:28 +01:00
v4hn
6e5308740b first incomplete version of GenerateGraspPose 2017-03-02 00:40:51 +01:00
v4hn
cd6f2d74da add explicit destructor for Task
Without this rml_ would be deleted before all IK plugins are unloaded
and class_loader still can't handle this...
2017-03-01 16:27:20 +01:00
v4hn
a1ef95300c add a simple printState function to task 2017-03-01 16:17:09 +01:00
v4hn
63e1d4fd78 reorder subtask get functions 2017-03-01 16:09:54 +01:00
v4hn
2e190cfd7d enable open-gripper in plan_pick 2017-03-01 15:44:19 +01:00
v4hn
c77d9106a6 introduce more interfaces / Gripper forward planning now works 2017-03-01 15:19:30 +01:00
v4hn
651fd9a946 activate CurrentState in plan_pick 2017-02-28 17:09:58 +01:00
v4hn
039f1e6896 Task now holds a PlanningScene
instead of just a RobotModel.
All generating subtasks need the scene,
so avoid every single one of them asking for it.
2017-02-28 16:47:09 +01:00
v4hn
8af3645af9 first implementation of subtask::CurrentState 2017-02-28 15:37:25 +01:00
v4hn
0bcef6b07c stub planning by calling each subtask once 2017-02-28 15:36:43 +01:00
v4hn
0e5d39a94d introduce a number of interfaces as loose ends 2017-02-28 15:27:05 +01:00
v4hn
bd67649fd2 first sketch of the graph design
+ skeleton of a first node "current_state"
+ vision of a test application
2017-02-28 11:29:38 +01:00
v4hn
e2b3cdb27d add gitignore for vim swp 2017-02-28 11:12:18 +01:00
v4hn
bb1d072418 initial commit
add a test binary for later use.
2017-02-27 11:49:22 +01:00