Re: can"t get friction to lift an object with a robot arm

Patrick Enoch <[email protected]>
Newsgroups gmane.comp.lib.ode
Message-ID <[email protected]>
a client did a similar simulation. I remember he had to set mu to  
very high, if not dInfinity. It was sufficient to place the two  
"grabbing boxes" right next to the "box to be picked up"  - e.g. the  
sides were touching and it was not necessary to have them overlap.

movie, see here: (middle one at the bottom of the movies)
http://www.ramjac.com/rodeo/rodeo/gallery_2.html

patrick

On 02.09.2007, at 20:31, pastor wrote:

>
> hey there,
>
> I am currently working on making a robot arm grasp an object and  
> place it
> somewhere. I calculate the arm configuration externally and in  
> order to get
> some interaction between the robot and the boxes (modeled as  
> bodies) I set
> some geoms (dCappedCylinder) around the fingers and update their  
> position
> and orientation according to the current robot configuration. During
> grasping everything seems to work.. the finger collide with the  
> object an
> pushes it into the right directions... after closing the gripper the
> collision remains but I cannot lift this stupid box. I played with  
> all the
> parameters... what am I doing wrong ? Waht needs to be done to the  
> amount of
> force which allows me to lift an objet... the pase some code (which  
> shows
> the current set of parameters... I had a lot of different  
> setttings...) so
> that you have some idea what I really do... I hope this helps. I also
> include a little movie which shows this behaviour...
>
> http://manet.usc.edu/~pastor/miss_placing.avi miss_placing.avi
>
> hope you understand my problem...
>
> I really need some advice ! so... thanks for any help
>
> [email protected]
>
> ---------------------------- code
> --------------------------------------------------------------
> static void nearCallback (void *data, dGeomID o1, dGeomID o2) {
>   dBodyID b1 = dGeomGetBody(o1);
>   dBodyID b2 = dGeomGetBody(o2);
>
>   dContact contact[MAX_CONTACTS];
>
>   int i;
>   for(i=0; i<MAX_CONTACTS; i++)
>     {
>       /*       contact[i].fdir1[0] = 0.3; */
>       /*       contact[i].fdir1[1] = 0.3; */
>       /*       contact[i].fdir1[2] = 1.0; */
>       /*       normalize3DArray(contact[i].fdir1); */
>       /*       // contact[i].fdir1[3] = 0; */
>       contact[i].surface.mode = /* dContactMotion1 | *//*   
> dContactApprox1 |
> */ dContactSoftERP /*| dContactSlip1 | dContactSlip2 */ /* | 
> dContactFDir1 */
> |/* dContactBounce | */ dContactSoftCFM  | dContactMu2;
>       contact[i].surface.mu = dInfinity;
>       //contact[i].surface.mu = 1;
>       contact[i].surface.mu2 = dInfinity;
>       // contact[i].surface.bounce = 0.005;
>       // contact[i].surface.bounce = 0;
>       // contact[i].surface.bounce_vel = 0.8;
>       // contact[i].surface.soft_cfm = 1e-04;
>       contact[i].surface.soft_cfm = 1e-05;
>       contact[i].surface.soft_erp = 2;
>    }
>
>   int numc = dCollide(o1, o2, MAX_CONTACTS, &contact[0].geom,
> sizeof(dContact));
>   if(numc) {
>     for(i=0; i<numc; i++) {
>       dJointID c = dJointCreateContact(World, contactgroup, contact  
> + i);
>       dJointAttach(c, b1, b2);
>     }
>   }
> }
>
>
> -- 
> View this message in context: http://www.nabble.com/can%22t-get- 
> friction-to-lift-an-object-with-a-robot-arm-tf4363211.html#a12436406
> Sent from the ODE mailing list archive at Nabble.com.
>
> _______________________________________________
> ODE mailing list
> [email protected]
> http://ode.org/mailman/listinfo/ode
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.