Commit Graph

39 Commits

Author SHA1 Message Date
Robert Haschke
6d10f7e835 moved plan publishing into debug.cpp 2017-09-28 20:35:44 -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
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
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
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
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
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
57f974bfff implement missing connectToEnding method 2017-03-06 19:06:22 +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
be828860f4 cartesian_position_motion: add beginning->end inference & mode_along 2017-03-05 21:43:31 +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
86c908861d cartesian_position_motion: refactored 2017-03-04 16:59:24 +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
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
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
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
c77d9106a6 introduce more interfaces / Gripper forward planning now works 2017-03-01 15:19:30 +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
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