0% found this document useful (0 votes)
9 views

Module 5

Module 5 covers the fundamentals of machine vision systems and robot programming, detailing the components of a vision system, including cameras, lighting, and processing mechanisms. It outlines the steps of digital image processing, robot programming methods, and the significance of offline programming for optimizing robot tasks. Additionally, it discusses various programming techniques, including joint, straight line, and circular interpolation, along with commands for communication and control in robotic applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Module 5

Module 5 covers the fundamentals of machine vision systems and robot programming, detailing the components of a vision system, including cameras, lighting, and processing mechanisms. It outlines the steps of digital image processing, robot programming methods, and the significance of offline programming for optimizing robot tasks. Additionally, it discusses various programming techniques, including joint, straight line, and circular interpolation, along with commands for communication and control in robotic applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 57

Module 5

Machine Vision System and Robot Programming

Robot Vision:
To extract, characterize, and interpret objects present in an
image/photograph captured using a camera.
Vision System Components
 A robot’s vision system consists of a number of essential components, which
include the camera that captures a picture, to the processing mechanism that
provides and communicates the result.
 Lighting is very important to machine vision as it illuminates the part to be viewed
so that its features stand out allowing the camera to see clearly.
 The lens captures the image and communicates it to the sensor in the form of
light.
 The sensor in a machine vision camera translates this light into a digital image,
which is then relayed to the processor for analysis.
 Vision processing employs algorithms that review the image and extricate the
required information, run the required inspection, and make a decision.
 Finally, communication is accomplished by either a discrete I/O signal or data
transmitted over a serial connection to a device that is logging or using the
information.
A machine vision system often includes the
following elements:
Image Acquisition (generally from a camera
placed above the production line),
Image Pre-Processing (e.g. increasing the
contrast, motion de-blur, etc),
Feature Extraction (e.g. measuring a
distance, checking a screw is in place etc),
Decisions (i.e. is the part OK to a tolerance,
is a label in the correct position), and,
Control (e.g. give the result to a
Programmable Logic Controller (PLC) or robot
controller).
Steps of digital image processing

 Image Capturing
 Sampling
 A/D – Digitizing
 Frame Grabbing
 Pre-processing
 Thresholding
 Edge detection
 Object Identification
Robot Programming
 Programming is the identification and specification of a series of basic
actions which, when executed in the specified order, achieve some
specific task or realize some specific process.
 Robot Programming is the defining of desired motions so that the
robot may perform them without human intervention.
Review: Some Definitions

 DoF: The degrees of freedom [degrees of mobility] of the robot


will be numbered as q1, q2, q3 etc.
 Usually industrial robot arms have between 4 and 6 degrees of
freedom, one at each joint.
 End-effector: The end of the robot arm, where the gripper or
other tool that the robots uses is located, we will define as the
end-point (Pe) of the robot.
If, for example, the robot has a two finger
gripper, to pick things up with, we usually
define Pe to be a point between the two
fingers, so that when this point is
geometrically inside some object to be picked
up, all the robot has to do is to close the
fingers of its gripper to grasp the object. It can
then move away with the object between its
fingers.

Pe
Pose: both the position of Pe in space, and
its orientation
 It is not sufficient for Pe just to be defined as a
point, we also need to attach or (conceptually)
fix a coordinate system to it, so that we can
define both the position of Pe in space, and its
orientation (together they define the object
pose).

e
P
Pe
Base Frame: The position and
orientation of Pe must be defined
with respect to some global
frame of reference, some global
coordinate system. For this we
usually use a frame of reference
fixed to the base of the robot,
which should not move.
 NOTE: The position and orientation
of Pe in the work space of the robot
are determined by the values of the
joint positions of the arm—q1, q2,
q3,etc.
Configuration: Any particular
position and orientation of Pe in
space, and so any particular set
of joint values, is called a
configuration of the robot arm.
Robot Programming Revisited

 Robot Programming is the defining of


desired motions so that the robot may perform
them without human intervention.
 identifying and specifying the robot configurations
