Chair of Architecture and Digital Fabrication bio photo

Chair of Architecture and Digital Fabrication

Email Instagram

Robotic Fabrication

First steps into UR control

UR Basics

« Back to main


Introduction


Elements of the robot

  1. Robotic arm
  2. Controller box
  3. Teach pendant (Interface)
    • USB Port
    • ON/OFF Button
    • EMERGENCY STOP

Robot - Controller - Teach pendant

Teach pendant

Teach pendant Pendant

Initialization

  • Turn ON Robot
  • Release motors

Jog robot

Different parts:

  • Jogging the robot
  • Robot - 3D representation
  • TCP values
  • Joints angular values
    • HOME POSITION (0, -90, -90, -90, 90, 90)
  • Free-drive + Backside button

Move Robot

« Back to index


Network


Configuration

  • Connection
    • Ethernet cable
    • Wireless (not recommended)
  • Network
    • DHCP (non-static)
    • Static Address
      • IP Address: 192.168.0.xx
      • Subnet mask: 255.255.255.0
  • Connection Check: cmd promt (Win)
    • ping
    • ipconfig

« Back to index


Tools


  • End-effector name
    • Sand extruder
    • Gripper
    • Pencil
    • Filament extruder
    • etc…

Sand Extruder

  • TCP (Tool Center Point)
    • Adjusted for every tool

Tool TCP

Frame

  • Weight adjustment
  • Tool specific electronics
    • Arduino
    • Servo motor
    • I/O
      • From flex pendant
      • From code (commands)

« Back to index


Inputs and Outputs


  • Robot have many pins for Inputs and Outputs:
    • Write (Output)
      • Digital (0,1)
      • Analog (values)
    • Read (Input)
      • Digital (0,1)
      • Analog (values)

UR IOs

« Back to index


Relative and Absolute


Absolute position

Move anywhere in space based on the coordinate system of the robot

Absolute motion

Relative position

Increments from wherever the robot was before in small steps

Relative motion

« Back to index


Speed


Absolute speed

Base speed

Relative speed

Incremented speed

Units

Millimeters per second (mm/s)

« Back to index


Precision


The robot never reaches the target that you have sent

radius = 0

radius > 0 (Blend radius in between trajectories)

« Back to index


Commands


List of command sequence (individual commands)

Block of actions

:warning:Check: Robot reach

« Back to index


Rotations


Right hand rule

Right hand rule

Absolute

From Base

Relative

From TPC

X (1,0,0) + angle
Y (0,1,0) + angle
Z (0,0,1) + angle

Frame

« Back to index


Motion and rotation

Changes position and orientation

pose = p[x,y,z,rx,ry,rz]

Example:

Position in base frame of:

  • x = 200 mm
  • y = 300 mm
  • z = 500 mm
  • rx = 0
  • ry = 0
  • rz = 180 deg
pose = p[0.2,0.3,0.5,0,0,3.14]

Frame in Frame

Frame transformation

Frame Transformation

« Back to index


Moving between targets


moveL

Move to position (linear in tool-space):

movel(pose, a=1.2, v=0.25, t=0, r=0)

Parameters

  • pose: target pose (pose can also be specified as joint positions, then forward kinematics is used to calculate the corresponding pose)
  • a: tool acceleration [m/s^2]
  • v: tool speed [m/s]
  • t: time [S]
  • r: blend radius [m]

Example command:

movel(pose, a=1.2, v=0.25, t=0, r=0)

Example Parameters:

  • pose = p[0.2,0.3,0.5,0,0,3.14] → position in base frame of x = 200 mm, y = 300 mm, z = 500 mm, rx = 0, ry = 0, rz = 180 deg
  • a = 1.2 → acceleration of 1.2 m/s^2
  • v = 0.25 → velocity of 250 mm/s
  • t = 0 → the time (seconds) to make the move is not specified. If it were specified the command would ignore the a and v values.
  • r = 0 → the blend radius is zero meters

moveJ

Move to position (linear in joint-space). The t parameter can be used to set the time for this move. Time setting has priority over speed and acceleration settings.

movej(q, a=1.4, v=1.05, t=0, r=0) 

Parameters

  • q: joint positions (q can also be specified as a pose, then inverse kinematics is used to calculate the corresponding joint positions)
  • a: joint acceleration of leading axis [rad/s^2]
  • v: joint speed of leading axis [rad/s] t: time [S]
  • r: blend radius [m] If a blend radius is set, the robot arm trajectory will be modified to avoid the robot stopping at the point. However, if the blend region of this move overlaps with the blend radius of previous or following waypoints, this move will be skipped, and an ’Overlapping Blends’ warning message will be generated.

Example command:

movej([0,1.57,-1.57,3.14,-1.57,1.57], a=1.4, v=1.05, t=0, r=0)

Example Parameters:

  • q = [0,1.57,-1.57,3.14,-1.57,1.57] → base is at 0 deg rotation, shoulder is at 90 deg rotation, elbow is at -90 deg rotation, wrist 1 is at 180 deg rotation, wrist 2 is at -90 deg rotation, wrist 3 is at 90 deg rotation. Note: joint positions (q can also be specified as a pose, then inverse kinematics is used to calculate the corresponding joint positions)
  • a = 1.4 → acceleration is 1.4 rad/s/s
  • v = 1.05 → velocity is 1.05 rad/s
  • t = 0 → the time (seconds) to make move is not specified. If it were specified the command would ignore the a and v values.
  • r = 0 → the blend radius is zero meters.

MORE

« Back to index


Axes


6 axes

  • Base
  • Shoulder
  • Elbow
  • Wrist 1
  • Wrist 2
  • Wrist 3

Kinematics

  • Inverse
    • Defined by pose coordinates
  • Forward
    • Defined angle value (joint position)
    • Absolute Axes (0, -90, -90, -90, 90, 90)
    • Relative Axes (10, 0, 0, 0, 0, 0) - Incremental

UR Axes

« Back to index