Dear Matei, I switched to unstable and added the overlay you sent. I'm now getting the pre / grasp posture in the ReactiveGrasp. I just need to modify my code to use it now :) Thanks! Cheers, Ugo On Tue, Mar 8, 2011 at 12:51 AM, Matei Ciocarlie wrote: > Hi Ugo, > > We've added the pre-grasp and grasp posture to the ReactiveGrasp > action goal, it will come out in the next release. However, we > probably won't be able to release this for at least a few days. Can > you get on to trunk? A rosinstall file you could use is: > > > https://code.ros.org/svn/wg-ros-pkg/branches/trunk_cturtle/rosinstall_files/cturtle/pr2_manipulation-cturtle-pr2all-overlay-devel.rosinstall > > Matei > > On Fri, Mar 4, 2011 at 12:55 AM, Ugo Cupcic wrote: > > Hi, > > > > Thanks for your answers. > > > > Having pre_grasp_posture and grasp_posture would in the > ReactiveActionGoal > > would be the best for me. I'm using unstable (and I'll be happy to make > an > > overlay if you want me to test one branches). > > > > Matei, I already implemented the first approach you described, but as a > more > > "static" approach: the approach is just checking against collisions when > > computing the path it's going to take, then the hand is closing from > > pre_graps_posture to grasp_posture and that's it. No going back if we > have > > some contact, etc... I was assuming that it was meant to be like this in > > this case, so as to have an easy to use and relatively direct approach to > > grasping an object. That's why I wanted to implement the reactive grasp / > > approach separately, as I saw it in your packages. > > > > Cheers, > > > > Ugo > > > > On Thu, Mar 3, 2011 at 10:01 PM, Kaijen Hsiao > wrote: > >> > >> Hi Ugo, > >> Would it be sufficient for your purposes to add > >> sensor_msgs/JointState pre_grasp_posture > >> and > >> sensor_msgs/JointState grasp_posture > >> to the ReactiveActionGoal? > >> (If you want, I can also make a new CompliantCloseAction that contains > >> these two things, so you can parallel our code--I've meant to use such > >> a thing for our code for awhile even, but there was never a need for > >> it until now. We are likely to want such a thing for future arm/hand > >> ports, anyway.) > >> Are you using the trunk or Diamondback or unstable version of our > >> code, or something else? > >> > >> -Kaijen > >> > >> > >> On Thu, Mar 3, 2011 at 9:41 AM, Matei Ciocarlie > > >> wrote: > >> > Hi Ugo, > >> > > >> > There are two things that the hand needs to do: move from pre-grasp to > >> > grasp, and then close the fingers. Our nomenclature is definitely less > >> > than ideal, they are both referred to as "grasp" in parts of the > >> > pipeline... > >> > > >> > Reactive grasping as defined by the ReactiveGrasp.action actually > >> > combines both. It should be called "ReactiveApproachAndGrasp" or > >> > something in the vicinity... The implementation we have is PR2 > >> > specific for both the approach and the finger closing part. You are > >> > right, as a module that is (also) responsible for closing the fingers, > >> > it should take in the grasp posture as well (not just the pose). > >> > > >> > When not using reactive grasping, we actually do split it into two. > >> > First, open-loop inerpolated IK is done to get the hand from pre-grasp > >> > to grasp. Then, a call to a GraspHandPostureExecution.action is made. > >> > This call does contain all the info about the grasp .We have a PR2 > >> > implementation that simply closes the fingers in response to that call > >> > in the > >> > pr2_gripper_grasp_controller package. > >> > > >> > You could write a sh_gripper_grasp_controller package that responds to > >> > GraspHandPostureExecution goals, either in a reactive or non-reactive > >> > way. This would only refer to the finger closing part (not the > >> > approach) but you could implement all the behaviors that you mentioned > >> > in your email. > >> > > >> > Alternatively, if you prefer a "ReactiveApproachAndGrasp" all in one > >> > shot, we would indeed need to modify the ReactiveGrasp call to contain > >> > the grasp posture. That also seems like a reasonable thing to do. > >> > > >> > Best, > >> > Matei > >> > > >> > On Thu, Mar 3, 2011 at 4:16 AM, Ugo Cupcic > wrote: > >> >> Hi, > >> >> > >> >> In the reactive_grasp, the compliant_close function is not using the > >> >> grasp > >> >> posture from the database. I understand that it can work for the > >> >> gripper, > >> >> but for a more complex hand such as ours, I believe it would be a > good > >> >> start > >> >> to have access to this grasp posture here. > >> >> > >> >> What I wanted to do in the reactive grasp, was (as a first approach): > >> >> - interpolate between current posture of the hand and "closed > posture" > >> >> (read from the database), while checking for contacts. > >> >> - when I have a contact on one finger, I stop moving this finger. > >> >> - when all fingers are touching lightly the object, close until > force > >> >> > X > >> >> > >> >> Is it not the purpose of the reactive_grasp server? Should I do that > in > >> >> my > >> >> standard static grasp? Do I need to query my databases in my > >> >> reactive_grasp > >> >> node to get the list of possible grasps, or would it be possible to > >> >> extend > >> >> the content of the ReactiveGraspGoal message, so as to include this > >> >> information? > >> >> > >> >> I hope my questions make sense, otherwise feel free to ask me for > more > >> >> info! > >> >> > >> >> Cheers, > >> >> > >> >> Ugo > >> >> > >> >> -- > >> >> Ugo Cupcic | Shadow Robot Company | ugo@shadowrobot.com > >> >> Software Engineer | 251 Liverpool Road | > >> >> need a Hand? | London N1 1LX | +44 20 7700 2487 > >> >> http://www.shadowrobot.com/hand/ @shadowrobot > >> >> > >> >> > >> >> _______________________________________________ > >> >> ros-users mailing list > >> >> ros-users@code.ros.org > >> >> https://code.ros.org/mailman/listinfo/ros-users > >> >> > >> >> > >> > > >> > > >> > > >> > -- > >> > Matei Ciocarlie > >> > Research Scientist > >> > Willow Garage Inc. > >> > 650-475-9780 > >> > _______________________________________________ > >> > ros-users mailing list > >> > ros-users@code.ros.org > >> > https://code.ros.org/mailman/listinfo/ros-users > >> > > >> _______________________________________________ > >> ros-users mailing list > >> ros-users@code.ros.org > >> https://code.ros.org/mailman/listinfo/ros-users > > > > > > > > -- > > Ugo Cupcic | Shadow Robot Company | ugo@shadowrobot.com > > Software Engineer | 251 Liverpool Road | > > need a Hand? | London N1 1LX | +44 20 7700 2487 > > http://www.shadowrobot.com/hand/ @shadowrobot > > > > > > _______________________________________________ > > ros-users mailing list > > ros-users@code.ros.org > > https://code.ros.org/mailman/listinfo/ros-users > > > > > > > > -- > Matei Ciocarlie > Research Scientist > Willow Garage Inc. > 650-475-9780 > -- Ugo Cupcic | Shadow Robot Company | ugo@shadowrobot.com Software Engineer | 251 Liverpool Road | need a Hand? | London N1 1LX | +44 20 7700 2487 http://www.shadowrobot.com/hand/ @shadowrobot