(i.e. the pose of the end-effector, Pe, with respect to
the base-frame)
Robot Programming Methods
 Offline:
 write a program using a text-based robot programming language
 does not need access to the robot until its final testing and implementation
 On-line:
 Use the robot to generate the program
 Teaching/guiding the robot through a sequence of motions that can then be
executed repeatedly
 Combination Programming:
 Often programming is a combination of on-line and off-line
 on-line to teach locations in space
 off-line to define the task or “sequence of operations"
On-Line Programming
https://
www.youtube.com/watch?v=EA6pWwNI_wg
On-Line

TEACH-IN PLAY-BACK
On-Line/Lead Through(Playback)

 Advantage:
 Easy
 No special programming skills or training
 Disadvantages:
 not practical for large or heavy robots
 High accuracy and straight-line movements are difficult to
achieve, as are any other kind of geometrically defined trajectory,
such as circular arcs, etc.
 difficult to edit out unwanted operator moves
 difficult to incorporate external sensor data
 Synchronization with other machines or equipment in the work
cell is difficult
 A large amount of memory is required
Teach-In
Task: transfer of appropriate programs in the robot controller

The robot is along certain trajectories through the two conducted manually with
the both the robot and its movement and other devices in the robot cell monitored
closely.

Teach-in Process:

Teach Control Correct


Edit Starting from
Starting from Addition of Gradually,
points Commands for the Next,
points Perform
and again
and save Automatic operation backward
save
Teach pendant

PHG-types to a Teach-In program:

Keyboard Function keys

Features:
- To enable long cable to a good view
- Emergency stop switch
- Enabling switch
- Selection of TCP (Tool Center Point) function
- Selection of the coordinate
- Range of motion mode
- Selection of the speed of movement
- Status Display
On-Line/Teach Box

 Advantage:
 Easy
 No special programming skills or training
 Can specify other conditions on robot movements (type of trajectory to
use – line, arc)
 Disadvantages:
 Potential dangerous (motors are on)
On-Line Programming

 Requires access to the robot


 Programs exist only in the memory of robot control system – often
difficult to transfer, document, maintain, modify
Play-Back Programming
- The operator uses the robot (or a device driver) directly.
- He leads the mechanism manually the task accordingly.
- During the movement the respective joint angle values can be read in a fixed
time frame and stored.

Requirements:
- Kinematic balance
- Low friction in the joints
- Very high flexibility of
movement
Advantages:
- Very easy programming
- No prior knowledge of the
operator necessary
Disadvantages:
Source: ABB
Source: Gorenje - Correction in difficult sections
of path
- Difficult change of velocity
Primarily for the coating or glue-robot
Programming Languages

Almost every robot has its own programming language!

Control independent language:

23
Off-Line Programming

What is Off-Line Programming?

When?

Why Off-Line Programming?


https://
www.youtube.com/watch?v=aeGLn8JTvzc
What is Off-Line Programming?
Teach-in methods:
Satisfactory only when the time for teaching in
comparison to the production time is low.
The robot must be used instead for the
programming for the production.

Off-Line Programming:
The robot can work, while a new program is created.
Robot programs are independent of the singly or in total
produced in the production of industrial robots working.

Modern -Advanced Robot Controllers


robot:
-Increase of the absolute pose accuracy

-Adaptation of sensor technologies

These techniques are increasingly used in the industry.


Off-line Programming

 Programs can be developed without needing to use the robot


 The sequence of operations and robot movements can be optimized or easily
improved
 Previously developed and tested procedures and subroutines can be used
 External sensor data can be incorporated, though this typically makes the
programs more complicated, and so more difficult to modify and maintain
 Existing CAD data can be incorporated-the dimensions of parts and the
geometric relationships between them, for example.
 Programs can be tested and evaluated using simulation techniques, though this
can never remove the need to do final testing of the program using the real robot
 Programs can more easily be maintained and modified
 Programs can more be easily properly documented and commented.
Robot Program Development
Robot Program Development Process

 Analyze and decompose the task into a series of


operations on the objects involved, and specify their
order.
 Identify and specify all the situations needed to
program all the movements and actions of the robot.
 Identify any types of repeated actions or operations
