26
Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Embed Size (px)

Citation preview

Page 1: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Programming

Poorya Ghafoorpoor Yazdi

Mechanical Engineering Department

Page 2: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

What is Robot

A general-purpose, programmable machine possessing certain anthropomorphic characteristics

• Hazardous work environments• Repetitive work cycle• Consistency and accuracy• Multi shift operations• Reprogrammable, flexible

Page 3: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Anatomy

• Robot consists of joints and links:

– Joints provide relative motion– Links are rigid members between joints

Various joint types: linear and rotary Each joint provides a “degree-of-freedom” Most robots have five or six degrees-of-freedom

BaseLink0

Joint1

Link2

Link3Joint3

End of Arm

Link1

Joint2

Page 4: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Definitions

• DoF: The degrees of freedom is 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.

• 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.

Page 5: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Joints

• Translational motion– Linear joint (type L)

– Orthogonal joint (type O)

• Rotary motion– Rotational joint (type R)

– Twisting joint (type T)

– Revolving joint (type V)

Page 6: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

T

R

T

V

(a) TRT:R

R

T

RT R

TR

R

(c) RR:T(b) TVR:TR

Uses the joint symbols (L, O, R, T, V) to designate joint types used to construct robot manipulator

Separates body-and-arm assembly from wrist assembly using a colon (:)

Page 7: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Joint Drive Systems

• Electric– Uses electric motors to actuate individual joints– Preferred drive system in today's robots

• Hydraulic– Uses hydraulic pistons and rotary vane actuators– Noted for their high power and lift capacity

• Pneumatic– Typically limited to smaller robots and simple material transfer

applications

Page 8: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Tools and Equipments

• The special tooling for a robot that enables it to perform a specific task

• Two types:– Grippers – to grasp and manipulate objects

(e.g., parts) during work cycle– Tools – to perform a process, e.g., spot welding,

spray painting

Page 9: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Grippers and Tools

Page 10: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Control Systems• Limited sequence control – pick-and-place operations using

mechanical stops to set positions

• Playback with point-to-point control – records work cycle as a sequence of points, then plays back the sequence during program execution

• Playback with continuous path control – greater memory capacity and/or interpolation capability to execute paths (in addition to points)

• Intelligent control – exhibits behavior that makes it seem intelligent, e.g., responds to sensor inputs, makes decisions, communicates with humans

Page 11: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robot Programming Revisited

Robot Programming:

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)

Page 12: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Type of Robot Programming

• Joint level programming:

– basic actions are positions (and possibly movements) of the individual joints of the robot arm: joint angles in the case of rotational joints and linear positions in the case of linear or prismatic joints.

• Robot-level programming:

– the basic actions are positions and orientations (and perhaps trajectories) of Pe and the frame of reference attached to it.

• High-level programming:

– Object-level programming– Task-level programming

Page 13: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

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 them 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"

Page 14: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

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.

Page 15: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

On-Line Programming

• 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

Page 16: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

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

Page 17: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

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)

Page 18: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robots of IE CIM LAB

Page 19: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robots of IE CIM LAB

SCORA ER14

A four-axis, table-top mounted SCARA robot, the SCORA-ER 14 is designed for work in industrial training facilities. This rugged and reliable robot performs light-payload assembly, handling and packaging applications with impressive speed and accuracy.

• Handling and packaging operations with palletizing and storage devices• Assembly operations with automatic screw driving and gluing devices• Quality control operations with machine vision and high-precision measurementdevices

Page 20: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Robots of IE CIM LAB

SCORBOT ER9

The SCORBOT-ER 9 is a five-axis vertically articulated robot designed for work in industrial training facilities. With a multi-tasking controller that provides real-time control and synchronization of up to 12 axes, 16 inputs and 16 outputs, the SCORBOT-ER 9 supports both stand-alone applications as well as sophisticated automated work cells.

Page 21: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

VCIMLAB (Virtual CIM laboratory)

• What is VCIMLAB?

EMU-VCIMLAB v1.0 a complete educational software package, which has been designed and developed to perform education on principles automated production using industrial robots, CNC machines in 3D Virtual environment.

The virtual reality (VR) technology has been used to provide a realistic; expanded environment through interfaces to third party hardware

(CNC machines, Robots, peripheral equipments, etc.).

The software allow the users to navigate within the 3D virtual working environment freely to interact with the virtual educational equipment provided.

The virtual reality is an invaluable tool which can save time, cut costs and help to improve the learning process. Also it is becoming increasingly popular as computer costs are being reduced. In addition the virtual reality based learning systems are fully, interactive media which allow users to learn in natural freedom style.

Page 22: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Real vs. Virtual Laboratory

• For development of VCIMLAB software, a real CIM laboratory that is located at the industrial engineering department of EMU, has been modeled in virtual Environment. The reference real model of VCIMLAB includes, CNC machine industrial robots and several CIM equipments.

Page 23: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Real vs. Virtual Laboratory

Page 24: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Virtual Training Rooms

Page 25: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Virtual CIM Manager• The Virtual CIM Manager is a VCIMLAB module, which provides the

centralized control of on-line production in each of the VCIMLAB virtual Rooms for performing the manufacturing orders defined by the user.

• The module basically manage the CIM operations by orchestrating the massage flow between individual virtual stations devices in each virtual Rooms and receives responses which enable it to track the flow of parts during the production.

Page 26: Robot Programming Poorya Ghafoorpoor Yazdi Mechanical Engineering Department

Real CIM Lab Virtual CIM Lab