-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
migrate useful updates from local fork upstream (i.e. here) #196
Comments
I answer here because I helped shadow rework most of the hand inertia in june last year to follow a rule in gazebo saying one should never have inertia varying by more than a order of magnitude between two links. The finger elements being light and small compared to the shadow arm, there were usually explosions or vibration in gazebo 1.5 and 1.9.5 (groovy and hydro). The inertia display feature is also new to me, and indeed it helps a lot visualize the gigantic inertias. |
@guihomework, thanks for the info! You might want to test with these physics parameters in ODE. Note that sufficient joint damping (e.g. here it's set pretty high, but I think it does not need to be so high depending on controller gains)) and the flag ImplicitSpringDamper == true is very important to simulation stability in ODE. In addition to minor improvements ODE inertia ratio issue in Gazebo 1.9.6, I highly recommend trying things out with alternate engines, see Physics Engine Support under Project Status, any feedback is highly welcome. |
@hsu , I analyzed your urdf, and indeed, new settings appear that I (and probably shadow) was not aware of. ImpliciteSpringDamper or older cfmDamping options were missed or never got into the shadow model when the support was added. In june 2014 I tested the bullet engine which did not help on our vibration and collapsing issues. Now it makes sense, the problem was somewhere else. Finally, I think I would like to set the effort limits (now 1000) in the joints to realistic values again as well as the velocities. Your urdf has old values. hope this helps and wish you could guide us to fix the https://github.com/shadow-robot/sr-ros-interface/tree/indigo-devel/sr_gazebo_plugins |
After analyzing the sr_gazebo_plugin, it appears the damping was creating huge forces due to a lot of noise on the velocity reading There was no clamping of force. So adding Retuning the hand finally made the hand a little more stable in some positions and unstable in others, so not as nice as with previous larger inertia. Before retuning I redid the computation for all the inertia and setting these good values make the display of the inertia in gazebo look nice. @hsu did you use your urdf of the shadow hand with real effort controllers in gazebo ? I could see there are gazebo motors, but I never used such things as we want to mimic the real hand behaviour which runs ros controllers. So currently these smaller inertia create more problems then they solve. What is the advantage to set the inertia exactly to the value they should if this makes the simulation unstable ? I did not have time to test a different physic simulator, but would be nice to get some new input from you regarding our tests. |
Follow up on velocity problems :
So I suppose we should remove the explicit damping from sr_gazebo_plugins (taken from previous pr2_gazebo_plugins) |
#199 should fullfil the request. However, I would need suggestions on how to fix a last problem THJ2 (thumb middle link motion) currently reacts a bit too much to THJ5 movements. THJ1 which is after THJ2 is not affected at all. It looks like an inertia problem but it reacts in the same direction as the movement of THJ5 which is counter-intuitive when thinking in terms of inertia. Usually a link has a tendency to not move at t=0 due to inertia, hence creating a joint movement in the opposite direction to keep the chain assembled. Inertia of the elements in-between were set correctly and also tested exagerated big or small with no effect to this problem. I have no clue where this comes from. Any ideas ? |
We were testing simple object grasping and controls in gazebo, and forked a local copy here. There were various updates (mostly inertia updates that matches the geometry) that we would like check if it makes sense to push upstream. The final model we used to do dynamic grasp testing in gazebo is this urdf.
If model is updated upstream, we'll simply keep our custom controller config downstream.
The text was updated successfully, but these errors were encountered: