URSim is the official Universal Robots simulator. It runs the same software stack as a real robot, packaged as PolyScope plus URControl inside a docker container, so you can develop and test safely before touching the physical arm.


Components

The pieces that make up the stack:

  • URScript is the programming language that commands the robot
  • PolyScope is the GUI that generates URScript, what you see and touch on the teach pendant
  • URControl is the backend service that talks to the motors over internal buses at a 500 Hz control loop
  • URSim bundles PolyScope and URControl in a docker container, so the full stack runs on an ordinary computer

The Real Hardware

On a physical robot the same software lives on real boxes:

  • the control box is a mini PC running Linux, where URControl and PolyScope actually run
  • the teach pendant is the external touchscreen used to drive PolyScope by hand

On the control box, two programs run side by side:

  • URControl is the backend that drives the motors and closes the 500 Hz control loop
  • PolyScope is the GUI front end that sits on top of it

URControl as a Service

URControl runs as a service, so several clients can talk to it at the same time:

  • PolyScope is one client, the built-in GUI
  • a Python script using ur_rtde is another client, used to control the arm from an external host computer