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

Matei Ciocarlie matei at willowgarage.com
Tue Mar 8 00:51:32 UTC 2011


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 <ugo at shadowrobot.com> 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 <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
>
>
> _______________________________________________
> 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



More information about the ros-users mailing list