Skip to content
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

Integrate plugins into the ergoCub urdf generation process #130

Closed
xela-95 opened this issue Mar 21, 2024 · 13 comments
Closed

Integrate plugins into the ergoCub urdf generation process #130

xela-95 opened this issue Mar 21, 2024 · 13 comments
Assignees

Comments

@xela-95
Copy link
Member

xela-95 commented Mar 21, 2024

ergocub-software repo: https:/icub-tech-iit/ergocub-software/tree/master

PR: icub-tech-iit/ergocub-software#230

@xela-95
Copy link
Member Author

xela-95 commented Mar 21, 2024

CC @traversaro

@traversaro
Copy link
Member

traversaro commented Mar 21, 2024

I discussed with @Nicogene, and at the moment the process is only mentioned in https:/icub-tech-iit/ergocub-software's README, but it is not documented in detail.

Just reporting some info I know:

Once you have that, you probably need the info added in icub-tech-iit/ergocub-software#229 .

@traversaro
Copy link
Member

traversaro commented Mar 21, 2024

I discussed with @Nicogene, and at the moment the process is only mentioned in https:/icub-tech-iit/ergocub-software's README, but it is not documented in detail.

Just reporting some info I know:

* You need to install Creo 9 on your Windows partition, see https:/icub-tech-iit/cad-mechanics/wiki/Install-and-configure-PTC-Creo-Parametric (sorry, this is an internal IIT repo)

* You need to install creo2urdf following the README in https:/icub-tech-iit/creo2urdf, probably you can try the binaries available in each release, or compile from source

* You need to install the repos that contain the CAD models, i.e. cad-libraries (see https:/icub-tech-iit/cad-libraries/wiki/Configure-PTC-Creo-with-cad-libraries) and cad-mechanics (sorry for anyone reading this, it is private): https:/icub-tech-iit/cad-mechanics/

I ported most of this docs in icub-tech-iit/ergocub-software#229 .

@xela-95
Copy link
Member Author

xela-95 commented Mar 22, 2024

@traversaro which tool can I use to convert an SDF to URDF? I've always done the inverse with the gz sdf command. Having a URDF will help me understand the correct way to specify the elements to add in the yaml file for the creo2urdf process.

@traversaro
Copy link
Member

@traversaro which tool can I use to convert an SDF to URDF? I've always done the inverse with the gz sdf command. Having a URDF will help me understand the correct way to specify the elements to add in the yaml file for the creo2urdf process.

I do not think there exist any tool that does that, while correctly producing <gazebo> extensions elements.

@xela-95
Copy link
Member Author

xela-95 commented Mar 22, 2024

I've made the first modifications to one of the yaml files and I want to try to generate the urdf.

@traversaro where is the assembly I need to load in CREO?

@traversaro
Copy link
Member

@traversaro where is the assembly I need to load in CREO?

See the previous comment:

You need to install the repos that contain the CAD models, i.e. cad-libraries (see https:/icub-tech-iit/cad-libraries/wiki/Configure-PTC-Creo-with-cad-libraries) and cad-mechanics (sorry for anyone reading this, it is private): https:/icub-tech-iit/cad-mechanics/

then you can get the exact assembly corresponding to each model in the README of https:/icub-tech-iit/ergocub-software/tree/master/urdf/creo2urdf/data/ergocub1_1 .

@xela-95
Copy link
Member Author

xela-95 commented Mar 22, 2024

@traversaro where is the assembly I need to load in CREO?

See the previous comment:

You need to install the repos that contain the CAD models, i.e. cad-libraries (see https:/icub-tech-iit/cad-libraries/wiki/Configure-PTC-Creo-with-cad-libraries) and cad-mechanics (sorry for anyone reading this, it is private): https:/icub-tech-iit/cad-mechanics/

then you can get the exact assembly corresponding to each model in the README of https:/icub-tech-iit/ergocub-software/tree/master/urdf/creo2urdf/data/ergocub1_1 .

🤦🏻‍♂️ sorry I forgot you had already answered to this

@xela-95
Copy link
Member Author

xela-95 commented Mar 22, 2024

Draft PR added: icub-tech-iit/ergocub-software#230

@xela-95
Copy link
Member Author

xela-95 commented Mar 25, 2024

@traversaro I have a doubt on whether to include the clock plugin inside the model or leave it to be defined by the users of ergoCub at a "world" level. In principle, if the clock plugin is defined at model level and there is only on ergocub present in the world it works, but in presence of multiple models there could be issues since all the plugins want to write on the same /clock port.

To me the best approach is to define it in the world in which the model is loaded, but the user should be aware of it (e.g. in the walking-controllers tutorial it is explicitly written to launch gazebo-classic with the clock plugin as: gazebo -slibgazebo_yarp_clock.so

@traversaro
Copy link
Member

@traversaro I have a doubt on whether to include the clock plugin inside the model or leave it to be defined by the users of ergoCub at a "world" level. In principle, if the clock plugin is defined at model level and there is only on ergocub present in the world it works, but in presence of multiple models there could be issues since all the plugins want to write on the same /clock port.

To me the best approach is to define it in the world in which the model is loaded, but the user should be aware of it (e.g. in the walking-controllers tutorial it is explicitly written to launch gazebo-classic with the clock plugin as: gazebo -slibgazebo_yarp_clock.so

Yes, the clock should not be in the model. In general, it seems to me a good idea for reproducibility to strongly suggest users to use .world files to launch gz-sim simulations, as "dragging models manually from the gui" is an inherently non-reproducible operation. I guess when we will migrate the walking-controllers documentation to use gz-sim, we will change the gazebo -slibgazebo_yarp_clock.so command to be something like gazebo ergocub_with_clock.world , where the ergocub_with_clock.world file is available somewhere.

@xela-95
Copy link
Member Author

xela-95 commented Mar 25, 2024

Yes, the clock should not be in the model. In general, it seems to me a good idea for reproducibility to strongly suggest users to use .world files to launch gz-sim simulations, as "dragging models manually from the gui" is an inherently non-reproducible operation. I guess when we will migrate the walking-controllers documentation to use gz-sim, we will change the gazebo -slibgazebo_yarp_clock.so command to be something like gazebo ergocub_with_clock.world , where the ergocub_with_clock.world file is available somewhere.

Thanks, totally agree.

@xela-95
Copy link
Member Author

xela-95 commented Apr 4, 2024

PR icub-tech-iit/ergocub-software#230 has been merged. Closing

@xela-95 xela-95 closed this as completed Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants