[ros-users] reactive_grasp, compliant_close: not using the database

Ugo Cupcic ugo at shadowrobot.com
Fri Mar 4 08:55:08 UTC 2011


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 <kaijenhsiao at gmail.com> 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 <matei at willowgarage.com>
> 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 <ugo at shadowrobot.com> 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 at 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 at 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 at code.ros.org
> > https://code.ros.org/mailman/listinfo/ros-users
> >
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



-- 
Ugo Cupcic | Shadow Robot Company | ugo at shadowrobot.com
Software Engineer | 251 Liverpool Road |
need a Hand? | London N1 1LX | +44 20 7700 2487
http://www.shadowrobot.com/hand/ @shadowrobot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20110304/b6349f6e/attachment-0003.html>


More information about the ros-users mailing list