Skip to content

Instantly share code, notes, and snippets.

@Shawn-Armstrong
Last active June 12, 2023 21:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Shawn-Armstrong/bbb2615abd917efc958c7fce714b0d46 to your computer and use it in GitHub Desktop.
Save Shawn-Armstrong/bbb2615abd917efc958c7fce714b0d46 to your computer and use it in GitHub Desktop.

#UR3e_summary.md

Overview

Notes

  • The e-series are collaborative robot arms designed and manufactured by UR.
  • The current e-series consists of 4 models: UR3e, UR5e, UR10e and UR16e.
  • Each model has a similiar overall design, the main difference being — their size, max payload and operational reach.
  • The UR3e consists of multiple actuators that are managed by an onboard controller. In general, it'll typically have at least 6 primary actuators:
    • Base rotation: Allows the arm to rotate around its vertical axis.
    • Shoulder: Allows the arm to move up and down.
    • Elbow: Allows the arm to bend and straighten.
    • Wrist 1: Allows the arm to rotate around its horizontal axis.
    • Wrist 2: Allows the arm to rotate around its vertical axis.
    • Wrist 3: Allows the arm to rotate around its horizontal axis.
  • An onboard controller box exists to add additional actuators.
  • The onboard controller appears to be an industrial computer containing a microprocessor that runs a proprietary real-time operating system (RTOS)
  • The onboard controller appears to communicate with the actuators via a communication protocol known as the Real-Time Data Exchange (RTDE).
  • End-users cannot directly access the embedded operating system; they can only interact with the robot using its software interface Polyscope.
  • Polyscope allows end-users to program the robot either through it's graphic user interface (GUI) or through scripts.
  • Scripts are files with a .script extension that are written in URScript which is UR's proprietary programming language.
  • URScript's technical specs, documentation and functionality are outlined in the e3 script manual.
  • There are multiple methods of adding scripts to the unit:
    • Polyscope has a builtin editor.
    • Files can be transferred over a web-based interface using the unit's internet protocol address.
    • Files can be transferred over ethernet.
    • etc...
  • It is common pattern to use URScript in conjunction with the Robot Operating System 2 (ROS2) framework to develop a well-defined and scalable codebase by leveraging the communication abstraction that ROS2 provides.
  • ROS2 does not natively support URScript only Python and C++. Software has been written to convert Python into URScript commonly referred to as a bridge.
  • Actuators and common operations are modularized using ROS2's nodes.
  • Nodes communicate with each other using ROS2's communication layer that was designed using the data distribution services standard which utilizes the publisher / subscriber pattern.
  • This overall design has enabled the sharing of scripts that perform commonly desired operation / functionality creating a rich ecosystem of software development for this product.
  • UR has developed free simulation resources for virtual testing.
  • Additional third-party simulation resources exist with more advance features but UR's resources are the authority for validating the operation of scripts.

UR Simulator Setup

NOTE: DOCKER CONTAINERS ARE NOW PREFERED. THE BELOW SIMULATOR WAS AN INITIAL ATTEMPT AND NOT AS ROBUST.

Context

  • The following setup was conducted using Windows 11 on 1/22/2023.
  1. Download / install VirtualBox. step1_p

  2. Download the offline simulator software from UR's software page step2_e

  3. Extract the software from the compressed file you downloaded. step3_e

  4. Create a virtual machine using the file you extracted. step4_e

  5. Change the following settings for the machine you created:

    • In the Display tab change the graphics controller field to VBoxSVGA for rendering graphics.
    • In the Network tab change the attached to field to Bridged Adapter for providing internet.
    • In the Share Folders tab, press add new shared folder, paste the filepath to any directory, check auto-mount then add ~/sharedvm for the mount point. step5_e
  6. Start virtual machine, open terminal then execute sudo adduser ur vboxsf. step6_e

UR Simulator Operation

IMPORTANT NOTE:

  • Some systems will not render the simulator pane resolution properly concealing the footer. Manually resize it by dragging the edges. step7_e

DEMO

step8_e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment