Articles Download Safety & Security Forum myUR Go to Main Site

Universal Robots A/S
Energivej 51
DK-5260 Odense S

T: +45 8993 8989
sales@universal-robots.com

 
  • Articles
  • Download
  • Safety & Security
  • Forum
  • myUR
  • Go to Main Site
  • Support
  • Articles
  • Simple vision system

Simple vision system

A minimal concept of a vision based picking solution.

Last modified on Jan 29, 2025

This examples shows the minimal concept of a vision based picking solution.

Examples are valid for:
CB2 Software version: 1.8.16941
CB3 Software version: 3.3.0.145
e-Series Software version: 5.1

Note that older or newer software versions may behave differently.

These examples can be used for both CB2, CB3 and e-Series.

 

The example does not cover the method of retrieving the data from the camera, as various cameras have different options. 


It is assumed that the camera is able to supply X, Y and rotation data from the common refrence position in respectively millimeters and degrees. 

 

The basic setup is, that the camera and the robot agrees on a common refrence point. 
This point can e.g. be taught as a Feature point or simply as a Waypoint in PolyScope. 

 

Move the robot TCP to the refrence potision, and align the coordinate system of the tool to the desired directions. 
The coordinate system of the Tool is shown in the TCP Configuration screen. 

 

Tcp Coordinate System

 

Setup the same refrence position in the camera. 
Thus the systems looks like below. 

 

Vision Ill1

 

If we placed an item in the cameras field of view, it could look like the illustration below. 
Here the camera regognizes that the object, relative to the refrence point, is offset: 

X = 100 mm
Y = 50 mm
Rotation = 30 degrees

 

Vision Ill2

 

The camera feeds this information to the robot. 
For translating the offset, to a position that the robot should move to, we will use the "pose_trans()" script code. 

target = pose_trans(refrence_point, offset)

pose_trans() takes two arguments (poses) and performs a position transformation to the resulting position. 

 

Pose Trans

 

Now we can create our UR program. 
The recipe is: 

RobotProgram
   MoveJ
      refrence_point
   GetCameraData Folder
      # Here we should read the data from the camera
      x = 100
      y = 50
      rz = 30
   Calculate Folder
      # Convert mm to m and deg to rad
      offset = p[(x/1000),(y/1000), 0, 0, 0, d2r(rz)] 
      target = pose_trans(refrence_point, offset)
   MoveToCamPose
      MoveL
         target (variable pose)

 

See program below:

 

Vision Polyscope

Attached files


simplevision.urp

Attached files

simplevision.urp

Related articles

Send a quotation mark via socket communication
Vision Guided Robotics example using Keyence
Communication between Teledye Dalsa Vision system and Universal Robots
Vision system with the robot
logo

Product

  • UR3e Robot
  • UR5e Robot
  • UR10e Robot
  • UR16e Robot
  • UR20 Robot
  • UR+ Products

Company

  • About us
  • Contact us
  • Careers We're hiring
  • UR merchandise

Training / Resources

  • Academy
  • Technical Resources
  • Articles
  • FAQ

Insights

  • Blog
  • Case stories
  • Content library
  • News centre
  • Podcast
  • Webinars & Events

Get in touch

  • Ask an Expert
  • Schedule a no-cost assessment
  • Find a distributor
  • Customer support

Connect with us

  • LinkedIn
  • Facebook
  • Twitter
  • YouTube
  • Instagram
  • Universal Robots A/S
  • Energivej 51
  • DK-5260 Odense S
  • T: +45 89 93 89 89
  • sales@universal-robots.com
  • US Corporate Office
  • 27-43 Wormwood St.
  • 02210 Boston, MA.
  • +1-844-GO-COBOT
  • ur.na@universal-robots.com
  • Copyright @ Universal Robots 2025
  • Cookie policy
  • Privacy policy
  • Universal Robots A/S
  • Energivej 51
  • DK-5260 Odense S
  • T: +45 89 93 89 89
  • sales@universal-robots.com
  • US Corporate Office
  • 27-43 Wormwood St.
  • 02210 Boston, MA.
  • +1-844-GO-COBOT
  • ur.na@universal-robots.com

Copyright © Universal Robots 2025

Cookie policy
Privacy policy