|
Hi Nate, I've incorporated my code into yours and made a number of changes. Please modify as you wish! The main things that I've changed/added are... * one-way slider joint behaviour for GripClose() [ You'll note that with your original code that if you pick up a block with the gripper, and then rotate the robot on the spot, the two paddles (+block) swing around because of the centrifugal forces. The problem is obviously that when gripping the force from each paddle cancels the other, so that external forces can then cause them to slide up and down the horizontal bar. There's probably a cleverer way of preventing this than using a one-way slider, but... ] * ODE fudge factor for sliders [ I kept having problems with the sliders 'jumping' away from their stop positions.... hence the ODE fudgeFactor parameter. You can see the jumping behaviour in your original code when bringing the lift down after being in the UP position. It shoots downwards much too quickly. Anyway, the fudgefactor seems to take care of it ok.] * contact sensors on the paddles [ I've put in a little slider joint on each of the paddles to mimic the contact sensor on the pioneer gripper. I haven't checked the official dimensions though, so the exact numbers probably aren't right. ] * breakbeams [ Again, I haven't had a chance to check the exact positioning.] * updated state info [ So that now the paddles are MOVING when they are not OPEN or CLOSED.] * slider axes [ Hope you don't mind, but I changed the slider axes so that both paddles move in a direction of increasing y as the gripper closes (and both contact sliders have their y axes pointing towards the paddles). It makes writing code much less prone to errors because the code for left and right paddles/contacts etc is then identical... you only need the different sign in the axis definition. ] The things that are still missing are.... * contact sensor state [ I haven't added a left/right_paddle_gripping state yet because I'm not sure whether the Pioneers actually return that piece of info from the contact sensors. I think it's possible to get that information, but the current Player implementation doesn't seem to have it.] * update to new Player interface (cvs version) [ gazebo cvs won't compile with player cvs at the moment because the gripper interface in player has changed somewhat. I haven't really got much clue about what needs updating where and don't have time right now to do it either... but if someone else knows how and is keen to help out I shouldn't think it's a terribly tricky job.] Anyway, let me know if you spot any nasty bugs, or if there's a problem with anything I've added. Cheers, Solly Solly Brown wrote: Hi Nate, |
gripper.tar.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ Playerstage-gazebo mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
