Genesis-Embodied-AI / RoboGen

A generative and self-guided robotic agent that endlessly propose and master new skills.
Apache License 2.0
552 stars 50 forks source link

Possibility of changing to another robot arm model #2

Closed Radiance-nt closed 10 months ago

Radiance-nt commented 10 months ago

Hi, thanks for opening this repository. It's kind of you to share this excellent work.

I was wondering if it would be possible to integrate a custom robot arm model into the simulated environment (e.g. providing urdf files)? The goal would be to transfer policies trained in simulation to a real robot arm.

Thanks in advance!

zhouxian commented 10 months ago

Yes it's totally possible. Our different robot types also come from different URDFs. You just need to add them when creating the tasks. Maybe @yufeiwang63 can add a section explaining details for doing so.

yufeiwang63 commented 10 months ago

Yeah it's definitely doable. For manipulation tasks, these three files define the robots we use: sawyer, franka, and ur5.

As the file indicates, the essential change needed for a new robotic arm would be to change the source urdf file, and the controllable joint indices as well as the finger index of the arm, e.g., for franka the urdf file and joint indices are defined at these lines: urdf, joint indices.

For locomotion tasks, similarly, these lines import the corresponding robot into the simulation scene. Again, what you would need to do is to add a branch for the new robot you have (with the urdf files of the new robot).

Let me know if this helps!

Radiance-nt commented 10 months ago

Yes it's totally possible. Our different robot types also come from different URDFs. You just need to add them when creating the tasks. Maybe @yufeiwang63 can add a section explaining details for doing so.

Yeah it's definitely doable. For manipulation tasks, these three files define the robots we use: sawyer, franka, and ur5.

As the file indicates, the essential change needed for a new robotic arm would be to change the source urdf file, and the controllable joint indices as well as the finger index of the arm, e.g., for franka the urdf file and joint indices are defined at these lines: urdf, joint indices.

For locomotion tasks, similarly, these lines import the corresponding robot into the simulation scene. Again, what you would need to do is to add a branch for the new robot you have (with the urdf files of the new robot).

Let me know if this helps!

These suggestions are very helpful, thanks for your kind replies!