[Question] Explanation of Sim2Real for universal robot as explained in blog #3825
Replies: 2 comments
-
|
Thank you for posting this. This is a great question for our Discussions section. I'll move the post there for follow up. Here is a summary that may be of help in your case. The NVIDIA blog “Bridging the Sim-to-Real Gap for Industrial Robotic Assembly Applications Using Isaac Lab” demonstrates a concrete and working sim-to-real workflow for Universal Robots (UR10e) using torque-based impedance control. The key insight relevant to your dual-control loop issue is that NVIDIA’s implementation eliminates control conflicts by consolidating the impedance loop fully into the robot-side torque interface, while the external PC sends delta joint targets (not full position/velocity control) within this inner high-frequency loop.123 How NVIDIA’s Two-Stage Control WorksThe architecture described in the NVIDIA blog uses a layered design:
where
Why Your Current Dual-Loop Setup StruggledYour second setup resembles NVIDIA’s structure but differs in two critical ways:
Implementation Fix StrategiesTo approach NVIDIA’s stable two-tier controller:
with $ \alpha $ tuned for smoothness (~0.01–0.05 for 500 Hz loop).
Practical Integration
Recommended Path for You
By aligning your impedance structure to NVIDIA’s internal interpolation and delta-driven design, your real UR5e + 2F85 setup can achieve smoother and stable sim-to-real behavior matching the Isaac Lab workflow.341 Footnotes
|
Beta Was this translation helpful? Give feedback.
-
|
Hi thanks for your detailed response this cleared some of the doubts I had and the steps I will have to take to debug this issue.
On top of all this, I'm mainly concerned about the exact sync update and stable framework on this two stage approach both communication wise and also system design wise that would be like the part which would help me most. Thanks and really appreciate your input in advance and I believe this would help other people as well struggling with Sim 2 real bridge. Isaac Lab Dual-Rate Communication Framework Gist
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Question
Hi, Isaac Lab team, we are working with the hardware of ur5e with robotiq 2f85 gripper and I'm trying to make the reach policy for UR robot happen in real robot. There are 2 ways to approach this as described earlier use ros2 control or develop a controller which you can closely mimic for robot as well as your simulated asset. I came across this article which was interesting and I believe this would be of great use if you could provide more information on the implementation aspect of it.
I wrote a impedence controller using ur_rtde which directly applies torque_command to real robot which works like a simple torque_pd_control in joint space. I tuned it for real robot by sending a sinusoid to each joint and getting the optimal stiffness and damping gains which gave me decent trajectory following. However I wasn't able to make the robot work with the hierarchical dual control where you run higher level impedence loop on teach pendant at 500hz and send only position setpoints from external pc like using socket.
In summary I tried two approaches,
My goal is to transfer policy with good constraints set in simulation including modeling of delay using delayed PD actuator model and make the task happen on real robot. Since the intention of the blog was to explain people how to do it, I was wondering if it would be possible to help me out with this issue.
TODO:
Make the actuator model available in Isaaclab follow same control law and model delay so I could do sim 2 real, and also ensure impedence control works as the way isaaclab would output updates.
Beta Was this translation helpful? Give feedback.
All reactions