NVlabs / industreallib

Other
45 stars 5 forks source link

UR5e/UR10e instead of franka #3

Closed ZJU-PLP closed 6 months ago

ZJU-PLP commented 6 months ago

Hi, Can I use UR5e/UR10e robot to reproduce this project? I am currently trying to reproduce your setup by our UR5e robot. However, I find that IsaacGymEnvs has no UR5e/UR10e examples.

ynarang commented 6 months ago

Hi @ZJU-PLP,

With the Franka robot, you can directly command torques, and you can therefore implement a simple impedance control law in both simulation and the real world (e.g., see Appendix D4, equation 3 of the Factory paper).

From my understanding, with the UR5/10, you directly command positions rather than torques, requiring you to instead implement an admittance control law (e.g., see equation 1 of this paper). This paper also uses a UR10e, which might be relevant to your setup. If you were to implement this control law in Isaac Gym, you would probably want to set up a virtual force sensor or compute force based on joint torques.

I don't know of a UR example in IsaacGymEnvs, but it does look like there might be a few such examples/projects written for OmniIsaacGymEnvs (e.g., this one). But of course then you would need to adapt the IndustReal training code from IsaacGymEnvs to OmniIsaacGymEnvs.

I know there is no simple solution here, but I hope this is still helpful!

Best, Yash

ZJU-PLP commented 6 months ago

Hi @ZJU-PLP,

With the Franka robot, you can directly command torques, and you can therefore implement a simple impedance control law in both simulation and the real world (e.g., see Appendix D4, equation 3 of the Factory paper).

From my understanding, with the UR5/10, you directly command positions rather than torques, requiring you to instead implement an admittance control law (e.g., see equation 1 of this paper). This paper also uses a UR10e, which might be relevant to your setup. If you were to implement this control law in Isaac Gym, you would probably want to set up a virtual force sensor or compute force based on joint torques.

I don't know of a UR example in IsaacGymEnvs, but it does look like there might be a few such examples/projects written for OmniIsaacGymEnvs (e.g., this one). But of course then you would need to adapt the IndustReal training code from IsaacGymEnvs to OmniIsaacGymEnvs.

I know there is no simple solution here, but I hope this is still helpful!

Best, Yash

Ok, I see. Thanks for your reply. Is there any plan to reproduce your nice work in OmniIsaacGymEnvs ? I find that there has already the example of your Factory paper project in here .

ynarang commented 6 months ago

We have the IndustReal training code available in IsaacGymEnvs (IGE), but we do not currently have plans to make it available in OmniIsaacGymEnvs (OIGE) due to limited bandwidth.

However, the IndustReal code is similar in structure to the Factory code, and comparing the Factory IGE and OIGE code might provide a good example of how to migrate IndustReal from IGE to OIGE as well.

ZJU-PLP commented 6 months ago

We have the IndustReal training code available in IsaacGymEnvs (IGE), but we do not currently have plans to make it available in OmniIsaacGymEnvs (OIGE) due to limited bandwidth.

However, the IndustReal code is similar in structure to the Factory code, and comparing the Factory IGE and OIGE code might provide a good example of how to migrate IndustReal from IGE to OIGE as well.

Ok, thanks a lot.