and specify them as subroutines with parameters.
 Design and develop the complete robot program
and its documentation.
 Test and debug the program using a simulator of the
robot and its work space.
 Test the program on the real robot.

TEMPUS IV Project: 158644 – JPCR


ROBOTICS
Development of Regional Interdisciplinary Mechatronic Studies - DRIMS 29
Via Points!
Why Off-Line Programming?

•Teach-In - Time-consuming activity


- This increases with the complexity of the task
• Teaching reduces the cost
- Robots can not produce during the Teachers
• Robot in mass production
- Spot welding in automotive industry
- Does teach in new constitute a minimal effort
• Robots in small and medium production
- Programming time can be considerably-
- Useful introduction of off-line programming
• Increasing complexity of robot tasks
- Off-line programming can be very attractive
Benefits of Off-Line
Programming
1. Reduction of the robot operating time
2. Dislocation of both ends of the danger area of the robot
3. Single robot programming system
4. Integration of CAD / CAM systems
5. Simplification of complex tasks
6. Optimization of robot programs
7. Access control
8. Cycle time analysis
9. Verification of robot programs
Off-Line Programming

OFF-LINE

Interactive Explicit Implicit


Movement Task
Now we can say:

• Off-line programming is a significant increase in


the productivity of the robot in the industry.
• The main arguments for Off-Line system is the
reduction of the overall robot use time by the
overlap of the robot-programming with the actual
robot work.
• There are universal off-line programming systems,
which allow the generation of robot program codes
accessible for almost any industrial robot. In order
to reduce their dependence start from a single
robot.
Motion interpolation
Introduction
 we address the problem of computing a collision-free interpolating
motion between free-space configurations

 The goal is to compute a trajectory that is less likely to intersect with


any obstacles in the configuration space
Types

 Joint interpolation

 Straight line interpolation

 Circular interpolation

 Irregular smooth motions


Joint interpolation

 The controller determines how far each joint must move to get first joint
 It determines the time it will take to complete the move
 For example,the move from point 1,1 to point 7,4 in grid which shown in
figure
 then,joint 1must move six increment & joint 2 must move three
increment
Straight line interpolation

 It is different from joint interpolation

 The robot controller computes straight line path between two points

 then,develops sequence of addressable points along path


Circular interpolation

 It requiers the programmer to define a circle in the robots workspace


 Controller contruct an approximate of circle by selecting series of
addressable point
 The movements of robot actually consist of short-straight-line segment
 It is more readily programmed using textual programming language
Irregular smooth motion

 In these motion Segments are something stright, sometimes curved and


sometimes back-and-forth motions

 Motion path is divided into sequence of closely spaced points

 It used in spray painting or arc welding


WAIT, SIGNAL & DELAY
COMMANDS
• All industrial robots are instructed to send
signals or wait for signals
• These signals are called interlocks
• Common form is to actuate end effectors
• In grippers, its on or off or Binary
• Grippers involve 2 interlocks – open &
close
• Feedback might be added to verify
actuation
WAIT, SIGNAL & DELAY
COMMANDS
• Communication with other devices is
important.
• Ex of unloading from press
– Stop robot entering before press is
open
– Remove gripper before press closes
• To do this we have 2 commands
• SIGNAL M – instructs to O/P signal
thru M
• WAIT N – robot should wait until I/P
Example of loading and
unloading
• 8,8 – press
• 1,8 – tote bin or collecting tray
• 1,1 & 8,8 will be safe locations for waiting
• Controller port 1-10 = Output lines (SIGNAL)
• 4-actuate press, 5&6 – OPEN/CLOSE gripper
• Controller port 11-20 = Input lines (WAIT)
• 11- indicates gripper is open
Example of loading and
unloading
DELA
Y
• DELAY X SEC
• Robot should wait X seconds before going into
next step
BRANCHING
• Controllers allow dividing a program into one
or more branches
• Allows program to be subdivided into
convenient segments
• It is also subroutines and can be identified by
a name
• Allows incoming signal to invoke branch
• Usage of interrupt
Pallet with 24
positions
General
commands

You might also like