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
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