Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Industrial robot
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Technical description== ===Defining parameters=== *''Number of axes'' β two axes are required to reach any point in a plane; three axes are required to reach any point in space. To fully control the orientation of the end of the arm(i.e. the ''wrist'') three more axes ([[yaw, pitch, and roll]]) are required. Some designs (e.g. the SCARA robot) trade limitations in motion possibilities for cost, speed, and accuracy. *''[[Degrees of freedom (mechanics)|Degrees of freedom]]'' β this is usually the same as the number of axes. *''[[Working envelope]]'' β the region of space a robot can reach. *''[[robot kinematics|Kinematics]]'' β the actual arrangement of rigid members and [[joint]]s in the robot, which determines the robot's possible motions. Classes of robot kinematics include articulated, cartesian, [[Parallel robot|parallel]] and SCARA. *''Carrying capacity or [[Cargo|payload]]'' β how much weight a robot can lift. *''Speed'' β how fast the robot can position the end of its arm. This may be defined in terms of the angular or linear speed of each axis or as a compound speed i.e. the speed of the end of the arm when all axes are moving. *''Acceleration'' β how quickly an axis can accelerate. Since this is a limiting factor a robot may not be able to reach its specified maximum speed for movements over a short distance or a complex path requiring frequent changes of direction. *''Accuracy'' β how closely a robot can reach a commanded position. When the absolute position of the robot is measured and compared to the commanded position the error is a measure of accuracy. Accuracy can be improved with external sensing for example a vision system or Infra-Red. See [[robot calibration]]. Accuracy can vary with speed and position within the working envelope and with payload (see compliance). *''Repeatability'' β how well the robot will return to a programmed position. This is not the same as accuracy. It may be that when told to go to a certain X-Y-Z position that it gets only to within 1 mm of that position. This would be its accuracy which may be improved by calibration. But if that position is taught into controller memory and each time it is sent there it returns to within 0.1mm of the taught position then the repeatability will be within 0.1mm. Accuracy and repeatability are different measures. Repeatability is usually the most important criterion for a robot and is similar to the concept of 'precision' in measurementβsee [[accuracy and precision]]. ISO 9283<ref>{{cite web|url=http://www.evs.ee/Checkout/tabid/36/screen/freedownload/productid/159968/doclang/en/preview/1/EVS_EN_ISO_9283;2001_en_preview.aspx|title=EVS-EN ISO 9283:2001|access-date=17 April 2015|url-status=dead|archive-url=https://web.archive.org/web/20160310123210/https://www.evs.ee/Checkout/tabid/36/screen/freedownload/productid/159968/doclang/en/preview/1/EVS_EN_ISO_9283;2001_en_preview.aspx|archive-date=10 March 2016}}</ref> sets out a method whereby both accuracy and repeatability can be measured. Typically a robot is sent to a taught position a number of times and the error is measured at each return to the position after visiting 4 other positions. Repeatability is then quantified using the [[standard deviation]] of those samples in all three dimensions. A typical robot can, of course make a positional error exceeding that and that could be a problem for the process. Moreover, the repeatability is different in different parts of the working envelope and also changes with speed and payload. ISO 9283 specifies that accuracy and repeatability should be measured at maximum speed and at maximum payload. But this results in pessimistic values whereas the robot could be much more accurate and repeatable at light loads and speeds. Repeatability in an industrial process is also subject to the accuracy of the end effector, for example a gripper, and even to the design of the 'fingers' that match the gripper to the object being grasped. For example, if a robot picks a screw by its head, the screw could be at a random angle. A subsequent attempt to insert the screw into a hole could easily fail. These and similar scenarios can be improved with 'lead-ins' e.g. by making the entrance to the hole tapered. *''Motion control'' β for some applications, such as simple pick-and-place assembly, the robot need merely return repeatably to a limited number of pre-taught positions. For more sophisticated applications, such as welding and finishing ([[spray painting]]), motion must be continuously controlled to follow a path in space, with controlled orientation and velocity. *''Power source'' β some robots use [[electric motor]]s, others use [[hydraulics|hydraulic]] actuators. The former are faster, the latter are stronger and advantageous in applications such as spray painting, where a spark could set off an [[explosion]]; however, low internal air-pressurisation of the arm can prevent ingress of flammable vapours as well as other contaminants. Nowadays, it is highly unlikely to see any hydraulic robots in the market. Additional sealings, brushless electric motors and spark-proof protection eased the construction of units that are able to work in the environment with an explosive atmosphere. *''Drive'' β some robots connect electric motors to the joints via [[gear]]s; others connect the motor to the joint directly (''direct drive''). Using gears results in measurable 'backlash' which is free movement in an axis. Smaller robot arms frequently employ high speed, low torque DC motors, which generally require high gearing ratios; this has the disadvantage of backlash. In such cases the [[harmonic drive]] is often used. *''Compliance'' - this is a measure of the amount in angle or distance that a robot axis will move when a force is applied to it. Because of compliance when a robot goes to a position carrying its maximum payload it will be at a position slightly lower than when it is carrying no payload. Compliance can also be responsible for overshoot when carrying high payloads in which case acceleration would need to be reduced. ===Robot programming and interfaces=== [[Image:Offline teaching welding 001.png|thumb|Offline programming]] [[File:Staubli Teach pendant.jpg|thumb|A typical well-used teach pendant with optional [[Mouse (computing)|mouse]]]] The setup or [[Computer programming|programming]] of motions and sequences for an industrial robot is typically taught by linking the robot controller to a [[laptop]], desktop [[computer]] or (internal or Internet) [[computer network|network]]. A robot and a collection of machines or peripherals is referred to as a [[workcell]], or cell. A typical cell might contain a parts feeder, a [[injection molding machine|molding machine]] and a robot. The various machines are 'integrated' and controlled by a single computer or [[Programmable logic controller|PLC]]. How the robot interacts with other machines in the cell must be programmed, both with regard to their positions in the cell and synchronizing with them. ''Software:'' The computer is installed with corresponding [[Interface (computer science)|interface]] software. The use of a computer greatly simplifies the programming process. Specialized [[robot software]] is run either in the robot controller or in the computer or both depending on the system design. There are two basic entities that need to be taught (or programmed): positional data and procedure. For example, in a task to move a screw from a feeder to a hole the positions of the feeder and the hole must first be taught or programmed. Secondly the procedure to get the screw from the feeder to the hole must be programmed along with any I/O involved, for example a signal to indicate when the screw is in the feeder ready to be picked up. The purpose of the robot software is to facilitate both these programming tasks. Teaching the robot positions may be achieved a number of ways: ''Positional commands'' The robot can be directed to the required position using a [[GUI]] or text based commands in which the required X-Y-Z position may be specified and edited. ''Teach pendant:'' Robot positions can be taught via a teach pendant. This is a handheld control and programming unit. The common features of such units are the ability to manually send the robot to a desired position, or "inch" or "jog" to adjust a position. They also have a means to change the speed since a low speed is usually required for careful positioning, or while test-running through a new or modified routine. A large [[emergency stop]] button is usually included as well. Typically once the robot has been programmed there is no more use for the teach pendant. All teach pendants are equipped with a 3-position [[Dead man's switch|deadman switch]]. In the manual mode, it allows the robot to move only when it is in the middle position (partially pressed). If it is fully pressed in or completely released, the robot stops. This principle of operation allows natural reflexes to be used to increase safety. ''Lead-by-the-nose:'' this is a technique offered by many robot manufacturers. In this method, one user holds the robot's manipulator, while another person enters a command which de-energizes the robot causing it to go into limp. The user then moves the robot by hand to the required positions and/or along a required path while the software logs these positions into memory. The program can later run the robot to these positions or along the taught path. This technique is popular for tasks such as [[spray painting|paint spraying]]. ''Offline programming'' is where the entire cell, the robot and all the machines or instruments in the workspace are mapped graphically. The robot can then be moved on screen and the process simulated. A robotics simulator is used to create embedded applications for a robot, without depending on the physical operation of the robot arm and end effector. The advantages of robotics simulation is that it saves time in the design of robotics applications. It can also increase the level of safety associated with robotic equipment since various "what if" scenarios can be tried and tested before the system is activated.[8] Robot simulation software provides a platform to teach, test, run, and debug programs that have been written in a variety of programming languages. ''Robot simulation'' tools allow for robotics programs to be conveniently written and debugged off-line with the final version of the program tested on an actual robot. The ability to preview the behavior of a robotic system in a virtual world allows for a variety of mechanisms, devices, configurations and controllers to be tried and tested before being applied to a "real world" system. Robotics simulators have the ability to provide real-time computing of the simulated motion of an industrial robot using both geometric modeling and kinematics modeling. ''Manufacturing independent robot programming tools'' are a relatively new but flexible way to program robot applications. Using a [[visual programming language]], the programming is done via drag and drop of predefined template/building blocks. They often feature the execution of simulations to evaluate the feasibility and [[Off-line programming (robotics)|offline programming]] in combination. If the system is able to compile and upload native robot code to the robot controller, the user no longer has to learn each manufacturer's [[Robot software|proprietary language]]. Therefore, this approach can be an important step to [[Robot software#Examples of programming languages for industrial robots|standardize programming methods.]] ''Others'' in addition, machine operators often use [[user interface]] devices, typically [[touchscreen]] units, which serve as the operator control panel. The operator can switch from program to program, make adjustments within a program and also operate a host of [[peripheral]] devices that may be integrated within the same robotic system. These include [[Industrial robot end effector|end effector]]s, feeders that supply components to the robot, [[conveyor belt]]s, emergency stop controls, machine vision systems, safety [[interlock (engineering)|interlock]] systems, [[barcode]] printers and an almost infinite array of other industrial devices which are accessed and controlled via the operator control panel. The teach pendant or PC is usually disconnected after programming and the robot then runs on the program that has been installed in its [[Microcontroller|controller]]. However a computer is often used to 'supervise' the robot and any peripherals, or to provide additional storage for access to numerous complex paths and routines. ===End-of-arm tooling=== The most essential robot peripheral is the [[Robot end effector|end effector]], or end-of-arm-tooling (EOAT). Common examples of end effectors include welding devices (such as MIG-welding guns, spot-welders, etc.), spray guns and also grinding and deburring devices (such as pneumatic disk or belt grinders, burrs, etc.), and grippers (devices that can grasp an object, usually [[electromechanics|electromechanical]] or [[pneumatics|pneumatic]]). Other common means of picking up objects is by [[vacuum]] or [[magnet]]s. End effectors are frequently highly complex, made to match the handled product and often capable of picking up an array of products at one time. They may utilize various sensors to aid the robot system in locating, handling, and positioning products. ===Controlling movement=== For a given robot the only parameters necessary to completely locate the end effector (gripper, welding torch, etc.) of the robot are the angles of each of the joints or displacements of the linear axes (or combinations of the two for robot formats such as SCARA). However, there are many different ways to define the points. The most common and most convenient way of defining a point is to specify a [[Cartesian coordinate system|Cartesian coordinate]] for it, i.e. the position of the 'end effector' in mm in the X, Y and Z directions relative to the robot's origin. In addition, depending on the types of joints a particular robot may have, the orientation of the end effector in yaw, pitch, and roll and the location of the tool point relative to the robot's faceplate must also be specified. For a [[Robotic arm|jointed arm]] these coordinates must be converted to joint angles by the robot controller and such conversions are known as Cartesian Transformations which may need to be performed iteratively or recursively for a multiple axis robot. The mathematics of the relationship between joint angles and actual spatial coordinates is called kinematics. See [[robot control]] Positioning by Cartesian coordinates may be done by entering the coordinates into the system or by using a teach pendant which moves the robot in X-Y-Z directions. It is much easier for a human operator to visualize motions up/down, left/right, etc. than to move each joint one at a time. When the desired position is reached it is then defined in some way particular to the robot software in use, e.g. P1 - P5 below. ===Typical programming=== Most articulated robots perform by storing a series of positions in memory, and moving to them at various times in their programming sequence. For example, a robot which is moving items from one place (bin A) to another (bin B) might have a simple 'pick and place' program similar to the following: ''Define points P1βP5:'' # Safely above workpiece (defined as P1) # 10 cm Above bin A (defined as P2) # At position to take part from bin A (defined as P3) # 10 cm Above bin B (defined as P4) # At position to take part from bin B. (defined as P5) ''Define program:'' # Move to P1 # Move to P2 # Move to P3 # Close gripper # Move to P2 # Move to P4 # Move to P5 # Open gripper # Move to P4 # Move to P1 and finish For examples of how this would look in popular robot languages see [[Robot software#Examples of programming languages for Industrial Robots|industrial robot programming]]. ===Singularities=== {{Unreferenced section|date=August 2021}} The American National Standard for Industrial Robots and Robot Systems β Safety Requirements (ANSI/RIA R15.06-1999) defines a singularity as "a condition caused by the collinear alignment of two or more robot axes resulting in unpredictable robot motion and velocities." It is most common in robot arms that utilize a "triple-roll wrist". This is a wrist about which the three axes of the wrist, controlling yaw, pitch, and roll, all pass through a common point. An example of a wrist singularity is when the path through which the robot is traveling causes the first and third axes of the robot's wrist (i.e. robot's axes 4 and 6) to line up. The second wrist axis then attempts to spin 180Β° in zero time to maintain the orientation of the end effector. Another common term for this singularity is a "wrist flip". The result of a singularity can be quite dramatic and can have adverse effects on the robot arm, the end effector, and the process. Some industrial robot manufacturers have attempted to side-step the situation by slightly altering the robot's path to prevent this condition. Another method is to slow the robot's travel speed, thus reducing the speed required for the wrist to make the transition. The ANSI/RIA has mandated that robot manufacturers shall make the user aware of singularities if they occur while the system is being manually manipulated. A second type of singularity in wrist-partitioned vertically articulated six-axis robots occurs when the wrist center lies on a cylinder that is centered about axis 1 and with radius equal to the distance between axes 1 and 4. This is called a shoulder singularity. Some robot manufacturers also mention alignment singularities, where axes 1 and 6 become coincident. This is simply a sub-case of shoulder singularities. When the robot passes close to a shoulder singularity, joint 1 spins very fast. The third and last type of singularity in wrist-partitioned vertically articulated six-axis robots occurs when the wrist's center lies in the same plane as axes 2 and 3. Singularities are closely related to the phenomena of [[gimbal lock]], which has a similar root cause of axes becoming lined up.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)