-
Notifications
You must be signed in to change notification settings - Fork 18
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
Increase the Real Time Factor for ergoCub #207
Comments
Here a comparison between
This difference of about 0.10 appears when we just launch the scenario. As you can see below, the feet-ground contacts are way more in ergoCub than in iCub; furthermore, for ergoCub there are some flickering contact points (this is maybe due to the robot model, because iCubGazeboV2_5_visuomanip is fixed w.r.t. the ground, while ergoCubGazeboV1_1 is not). ergo_contact.mp4
icub_contact.mp4
Remark: the rtf difference can also be caused by the laser simulation, which is absent in iCub. |
Hi @Nicogene, I had changed the ergocub model and performed some tests. More specifically, inspired by the iCubGazeboV2_5_visuomanip, I've applied the following changes to the ergoCubGazeboV1_1 model:
As you might guess, the simulation of these sensors and controllers is useless since they are not involved into the grasp execution. Now, when the scenario is opened in Gazebo, there is no more the initial rtf difference between the initial scenario in Gazebo Moreover, the minimum rtf value reached during the grasp execution is very much improved (circa 0.25). Please notice that I'm using the original collision mesh for the hands. original_collision._.and_no_leg_ctrl.mp4grasp execution with original hand collision mesh and modified model Given these results, since there is already a specific |
Hi @PasMarra While working with gazebo I have found that also disabling the shadows helps a tiny bit with the RTF. In World->Scene->untick the shadows. I usually gain a bit, 0.05/0.07. I agree that having a dedicated model for the simulation application is the right way to take. I use the version with |
Hi @PasMarra, about this point
There are already models fixed in the world e.g.: https://github.com/icub-tech-iit/ergocub-software/blob/master/urdf/fixed_model.sdf.in Have you tried one of those?
@SimoneMic you are right but I have to understand first how to not make explode the maintainability of the repo, because any change has to be ported to all the urdfs, this is concerning since the procedure is not automated yet via github action. For disabling the sensor and controllers in the legs we should add a new yarprobointerface xml file and create ad hoc yaml + urdf. |
I have a few vague ideas, perhaps we can fix a meeting to discuss about this? |
During today's meeting, it came out that using the fixed model seems to have more impact than these points
Anyhow, @PasMarra will provide the actual impact of removing them on the real-time factor to understand if it makes sense to invest some time in thinking of a postprocessing procedure (via bash/python script) for removing parts of the urdf. In the meanwhile, I provided to @PasMarra a URDF that has only collisions in the hands/fingers, to understand if this helps to improve the performances. We spoke also about the possibility of passing parameters to the sdf included in the worlds, that right now it is not a feature available in gyp but it would help using the functionality of yarprobotinterface for enabling/disabling devices (see this example). Anyhow a dedicated issue will be opened in gyp repo. cc @pattacini |
|
Hi @Nicogene, these are the results:
Additional details: 1- The fixed link has a noticeable impact on the initial rtf. This is due to the fact that the fixed link sufficiently lifts the robot such to avoid any contact with the ground. In fact, some contacts arise if we use a different spawning height, and the rtf drops consequently:
2 - In the following table, the column "all modules running RTF" represents the rtf value when all the modules are running, and the robot is ready to grasp and waiting for the grasp request.
On average, |
fyi @xela-95 |
When trying to grasp an object with
ergoCub
, I've noticed a substantial drop of the rtf and I've initially thought that it was caused by the hand collision mesh (see here). Any simplification of the hand mesh, and even of the bottle mesh, did not improve consistently the rtf variation.Then, I've noticed also that more or less the same drop happens with
iCub
too, but in this case it does not affect too much the simulation because the initial rtf value is higher than the ergoCub one.So, I'm opening this issue to discuss new ways to improve the rtf for ergoCub.
cc: @Nicogene
The text was updated successfully, but these errors were encountered: