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 Robot Anatomy • Robot consists of joints and links: – Joints provide relative motion – Links are rigid members between joints Joint3 Link3 End of Arm Various joint types: linear and rotary Each joint provides a “degree-of-freedom” Most robots have five or six degrees-of-freedom Link2 Link1 Joint2 Joint1 Link0 Base 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. 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) 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 (:) R T R R R T R T R V T (a) TRT:R T (b) TVR:TR (c) RR:T 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 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 Grippers and Tools 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 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) 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 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" 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. 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 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 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) Robots of IE CIM LAB Robots of IE CIM LAB 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 lightpayload assembly, handling and packaging applications with impressive speed and accuracy. SCORA ER14 • 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 measurement devices Robots of IE CIM LAB 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 SCORBOTER 9 supports both stand-alone applications as well as sophisticated automated work cells. SCORBOT ER9 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; environment through interfaces to third party hardware (CNC machines, Robots, peripheral equipments, etc.). expanded 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. 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. Real vs. Virtual Laboratory Virtual Training Rooms 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. Real CIM Lab Virtual CIM Lab