What behaviors does UR Sim simulate?

Is there somewhere I can find out more about what aspects of simulated robot motion and control the UR Sim offline simulator takes into account?

I assume it tries to run the program at the native controller timing rate of the corresponding robot.

Does it simulate controller dynamics like the effects of servoJ gain/lookahead settings? What about physical dynamics? (I doubt it, but I’m curious)

I’m trying to debug some motion problems with some external control software, and some overshoot behaviors I saw on the physical robot occur the same when using UR Sim.

I didn’t really expect this, so I’m trying to understand more about what to expect for the simulator’s response to external joint position commands (we’re supplying them over RTDE and using servoJ in a loop to move the robot).

Is there a technical user manual for UR Sim that describes this in some detail?


Looks like I can confirm that the servoJ gain and lookahead are simulated with some fidelity.

Did some experiments to tweak/optimize them in URSim this morning and got very similar results on the real robot this afternoon.

I’m using the ROS2 driver and it seems like URSim reports joint torques (efforts) roughly consistent with gravity statics on the arm if gravity were set to 0.1 gee. Doesn’t seem to take payload into account. Does it also do dynamic torques? Really interesting tool.

The real robot and URSim are reporting something about joint currents as efforts.


for more information.

I wonder how this is done in URSim? Gravity torque divided by some (maybe not documented) torque constants?