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_rtdeis another client, used to control the arm from an external host computer